Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
f64_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_tests.cpp:

Go to the source code of this file.

Functions

 BACKEND_TEST_CASE ("Testing wasm <f64_0_wasm>", "[f64_0_wasm_tests]")
 
 BACKEND_TEST_CASE ("Testing wasm <f64_1_wasm>", "[f64_1_wasm_tests]")
 
 BACKEND_TEST_CASE ("Testing wasm <f64_10_wasm>", "[f64_10_wasm_tests]")
 
 BACKEND_TEST_CASE ("Testing wasm <f64_11_wasm>", "[f64_11_wasm_tests]")
 
 BACKEND_TEST_CASE ("Testing wasm <f64_2_wasm>", "[f64_2_wasm_tests]")
 
 BACKEND_TEST_CASE ("Testing wasm <f64_3_wasm>", "[f64_3_wasm_tests]")
 
 BACKEND_TEST_CASE ("Testing wasm <f64_4_wasm>", "[f64_4_wasm_tests]")
 
 BACKEND_TEST_CASE ("Testing wasm <f64_5_wasm>", "[f64_5_wasm_tests]")
 
 BACKEND_TEST_CASE ("Testing wasm <f64_6_wasm>", "[f64_6_wasm_tests]")
 
 BACKEND_TEST_CASE ("Testing wasm <f64_7_wasm>", "[f64_7_wasm_tests]")
 
 BACKEND_TEST_CASE ("Testing wasm <f64_8_wasm>", "[f64_8_wasm_tests]")
 
 BACKEND_TEST_CASE ("Testing wasm <f64_9_wasm>", "[f64_9_wasm_tests]")
 

Variables

wasm_allocator wa
 

Function Documentation

◆ BACKEND_TEST_CASE() [1/12]

BACKEND_TEST_CASE ( "Testing wasm <f64_0_wasm>" ,
"" [f64_0_wasm_tests] )

Definition at line 18 of file f64_tests.cpp.

18 {
20 auto code = read_wasm( std::string(wasm_directory) + "f64.0.wasm");
21 backend_t bkend( code, &wa );
22
23 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", 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", "add", 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", "add", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(0));
27 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775809));
28 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(1));
29 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775809));
31 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146304));
32 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
33 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146304));
34 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
35 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
36 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
37 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
38 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
39 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
40 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
41 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
42 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
43 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
44 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
45 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
46 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
47 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
48 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
49 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
50 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
51 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
52 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
53 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
54 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
55 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18444492273895866368)))));
56 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18443366373989023744)))));
57 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9221120237041090560)))));
58 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9219994337134247936)))));
59 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18444492273895866368)))));
60 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18443366373989023744)))));
61 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9221120237041090560)))));
62 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9219994337134247936)))));
63 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775809));
64 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9223372036854775809));
65 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(1));
67 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775810));
68 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(0));
69 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(0));
71 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146305));
72 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370495));
73 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146303));
74 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370497));
75 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
76 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
77 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
78 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
79 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
80 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
81 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
82 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
83 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
84 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
85 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
86 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
87 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
88 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
89 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
90 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
91 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
92 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
93 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
94 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
95 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18444492273895866368)))));
96 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18443366373989023744)))));
97 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9221120237041090560)))));
98 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9219994337134247936)))));
99 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18444492273895866368)))));
100 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18443366373989023744)))));
101 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9221120237041090560)))));
102 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9219994337134247936)))));
103 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9227875636482146304));
104 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9227875636482146304));
105 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(4503599627370496));
106 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(4503599627370496));
107 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9227875636482146305));
108 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9227875636482146303));
109 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(4503599627370495));
110 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4503599627370497));
111 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9232379236109516800));
112 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(0));
113 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(0));
114 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9007199254740992));
115 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
116 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
117 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
118 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
119 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
120 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
121 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
122 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
123 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
124 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
125 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
126 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
127 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
128 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
129 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
130 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
131 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
132 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
133 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
134 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
135 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18444492273895866368)))));
136 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18443366373989023744)))));
137 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9221120237041090560)))));
138 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9219994337134247936)))));
139 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18444492273895866368)))));
140 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18443366373989023744)))));
141 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9221120237041090560)))));
142 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9219994337134247936)))));
143 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(13826050856027422720));
144 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(13826050856027422720));
145 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(4602678819172646912));
146 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(4602678819172646912));
147 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(13826050856027422720));
148 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(13826050856027422720));
149 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(4602678819172646912));
150 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4602678819172646912));
151 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(13826050856027422720));
152 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(13826050856027422720));
153 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(4602678819172646912));
154 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4602678819172646912));
155 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13830554455654793216));
156 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(0));
157 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(0));
158 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4607182418800017408));
159 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13832806255468478464));
160 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4602678819172646912));
161 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13826050856027422720));
162 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4609434218613702656));
163 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842695242987613464));
164 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618197306225995032));
165 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13841569343080770840));
166 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4619323206132837656));
167 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
168 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
169 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
170 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
171 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
172 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
173 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
174 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
175 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18444492273895866368)))));
176 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18443366373989023744)))));
177 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9221120237041090560)))));
178 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9219994337134247936)))));
179 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18444492273895866368)))));
180 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18443366373989023744)))));
181 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9221120237041090560)))));
182 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9219994337134247936)))));
183 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(13830554455654793216));
184 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(13830554455654793216));
185 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(4607182418800017408));
186 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(4607182418800017408));
187 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(13830554455654793216));
188 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(13830554455654793216));
189 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(4607182418800017408));
190 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4607182418800017408));
191 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(13830554455654793216));
192 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(13830554455654793216));
193 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(4607182418800017408));
194 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4607182418800017408));
195 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13832806255468478464));
196 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(13826050856027422720));
197 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4602678819172646912));
198 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4609434218613702656));
199 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13835058055282163712));
200 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(0));
201 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(0));
202 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4611686018427387904));
203 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13843258192941034776));
204 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4617634356272573720));
205 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13841006393127349528));
206 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4619886156086258968));
207 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
208 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
209 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
210 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
211 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
212 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
213 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
214 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
215 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18444492273895866368)))));
216 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18443366373989023744)))));
217 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9221120237041090560)))));
218 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9219994337134247936)))));
219 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18444492273895866368)))));
220 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18443366373989023744)))));
221 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9221120237041090560)))));
222 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9219994337134247936)))));
223 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(13842132293034192152));
224 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(13842132293034192152));
225 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(4618760256179416344));
226 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(4618760256179416344));
227 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(13842132293034192152));
228 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(13842132293034192152));
229 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(4618760256179416344));
230 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4618760256179416344));
231 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(13842132293034192152));
232 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(13842132293034192152));
233 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(4618760256179416344));
234 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4618760256179416344));
235 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13842695242987613464));
236 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(13841569343080770840));
237 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4618197306225995032));
238 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4619323206132837656));
239 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13843258192941034776));
240 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(13841006393127349528));
241 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4617634356272573720));
242 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4619886156086258968));
243 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13846635892661562648));
244 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(0));
245 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(0));
246 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4623263855806786840));
247 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
248 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
249 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
250 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
251 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
252 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
253 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
254 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
255 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18444492273895866368)))));
256 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18443366373989023744)))));
257 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9221120237041090560)))));
258 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9219994337134247936)))));
259 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18444492273895866368)))));
260 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18443366373989023744)))));
261 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9221120237041090560)))));
262 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9219994337134247936)))));
263 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(18442240474082181119));
264 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(18442240474082181119));
265 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9218868437227405311));
266 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9218868437227405311));
267 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(18442240474082181119));
268 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(18442240474082181119));
269 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9218868437227405311));
270 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9218868437227405311));
271 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(18442240474082181119));
272 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(18442240474082181119));
273 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9218868437227405311));
274 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9218868437227405311));
275 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(18442240474082181119));
276 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(18442240474082181119));
277 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9218868437227405311));
278 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9218868437227405311));
279 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(18442240474082181119));
280 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(18442240474082181119));
281 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9218868437227405311));
282 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9218868437227405311));
283 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(18442240474082181119));
284 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(18442240474082181119));
285 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9218868437227405311));
286 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9218868437227405311));
287 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181120));
288 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(0));
289 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(0));
290 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405312));
291 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
292 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
293 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
294 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
295 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18444492273895866368)))));
296 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18443366373989023744)))));
297 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9221120237041090560)))));
298 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9219994337134247936)))));
299 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18444492273895866368)))));
300 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18443366373989023744)))));
301 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9221120237041090560)))));
302 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9219994337134247936)))));
303 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(18442240474082181120));
304 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(18442240474082181120));
305 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9218868437227405312));
306 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9218868437227405312));
307 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(18442240474082181120));
308 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(18442240474082181120));
309 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9218868437227405312));
310 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9218868437227405312));
311 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(18442240474082181120));
312 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(18442240474082181120));
313 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9218868437227405312));
314 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9218868437227405312));
315 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(18442240474082181120));
316 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(18442240474082181120));
317 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9218868437227405312));
318 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9218868437227405312));
319 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(18442240474082181120));
320 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(18442240474082181120));
321 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9218868437227405312));
322 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9218868437227405312));
323 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(18442240474082181120));
324 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(18442240474082181120));
325 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9218868437227405312));
326 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9218868437227405312));
327 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181120));
328 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181120));
329 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405312));
330 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405312));
331 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
332 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9218868437227405312)))));
333 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18442240474082181120)))));
334 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
335 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18444492273895866368)))));
336 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18443366373989023744)))));
337 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9221120237041090560)))));
338 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9219994337134247936)))));
339 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18444492273895866368)))));
340 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18443366373989023744)))));
341 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9221120237041090560)))));
342 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9219994337134247936)))));
343 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9223372036854775808)))));
344 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9223372036854775808)))));
345 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(0)))));
346 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(0)))));
347 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9223372036854775808)))));
348 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9223372036854775808)))));
349 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(0)))));
350 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(0)))));
351 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9223372036854775809)))));
352 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9223372036854775809)))));
353 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(1)))));
354 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(1)))));
355 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9223372036854775809)))));
356 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9223372036854775809)))));
357 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(1)))));
358 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(1)))));
359 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9227875636482146304)))));
360 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9227875636482146304)))));
361 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4503599627370496)))));
362 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4503599627370496)))));
363 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9227875636482146304)))));
364 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9227875636482146304)))));
365 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4503599627370496)))));
366 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4503599627370496)))));
367 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(13826050856027422720)))));
368 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(13826050856027422720)))));
369 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4602678819172646912)))));
370 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4602678819172646912)))));
371 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(13826050856027422720)))));
372 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(13826050856027422720)))));
373 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4602678819172646912)))));
374 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4602678819172646912)))));
375 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(13830554455654793216)))));
376 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(13830554455654793216)))));
377 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4607182418800017408)))));
378 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4607182418800017408)))));
379 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(13830554455654793216)))));
380 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(13830554455654793216)))));
381 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4607182418800017408)))));
382 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4607182418800017408)))));
383 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(13842132293034192152)))));
384 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(13842132293034192152)))));
385 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4618760256179416344)))));
386 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4618760256179416344)))));
387 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(13842132293034192152)))));
388 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(13842132293034192152)))));
389 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4618760256179416344)))));
390 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4618760256179416344)))));
391 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18442240474082181119)))));
392 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18442240474082181119)))));
393 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9218868437227405311)))));
394 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9218868437227405311)))));
395 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18442240474082181119)))));
396 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18442240474082181119)))));
397 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9218868437227405311)))));
398 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9218868437227405311)))));
399 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18442240474082181120)))));
400 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18442240474082181120)))));
401 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9218868437227405312)))));
402 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9218868437227405312)))));
403 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18442240474082181120)))));
404 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18442240474082181120)))));
405 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9218868437227405312)))));
406 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9218868437227405312)))));
407 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18444492273895866368)))));
408 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18444492273895866368)))));
409 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18443366373989023744)))));
410 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18443366373989023744)))));
411 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9221120237041090560)))));
412 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9221120237041090560)))));
413 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9219994337134247936)))));
414 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9219994337134247936)))));
415 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18444492273895866368)))));
416 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18444492273895866368)))));
417 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18443366373989023744)))));
418 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18443366373989023744)))));
419 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9221120237041090560)))));
420 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9221120237041090560)))));
421 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9219994337134247936)))));
422 CHECK(check_nan(bkend.call_with_return("env", "add", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9219994337134247936)))));
423 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(0));
424 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9223372036854775808));
425 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(0));
427 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(1));
428 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9223372036854775809));
429 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(1));
430 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9223372036854775809));
431 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(4503599627370496));
432 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9227875636482146304));
433 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(4503599627370496));
434 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9227875636482146304));
435 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4602678819172646912));
436 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(13826050856027422720));
437 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4602678819172646912));
438 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(13826050856027422720));
439 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4607182418800017408));
440 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(13830554455654793216));
441 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4607182418800017408));
442 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(13830554455654793216));
443 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4618760256179416344));
444 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(13842132293034192152));
445 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4618760256179416344));
446 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(13842132293034192152));
447 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405311));
448 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181119));
449 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405311));
450 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181119));
451 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
452 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
453 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
454 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
455 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18444492273895866368)))));
456 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18443366373989023744)))));
457 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9221120237041090560)))));
458 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9219994337134247936)))));
459 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18444492273895866368)))));
460 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18443366373989023744)))));
461 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9221120237041090560)))));
462 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9219994337134247936)))));
463 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775809));
464 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9223372036854775809));
465 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(1));
467 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(0));
468 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9223372036854775810));
469 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(2));
471 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(4503599627370495));
472 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9227875636482146305));
473 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(4503599627370497));
474 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9227875636482146303));
475 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4602678819172646912));
476 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(13826050856027422720));
477 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4602678819172646912));
478 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(13826050856027422720));
479 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4607182418800017408));
480 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(13830554455654793216));
481 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4607182418800017408));
482 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(13830554455654793216));
483 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4618760256179416344));
484 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(13842132293034192152));
485 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4618760256179416344));
486 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(13842132293034192152));
487 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405311));
488 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181119));
489 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405311));
490 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181119));
491 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
492 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
493 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
494 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
495 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18444492273895866368)))));
496 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18443366373989023744)))));
497 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9221120237041090560)))));
498 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9219994337134247936)))));
499 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18444492273895866368)))));
500 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18443366373989023744)))));
501 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9221120237041090560)))));
502 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9219994337134247936)))));
503 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9227875636482146304));
504 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9227875636482146304));
505 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(4503599627370496));
506 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(4503599627370496));
507 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9227875636482146303));
508 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9227875636482146305));
509 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(4503599627370497));
510 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4503599627370495));
511 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(0));
512 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9232379236109516800));
513 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9007199254740992));
514 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(0));
515 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4602678819172646912));
516 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(13826050856027422720));
517 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4602678819172646912));
518 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(13826050856027422720));
519 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4607182418800017408));
520 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(13830554455654793216));
521 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4607182418800017408));
522 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(13830554455654793216));
523 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4618760256179416344));
524 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(13842132293034192152));
525 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4618760256179416344));
526 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(13842132293034192152));
527 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405311));
528 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181119));
529 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405311));
530 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181119));
531 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
532 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
533 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
534 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
535 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18444492273895866368)))));
536 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18443366373989023744)))));
537 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9221120237041090560)))));
538 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9219994337134247936)))));
539 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18444492273895866368)))));
540 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18443366373989023744)))));
541 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9221120237041090560)))));
542 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9219994337134247936)))));
543 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(13826050856027422720));
544 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(13826050856027422720));
545 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(4602678819172646912));
546 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(4602678819172646912));
547 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(13826050856027422720));
548 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(13826050856027422720));
549 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(4602678819172646912));
550 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4602678819172646912));
551 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(13826050856027422720));
552 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(13826050856027422720));
553 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(4602678819172646912));
554 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4602678819172646912));
555 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(0));
556 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(13830554455654793216));
557 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4607182418800017408));
558 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(0));
559 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4602678819172646912));
560 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(13832806255468478464));
561 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4609434218613702656));
562 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(13826050856027422720));
563 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4618197306225995032));
564 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(13842695242987613464));
565 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4619323206132837656));
566 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(13841569343080770840));
567 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405311));
568 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181119));
569 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405311));
570 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181119));
571 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
572 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
573 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
574 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
575 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18444492273895866368)))));
576 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18443366373989023744)))));
577 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9221120237041090560)))));
578 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9219994337134247936)))));
579 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18444492273895866368)))));
580 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18443366373989023744)))));
581 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9221120237041090560)))));
582 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9219994337134247936)))));
583 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(13830554455654793216));
584 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(13830554455654793216));
585 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(4607182418800017408));
586 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(4607182418800017408));
587 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(13830554455654793216));
588 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(13830554455654793216));
589 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(4607182418800017408));
590 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4607182418800017408));
591 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(13830554455654793216));
592 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(13830554455654793216));
593 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(4607182418800017408));
594 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4607182418800017408));
595 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
596 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(13832806255468478464));
597 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4609434218613702656));
598 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
599 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(0));
600 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(13835058055282163712));
601 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4611686018427387904));
602 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(0));
603 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4617634356272573720));
604 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(13843258192941034776));
605 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4619886156086258968));
606 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(13841006393127349528));
607 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405311));
608 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181119));
609 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405311));
610 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181119));
611 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
612 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
613 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
614 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
615 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18444492273895866368)))));
616 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18443366373989023744)))));
617 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9221120237041090560)))));
618 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9219994337134247936)))));
619 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18444492273895866368)))));
620 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18443366373989023744)))));
621 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9221120237041090560)))));
622 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9219994337134247936)))));
623 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(13842132293034192152));
624 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(13842132293034192152));
625 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(4618760256179416344));
626 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(4618760256179416344));
627 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(13842132293034192152));
628 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(13842132293034192152));
629 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(4618760256179416344));
630 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4618760256179416344));
631 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(13842132293034192152));
632 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(13842132293034192152));
633 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(4618760256179416344));
634 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4618760256179416344));
635 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13841569343080770840));
636 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(13842695242987613464));
637 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4619323206132837656));
638 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4618197306225995032));
639 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13841006393127349528));
640 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(13843258192941034776));
641 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4619886156086258968));
642 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4617634356272573720));
643 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(0));
644 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(13846635892661562648));
645 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4623263855806786840));
646 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(0));
647 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405311));
648 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181119));
649 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405311));
650 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181119));
651 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
652 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
653 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
654 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
655 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18444492273895866368)))));
656 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18443366373989023744)))));
657 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9221120237041090560)))));
658 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9219994337134247936)))));
659 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18444492273895866368)))));
660 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18443366373989023744)))));
661 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9221120237041090560)))));
662 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9219994337134247936)))));
663 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(18442240474082181119));
664 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(18442240474082181119));
665 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9218868437227405311));
666 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9218868437227405311));
667 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(18442240474082181119));
668 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(18442240474082181119));
669 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9218868437227405311));
670 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9218868437227405311));
671 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(18442240474082181119));
672 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(18442240474082181119));
673 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9218868437227405311));
674 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9218868437227405311));
675 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(18442240474082181119));
676 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(18442240474082181119));
677 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9218868437227405311));
678 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9218868437227405311));
679 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(18442240474082181119));
680 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(18442240474082181119));
681 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9218868437227405311));
682 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9218868437227405311));
683 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(18442240474082181119));
684 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(18442240474082181119));
685 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9218868437227405311));
686 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9218868437227405311));
687 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(0));
688 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181120));
689 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405312));
690 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(0));
691 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
692 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
693 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
694 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
695 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18444492273895866368)))));
696 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18443366373989023744)))));
697 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9221120237041090560)))));
698 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9219994337134247936)))));
699 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18444492273895866368)))));
700 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18443366373989023744)))));
701 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9221120237041090560)))));
702 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9219994337134247936)))));
703 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(18442240474082181120));
704 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(18442240474082181120));
705 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9218868437227405312));
706 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9218868437227405312));
707 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(18442240474082181120));
708 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(18442240474082181120));
709 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9218868437227405312));
710 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9218868437227405312));
711 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(18442240474082181120));
712 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(18442240474082181120));
713 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9218868437227405312));
714 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9218868437227405312));
715 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(18442240474082181120));
716 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(18442240474082181120));
717 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9218868437227405312));
718 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9218868437227405312));
719 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(18442240474082181120));
720 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(18442240474082181120));
721 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9218868437227405312));
722 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9218868437227405312));
723 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(18442240474082181120));
724 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(18442240474082181120));
725 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9218868437227405312));
726 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9218868437227405312));
727 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181120));
728 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181120));
729 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405312));
730 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405312));
731 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18442240474082181120)))));
732 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
733 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
734 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9218868437227405312)))));
735 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18444492273895866368)))));
736 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18443366373989023744)))));
737 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9221120237041090560)))));
738 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9219994337134247936)))));
739 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18444492273895866368)))));
740 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18443366373989023744)))));
741 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9221120237041090560)))));
742 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9219994337134247936)))));
743 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9223372036854775808)))));
744 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9223372036854775808)))));
745 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(0)))));
746 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(0)))));
747 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9223372036854775808)))));
748 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9223372036854775808)))));
749 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(0)))));
750 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(0)))));
751 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9223372036854775809)))));
752 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9223372036854775809)))));
753 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(1)))));
754 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(1)))));
755 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9223372036854775809)))));
756 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9223372036854775809)))));
757 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(1)))));
758 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(1)))));
759 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9227875636482146304)))));
760 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9227875636482146304)))));
761 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4503599627370496)))));
762 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4503599627370496)))));
763 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9227875636482146304)))));
764 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9227875636482146304)))));
765 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4503599627370496)))));
766 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4503599627370496)))));
767 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(13826050856027422720)))));
768 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(13826050856027422720)))));
769 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4602678819172646912)))));
770 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4602678819172646912)))));
771 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(13826050856027422720)))));
772 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(13826050856027422720)))));
773 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4602678819172646912)))));
774 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4602678819172646912)))));
775 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(13830554455654793216)))));
776 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(13830554455654793216)))));
777 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4607182418800017408)))));
778 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4607182418800017408)))));
779 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(13830554455654793216)))));
780 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(13830554455654793216)))));
781 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4607182418800017408)))));
782 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4607182418800017408)))));
783 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(13842132293034192152)))));
784 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(13842132293034192152)))));
785 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4618760256179416344)))));
786 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4618760256179416344)))));
787 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(13842132293034192152)))));
788 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(13842132293034192152)))));
789 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4618760256179416344)))));
790 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4618760256179416344)))));
791 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18442240474082181119)))));
792 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18442240474082181119)))));
793 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9218868437227405311)))));
794 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9218868437227405311)))));
795 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18442240474082181119)))));
796 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18442240474082181119)))));
797 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9218868437227405311)))));
798 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9218868437227405311)))));
799 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18442240474082181120)))));
800 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18442240474082181120)))));
801 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9218868437227405312)))));
802 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9218868437227405312)))));
803 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18442240474082181120)))));
804 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18442240474082181120)))));
805 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9218868437227405312)))));
806 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9218868437227405312)))));
807 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18444492273895866368)))));
808 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18444492273895866368)))));
809 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18443366373989023744)))));
810 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18443366373989023744)))));
811 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9221120237041090560)))));
812 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9221120237041090560)))));
813 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9219994337134247936)))));
814 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9219994337134247936)))));
815 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18444492273895866368)))));
816 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18444492273895866368)))));
817 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18443366373989023744)))));
818 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18443366373989023744)))));
819 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9221120237041090560)))));
820 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9221120237041090560)))));
821 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9219994337134247936)))));
822 CHECK(check_nan(bkend.call_with_return("env", "sub", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9219994337134247936)))));
823 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(0));
824 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9223372036854775808));
825 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
827 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(0));
828 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9223372036854775808));
829 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775808));
831 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(0));
832 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9223372036854775808));
833 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9223372036854775808));
834 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(0));
835 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(0));
836 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9223372036854775808));
837 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9223372036854775808));
838 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(0));
839 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(0));
840 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9223372036854775808));
841 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9223372036854775808));
842 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(0));
843 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(0));
844 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9223372036854775808));
845 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9223372036854775808));
846 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(0));
847 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(0));
848 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9223372036854775808));
849 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9223372036854775808));
850 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(0));
851 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18442240474082181120)))));
852 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9218868437227405312)))));
853 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18442240474082181120)))));
854 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9218868437227405312)))));
855 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18444492273895866368)))));
856 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18443366373989023744)))));
857 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9221120237041090560)))));
858 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9219994337134247936)))));
859 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18444492273895866368)))));
860 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18443366373989023744)))));
861 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9221120237041090560)))));
862 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9219994337134247936)))));
863 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(0));
864 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9223372036854775808));
865 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
867 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(0));
868 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9223372036854775808));
869 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775808));
871 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(0));
872 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9223372036854775808));
873 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9223372036854775808));
874 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(0));
875 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(0));
876 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9223372036854775808));
877 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9223372036854775808));
878 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(0));
879 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(1));
880 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9223372036854775809));
881 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9223372036854775809));
882 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(1));
883 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(6));
884 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9223372036854775814));
885 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9223372036854775814));
886 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(6));
887 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(4382002437431492607));
888 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(13605374474286268415));
889 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(13605374474286268415));
890 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(4382002437431492607));
891 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
892 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
893 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
894 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
895 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18444492273895866368)))));
896 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18443366373989023744)))));
897 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9221120237041090560)))));
898 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9219994337134247936)))));
899 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18444492273895866368)))));
900 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18443366373989023744)))));
901 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9221120237041090560)))));
902 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9219994337134247936)))));
903 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(0));
904 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9223372036854775808));
905 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
906 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
907 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(0));
908 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9223372036854775808));
909 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775808));
910 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(0));
911 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(0));
912 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9223372036854775808));
913 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9223372036854775808));
914 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(0));
915 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(2251799813685248));
916 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9225623836668461056));
917 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9225623836668461056));
918 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(2251799813685248));
919 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4503599627370496));
920 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9227875636482146304));
921 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9227875636482146304));
922 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4503599627370496));
923 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(16081437006769432));
924 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9239453473861545240));
925 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9239453473861545240));
926 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(16081437006769432));
927 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(4616189618054758399));
928 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(13839561654909534207));
929 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(13839561654909534207));
930 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(4616189618054758399));
931 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
932 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
933 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
934 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
935 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18444492273895866368)))));
936 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18443366373989023744)))));
937 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9221120237041090560)))));
938 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9219994337134247936)))));
939 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18444492273895866368)))));
940 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18443366373989023744)))));
941 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9221120237041090560)))));
942 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9219994337134247936)))));
943 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(0));
944 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9223372036854775808));
945 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
946 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
947 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(0));
948 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9223372036854775808));
949 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775808));
950 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(0));
951 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(2251799813685248));
952 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9225623836668461056));
953 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9225623836668461056));
954 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(2251799813685248));
955 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4598175219545276416));
956 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(13821547256400052224));
957 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13821547256400052224));
958 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4598175219545276416));
959 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4602678819172646912));
960 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(13826050856027422720));
961 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13826050856027422720));
962 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4602678819172646912));
963 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4614256656552045848));
964 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(13837628693406821656));
965 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13837628693406821656));
966 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4614256656552045848));
967 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9214364837600034815));
968 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18437736874454810623));
969 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18437736874454810623));
970 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9214364837600034815));
971 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
972 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
973 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
974 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
975 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18444492273895866368)))));
976 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18443366373989023744)))));
977 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9221120237041090560)))));
978 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9219994337134247936)))));
979 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18444492273895866368)))));
980 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18443366373989023744)))));
981 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9221120237041090560)))));
982 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9219994337134247936)))));
983 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(0));
984 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9223372036854775808));
985 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
986 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
987 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(1));
988 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9223372036854775809));
989 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775809));
990 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(1));
991 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(4503599627370496));
992 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9227875636482146304));
993 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146304));
994 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
995 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4602678819172646912));
996 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(13826050856027422720));
997 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
998 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
999 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4607182418800017408));
1000 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(13830554455654793216));
1001 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
1002 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
1003 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4618760256179416344));
1004 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(13842132293034192152));
1005 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
1006 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
1007 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405311));
1008 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181119));
1009 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
1010 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
1011 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
1012 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
1013 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
1014 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
1015 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1016 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1017 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1018 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1019 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1020 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1021 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1022 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1023 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(0));
1024 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9223372036854775808));
1025 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
1026 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
1027 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(6));
1028 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9223372036854775814));
1029 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775814));
1030 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(6));
1031 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(16081437006769432));
1032 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9239453473861545240));
1033 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9239453473861545240));
1034 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(16081437006769432));
1035 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4614256656552045848));
1036 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(13837628693406821656));
1037 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13837628693406821656));
1038 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4614256656552045848));
1039 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4618760256179416344));
1040 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(13842132293034192152));
1041 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13842132293034192152));
1042 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4618760256179416344));
1043 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4630752910647379422));
1044 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(13854124947502155230));
1045 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13854124947502155230));
1046 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4630752910647379422));
1047 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405312));
1048 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181120));
1049 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181120));
1050 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405312));
1051 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
1052 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
1053 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
1054 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
1055 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1056 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1057 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1058 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1059 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1060 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1061 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1062 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1063 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(0));
1064 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9223372036854775808));
1065 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
1066 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
1067 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(4382002437431492607));
1068 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(13605374474286268415));
1069 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(13605374474286268415));
1070 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4382002437431492607));
1071 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(4616189618054758399));
1072 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(13839561654909534207));
1073 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(13839561654909534207));
1074 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4616189618054758399));
1075 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9214364837600034815));
1076 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(18437736874454810623));
1077 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(18437736874454810623));
1078 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9214364837600034815));
1079 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9218868437227405311));
1080 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(18442240474082181119));
1081 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(18442240474082181119));
1082 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9218868437227405311));
1083 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9218868437227405312));
1084 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(18442240474082181120));
1085 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(18442240474082181120));
1086 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9218868437227405312));
1087 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405312));
1088 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181120));
1089 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181120));
1090 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405312));
1091 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
1092 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
1093 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
1094 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
1095 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1096 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1097 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1098 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1099 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1100 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1101 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1102 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1103 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9223372036854775808)))));
1104 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(0)))));
1105 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9223372036854775808)))));
1106 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(0)))));
1107 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9218868437227405312));
1108 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(18442240474082181120));
1109 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(18442240474082181120));
1110 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9218868437227405312));
1111 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9218868437227405312));
1112 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(18442240474082181120));
1113 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(18442240474082181120));
1114 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9218868437227405312));
1115 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9218868437227405312));
1116 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(18442240474082181120));
1117 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(18442240474082181120));
1118 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9218868437227405312));
1119 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9218868437227405312));
1120 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(18442240474082181120));
1121 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(18442240474082181120));
1122 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9218868437227405312));
1123 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9218868437227405312));
1124 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(18442240474082181120));
1125 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(18442240474082181120));
1126 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9218868437227405312));
1127 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405312));
1128 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181120));
1129 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181120));
1130 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405312));
1131 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
1132 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
1133 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
1134 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
1135 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1136 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1137 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1138 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1139 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1140 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1141 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1142 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1143 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9223372036854775808)))));
1144 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9223372036854775808)))));
1145 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(0)))));
1146 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(0)))));
1147 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9223372036854775808)))));
1148 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9223372036854775808)))));
1149 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(0)))));
1150 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(0)))));
1151 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9223372036854775809)))));
1152 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9223372036854775809)))));
1153 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(1)))));
1154 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(1)))));
1155 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9223372036854775809)))));
1156 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9223372036854775809)))));
1157 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(1)))));
1158 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(1)))));
1159 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9227875636482146304)))));
1160 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9227875636482146304)))));
1161 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4503599627370496)))));
1162 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4503599627370496)))));
1163 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9227875636482146304)))));
1164 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9227875636482146304)))));
1165 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4503599627370496)))));
1166 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4503599627370496)))));
1167 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(13826050856027422720)))));
1168 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(13826050856027422720)))));
1169 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4602678819172646912)))));
1170 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4602678819172646912)))));
1171 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(13826050856027422720)))));
1172 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(13826050856027422720)))));
1173 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4602678819172646912)))));
1174 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4602678819172646912)))));
1175 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(13830554455654793216)))));
1176 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(13830554455654793216)))));
1177 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4607182418800017408)))));
1178 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4607182418800017408)))));
1179 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(13830554455654793216)))));
1180 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(13830554455654793216)))));
1181 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4607182418800017408)))));
1182 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4607182418800017408)))));
1183 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(13842132293034192152)))));
1184 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(13842132293034192152)))));
1185 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4618760256179416344)))));
1186 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4618760256179416344)))));
1187 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(13842132293034192152)))));
1188 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(13842132293034192152)))));
1189 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4618760256179416344)))));
1190 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4618760256179416344)))));
1191 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18442240474082181119)))));
1192 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18442240474082181119)))));
1193 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9218868437227405311)))));
1194 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9218868437227405311)))));
1195 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18442240474082181119)))));
1196 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18442240474082181119)))));
1197 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9218868437227405311)))));
1198 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9218868437227405311)))));
1199 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18442240474082181120)))));
1200 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18442240474082181120)))));
1201 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9218868437227405312)))));
1202 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9218868437227405312)))));
1203 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18442240474082181120)))));
1204 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18442240474082181120)))));
1205 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9218868437227405312)))));
1206 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9218868437227405312)))));
1207 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1208 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1209 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1210 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1211 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1212 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1213 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1214 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1215 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1216 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1217 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1218 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1219 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1220 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1221 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1222 CHECK(check_nan(bkend.call_with_return("env", "mul", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1223 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9223372036854775808)))));
1224 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(0)))));
1225 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9223372036854775808)))));
1227 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(0));
1228 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9223372036854775808));
1229 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775808));
1231 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(0));
1232 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9223372036854775808));
1233 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9223372036854775808));
1234 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(0));
1235 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(0));
1236 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9223372036854775808));
1237 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9223372036854775808));
1238 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(0));
1239 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(0));
1240 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9223372036854775808));
1241 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9223372036854775808));
1242 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(0));
1243 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(0));
1244 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9223372036854775808));
1245 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9223372036854775808));
1246 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(0));
1247 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(0));
1248 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9223372036854775808));
1249 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9223372036854775808));
1250 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(0));
1251 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(0));
1252 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9223372036854775808));
1253 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9223372036854775808));
1254 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(0));
1255 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1256 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1257 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1258 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1259 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1260 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1261 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1262 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1263 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9218868437227405312));
1264 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(18442240474082181120));
1265 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(18442240474082181120));
1266 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9218868437227405312));
1267 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(4607182418800017408));
1268 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(13830554455654793216));
1269 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(13830554455654793216));
1270 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4607182418800017408));
1271 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(4372995238176751616));
1272 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(13596367275031527424));
1273 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(13596367275031527424));
1274 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4372995238176751616));
1275 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(2));
1276 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9223372036854775810));
1277 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9223372036854775810));
1278 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(2));
1279 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(1));
1280 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9223372036854775809));
1281 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9223372036854775809));
1282 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(1));
1283 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(0));
1284 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9223372036854775808));
1285 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9223372036854775808));
1286 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(0));
1287 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(0));
1288 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9223372036854775808));
1289 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9223372036854775808));
1290 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(0));
1291 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(0));
1292 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9223372036854775808));
1293 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9223372036854775808));
1294 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(0));
1295 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1296 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1297 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1298 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1299 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1300 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1301 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1302 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1303 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9218868437227405312));
1304 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(18442240474082181120));
1305 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(18442240474082181120));
1306 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9218868437227405312));
1307 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(4841369599423283200));
1308 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(14064741636278059008));
1309 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(14064741636278059008));
1310 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4841369599423283200));
1311 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(4607182418800017408));
1312 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(13830554455654793216));
1313 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(13830554455654793216));
1314 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4607182418800017408));
1315 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9007199254740992));
1316 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9232379236109516800));
1317 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9232379236109516800));
1318 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9007199254740992));
1319 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4503599627370496));
1320 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9227875636482146304));
1321 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9227875636482146304));
1322 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4503599627370496));
1323 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(716770142402832));
1324 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9224088806997178640));
1325 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9224088806997178640));
1326 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(716770142402832));
1327 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(0));
1328 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9223372036854775808));
1329 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9223372036854775808));
1330 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(0));
1331 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(0));
1332 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9223372036854775808));
1333 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9223372036854775808));
1334 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(0));
1335 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1336 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1337 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1338 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1339 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1340 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1341 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1342 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1343 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9218868437227405312));
1344 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(18442240474082181120));
1345 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(18442240474082181120));
1346 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9218868437227405312));
1347 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9218868437227405312));
1348 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(18442240474082181120));
1349 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(18442240474082181120));
1350 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9218868437227405312));
1351 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9205357638345293824));
1352 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(18428729675200069632));
1353 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(18428729675200069632));
1354 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9205357638345293824));
1355 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4607182418800017408));
1356 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(13830554455654793216));
1357 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13830554455654793216));
1358 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4607182418800017408));
1359 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4602678819172646912));
1360 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(13826050856027422720));
1361 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13826050856027422720));
1362 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4602678819172646912));
1363 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4590398581802387587));
1364 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(13813770618657163395));
1365 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13813770618657163395));
1366 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4590398581802387587));
1367 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(562949953421312));
1368 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9223934986808197120));
1369 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9223934986808197120));
1370 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(562949953421312));
1371 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(0));
1372 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9223372036854775808));
1373 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9223372036854775808));
1374 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(0));
1375 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1376 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1377 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1378 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1379 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1380 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1381 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1382 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1383 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9218868437227405312));
1384 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(18442240474082181120));
1385 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(18442240474082181120));
1386 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9218868437227405312));
1387 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9218868437227405312));
1388 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(18442240474082181120));
1389 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(18442240474082181120));
1390 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9218868437227405312));
1391 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9209861237972664320));
1392 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(18433233274827440128));
1393 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(18433233274827440128));
1394 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9209861237972664320));
1395 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4611686018427387904));
1396 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(13835058055282163712));
1397 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13835058055282163712));
1398 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4611686018427387904));
1399 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4607182418800017408));
1400 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(13830554455654793216));
1401 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
1402 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
1403 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4594902181429758083));
1404 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(13818274218284533891));
1405 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13818274218284533891));
1406 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4594902181429758083));
1407 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(1125899906842624));
1408 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9224497936761618432));
1409 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9224497936761618432));
1410 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(1125899906842624));
1411 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(0));
1412 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9223372036854775808));
1413 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9223372036854775808));
1414 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(0));
1415 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1416 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1417 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1418 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1419 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1420 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1421 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1422 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1423 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9218868437227405312));
1424 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(18442240474082181120));
1425 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(18442240474082181120));
1426 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9218868437227405312));
1427 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9218868437227405312));
1428 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(18442240474082181120));
1429 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(18442240474082181120));
1430 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9218868437227405312));
1431 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9218868437227405312));
1432 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(18442240474082181120));
1433 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(18442240474082181120));
1434 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9218868437227405312));
1435 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4623263855806786840));
1436 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(13846635892661562648));
1437 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13846635892661562648));
1438 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4623263855806786840));
1439 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4618760256179416344));
1440 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(13842132293034192152));
1441 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13842132293034192152));
1442 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4618760256179416344));
1443 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4607182418800017408));
1444 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(13830554455654793216));
1445 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13830554455654793216));
1446 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4607182418800017408));
1447 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(7074237752028441));
1448 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9230446274606804249));
1449 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9230446274606804249));
1450 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(7074237752028441));
1451 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(0));
1452 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9223372036854775808));
1453 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9223372036854775808));
1454 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(0));
1455 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1456 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1457 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1458 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1459 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1460 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1461 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1462 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1463 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9218868437227405312));
1464 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(18442240474082181120));
1465 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(18442240474082181120));
1466 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9218868437227405312));
1467 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9218868437227405312));
1468 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(18442240474082181120));
1469 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(18442240474082181120));
1470 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9218868437227405312));
1471 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9218868437227405312));
1472 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(18442240474082181120));
1473 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(18442240474082181120));
1474 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9218868437227405312));
1475 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9218868437227405312));
1476 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(18442240474082181120));
1477 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(18442240474082181120));
1478 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9218868437227405312));
1479 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9218868437227405311));
1480 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(18442240474082181119));
1481 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(18442240474082181119));
1482 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9218868437227405311));
1483 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9206588199857145986));
1484 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(18429960236711921794));
1485 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(18429960236711921794));
1486 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9206588199857145986));
1487 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(4607182418800017408));
1488 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(13830554455654793216));
1489 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(13830554455654793216));
1490 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(4607182418800017408));
1491 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(0));
1492 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9223372036854775808));
1493 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9223372036854775808));
1494 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(0));
1495 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1496 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1497 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1498 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1499 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1500 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1501 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1502 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1503 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9218868437227405312));
1504 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(18442240474082181120));
1505 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(18442240474082181120));
1506 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9218868437227405312));
1507 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9218868437227405312));
1508 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(18442240474082181120));
1509 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(18442240474082181120));
1510 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9218868437227405312));
1511 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9218868437227405312));
1512 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(18442240474082181120));
1513 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(18442240474082181120));
1514 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9218868437227405312));
1515 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9218868437227405312));
1516 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(18442240474082181120));
1517 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(18442240474082181120));
1518 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9218868437227405312));
1519 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9218868437227405312));
1520 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(18442240474082181120));
1521 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(18442240474082181120));
1522 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9218868437227405312));
1523 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9218868437227405312));
1524 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(18442240474082181120));
1525 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(18442240474082181120));
1526 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9218868437227405312));
1527 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405312));
1528 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181120));
1529 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181120));
1530 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405312));
1531 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18442240474082181120)))));
1532 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9218868437227405312)))));
1533 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18442240474082181120)))));
1534 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9218868437227405312)))));
1535 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1536 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1537 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1538 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1539 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1540 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1541 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1542 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1543 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9223372036854775808)))));
1544 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9223372036854775808)))));
1545 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(0)))));
1546 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(0)))));
1547 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9223372036854775808)))));
1548 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9223372036854775808)))));
1549 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(0)))));
1550 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(0)))));
1551 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9223372036854775809)))));
1552 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9223372036854775809)))));
1553 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(1)))));
1554 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(1)))));
1555 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9223372036854775809)))));
1556 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9223372036854775809)))));
1557 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(1)))));
1558 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(1)))));
1559 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9227875636482146304)))));
1560 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9227875636482146304)))));
1561 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4503599627370496)))));
1562 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4503599627370496)))));
1563 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9227875636482146304)))));
1564 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9227875636482146304)))));
1565 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4503599627370496)))));
1566 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4503599627370496)))));
1567 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(13826050856027422720)))));
1568 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(13826050856027422720)))));
1569 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4602678819172646912)))));
1570 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4602678819172646912)))));
1571 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(13826050856027422720)))));
1572 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(13826050856027422720)))));
1573 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4602678819172646912)))));
1574 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4602678819172646912)))));
1575 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(13830554455654793216)))));
1576 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(13830554455654793216)))));
1577 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4607182418800017408)))));
1578 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4607182418800017408)))));
1579 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(13830554455654793216)))));
1580 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(13830554455654793216)))));
1581 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4607182418800017408)))));
1582 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4607182418800017408)))));
1583 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(13842132293034192152)))));
1584 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(13842132293034192152)))));
1585 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4618760256179416344)))));
1586 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4618760256179416344)))));
1587 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(13842132293034192152)))));
1588 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(13842132293034192152)))));
1589 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4618760256179416344)))));
1590 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4618760256179416344)))));
1591 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18442240474082181119)))));
1592 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18442240474082181119)))));
1593 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9218868437227405311)))));
1594 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9218868437227405311)))));
1595 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18442240474082181119)))));
1596 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18442240474082181119)))));
1597 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9218868437227405311)))));
1598 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9218868437227405311)))));
1599 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18442240474082181120)))));
1600 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18442240474082181120)))));
1601 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9218868437227405312)))));
1602 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9218868437227405312)))));
1603 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18442240474082181120)))));
1604 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18442240474082181120)))));
1605 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9218868437227405312)))));
1606 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9218868437227405312)))));
1607 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1608 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1609 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1610 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1611 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1612 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1613 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1614 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1615 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1616 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1617 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1618 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1619 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1620 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1621 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1622 CHECK(check_nan(bkend.call_with_return("env", "div", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1623 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
1624 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9223372036854775808));
1625 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
1627 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775809));
1628 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9223372036854775808));
1629 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775809));
1631 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146304));
1632 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9223372036854775808));
1633 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146304));
1634 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(0));
1635 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
1636 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9223372036854775808));
1637 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
1638 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(0));
1639 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
1640 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9223372036854775808));
1641 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
1642 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(0));
1643 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
1644 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9223372036854775808));
1645 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
1646 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(0));
1647 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
1648 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9223372036854775808));
1649 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
1650 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(0));
1651 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
1652 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9223372036854775808));
1653 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
1654 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(0));
1655 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1656 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1657 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1658 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1659 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1660 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1661 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1662 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1663 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775809));
1664 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9223372036854775809));
1665 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
1667 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775809));
1668 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9223372036854775809));
1669 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775809));
1671 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146304));
1672 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9223372036854775809));
1673 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146304));
1674 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(1));
1675 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
1676 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9223372036854775809));
1677 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
1678 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(1));
1679 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
1680 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9223372036854775809));
1681 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
1682 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(1));
1683 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
1684 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9223372036854775809));
1685 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
1686 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(1));
1687 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
1688 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9223372036854775809));
1689 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
1690 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(1));
1691 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
1692 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9223372036854775809));
1693 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
1694 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(1));
1695 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1696 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1697 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1698 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1699 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1700 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1701 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1702 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1703 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9227875636482146304));
1704 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9227875636482146304));
1705 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
1706 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
1707 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9227875636482146304));
1708 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9227875636482146304));
1709 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775809));
1710 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(1));
1711 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146304));
1712 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9227875636482146304));
1713 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146304));
1714 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
1715 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
1716 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9227875636482146304));
1717 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
1718 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4503599627370496));
1719 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
1720 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9227875636482146304));
1721 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
1722 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4503599627370496));
1723 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
1724 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9227875636482146304));
1725 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
1726 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4503599627370496));
1727 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
1728 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9227875636482146304));
1729 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
1730 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(4503599627370496));
1731 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
1732 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9227875636482146304));
1733 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
1734 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(4503599627370496));
1735 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1736 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1737 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1738 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1739 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1740 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1741 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1742 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1743 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(13826050856027422720));
1744 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(13826050856027422720));
1745 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
1746 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
1747 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(13826050856027422720));
1748 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(13826050856027422720));
1749 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775809));
1750 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(1));
1751 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(13826050856027422720));
1752 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(13826050856027422720));
1753 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146304));
1754 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
1755 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
1756 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(13826050856027422720));
1757 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
1758 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
1759 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
1760 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(13826050856027422720));
1761 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
1762 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4602678819172646912));
1763 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
1764 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(13826050856027422720));
1765 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
1766 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4602678819172646912));
1767 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
1768 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(13826050856027422720));
1769 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
1770 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(4602678819172646912));
1771 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
1772 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(13826050856027422720));
1773 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
1774 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(4602678819172646912));
1775 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1776 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1777 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1778 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1779 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1780 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1781 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1782 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1783 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(13830554455654793216));
1784 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(13830554455654793216));
1785 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
1786 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
1787 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(13830554455654793216));
1788 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(13830554455654793216));
1789 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775809));
1790 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(1));
1791 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(13830554455654793216));
1792 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(13830554455654793216));
1793 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146304));
1794 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
1795 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13830554455654793216));
1796 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(13830554455654793216));
1797 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
1798 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
1799 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
1800 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(13830554455654793216));
1801 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
1802 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
1803 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
1804 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(13830554455654793216));
1805 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
1806 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4607182418800017408));
1807 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
1808 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(13830554455654793216));
1809 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
1810 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(4607182418800017408));
1811 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
1812 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(13830554455654793216));
1813 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
1814 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(4607182418800017408));
1815 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1816 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1817 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1818 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1819 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1820 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1821 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1822 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1823 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(13842132293034192152));
1824 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(13842132293034192152));
1825 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
1826 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
1827 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(13842132293034192152));
1828 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(13842132293034192152));
1829 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775809));
1830 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(1));
1831 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(13842132293034192152));
1832 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(13842132293034192152));
1833 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146304));
1834 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
1835 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13842132293034192152));
1836 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(13842132293034192152));
1837 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
1838 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
1839 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13842132293034192152));
1840 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(13842132293034192152));
1841 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
1842 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
1843 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
1844 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(13842132293034192152));
1845 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
1846 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
1847 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
1848 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(13842132293034192152));
1849 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
1850 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(4618760256179416344));
1851 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
1852 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(13842132293034192152));
1853 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
1854 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(4618760256179416344));
1855 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1856 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1857 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1858 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1859 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1860 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1861 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1862 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1863 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(18442240474082181119));
1864 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(18442240474082181119));
1865 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
1866 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
1867 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(18442240474082181119));
1868 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(18442240474082181119));
1869 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775809));
1870 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(1));
1871 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(18442240474082181119));
1872 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(18442240474082181119));
1873 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146304));
1874 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
1875 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(18442240474082181119));
1876 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(18442240474082181119));
1877 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
1878 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
1879 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(18442240474082181119));
1880 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(18442240474082181119));
1881 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
1882 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
1883 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(18442240474082181119));
1884 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(18442240474082181119));
1885 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
1886 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
1887 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
1888 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181119));
1889 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
1890 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
1891 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
1892 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181119));
1893 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
1894 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405311));
1895 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1896 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1897 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1898 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1899 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1900 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1901 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1902 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1903 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(18442240474082181120));
1904 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(18442240474082181120));
1905 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
1906 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
1907 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(18442240474082181120));
1908 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(18442240474082181120));
1909 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775809));
1910 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(1));
1911 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(18442240474082181120));
1912 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(18442240474082181120));
1913 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146304));
1914 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
1915 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(18442240474082181120));
1916 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(18442240474082181120));
1917 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
1918 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
1919 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(18442240474082181120));
1920 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(18442240474082181120));
1921 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
1922 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
1923 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(18442240474082181120));
1924 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(18442240474082181120));
1925 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
1926 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
1927 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181120));
1928 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(18442240474082181120));
1929 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
1930 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
1931 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
1932 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(18442240474082181120));
1933 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
1934 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
1935 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1936 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1937 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1938 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1939 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18444492273895866368)))));
1940 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18443366373989023744)))));
1941 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9221120237041090560)))));
1942 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9219994337134247936)))));
1943 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9223372036854775808)))));
1944 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9223372036854775808)))));
1945 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(0)))));
1946 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(0)))));
1947 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9223372036854775808)))));
1948 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9223372036854775808)))));
1949 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(0)))));
1950 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(0)))));
1951 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9223372036854775809)))));
1952 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9223372036854775809)))));
1953 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(1)))));
1954 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(1)))));
1955 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9223372036854775809)))));
1956 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9223372036854775809)))));
1957 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(1)))));
1958 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(1)))));
1959 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9227875636482146304)))));
1960 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9227875636482146304)))));
1961 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4503599627370496)))));
1962 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4503599627370496)))));
1963 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9227875636482146304)))));
1964 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9227875636482146304)))));
1965 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4503599627370496)))));
1966 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4503599627370496)))));
1967 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(13826050856027422720)))));
1968 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(13826050856027422720)))));
1969 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4602678819172646912)))));
1970 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4602678819172646912)))));
1971 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(13826050856027422720)))));
1972 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(13826050856027422720)))));
1973 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4602678819172646912)))));
1974 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4602678819172646912)))));
1975 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(13830554455654793216)))));
1976 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(13830554455654793216)))));
1977 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4607182418800017408)))));
1978 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4607182418800017408)))));
1979 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(13830554455654793216)))));
1980 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(13830554455654793216)))));
1981 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4607182418800017408)))));
1982 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4607182418800017408)))));
1983 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(13842132293034192152)))));
1984 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(13842132293034192152)))));
1985 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4618760256179416344)))));
1986 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4618760256179416344)))));
1987 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(13842132293034192152)))));
1988 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(13842132293034192152)))));
1989 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4618760256179416344)))));
1990 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4618760256179416344)))));
1991 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18442240474082181119)))));
1992 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18442240474082181119)))));
1993 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9218868437227405311)))));
1994 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9218868437227405311)))));
1995 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18442240474082181119)))));
1996 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18442240474082181119)))));
1997 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9218868437227405311)))));
1998 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9218868437227405311)))));
1999 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18442240474082181120)))));
2000 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18442240474082181120)))));
2001 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9218868437227405312)))));
2002 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9218868437227405312)))));
2003 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18442240474082181120)))));
2004 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18442240474082181120)))));
2005 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9218868437227405312)))));
2006 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9218868437227405312)))));
2007 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2008 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2009 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2010 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2011 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2012 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2013 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2014 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2015 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2016 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2017 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2018 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2019 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2020 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2021 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2022 CHECK(check_nan(bkend.call_with_return("env", "min", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2023 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
2024 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
2025 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(0));
2027 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775808));
2028 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(1));
2029 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(0));
2031 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9223372036854775808));
2032 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
2033 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(0));
2034 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
2035 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9223372036854775808));
2036 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
2037 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(0));
2038 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
2039 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9223372036854775808));
2040 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
2041 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(0));
2042 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
2043 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9223372036854775808));
2044 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
2045 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(0));
2046 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
2047 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9223372036854775808));
2048 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
2049 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(0));
2050 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
2051 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9223372036854775808));
2052 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
2053 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(0));
2054 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
2055 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2056 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2057 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2058 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775808)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2059 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2060 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2061 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2062 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(0)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2063 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
2064 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
2065 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(1));
2067 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775809));
2068 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(1));
2069 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(1));
2071 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9223372036854775809));
2072 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
2073 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(1));
2074 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
2075 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9223372036854775809));
2076 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
2077 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(1));
2078 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
2079 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9223372036854775809));
2080 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
2081 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(1));
2082 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
2083 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9223372036854775809));
2084 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
2085 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(1));
2086 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
2087 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9223372036854775809));
2088 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
2089 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(1));
2090 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
2091 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9223372036854775809));
2092 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
2093 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(1));
2094 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
2095 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2096 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2097 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2098 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9223372036854775809)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2099 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2100 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2101 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2102 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2103 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
2104 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
2105 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(4503599627370496));
2106 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(4503599627370496));
2107 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775809));
2108 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(1));
2109 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(4503599627370496));
2110 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4503599627370496));
2111 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146304));
2112 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
2113 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(4503599627370496));
2114 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
2115 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9227875636482146304));
2116 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
2117 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4503599627370496));
2118 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
2119 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9227875636482146304));
2120 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
2121 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4503599627370496));
2122 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
2123 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9227875636482146304));
2124 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
2125 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4503599627370496));
2126 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
2127 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9227875636482146304));
2128 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
2129 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(4503599627370496));
2130 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
2131 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9227875636482146304));
2132 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
2133 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(4503599627370496));
2134 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
2135 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2136 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2137 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2138 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9227875636482146304)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2139 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2140 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2141 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2142 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2143 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
2144 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
2145 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(4602678819172646912));
2146 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(4602678819172646912));
2147 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775809));
2148 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(1));
2149 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(4602678819172646912));
2150 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4602678819172646912));
2151 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146304));
2152 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
2153 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(4602678819172646912));
2154 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4602678819172646912));
2155 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
2156 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
2157 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4602678819172646912));
2158 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
2159 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13826050856027422720));
2160 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
2161 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4602678819172646912));
2162 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
2163 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13826050856027422720));
2164 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
2165 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4602678819172646912));
2166 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
2167 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(13826050856027422720));
2168 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
2169 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(4602678819172646912));
2170 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
2171 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(13826050856027422720));
2172 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
2173 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(4602678819172646912));
2174 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
2175 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2176 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2177 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2178 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13826050856027422720)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2179 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2180 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2181 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2182 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4602678819172646912)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2183 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
2184 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
2185 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(4607182418800017408));
2186 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(4607182418800017408));
2187 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775809));
2188 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(1));
2189 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(4607182418800017408));
2190 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4607182418800017408));
2191 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146304));
2192 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
2193 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(4607182418800017408));
2194 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4607182418800017408));
2195 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
2196 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
2197 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4607182418800017408));
2198 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4607182418800017408));
2199 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
2200 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
2201 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4607182418800017408));
2202 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
2203 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13830554455654793216));
2204 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
2205 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4607182418800017408));
2206 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
2207 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(13830554455654793216));
2208 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
2209 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(4607182418800017408));
2210 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
2211 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(13830554455654793216));
2212 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
2213 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(4607182418800017408));
2214 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
2215 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2216 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2217 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2218 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13830554455654793216)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2219 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2220 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2221 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2222 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2223 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
2224 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
2225 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(4618760256179416344));
2226 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(4618760256179416344));
2227 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775809));
2228 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(1));
2229 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(4618760256179416344));
2230 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4618760256179416344));
2231 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146304));
2232 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
2233 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(4618760256179416344));
2234 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4618760256179416344));
2235 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
2236 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
2237 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(4618760256179416344));
2238 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4618760256179416344));
2239 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
2240 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
2241 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(4618760256179416344));
2242 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4618760256179416344));
2243 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
2244 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
2245 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(4618760256179416344));
2246 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
2247 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(13842132293034192152));
2248 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
2249 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(4618760256179416344));
2250 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
2251 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(13842132293034192152));
2252 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
2253 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(4618760256179416344));
2254 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
2255 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2256 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2257 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2258 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(13842132293034192152)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2259 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2260 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2261 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2262 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(4618760256179416344)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2263 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
2264 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
2265 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9218868437227405311));
2266 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9218868437227405311));
2267 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775809));
2268 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(1));
2269 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9218868437227405311));
2270 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9218868437227405311));
2271 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146304));
2272 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
2273 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9218868437227405311));
2274 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9218868437227405311));
2275 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
2276 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
2277 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9218868437227405311));
2278 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9218868437227405311));
2279 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
2280 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
2281 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9218868437227405311));
2282 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9218868437227405311));
2283 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
2284 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
2285 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9218868437227405311));
2286 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9218868437227405311));
2287 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
2288 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
2289 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405311));
2290 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
2291 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181119));
2292 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
2293 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405311));
2294 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
2295 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2296 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2297 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2298 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181119)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2299 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2300 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2301 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2302 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2303 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
2304 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
2305 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9218868437227405312));
2306 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(9218868437227405312));
2307 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775809));
2308 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(1));
2309 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9218868437227405312));
2310 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(9218868437227405312));
2311 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9227875636482146304));
2312 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4503599627370496));
2313 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9218868437227405312));
2314 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(9218868437227405312));
2315 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13826050856027422720));
2316 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4602678819172646912));
2317 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9218868437227405312));
2318 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(9218868437227405312));
2319 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
2320 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
2321 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(9218868437227405312));
2322 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(9218868437227405312));
2323 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842132293034192152));
2324 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618760256179416344));
2325 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(9218868437227405312));
2326 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(9218868437227405312));
2327 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
2328 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
2329 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(9218868437227405312));
2330 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405312));
2331 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
2332 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
2333 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(9218868437227405312));
2334 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
2335 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2336 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2337 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2338 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18442240474082181120)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2339 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2340 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2341 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2342 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9218868437227405312)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2343 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9223372036854775808)))));
2344 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9223372036854775808)))));
2345 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(0)))));
2346 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(0)))));
2347 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9223372036854775808)))));
2348 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9223372036854775808)))));
2349 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(0)))));
2350 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(0)))));
2351 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9223372036854775809)))));
2352 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9223372036854775809)))));
2353 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(1)))));
2354 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(1)))));
2355 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9223372036854775809)))));
2356 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9223372036854775809)))));
2357 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(1)))));
2358 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(1)))));
2359 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9227875636482146304)))));
2360 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9227875636482146304)))));
2361 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4503599627370496)))));
2362 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4503599627370496)))));
2363 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9227875636482146304)))));
2364 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9227875636482146304)))));
2365 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4503599627370496)))));
2366 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4503599627370496)))));
2367 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(13826050856027422720)))));
2368 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(13826050856027422720)))));
2369 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4602678819172646912)))));
2370 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4602678819172646912)))));
2371 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(13826050856027422720)))));
2372 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(13826050856027422720)))));
2373 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4602678819172646912)))));
2374 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4602678819172646912)))));
2375 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(13830554455654793216)))));
2376 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(13830554455654793216)))));
2377 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4607182418800017408)))));
2378 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4607182418800017408)))));
2379 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(13830554455654793216)))));
2380 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(13830554455654793216)))));
2381 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4607182418800017408)))));
2382 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4607182418800017408)))));
2383 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(13842132293034192152)))));
2384 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(13842132293034192152)))));
2385 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(4618760256179416344)))));
2386 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(4618760256179416344)))));
2387 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(13842132293034192152)))));
2388 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(13842132293034192152)))));
2389 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(4618760256179416344)))));
2390 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(4618760256179416344)))));
2391 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18442240474082181119)))));
2392 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18442240474082181119)))));
2393 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9218868437227405311)))));
2394 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9218868437227405311)))));
2395 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18442240474082181119)))));
2396 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18442240474082181119)))));
2397 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9218868437227405311)))));
2398 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9218868437227405311)))));
2399 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18442240474082181120)))));
2400 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18442240474082181120)))));
2401 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9218868437227405312)))));
2402 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9218868437227405312)))));
2403 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18442240474082181120)))));
2404 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18442240474082181120)))));
2405 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9218868437227405312)))));
2406 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9218868437227405312)))));
2407 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2408 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2409 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2410 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2411 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2412 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2413 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18444492273895866368)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2414 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(18443366373989023744)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2415 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2416 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18444492273895866368)))));
2417 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2418 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(18443366373989023744)))));
2419 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2420 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9221120237041090560)))));
2421 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9221120237041090560)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2422 CHECK(check_nan(bkend.call_with_return("env", "max", bit_cast<double>(UINT64_C(9219994337134247936)), bit_cast<double>(UINT64_C(9219994337134247936)))));
2423 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sqrt", bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
2424 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sqrt", bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
2425 CHECK(check_nan(bkend.call_with_return("env", "sqrt", bit_cast<double>(UINT64_C(9223372036854775809)))));
2426 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sqrt", bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(2188749418902061056));
2427 CHECK(check_nan(bkend.call_with_return("env", "sqrt", bit_cast<double>(UINT64_C(9227875636482146304)))));
2428 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sqrt", bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(2305843009213693952));
2429 CHECK(check_nan(bkend.call_with_return("env", "sqrt", bit_cast<double>(UINT64_C(13826050856027422720)))));
2430 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sqrt", bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4604544271217802189));
2431 CHECK(check_nan(bkend.call_with_return("env", "sqrt", bit_cast<double>(UINT64_C(13830554455654793216)))));
2432 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sqrt", bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
2433 CHECK(check_nan(bkend.call_with_return("env", "sqrt", bit_cast<double>(UINT64_C(13842132293034192152)))));
2434 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sqrt", bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4612826843881809669));
2435 CHECK(check_nan(bkend.call_with_return("env", "sqrt", bit_cast<double>(UINT64_C(18442240474082181119)))));
2436 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sqrt", bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(6913025428013711359));
2437 CHECK(check_nan(bkend.call_with_return("env", "sqrt", bit_cast<double>(UINT64_C(18442240474082181120)))));
2438 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "sqrt", bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
2439 CHECK(check_nan(bkend.call_with_return("env", "sqrt", bit_cast<double>(UINT64_C(18444492273895866368)))));
2440 CHECK(check_nan(bkend.call_with_return("env", "sqrt", bit_cast<double>(UINT64_C(18443366373989023744)))));
2441 CHECK(check_nan(bkend.call_with_return("env", "sqrt", bit_cast<double>(UINT64_C(9221120237041090560)))));
2442 CHECK(check_nan(bkend.call_with_return("env", "sqrt", bit_cast<double>(UINT64_C(9219994337134247936)))));
2443 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "floor", bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
2444 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "floor", bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
2445 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "floor", bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(13830554455654793216));
2446 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "floor", bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(0));
2447 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "floor", bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(13830554455654793216));
2448 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "floor", bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(0));
2449 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "floor", bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(13830554455654793216));
2450 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "floor", bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(0));
2451 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "floor", bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
2452 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "floor", bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
2453 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "floor", bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13842939354630062080));
2454 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "floor", bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618441417868443648));
2455 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "floor", bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
2456 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "floor", bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
2457 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "floor", bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
2458 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "floor", bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
2459 CHECK(check_nan(bkend.call_with_return("env", "floor", bit_cast<double>(UINT64_C(18444492273895866368)))));
2460 CHECK(check_nan(bkend.call_with_return("env", "floor", bit_cast<double>(UINT64_C(18443366373989023744)))));
2461 CHECK(check_nan(bkend.call_with_return("env", "floor", bit_cast<double>(UINT64_C(9221120237041090560)))));
2462 CHECK(check_nan(bkend.call_with_return("env", "floor", bit_cast<double>(UINT64_C(9219994337134247936)))));
2463 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "ceil", bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
2464 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "ceil", bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
2465 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "ceil", bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775808));
2466 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "ceil", bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(4607182418800017408));
2467 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "ceil", bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9223372036854775808));
2468 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "ceil", bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4607182418800017408));
2469 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "ceil", bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9223372036854775808));
2470 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "ceil", bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4607182418800017408));
2471 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "ceil", bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
2472 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "ceil", bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
2473 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "ceil", bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13841813454723219456));
2474 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "ceil", bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4619567317775286272));
2475 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "ceil", bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
2476 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "ceil", bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
2477 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "ceil", bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
2478 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "ceil", bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
2479 CHECK(check_nan(bkend.call_with_return("env", "ceil", bit_cast<double>(UINT64_C(18444492273895866368)))));
2480 CHECK(check_nan(bkend.call_with_return("env", "ceil", bit_cast<double>(UINT64_C(18443366373989023744)))));
2481 CHECK(check_nan(bkend.call_with_return("env", "ceil", bit_cast<double>(UINT64_C(9221120237041090560)))));
2482 CHECK(check_nan(bkend.call_with_return("env", "ceil", bit_cast<double>(UINT64_C(9219994337134247936)))));
2483 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "trunc", bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
2484 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "trunc", bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
2485 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "trunc", bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775808));
2486 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "trunc", bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(0));
2487 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "trunc", bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9223372036854775808));
2488 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "trunc", bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(0));
2489 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "trunc", bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9223372036854775808));
2490 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "trunc", bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(0));
2491 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "trunc", bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
2492 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "trunc", bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
2493 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "trunc", bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13841813454723219456));
2494 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "trunc", bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618441417868443648));
2495 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "trunc", bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
2496 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "trunc", bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
2497 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "trunc", bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
2498 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "trunc", bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
2499 CHECK(check_nan(bkend.call_with_return("env", "trunc", bit_cast<double>(UINT64_C(18444492273895866368)))));
2500 CHECK(check_nan(bkend.call_with_return("env", "trunc", bit_cast<double>(UINT64_C(18443366373989023744)))));
2501 CHECK(check_nan(bkend.call_with_return("env", "trunc", bit_cast<double>(UINT64_C(9221120237041090560)))));
2502 CHECK(check_nan(bkend.call_with_return("env", "trunc", bit_cast<double>(UINT64_C(9219994337134247936)))));
2503 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "nearest", bit_cast<double>(UINT64_C(9223372036854775808)))->to_f64()) == UINT64_C(9223372036854775808));
2504 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "nearest", bit_cast<double>(UINT64_C(0)))->to_f64()) == UINT64_C(0));
2505 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "nearest", bit_cast<double>(UINT64_C(9223372036854775809)))->to_f64()) == UINT64_C(9223372036854775808));
2506 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "nearest", bit_cast<double>(UINT64_C(1)))->to_f64()) == UINT64_C(0));
2507 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "nearest", bit_cast<double>(UINT64_C(9227875636482146304)))->to_f64()) == UINT64_C(9223372036854775808));
2508 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "nearest", bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(0));
2509 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "nearest", bit_cast<double>(UINT64_C(13826050856027422720)))->to_f64()) == UINT64_C(9223372036854775808));
2510 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "nearest", bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(0));
2511 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "nearest", bit_cast<double>(UINT64_C(13830554455654793216)))->to_f64()) == UINT64_C(13830554455654793216));
2512 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "nearest", bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4607182418800017408));
2513 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "nearest", bit_cast<double>(UINT64_C(13842132293034192152)))->to_f64()) == UINT64_C(13841813454723219456));
2514 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "nearest", bit_cast<double>(UINT64_C(4618760256179416344)))->to_f64()) == UINT64_C(4618441417868443648));
2515 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "nearest", bit_cast<double>(UINT64_C(18442240474082181119)))->to_f64()) == UINT64_C(18442240474082181119));
2516 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "nearest", bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(9218868437227405311));
2517 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "nearest", bit_cast<double>(UINT64_C(18442240474082181120)))->to_f64()) == UINT64_C(18442240474082181120));
2518 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "nearest", bit_cast<double>(UINT64_C(9218868437227405312)))->to_f64()) == UINT64_C(9218868437227405312));
2519 CHECK(check_nan(bkend.call_with_return("env", "nearest", bit_cast<double>(UINT64_C(18444492273895866368)))));
2520 CHECK(check_nan(bkend.call_with_return("env", "nearest", bit_cast<double>(UINT64_C(18443366373989023744)))));
2521 CHECK(check_nan(bkend.call_with_return("env", "nearest", bit_cast<double>(UINT64_C(9221120237041090560)))));
2522 CHECK(check_nan(bkend.call_with_return("env", "nearest", bit_cast<double>(UINT64_C(9219994337134247936)))));
2523}
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
bool check_nan(const std::optional< sysio::vm::operand_stack_elem > &v)
Definition utils.hpp:43
T bit_cast(const U &u)
Definition utils.hpp:35
Here is the call graph for this function:

◆ BACKEND_TEST_CASE() [2/12]

BACKEND_TEST_CASE ( "Testing wasm <f64_10_wasm>" ,
"" [f64_10_wasm_tests] )

Definition at line 2531 of file f64_tests.cpp.

2531 {
2533 auto code = read_wasm( std::string(wasm_directory) + "f64.10.wasm");
2534 CHECK_THROWS_AS(backend_t(code, nullptr), std::exception);
2535}
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/12]

BACKEND_TEST_CASE ( "Testing wasm <f64_11_wasm>" ,
"" [f64_11_wasm_tests] )

Definition at line 2537 of file f64_tests.cpp.

2537 {
2539 auto code = read_wasm( std::string(wasm_directory) + "f64.11.wasm");
2540 CHECK_THROWS_AS(backend_t(code, nullptr), std::exception);
2541}
Here is the call graph for this function:

◆ BACKEND_TEST_CASE() [4/12]

BACKEND_TEST_CASE ( "Testing wasm <f64_1_wasm>" ,
"" [f64_1_wasm_tests] )

Definition at line 2525 of file f64_tests.cpp.

2525 {
2527 auto code = read_wasm( std::string(wasm_directory) + "f64.1.wasm");
2528 CHECK_THROWS_AS(backend_t(code, nullptr), std::exception);
2529}
Here is the call graph for this function:

◆ BACKEND_TEST_CASE() [5/12]

BACKEND_TEST_CASE ( "Testing wasm <f64_2_wasm>" ,
"" [f64_2_wasm_tests] )

Definition at line 2543 of file f64_tests.cpp.

2543 {
2545 auto code = read_wasm( std::string(wasm_directory) + "f64.2.wasm");
2546 CHECK_THROWS_AS(backend_t(code, nullptr), std::exception);
2547}
Here is the call graph for this function:

◆ BACKEND_TEST_CASE() [6/12]

BACKEND_TEST_CASE ( "Testing wasm <f64_3_wasm>" ,
"" [f64_3_wasm_tests] )

Definition at line 2549 of file f64_tests.cpp.

2549 {
2551 auto code = read_wasm( std::string(wasm_directory) + "f64.3.wasm");
2552 CHECK_THROWS_AS(backend_t(code, nullptr), std::exception);
2553}
Here is the call graph for this function:

◆ BACKEND_TEST_CASE() [7/12]

BACKEND_TEST_CASE ( "Testing wasm <f64_4_wasm>" ,
"" [f64_4_wasm_tests] )

Definition at line 2555 of file f64_tests.cpp.

2555 {
2557 auto code = read_wasm( std::string(wasm_directory) + "f64.4.wasm");
2558 CHECK_THROWS_AS(backend_t(code, nullptr), std::exception);
2559}
Here is the call graph for this function:

◆ BACKEND_TEST_CASE() [8/12]

BACKEND_TEST_CASE ( "Testing wasm <f64_5_wasm>" ,
"" [f64_5_wasm_tests] )

Definition at line 2561 of file f64_tests.cpp.

2561 {
2563 auto code = read_wasm( std::string(wasm_directory) + "f64.5.wasm");
2564 CHECK_THROWS_AS(backend_t(code, nullptr), std::exception);
2565}
Here is the call graph for this function:

◆ BACKEND_TEST_CASE() [9/12]

BACKEND_TEST_CASE ( "Testing wasm <f64_6_wasm>" ,
"" [f64_6_wasm_tests] )

Definition at line 2567 of file f64_tests.cpp.

2567 {
2569 auto code = read_wasm( std::string(wasm_directory) + "f64.6.wasm");
2570 CHECK_THROWS_AS(backend_t(code, nullptr), std::exception);
2571}
Here is the call graph for this function:

◆ BACKEND_TEST_CASE() [10/12]

BACKEND_TEST_CASE ( "Testing wasm <f64_7_wasm>" ,
"" [f64_7_wasm_tests] )

Definition at line 2573 of file f64_tests.cpp.

2573 {
2575 auto code = read_wasm( std::string(wasm_directory) + "f64.7.wasm");
2576 CHECK_THROWS_AS(backend_t(code, nullptr), std::exception);
2577}
Here is the call graph for this function:

◆ BACKEND_TEST_CASE() [11/12]

BACKEND_TEST_CASE ( "Testing wasm <f64_8_wasm>" ,
"" [f64_8_wasm_tests] )

Definition at line 2579 of file f64_tests.cpp.

2579 {
2581 auto code = read_wasm( std::string(wasm_directory) + "f64.8.wasm");
2582 CHECK_THROWS_AS(backend_t(code, nullptr), std::exception);
2583}
Here is the call graph for this function:

◆ BACKEND_TEST_CASE() [12/12]

BACKEND_TEST_CASE ( "Testing wasm <f64_9_wasm>" ,
"" [f64_9_wasm_tests] )

Definition at line 2585 of file f64_tests.cpp.

2585 {
2587 auto code = read_wasm( std::string(wasm_directory) + "f64.9.wasm");
2588 CHECK_THROWS_AS(backend_t(code, nullptr), std::exception);
2589}
Here is the call graph for this function:

Variable Documentation

◆ wa

wasm_allocator wa
extern

Definition at line 10 of file main.cpp.