Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
f64_bitwise_tests.cpp File Reference
#include <algorithm>
#include <vector>
#include <iostream>
#include <iterator>
#include <cmath>
#include <cstdlib>
#include <catch2/catch.hpp>
#include <utils.hpp>
#include <wasm_config.hpp>
#include <sysio/vm/backend.hpp>
Include dependency graph for f64_bitwise_tests.cpp:

Go to the source code of this file.

Functions

 BACKEND_TEST_CASE ("Testing wasm <f64_bitwise_0_wasm>", "[f64_bitwise_0_wasm_tests]")
 
 BACKEND_TEST_CASE ("Testing wasm <f64_bitwise_1_wasm>", "[f64_bitwise_1_wasm_tests]")
 
 BACKEND_TEST_CASE ("Testing wasm <f64_bitwise_2_wasm>", "[f64_bitwise_2_wasm_tests]")
 
 BACKEND_TEST_CASE ("Testing wasm <f64_bitwise_3_wasm>", "[f64_bitwise_3_wasm_tests]")
 

Variables

wasm_allocator wa
 

Function Documentation

◆ BACKEND_TEST_CASE() [1/4]

BACKEND_TEST_CASE ( "Testing wasm <f64_bitwise_0_wasm>" ,
"" [f64_bitwise_0_wasm_tests] )

Definition at line 18 of file f64_bitwise_tests.cpp.

18 {
20 auto code = read_wasm( std::string(wasm_directory) + "f64_bitwise.0.wasm");
21 backend_t bkend( code, &wa );
22
23 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
24 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
25 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
27 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775808));
28 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(0));
29 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775808));
31 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9223372036854775808));
32 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(0));
33 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9223372036854775808));
34 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(0));
35 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9223372036854775808));
36 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(0));
37 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9223372036854775808));
38 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(0));
39 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9223372036854775808));
40 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(0));
41 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9223372036854775808));
42 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(0));
43 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9223372036854775808));
44 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(0));
45 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9223372036854775808));
46 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(0));
47 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9223372036854775808));
48 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(0));
49 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9223372036854775808));
50 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(0));
51 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9223372036854775808));
52 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(0));
53 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9223372036854775808));
54 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(0));
55 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18444492273895866368)))->to_f64()) == UINT64_C(9223372036854775808));
56 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9221120237041090560)))->to_f64()) == UINT64_C(0));
57 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18444492273895866368)))->to_f64()) == UINT64_C(9223372036854775808));
58 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9221120237041090560)))->to_f64()) == UINT64_C(0));
59 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775809));
60 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(1));
61 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775809));
63 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775809));
64 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(1));
65 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775809));
67 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9223372036854775809));
68 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(1));
69 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9223372036854775809));
70 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(1));
71 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9223372036854775809));
72 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(1));
73 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9223372036854775809));
74 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(1));
75 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9223372036854775809));
76 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(1));
77 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9223372036854775809));
78 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(1));
79 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9223372036854775809));
80 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(1));
81 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9223372036854775809));
82 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(1));
83 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9223372036854775809));
84 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(1));
85 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9223372036854775809));
86 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(1));
87 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9223372036854775809));
88 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(1));
89 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9223372036854775809));
90 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(1));
91 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18444492273895866368)))->to_f64()) == UINT64_C(9223372036854775809));
92 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9221120237041090560)))->to_f64()) == UINT64_C(1));
93 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18444492273895866368)))->to_f64()) == UINT64_C(9223372036854775809));
94 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9221120237041090560)))->to_f64()) == UINT64_C(1));
95 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9227875636482146304));
96 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(4503599627370496));
97 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9227875636482146304));
98 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(4503599627370496));
99 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9227875636482146304));
100 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4503599627370496));
101 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9227875636482146304));
102 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4503599627370496));
103 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146304));
104 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
105 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146304));
106 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
107 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9227875636482146304));
108 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4503599627370496));
109 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9227875636482146304));
110 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4503599627370496));
111 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9227875636482146304));
112 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4503599627370496));
113 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9227875636482146304));
114 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4503599627370496));
115 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9227875636482146304));
116 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4503599627370496));
117 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9227875636482146304));
118 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4503599627370496));
119 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9227875636482146304));
120 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(4503599627370496));
121 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9227875636482146304));
122 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(4503599627370496));
123 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9227875636482146304));
124 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(4503599627370496));
125 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9227875636482146304));
126 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(4503599627370496));
127 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18444492273895866368)))->to_f64()) == UINT64_C(9227875636482146304));
128 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9221120237041090560)))->to_f64()) == UINT64_C(4503599627370496));
129 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18444492273895866368)))->to_f64()) == UINT64_C(9227875636482146304));
130 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9221120237041090560)))->to_f64()) == UINT64_C(4503599627370496));
131 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(13826050856027422720));
132 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(4602678819172646912));
133 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(13826050856027422720));
134 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(4602678819172646912));
135 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(13826050856027422720));
136 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4602678819172646912));
137 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(13826050856027422720));
138 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4602678819172646912));
139 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(13826050856027422720));
140 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4602678819172646912));
141 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(13826050856027422720));
142 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4602678819172646912));
143 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
144 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
145 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
146 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
147 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13826050856027422720));
148 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4602678819172646912));
149 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13826050856027422720));
150 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4602678819172646912));
151 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13826050856027422720));
152 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4602678819172646912));
153 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13826050856027422720));
154 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4602678819172646912));
155 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(13826050856027422720));
156 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(4602678819172646912));
157 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(13826050856027422720));
158 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(4602678819172646912));
159 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(13826050856027422720));
160 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(4602678819172646912));
161 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(13826050856027422720));
162 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(4602678819172646912));
163 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18444492273895866368)))->to_f64()) == UINT64_C(13826050856027422720));
164 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9221120237041090560)))->to_f64()) == UINT64_C(4602678819172646912));
165 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18444492273895866368)))->to_f64()) == UINT64_C(13826050856027422720));
166 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9221120237041090560)))->to_f64()) == UINT64_C(4602678819172646912));
167 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(13830554455654793216));
168 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(4607182418800017408));
169 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(13830554455654793216));
170 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(4607182418800017408));
171 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(13830554455654793216));
172 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4607182418800017408));
173 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(13830554455654793216));
174 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4607182418800017408));
175 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(13830554455654793216));
176 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4607182418800017408));
177 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(13830554455654793216));
178 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4607182418800017408));
179 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13830554455654793216));
180 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4607182418800017408));
181 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13830554455654793216));
182 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4607182418800017408));
183 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
184 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
185 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
186 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
187 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13830554455654793216));
188 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4607182418800017408));
189 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13830554455654793216));
190 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4607182418800017408));
191 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(13830554455654793216));
192 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(4607182418800017408));
193 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(13830554455654793216));
194 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(4607182418800017408));
195 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(13830554455654793216));
196 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(4607182418800017408));
197 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(13830554455654793216));
198 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(4607182418800017408));
199 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18444492273895866368)))->to_f64()) == UINT64_C(13830554455654793216));
200 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9221120237041090560)))->to_f64()) == UINT64_C(4607182418800017408));
201 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18444492273895866368)))->to_f64()) == UINT64_C(13830554455654793216));
202 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9221120237041090560)))->to_f64()) == UINT64_C(4607182418800017408));
203 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(13842132293034192152));
204 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(4618760256179416344));
205 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(13842132293034192152));
206 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(4618760256179416344));
207 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(13842132293034192152));
208 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4618760256179416344));
209 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(13842132293034192152));
210 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4618760256179416344));
211 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(13842132293034192152));
212 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4618760256179416344));
213 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(13842132293034192152));
214 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4618760256179416344));
215 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13842132293034192152));
216 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4618760256179416344));
217 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13842132293034192152));
218 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4618760256179416344));
219 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13842132293034192152));
220 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4618760256179416344));
221 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13842132293034192152));
222 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4618760256179416344));
223 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
224 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
225 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
226 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
227 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(13842132293034192152));
228 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(4618760256179416344));
229 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(13842132293034192152));
230 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(4618760256179416344));
231 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(13842132293034192152));
232 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(4618760256179416344));
233 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(13842132293034192152));
234 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(4618760256179416344));
235 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18444492273895866368)))->to_f64()) == UINT64_C(13842132293034192152));
236 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9221120237041090560)))->to_f64()) == UINT64_C(4618760256179416344));
237 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18444492273895866368)))->to_f64()) == UINT64_C(13842132293034192152));
238 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9221120237041090560)))->to_f64()) == UINT64_C(4618760256179416344));
239 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(18442240474082181119));
240 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9218868437227405311));
241 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(18442240474082181119));
242 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9218868437227405311));
243 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(18442240474082181119));
244 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9218868437227405311));
245 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(18442240474082181119));
246 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9218868437227405311));
247 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(18442240474082181119));
248 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9218868437227405311));
249 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(18442240474082181119));
250 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9218868437227405311));
251 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(18442240474082181119));
252 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9218868437227405311));
253 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(18442240474082181119));
254 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9218868437227405311));
255 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(18442240474082181119));
256 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9218868437227405311));
257 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(18442240474082181119));
258 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9218868437227405311));
259 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(18442240474082181119));
260 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9218868437227405311));
261 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(18442240474082181119));
262 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9218868437227405311));
263 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
264 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
265 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
266 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
267 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181119));
268 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405311));
269 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181119));
270 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405311));
271 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18444492273895866368)))->to_f64()) == UINT64_C(18442240474082181119));
272 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9221120237041090560)))->to_f64()) == UINT64_C(9218868437227405311));
273 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18444492273895866368)))->to_f64()) == UINT64_C(18442240474082181119));
274 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9221120237041090560)))->to_f64()) == UINT64_C(9218868437227405311));
275 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(18442240474082181120));
276 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9218868437227405312));
277 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(18442240474082181120));
278 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9218868437227405312));
279 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(18442240474082181120));
280 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9218868437227405312));
281 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(18442240474082181120));
282 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9218868437227405312));
283 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(18442240474082181120));
284 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9218868437227405312));
285 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(18442240474082181120));
286 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9218868437227405312));
287 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(18442240474082181120));
288 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9218868437227405312));
289 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(18442240474082181120));
290 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9218868437227405312));
291 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(18442240474082181120));
292 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9218868437227405312));
293 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(18442240474082181120));
294 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9218868437227405312));
295 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(18442240474082181120));
296 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9218868437227405312));
297 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(18442240474082181120));
298 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9218868437227405312));
299 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181120));
300 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405312));
301 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181120));
302 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405312));
303 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
304 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
305 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
306 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
307 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18444492273895866368)))->to_f64()) == UINT64_C(18442240474082181120));
308 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9221120237041090560)))->to_f64()) == UINT64_C(9218868437227405312));
309 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18444492273895866368)))->to_f64()) == UINT64_C(18442240474082181120));
310 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9221120237041090560)))->to_f64()) == UINT64_C(9218868437227405312));
311 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(18444492273895866368));
312 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9221120237041090560));
313 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(18444492273895866368));
314 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9221120237041090560));
315 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(18444492273895866368));
316 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9221120237041090560));
317 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(18444492273895866368));
318 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9221120237041090560));
319 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(18444492273895866368));
320 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9221120237041090560));
321 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(18444492273895866368));
322 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9221120237041090560));
323 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(18444492273895866368));
324 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9221120237041090560));
325 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(18444492273895866368));
326 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9221120237041090560));
327 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(18444492273895866368));
328 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9221120237041090560));
329 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(18444492273895866368));
330 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9221120237041090560));
331 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(18444492273895866368));
332 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9221120237041090560));
333 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(18444492273895866368));
334 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9221120237041090560));
335 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18444492273895866368));
336 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9221120237041090560));
337 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18444492273895866368));
338 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9221120237041090560));
339 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18444492273895866368));
340 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9221120237041090560));
341 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18444492273895866368));
342 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9221120237041090560));
343 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18444492273895866368)))->to_f64()) == UINT64_C(18444492273895866368));
344 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9221120237041090560)))->to_f64()) == UINT64_C(9221120237041090560));
345 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18444492273895866368)))->to_f64()) == UINT64_C(18444492273895866368));
346 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "copysign", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9221120237041090560)))->to_f64()) == UINT64_C(9221120237041090560));
347 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "abs", bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(0));
349 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "abs", bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(1));
351 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "abs", bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(4503599627370496));
352 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "abs", bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
353 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "abs", bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4602678819172646912));
354 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "abs", bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
355 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "abs", bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4607182418800017408));
356 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "abs", bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
357 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "abs", bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4618760256179416344));
358 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "abs", bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
359 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "abs", bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405311));
360 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "abs", bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
361 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "abs", bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
362 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "abs", bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
363 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "abs", bit_cast<double>(UINT64_C(18444492273895866368)))->to_f64()) == UINT64_C(9221120237041090560));
364 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "abs", bit_cast<double>(UINT64_C(9221120237041090560)))->to_f64()) == UINT64_C(9221120237041090560));
365 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "neg", bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(0));
366 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "neg", bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9223372036854775808));
367 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "neg", bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(1));
368 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "neg", bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9223372036854775809));
369 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "neg", bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(4503599627370496));
370 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "neg", bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9227875636482146304));
371 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "neg", bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4602678819172646912));
372 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "neg", bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(13826050856027422720));
373 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "neg", bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4607182418800017408));
374 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "neg", bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(13830554455654793216));
375 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "neg", bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4618760256179416344));
376 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "neg", bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(13842132293034192152));
377 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "neg", bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405311));
378 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "neg", bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181119));
379 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "neg", bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
380 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "neg", bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
381 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "neg", bit_cast<double>(UINT64_C(18444492273895866368)))->to_f64()) == UINT64_C(9221120237041090560));
382 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "neg", bit_cast<double>(UINT64_C(9221120237041090560)))->to_f64()) == UINT64_C(18444492273895866368));
383}
auto call_with_return(host_t &host, const std::string_view &mod, const std::string_view &func, Args... args)
Definition backend.hpp:178
wasm_allocator wa
Definition main.cpp:10
#define CHECK(cond)
Definition util.h:80
backend_t bkend(hello_wasm, ehm, &wa)
std::vector< uint8_t > read_wasm(const std::string &fname)
Definition utils.hpp:30
#define UINT64_C(val)
Definition stdint.h:284
T bit_cast(const U &u)
Definition utils.hpp:35
Here is the call graph for this function:

◆ BACKEND_TEST_CASE() [2/4]

BACKEND_TEST_CASE ( "Testing wasm <f64_bitwise_1_wasm>" ,
"" [f64_bitwise_1_wasm_tests] )

Definition at line 385 of file f64_bitwise_tests.cpp.

385 {
387 auto code = read_wasm( std::string(wasm_directory) + "f64_bitwise.1.wasm");
388 CHECK_THROWS_AS(backend_t(code, nullptr), std::exception);
389}
sysio::vm::backend< rhf_t > backend_t
#define CHECK_THROWS_AS(expr, exceptionType)
Definition catch.hpp:203
Here is the call graph for this function:

◆ BACKEND_TEST_CASE() [3/4]

BACKEND_TEST_CASE ( "Testing wasm <f64_bitwise_2_wasm>" ,
"" [f64_bitwise_2_wasm_tests] )

Definition at line 391 of file f64_bitwise_tests.cpp.

391 {
393 auto code = read_wasm( std::string(wasm_directory) + "f64_bitwise.2.wasm");
394 CHECK_THROWS_AS(backend_t(code, nullptr), std::exception);
395}
Here is the call graph for this function:

◆ BACKEND_TEST_CASE() [4/4]

BACKEND_TEST_CASE ( "Testing wasm <f64_bitwise_3_wasm>" ,
"" [f64_bitwise_3_wasm_tests] )

Definition at line 397 of file f64_bitwise_tests.cpp.

397 {
399 auto code = read_wasm( std::string(wasm_directory) + "f64_bitwise.3.wasm");
400 CHECK_THROWS_AS(backend_t(code, nullptr), std::exception);
401}
Here is the call graph for this function:

Variable Documentation

◆ wa

wasm_allocator wa
extern

Definition at line 10 of file main.cpp.