...

Text file src/github.com/tetratelabs/wazero/internal/integration_test/spectest/v2/testdata/const.wast

Documentation: github.com/tetratelabs/wazero/internal/integration_test/spectest/v2/testdata

     1;; Test t.const instructions
     2
     3;; Syntax error
     4
     5(module (func (i32.const 0_123_456_789) drop))
     6(module (func (i32.const 0x0_9acf_fBDF) drop))
     7(assert_malformed
     8  (module quote "(func (i32.const) drop)")
     9  "unexpected token"
    10)
    11(assert_malformed
    12  (module quote "(func (i32.const 0x) drop)")
    13  "unknown operator"
    14)
    15(assert_malformed
    16  (module quote "(func (i32.const 1x) drop)")
    17  "unknown operator"
    18)
    19(assert_malformed
    20  (module quote "(func (i32.const 0xg) drop)")
    21  "unknown operator"
    22)
    23
    24(module (func (i64.const 0_123_456_789) drop))
    25(module (func (i64.const 0x0125_6789_ADEF_bcef) drop))
    26(assert_malformed
    27  (module quote "(func (i64.const) drop)")
    28  "unexpected token"
    29)
    30(assert_malformed
    31  (module quote "(func (i64.const 0x) drop)")
    32  "unknown operator"
    33)
    34(assert_malformed
    35  (module quote "(func (i64.const 1x) drop)")
    36  "unknown operator"
    37)
    38(assert_malformed
    39  (module quote "(func (i64.const 0xg) drop)")
    40  "unknown operator"
    41)
    42
    43(module (func (f32.const 0123456789) drop))
    44(module (func (f32.const 0123456789e019) drop))
    45(module (func (f32.const 0123456789e+019) drop))
    46(module (func (f32.const 0123456789e-019) drop))
    47(module (func (f32.const 0123456789.) drop))
    48(module (func (f32.const 0123456789.e019) drop))
    49(module (func (f32.const 0123456789.e+019) drop))
    50(module (func (f32.const 0123456789.e-019) drop))
    51(module (func (f32.const 0123456789.0123456789) drop))
    52(module (func (f32.const 0123456789.0123456789e019) drop))
    53(module (func (f32.const 0123456789.0123456789e+019) drop))
    54(module (func (f32.const 0123456789.0123456789e-019) drop))
    55(module (func (f32.const 0x0123456789ABCDEF) drop))
    56(module (func (f32.const 0x0123456789ABCDEFp019) drop))
    57(module (func (f32.const 0x0123456789ABCDEFp+019) drop))
    58(module (func (f32.const 0x0123456789ABCDEFp-019) drop))
    59(module (func (f32.const 0x0123456789ABCDEF.) drop))
    60(module (func (f32.const 0x0123456789ABCDEF.p019) drop))
    61(module (func (f32.const 0x0123456789ABCDEF.p+019) drop))
    62(module (func (f32.const 0x0123456789ABCDEF.p-019) drop))
    63(module (func (f32.const 0x0123456789ABCDEF.019aF) drop))
    64(module (func (f32.const 0x0123456789ABCDEF.019aFp019) drop))
    65(module (func (f32.const 0x0123456789ABCDEF.019aFp+019) drop))
    66(module (func (f32.const 0x0123456789ABCDEF.019aFp-019) drop))
    67(assert_malformed
    68  (module quote "(func (f32.const) drop)")
    69  "unexpected token"
    70)
    71(assert_malformed
    72  (module quote "(func (f32.const .0) drop)")
    73  "unknown operator"
    74)
    75(assert_malformed
    76  (module quote "(func (f32.const .0e0) drop)")
    77  "unknown operator"
    78)
    79(assert_malformed
    80  (module quote "(func (f32.const 0e) drop)")
    81  "unknown operator"
    82)
    83(assert_malformed
    84  (module quote "(func (f32.const 0e+) drop)")
    85  "unknown operator"
    86)
    87(assert_malformed
    88  (module quote "(func (f32.const 0.0e) drop)")
    89  "unknown operator"
    90)
    91(assert_malformed
    92  (module quote "(func (f32.const 0.0e-) drop)")
    93  "unknown operator"
    94)
    95(assert_malformed
    96  (module quote "(func (f32.const 0x) drop)")
    97  "unknown operator"
    98)
    99(assert_malformed
   100  (module quote "(func (f32.const 1x) drop)")
   101  "unknown operator"
   102)
   103(assert_malformed
   104  (module quote "(func (f32.const 0xg) drop)")
   105  "unknown operator"
   106)
   107(assert_malformed
   108  (module quote "(func (f32.const 0x.) drop)")
   109  "unknown operator"
   110)
   111(assert_malformed
   112  (module quote "(func (f32.const 0x0.g) drop)")
   113  "unknown operator"
   114)
   115(assert_malformed
   116  (module quote "(func (f32.const 0x0p) drop)")
   117  "unknown operator"
   118)
   119(assert_malformed
   120  (module quote "(func (f32.const 0x0p+) drop)")
   121  "unknown operator"
   122)
   123(assert_malformed
   124  (module quote "(func (f32.const 0x0p-) drop)")
   125  "unknown operator"
   126)
   127(assert_malformed
   128  (module quote "(func (f32.const 0x0.0p) drop)")
   129  "unknown operator"
   130)
   131(assert_malformed
   132  (module quote "(func (f32.const 0x0.0p+) drop)")
   133  "unknown operator"
   134)
   135(assert_malformed
   136  (module quote "(func (f32.const 0x0.0p-) drop)")
   137  "unknown operator"
   138)
   139(assert_malformed
   140  (module quote "(func (f32.const 0x0pA) drop)")
   141  "unknown operator"
   142)
   143
   144
   145(module (func (f64.const 0123456789) drop))
   146(module (func (f64.const 0123456789e019) drop))
   147(module (func (f64.const 0123456789e+019) drop))
   148(module (func (f64.const 0123456789e-019) drop))
   149(module (func (f64.const 0123456789.) drop))
   150(module (func (f64.const 0123456789.e019) drop))
   151(module (func (f64.const 0123456789.e+019) drop))
   152(module (func (f64.const 0123456789.e-019) drop))
   153(module (func (f64.const 0123456789.0123456789) drop))
   154(module (func (f64.const 0123456789.0123456789e019) drop))
   155(module (func (f64.const 0123456789.0123456789e+019) drop))
   156(module (func (f64.const 0123456789.0123456789e-019) drop))
   157(module (func (f64.const 0_1_2_3_4_5_6_7_8_9) drop))
   158(module (func (f64.const 0_1_2_3_4_5_6_7_8_9.) drop))
   159(module (func (f64.const 0_1_2_3_4_5_6_7_8_9.0_1_2_3_4_5_6_7_8_9) drop))
   160(module (func (f64.const 0_1_2_3_4_5_6_7_8_9e+0_1_9) drop))
   161(module (func (f64.const 0_1_2_3_4_5_6_7_8_9.e+0_1_9) drop))
   162(module (func (f64.const 0_1_2_3_4_5_6_7_8_9.0_1_2_3_4_5_6_7_8_9e0_1_9) drop))
   163
   164(module (func (f64.const 0x0123456789ABCDEFabcdef) drop))
   165(module (func (f64.const 0x0123456789ABCDEFabcdefp019) drop))
   166(module (func (f64.const 0x0123456789ABCDEFabcdefp+019) drop))
   167(module (func (f64.const 0x0123456789ABCDEFabcdefp-019) drop))
   168(module (func (f64.const 0x0123456789ABCDEFabcdef.) drop))
   169(module (func (f64.const 0x0123456789ABCDEFabcdef.p019) drop))
   170(module (func (f64.const 0x0123456789ABCDEFabcdef.p+019) drop))
   171(module (func (f64.const 0x0123456789ABCDEFabcdef.p-019) drop))
   172(module (func (f64.const 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdef) drop))
   173(module (func (f64.const 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdefp019) drop))
   174(module (func (f64.const 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdefp+019) drop))
   175(module (func (f64.const 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdefp-019) drop))
   176(module (func (f64.const 0x0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_f) drop))
   177(module (func (f64.const 0x0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_f.) drop))
   178(module (func (f64.const 0x0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_f.0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_f) drop))
   179(module (func (f64.const 0x0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_fp0_1_9) drop))
   180(module (func (f64.const 0x0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_f.p0_1_9) drop))
   181(module (func (f64.const 0x0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_f.0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F_a_b_c_d_e_fp0_1_9) drop))
   182
   183
   184(assert_malformed
   185  (module quote "(func (f64.const) drop)")
   186  "unexpected token"
   187)
   188(assert_malformed
   189  (module quote "(func (f64.const .0) drop)")
   190  "unknown operator"
   191)
   192(assert_malformed
   193  (module quote "(func (f64.const .0e0) drop)")
   194  "unknown operator"
   195)
   196(assert_malformed
   197  (module quote "(func (f64.const 0e) drop)")
   198  "unknown operator"
   199)
   200(assert_malformed
   201  (module quote "(func (f64.const 0e+) drop)")
   202  "unknown operator"
   203)
   204(assert_malformed
   205  (module quote "(func (f64.const 0.0e) drop)")
   206  "unknown operator"
   207)
   208(assert_malformed
   209  (module quote "(func (f64.const 0.0e-) drop)")
   210  "unknown operator"
   211)
   212(assert_malformed
   213  (module quote "(func (f64.const 0x) drop)")
   214  "unknown operator"
   215)
   216(assert_malformed
   217  (module quote "(func (f64.const 1x) drop)")
   218  "unknown operator"
   219)
   220(assert_malformed
   221  (module quote "(func (f64.const 0xg) drop)")
   222  "unknown operator"
   223)
   224(assert_malformed
   225  (module quote "(func (f64.const 0x.) drop)")
   226  "unknown operator"
   227)
   228(assert_malformed
   229  (module quote "(func (f64.const 0x0.g) drop)")
   230  "unknown operator"
   231)
   232(assert_malformed
   233  (module quote "(func (f64.const 0x0p) drop)")
   234  "unknown operator"
   235)
   236(assert_malformed
   237  (module quote "(func (f64.const 0x0p+) drop)")
   238  "unknown operator"
   239)
   240(assert_malformed
   241  (module quote "(func (f64.const 0x0p-) drop)")
   242  "unknown operator"
   243)
   244(assert_malformed
   245  (module quote "(func (f64.const 0x0.0p) drop)")
   246  "unknown operator"
   247)
   248(assert_malformed
   249  (module quote "(func (f64.const 0x0.0p+) drop)")
   250  "unknown operator"
   251)
   252(assert_malformed
   253  (module quote "(func (f64.const 0x0.0p-) drop)")
   254  "unknown operator"
   255)
   256(assert_malformed
   257  (module quote "(func (f64.const 0x0pA) drop)")
   258  "unknown operator"
   259)
   260
   261
   262;; Range error
   263
   264(module (func (i32.const 0xffffffff) drop))
   265(module (func (i32.const -0x80000000) drop))
   266(assert_malformed
   267  (module quote "(func (i32.const 0x100000000) drop)")
   268  "constant out of range"
   269)
   270(assert_malformed
   271  (module quote "(func (i32.const -0x80000001) drop)")
   272  "constant out of range"
   273)
   274
   275(module (func (i32.const 4294967295) drop))
   276(module (func (i32.const -2147483648) drop))
   277(assert_malformed
   278  (module quote "(func (i32.const 4294967296) drop)")
   279  "constant out of range"
   280)
   281(assert_malformed
   282  (module quote "(func (i32.const -2147483649) drop)")
   283  "constant out of range"
   284)
   285
   286(module (func (i64.const 0xffffffffffffffff) drop))
   287(module (func (i64.const -0x8000000000000000) drop))
   288(assert_malformed
   289  (module quote "(func (i64.const 0x10000000000000000) drop)")
   290  "constant out of range"
   291)
   292(assert_malformed
   293  (module quote "(func (i64.const -0x8000000000000001) drop)")
   294  "constant out of range"
   295)
   296
   297(module (func (i64.const 18446744073709551615) drop))
   298(module (func (i64.const -9223372036854775808) drop))
   299(assert_malformed
   300  (module quote "(func (i64.const 18446744073709551616) drop)")
   301  "constant out of range"
   302)
   303(assert_malformed
   304  (module quote "(func (i64.const -9223372036854775809) drop)")
   305  "constant out of range"
   306)
   307
   308(module (func (f32.const 0x1p127) drop))
   309(module (func (f32.const -0x1p127) drop))
   310(module (func (f32.const 0x1.fffffep127) drop))
   311(module (func (f32.const -0x1.fffffep127) drop))
   312(module (func (f32.const 0x1.fffffe7p127) drop))
   313(module (func (f32.const -0x1.fffffe7p127) drop))
   314(module (func (f32.const 0x1.fffffefffffff8000000p127) drop))
   315(module (func (f32.const -0x1.fffffefffffff8000000p127) drop))
   316(module (func (f32.const 0x1.fffffefffffffffffffp127) drop))
   317(module (func (f32.const -0x1.fffffefffffffffffffp127) drop))
   318(assert_malformed
   319  (module quote "(func (f32.const 0x1p128) drop)")
   320  "constant out of range"
   321)
   322(assert_malformed
   323  (module quote "(func (f32.const -0x1p128) drop)")
   324  "constant out of range"
   325)
   326(assert_malformed
   327  (module quote "(func (f32.const 0x1.ffffffp127) drop)")
   328  "constant out of range"
   329)
   330(assert_malformed
   331  (module quote "(func (f32.const -0x1.ffffffp127) drop)")
   332  "constant out of range"
   333)
   334
   335(module (func (f32.const 1e38) drop))
   336(module (func (f32.const -1e38) drop))
   337(assert_malformed
   338  (module quote "(func (f32.const 1e39) drop)")
   339  "constant out of range"
   340)
   341(assert_malformed
   342  (module quote "(func (f32.const -1e39) drop)")
   343  "constant out of range"
   344)
   345
   346(module (func (f32.const 340282356779733623858607532500980858880) drop))
   347(module (func (f32.const -340282356779733623858607532500980858880) drop))
   348(assert_malformed
   349  (module quote "(func (f32.const 340282356779733661637539395458142568448) drop)")
   350  "constant out of range"
   351)
   352(assert_malformed
   353  (module quote "(func (f32.const -340282356779733661637539395458142568448) drop)")
   354  "constant out of range"
   355)
   356
   357(module (func (f64.const 0x1p1023) drop))
   358(module (func (f64.const -0x1p1023) drop))
   359(module (func (f64.const 0x1.fffffffffffffp1023) drop))
   360(module (func (f64.const -0x1.fffffffffffffp1023) drop))
   361(module (func (f64.const 0x1.fffffffffffff7p1023) drop))
   362(module (func (f64.const -0x1.fffffffffffff7p1023) drop))
   363(module (func (f64.const 0x1.fffffffffffff7ffffffp1023) drop))
   364(module (func (f64.const -0x1.fffffffffffff7ffffffp1023) drop))
   365(assert_malformed
   366  (module quote "(func (f64.const 0x1p1024) drop)")
   367  "constant out of range"
   368)
   369(assert_malformed
   370  (module quote "(func (f64.const -0x1p1024) drop)")
   371  "constant out of range"
   372)
   373(assert_malformed
   374  (module quote "(func (f64.const 0x1.fffffffffffff8p1023) drop)")
   375  "constant out of range"
   376)
   377(assert_malformed
   378  (module quote "(func (f64.const -0x1.fffffffffffff8p1023) drop)")
   379  "constant out of range"
   380)
   381
   382(module (func (f64.const 1e308) drop))
   383(module (func (f64.const -1e308) drop))
   384(assert_malformed
   385  (module quote "(func (f64.const 1e309) drop)")
   386  "constant out of range"
   387)
   388(assert_malformed
   389  (module quote "(func (f64.const -1e309) drop)")
   390  "constant out of range"
   391)
   392
   393(module (func (f64.const 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368) drop))
   394(module (func (f64.const -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368) drop))
   395(assert_malformed
   396  (module quote "(func (f64.const 269653970229347356221791135597556535197105851288767494898376215204735891170042808140884337949150317257310688430271573696351481990334196274152701320055306275479074865864826923114368235135583993416113802762682700913456874855354834422248712838998185022412196739306217084753107265771378949821875606039276187287552) drop)")
   397  "constant out of range"
   398)
   399(assert_malformed
   400  (module quote "(func (f64.const -269653970229347356221791135597556535197105851288767494898376215204735891170042808140884337949150317257310688430271573696351481990334196274152701320055306275479074865864826923114368235135583993416113802762682700913456874855354834422248712838998185022412196739306217084753107265771378949821875606039276187287552) drop)")
   401  "constant out of range"
   402)
   403
   404(module (func (f32.const nan:0x1) drop))
   405(module (func (f64.const nan:0x1) drop))
   406(module (func (f32.const nan:0x7f_ffff) drop))
   407(module (func (f64.const nan:0xf_ffff_ffff_ffff) drop))
   408
   409(assert_malformed
   410  (module quote "(func (f32.const nan:1) drop)")
   411  "unknown operator"
   412)
   413(assert_malformed
   414  (module quote "(func (f64.const nan:1) drop)")
   415  "unknown operator"
   416)
   417
   418(assert_malformed
   419  (module quote "(func (f32.const nan:0x0) drop)")
   420  "constant out of range"
   421)
   422(assert_malformed
   423  (module quote "(func (f64.const nan:0x0) drop)")
   424  "constant out of range"
   425)
   426
   427(assert_malformed
   428  (module quote "(func (f32.const nan:0x80_0000) drop)")
   429  "constant out of range"
   430)
   431(assert_malformed
   432  (module quote "(func (f64.const nan:0x10_0000_0000_0000) drop)")
   433  "constant out of range"
   434)
   435
   436
   437;; Rounding behaviour
   438
   439;; f32, small exponent
   440(module (func (export "f") (result f32) (f32.const +0x1.00000100000000000p-50)))
   441(assert_return (invoke "f") (f32.const +0x1.000000p-50))
   442(module (func (export "f") (result f32) (f32.const -0x1.00000100000000000p-50)))
   443(assert_return (invoke "f") (f32.const -0x1.000000p-50))
   444(module (func (export "f") (result f32) (f32.const +0x1.00000100000000001p-50)))
   445(assert_return (invoke "f") (f32.const +0x1.000002p-50))
   446(module (func (export "f") (result f32) (f32.const -0x1.00000100000000001p-50)))
   447(assert_return (invoke "f") (f32.const -0x1.000002p-50))
   448(module (func (export "f") (result f32) (f32.const +0x1.000001fffffffffffp-50)))
   449(assert_return (invoke "f") (f32.const +0x1.000002p-50))
   450(module (func (export "f") (result f32) (f32.const -0x1.000001fffffffffffp-50)))
   451(assert_return (invoke "f") (f32.const -0x1.000002p-50))
   452(module (func (export "f") (result f32) (f32.const +0x1.00000200000000000p-50)))
   453(assert_return (invoke "f") (f32.const +0x1.000002p-50))
   454(module (func (export "f") (result f32) (f32.const -0x1.00000200000000000p-50)))
   455(assert_return (invoke "f") (f32.const -0x1.000002p-50))
   456(module (func (export "f") (result f32) (f32.const +0x1.00000200000000001p-50)))
   457(assert_return (invoke "f") (f32.const +0x1.000002p-50))
   458(module (func (export "f") (result f32) (f32.const -0x1.00000200000000001p-50)))
   459(assert_return (invoke "f") (f32.const -0x1.000002p-50))
   460(module (func (export "f") (result f32) (f32.const +0x1.000002fffffffffffp-50)))
   461(assert_return (invoke "f") (f32.const +0x1.000002p-50))
   462(module (func (export "f") (result f32) (f32.const -0x1.000002fffffffffffp-50)))
   463(assert_return (invoke "f") (f32.const -0x1.000002p-50))
   464(module (func (export "f") (result f32) (f32.const +0x1.00000300000000000p-50)))
   465(assert_return (invoke "f") (f32.const +0x1.000004p-50))
   466(module (func (export "f") (result f32) (f32.const -0x1.00000300000000000p-50)))
   467(assert_return (invoke "f") (f32.const -0x1.000004p-50))
   468(module (func (export "f") (result f32) (f32.const +0x1.00000300000000001p-50)))
   469(assert_return (invoke "f") (f32.const +0x1.000004p-50))
   470(module (func (export "f") (result f32) (f32.const -0x1.00000300000000001p-50)))
   471(assert_return (invoke "f") (f32.const -0x1.000004p-50))
   472(module (func (export "f") (result f32) (f32.const +0x1.000003fffffffffffp-50)))
   473(assert_return (invoke "f") (f32.const +0x1.000004p-50))
   474(module (func (export "f") (result f32) (f32.const -0x1.000003fffffffffffp-50)))
   475(assert_return (invoke "f") (f32.const -0x1.000004p-50))
   476(module (func (export "f") (result f32) (f32.const +0x1.00000400000000000p-50)))
   477(assert_return (invoke "f") (f32.const +0x1.000004p-50))
   478(module (func (export "f") (result f32) (f32.const -0x1.00000400000000000p-50)))
   479(assert_return (invoke "f") (f32.const -0x1.000004p-50))
   480(module (func (export "f") (result f32) (f32.const +0x1.00000400000000001p-50)))
   481(assert_return (invoke "f") (f32.const +0x1.000004p-50))
   482(module (func (export "f") (result f32) (f32.const -0x1.00000400000000001p-50)))
   483(assert_return (invoke "f") (f32.const -0x1.000004p-50))
   484(module (func (export "f") (result f32) (f32.const +0x1.000004fffffffffffp-50)))
   485(assert_return (invoke "f") (f32.const +0x1.000004p-50))
   486(module (func (export "f") (result f32) (f32.const -0x1.000004fffffffffffp-50)))
   487(assert_return (invoke "f") (f32.const -0x1.000004p-50))
   488(module (func (export "f") (result f32) (f32.const +0x1.00000500000000000p-50)))
   489(assert_return (invoke "f") (f32.const +0x1.000004p-50))
   490(module (func (export "f") (result f32) (f32.const -0x1.00000500000000000p-50)))
   491(assert_return (invoke "f") (f32.const -0x1.000004p-50))
   492(module (func (export "f") (result f32) (f32.const +0x1.00000500000000001p-50)))
   493(assert_return (invoke "f") (f32.const +0x1.000006p-50))
   494(module (func (export "f") (result f32) (f32.const -0x1.00000500000000001p-50)))
   495(assert_return (invoke "f") (f32.const -0x1.000006p-50))
   496
   497(module (func (export "f") (result f32) (f32.const +0x4000.004000000p-64)))
   498(assert_return (invoke "f") (f32.const +0x1.000000p-50))
   499(module (func (export "f") (result f32) (f32.const -0x4000.004000000p-64)))
   500(assert_return (invoke "f") (f32.const -0x1.000000p-50))
   501(module (func (export "f") (result f32) (f32.const +0x4000.004000001p-64)))
   502(assert_return (invoke "f") (f32.const +0x1.000002p-50))
   503(module (func (export "f") (result f32) (f32.const -0x4000.004000001p-64)))
   504(assert_return (invoke "f") (f32.const -0x1.000002p-50))
   505(module (func (export "f") (result f32) (f32.const +0x4000.007ffffffp-64)))
   506(assert_return (invoke "f") (f32.const +0x1.000002p-50))
   507(module (func (export "f") (result f32) (f32.const -0x4000.007ffffffp-64)))
   508(assert_return (invoke "f") (f32.const -0x1.000002p-50))
   509(module (func (export "f") (result f32) (f32.const +0x4000.008000000p-64)))
   510(assert_return (invoke "f") (f32.const +0x1.000002p-50))
   511(module (func (export "f") (result f32) (f32.const -0x4000.008000000p-64)))
   512(assert_return (invoke "f") (f32.const -0x1.000002p-50))
   513(module (func (export "f") (result f32) (f32.const +0x4000.008000001p-64)))
   514(assert_return (invoke "f") (f32.const +0x1.000002p-50))
   515(module (func (export "f") (result f32) (f32.const -0x4000.008000001p-64)))
   516(assert_return (invoke "f") (f32.const -0x1.000002p-50))
   517(module (func (export "f") (result f32) (f32.const +0x4000.00bffffffp-64)))
   518(assert_return (invoke "f") (f32.const +0x1.000002p-50))
   519(module (func (export "f") (result f32) (f32.const -0x4000.00bffffffp-64)))
   520(assert_return (invoke "f") (f32.const -0x1.000002p-50))
   521(module (func (export "f") (result f32) (f32.const +0x4000.00c000000p-64)))
   522(assert_return (invoke "f") (f32.const +0x1.000004p-50))
   523(module (func (export "f") (result f32) (f32.const -0x4000.00c000000p-64)))
   524(assert_return (invoke "f") (f32.const -0x1.000004p-50))
   525(module (func (export "f") (result f32) (f32.const +0x4000.00c000001p-64)))
   526(assert_return (invoke "f") (f32.const +0x1.000004p-50))
   527(module (func (export "f") (result f32) (f32.const -0x4000.00c000001p-64)))
   528(assert_return (invoke "f") (f32.const -0x1.000004p-50))
   529(module (func (export "f") (result f32) (f32.const +0x4000.00fffffffp-64)))
   530(assert_return (invoke "f") (f32.const +0x1.000004p-50))
   531(module (func (export "f") (result f32) (f32.const -0x4000.00fffffffp-64)))
   532(assert_return (invoke "f") (f32.const -0x1.000004p-50))
   533(module (func (export "f") (result f32) (f32.const +0x4000.010000001p-64)))
   534(assert_return (invoke "f") (f32.const +0x1.000004p-50))
   535(module (func (export "f") (result f32) (f32.const -0x4000.010000001p-64)))
   536(assert_return (invoke "f") (f32.const -0x1.000004p-50))
   537(module (func (export "f") (result f32) (f32.const +0x4000.013ffffffp-64)))
   538(assert_return (invoke "f") (f32.const +0x1.000004p-50))
   539(module (func (export "f") (result f32) (f32.const -0x4000.013ffffffp-64)))
   540(assert_return (invoke "f") (f32.const -0x1.000004p-50))
   541(module (func (export "f") (result f32) (f32.const +0x4000.014000001p-64)))
   542(assert_return (invoke "f") (f32.const +0x1.000006p-50))
   543(module (func (export "f") (result f32) (f32.const -0x4000.014000001p-64)))
   544(assert_return (invoke "f") (f32.const -0x1.000006p-50))
   545
   546(module (func (export "f") (result f32) (f32.const +8.8817847263968443573e-16)))
   547(assert_return (invoke "f") (f32.const +0x1.000000p-50))
   548(module (func (export "f") (result f32) (f32.const -8.8817847263968443573e-16)))
   549(assert_return (invoke "f") (f32.const -0x1.000000p-50))
   550(module (func (export "f") (result f32) (f32.const +8.8817847263968443574e-16)))
   551(assert_return (invoke "f") (f32.const +0x1.000002p-50))
   552(module (func (export "f") (result f32) (f32.const -8.8817847263968443574e-16)))
   553(assert_return (invoke "f") (f32.const -0x1.000002p-50))
   554(module (func (export "f") (result f32) (f32.const +8.8817857851880284252e-16)))
   555(assert_return (invoke "f") (f32.const +0x1.000002p-50))
   556(module (func (export "f") (result f32) (f32.const -8.8817857851880284252e-16)))
   557(assert_return (invoke "f") (f32.const -0x1.000002p-50))
   558(module (func (export "f") (result f32) (f32.const +8.8817857851880284253e-16)))
   559(assert_return (invoke "f") (f32.const +0x1.000004p-50))
   560(module (func (export "f") (result f32) (f32.const -8.8817857851880284253e-16)))
   561(assert_return (invoke "f") (f32.const -0x1.000004p-50))
   562
   563;; f32, large exponent
   564(module (func (export "f") (result f32) (f32.const +0x1.00000100000000000p+50)))
   565(assert_return (invoke "f") (f32.const +0x1.000000p+50))
   566(module (func (export "f") (result f32) (f32.const -0x1.00000100000000000p+50)))
   567(assert_return (invoke "f") (f32.const -0x1.000000p+50))
   568(module (func (export "f") (result f32) (f32.const +0x1.00000100000000001p+50)))
   569(assert_return (invoke "f") (f32.const +0x1.000002p+50))
   570(module (func (export "f") (result f32) (f32.const -0x1.00000100000000001p+50)))
   571(assert_return (invoke "f") (f32.const -0x1.000002p+50))
   572(module (func (export "f") (result f32) (f32.const +0x1.000001fffffffffffp+50)))
   573(assert_return (invoke "f") (f32.const +0x1.000002p+50))
   574(module (func (export "f") (result f32) (f32.const -0x1.000001fffffffffffp+50)))
   575(assert_return (invoke "f") (f32.const -0x1.000002p+50))
   576(module (func (export "f") (result f32) (f32.const +0x1.00000200000000000p+50)))
   577(assert_return (invoke "f") (f32.const +0x1.000002p+50))
   578(module (func (export "f") (result f32) (f32.const -0x1.00000200000000000p+50)))
   579(assert_return (invoke "f") (f32.const -0x1.000002p+50))
   580(module (func (export "f") (result f32) (f32.const +0x1.00000200000000001p+50)))
   581(assert_return (invoke "f") (f32.const +0x1.000002p+50))
   582(module (func (export "f") (result f32) (f32.const -0x1.00000200000000001p+50)))
   583(assert_return (invoke "f") (f32.const -0x1.000002p+50))
   584(module (func (export "f") (result f32) (f32.const +0x1.000002fffffffffffp+50)))
   585(assert_return (invoke "f") (f32.const +0x1.000002p+50))
   586(module (func (export "f") (result f32) (f32.const -0x1.000002fffffffffffp+50)))
   587(assert_return (invoke "f") (f32.const -0x1.000002p+50))
   588(module (func (export "f") (result f32) (f32.const +0x1.00000300000000000p+50)))
   589(assert_return (invoke "f") (f32.const +0x1.000004p+50))
   590(module (func (export "f") (result f32) (f32.const -0x1.00000300000000000p+50)))
   591(assert_return (invoke "f") (f32.const -0x1.000004p+50))
   592(module (func (export "f") (result f32) (f32.const +0x1.00000300000000001p+50)))
   593(assert_return (invoke "f") (f32.const +0x1.000004p+50))
   594(module (func (export "f") (result f32) (f32.const -0x1.00000300000000001p+50)))
   595(assert_return (invoke "f") (f32.const -0x1.000004p+50))
   596(module (func (export "f") (result f32) (f32.const +0x1.000003fffffffffffp+50)))
   597(assert_return (invoke "f") (f32.const +0x1.000004p+50))
   598(module (func (export "f") (result f32) (f32.const -0x1.000003fffffffffffp+50)))
   599(assert_return (invoke "f") (f32.const -0x1.000004p+50))
   600(module (func (export "f") (result f32) (f32.const +0x1.00000400000000000p+50)))
   601(assert_return (invoke "f") (f32.const +0x1.000004p+50))
   602(module (func (export "f") (result f32) (f32.const -0x1.00000400000000000p+50)))
   603(assert_return (invoke "f") (f32.const -0x1.000004p+50))
   604(module (func (export "f") (result f32) (f32.const +0x1.00000400000000001p+50)))
   605(assert_return (invoke "f") (f32.const +0x1.000004p+50))
   606(module (func (export "f") (result f32) (f32.const -0x1.00000400000000001p+50)))
   607(assert_return (invoke "f") (f32.const -0x1.000004p+50))
   608(module (func (export "f") (result f32) (f32.const +0x1.000004fffffffffffp+50)))
   609(assert_return (invoke "f") (f32.const +0x1.000004p+50))
   610(module (func (export "f") (result f32) (f32.const -0x1.000004fffffffffffp+50)))
   611(assert_return (invoke "f") (f32.const -0x1.000004p+50))
   612(module (func (export "f") (result f32) (f32.const +0x1.00000500000000000p+50)))
   613(assert_return (invoke "f") (f32.const +0x1.000004p+50))
   614(module (func (export "f") (result f32) (f32.const -0x1.00000500000000000p+50)))
   615(assert_return (invoke "f") (f32.const -0x1.000004p+50))
   616(module (func (export "f") (result f32) (f32.const +0x1.00000500000000001p+50)))
   617(assert_return (invoke "f") (f32.const +0x1.000006p+50))
   618(module (func (export "f") (result f32) (f32.const -0x1.00000500000000001p+50)))
   619(assert_return (invoke "f") (f32.const -0x1.000006p+50))
   620
   621(module (func (export "f") (result f32) (f32.const +0x4000004000000)))
   622(assert_return (invoke "f") (f32.const +0x1.000000p+50))
   623(module (func (export "f") (result f32) (f32.const -0x4000004000000)))
   624(assert_return (invoke "f") (f32.const -0x1.000000p+50))
   625(module (func (export "f") (result f32) (f32.const +0x4000004000001)))
   626(assert_return (invoke "f") (f32.const +0x1.000002p+50))
   627(module (func (export "f") (result f32) (f32.const -0x4000004000001)))
   628(assert_return (invoke "f") (f32.const -0x1.000002p+50))
   629(module (func (export "f") (result f32) (f32.const +0x4000007ffffff)))
   630(assert_return (invoke "f") (f32.const +0x1.000002p+50))
   631(module (func (export "f") (result f32) (f32.const -0x4000007ffffff)))
   632(assert_return (invoke "f") (f32.const -0x1.000002p+50))
   633(module (func (export "f") (result f32) (f32.const +0x4000008000000)))
   634(assert_return (invoke "f") (f32.const +0x1.000002p+50))
   635(module (func (export "f") (result f32) (f32.const -0x4000008000000)))
   636(assert_return (invoke "f") (f32.const -0x1.000002p+50))
   637(module (func (export "f") (result f32) (f32.const +0x4000008000001)))
   638(assert_return (invoke "f") (f32.const +0x1.000002p+50))
   639(module (func (export "f") (result f32) (f32.const -0x4000008000001)))
   640(assert_return (invoke "f") (f32.const -0x1.000002p+50))
   641(module (func (export "f") (result f32) (f32.const +0x400000bffffff)))
   642(assert_return (invoke "f") (f32.const +0x1.000002p+50))
   643(module (func (export "f") (result f32) (f32.const -0x400000bffffff)))
   644(assert_return (invoke "f") (f32.const -0x1.000002p+50))
   645(module (func (export "f") (result f32) (f32.const +0x400000c000000)))
   646(assert_return (invoke "f") (f32.const +0x1.000004p+50))
   647(module (func (export "f") (result f32) (f32.const -0x400000c000000)))
   648(assert_return (invoke "f") (f32.const -0x1.000004p+50))
   649
   650(module (func (export "f") (result f32) (f32.const +1125899973951488)))
   651(assert_return (invoke "f") (f32.const +0x1.000000p+50))
   652(module (func (export "f") (result f32) (f32.const -1125899973951488)))
   653(assert_return (invoke "f") (f32.const -0x1.000000p+50))
   654(module (func (export "f") (result f32) (f32.const +1125899973951489)))
   655(assert_return (invoke "f") (f32.const +0x1.000002p+50))
   656(module (func (export "f") (result f32) (f32.const -1125899973951489)))
   657(assert_return (invoke "f") (f32.const -0x1.000002p+50))
   658(module (func (export "f") (result f32) (f32.const +1125900108169215)))
   659(assert_return (invoke "f") (f32.const +0x1.000002p+50))
   660(module (func (export "f") (result f32) (f32.const -1125900108169215)))
   661(assert_return (invoke "f") (f32.const -0x1.000002p+50))
   662(module (func (export "f") (result f32) (f32.const +1125900108169216)))
   663(assert_return (invoke "f") (f32.const +0x1.000004p+50))
   664(module (func (export "f") (result f32) (f32.const -1125900108169216)))
   665(assert_return (invoke "f") (f32.const -0x1.000004p+50))
   666
   667;; f32, subnormal
   668(module (func (export "f") (result f32) (f32.const +0x0.00000100000000000p-126)))
   669(assert_return (invoke "f") (f32.const +0x0.000000p-126))
   670(module (func (export "f") (result f32) (f32.const -0x0.00000100000000000p-126)))
   671(assert_return (invoke "f") (f32.const -0x0.000000p-126))
   672(module (func (export "f") (result f32) (f32.const +0x0.00000100000000001p-126)))
   673(assert_return (invoke "f") (f32.const +0x0.000002p-126))
   674(module (func (export "f") (result f32) (f32.const -0x0.00000100000000001p-126)))
   675(assert_return (invoke "f") (f32.const -0x0.000002p-126))
   676(module (func (export "f") (result f32) (f32.const +0x0.000001fffffffffffp-126)))
   677(assert_return (invoke "f") (f32.const +0x0.000002p-126))
   678(module (func (export "f") (result f32) (f32.const -0x0.000001fffffffffffp-126)))
   679(assert_return (invoke "f") (f32.const -0x0.000002p-126))
   680(module (func (export "f") (result f32) (f32.const +0x0.00000200000000000p-126)))
   681(assert_return (invoke "f") (f32.const +0x0.000002p-126))
   682(module (func (export "f") (result f32) (f32.const -0x0.00000200000000000p-126)))
   683(assert_return (invoke "f") (f32.const -0x0.000002p-126))
   684(module (func (export "f") (result f32) (f32.const +0x0.00000200000000001p-126)))
   685(assert_return (invoke "f") (f32.const +0x0.000002p-126))
   686(module (func (export "f") (result f32) (f32.const -0x0.00000200000000001p-126)))
   687(assert_return (invoke "f") (f32.const -0x0.000002p-126))
   688(module (func (export "f") (result f32) (f32.const +0x0.000002fffffffffffp-126)))
   689(assert_return (invoke "f") (f32.const +0x0.000002p-126))
   690(module (func (export "f") (result f32) (f32.const -0x0.000002fffffffffffp-126)))
   691(assert_return (invoke "f") (f32.const -0x0.000002p-126))
   692(module (func (export "f") (result f32) (f32.const +0x0.00000300000000000p-126)))
   693(assert_return (invoke "f") (f32.const +0x0.000004p-126))
   694(module (func (export "f") (result f32) (f32.const -0x0.00000300000000000p-126)))
   695(assert_return (invoke "f") (f32.const -0x0.000004p-126))
   696(module (func (export "f") (result f32) (f32.const +0x0.00000300000000001p-126)))
   697(assert_return (invoke "f") (f32.const +0x0.000004p-126))
   698(module (func (export "f") (result f32) (f32.const -0x0.00000300000000001p-126)))
   699(assert_return (invoke "f") (f32.const -0x0.000004p-126))
   700(module (func (export "f") (result f32) (f32.const +0x0.000003fffffffffffp-126)))
   701(assert_return (invoke "f") (f32.const +0x0.000004p-126))
   702(module (func (export "f") (result f32) (f32.const -0x0.000003fffffffffffp-126)))
   703(assert_return (invoke "f") (f32.const -0x0.000004p-126))
   704(module (func (export "f") (result f32) (f32.const +0x0.00000400000000000p-126)))
   705(assert_return (invoke "f") (f32.const +0x0.000004p-126))
   706(module (func (export "f") (result f32) (f32.const -0x0.00000400000000000p-126)))
   707(assert_return (invoke "f") (f32.const -0x0.000004p-126))
   708(module (func (export "f") (result f32) (f32.const +0x0.00000400000000001p-126)))
   709(assert_return (invoke "f") (f32.const +0x0.000004p-126))
   710(module (func (export "f") (result f32) (f32.const -0x0.00000400000000001p-126)))
   711(assert_return (invoke "f") (f32.const -0x0.000004p-126))
   712(module (func (export "f") (result f32) (f32.const +0x0.000004fffffffffffp-126)))
   713(assert_return (invoke "f") (f32.const +0x0.000004p-126))
   714(module (func (export "f") (result f32) (f32.const -0x0.000004fffffffffffp-126)))
   715(assert_return (invoke "f") (f32.const -0x0.000004p-126))
   716(module (func (export "f") (result f32) (f32.const +0x0.00000500000000000p-126)))
   717(assert_return (invoke "f") (f32.const +0x0.000004p-126))
   718(module (func (export "f") (result f32) (f32.const -0x0.00000500000000000p-126)))
   719(assert_return (invoke "f") (f32.const -0x0.000004p-126))
   720(module (func (export "f") (result f32) (f32.const +0x0.00000500000000001p-126)))
   721(assert_return (invoke "f") (f32.const +0x0.000006p-126))
   722(module (func (export "f") (result f32) (f32.const -0x0.00000500000000001p-126)))
   723(assert_return (invoke "f") (f32.const -0x0.000006p-126))
   724
   725;; f32, round down at limit to infinity
   726(module (func (export "f") (result f32) (f32.const +0x1.fffffe8p127)))
   727(assert_return (invoke "f") (f32.const +0x1.fffffep127))
   728(module (func (export "f") (result f32) (f32.const -0x1.fffffe8p127)))
   729(assert_return (invoke "f") (f32.const -0x1.fffffep127))
   730(module (func (export "f") (result f32) (f32.const +0x1.fffffefffffff8p127)))
   731(assert_return (invoke "f") (f32.const +0x1.fffffep127))
   732(module (func (export "f") (result f32) (f32.const -0x1.fffffefffffff8p127)))
   733(assert_return (invoke "f") (f32.const -0x1.fffffep127))
   734(module (func (export "f") (result f32) (f32.const +0x1.fffffefffffffffffp127)))
   735(assert_return (invoke "f") (f32.const +0x1.fffffep127))
   736(module (func (export "f") (result f32) (f32.const -0x1.fffffefffffffffffp127)))
   737(assert_return (invoke "f") (f32.const -0x1.fffffep127))
   738
   739;; f64, small exponent
   740(module (func (export "f") (result f64) (f64.const +0x1.000000000000080000000000p-600)))
   741(assert_return (invoke "f") (f64.const +0x1.0000000000000p-600))
   742(module (func (export "f") (result f64) (f64.const -0x1.000000000000080000000000p-600)))
   743(assert_return (invoke "f") (f64.const -0x1.0000000000000p-600))
   744(module (func (export "f") (result f64) (f64.const +0x1.000000000000080000000001p-600)))
   745(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
   746(module (func (export "f") (result f64) (f64.const -0x1.000000000000080000000001p-600)))
   747(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
   748(module (func (export "f") (result f64) (f64.const +0x1.0000000000000fffffffffffp-600)))
   749(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
   750(module (func (export "f") (result f64) (f64.const -0x1.0000000000000fffffffffffp-600)))
   751(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
   752(module (func (export "f") (result f64) (f64.const +0x1.000000000000100000000000p-600)))
   753(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
   754(module (func (export "f") (result f64) (f64.const -0x1.000000000000100000000000p-600)))
   755(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
   756(module (func (export "f") (result f64) (f64.const +0x1.000000000000100000000001p-600)))
   757(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
   758(module (func (export "f") (result f64) (f64.const -0x1.000000000000100000000001p-600)))
   759(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
   760(module (func (export "f") (result f64) (f64.const +0x1.00000000000017ffffffffffp-600)))
   761(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
   762(module (func (export "f") (result f64) (f64.const -0x1.00000000000017ffffffffffp-600)))
   763(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
   764(module (func (export "f") (result f64) (f64.const +0x1.000000000000180000000000p-600)))
   765(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
   766(module (func (export "f") (result f64) (f64.const -0x1.000000000000180000000000p-600)))
   767(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
   768(module (func (export "f") (result f64) (f64.const +0x1.000000000000180000000001p-600)))
   769(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
   770(module (func (export "f") (result f64) (f64.const -0x1.000000000000180000000001p-600)))
   771(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
   772(module (func (export "f") (result f64) (f64.const +0x1.0000000000001fffffffffffp-600)))
   773(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
   774(module (func (export "f") (result f64) (f64.const -0x1.0000000000001fffffffffffp-600)))
   775(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
   776(module (func (export "f") (result f64) (f64.const +0x1.000000000000200000000000p-600)))
   777(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
   778(module (func (export "f") (result f64) (f64.const -0x1.000000000000200000000000p-600)))
   779(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
   780(module (func (export "f") (result f64) (f64.const +0x1.000000000000200000000001p-600)))
   781(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
   782(module (func (export "f") (result f64) (f64.const -0x1.000000000000200000000001p-600)))
   783(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
   784(module (func (export "f") (result f64) (f64.const +0x1.00000000000027ffffffffffp-600)))
   785(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
   786(module (func (export "f") (result f64) (f64.const -0x1.00000000000027ffffffffffp-600)))
   787(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
   788(module (func (export "f") (result f64) (f64.const +0x1.000000000000280000000001p-600)))
   789(assert_return (invoke "f") (f64.const +0x1.0000000000003p-600))
   790(module (func (export "f") (result f64) (f64.const -0x1.000000000000280000000001p-600)))
   791(assert_return (invoke "f") (f64.const -0x1.0000000000003p-600))
   792
   793(module (func (export "f") (result f64) (f64.const +0x8000000.000000400000000000p-627)))
   794(assert_return (invoke "f") (f64.const +0x1.0000000000000p-600))
   795(module (func (export "f") (result f64) (f64.const -0x8000000.000000400000000000p-627)))
   796(assert_return (invoke "f") (f64.const -0x1.0000000000000p-600))
   797(module (func (export "f") (result f64) (f64.const +0x8000000.000000400000000001p-627)))
   798(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
   799(module (func (export "f") (result f64) (f64.const -0x8000000.000000400000000001p-627)))
   800(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
   801(module (func (export "f") (result f64) (f64.const +0x8000000.0000007fffffffffffp-627)))
   802(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
   803(module (func (export "f") (result f64) (f64.const -0x8000000.0000007fffffffffffp-627)))
   804(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
   805(module (func (export "f") (result f64) (f64.const +0x8000000.000000800000000000p-627)))
   806(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
   807(module (func (export "f") (result f64) (f64.const -0x8000000.000000800000000000p-627)))
   808(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
   809(module (func (export "f") (result f64) (f64.const +0x8000000.000000800000000001p-627)))
   810(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
   811(module (func (export "f") (result f64) (f64.const -0x8000000.000000800000000001p-627)))
   812(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
   813(module (func (export "f") (result f64) (f64.const +0x8000000.000000bfffffffffffp-627)))
   814(assert_return (invoke "f") (f64.const +0x1.0000000000001p-600))
   815(module (func (export "f") (result f64) (f64.const -0x8000000.000000bfffffffffffp-627)))
   816(assert_return (invoke "f") (f64.const -0x1.0000000000001p-600))
   817(module (func (export "f") (result f64) (f64.const +0x8000000.000000c00000000000p-627)))
   818(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
   819(module (func (export "f") (result f64) (f64.const -0x8000000.000000c00000000000p-627)))
   820(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
   821(module (func (export "f") (result f64) (f64.const +0x8000000.000000c00000000001p-627)))
   822(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
   823(module (func (export "f") (result f64) (f64.const -0x8000000.000000c00000000001p-627)))
   824(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
   825(module (func (export "f") (result f64) (f64.const +0x8000000.000000ffffffffffffp-627)))
   826(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
   827(module (func (export "f") (result f64) (f64.const -0x8000000.000000ffffffffffffp-627)))
   828(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
   829(module (func (export "f") (result f64) (f64.const +0x8000000.000001000000000000p-627)))
   830(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
   831(module (func (export "f") (result f64) (f64.const -0x8000000.000001000000000000p-627)))
   832(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
   833(module (func (export "f") (result f64) (f64.const +0x8000000.000001000000000001p-627)))
   834(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
   835(module (func (export "f") (result f64) (f64.const -0x8000000.000001000000000001p-627)))
   836(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
   837(module (func (export "f") (result f64) (f64.const +0x8000000.0000013fffffffffffp-627)))
   838(assert_return (invoke "f") (f64.const +0x1.0000000000002p-600))
   839(module (func (export "f") (result f64) (f64.const -0x8000000.0000013fffffffffffp-627)))
   840(assert_return (invoke "f") (f64.const -0x1.0000000000002p-600))
   841(module (func (export "f") (result f64) (f64.const +0x8000000.000001400000000001p-627)))
   842(assert_return (invoke "f") (f64.const +0x1.0000000000003p-600))
   843(module (func (export "f") (result f64) (f64.const -0x8000000.000001400000000001p-627)))
   844(assert_return (invoke "f") (f64.const -0x1.0000000000003p-600))
   845
   846(module (func (export "f") (result f64) (f64.const +5.3575430359313371995e+300)))
   847(assert_return (invoke "f") (f64.const +0x1.0000000000000p+999))
   848(module (func (export "f") (result f64) (f64.const -5.3575430359313371995e+300)))
   849(assert_return (invoke "f") (f64.const -0x1.0000000000000p+999))
   850(module (func (export "f") (result f64) (f64.const +5.3575430359313371996e+300)))
   851(assert_return (invoke "f") (f64.const +0x1.0000000000001p+999))
   852(module (func (export "f") (result f64) (f64.const -5.3575430359313371996e+300)))
   853(assert_return (invoke "f") (f64.const -0x1.0000000000001p+999))
   854(module (func (export "f") (result f64) (f64.const +5.3575430359313383891e+300)))
   855(assert_return (invoke "f") (f64.const +0x1.0000000000001p+999))
   856(module (func (export "f") (result f64) (f64.const -5.3575430359313383891e+300)))
   857(assert_return (invoke "f") (f64.const -0x1.0000000000001p+999))
   858(module (func (export "f") (result f64) (f64.const +5.3575430359313383892e+300)))
   859(assert_return (invoke "f") (f64.const +0x1.0000000000002p+999))
   860(module (func (export "f") (result f64) (f64.const -5.3575430359313383892e+300)))
   861(assert_return (invoke "f") (f64.const -0x1.0000000000002p+999))
   862
   863;; f64, large exponent
   864(module (func (export "f") (result f64) (f64.const +0x1.000000000000080000000000p+600)))
   865(assert_return (invoke "f") (f64.const +0x1.0000000000000p+600))
   866(module (func (export "f") (result f64) (f64.const -0x1.000000000000080000000000p+600)))
   867(assert_return (invoke "f") (f64.const -0x1.0000000000000p+600))
   868(module (func (export "f") (result f64) (f64.const +0x1.000000000000080000000001p+600)))
   869(assert_return (invoke "f") (f64.const +0x1.0000000000001p+600))
   870(module (func (export "f") (result f64) (f64.const -0x1.000000000000080000000001p+600)))
   871(assert_return (invoke "f") (f64.const -0x1.0000000000001p+600))
   872(module (func (export "f") (result f64) (f64.const +0x1.0000000000000fffffffffffp+600)))
   873(assert_return (invoke "f") (f64.const +0x1.0000000000001p+600))
   874(module (func (export "f") (result f64) (f64.const -0x1.0000000000000fffffffffffp+600)))
   875(assert_return (invoke "f") (f64.const -0x1.0000000000001p+600))
   876(module (func (export "f") (result f64) (f64.const +0x1.000000000000100000000000p+600)))
   877(assert_return (invoke "f") (f64.const +0x1.0000000000001p+600))
   878(module (func (export "f") (result f64) (f64.const -0x1.000000000000100000000000p+600)))
   879(assert_return (invoke "f") (f64.const -0x1.0000000000001p+600))
   880(module (func (export "f") (result f64) (f64.const +0x1.000000000000100000000001p+600)))
   881(assert_return (invoke "f") (f64.const +0x1.0000000000001p+600))
   882(module (func (export "f") (result f64) (f64.const -0x1.000000000000100000000001p+600)))
   883(assert_return (invoke "f") (f64.const -0x1.0000000000001p+600))
   884(module (func (export "f") (result f64) (f64.const +0x1.00000000000017ffffffffffp+600)))
   885(assert_return (invoke "f") (f64.const +0x1.0000000000001p+600))
   886(module (func (export "f") (result f64) (f64.const -0x1.00000000000017ffffffffffp+600)))
   887(assert_return (invoke "f") (f64.const -0x1.0000000000001p+600))
   888(module (func (export "f") (result f64) (f64.const +0x1.000000000000180000000000p+600)))
   889(assert_return (invoke "f") (f64.const +0x1.0000000000002p+600))
   890(module (func (export "f") (result f64) (f64.const -0x1.000000000000180000000000p+600)))
   891(assert_return (invoke "f") (f64.const -0x1.0000000000002p+600))
   892(module (func (export "f") (result f64) (f64.const +0x1.000000000000180000000001p+600)))
   893(assert_return (invoke "f") (f64.const +0x1.0000000000002p+600))
   894(module (func (export "f") (result f64) (f64.const -0x1.000000000000180000000001p+600)))
   895(assert_return (invoke "f") (f64.const -0x1.0000000000002p+600))
   896(module (func (export "f") (result f64) (f64.const +0x1.0000000000001fffffffffffp+600)))
   897(assert_return (invoke "f") (f64.const +0x1.0000000000002p+600))
   898(module (func (export "f") (result f64) (f64.const -0x1.0000000000001fffffffffffp+600)))
   899(assert_return (invoke "f") (f64.const -0x1.0000000000002p+600))
   900(module (func (export "f") (result f64) (f64.const +0x1.000000000000200000000000p+600)))
   901(assert_return (invoke "f") (f64.const +0x1.0000000000002p+600))
   902(module (func (export "f") (result f64) (f64.const -0x1.000000000000200000000000p+600)))
   903(assert_return (invoke "f") (f64.const -0x1.0000000000002p+600))
   904(module (func (export "f") (result f64) (f64.const +0x1.000000000000200000000001p+600)))
   905(assert_return (invoke "f") (f64.const +0x1.0000000000002p+600))
   906(module (func (export "f") (result f64) (f64.const -0x1.000000000000200000000001p+600)))
   907(assert_return (invoke "f") (f64.const -0x1.0000000000002p+600))
   908(module (func (export "f") (result f64) (f64.const +0x1.00000000000027ffffffffffp+600)))
   909(assert_return (invoke "f") (f64.const +0x1.0000000000002p+600))
   910(module (func (export "f") (result f64) (f64.const -0x1.00000000000027ffffffffffp+600)))
   911(assert_return (invoke "f") (f64.const -0x1.0000000000002p+600))
   912(module (func (export "f") (result f64) (f64.const +0x1.000000000000280000000000p+600)))
   913(assert_return (invoke "f") (f64.const +0x1.0000000000002p+600))
   914(module (func (export "f") (result f64) (f64.const -0x1.000000000000280000000000p+600)))
   915(assert_return (invoke "f") (f64.const -0x1.0000000000002p+600))
   916(module (func (export "f") (result f64) (f64.const +0x1.000000000000280000000001p+600)))
   917(assert_return (invoke "f") (f64.const +0x1.0000000000003p+600))
   918(module (func (export "f") (result f64) (f64.const -0x1.000000000000280000000001p+600)))
   919(assert_return (invoke "f") (f64.const -0x1.0000000000003p+600))
   920
   921(module (func (export "f") (result f64) (f64.const +0x2000000000000100000000000)))
   922(assert_return (invoke "f") (f64.const +0x1.0000000000000p+97))
   923(module (func (export "f") (result f64) (f64.const -0x2000000000000100000000000)))
   924(assert_return (invoke "f") (f64.const -0x1.0000000000000p+97))
   925(module (func (export "f") (result f64) (f64.const +0x2000000000000100000000001)))
   926(assert_return (invoke "f") (f64.const +0x1.0000000000001p+97))
   927(module (func (export "f") (result f64) (f64.const -0x2000000000000100000000001)))
   928(assert_return (invoke "f") (f64.const -0x1.0000000000001p+97))
   929(module (func (export "f") (result f64) (f64.const +0x20000000000001fffffffffff)))
   930(assert_return (invoke "f") (f64.const +0x1.0000000000001p+97))
   931(module (func (export "f") (result f64) (f64.const -0x20000000000001fffffffffff)))
   932(assert_return (invoke "f") (f64.const -0x1.0000000000001p+97))
   933(module (func (export "f") (result f64) (f64.const +0x2000000000000200000000000)))
   934(assert_return (invoke "f") (f64.const +0x1.0000000000001p+97))
   935(module (func (export "f") (result f64) (f64.const -0x2000000000000200000000000)))
   936(assert_return (invoke "f") (f64.const -0x1.0000000000001p+97))
   937(module (func (export "f") (result f64) (f64.const +0x2000000000000200000000001)))
   938(assert_return (invoke "f") (f64.const +0x1.0000000000001p+97))
   939(module (func (export "f") (result f64) (f64.const -0x2000000000000200000000001)))
   940(assert_return (invoke "f") (f64.const -0x1.0000000000001p+97))
   941(module (func (export "f") (result f64) (f64.const +0x20000000000002fffffffffff)))
   942(assert_return (invoke "f") (f64.const +0x1.0000000000001p+97))
   943(module (func (export "f") (result f64) (f64.const -0x20000000000002fffffffffff)))
   944(assert_return (invoke "f") (f64.const -0x1.0000000000001p+97))
   945(module (func (export "f") (result f64) (f64.const +0x2000000000000300000000000)))
   946(assert_return (invoke "f") (f64.const +0x1.0000000000002p+97))
   947(module (func (export "f") (result f64) (f64.const -0x2000000000000300000000000)))
   948(assert_return (invoke "f") (f64.const -0x1.0000000000002p+97))
   949(module (func (export "f") (result f64) (f64.const +0x2000000000000300000000001)))
   950(assert_return (invoke "f") (f64.const +0x1.0000000000002p+97))
   951(module (func (export "f") (result f64) (f64.const -0x2000000000000300000000001)))
   952(assert_return (invoke "f") (f64.const -0x1.0000000000002p+97))
   953(module (func (export "f") (result f64) (f64.const +0x20000000000003fffffffffff)))
   954(assert_return (invoke "f") (f64.const +0x1.0000000000002p+97))
   955(module (func (export "f") (result f64) (f64.const -0x20000000000003fffffffffff)))
   956(assert_return (invoke "f") (f64.const -0x1.0000000000002p+97))
   957(module (func (export "f") (result f64) (f64.const +0x2000000000000400000000000)))
   958(assert_return (invoke "f") (f64.const +0x1.0000000000002p+97))
   959(module (func (export "f") (result f64) (f64.const -0x2000000000000400000000000)))
   960(assert_return (invoke "f") (f64.const -0x1.0000000000002p+97))
   961(module (func (export "f") (result f64) (f64.const +0x2000000000000400000000001)))
   962(assert_return (invoke "f") (f64.const +0x1.0000000000002p+97))
   963(module (func (export "f") (result f64) (f64.const -0x2000000000000400000000001)))
   964(assert_return (invoke "f") (f64.const -0x1.0000000000002p+97))
   965(module (func (export "f") (result f64) (f64.const +0x20000000000004fffffffffff)))
   966(assert_return (invoke "f") (f64.const +0x1.0000000000002p+97))
   967(module (func (export "f") (result f64) (f64.const -0x20000000000004fffffffffff)))
   968(assert_return (invoke "f") (f64.const -0x1.0000000000002p+97))
   969(module (func (export "f") (result f64) (f64.const +0x2000000000000500000000000)))
   970(assert_return (invoke "f") (f64.const +0x1.0000000000002p+97))
   971(module (func (export "f") (result f64) (f64.const -0x2000000000000500000000000)))
   972(assert_return (invoke "f") (f64.const -0x1.0000000000002p+97))
   973(module (func (export "f") (result f64) (f64.const +0x2000000000000500000000001)))
   974(assert_return (invoke "f") (f64.const +0x1.0000000000003p+97))
   975(module (func (export "f") (result f64) (f64.const -0x2000000000000500000000001)))
   976(assert_return (invoke "f") (f64.const -0x1.0000000000003p+97))
   977
   978(module (func (export "f") (result f64) (f64.const +1152921504606847104)))
   979(assert_return (invoke "f") (f64.const +0x1.0000000000000p+60))
   980(module (func (export "f") (result f64) (f64.const -1152921504606847104)))
   981(assert_return (invoke "f") (f64.const -0x1.0000000000000p+60))
   982(module (func (export "f") (result f64) (f64.const +1152921504606847105)))
   983(assert_return (invoke "f") (f64.const +0x1.0000000000001p+60))
   984(module (func (export "f") (result f64) (f64.const -1152921504606847105)))
   985(assert_return (invoke "f") (f64.const -0x1.0000000000001p+60))
   986(module (func (export "f") (result f64) (f64.const +1152921504606847359)))
   987(assert_return (invoke "f") (f64.const +0x1.0000000000001p+60))
   988(module (func (export "f") (result f64) (f64.const -1152921504606847359)))
   989(assert_return (invoke "f") (f64.const -0x1.0000000000001p+60))
   990(module (func (export "f") (result f64) (f64.const +1152921504606847360)))
   991(assert_return (invoke "f") (f64.const +0x1.0000000000002p+60))
   992(module (func (export "f") (result f64) (f64.const -1152921504606847360)))
   993(assert_return (invoke "f") (f64.const -0x1.0000000000002p+60))
   994
   995;; f64, subnormal
   996(module (func (export "f") (result f64) (f64.const +0x0.000000000000080000000000p-1022)))
   997(assert_return (invoke "f") (f64.const +0x0.0000000000000p-1022))
   998(module (func (export "f") (result f64) (f64.const -0x0.000000000000080000000000p-1022)))
   999(assert_return (invoke "f") (f64.const -0x0.0000000000000p-1022))
  1000(module (func (export "f") (result f64) (f64.const +0x0.000000000000080000000001p-1022)))
  1001(assert_return (invoke "f") (f64.const +0x0.0000000000001p-1022))
  1002(module (func (export "f") (result f64) (f64.const -0x0.000000000000080000000001p-1022)))
  1003(assert_return (invoke "f") (f64.const -0x0.0000000000001p-1022))
  1004(module (func (export "f") (result f64) (f64.const +0x0.0000000000000fffffffffffp-1022)))
  1005(assert_return (invoke "f") (f64.const +0x0.0000000000001p-1022))
  1006(module (func (export "f") (result f64) (f64.const -0x0.0000000000000fffffffffffp-1022)))
  1007(assert_return (invoke "f") (f64.const -0x0.0000000000001p-1022))
  1008(module (func (export "f") (result f64) (f64.const +0x0.000000000000100000000000p-1022)))
  1009(assert_return (invoke "f") (f64.const +0x0.0000000000001p-1022))
  1010(module (func (export "f") (result f64) (f64.const -0x0.000000000000100000000000p-1022)))
  1011(assert_return (invoke "f") (f64.const -0x0.0000000000001p-1022))
  1012(module (func (export "f") (result f64) (f64.const +0x0.000000000000100000000001p-1022)))
  1013(assert_return (invoke "f") (f64.const +0x0.0000000000001p-1022))
  1014(module (func (export "f") (result f64) (f64.const -0x0.000000000000100000000001p-1022)))
  1015(assert_return (invoke "f") (f64.const -0x0.0000000000001p-1022))
  1016(module (func (export "f") (result f64) (f64.const +0x0.00000000000017ffffffffffp-1022)))
  1017(assert_return (invoke "f") (f64.const +0x0.0000000000001p-1022))
  1018(module (func (export "f") (result f64) (f64.const -0x0.00000000000017ffffffffffp-1022)))
  1019(assert_return (invoke "f") (f64.const -0x0.0000000000001p-1022))
  1020(module (func (export "f") (result f64) (f64.const +0x0.000000000000180000000000p-1022)))
  1021(assert_return (invoke "f") (f64.const +0x0.0000000000002p-1022))
  1022(module (func (export "f") (result f64) (f64.const -0x0.000000000000180000000000p-1022)))
  1023(assert_return (invoke "f") (f64.const -0x0.0000000000002p-1022))
  1024(module (func (export "f") (result f64) (f64.const +0x0.000000000000180000000001p-1022)))
  1025(assert_return (invoke "f") (f64.const +0x0.0000000000002p-1022))
  1026(module (func (export "f") (result f64) (f64.const -0x0.000000000000180000000001p-1022)))
  1027(assert_return (invoke "f") (f64.const -0x0.0000000000002p-1022))
  1028(module (func (export "f") (result f64) (f64.const +0x0.0000000000001fffffffffffp-1022)))
  1029(assert_return (invoke "f") (f64.const +0x0.0000000000002p-1022))
  1030(module (func (export "f") (result f64) (f64.const -0x0.0000000000001fffffffffffp-1022)))
  1031(assert_return (invoke "f") (f64.const -0x0.0000000000002p-1022))
  1032(module (func (export "f") (result f64) (f64.const +0x0.000000000000200000000000p-1022)))
  1033(assert_return (invoke "f") (f64.const +0x0.0000000000002p-1022))
  1034(module (func (export "f") (result f64) (f64.const -0x0.000000000000200000000000p-1022)))
  1035(assert_return (invoke "f") (f64.const -0x0.0000000000002p-1022))
  1036(module (func (export "f") (result f64) (f64.const +0x0.000000000000200000000001p-1022)))
  1037(assert_return (invoke "f") (f64.const +0x0.0000000000002p-1022))
  1038(module (func (export "f") (result f64) (f64.const -0x0.000000000000200000000001p-1022)))
  1039(assert_return (invoke "f") (f64.const -0x0.0000000000002p-1022))
  1040(module (func (export "f") (result f64) (f64.const +0x0.00000000000027ffffffffffp-1022)))
  1041(assert_return (invoke "f") (f64.const +0x0.0000000000002p-1022))
  1042(module (func (export "f") (result f64) (f64.const -0x0.00000000000027ffffffffffp-1022)))
  1043(assert_return (invoke "f") (f64.const -0x0.0000000000002p-1022))
  1044(module (func (export "f") (result f64) (f64.const +0x0.000000000000280000000000p-1022)))
  1045(assert_return (invoke "f") (f64.const +0x0.0000000000002p-1022))
  1046(module (func (export "f") (result f64) (f64.const -0x0.000000000000280000000000p-1022)))
  1047(assert_return (invoke "f") (f64.const -0x0.0000000000002p-1022))
  1048(module (func (export "f") (result f64) (f64.const +0x1.000000000000280000000001p-1022)))
  1049(assert_return (invoke "f") (f64.const +0x1.0000000000003p-1022))
  1050(module (func (export "f") (result f64) (f64.const -0x1.000000000000280000000001p-1022)))
  1051(assert_return (invoke "f") (f64.const -0x1.0000000000003p-1022))
  1052
  1053;; f64, round down at limit to infinity
  1054(module (func (export "f") (result f64) (f64.const +0x1.fffffffffffff4p1023)))
  1055(assert_return (invoke "f") (f64.const +0x1.fffffffffffffp1023))
  1056(module (func (export "f") (result f64) (f64.const -0x1.fffffffffffff4p1023)))
  1057(assert_return (invoke "f") (f64.const -0x1.fffffffffffffp1023))
  1058(module (func (export "f") (result f64) (f64.const +0x1.fffffffffffff7ffffffp1023)))
  1059(assert_return (invoke "f") (f64.const +0x1.fffffffffffffp1023))
  1060(module (func (export "f") (result f64) (f64.const -0x1.fffffffffffff7ffffffp1023)))
  1061(assert_return (invoke "f") (f64.const -0x1.fffffffffffffp1023))

View as plain text