Created
January 12, 2018 20:46
-
-
Save pepyakin/339cae837b6a424c8e0e667a9748b42c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(module | |
(type $FUNCSIG$vi (func (param i32))) | |
(import "env" "exit" (func $exit (param i32))) | |
(table 0 anyfunc) | |
(memory $0 17) | |
(data (i32.const 4) " \00\10\00") | |
(data (i32.const 12) "\00\00\00\00") | |
(export "memory" (memory $0)) | |
(export "f" (func $f)) | |
(export "main" (func $main)) | |
(func $f (; 1 ;) (param $0 i32) (result i32) | |
(local $1 i32) | |
(local $2 i32) | |
(local $3 i32) | |
(local $4 i32) | |
(local $5 i32) | |
(local $6 i32) | |
(local $7 i32) | |
(local $8 i32) | |
(local $9 i32) | |
(local $10 i32) | |
(local $11 i32) | |
(local $12 i32) | |
(local $13 i32) | |
(local $14 i32) | |
(local $15 i32) | |
(local $16 i32) | |
(local $17 i32) | |
(local $18 i32) | |
(local $19 i32) | |
(local $20 i32) | |
(local $21 i32) | |
(local $22 i32) | |
(local $23 i32) | |
(local $24 i32) | |
(local $25 i32) | |
(local $26 i32) | |
(local $27 i32) | |
(local $28 i32) | |
(local $29 i32) | |
(set_local $27 | |
(i32.const 0) | |
) | |
(set_local $26 | |
(i32.load offset=4 | |
(get_local $27) | |
) | |
) | |
(set_local $28 | |
(i32.const 16) | |
) | |
(set_local $29 | |
(i32.sub | |
(get_local $26) | |
(get_local $28) | |
) | |
) | |
(i32.store offset=4 | |
(get_local $29) | |
(get_local $0) | |
) | |
(block $label$0 | |
(loop $label$1 | |
(set_local $7 | |
(i32.const 0) | |
) | |
(set_local $8 | |
(i32.load offset=12 | |
(get_local $7) | |
) | |
) | |
(set_local $6 | |
(i32.load offset=4 | |
(get_local $29) | |
) | |
) | |
(set_local $5 | |
(i32.load | |
(get_local $6) | |
) | |
) | |
(set_local $2 | |
(get_local $8) | |
) | |
(set_local $3 | |
(get_local $5) | |
) | |
(set_local $4 | |
(i32.lt_s | |
(get_local $2) | |
(get_local $3) | |
) | |
) | |
(set_local $1 | |
(get_local $4) | |
) | |
(br_if $label$0 | |
(i32.eqz | |
(get_local $1) | |
) | |
) | |
(set_local $10 | |
(i32.const 0) | |
) | |
(i32.store | |
(get_local $29) | |
(get_local $10) | |
) | |
(block $label$2 | |
(loop $label$3 | |
(set_local $17 | |
(i32.load | |
(get_local $29) | |
) | |
) | |
(set_local $16 | |
(i32.load offset=4 | |
(get_local $29) | |
) | |
) | |
(set_local $15 | |
(i32.load | |
(get_local $16) | |
) | |
) | |
(set_local $12 | |
(get_local $17) | |
) | |
(set_local $13 | |
(get_local $15) | |
) | |
(set_local $14 | |
(i32.lt_s | |
(get_local $12) | |
(get_local $13) | |
) | |
) | |
(set_local $11 | |
(get_local $14) | |
) | |
(br_if $label$2 | |
(i32.eqz | |
(get_local $11) | |
) | |
) | |
(set_local $25 | |
(i32.load | |
(get_local $29) | |
) | |
) | |
(set_local $23 | |
(i32.const 1) | |
) | |
(set_local $24 | |
(i32.add | |
(get_local $25) | |
(get_local $23) | |
) | |
) | |
(i32.store | |
(get_local $29) | |
(get_local $24) | |
) | |
(br $label$3) | |
) | |
) | |
(set_local $21 | |
(i32.const 0) | |
) | |
(set_local $22 | |
(i32.load offset=12 | |
(get_local $21) | |
) | |
) | |
(set_local $19 | |
(i32.const 1) | |
) | |
(set_local $20 | |
(i32.add | |
(get_local $22) | |
(get_local $19) | |
) | |
) | |
(set_local $18 | |
(i32.const 0) | |
) | |
(i32.store offset=12 | |
(get_local $18) | |
(get_local $20) | |
) | |
(br $label$1) | |
) | |
) | |
(set_local $9 | |
(i32.load offset=8 | |
(get_local $29) | |
) | |
) | |
(return | |
(get_local $9) | |
) | |
) | |
(func $main (; 2 ;) (result i32) | |
(local $0 i32) | |
(local $1 i32) | |
(local $2 i32) | |
(local $3 i32) | |
(local $4 i32) | |
(local $5 i32) | |
(local $6 i32) | |
(local $7 i32) | |
(local $8 i32) | |
(local $9 i32) | |
(set_local $6 | |
(i32.const 0) | |
) | |
(set_local $5 | |
(i32.load offset=4 | |
(get_local $6) | |
) | |
) | |
(set_local $7 | |
(i32.const 16) | |
) | |
(set_local $9 | |
(i32.sub | |
(get_local $5) | |
(get_local $7) | |
) | |
) | |
(set_local $8 | |
(i32.const 0) | |
) | |
(i32.store offset=4 | |
(get_local $8) | |
(get_local $9) | |
) | |
(set_local $0 | |
(i32.const 0) | |
) | |
(set_local $2 | |
(i32.const 16) | |
) | |
(set_local $4 | |
(i32.const 235) | |
) | |
(i32.store offset=12 | |
(get_local $9) | |
(get_local $0) | |
) | |
(set_local $3 | |
(i32.const 0) | |
) | |
(i32.store offset=16 | |
(get_local $3) | |
(get_local $4) | |
) | |
(set_local $1 | |
(call $f | |
(get_local $2) | |
) | |
) | |
(i32.store offset=8 | |
(get_local $9) | |
(get_local $1) | |
) | |
(call $exit | |
(get_local $0) | |
) | |
(unreachable) | |
) | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment