| (module |
| (type $none_=>_none (func)) |
| (global $global$0 (mut i32) (i32.const 10)) |
| (export "func_59_invoker" (func $0)) |
| (func $0 (; 0 ;) (; has Stack IR ;) |
| (global.set $global$0 |
| (i32.const 0) |
| ) |
| (unreachable) |
| ) |
| ) |
| (module |
| (type $none_=>_none (func)) |
| (type $i32_=>_none (func (param i32))) |
| (type $i32_=>_i32 (func (param i32) (result i32))) |
| (type $none_=>_i32 (func (result i32))) |
| (type $f64_f64_f64_f64_f64_f64_f64_=>_i32 (func (param f64 f64 f64 f64 f64 f64 f64) (result i32))) |
| (type $none_=>_f64 (func (result f64))) |
| (type $i32_=>_f64 (func (param i32) (result f64))) |
| (import "env" "memory" (memory $0 1)) |
| (data (i32.const 8) "\0d\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") |
| (data (i32.const 40) "\1c\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") |
| (table $0 1 funcref) |
| (elem (i32.const 0) $null) |
| (global $global$0 (mut i32) (i32.const 0)) |
| (global $global$1 (mut i32) (i32.const 0)) |
| (global $global$5 (mut i32) (i32.const 0)) |
| (export "memory" (memory $0)) |
| (export "table" (table $0)) |
| (export "init" (func $assembly/index/init)) |
| (export "step" (func $assembly/index/step)) |
| (export "bench" (func $assembly/index/bench)) |
| (export "getBody" (func $assembly/index/getBody)) |
| (start $start) |
| (func $~lib/allocator/arena/__memory_allocate (; 0 ;) (; has Stack IR ;) (param $0 i32) (result i32) |
| (local $1 i32) |
| (local $2 i32) |
| (local $3 i32) |
| (if |
| (i32.gt_u |
| (local.get $0) |
| (i32.const 1073741824) |
| ) |
| (unreachable) |
| ) |
| (if |
| (i32.gt_u |
| (local.tee $0 |
| (i32.and |
| (i32.add |
| (i32.add |
| (local.tee $1 |
| (global.get $global$1) |
| ) |
| (select |
| (local.get $0) |
| (i32.const 1) |
| (i32.gt_u |
| (local.get $0) |
| (i32.const 1) |
| ) |
| ) |
| ) |
| (i32.const 7) |
| ) |
| (i32.const -8) |
| ) |
| ) |
| (i32.shl |
| (local.tee $2 |
| (memory.size) |
| ) |
| (i32.const 16) |
| ) |
| ) |
| (if |
| (i32.lt_s |
| (memory.grow |
| (select |
| (local.get $2) |
| (local.tee $3 |
| (i32.shr_u |
| (i32.and |
| (i32.add |
| (i32.sub |
| (local.get $0) |
| (local.get $1) |
| ) |
| (i32.const 65535) |
| ) |
| (i32.const -65536) |
| ) |
| (i32.const 16) |
| ) |
| ) |
| (i32.gt_s |
| (local.get $2) |
| (local.get $3) |
| ) |
| ) |
| ) |
| (i32.const 0) |
| ) |
| (if |
| (i32.lt_s |
| (memory.grow |
| (local.get $3) |
| ) |
| (i32.const 0) |
| ) |
| (unreachable) |
| ) |
| ) |
| ) |
| (global.set $global$1 |
| (local.get $0) |
| ) |
| (local.get $1) |
| ) |
| (func $assembly/index/NBodySystem#constructor (; 1 ;) (; has Stack IR ;) (param $0 i32) (result i32) |
| (local $1 i32) |
| (local $2 i32) |
| (local $3 f64) |
| (local $4 f64) |
| (local $5 f64) |
| (local $6 f64) |
| (local $7 i32) |
| (local.set $7 |
| (i32.load offset=4 |
| (local.get $0) |
| ) |
| ) |
| (loop $label$3 |
| (if |
| (i32.lt_s |
| (local.get $1) |
| (local.get $7) |
| ) |
| (block |
| (local.set $3 |
| (f64.load offset=48 |
| (local.tee $2 |
| (i32.load offset=8 |
| (i32.add |
| (i32.load |
| (local.get $0) |
| ) |
| (i32.shl |
| (local.get $1) |
| (i32.const 2) |
| ) |
| ) |
| ) |
| ) |
| ) |
| ) |
| (local.set $4 |
| (f64.add |
| (local.get $4) |
| (f64.mul |
| (f64.load offset=24 |
| (local.get $2) |
| ) |
| (local.get $3) |
| ) |
| ) |
| ) |
| (local.set $5 |
| (f64.add |
| (local.get $5) |
| (f64.mul |
| (f64.load offset=32 |
| (local.get $2) |
| ) |
| (local.get $3) |
| ) |
| ) |
| ) |
| (local.set $6 |
| (f64.add |
| (local.get $6) |
| (f64.mul |
| (f64.load offset=40 |
| (local.get $2) |
| ) |
| (local.get $3) |
| ) |
| ) |
| ) |
| (local.set $1 |
| (i32.add |
| (local.get $1) |
| (i32.const 1) |
| ) |
| ) |
| (br $label$3) |
| ) |
| ) |
| ) |
| (f64.store offset=24 |
| (local.tee $1 |
| (if (result i32) |
| (i32.lt_u |
| (i32.const 0) |
| (i32.shr_u |
| (i32.load |
| (local.tee $1 |
| (i32.load |
| (local.get $0) |
| ) |
| ) |
| ) |
| (i32.const 2) |
| ) |
| ) |
| (i32.load offset=8 |
| (local.get $1) |
| ) |
| (unreachable) |
| ) |
| ) |
| (f64.div |
| (f64.neg |
| (local.get $4) |
| ) |
| (f64.const 39.47841760435743) |
| ) |
| ) |
| (f64.store offset=32 |
| (local.get $1) |
| (f64.div |
| (f64.neg |
| (local.get $5) |
| ) |
| (f64.const 39.47841760435743) |
| ) |
| ) |
| (f64.store offset=40 |
| (local.get $1) |
| (f64.div |
| (f64.neg |
| (local.get $6) |
| ) |
| (f64.const 39.47841760435743) |
| ) |
| ) |
| (i32.store |
| (local.tee $1 |
| (call $~lib/allocator/arena/__memory_allocate |
| (i32.const 4) |
| ) |
| ) |
| (local.get $0) |
| ) |
| (local.get $1) |
| ) |
| (func $assembly/index/Body#constructor (; 2 ;) (; has Stack IR ;) (param $0 f64) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 f64) (param $5 f64) (param $6 f64) (result i32) |
| (local $7 i32) |
| (f64.store |
| (local.tee $7 |
| (call $~lib/allocator/arena/__memory_allocate |
| (i32.const 56) |
| ) |
| ) |
| (local.get $0) |
| ) |
| (f64.store offset=8 |
| (local.get $7) |
| (local.get $1) |
| ) |
| (f64.store offset=16 |
| (local.get $7) |
| (local.get $2) |
| ) |
| (f64.store offset=24 |
| (local.get $7) |
| (local.get $3) |
| ) |
| (f64.store offset=32 |
| (local.get $7) |
| (local.get $4) |
| ) |
| (f64.store offset=40 |
| (local.get $7) |
| (local.get $5) |
| ) |
| (f64.store offset=48 |
| (local.get $7) |
| (local.get $6) |
| ) |
| (local.get $7) |
| ) |
| (func $~lib/internal/memory/memset (; 3 ;) (; has Stack IR ;) (param $0 i32) |
| (local $1 i32) |
| (local $2 i32) |
| (i32.store8 |
| (local.get $0) |
| (i32.const 0) |
| ) |
| (i32.store8 |
| (i32.sub |
| (local.tee $1 |
| (i32.add |
| (local.get $0) |
| (i32.const 20) |
| ) |
| ) |
| (i32.const 1) |
| ) |
| (i32.const 0) |
| ) |
| (i32.store8 |
| (i32.add |
| (local.get $0) |
| (i32.const 1) |
| ) |
| (i32.const 0) |
| ) |
| (i32.store8 |
| (i32.add |
| (local.get $0) |
| (i32.const 2) |
| ) |
| (i32.const 0) |
| ) |
| (i32.store8 |
| (i32.sub |
| (local.get $1) |
| (i32.const 2) |
| ) |
| (i32.const 0) |
| ) |
| (i32.store8 |
| (i32.sub |
| (local.get $1) |
| (i32.const 3) |
| ) |
| (i32.const 0) |
| ) |
| (i32.store8 |
| (i32.add |
| (local.get $0) |
| (i32.const 3) |
| ) |
| (i32.const 0) |
| ) |
| (i32.store8 |
| (i32.sub |
| (local.get $1) |
| (i32.const 4) |
| ) |
| (i32.const 0) |
| ) |
| (i32.store |
| (local.tee $0 |
| (i32.add |
| (local.tee $1 |
| (i32.and |
| (i32.sub |
| (i32.const 0) |
| (local.get $0) |
| ) |
| (i32.const 3) |
| ) |
| ) |
| (local.get $0) |
| ) |
| ) |
| (i32.const 0) |
| ) |
| (i32.store |
| (i32.sub |
| (i32.add |
| (local.tee $1 |
| (i32.and |
| (i32.sub |
| (i32.const 20) |
| (local.get $1) |
| ) |
| (i32.const -4) |
| ) |
| ) |
| (local.get $0) |
| ) |
| (i32.const 4) |
| ) |
| (i32.const 0) |
| ) |
| (if |
| (i32.le_u |
| (local.get $1) |
| (i32.const 8) |
| ) |
| (return) |
| ) |
| (i32.store |
| (i32.add |
| (local.get $0) |
| (i32.const 4) |
| ) |
| (i32.const 0) |
| ) |
| (i32.store |
| (i32.add |
| (local.get $0) |
| (i32.const 8) |
| ) |
| (i32.const 0) |
| ) |
| (i32.store |
| (i32.sub |
| (local.tee $2 |
| (i32.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (i32.const 12) |
| ) |
| (i32.const 0) |
| ) |
| (i32.store |
| (i32.sub |
| (local.get $2) |
| (i32.const 8) |
| ) |
| (i32.const 0) |
| ) |
| (if |
| (i32.le_u |
| (local.get $1) |
| (i32.const 24) |
| ) |
| (return) |
| ) |
| (i32.store |
| (i32.add |
| (local.get $0) |
| (i32.const 12) |
| ) |
| (i32.const 0) |
| ) |
| (i32.store |
| (i32.add |
| (local.get $0) |
| (i32.const 16) |
| ) |
| (i32.const 0) |
| ) |
| (i32.store |
| (i32.add |
| (local.get $0) |
| (i32.const 20) |
| ) |
| (i32.const 0) |
| ) |
| (i32.store |
| (i32.add |
| (local.get $0) |
| (i32.const 24) |
| ) |
| (i32.const 0) |
| ) |
| (i32.store |
| (i32.sub |
| (local.tee $2 |
| (i32.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (i32.const 28) |
| ) |
| (i32.const 0) |
| ) |
| (i32.store |
| (i32.sub |
| (local.get $2) |
| (i32.const 24) |
| ) |
| (i32.const 0) |
| ) |
| (i32.store |
| (i32.sub |
| (local.get $2) |
| (i32.const 20) |
| ) |
| (i32.const 0) |
| ) |
| (i32.store |
| (i32.sub |
| (local.get $2) |
| (i32.const 16) |
| ) |
| (i32.const 0) |
| ) |
| (local.set $0 |
| (i32.add |
| (local.tee $2 |
| (i32.add |
| (i32.and |
| (local.get $0) |
| (i32.const 4) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (local.get $0) |
| ) |
| ) |
| (local.set $1 |
| (i32.sub |
| (local.get $1) |
| (local.get $2) |
| ) |
| ) |
| (loop $label$8 |
| (if |
| (i32.ge_u |
| (local.get $1) |
| (i32.const 32) |
| ) |
| (block |
| (i64.store |
| (local.get $0) |
| (i64.const 0) |
| ) |
| (i64.store |
| (i32.add |
| (local.get $0) |
| (i32.const 8) |
| ) |
| (i64.const 0) |
| ) |
| (i64.store |
| (i32.add |
| (local.get $0) |
| (i32.const 16) |
| ) |
| (i64.const 0) |
| ) |
| (i64.store |
| (i32.add |
| (local.get $0) |
| (i32.const 24) |
| ) |
| (i64.const 0) |
| ) |
| (local.set $1 |
| (i32.sub |
| (local.get $1) |
| (i32.const 32) |
| ) |
| ) |
| (local.set $0 |
| (i32.add |
| (local.get $0) |
| (i32.const 32) |
| ) |
| ) |
| (br $label$8) |
| ) |
| ) |
| ) |
| ) |
| (func $~lib/array/Array<Body>#constructor (; 4 ;) (; has Stack IR ;) (result i32) |
| (local $0 i32) |
| (local $1 i32) |
| (i32.store |
| (local.tee $1 |
| (call $~lib/allocator/arena/__memory_allocate |
| (i32.const 32) |
| ) |
| ) |
| (i32.const 20) |
| ) |
| (i32.store |
| (local.tee $0 |
| (call $~lib/allocator/arena/__memory_allocate |
| (i32.const 8) |
| ) |
| ) |
| (i32.const 0) |
| ) |
| (i32.store offset=4 |
| (local.get $0) |
| (i32.const 0) |
| ) |
| (i32.store |
| (local.get $0) |
| (local.get $1) |
| ) |
| (i32.store offset=4 |
| (local.get $0) |
| (i32.const 5) |
| ) |
| (call $~lib/internal/memory/memset |
| (i32.add |
| (local.get $1) |
| (i32.const 8) |
| ) |
| ) |
| (local.get $0) |
| ) |
| (func $assembly/index/init (; 5 ;) (; has Stack IR ;) |
| (local $0 i32) |
| (local $1 i32) |
| (local.set $1 |
| (call $~lib/array/Array<Body>#constructor) |
| ) |
| (local.set $0 |
| (call $assembly/index/Body#constructor |
| (f64.const 0) |
| (f64.const 0) |
| (f64.const 0) |
| (f64.const 0) |
| (f64.const 0) |
| (f64.const 0) |
| (f64.const 39.47841760435743) |
| ) |
| ) |
| (i32.store offset=8 |
| (i32.load |
| (local.get $1) |
| ) |
| (local.get $0) |
| ) |
| (local.set $0 |
| (call $assembly/index/Body#constructor |
| (f64.const 4.841431442464721) |
| (f64.const -1.1603200440274284) |
| (f64.const -0.10362204447112311) |
| (f64.const 0.606326392995832) |
| (f64.const 2.81198684491626) |
| (f64.const -0.02521836165988763) |
| (f64.const 0.03769367487038949) |
| ) |
| ) |
| (i32.store offset=8 |
| (i32.add |
| (i32.load |
| (local.get $1) |
| ) |
| (i32.const 4) |
| ) |
| (local.get $0) |
| ) |
| (local.set $0 |
| (call $assembly/index/Body#constructor |
| (f64.const 8.34336671824458) |
| (f64.const 4.124798564124305) |
| (f64.const -0.4035234171143214) |
| (f64.const -1.0107743461787924) |
| (f64.const 1.8256623712304119) |
| (f64.const 0.008415761376584154) |
| (f64.const 0.011286326131968767) |
| ) |
| ) |
| (i32.store offset=8 |
| (i32.add |
| (i32.load |
| (local.get $1) |
| ) |
| (i32.const 8) |
| ) |
| (local.get $0) |
| ) |
| (local.set $0 |
| (call $assembly/index/Body#constructor |
| (f64.const 12.894369562139131) |
| (f64.const -15.111151401698631) |
| (f64.const -0.22330757889265573) |
| (f64.const 1.0827910064415354) |
| (f64.const 0.8687130181696082) |
| (f64.const -0.010832637401363636) |
| (f64.const 1.7237240570597112e-03) |
| ) |
| ) |
| (i32.store offset=8 |
| (i32.add |
| (i32.load |
| (local.get $1) |
| ) |
| (i32.const 12) |
| ) |
| (local.get $0) |
| ) |
| (local.set $0 |
| (call $assembly/index/Body#constructor |
| (f64.const 15.379697114850917) |
| (f64.const -25.919314609987964) |
| (f64.const 0.17925877295037118) |
| (f64.const 0.979090732243898) |
| (f64.const 0.5946989986476762) |
| (f64.const -0.034755955504078104) |
| (f64.const 2.0336868699246304e-03) |
| ) |
| ) |
| (i32.store offset=8 |
| (i32.add |
| (i32.load |
| (local.get $1) |
| ) |
| (i32.const 16) |
| ) |
| (local.get $0) |
| ) |
| (global.set $global$5 |
| (call $assembly/index/NBodySystem#constructor |
| (local.get $1) |
| ) |
| ) |
| ) |
| (func $assembly/index/NBodySystem#advance (; 6 ;) (; has Stack IR ;) (param $0 i32) |
| (local $1 i32) |
| (local $2 f64) |
| (local $3 i32) |
| (local $4 f64) |
| (local $5 f64) |
| (local $6 f64) |
| (local $7 i32) |
| (local $8 f64) |
| (local $9 f64) |
| (local $10 f64) |
| (local $11 f64) |
| (local $12 i32) |
| (local $13 i32) |
| (local $14 f64) |
| (local $15 f64) |
| (local $16 f64) |
| (local $17 f64) |
| (local.set $13 |
| (i32.load offset=4 |
| (local.tee $12 |
| (i32.load |
| (local.get $0) |
| ) |
| ) |
| ) |
| ) |
| (loop $label$3 |
| (if |
| (i32.lt_u |
| (local.get $3) |
| (local.get $13) |
| ) |
| (block |
| (local.set $14 |
| (f64.load |
| (local.tee $0 |
| (i32.load offset=8 |
| (i32.add |
| (i32.load |
| (local.get $12) |
| ) |
| (i32.shl |
| (local.get $3) |
| (i32.const 2) |
| ) |
| ) |
| ) |
| ) |
| ) |
| ) |
| (local.set $15 |
| (f64.load offset=8 |
| (local.get $0) |
| ) |
| ) |
| (local.set $16 |
| (f64.load offset=16 |
| (local.get $0) |
| ) |
| ) |
| (local.set $4 |
| (f64.load offset=24 |
| (local.get $0) |
| ) |
| ) |
| (local.set $5 |
| (f64.load offset=32 |
| (local.get $0) |
| ) |
| ) |
| (local.set $6 |
| (f64.load offset=40 |
| (local.get $0) |
| ) |
| ) |
| (local.set $17 |
| (f64.load offset=48 |
| (local.get $0) |
| ) |
| ) |
| (local.set $7 |
| (i32.add |
| (local.get $3) |
| (i32.const 1) |
| ) |
| ) |
| (loop $label$6 |
| (if |
| (i32.lt_u |
| (local.get $7) |
| (local.get $13) |
| ) |
| (block |
| (local.set $11 |
| (f64.sqrt |
| (local.tee $8 |
| (f64.add |
| (f64.add |
| (f64.mul |
| (local.tee $2 |
| (f64.sub |
| (local.get $14) |
| (f64.load |
| (local.tee $1 |
| (i32.load offset=8 |
| (i32.add |
| (i32.load |
| (local.get $12) |
| ) |
| (i32.shl |
| (local.get $7) |
| (i32.const 2) |
| ) |
| ) |
| ) |
| ) |
| ) |
| ) |
| ) |
| (local.get $2) |
| ) |
| (f64.mul |
| (local.tee $9 |
| (f64.sub |
| (local.get $15) |
| (f64.load offset=8 |
| (local.get $1) |
| ) |
| ) |
| ) |
| (local.get $9) |
| ) |
| ) |
| (f64.mul |
| (local.tee $10 |
| (f64.sub |
| (local.get $16) |
| (f64.load offset=16 |
| (local.get $1) |
| ) |
| ) |
| ) |
| (local.get $10) |
| ) |
| ) |
| ) |
| ) |
| ) |
| (local.set $4 |
| (f64.sub |
| (local.get $4) |
| (f64.mul |
| (local.get $2) |
| (local.tee $8 |
| (f64.mul |
| (f64.load offset=48 |
| (local.get $1) |
| ) |
| (local.tee $11 |
| (f64.div |
| (f64.const 0.01) |
| (f64.mul |
| (local.get $8) |
| (local.get $11) |
| ) |
| ) |
| ) |
| ) |
| ) |
| ) |
| ) |
| ) |
| (local.set $5 |
| (f64.sub |
| (local.get $5) |
| (f64.mul |
| (local.get $9) |
| (local.get $8) |
| ) |
| ) |
| ) |
| (local.set $6 |
| (f64.sub |
| (local.get $6) |
| (f64.mul |
| (local.get $10) |
| (local.get $8) |
| ) |
| ) |
| ) |
| (f64.store offset=24 |
| (local.get $1) |
| (f64.add |
| (f64.load offset=24 |
| (local.get $1) |
| ) |
| (f64.mul |
| (local.get $2) |
| (local.tee $2 |
| (f64.mul |
| (local.get $17) |
| (local.get $11) |
| ) |
| ) |
| ) |
| ) |
| ) |
| (f64.store offset=32 |
| (local.get $1) |
| (f64.add |
| (f64.load offset=32 |
| (local.get $1) |
| ) |
| (f64.mul |
| (local.get $9) |
| (local.get $2) |
| ) |
| ) |
| ) |
| (f64.store offset=40 |
| (local.get $1) |
| (f64.add |
| (f64.load offset=40 |
| (local.get $1) |
| ) |
| (f64.mul |
| (local.get $10) |
| (local.get $2) |
| ) |
| ) |
| ) |
| (local.set $7 |
| (i32.add |
| (local.get $7) |
| (i32.const 1) |
| ) |
| ) |
| (br $label$6) |
| ) |
| ) |
| ) |
| (f64.store offset=24 |
| (local.get $0) |
| (local.get $4) |
| ) |
| (f64.store offset=32 |
| (local.get $0) |
| (local.get $5) |
| ) |
| (f64.store offset=40 |
| (local.get $0) |
| (local.get $6) |
| ) |
| (f64.store |
| (local.get $0) |
| (f64.add |
| (f64.load |
| (local.get $0) |
| ) |
| (f64.mul |
| (f64.const 0.01) |
| (local.get $4) |
| ) |
| ) |
| ) |
| (f64.store offset=8 |
| (local.get $0) |
| (f64.add |
| (f64.load offset=8 |
| (local.get $0) |
| ) |
| (f64.mul |
| (f64.const 0.01) |
| (local.get $5) |
| ) |
| ) |
| ) |
| (f64.store offset=16 |
| (local.get $0) |
| (f64.add |
| (f64.load offset=16 |
| (local.get $0) |
| ) |
| (f64.mul |
| (f64.const 0.01) |
| (local.get $6) |
| ) |
| ) |
| ) |
| (local.set $3 |
| (i32.add |
| (local.get $3) |
| (i32.const 1) |
| ) |
| ) |
| (br $label$3) |
| ) |
| ) |
| ) |
| ) |
| (func $assembly/index/NBodySystem#energy (; 7 ;) (; has Stack IR ;) (param $0 i32) (result f64) |
| (local $1 f64) |
| (local $2 i32) |
| (local $3 i32) |
| (local $4 i32) |
| (local $5 i32) |
| (local $6 f64) |
| (local $7 f64) |
| (local $8 f64) |
| (local $9 f64) |
| (local $10 f64) |
| (local.set $5 |
| (i32.load offset=4 |
| (local.tee $4 |
| (i32.load |
| (local.get $0) |
| ) |
| ) |
| ) |
| ) |
| (loop $label$4 |
| (if |
| (i32.lt_u |
| (local.get $2) |
| (local.get $5) |
| ) |
| (block |
| (local.set $7 |
| (f64.load |
| (local.tee $0 |
| (i32.load offset=8 |
| (i32.add |
| (i32.load |
| (local.get $4) |
| ) |
| (i32.shl |
| (local.get $2) |
| (i32.const 2) |
| ) |
| ) |
| ) |
| ) |
| ) |
| ) |
| (local.set $8 |
| (f64.load offset=8 |
| (local.get $0) |
| ) |
| ) |
| (local.set $9 |
| (f64.load offset=16 |
| (local.get $0) |
| ) |
| ) |
| (local.set $1 |
| (f64.add |
| (local.get $1) |
| (f64.mul |
| (f64.mul |
| (f64.const 0.5) |
| (local.tee $10 |
| (f64.load offset=48 |
| (local.get $0) |
| ) |
| ) |
| ) |
| (f64.add |
| (f64.add |
| (f64.mul |
| (local.tee $1 |
| (f64.load offset=24 |
| (local.get $0) |
| ) |
| ) |
| (local.get $1) |
| ) |
| (f64.mul |
| (local.tee $1 |
| (f64.load offset=32 |
| (local.get $0) |
| ) |
| ) |
| (local.get $1) |
| ) |
| ) |
| (f64.mul |
| (local.tee $1 |
| (f64.load offset=40 |
| (local.get $0) |
| ) |
| ) |
| (local.get $1) |
| ) |
| ) |
| ) |
| ) |
| ) |
| (local.set $0 |
| (i32.add |
| (local.get $2) |
| (i32.const 1) |
| ) |
| ) |
| (loop $label$7 |
| (if |
| (i32.lt_u |
| (local.get $0) |
| (local.get $5) |
| ) |
| (block |
| (local.set $6 |
| (f64.sub |
| (local.get $7) |
| (f64.load |
| (local.tee $3 |
| (i32.load offset=8 |
| (i32.add |
| (i32.load |
| (local.get $4) |
| ) |
| (i32.shl |
| (local.get $0) |
| (i32.const 2) |
| ) |
| ) |
| ) |
| ) |
| ) |
| ) |
| ) |
| (local.set $1 |
| (f64.sub |
| (local.get $1) |
| (f64.div |
| (f64.mul |
| (local.get $10) |
| (f64.load offset=48 |
| (local.get $3) |
| ) |
| ) |
| (f64.sqrt |
| (f64.add |
| (f64.add |
| (f64.mul |
| (local.get $6) |
| (local.get $6) |
| ) |
| (f64.mul |
| (local.tee $1 |
| (f64.sub |
| (local.get $8) |
| (f64.load offset=8 |
| (local.get $3) |
| ) |
| ) |
| ) |
| (local.get $1) |
| ) |
| ) |
| (f64.mul |
| (local.tee $1 |
| (f64.sub |
| (local.get $9) |
| (f64.load offset=16 |
| (local.get $3) |
| ) |
| ) |
| ) |
| (local.get $1) |
| ) |
| ) |
| ) |
| ) |
| ) |
| ) |
| (local.set $0 |
| (i32.add |
| (local.get $0) |
| (i32.const 1) |
| ) |
| ) |
| (br $label$7) |
| ) |
| ) |
| ) |
| (local.set $2 |
| (i32.add |
| (local.get $2) |
| (i32.const 1) |
| ) |
| ) |
| (br $label$4) |
| ) |
| ) |
| ) |
| (local.get $1) |
| ) |
| (func $assembly/index/step (; 8 ;) (; has Stack IR ;) (result f64) |
| (call $assembly/index/NBodySystem#advance |
| (global.get $global$5) |
| ) |
| (call $assembly/index/NBodySystem#energy |
| (global.get $global$5) |
| ) |
| ) |
| (func $assembly/index/bench (; 9 ;) (; has Stack IR ;) (param $0 i32) |
| (local $1 i32) |
| (block $label$1 |
| (loop $label$2 |
| (br_if $label$1 |
| (i32.ge_u |
| (local.get $1) |
| (local.get $0) |
| ) |
| ) |
| (call $assembly/index/NBodySystem#advance |
| (global.get $global$5) |
| ) |
| (local.set $1 |
| (i32.add |
| (local.get $1) |
| (i32.const 1) |
| ) |
| ) |
| (br $label$2) |
| ) |
| ) |
| ) |
| (func $assembly/index/getBody (; 10 ;) (; has Stack IR ;) (param $0 i32) (result i32) |
| (local $1 i32) |
| (if (result i32) |
| (i32.lt_u |
| (local.get $0) |
| (i32.load offset=4 |
| (local.tee $1 |
| (i32.load |
| (global.get $global$5) |
| ) |
| ) |
| ) |
| ) |
| (if (result i32) |
| (i32.lt_u |
| (local.get $0) |
| (i32.shr_u |
| (i32.load |
| (local.tee $1 |
| (i32.load |
| (local.get $1) |
| ) |
| ) |
| ) |
| (i32.const 2) |
| ) |
| ) |
| (i32.load offset=8 |
| (i32.add |
| (i32.shl |
| (local.get $0) |
| (i32.const 2) |
| ) |
| (local.get $1) |
| ) |
| ) |
| (unreachable) |
| ) |
| (i32.const 0) |
| ) |
| ) |
| (func $start (; 11 ;) (; has Stack IR ;) |
| (global.set $global$0 |
| (i32.const 104) |
| ) |
| (global.set $global$1 |
| (i32.const 104) |
| ) |
| ) |
| (func $null (; 12 ;) (; has Stack IR ;) |
| (nop) |
| ) |
| ) |