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

Go to the source code of this file.

Functions

 BACKEND_TEST_CASE ("Testing wasm <float_misc_0_wasm>", "[float_misc_0_wasm_tests]")
 

Variables

wasm_allocator wa
 

Function Documentation

◆ BACKEND_TEST_CASE()

BACKEND_TEST_CASE ( "Testing wasm <float_misc_0_wasm>" ,
"" [float_misc_0_wasm_tests] )

Definition at line 18 of file float_misc_tests.cpp.

18 {
20 auto code = read_wasm( std::string(wasm_directory) + "float_misc.0.wasm");
21 backend_t bkend( code, &wa );
22
23 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(1066388847)), bit_cast<float>(UINT32_C(789036054)))->to_f32()) == UINT32_C(1066388847));
24 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(4607738418748954166)), bit_cast<double>(UINT64_C(4458835772027226175)))->to_f64()) == UINT64_C(4607738418749510135));
25 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(864026624)))->to_f32()) == UINT32_C(1065353216));
26 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(864026625)))->to_f32()) == UINT32_C(1065353217));
27 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4368491638549381120)))->to_f64()) == UINT64_C(4607182418800017408));
28 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4368491638549381121)))->to_f64()) == UINT64_C(4607182418800017409));
29 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(8388607)))->to_f32()) == UINT32_C(8388608));
30 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(1)), bit_cast<double>(UINT64_C(4503599627370495)))->to_f64()) == UINT64_C(4503599627370496));
31 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(1325400064)), bit_cast<float>(UINT32_C(1149241344)))->to_f32()) == UINT32_C(1325400068));
32 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(4890909195324358656)), bit_cast<double>(UINT64_C(4652219514585350144)))->to_f64()) == UINT64_C(4890909195324358657));
33 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(9290926031265333248)), bit_cast<double>(UINT64_C(5910)))->to_f64()) == UINT64_C(9290926031265333247));
34 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(4845873199050653696)), bit_cast<double>(UINT64_C(4607182463836013682)))->to_f64()) == UINT64_C(4845873199050653697));
35 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(4845873199050653697)), bit_cast<double>(UINT64_C(4607182281361063936)))->to_f64()) == UINT64_C(4845873199050653697));
36 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(1258291200)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1258291200));
37 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(1258291201)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1258291202));
38 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(4841369599423283200)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4841369599423283200));
39 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(4841369599423283201)), bit_cast<double>(UINT64_C(4602678819172646912)))->to_f64()) == UINT64_C(4841369599423283202));
40 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(4070355885)), bit_cast<float>(UINT32_C(238773414)))->to_f32()) == UINT32_C(4070355885));
41 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(1630930834)), bit_cast<float>(UINT32_C(3650472296)))->to_f32()) == UINT32_C(1630930534));
42 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(376639884)), bit_cast<float>(UINT32_C(24880479)))->to_f32()) == UINT32_C(376639884));
43 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(1393899754)), bit_cast<float>(UINT32_C(3680827526)))->to_f32()) == UINT32_C(3680827377));
44 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(947682203)), bit_cast<float>(UINT32_C(1958603311)))->to_f32()) == UINT32_C(1958603311));
45 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(2751474943031650218)), bit_cast<double>(UINT64_C(14953834855654151696)))->to_f64()) == UINT64_C(14953834855654151696));
46 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(14174076479053295281)), bit_cast<double>(UINT64_C(3779173703388472492)))->to_f64()) == UINT64_C(14174076479053295281));
47 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(3940735352412940081)), bit_cast<double>(UINT64_C(13776826739676942972)))->to_f64()) == UINT64_C(13776826739676942972));
48 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(6845567588107709194)), bit_cast<double>(UINT64_C(4904758653169279867)))->to_f64()) == UINT64_C(6845567588107709194));
49 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(6057047893039655554)), bit_cast<double>(UINT64_C(6381964069811498464)))->to_f64()) == UINT64_C(6381964069811498464));
50 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(1670249659)), bit_cast<float>(UINT32_C(3384781876)))->to_f32()) == UINT32_C(1670249659));
51 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(692047414)), bit_cast<float>(UINT32_C(2564611463)))->to_f32()) == UINT32_C(692047414));
52 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(2862180574)), bit_cast<float>(UINT32_C(2122049802)))->to_f32()) == UINT32_C(2122049802));
53 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(2848402951)), bit_cast<float>(UINT32_C(2325576998)))->to_f32()) == UINT32_C(2848402951));
54 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(982116028)), bit_cast<float>(UINT32_C(2317187467)))->to_f32()) == UINT32_C(982116028));
55 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(5417704807092288842)), bit_cast<double>(UINT64_C(11458115339210975423)))->to_f64()) == UINT64_C(5417704807092288842));
56 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(5306888566943064716)), bit_cast<double>(UINT64_C(13560253914302152139)))->to_f64()) == UINT64_C(5306888566943064716));
57 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(2791030278657170439)), bit_cast<double>(UINT64_C(9423751710011603955)))->to_f64()) == UINT64_C(2791030278657170439));
58 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(14493512931660601393)), bit_cast<double>(UINT64_C(14459238760182946131)))->to_f64()) == UINT64_C(14493541008051035082));
59 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(13847269089137787654)), bit_cast<double>(UINT64_C(5913400236268010570)))->to_f64()) == UINT64_C(5913400236268010570));
60 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(2231979500)), bit_cast<float>(UINT32_C(711174153)))->to_f32()) == UINT32_C(711174153));
61 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(3084976721)), bit_cast<float>(UINT32_C(843077785)))->to_f32()) == UINT32_C(3084970566));
62 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(3522127374)), bit_cast<float>(UINT32_C(157500525)))->to_f32()) == UINT32_C(3522127374));
63 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(78702389)), bit_cast<float>(UINT32_C(3468399689)))->to_f32()) == UINT32_C(3468399689));
64 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(2208228371)), bit_cast<float>(UINT32_C(1870536627)))->to_f32()) == UINT32_C(1870536627));
65 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(1111252809067936271)), bit_cast<double>(UINT64_C(18353849863141451174)))->to_f64()) == UINT64_C(18353849863141451174));
66 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(16156503866526998353)), bit_cast<double>(UINT64_C(16051628718393451642)))->to_f64()) == UINT64_C(16156503867159194550));
67 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(9478779231447112314)), bit_cast<double>(UINT64_C(3336259491488022866)))->to_f64()) == UINT64_C(3336259491488022866));
68 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(11541137186853127278)), bit_cast<double>(UINT64_C(735421354967021004)))->to_f64()) == UINT64_C(11541137186853127278));
69 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(18181384676953296798)), bit_cast<double>(UINT64_C(8211214354507491487)))->to_f64()) == UINT64_C(18181384676953296798));
70 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(17455847474217352892)), bit_cast<double>(UINT64_C(8328504330151758329)))->to_f64()) == UINT64_C(8328504328029232689));
71 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(8138029755241725240)), bit_cast<double>(UINT64_C(7967841770626914860)))->to_f64()) == UINT64_C(8138029755241745167));
72 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(16644741111433920314)), bit_cast<double>(UINT64_C(7647005019700459394)))->to_f64()) == UINT64_C(7647005019700459387));
73 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(6696851869641768443)), bit_cast<double>(UINT64_C(6935821972358342665)))->to_f64()) == UINT64_C(6935821972358342665));
74 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(127567346952002978)), bit_cast<double>(UINT64_C(273820416703444795)))->to_f64()) == UINT64_C(273820416704834831));
75 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(17221080860858566255)), bit_cast<double>(UINT64_C(18119355194379769652)))->to_f64()) == UINT64_C(18119355194379769652));
76 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(5479469458864399218)), bit_cast<double>(UINT64_C(15063363222154738502)))->to_f64()) == UINT64_C(15063363222154738502));
77 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(15191393426281101490)), bit_cast<double>(UINT64_C(2705322087145917275)))->to_f64()) == UINT64_C(15191393426281101490));
78 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(12404517211283155052)), bit_cast<double>(UINT64_C(15933096090325362723)))->to_f64()) == UINT64_C(15933096090325362723));
79 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(12941874353187635000)), bit_cast<double>(UINT64_C(149235811938438489)))->to_f64()) == UINT64_C(12941874353187635000));
80 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(2039859408)), bit_cast<float>(UINT32_C(2137384617)))->to_f32()) == UINT32_C(2137389410));
81 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(2135652809)), bit_cast<float>(UINT32_C(4113932278)))->to_f32()) == UINT32_C(2135652798));
82 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(2055837582)), bit_cast<float>(UINT32_C(4281461529)))->to_f32()) == UINT32_C(4281443917));
83 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(4220448050)), bit_cast<float>(UINT32_C(4286022000)))->to_f32()) == UINT32_C(4286095178));
84 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(4280642669)), bit_cast<float>(UINT32_C(4269109313)))->to_f32()) == UINT32_C(4284663933));
85 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(9214390167692528523)), bit_cast<double>(UINT64_C(9025765862177526868)))->to_f64()) == UINT64_C(9214390167692529673));
86 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(9218174330906182895)), bit_cast<double>(UINT64_C(9066655639269665468)))->to_f64()) == UINT64_C(9218174330906813073));
87 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(18440065048487386960)), bit_cast<double>(UINT64_C(9166530475417861020)))->to_f64()) == UINT64_C(18440062016830479601));
88 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(18341378616977760125)), bit_cast<double>(UINT64_C(9218376305633483958)))->to_f64()) == UINT64_C(9218376303911020838));
89 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(9214484525044672441)), bit_cast<double>(UINT64_C(18297568705700624757)))->to_f64()) == UINT64_C(9214484525042704878));
90 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(5932680)), bit_cast<float>(UINT32_C(623)))->to_f32()) == UINT32_C(5933303));
91 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(37)), bit_cast<float>(UINT32_C(2147483650)))->to_f32()) == UINT32_C(35));
92 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(2147483656)), bit_cast<float>(UINT32_C(3701056)))->to_f32()) == UINT32_C(3701048));
93 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(2147483668)), bit_cast<float>(UINT32_C(44113961)))->to_f32()) == UINT32_C(44113960));
94 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(453)), bit_cast<float>(UINT32_C(2147507390)))->to_f32()) == UINT32_C(2147506937));
95 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(5760669582171681)), bit_cast<double>(UINT64_C(9233067416817195210)))->to_f64()) == UINT64_C(9227994927942701939));
96 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(9301019945277718)), bit_cast<double>(UINT64_C(9236877899492518055)))->to_f64()) == UINT64_C(9231781722239704866));
97 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(9225260466475370890)), bit_cast<double>(UINT64_C(9229416573822848190)))->to_f64()) == UINT64_C(9231305003443443272));
98 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(16303139584665809)), bit_cast<double>(UINT64_C(9240639734747285230)))->to_f64()) == UINT64_C(9227230270086150260));
99 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(9232116546764732939)), bit_cast<double>(UINT64_C(5103597037406761)))->to_f64()) == UINT64_C(9227012949727326178));
100 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(2139095038)), bit_cast<float>(UINT32_C(1937768448)))->to_f32()) == UINT32_C(2139095039));
101 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(9218868437227405310)), bit_cast<double>(UINT64_C(8980177656976769024)))->to_f64()) == UINT64_C(9218868437227405311));
102 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(1073741824)), bit_cast<float>(UINT32_C(1073741824)))->to_f32()) == UINT32_C(1082130432));
103 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(4611686018427387904)), bit_cast<double>(UINT64_C(4611686018427387904)))->to_f64()) == UINT64_C(4616189618054758400));
104 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1929379839)))->to_f32()) == UINT32_C(2139095039));
105 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.add", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1929379840)))->to_f32()) == UINT32_C(2139095040));
106 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(8975674057349398527)))->to_f64()) == UINT64_C(9218868437227405311));
107 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.add", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(8975674057349398528)))->to_f64()) == UINT64_C(9218868437227405312));
108 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(1199570944)), bit_cast<float>(UINT32_C(754974720)))->to_f32()) == UINT32_C(1199570944));
109 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(4679240012837945344)), bit_cast<double>(UINT64_C(4440549232587309056)))->to_f64()) == UINT64_C(4679240012837945343));
110 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(855638016)))->to_f32()) == UINT32_C(1065353216));
111 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(855638017)))->to_f32()) == UINT32_C(1065353215));
112 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4363988038922010624)))->to_f64()) == UINT64_C(4607182418800017408));
113 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4363988038922010625)))->to_f64()) == UINT64_C(4607182418800017407));
114 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(183964211)), bit_cast<float>(UINT32_C(4211807167)))->to_f32()) == UINT32_C(2064323519));
115 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(4213323727)), bit_cast<float>(UINT32_C(3575761746)))->to_f32()) == UINT32_C(4213323727));
116 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(1069169566)), bit_cast<float>(UINT32_C(2530290313)))->to_f32()) == UINT32_C(1069169566));
117 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(88711906)), bit_cast<float>(UINT32_C(431212897)))->to_f32()) == UINT32_C(2578696545));
118 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(919562194)), bit_cast<float>(UINT32_C(2319656354)))->to_f32()) == UINT32_C(919562194));
119 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(12332465020357998661)), bit_cast<double>(UINT64_C(9766989582560416510)))->to_f64()) == UINT64_C(12332465020357998661));
120 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(16318450733361321773)), bit_cast<double>(UINT64_C(13120762196173477233)))->to_f64()) == UINT64_C(16318450733361321773));
121 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(2534186520144737456)), bit_cast<double>(UINT64_C(10065159679028096147)))->to_f64()) == UINT64_C(2534186520144737456));
122 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(81253721542311597)), bit_cast<double>(UINT64_C(14524181566355681001)))->to_f64()) == UINT64_C(5300809529500905193));
123 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(13189545483472981053)), bit_cast<double>(UINT64_C(11407195172005604952)))->to_f64()) == UINT64_C(13189545483472981053));
124 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(4122014001)), bit_cast<float>(UINT32_C(4158487026)))->to_f32()) == UINT32_C(2010278623));
125 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(4130431355)), bit_cast<float>(UINT32_C(1119299749)))->to_f32()) == UINT32_C(4130431355));
126 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(2517909066)), bit_cast<float>(UINT32_C(864524238)))->to_f32()) == UINT32_C(3012007886));
127 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(2573484334)), bit_cast<float>(UINT32_C(3114628459)))->to_f32()) == UINT32_C(967144811));
128 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(4044667730)), bit_cast<float>(UINT32_C(576942556)))->to_f32()) == UINT32_C(4044667730));
129 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(14742371419310964805)), bit_cast<double>(UINT64_C(17888404506408184249)))->to_f64()) == UINT64_C(8665032469553408441));
130 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(2953146626865245854)), bit_cast<double>(UINT64_C(2577681730975527916)))->to_f64()) == UINT64_C(2953146626865245854));
131 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(12932364735331397407)), bit_cast<double>(UINT64_C(2320782934320318207)))->to_f64()) == UINT64_C(12932364735331397407));
132 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(9365060414983047910)), bit_cast<double>(UINT64_C(12353777816259046974)))->to_f64()) == UINT64_C(3130405779404271166));
133 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(14336992446210099104)), bit_cast<double>(UINT64_C(5379485476305549444)))->to_f64()) == UINT64_C(14602857513160325252));
134 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(1869943590)), bit_cast<float>(UINT32_C(943887556)))->to_f32()) == UINT32_C(1869943590));
135 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(3372906046)), bit_cast<float>(UINT32_C(2919590399)))->to_f32()) == UINT32_C(3372906046));
136 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(2912495853)), bit_cast<float>(UINT32_C(2745492671)))->to_f32()) == UINT32_C(2912495843));
137 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(3096029999)), bit_cast<float>(UINT32_C(957859028)))->to_f32()) == UINT32_C(3109853804));
138 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(2939165019)), bit_cast<float>(UINT32_C(2346559691)))->to_f32()) == UINT32_C(2939165019));
139 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(13126685627069188368)), bit_cast<double>(UINT64_C(17084005755352353256)))->to_f64()) == UINT64_C(7860633718497577448));
140 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(17250804263238954355)), bit_cast<double>(UINT64_C(17897322818375888829)))->to_f64()) == UINT64_C(8673950781521113021));
141 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(1024624387795162319)), bit_cast<double>(UINT64_C(5422801516870904507)))->to_f64()) == UINT64_C(14646173553725680315));
142 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(11250563508203208480)), bit_cast<double>(UINT64_C(2160870138446053709)))->to_f64()) == UINT64_C(11384242175310282886));
143 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(11315355526970152728)), bit_cast<double>(UINT64_C(13767999508795332779)))->to_f64()) == UINT64_C(4544627471940556971));
144 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(4259315722107263852)), bit_cast<double>(UINT64_C(4089445689175118070)))->to_f64()) == UINT64_C(4259315722107229795));
145 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(188121565440651108)), bit_cast<double>(UINT64_C(62416789530785743)))->to_f64()) == UINT64_C(188121565409457039));
146 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(3467770562990504390)), bit_cast<double>(UINT64_C(3710644584044210353)))->to_f64()) == UINT64_C(12934016620898986161));
147 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(13655868372788825570)), bit_cast<double>(UINT64_C(13522732182992332383)))->to_f64()) == UINT64_C(13655868372781906121));
148 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(4496158230847685281)), bit_cast<double>(UINT64_C(4595312328816348364)))->to_f64()) == UINT64_C(13818684364224065885));
149 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(10165048318361601487)), bit_cast<double>(UINT64_C(10384658282813060399)))->to_f64()) == UINT64_C(1161286245958284573));
150 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(13982858477006823824)), bit_cast<double>(UINT64_C(6264462250080870922)))->to_f64()) == UINT64_C(15487834286935646730));
151 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(5124509539958121241)), bit_cast<double>(UINT64_C(1953255029772502995)))->to_f64()) == UINT64_C(5124509539958121241));
152 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(2408125051325635052)), bit_cast<double>(UINT64_C(10707017964771367822)))->to_f64()) == UINT64_C(2408125051325635052));
153 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(4352135458168599028)), bit_cast<double>(UINT64_C(1826599214642193119)))->to_f64()) == UINT64_C(4352135458168599028));
154 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(1102651427)), bit_cast<float>(UINT32_C(1078530011)))->to_f32()) == UINT32_C(1101004328));
155 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(4627206743602008890)), bit_cast<double>(UINT64_C(4614256656552045848)))->to_f64()) == UINT64_C(4626322463883005335));
156 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(1245125372)), bit_cast<float>(UINT32_C(1245125368)))->to_f32()) == UINT32_C(1065353216));
157 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(1240736760)), bit_cast<float>(UINT32_C(1240736728)))->to_f32()) == UINT32_C(1082130432));
158 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(1240736760)), bit_cast<float>(UINT32_C(1240736712)))->to_f32()) == UINT32_C(1086324736));
159 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(1220759616)), bit_cast<float>(UINT32_C(1220759584)))->to_f32()) == UINT32_C(1065353216));
160 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(1220759616)), bit_cast<float>(UINT32_C(1220759552)))->to_f32()) == UINT32_C(1073741824));
161 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(4838362400168542206)), bit_cast<double>(UINT64_C(4838362400168542204)))->to_f64()) == UINT64_C(4607182418800017408));
162 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(4835858800541171708)), bit_cast<double>(UINT64_C(4835858800541171692)))->to_f64()) == UINT64_C(4616189618054758400));
163 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(4835858800541171708)), bit_cast<double>(UINT64_C(4835858800541171684)))->to_f64()) == UINT64_C(4618441417868443648));
164 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(4825251601286430752)), bit_cast<double>(UINT64_C(4825251601286430736)))->to_f64()) == UINT64_C(4607182418800017408));
165 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(4825251601286430752)), bit_cast<double>(UINT64_C(4825251601286430720)))->to_f64()) == UINT64_C(4611686018427387904));
166 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(8388607)))->to_f32()) == UINT32_C(1));
167 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4503599627370495)))->to_f64()) == UINT64_C(1));
168 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(1065353217)), bit_cast<float>(UINT32_C(1065353215)))->to_f32()) == UINT32_C(876609536));
169 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(1065353217)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(872415232));
170 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1065353215)))->to_f32()) == UINT32_C(864026624));
171 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(4607182418800017409)), bit_cast<double>(UINT64_C(4607182418800017407)))->to_f64()) == UINT64_C(4375247037990436864));
172 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(4607182418800017409)), bit_cast<double>(UINT64_C(4607182418800017408)))->to_f64()) == UINT64_C(4372995238176751616));
173 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4607182418800017407)))->to_f64()) == UINT64_C(4368491638549381120));
174 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1929379839)))->to_f32()) == UINT32_C(2139095039));
175 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sub", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1929379840)))->to_f32()) == UINT32_C(2139095038));
176 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(8975674057349398527)))->to_f64()) == UINT64_C(9218868437227405311));
177 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sub", bit_cast<double>(UINT64_C(9218868437227405311)), bit_cast<double>(UINT64_C(8975674057349398528)))->to_f64()) == UINT64_C(9218868437227405310));
178 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(1482907561)), bit_cast<float>(UINT32_C(1482907561)))->to_f32()) == UINT32_C(1900671689));
179 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(1621981420)), bit_cast<float>(UINT32_C(1621981420)))->to_f32()) == UINT32_C(2139095040));
180 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(1761892689)), bit_cast<float>(UINT32_C(1761892689)))->to_f32()) == UINT32_C(2139095040));
181 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(4831355200913801216)), bit_cast<double>(UINT64_C(4831355200913801216)))->to_f64()) == UINT64_C(5055640609639927018));
182 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(4906019910204099648)), bit_cast<double>(UINT64_C(4906019910204099648)))->to_f64()) == UINT64_C(5205425776111082661));
183 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(4981134201117475473)), bit_cast<double>(UINT64_C(4981134201117475473)))->to_f64()) == UINT64_C(5355091182177117339));
184 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(1323067183)), bit_cast<float>(UINT32_C(1351920719)))->to_f32()) == UINT32_C(1610612737));
185 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(4745541551160033280)), bit_cast<double>(UINT64_C(4761032175258435584)))->to_f64()) == UINT64_C(4899916394579099649));
186 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(1117401907)), bit_cast<float>(UINT32_C(1146388480)))->to_f32()) == UINT32_C(1199570688));
187 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(4635125847112967782)), bit_cast<double>(UINT64_C(4650687894887858176)))->to_f64()) == UINT64_C(4679239875398991871));
188 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(3725225879)), bit_cast<float>(UINT32_C(767181884)))->to_f32()) == UINT32_C(3427365876));
189 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(4071298289)), bit_cast<float>(UINT32_C(2363594761)))->to_f32()) == UINT32_C(1075233538));
190 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(3990403914)), bit_cast<float>(UINT32_C(2406636213)))->to_f32()) == UINT32_C(1036856791));
191 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(3876262739)), bit_cast<float>(UINT32_C(2590162616)))->to_f32()) == UINT32_C(1106664791));
192 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(1513973689)), bit_cast<float>(UINT32_C(1110852822)))->to_f32()) == UINT32_C(1560730283));
193 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(15745248579468343268)), bit_cast<double>(UINT64_C(8867411559652116184)))->to_f64()) == UINT64_C(18442240474082181120));
194 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(9393595877903301723)), bit_cast<double>(UINT64_C(12847704090045979814)))->to_f64()) == UINT64_C(0));
195 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(7339743909496900438)), bit_cast<double>(UINT64_C(14312273837817528234)))->to_f64()) == UINT64_C(17044856006279008467));
196 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(12422633289194844785)), bit_cast<double>(UINT64_C(7233496047441461849)))->to_f64()) == UINT64_C(15049217706304651865));
197 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(8188526721198436258)), bit_cast<double>(UINT64_C(745378815681991665)))->to_f64()) == UINT64_C(4327221634240578200));
198 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(2468326353)), bit_cast<float>(UINT32_C(3984723636)))->to_f32()) == UINT32_C(1092762840));
199 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(1680245441)), bit_cast<float>(UINT32_C(1228341789)))->to_f32()) == UINT32_C(1844318640));
200 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(2945969408)), bit_cast<float>(UINT32_C(3840981390)))->to_f32()) == UINT32_C(1427037263));
201 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(1631446143)), bit_cast<float>(UINT32_C(3340593865)))->to_f32()) == UINT32_C(3907618991));
202 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(1321841569)), bit_cast<float>(UINT32_C(3771977928)))->to_f32()) == UINT32_C(4029080461));
203 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(10956034376207055635)), bit_cast<double>(UINT64_C(3195464683520095288)))->to_f64()) == UINT64_C(9544600684599159351));
204 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(3366372084365197849)), bit_cast<double>(UINT64_C(10971437597834234015)))->to_f64()) == UINT64_C(9730951521726442211));
205 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(15316253934569525376)), bit_cast<double>(UINT64_C(17593766689751523793)))->to_f64()) == UINT64_C(9218868437227405312));
206 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(8873430008942894499)), bit_cast<double>(UINT64_C(2630310872370005737)))->to_f64()) == UINT64_C(6896620497836925834));
207 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(6138390736122864607)), bit_cast<double>(UINT64_C(14591737303103877464)))->to_f64()) == UINT64_C(16122953269734234204));
208 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(3603447621)), bit_cast<float>(UINT32_C(4012809012)))->to_f32()) == UINT32_C(2139095040));
209 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(3192278970)), bit_cast<float>(UINT32_C(242309673)))->to_f32()) == UINT32_C(2369451750));
210 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(3060150317)), bit_cast<float>(UINT32_C(1953896717)))->to_f32()) == UINT32_C(3948759250));
211 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(3685735869)), bit_cast<float>(UINT32_C(265571119)))->to_f32()) == UINT32_C(2886850375));
212 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(3355295625)), bit_cast<float>(UINT32_C(69023757)))->to_f32()) == UINT32_C(2359023110));
213 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(11598370094301102699)), bit_cast<double>(UINT64_C(15783697741936198553)))->to_f64()) == UINT64_C(4328598597203697163));
214 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(6760137556672200005)), bit_cast<double>(UINT64_C(10390971429121674926)))->to_f64()) == UINT64_C(12543987340819631453));
215 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(14608361260346079328)), bit_cast<double>(UINT64_C(6227029768418337647)))->to_f64()) == UINT64_C(16228420234814429284));
216 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(8069908676175581646)), bit_cast<double>(UINT64_C(15517844864458283108)))->to_f64()) == UINT64_C(18442240474082181120));
217 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(4973816491418843402)), bit_cast<double>(UINT64_C(4922606816281832528)))->to_f64()) == UINT64_C(5289311430451755328));
218 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(3075846375446710711)), bit_cast<double>(UINT64_C(2019524319895558702)))->to_f64()) == UINT64_C(488220554609224151));
219 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(13792389967993824121)), bit_cast<double>(UINT64_C(7865224186729676301)))->to_f64()) == UINT64_C(17051039770050770421));
220 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(15483491341737357200)), bit_cast<double>(UINT64_C(10898188329492193507)))->to_f64()) == UINT64_C(3327855557076626973));
221 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(8100886621587996114)), bit_cast<double>(UINT64_C(4881220253517731398)))->to_f64()) == UINT64_C(8375006889399652877));
222 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(12589892576446671178)), bit_cast<double>(UINT64_C(8646729507413822745)))->to_f64()) == UINT64_C(16629483498509877989));
223 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(1913383041739811140)), bit_cast<double>(UINT64_C(2696786534754768330)))->to_f64()) == UINT64_C(3776602816350777));
224 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(13576886274997223712)), bit_cast<double>(UINT64_C(9480836654241272360)))->to_f64()) == UINT64_C(4406081533924885));
225 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(11636123185307544831)), bit_cast<double>(UINT64_C(11418839304735837198)))->to_f64()) == UINT64_C(2919536087652621));
226 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(10357270161024523488)), bit_cast<double>(UINT64_C(3460198093814186274)))->to_f64()) == UINT64_C(9223701543089011575));
227 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(11506848031881565957)), bit_cast<double>(UINT64_C(11547514064126512393)))->to_f64()) == UINT64_C(2474372522531115));
228 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(8446730755803745435)), bit_cast<double>(UINT64_C(640105622936255012)))->to_f64()) == UINT64_C(4479981512316931443));
229 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(4578331547514318947)), bit_cast<double>(UINT64_C(3937894457345907544)))->to_f64()) == UINT64_C(3909603143436010489));
230 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(13839181621982597923)), bit_cast<double>(UINT64_C(4426983905639375259)))->to_f64()) == UINT64_C(13658985409477228135));
231 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(2931365221683549507)), bit_cast<double>(UINT64_C(3687257801017498184)))->to_f64()) == UINT64_C(2011503789135851990));
232 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(14180592859625794472)), bit_cast<double>(UINT64_C(3043918530412552819)))->to_f64()) == UINT64_C(12617399980269247921));
233 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(436207616)), bit_cast<float>(UINT32_C(436207616)))->to_f32()) == UINT32_C(0));
234 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(436207617)), bit_cast<float>(UINT32_C(436207617)))->to_f32()) == UINT32_C(1));
235 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(2186111271319845836)), bit_cast<double>(UINT64_C(2186111271319845836)))->to_f64()) == UINT64_C(0));
236 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(2186111271319845837)), bit_cast<double>(UINT64_C(2186111271319845837)))->to_f64()) == UINT64_C(1));
237 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(1602224127)), bit_cast<float>(UINT32_C(1602224127)))->to_f32()) == UINT32_C(2139095038));
238 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(1602224128)), bit_cast<float>(UINT32_C(1602224128)))->to_f32()) == UINT32_C(2139095040));
239 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(6913025428013711359)), bit_cast<double>(UINT64_C(6913025428013711359)))->to_f64()) == UINT64_C(9218868437227405310));
240 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(6913025428013711360)), bit_cast<double>(UINT64_C(6913025428013711360)))->to_f64()) == UINT64_C(9218868437227405312));
241 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(1065353217)), bit_cast<float>(UINT32_C(1065353217)))->to_f32()) == UINT32_C(1065353218));
242 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(1065353215)), bit_cast<float>(UINT32_C(1065353215)))->to_f32()) == UINT32_C(1065353214));
243 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(4607182418800017409)), bit_cast<double>(UINT64_C(4607182418800017409)))->to_f64()) == UINT64_C(4607182418800017410));
244 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(4607182418800017407)), bit_cast<double>(UINT64_C(4607182418800017407)))->to_f64()) == UINT64_C(4607182418800017406));
245 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(1065353217)), bit_cast<float>(UINT32_C(1065353215)))->to_f32()) == UINT32_C(1065353216));
246 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(1065353218)), bit_cast<float>(UINT32_C(1065353214)))->to_f32()) == UINT32_C(1065353217));
247 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(4607182418800017409)), bit_cast<double>(UINT64_C(4607182418800017407)))->to_f64()) == UINT64_C(4607182418800017408));
248 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(4607182418800017410)), bit_cast<double>(UINT64_C(4607182418800017406)))->to_f64()) == UINT64_C(4607182418800017409));
249 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(872415232)))->to_f32()) == UINT32_C(1));
250 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.mul", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4372995238176751616)))->to_f64()) == UINT64_C(1));
251 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.mul", bit_cast<float>(UINT32_C(3246392064)), bit_cast<float>(UINT32_C(212992)))->to_f32()) == UINT32_C(2150891832));
252 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1066388847)), bit_cast<float>(UINT32_C(1120403456)))->to_f32()) == UINT32_C(1010307378));
253 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1258294259)), bit_cast<float>(UINT32_C(1262485497)))->to_f32()) == UINT32_C(1059764896));
254 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1199570944)), bit_cast<float>(UINT32_C(754974720)))->to_f32()) == UINT32_C(1509949440));
255 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1072586677)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(3905517));
256 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1082130432)), bit_cast<float>(UINT32_C(1077936128)))->to_f32()) == UINT32_C(1068149419));
257 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4607738418748954166)), bit_cast<double>(UINT64_C(4636737291354636288)))->to_f64()) == UINT64_C(4577629909238726725));
258 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4710766852517658624)), bit_cast<double>(UINT64_C(4713017006285127680)))->to_f64()) == UINT64_C(4604182212107680295));
259 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4679240012837945344)), bit_cast<double>(UINT64_C(4440549232587309056)))->to_f64()) == UINT64_C(4845873199050653696));
260 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4611065853604003840)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(2096758607839232));
261 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4616189618054758400)), bit_cast<double>(UINT64_C(4613937818241073152)))->to_f64()) == UINT64_C(4608683618675807573));
262 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1249905654)), bit_cast<float>(UINT32_C(1245708284)))->to_f32()) == UINT32_C(1068153505));
263 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4706263254500900864)), bit_cast<double>(UINT64_C(4704009808640999424)))->to_f64()) == UINT64_C(4608685812450356035));
264 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(666187309)), bit_cast<float>(UINT32_C(2138899896)))->to_f32()) == UINT32_C(0));
265 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(338737113)), bit_cast<float>(UINT32_C(1637454009)))->to_f32()) == UINT32_C(0));
266 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(3351999420)), bit_cast<float>(UINT32_C(401966635)))->to_f32()) == UINT32_C(4015268357));
267 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(2582720800)), bit_cast<float>(UINT32_C(2197197239)))->to_f32()) == UINT32_C(1450863298));
268 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(3564182439)), bit_cast<float>(UINT32_C(397999726)))->to_f32()) == UINT32_C(4230402947));
269 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(5269602717919885505)), bit_cast<double>(UINT64_C(5615431061534361830)))->to_f64()) == UINT64_C(4261119458085367075));
270 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(1791703022234099881)), bit_cast<double>(UINT64_C(230587289790163684)))->to_f64()) == UINT64_C(6167818452243445017));
271 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(15176390632865983384)), bit_cast<double>(UINT64_C(7489729865403831125)))->to_f64()) == UINT64_C(12293662509603441500));
272 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(16945752639368638170)), bit_cast<double>(UINT64_C(5718505335991307775)))->to_f64()) == UINT64_C(15834399302320062011));
273 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(16263708435887736913)), bit_cast<double>(UINT64_C(6648866667391375614)))->to_f64()) == UINT64_C(14221856927329063502));
274 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(3798033061)), bit_cast<float>(UINT32_C(2491443361)))->to_f32()) == UINT32_C(2139095040));
275 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(686927199)), bit_cast<float>(UINT32_C(1440960248)))->to_f32()) == UINT32_C(310908762));
276 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1067646869)), bit_cast<float>(UINT32_C(3960423338)))->to_f32()) == UINT32_C(2467406247));
277 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(642177221)), bit_cast<float>(UINT32_C(2685135)))->to_f32()) == UINT32_C(1713065419));
278 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1824271560)), bit_cast<float>(UINT32_C(1797890210)))->to_f32()) == UINT32_C(1091436270));
279 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4278321332874065)), bit_cast<double>(UINT64_C(15464375907975098426)))->to_f64()) == UINT64_C(9223372036854775808));
280 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(9385779280320516508)), bit_cast<double>(UINT64_C(2195352144435258723)))->to_f64()) == UINT64_C(11796946241575527184));
281 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(12019785500442997560)), bit_cast<double>(UINT64_C(14033717547286793792)))->to_f64()) == UINT64_C(2592881844429368931));
282 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(14192622858179995755)), bit_cast<double>(UINT64_C(1048270709368415171)))->to_f64()) == UINT64_C(17751311910175316838));
283 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(14895971708944847415)), bit_cast<double>(UINT64_C(14082502105592202184)))->to_f64()) == UINT64_C(5420603229995464966));
284 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1286756690)), bit_cast<float>(UINT32_C(74754985)))->to_f32()) == UINT32_C(2139095040));
285 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(3861505243)), bit_cast<float>(UINT32_C(1298875600)))->to_f32()) == UINT32_C(3627605330));
286 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1387472197)), bit_cast<float>(UINT32_C(4021087697)))->to_f32()) == UINT32_C(2726599162));
287 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(4149014653)), bit_cast<float>(UINT32_C(3294714580)))->to_f32()) == UINT32_C(1919471347));
288 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(3987554477)), bit_cast<float>(UINT32_C(3327836421)))->to_f32()) == UINT32_C(1724563548));
289 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(10882983485852580843)), bit_cast<double>(UINT64_C(1499380901194126188)))->to_f64()) == UINT64_C(13990715555071506017));
290 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(17353632673902705731)), bit_cast<double>(UINT64_C(11343375610449883809)))->to_f64()) == UINT64_C(9218868437227405312));
291 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(10471640091267549911)), bit_cast<double>(UINT64_C(4317563730789156718)))->to_f64()) == UINT64_C(10760831595995331201));
292 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(15262578458239868670)), bit_cast<double>(UINT64_C(11184694400998603321)))->to_f64()) == UINT64_C(8684356686754640262));
293 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(5423766533942924987)), bit_cast<double>(UINT64_C(14797877595923399406)))->to_f64()) == UINT64_C(13679565210380085385));
294 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(16467910284400317286)), bit_cast<double>(UINT64_C(14710955777971283471)))->to_f64()) == UINT64_C(6363956244686200611));
295 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(16290965053652735591)), bit_cast<double>(UINT64_C(15317706837775392625)))->to_f64()) == UINT64_C(5580355845867636249));
296 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(5440366292977110369)), bit_cast<double>(UINT64_C(18177315027663270891)))->to_f64()) == UINT64_C(10316437533262127859));
297 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(5586144947709395659)), bit_cast<double>(UINT64_C(6532436425888624877)))->to_f64()) == UINT64_C(3660708720660625999));
298 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(17550005606375580620)), bit_cast<double>(UINT64_C(6180045224129992598)))->to_f64()) == UINT64_C(15976575755200563719));
299 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4611065853588275309)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(2096758603907099));
300 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(58005932411648970)), bit_cast<double>(UINT64_C(4662638783615926141)))->to_f64()) == UINT64_C(3222112482593593));
301 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(13185764271695251812)), bit_cast<double>(UINT64_C(17795032469661562376)))->to_f64()) == UINT64_C(1594123367530375));
302 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(12062544014359965409)), bit_cast<double>(UINT64_C(16674780236028867992)))->to_f64()) == UINT64_C(1036869663772871));
303 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(752499975442349235)), bit_cast<double>(UINT64_C(5356690663768240614)))->to_f64()) == UINT64_C(3442089173194313));
304 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(83041154348962762)), bit_cast<double>(UINT64_C(13934889252531101931)))->to_f64()) == UINT64_C(9223458798833500621));
305 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1817629909)), bit_cast<float>(UINT32_C(1421132838)))->to_f32()) == UINT32_C(1461198615));
306 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1824604388)), bit_cast<float>(UINT32_C(4105258014)))->to_f32()) == UINT32_C(3079375694));
307 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1747858929)), bit_cast<float>(UINT32_C(1063784191)))->to_f32()) == UINT32_C(1749036825));
308 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(3378374953)), bit_cast<float>(UINT32_C(3497907368)))->to_f32()) == UINT32_C(945802923));
309 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(2861015275)), bit_cast<float>(UINT32_C(3684669151)))->to_f32()) == UINT32_C(240750700));
310 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4885037015672297625)), bit_cast<double>(UINT64_C(9954263091431620051)))->to_f64()) == UINT64_C(17984289216286432053));
311 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4022347395424227722)), bit_cast<double>(UINT64_C(11486191764643320419)))->to_f64()) == UINT64_C(15589554694846453438));
312 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(7623973190248181230)), bit_cast<double>(UINT64_C(7481900282945497881)))->to_f64()) == UINT64_C(4748664889769504925));
313 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(14650287530633645126)), bit_cast<double>(UINT64_C(8091500841285620267)))->to_f64()) == UINT64_C(11165393291297270552));
314 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(9910334119372230161)), bit_cast<double>(UINT64_C(10921408834055405722)))->to_f64()) == UINT64_C(3596021921286071170));
315 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4352764235752579571)), bit_cast<double>(UINT64_C(4610853254537913145)))->to_f64()) == UINT64_C(4348952422448611708));
316 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4148344307949876337)), bit_cast<double>(UINT64_C(13642564096968604240)))->to_f64()) == UINT64_C(13559333871418047670));
317 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4425554483259831683)), bit_cast<double>(UINT64_C(4103199251532205583)))->to_f64()) == UINT64_C(4929315895081747238));
318 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(5011653323436109419)), bit_cast<double>(UINT64_C(5044067306150920275)))->to_f64()) == UINT64_C(4574739988274663188));
319 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4558988817252519457)), bit_cast<double>(UINT64_C(14066629987516208597)))->to_f64()) == UINT64_C(13546063418479940250));
320 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(8388607)))->to_f32()) == UINT32_C(1065353217));
321 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(8388607)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(1065353214));
322 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4503599627370496)), bit_cast<double>(UINT64_C(4503599627370495)))->to_f64()) == UINT64_C(4607182418800017409));
323 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4503599627370495)), bit_cast<double>(UINT64_C(4503599627370496)))->to_f64()) == UINT64_C(4607182418800017406));
324 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(880803839)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(0));
325 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(880803840)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(1));
326 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4377498837804122111)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(0));
327 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4377498837804122112)), bit_cast<double>(UINT64_C(9218868437227405311)))->to_f64()) == UINT64_C(1));
328 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2097152)))->to_f32()) == UINT32_C(2139095040));
329 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2097153)))->to_f32()) == UINT32_C(2139095032));
330 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(1125899906842624)))->to_f64()) == UINT64_C(9218868437227405312));
331 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(1125899906842625)))->to_f64()) == UINT64_C(9218868437227405304));
332 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2122317825)))->to_f32()) == UINT32_C(8388607));
333 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2122317824)))->to_f32()) == UINT32_C(8388608));
334 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9209861237972664321)))->to_f64()) == UINT64_C(4503599627370495));
335 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(9209861237972664320)))->to_f64()) == UINT64_C(4503599627370496));
336 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1077936128)))->to_f32()) == UINT32_C(1051372203));
337 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1077936128)), bit_cast<float>(UINT32_C(1091567616)))->to_f32()) == UINT32_C(1051372203));
338 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1091567616)), bit_cast<float>(UINT32_C(1104674816)))->to_f32()) == UINT32_C(1051372203));
339 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4613937818241073152)))->to_f64()) == UINT64_C(4599676419421066581));
340 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4613937818241073152)), bit_cast<double>(UINT64_C(4621256167635550208)))->to_f64()) == UINT64_C(4599676419421066581));
341 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4621256167635550208)), bit_cast<double>(UINT64_C(4628293042053316608)))->to_f64()) == UINT64_C(4599676419421066581));
342 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1065353217)), bit_cast<float>(UINT32_C(1065353215)))->to_f32()) == UINT32_C(1065353218));
343 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1065353215)), bit_cast<float>(UINT32_C(1065353217)))->to_f32()) == UINT32_C(1065353213));
344 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1065353215)))->to_f32()) == UINT32_C(1065353217));
345 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1065353217)))->to_f32()) == UINT32_C(1065353214));
346 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4607182418800017409)), bit_cast<double>(UINT64_C(4607182418800017407)))->to_f64()) == UINT64_C(4607182418800017410));
347 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4607182418800017407)), bit_cast<double>(UINT64_C(4607182418800017409)))->to_f64()) == UINT64_C(4607182418800017405));
348 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4607182418800017407)))->to_f64()) == UINT64_C(4607182418800017409));
349 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.div", bit_cast<double>(UINT64_C(4607182418800017408)), bit_cast<double>(UINT64_C(4607182418800017409)))->to_f64()) == UINT64_C(4607182418800017406));
350 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sqrt", bit_cast<float>(UINT32_C(1126891520)))->to_f32()) == UINT32_C(1095842342));
351 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sqrt", bit_cast<float>(UINT32_C(875341566)))->to_f32()) == UINT32_C(970079310));
352 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(4640220544191430656)))->to_f64()) == UINT64_C(4623551143926461685));
353 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(4505170691092029701)))->to_f64()) == UINT64_C(4556032630010904473));
354 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(3868634135368364633)))->to_f64()) == UINT64_C(4237908228221851551));
355 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(6130334638238385213)))->to_f64()) == UINT64_C(5368736472460186647));
356 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(6420749722515481850)))->to_f64()) == UINT64_C(5513761933181195411));
357 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(4441983858611369811)))->to_f64()) == UINT64_C(4524423892028972029));
358 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(2943222801950574478)))->to_f64()) == UINT64_C(3775077603066051757));
359 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(4607182418800017407)))->to_f64()) == UINT64_C(4607182418800017407));
360 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sqrt", bit_cast<float>(UINT32_C(1040498738)))->to_f32()) == UINT32_C(1052268824));
361 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sqrt", bit_cast<float>(UINT32_C(1911349112)))->to_f32()) == UINT32_C(1487806505));
362 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sqrt", bit_cast<float>(UINT32_C(1033984731)))->to_f32()) == UINT32_C(1049605767));
363 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sqrt", bit_cast<float>(UINT32_C(471548520)))->to_f32()) == UINT32_C(768040305));
364 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sqrt", bit_cast<float>(UINT32_C(980180519)))->to_f32()) == UINT32_C(1022754037));
365 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(447478826231748356)))->to_f64()) == UINT64_C(2527268346316778217));
366 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(7882765141420635228)))->to_f64()) == UINT64_C(6244818117372907505));
367 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(6345006020483303032)))->to_f64()) == UINT64_C(5476089630784211276));
368 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(5080974719163899092)))->to_f64()) == UINT64_C(4843851732197030563));
369 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(9108179429173493573)))->to_f64()) == UINT64_C(6857570252025178944));
370 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sqrt", bit_cast<float>(UINT32_C(1293112087)))->to_f32()) == UINT32_C(1178743848));
371 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sqrt", bit_cast<float>(UINT32_C(118173697)))->to_f32()) == UINT32_C(591184817));
372 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sqrt", bit_cast<float>(UINT32_C(941555112)))->to_f32()) == UINT32_C(1003077404));
373 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sqrt", bit_cast<float>(UINT32_C(60323222)))->to_f32()) == UINT32_C(562803203));
374 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sqrt", bit_cast<float>(UINT32_C(40220718)))->to_f32()) == UINT32_C(552763653));
375 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(7741365502393472048)))->to_f64()) == UINT64_C(6174272493021072850));
376 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(1175297548666390979)))->to_f64()) == UINT64_C(2891239701856850373));
377 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(4474969389470739153)))->to_f64()) == UINT64_C(4540897185465678583));
378 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(3521792205891300764)))->to_f64()) == UINT64_C(4064104284248214854));
379 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(8798159938601760820)))->to_f64()) == UINT64_C(6702520650372831162));
380 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sqrt", bit_cast<float>(UINT32_C(2058533950)))->to_f32()) == UINT32_C(1561805138));
381 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sqrt", bit_cast<float>(UINT32_C(1194962978)))->to_f32()) == UINT32_C(1129973536));
382 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sqrt", bit_cast<float>(UINT32_C(1062209384)))->to_f32()) == UINT32_C(1063699830));
383 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sqrt", bit_cast<float>(UINT32_C(339551808)))->to_f32()) == UINT32_C(702287090));
384 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sqrt", bit_cast<float>(UINT32_C(279876202)))->to_f32()) == UINT32_C(672496559));
385 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(7933654283200418420)))->to_f64()) == UINT64_C(6270248298536475417));
386 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(2893298197477532149)))->to_f64()) == UINT64_C(3750137482611732493));
387 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(8954101765007123282)))->to_f64()) == UINT64_C(6780419764181964566));
388 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(4405641787023763989)))->to_f64()) == UINT64_C(4506213966714545194));
389 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(2394824404681191749)))->to_f64()) == UINT64_C(3500764341454448999));
390 CHECK(check_nan(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(9494538992465685200)))));
391 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(5074882158241187075)))->to_f64()) == UINT64_C(4841025724322244342));
392 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(1187437724299488295)))->to_f64()) == UINT64_C(2897120674751402313));
393 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(3368223178643061438)))->to_f64()) == UINT64_C(3987382964717611901));
394 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(7161993531047854177)))->to_f64()) == UINT64_C(5884408968142469554));
395 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sqrt", bit_cast<float>(UINT32_C(1065353217)))->to_f32()) == UINT32_C(1065353216));
396 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sqrt", bit_cast<float>(UINT32_C(1065353218)))->to_f32()) == UINT32_C(1065353217));
397 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(4607182418800017409)))->to_f64()) == UINT64_C(4607182418800017408));
398 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(4607182418800017410)))->to_f64()) == UINT64_C(4607182418800017409));
399 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sqrt", bit_cast<float>(UINT32_C(1065353214)))->to_f32()) == UINT32_C(1065353215));
400 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.sqrt", bit_cast<float>(UINT32_C(1065353213)))->to_f32()) == UINT32_C(1065353214));
401 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(4607182418800017406)))->to_f64()) == UINT64_C(4607182418800017407));
402 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.sqrt", bit_cast<double>(UINT64_C(4607182418800017405)))->to_f64()) == UINT64_C(4607182418800017406));
403 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.abs", bit_cast<float>(UINT32_C(2139156962)))->to_f32()) == UINT32_C(2139156962));
404 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.abs", bit_cast<float>(UINT32_C(4286640610)))->to_f32()) == UINT32_C(2139156962));
405 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.abs", bit_cast<double>(UINT64_C(9218868441285556843)))->to_f64()) == UINT64_C(9218868441285556843));
406 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.abs", bit_cast<double>(UINT64_C(18442240478140332651)))->to_f64()) == UINT64_C(9218868441285556843));
407 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.neg", bit_cast<float>(UINT32_C(2139156962)))->to_f32()) == UINT32_C(4286640610));
408 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.neg", bit_cast<float>(UINT32_C(4286640610)))->to_f32()) == UINT32_C(2139156962));
409 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.neg", bit_cast<double>(UINT64_C(9218868441285556843)))->to_f64()) == UINT64_C(18442240478140332651));
410 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.neg", bit_cast<double>(UINT64_C(18442240478140332651)))->to_f64()) == UINT64_C(9218868441285556843));
411 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.copysign", bit_cast<float>(UINT32_C(2139156962)), bit_cast<float>(UINT32_C(2143289344)))->to_f32()) == UINT32_C(2139156962));
412 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.copysign", bit_cast<float>(UINT32_C(2139156962)), bit_cast<float>(UINT32_C(4290772992)))->to_f32()) == UINT32_C(4286640610));
413 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.copysign", bit_cast<float>(UINT32_C(4286640610)), bit_cast<float>(UINT32_C(2143289344)))->to_f32()) == UINT32_C(2139156962));
414 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.copysign", bit_cast<float>(UINT32_C(4286640610)), bit_cast<float>(UINT32_C(4290772992)))->to_f32()) == UINT32_C(4286640610));
415 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.copysign", bit_cast<double>(UINT64_C(9218868441285556843)), bit_cast<double>(UINT64_C(9221120237041090560)))->to_f64()) == UINT64_C(9218868441285556843));
416 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.copysign", bit_cast<double>(UINT64_C(9218868441285556843)), bit_cast<double>(UINT64_C(18444492273895866368)))->to_f64()) == UINT64_C(18442240478140332651));
417 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.copysign", bit_cast<double>(UINT64_C(18442240478140332651)), bit_cast<double>(UINT64_C(9221120237041090560)))->to_f64()) == UINT64_C(9218868441285556843));
418 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.copysign", bit_cast<double>(UINT64_C(18442240478140332651)), bit_cast<double>(UINT64_C(18444492273895866368)))->to_f64()) == UINT64_C(18442240478140332651));
419 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.ceil", bit_cast<float>(UINT32_C(1065353215)))->to_f32()) == UINT32_C(1065353216));
420 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.ceil", bit_cast<float>(UINT32_C(1065353217)))->to_f32()) == UINT32_C(1073741824));
421 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.ceil", bit_cast<double>(UINT64_C(4607182418800017407)))->to_f64()) == UINT64_C(4607182418800017408));
422 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.ceil", bit_cast<double>(UINT64_C(4607182418800017409)))->to_f64()) == UINT64_C(4611686018427387904));
423 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.ceil", bit_cast<float>(UINT32_C(1258291199)))->to_f32()) == UINT32_C(1258291200));
424 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.ceil", bit_cast<float>(UINT32_C(3405774847)))->to_f32()) == UINT32_C(3405774846));
425 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.ceil", bit_cast<double>(UINT64_C(4841369599423283199)))->to_f64()) == UINT64_C(4841369599423283200));
426 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.ceil", bit_cast<double>(UINT64_C(14064741636278059007)))->to_f64()) == UINT64_C(14064741636278059006));
427 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.ceil", bit_cast<float>(UINT32_C(1266679807)))->to_f32()) == UINT32_C(1266679807));
428 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.ceil", bit_cast<float>(UINT32_C(3414163455)))->to_f32()) == UINT32_C(3414163455));
429 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.ceil", bit_cast<double>(UINT64_C(4845873199050653695)))->to_f64()) == UINT64_C(4845873199050653695));
430 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.ceil", bit_cast<double>(UINT64_C(14069245235905429503)))->to_f64()) == UINT64_C(14069245235905429503));
431 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.floor", bit_cast<float>(UINT32_C(3212836863)))->to_f32()) == UINT32_C(3212836864));
432 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.floor", bit_cast<float>(UINT32_C(3212836865)))->to_f32()) == UINT32_C(3221225472));
433 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.floor", bit_cast<double>(UINT64_C(13830554455654793215)))->to_f64()) == UINT64_C(13830554455654793216));
434 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.floor", bit_cast<double>(UINT64_C(13830554455654793217)))->to_f64()) == UINT64_C(13835058055282163712));
435 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.floor", bit_cast<float>(UINT32_C(3405774847)))->to_f32()) == UINT32_C(3405774848));
436 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.floor", bit_cast<float>(UINT32_C(1258291199)))->to_f32()) == UINT32_C(1258291198));
437 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.floor", bit_cast<double>(UINT64_C(14064741636278059007)))->to_f64()) == UINT64_C(14064741636278059008));
438 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.floor", bit_cast<double>(UINT64_C(4841369599423283199)))->to_f64()) == UINT64_C(4841369599423283198));
439 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.floor", bit_cast<float>(UINT32_C(1202524032)))->to_f32()) == UINT32_C(1202524032));
440 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.floor", bit_cast<double>(UINT64_C(4680825439885721600)))->to_f64()) == UINT64_C(4680825439885721600));
441 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.trunc", bit_cast<float>(UINT32_C(3405774847)))->to_f32()) == UINT32_C(3405774846));
442 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.trunc", bit_cast<float>(UINT32_C(1258291199)))->to_f32()) == UINT32_C(1258291198));
443 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.trunc", bit_cast<double>(UINT64_C(14064741636278059007)))->to_f64()) == UINT64_C(14064741636278059006));
444 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.trunc", bit_cast<double>(UINT64_C(4841369599423283199)))->to_f64()) == UINT64_C(4841369599423283198));
445 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.nearest", bit_cast<float>(UINT32_C(1258291201)))->to_f32()) == UINT32_C(1258291201));
446 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.nearest", bit_cast<float>(UINT32_C(1258291202)))->to_f32()) == UINT32_C(1258291202));
447 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.nearest", bit_cast<float>(UINT32_C(1056964607)))->to_f32()) == UINT32_C(0));
448 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.nearest", bit_cast<float>(UINT32_C(1468006399)))->to_f32()) == UINT32_C(1468006399));
449 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.nearest", bit_cast<double>(UINT64_C(4841369599423283201)))->to_f64()) == UINT64_C(4841369599423283201));
450 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.nearest", bit_cast<double>(UINT64_C(4841369599423283202)))->to_f64()) == UINT64_C(4841369599423283202));
451 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.nearest", bit_cast<double>(UINT64_C(4602678819172646911)))->to_f64()) == UINT64_C(0));
452 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.nearest", bit_cast<double>(UINT64_C(5084563979301289983)))->to_f64()) == UINT64_C(5084563979301289983));
453 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.nearest", bit_cast<float>(UINT32_C(1083179008)))->to_f32()) == UINT32_C(1082130432));
454 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.nearest", bit_cast<float>(UINT32_C(3230662656)))->to_f32()) == UINT32_C(3229614080));
455 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.nearest", bit_cast<float>(UINT32_C(3227516928)))->to_f32()) == UINT32_C(3229614080));
456 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.nearest", bit_cast<double>(UINT64_C(4616752568008179712)))->to_f64()) == UINT64_C(4616189618054758400));
457 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.nearest", bit_cast<double>(UINT64_C(13840124604862955520)))->to_f64()) == UINT64_C(13839561654909534208));
458 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.nearest", bit_cast<double>(UINT64_C(13838435755002691584)))->to_f64()) == UINT64_C(13839561654909534208));
459 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.nearest", bit_cast<float>(UINT32_C(3405774847)))->to_f32()) == UINT32_C(3405774848));
460 CHECK(bit_cast<uint32_t>(bkend.call_with_return("env", "f32.nearest", bit_cast<float>(UINT32_C(1258291199)))->to_f32()) == UINT32_C(1258291200));
461 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.nearest", bit_cast<double>(UINT64_C(14064741636278059007)))->to_f64()) == UINT64_C(14064741636278059008));
462 CHECK(bit_cast<uint64_t>(bkend.call_with_return("env", "f64.nearest", bit_cast<double>(UINT64_C(4841369599423283199)))->to_f64()) == UINT64_C(4841369599423283200));
463}
auto call_with_return(host_t &host, const std::string_view &mod, const std::string_view &func, Args... args)
Definition backend.hpp:178
#define CHECK(cond)
Definition util.h:80
wasm_allocator wa
Definition main.cpp:10
backend_t bkend(hello_wasm, ehm, &wa)
std::vector< uint8_t > read_wasm(const std::string &fname)
Definition utils.hpp:30
#define UINT32_C(val)
Definition stdint.h:283
#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:

Variable Documentation

◆ wa

wasm_allocator wa
extern

Definition at line 10 of file main.cpp.