1(module
2  (memory 1)
3  (func (export "ceil") (param i32) (result f64)
4    local.get 0
5    f64.load
6    f64.ceil
7    return)
8  (func (export "trunc") (param i32) (result f64)
9    local.get 0
10    f64.load
11    f64.trunc
12    return)
13  (func (export "floor") (param i32) (result f64)
14    local.get 0
15    f64.load
16    f64.floor
17    return)
18  (func (export "nearest") (param i32) (result f64)
19    local.get 0
20    f64.load
21    f64.nearest
22    return)
23)
24
25(assert_return (invoke "ceil" (i32.const 0xfff8)) (f64.const 0))
26(assert_return (invoke "trunc" (i32.const 0xfff8)) (f64.const 0))
27(assert_return (invoke "floor" (i32.const 0xfff8)) (f64.const 0))
28(assert_return (invoke "nearest" (i32.const 0xfff8)) (f64.const 0))
29