Files
failnix/targets/wasm-tacle/sequential/susan/generated/default/susan.wat

10632 lines
278 KiB
Plaintext

(module $susan.wasm
(type (;0;) (func (param i32 i32)))
(type (;1;) (func))
(type (;2;) (func (param i32) (result i32)))
(type (;3;) (func (param i32 i32 i32)))
(type (;4;) (func (param i32 i32 i32 i32 i32 i32)))
(type (;5;) (func (param i32 i32 i32 i32 i32)))
(type (;6;) (func (param i32 i32 f32 i32 i32 i32)))
(type (;7;) (func (param i32 i32 i32 i32)))
(type (;8;) (func (param i32 i32 i32 i32 i32 i32 i32)))
(type (;9;) (func (result i32)))
(type (;10;) (func (param i32 i32 i32 i32) (result i32)))
(type (;11;) (func (param i32 i32 i32) (result i32)))
(type (;12;) (func (param f32) (result f32)))
(import "__pragma" "loopbound" (func $__pragma_loopbound (type 0)))
(func $__wasm_apply_data_relocs (type 1))
(func $susan_getint (type 2) (param i32) (result i32)
(local i32 i32 i32)
global.get $__stack_pointer
i32.const 10000
i32.sub
local.tee 1
global.set $__stack_pointer
local.get 0
call $susan_wccfgetc
local.set 2
i32.const 0
i32.const 3
call $__pragma_loopbound
loop ;; label = @1
block ;; label = @2
local.get 2
i32.const 35
i32.ne
br_if 0 (;@2;)
local.get 1
i32.const 9000
local.get 0
call $susan_wccfgets
drop
local.get 0
call $susan_wccfgetc
local.set 2
br 1 (;@1;)
end
block ;; label = @2
local.get 2
i32.const -48
i32.add
i32.const 10
i32.lt_u
br_if 0 (;@2;)
local.get 0
call $susan_wccfgetc
local.set 2
br 1 (;@1;)
end
end
i32.const 1
i32.const 2
call $__pragma_loopbound
i32.const 0
local.set 3
loop ;; label = @1
local.get 2
local.get 3
i32.const 10
i32.mul
i32.add
i32.const -48
i32.add
local.set 3
local.get 0
call $susan_wccfgetc
local.tee 2
i32.const -58
i32.add
i32.const -11
i32.gt_u
br_if 0 (;@1;)
end
local.get 1
i32.const 10000
i32.add
global.set $__stack_pointer
local.get 3)
(func $susan_int_to_uchar (type 3) (param i32 i32 i32)
(local i32 i32 i32 i32 i32 i32 i32 i32 i32)
local.get 0
i32.load8_s
local.set 3
i32.const 0
local.set 4
i32.const 0
i32.const 0
call $__pragma_loopbound
block ;; label = @1
block ;; label = @2
block ;; label = @3
local.get 2
i32.const 1
i32.lt_s
br_if 0 (;@3;)
local.get 2
i32.const 3
i32.and
local.set 5
local.get 2
i32.const 4
i32.ge_u
br_if 1 (;@2;)
local.get 3
local.set 6
br 2 (;@1;)
end
i32.const 0
i32.const 0
call $__pragma_loopbound
return
end
local.get 2
i32.const 2147483644
i32.and
local.set 7
i32.const 0
local.set 4
local.get 3
local.set 6
loop ;; label = @2
local.get 3
local.get 0
local.get 4
i32.add
local.tee 8
i32.load8_s
local.tee 9
local.get 3
local.get 9
i32.lt_s
select
local.tee 3
local.get 8
i32.const 1
i32.add
i32.load8_s
local.tee 10
local.get 3
local.get 10
i32.lt_s
select
local.tee 3
local.get 8
i32.const 2
i32.add
i32.load8_s
local.tee 11
local.get 3
local.get 11
i32.lt_s
select
local.tee 3
local.get 8
i32.const 3
i32.add
i32.load8_s
local.tee 8
local.get 3
local.get 8
i32.lt_s
select
local.set 3
local.get 6
local.get 9
local.get 6
local.get 9
i32.gt_s
select
local.tee 6
local.get 10
local.get 6
local.get 10
i32.gt_s
select
local.tee 6
local.get 11
local.get 6
local.get 11
i32.gt_s
select
local.tee 6
local.get 8
local.get 6
local.get 8
i32.gt_s
select
local.set 6
local.get 7
local.get 4
i32.const 4
i32.add
local.tee 4
i32.ne
br_if 0 (;@2;)
end
end
block ;; label = @1
local.get 5
i32.eqz
br_if 0 (;@1;)
local.get 0
local.get 4
i32.add
local.set 9
loop ;; label = @2
local.get 3
local.get 9
i32.load8_s
local.tee 8
local.get 3
local.get 8
i32.lt_s
select
local.set 3
local.get 6
local.get 8
local.get 6
local.get 8
i32.gt_s
select
local.set 6
local.get 9
i32.const 1
i32.add
local.set 9
local.get 5
i32.const -1
i32.add
local.tee 5
br_if 0 (;@2;)
end
end
block ;; label = @1
block ;; label = @2
local.get 6
local.get 3
i32.ne
br_if 0 (;@2;)
i32.const 0
local.set 3
i32.const 0
i32.const 0
call $__pragma_loopbound
local.get 2
i32.const 1
i32.lt_s
br_if 1 (;@1;)
local.get 2
i32.const 7
i32.and
local.set 6
block ;; label = @3
local.get 2
i32.const 8
i32.lt_u
br_if 0 (;@3;)
local.get 2
i32.const 2147483640
i32.and
local.set 8
i32.const 0
local.set 3
loop ;; label = @4
local.get 1
local.get 3
i32.add
i64.const 0
i64.store align=1
local.get 8
local.get 3
i32.const 8
i32.add
local.tee 3
i32.ne
br_if 0 (;@4;)
end
end
local.get 6
i32.eqz
br_if 1 (;@1;)
local.get 1
local.get 3
i32.add
local.set 3
loop ;; label = @3
local.get 3
i32.const 0
i32.store8
local.get 3
i32.const 1
i32.add
local.set 3
local.get 6
i32.const -1
i32.add
local.tee 6
br_if 0 (;@3;)
br 2 (;@1;)
end
end
i32.const 0
local.set 8
i32.const 0
i32.const 0
call $__pragma_loopbound
local.get 2
i32.const 1
i32.lt_s
br_if 0 (;@1;)
local.get 6
local.get 3
i32.sub
local.set 6
local.get 2
i32.const 1
i32.and
local.set 4
block ;; label = @2
local.get 2
i32.const 1
i32.eq
br_if 0 (;@2;)
local.get 2
i32.const 2147483646
i32.and
local.set 11
i32.const 0
local.set 8
loop ;; label = @3
local.get 1
local.get 8
i32.add
local.tee 9
local.get 0
local.get 8
i32.add
local.tee 10
i32.load8_s
local.get 3
i32.sub
i32.const 255
i32.mul
local.get 6
i32.div_s
i32.store8
local.get 9
i32.const 1
i32.add
local.get 10
i32.const 1
i32.add
i32.load8_s
local.get 3
i32.sub
i32.const 255
i32.mul
local.get 6
i32.div_s
i32.store8
local.get 11
local.get 8
i32.const 2
i32.add
local.tee 8
i32.ne
br_if 0 (;@3;)
end
end
local.get 4
i32.eqz
br_if 0 (;@1;)
local.get 1
local.get 8
i32.add
local.get 0
local.get 8
i32.add
i32.load8_s
local.get 3
i32.sub
i32.const 255
i32.mul
local.get 6
i32.div_s
i32.store8
end)
(func $susan_principle (type 4) (param i32 i32 i32 i32 i32 i32)
(local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
local.get 1
i32.const 0
local.get 4
local.get 5
i32.mul
i32.const 2
i32.shl
call $susan_wccmemset
i32.const 0
i32.const 0
call $__pragma_loopbound
block ;; label = @1
local.get 5
i32.const 7
i32.lt_s
br_if 0 (;@1;)
block ;; label = @2
local.get 4
i32.const 6
i32.gt_s
br_if 0 (;@2;)
local.get 5
i32.const -6
i32.add
local.set 5
loop ;; label = @3
i32.const 0
i32.const 0
call $__pragma_loopbound
local.get 5
i32.const -1
i32.add
local.tee 5
br_if 0 (;@3;)
br 2 (;@1;)
end
end
local.get 5
i32.const -3
i32.add
local.set 6
local.get 4
i32.const -6
i32.add
local.set 7
local.get 0
local.get 4
i32.add
local.set 8
local.get 0
local.get 4
i32.const 2
i32.shl
i32.add
local.set 9
local.get 0
local.get 4
i32.const 3
i32.mul
local.tee 5
i32.add
local.set 10
local.get 0
local.get 4
i32.const 1
i32.shl
i32.add
local.set 11
local.get 0
local.get 4
i32.const 5
i32.mul
i32.add
local.set 12
local.get 0
local.get 4
i32.const 6
i32.mul
i32.add
local.set 13
local.get 5
local.get 1
i32.add
i32.const 3
i32.add
local.set 14
i32.const 3
local.set 15
loop ;; label = @2
i32.const 0
local.set 1
i32.const 0
i32.const 0
call $__pragma_loopbound
loop ;; label = @3
block ;; label = @4
local.get 3
local.get 2
local.get 10
local.get 1
i32.add
local.tee 16
i32.const 3
i32.add
i32.load8_u
i32.add
local.tee 5
local.get 0
local.get 1
i32.add
local.tee 17
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.get 5
local.get 17
i32.const 3
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 17
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 8
local.get 1
i32.add
local.tee 17
i32.const 1
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 17
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 17
i32.const 3
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 17
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 17
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 11
local.get 1
i32.add
local.tee 17
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 17
i32.const 1
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 17
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 17
i32.const 3
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 17
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 17
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 17
i32.const 6
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 16
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 16
i32.const 1
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 16
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 16
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 16
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 16
i32.const 6
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 9
local.get 1
i32.add
local.tee 16
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 16
i32.const 1
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 16
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 16
i32.const 3
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 16
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 16
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 16
i32.const 6
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 12
local.get 1
i32.add
local.tee 16
i32.const 1
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 16
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 16
i32.const 3
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 16
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 16
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 13
local.get 1
i32.add
local.tee 16
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 16
i32.const 3
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 16
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
i32.const 100
i32.add
local.tee 5
i32.lt_s
br_if 0 (;@4;)
local.get 14
local.get 1
i32.add
local.get 3
local.get 5
i32.sub
i32.store8
end
local.get 7
local.get 1
i32.const 1
i32.add
local.tee 1
i32.ne
br_if 0 (;@3;)
end
local.get 9
local.get 4
i32.add
local.set 9
local.get 10
local.get 4
i32.add
local.set 10
local.get 11
local.get 4
i32.add
local.set 11
local.get 12
local.get 4
i32.add
local.set 12
local.get 13
local.get 4
i32.add
local.set 13
local.get 8
local.get 4
i32.add
local.set 8
local.get 0
local.get 4
i32.add
local.set 0
local.get 14
local.get 4
i32.add
local.set 14
local.get 15
i32.const 1
i32.add
local.tee 15
local.get 6
i32.ne
br_if 0 (;@2;)
end
end)
(func $susan_principle_small (type 4) (param i32 i32 i32 i32 i32 i32)
(local i32 i32 i32 i32 i32 i32 i32 i32)
local.get 1
i32.const 0
local.get 4
local.get 5
i32.mul
i32.const 2
i32.shl
call $susan_wccmemset
i32.const 0
i32.const 0
call $__pragma_loopbound
block ;; label = @1
local.get 5
i32.const 3
i32.lt_s
br_if 0 (;@1;)
block ;; label = @2
local.get 4
i32.const 2
i32.gt_s
br_if 0 (;@2;)
local.get 5
i32.const -2
i32.add
local.set 5
loop ;; label = @3
i32.const 0
i32.const 0
call $__pragma_loopbound
local.get 5
i32.const -1
i32.add
local.tee 5
br_if 0 (;@3;)
br 2 (;@1;)
end
end
local.get 5
i32.const -1
i32.add
local.set 6
local.get 0
local.get 4
i32.add
local.set 7
local.get 4
i32.const -2
i32.add
local.set 8
local.get 0
local.get 4
i32.const 1
i32.shl
i32.add
local.set 9
local.get 4
local.get 1
i32.add
i32.const 1
i32.add
local.set 10
i32.const 1
local.set 11
loop ;; label = @2
i32.const 0
local.set 1
i32.const 0
i32.const 0
call $__pragma_loopbound
loop ;; label = @3
block ;; label = @4
local.get 3
local.get 2
local.get 7
local.get 1
i32.add
local.tee 12
i32.const 1
i32.add
i32.load8_u
i32.add
local.tee 5
local.get 0
local.get 1
i32.add
local.tee 13
i32.load8_u
i32.sub
i32.load8_u
local.get 5
local.get 13
i32.const 1
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 13
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 12
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 12
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 9
local.get 1
i32.add
local.tee 12
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 12
i32.const 1
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 5
local.get 12
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
i32.const 100
i32.add
local.tee 5
i32.lt_s
br_if 0 (;@4;)
local.get 10
local.get 1
i32.add
local.get 3
local.get 5
i32.sub
i32.store8
end
local.get 8
local.get 1
i32.const 1
i32.add
local.tee 1
i32.ne
br_if 0 (;@3;)
end
local.get 7
local.get 4
i32.add
local.set 7
local.get 9
local.get 4
i32.add
local.set 9
local.get 0
local.get 4
i32.add
local.set 0
local.get 10
local.get 4
i32.add
local.set 10
local.get 11
i32.const 1
i32.add
local.tee 11
local.get 6
i32.ne
br_if 0 (;@2;)
end
end)
(func $susan_enlarge (type 5) (param i32 i32 i32 i32 i32)
(local i32 i32 i32 i32 i32 i32 i32)
i32.const 95
i32.const 95
call $__pragma_loopbound
local.get 1
local.get 4
i32.add
local.set 5
block ;; label = @1
local.get 3
i32.load
i32.const 1
i32.lt_s
br_if 0 (;@1;)
local.get 4
i32.const 1
i32.shl
local.set 6
i32.const 0
local.set 7
loop ;; label = @2
local.get 5
local.get 2
i32.load
local.tee 8
local.get 6
i32.add
local.get 4
local.get 7
i32.add
i32.mul
i32.add
local.get 0
i32.load
local.get 8
local.get 7
i32.mul
i32.add
local.get 8
call $susan_wccmemcpy
drop
local.get 7
i32.const 1
i32.add
local.tee 7
local.get 3
i32.load
i32.lt_s
br_if 0 (;@2;)
end
end
block ;; label = @1
block ;; label = @2
block ;; label = @3
local.get 4
i32.const 1
i32.lt_s
br_if 0 (;@3;)
local.get 4
i32.const 1
i32.shl
local.set 9
i32.const 0
local.set 7
i32.const -1
local.set 8
loop ;; label = @4
local.get 5
local.get 2
i32.load
local.tee 6
local.get 9
i32.add
local.get 4
local.get 8
i32.add
i32.mul
i32.add
local.get 0
i32.load
local.get 6
local.get 7
i32.mul
i32.add
local.get 6
call $susan_wccmemcpy
drop
local.get 5
local.get 4
local.get 7
i32.add
local.get 3
i32.load
local.tee 10
i32.add
local.get 2
i32.load
local.tee 6
local.get 9
i32.add
i32.mul
i32.add
local.get 0
i32.load
local.get 8
local.get 10
i32.add
local.get 6
i32.mul
i32.add
local.get 6
call $susan_wccmemcpy
drop
local.get 8
i32.const -1
i32.add
local.set 8
local.get 4
local.get 7
i32.const 1
i32.add
local.tee 7
i32.ne
br_if 0 (;@4;)
end
i32.const 0
local.set 6
local.get 4
i32.const 0
i32.gt_s
br_if 1 (;@2;)
end
local.get 4
i32.const 1
i32.shl
local.set 8
br 1 (;@1;)
end
i32.const 0
local.get 4
i32.const 1
i32.shl
local.tee 8
i32.sub
local.set 11
loop ;; label = @2
i32.const 109
i32.const 109
call $__pragma_loopbound
block ;; label = @3
local.get 3
i32.load
local.get 11
i32.le_s
br_if 0 (;@3;)
local.get 6
i32.const -1
i32.xor
local.set 9
i32.const 0
local.set 7
loop ;; label = @4
local.get 5
local.get 2
i32.load
local.get 8
i32.add
local.get 7
i32.mul
i32.add
local.tee 10
local.get 9
i32.add
local.get 10
local.get 6
i32.add
i32.load8_u
i32.store8
local.get 1
local.get 2
i32.load
local.tee 10
local.get 8
i32.add
local.get 7
i32.mul
i32.add
local.get 10
i32.add
local.get 4
i32.add
local.tee 10
local.get 6
i32.add
local.get 10
local.get 9
i32.add
i32.load8_u
i32.store8
local.get 7
i32.const 1
i32.add
local.tee 7
local.get 3
i32.load
local.get 8
i32.add
i32.lt_s
br_if 0 (;@4;)
end
end
local.get 6
i32.const 1
i32.add
local.tee 6
local.get 4
i32.ne
br_if 0 (;@2;)
end
end
local.get 2
local.get 2
i32.load
local.get 8
i32.add
i32.store
local.get 0
local.get 1
i32.store
local.get 3
local.get 3
i32.load
local.get 8
i32.add
i32.store)
(func $susan_smoothing (type 6) (param i32 i32 f32 i32 i32 i32)
(local i32 f64 i32 i32 i32 i32 i32 i32 i32 i32 i32 f32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
global.get $__stack_pointer
i32.const 16
i32.sub
local.tee 6
global.set $__stack_pointer
local.get 6
local.get 1
i32.store offset=12
block ;; label = @1
block ;; label = @2
local.get 2
f64.promote_f32
f64.const 0x1.8p+0 (;=1.5;)
f64.mul
local.tee 7
f64.abs
f64.const 0x1p+31 (;=2.14748e+09;)
f64.lt
i32.eqz
br_if 0 (;@2;)
local.get 7
i32.trunc_f64_s
local.set 8
br 1 (;@1;)
end
i32.const -2147483648
local.set 8
end
local.get 6
local.get 4
i32.store offset=4
local.get 6
local.get 3
i32.store offset=8
local.get 6
i32.const 12
i32.add
i32.const 1
local.get 8
i32.const 1
i32.add
local.tee 9
local.get 0
select
local.tee 10
i32.const 1
i32.shl
local.tee 11
local.get 3
i32.add
local.get 11
local.get 4
i32.add
i32.mul
call $susan_wccmalloc
local.get 6
i32.const 8
i32.add
local.get 6
i32.const 4
i32.add
local.get 10
call $susan_enlarge
block ;; label = @1
block ;; label = @2
local.get 0
br_if 0 (;@2;)
local.get 6
i32.load offset=8
local.set 12
local.get 11
i32.const 1
i32.or
local.tee 13
local.get 13
i32.mul
call $susan_wccmalloc
local.set 14
i32.const 15
i32.const 15
call $__pragma_loopbound
block ;; label = @3
local.get 9
local.get 8
i32.const -1
i32.xor
local.tee 15
i32.lt_s
local.tee 16
br_if 0 (;@3;)
local.get 2
f32.neg
local.get 2
f32.mul
local.set 17
i32.const -2
local.get 8
i32.sub
local.set 18
local.get 14
local.set 4
local.get 15
local.set 9
loop ;; label = @4
i32.const 15
i32.const 15
call $__pragma_loopbound
local.get 9
local.get 9
i32.mul
local.set 11
local.get 18
local.set 0
loop ;; label = @5
block ;; label = @6
block ;; label = @7
local.get 0
i32.const 1
i32.add
local.tee 0
local.get 0
i32.mul
local.get 11
i32.add
f32.convert_i32_u
local.get 17
f32.div
f32.const 0x1.7p+7 (;=184;)
f32.mul
f32.const 0x1.fbc8p+13 (;=16249;)
f32.add
local.tee 2
f32.abs
f32.const 0x1p+31 (;=2.14748e+09;)
f32.lt
i32.eqz
br_if 0 (;@7;)
local.get 2
i32.trunc_f32_s
local.set 3
br 1 (;@6;)
end
i32.const -2147483648
local.set 3
end
block ;; label = @6
block ;; label = @7
local.get 3
i32.const 65535
i32.and
f32.reinterpret_i32
f64.promote_f32
f64.const 0x1.9p+6 (;=100;)
f64.mul
local.tee 7
f64.abs
f64.const 0x1p+31 (;=2.14748e+09;)
f64.lt
i32.eqz
br_if 0 (;@7;)
local.get 7
i32.trunc_f64_s
local.set 3
br 1 (;@6;)
end
i32.const -2147483648
local.set 3
end
local.get 4
local.get 3
i32.store8
local.get 4
i32.const 1
i32.add
local.set 4
local.get 10
local.get 0
i32.ne
br_if 0 (;@5;)
end
local.get 9
local.get 10
i32.ne
local.set 0
local.get 9
i32.const 1
i32.add
local.set 9
local.get 0
br_if 0 (;@4;)
end
end
i32.const 95
i32.const 95
call $__pragma_loopbound
local.get 10
local.get 6
i32.load offset=4
local.tee 0
local.get 10
i32.sub
i32.ge_s
br_if 1 (;@1;)
local.get 12
local.get 13
i32.sub
local.set 19
local.get 10
i32.const 1
i32.add
local.set 20
i32.const 0
local.get 8
i32.sub
local.set 21
local.get 10
local.get 8
i32.add
local.tee 22
i32.const 1
i32.and
local.set 23
local.get 22
i32.const 2
i32.add
local.set 24
local.get 6
i32.load offset=8
local.set 25
local.get 10
local.set 26
loop ;; label = @3
i32.const 76
i32.const 76
call $__pragma_loopbound
block ;; label = @4
block ;; label = @5
local.get 10
local.get 25
local.get 10
i32.sub
i32.lt_s
br_if 0 (;@5;)
local.get 26
i32.const 1
i32.add
local.set 26
br 1 (;@4;)
end
local.get 26
i32.const 1
i32.add
local.set 27
local.get 26
i32.const -1
i32.add
local.set 28
local.get 26
local.get 10
i32.sub
local.set 29
local.get 10
local.set 30
loop ;; label = @5
local.get 6
i32.load offset=12
local.tee 31
local.get 25
local.get 26
i32.mul
i32.add
local.get 30
i32.add
local.tee 32
i32.load8_u
local.set 33
i32.const 15
i32.const 15
call $__pragma_loopbound
block ;; label = @6
block ;; label = @7
block ;; label = @8
local.get 16
i32.eqz
br_if 0 (;@8;)
i32.const 0
local.set 3
i32.const -10000
local.set 0
br 1 (;@7;)
end
local.get 5
local.get 33
i32.add
local.set 18
local.get 31
local.get 25
local.get 29
i32.mul
i32.add
local.get 30
i32.add
local.get 15
i32.add
local.set 34
i32.const 0
local.set 3
local.get 14
local.set 35
i32.const 0
local.set 11
local.get 15
local.set 36
loop ;; label = @8
i32.const 15
i32.const 15
call $__pragma_loopbound
block ;; label = @9
block ;; label = @10
local.get 23
br_if 0 (;@10;)
local.get 35
local.set 0
local.get 34
local.set 4
local.get 15
local.set 9
br 1 (;@9;)
end
local.get 35
i32.const 1
i32.add
local.set 0
local.get 34
i32.const 1
i32.add
local.set 4
local.get 18
local.get 34
i32.load8_u
local.tee 9
i32.sub
i32.load8_u
local.get 35
i32.load8_u
i32.mul
local.tee 8
local.get 11
i32.add
local.set 11
local.get 8
local.get 9
i32.mul
local.get 3
i32.add
local.set 3
local.get 21
local.set 9
end
block ;; label = @9
local.get 22
i32.const -1
i32.eq
br_if 0 (;@9;)
local.get 20
local.get 9
i32.sub
local.set 9
loop ;; label = @10
local.get 18
local.get 4
i32.const 1
i32.add
i32.load8_u
local.tee 8
i32.sub
i32.load8_u
local.get 0
i32.const 1
i32.add
i32.load8_u
i32.mul
local.tee 13
local.get 18
local.get 4
i32.load8_u
local.tee 12
i32.sub
i32.load8_u
local.get 0
i32.load8_u
i32.mul
local.tee 37
local.get 11
i32.add
i32.add
local.set 11
local.get 13
local.get 8
i32.mul
local.get 37
local.get 12
i32.mul
local.get 3
i32.add
i32.add
local.set 3
local.get 0
i32.const 2
i32.add
local.set 0
local.get 4
i32.const 2
i32.add
local.set 4
local.get 9
i32.const -2
i32.add
local.tee 9
br_if 0 (;@10;)
end
end
local.get 34
local.get 24
i32.add
local.get 19
i32.add
local.set 34
local.get 35
local.get 24
i32.add
local.set 35
local.get 36
local.get 10
i32.ne
local.set 0
local.get 36
i32.const 1
i32.add
local.set 36
local.get 0
br_if 0 (;@8;)
end
local.get 11
i32.const -10000
i32.add
local.tee 0
br_if 0 (;@7;)
local.get 31
local.get 25
local.get 27
i32.mul
i32.add
local.get 30
i32.add
local.tee 0
i32.const 1
i32.add
i32.load8_u
local.set 34
local.get 0
i32.load8_u
local.set 4
local.get 0
i32.const -1
i32.add
i32.load8_u
local.set 3
local.get 32
i32.const 1
i32.add
i32.load8_u
local.set 11
local.get 32
i32.const -1
i32.add
i32.load8_u
local.set 9
local.get 31
local.get 25
local.get 28
i32.mul
i32.add
local.get 30
i32.add
local.tee 8
i32.const 1
i32.add
i32.load8_u
local.set 0
local.get 8
i32.load8_u
local.set 18
local.get 8
i32.const -1
i32.add
i32.load8_u
local.set 8
i32.const 0
i32.const 0
call $__pragma_loopbound
i32.const 0
i32.const 0
call $__pragma_loopbound
i32.const 0
i32.const 0
call $__pragma_loopbound
i32.const 0
i32.const 0
call $__pragma_loopbound
i32.const 0
i32.const 0
call $__pragma_loopbound
i32.const 0
i32.const 0
call $__pragma_loopbound
i32.const 0
i32.const 0
call $__pragma_loopbound
i32.const 0
i32.const 0
call $__pragma_loopbound
local.get 8
local.get 18
local.get 8
local.get 18
i32.gt_u
select
local.tee 13
local.get 0
local.get 13
local.get 0
i32.lt_u
select
local.tee 12
local.get 8
local.get 18
local.get 8
local.get 18
i32.lt_u
select
local.tee 8
local.get 0
local.get 8
i32.lt_u
local.tee 37
select
local.tee 18
local.get 8
local.get 12
local.get 37
select
local.tee 8
local.get 13
local.get 0
local.get 13
local.get 0
i32.gt_u
select
local.tee 0
local.get 9
local.get 0
local.get 9
i32.lt_u
select
local.tee 13
local.get 8
local.get 13
i32.lt_u
select
local.tee 12
local.get 18
local.get 12
i32.gt_u
select
local.tee 37
local.get 8
local.get 13
local.get 8
local.get 13
i32.gt_u
select
local.tee 8
local.get 0
local.get 9
local.get 0
local.get 9
i32.gt_u
select
local.tee 9
local.get 11
local.get 9
local.get 11
i32.lt_u
select
local.tee 13
local.get 8
local.get 13
i32.lt_u
select
local.tee 0
local.get 37
local.get 0
i32.lt_u
select
local.tee 35
local.get 18
local.get 12
local.get 18
local.get 12
i32.lt_u
select
local.tee 18
local.get 0
local.get 18
i32.lt_u
local.tee 12
select
local.tee 36
local.get 18
local.get 35
local.get 12
select
local.tee 18
local.get 37
local.get 0
local.get 37
local.get 0
i32.gt_u
select
local.tee 0
local.get 8
local.get 13
local.get 8
local.get 13
i32.gt_u
select
local.tee 8
local.get 9
local.get 11
local.get 9
local.get 11
i32.gt_u
select
local.tee 11
local.get 3
local.get 11
local.get 3
i32.lt_u
select
local.tee 9
local.get 8
local.get 9
i32.lt_u
select
local.tee 13
local.get 0
local.get 13
i32.lt_u
select
local.tee 12
local.get 18
local.get 12
i32.lt_u
select
local.tee 37
local.get 36
local.get 37
i32.gt_u
select
local.tee 37
local.get 18
local.get 12
local.get 18
local.get 12
i32.gt_u
select
local.tee 18
local.get 0
local.get 13
local.get 0
local.get 13
i32.gt_u
select
local.tee 0
local.get 8
local.get 9
local.get 8
local.get 9
i32.gt_u
select
local.tee 9
local.get 11
local.get 3
local.get 11
local.get 3
i32.gt_u
select
local.tee 3
local.get 4
local.get 3
local.get 4
i32.lt_u
select
local.tee 11
local.get 9
local.get 11
i32.lt_u
select
local.tee 8
local.get 0
local.get 8
i32.lt_u
select
local.tee 13
local.get 18
local.get 13
i32.lt_u
select
local.tee 12
local.get 37
local.get 12
i32.gt_u
select
local.tee 12
local.get 18
local.get 13
local.get 18
local.get 13
i32.gt_u
select
local.tee 18
local.get 0
local.get 8
local.get 0
local.get 8
i32.gt_u
select
local.tee 0
local.get 9
local.get 11
local.get 9
local.get 11
i32.gt_u
select
local.tee 11
local.get 3
local.get 4
local.get 3
local.get 4
i32.gt_u
select
local.tee 4
local.get 34
local.get 4
local.get 34
i32.lt_u
select
local.tee 4
local.get 11
local.get 4
i32.lt_u
select
local.tee 4
local.get 0
local.get 4
i32.lt_u
select
local.tee 0
local.get 18
local.get 0
i32.lt_u
select
local.tee 4
local.get 12
local.get 4
i32.gt_u
select
local.get 18
local.get 0
local.get 18
local.get 0
i32.gt_u
select
i32.add
i32.const 1
i32.shr_u
local.set 0
br 1 (;@6;)
end
local.get 3
local.get 33
i32.const -10000
i32.mul
i32.add
local.get 0
i32.div_s
local.set 0
end
local.get 1
local.get 0
i32.store8
local.get 1
i32.const 1
i32.add
local.set 1
local.get 30
i32.const 1
i32.add
local.tee 30
local.get 6
i32.load offset=8
local.tee 25
local.get 10
i32.sub
i32.lt_s
br_if 0 (;@5;)
end
local.get 6
i32.load offset=4
local.set 0
local.get 27
local.set 26
end
local.get 26
local.get 0
local.get 10
i32.sub
i32.lt_s
br_if 0 (;@3;)
br 2 (;@1;)
end
end
i32.const 15
i32.const 15
call $__pragma_loopbound
local.get 6
i32.load offset=4
local.tee 0
i32.const 3
i32.lt_s
br_if 0 (;@1;)
block ;; label = @2
local.get 6
i32.load offset=8
local.tee 3
i32.const 3
i32.lt_s
br_if 0 (;@2;)
i32.const 1
local.set 32
loop ;; label = @3
i32.const 15
i32.const 15
call $__pragma_loopbound
block ;; label = @4
block ;; label = @5
local.get 3
i32.const 2
i32.gt_s
br_if 0 (;@5;)
local.get 32
i32.const 1
i32.add
local.set 32
br 1 (;@4;)
end
local.get 32
i32.const 1
i32.add
local.set 26
local.get 32
i32.const -1
i32.add
local.set 16
i32.const 0
local.set 4
loop ;; label = @5
block ;; label = @6
block ;; label = @7
local.get 5
local.get 6
i32.load offset=12
local.tee 13
local.get 3
local.get 32
i32.mul
i32.add
local.get 4
i32.add
local.tee 9
i32.const 1
i32.add
i32.load8_u
local.tee 12
i32.add
local.tee 0
local.get 13
local.get 3
local.get 16
i32.mul
i32.add
local.get 4
i32.add
local.tee 11
i32.load8_u
local.tee 18
i32.sub
i32.load8_u
local.tee 37
local.get 0
local.get 11
i32.const 1
i32.add
i32.load8_u
local.tee 8
i32.sub
i32.load8_u
local.tee 34
i32.add
local.get 0
local.get 11
i32.const 2
i32.add
i32.load8_u
local.tee 11
i32.sub
i32.load8_u
local.tee 35
i32.add
local.get 0
local.get 9
i32.load8_u
local.tee 36
i32.sub
i32.load8_u
local.tee 24
i32.add
local.get 5
i32.load8_u
local.tee 10
i32.add
local.get 0
local.get 9
i32.const 2
i32.add
local.tee 25
i32.load8_u
local.tee 22
i32.sub
i32.load8_u
local.tee 19
i32.add
local.get 0
local.get 13
local.get 26
local.get 3
i32.mul
i32.add
local.get 4
i32.add
local.tee 3
i32.load8_u
local.tee 13
i32.sub
i32.load8_u
local.tee 23
i32.add
local.get 0
local.get 3
i32.const 1
i32.add
local.tee 33
i32.load8_u
local.tee 20
i32.sub
i32.load8_u
local.tee 15
i32.add
local.get 0
local.get 3
i32.const 2
i32.add
local.tee 31
i32.load8_u
local.tee 21
i32.sub
i32.load8_u
local.tee 0
i32.add
i32.const -100
i32.add
local.tee 30
br_if 0 (;@7;)
local.get 31
i32.load8_u
local.set 35
local.get 33
i32.load8_u
local.set 0
local.get 3
i32.load8_u
local.set 3
local.get 25
i32.load8_u
local.set 13
local.get 9
i32.load8_u
local.set 9
i32.const 0
i32.const 0
call $__pragma_loopbound
i32.const 0
i32.const 0
call $__pragma_loopbound
i32.const 0
i32.const 0
call $__pragma_loopbound
i32.const 0
i32.const 0
call $__pragma_loopbound
i32.const 0
i32.const 0
call $__pragma_loopbound
i32.const 0
i32.const 0
call $__pragma_loopbound
i32.const 0
i32.const 0
call $__pragma_loopbound
i32.const 0
i32.const 0
call $__pragma_loopbound
local.get 18
local.get 8
local.get 18
local.get 8
i32.gt_u
select
local.tee 12
local.get 11
local.get 12
local.get 11
i32.lt_u
select
local.tee 37
local.get 18
local.get 8
local.get 18
local.get 8
i32.lt_u
select
local.tee 8
local.get 11
local.get 8
i32.lt_u
local.tee 34
select
local.tee 18
local.get 8
local.get 37
local.get 34
select
local.tee 8
local.get 12
local.get 11
local.get 12
local.get 11
i32.gt_u
select
local.tee 11
local.get 9
local.get 11
local.get 9
i32.lt_u
select
local.tee 12
local.get 8
local.get 12
i32.lt_u
select
local.tee 37
local.get 18
local.get 37
i32.gt_u
select
local.tee 34
local.get 8
local.get 12
local.get 8
local.get 12
i32.gt_u
select
local.tee 8
local.get 11
local.get 9
local.get 11
local.get 9
i32.gt_u
select
local.tee 9
local.get 13
local.get 9
local.get 13
i32.lt_u
select
local.tee 12
local.get 8
local.get 12
i32.lt_u
select
local.tee 11
local.get 34
local.get 11
i32.lt_u
select
local.tee 36
local.get 18
local.get 37
local.get 18
local.get 37
i32.lt_u
select
local.tee 18
local.get 11
local.get 18
i32.lt_u
local.tee 37
select
local.tee 24
local.get 18
local.get 36
local.get 37
select
local.tee 18
local.get 34
local.get 11
local.get 34
local.get 11
i32.gt_u
select
local.tee 11
local.get 8
local.get 12
local.get 8
local.get 12
i32.gt_u
select
local.tee 8
local.get 9
local.get 13
local.get 9
local.get 13
i32.gt_u
select
local.tee 9
local.get 3
local.get 9
local.get 3
i32.lt_u
select
local.tee 13
local.get 8
local.get 13
i32.lt_u
select
local.tee 12
local.get 11
local.get 12
i32.lt_u
select
local.tee 37
local.get 18
local.get 37
i32.lt_u
select
local.tee 34
local.get 24
local.get 34
i32.gt_u
select
local.tee 34
local.get 18
local.get 37
local.get 18
local.get 37
i32.gt_u
select
local.tee 18
local.get 11
local.get 12
local.get 11
local.get 12
i32.gt_u
select
local.tee 11
local.get 8
local.get 13
local.get 8
local.get 13
i32.gt_u
select
local.tee 8
local.get 9
local.get 3
local.get 9
local.get 3
i32.gt_u
select
local.tee 3
local.get 0
local.get 3
local.get 0
i32.lt_u
select
local.tee 9
local.get 8
local.get 9
i32.lt_u
select
local.tee 13
local.get 11
local.get 13
i32.lt_u
select
local.tee 12
local.get 18
local.get 12
i32.lt_u
select
local.tee 37
local.get 34
local.get 37
i32.gt_u
select
local.tee 37
local.get 18
local.get 12
local.get 18
local.get 12
i32.gt_u
select
local.tee 18
local.get 11
local.get 13
local.get 11
local.get 13
i32.gt_u
select
local.tee 11
local.get 8
local.get 9
local.get 8
local.get 9
i32.gt_u
select
local.tee 9
local.get 3
local.get 0
local.get 3
local.get 0
i32.gt_u
select
local.tee 0
local.get 35
local.get 0
local.get 35
i32.lt_u
select
local.tee 0
local.get 9
local.get 0
i32.lt_u
select
local.tee 0
local.get 11
local.get 0
i32.lt_u
select
local.tee 0
local.get 18
local.get 0
i32.lt_u
select
local.tee 3
local.get 37
local.get 3
i32.gt_u
select
local.get 18
local.get 0
local.get 18
local.get 0
i32.gt_u
select
i32.add
i32.const 1
i32.shr_u
local.set 0
br 1 (;@6;)
end
local.get 37
local.get 18
i32.mul
local.get 12
i32.const -100
i32.mul
i32.add
local.get 34
local.get 8
i32.mul
i32.add
local.get 35
local.get 11
i32.mul
i32.add
local.get 24
local.get 36
i32.mul
i32.add
local.get 10
local.get 12
i32.mul
i32.add
local.get 19
local.get 22
i32.mul
i32.add
local.get 23
local.get 13
i32.mul
i32.add
local.get 15
local.get 20
i32.mul
i32.add
local.get 0
local.get 21
i32.mul
i32.add
local.get 30
i32.div_s
local.set 0
end
local.get 1
local.get 4
i32.add
local.get 0
i32.store8
local.get 4
i32.const 2
i32.add
local.set 0
local.get 4
i32.const 1
i32.add
local.set 4
local.get 0
local.get 6
i32.load offset=8
local.tee 3
i32.const -1
i32.add
i32.lt_s
br_if 0 (;@5;)
end
local.get 1
local.get 4
i32.add
local.set 1
local.get 6
i32.load offset=4
local.set 0
local.get 26
local.set 32
end
local.get 32
local.get 0
i32.const -1
i32.add
i32.lt_s
br_if 0 (;@3;)
br 2 (;@1;)
end
end
local.get 0
i32.const -2
i32.add
local.set 0
loop ;; label = @2
i32.const 15
i32.const 15
call $__pragma_loopbound
local.get 0
i32.const -1
i32.add
local.tee 0
br_if 0 (;@2;)
end
end
local.get 6
i32.const 16
i32.add
global.set $__stack_pointer)
(func $susan_edge_draw (type 5) (param i32 i32 i32 i32 i32)
(local i32 i32)
block ;; label = @1
block ;; label = @2
local.get 4
i32.eqz
br_if 0 (;@2;)
local.get 3
local.get 2
i32.mul
local.set 3
br 1 (;@1;)
end
i32.const 7220
i32.const 7220
call $__pragma_loopbound
i32.const 0
local.set 4
block ;; label = @2
local.get 3
local.get 2
i32.mul
local.tee 3
i32.const 0
i32.gt_s
br_if 0 (;@2;)
i32.const 7220
i32.const 7220
call $__pragma_loopbound
return
end
local.get 0
local.get 2
i32.add
local.set 5
local.get 0
local.get 2
i32.sub
local.set 6
loop ;; label = @2
block ;; label = @3
local.get 1
local.get 4
i32.add
i32.load8_u
i32.const 7
i32.gt_u
br_if 0 (;@3;)
local.get 6
local.get 4
i32.add
local.tee 2
i32.const 1
i32.add
i32.const 255
i32.store8
local.get 2
i32.const -1
i32.add
i32.const 65535
i32.store16 align=1
local.get 0
local.get 4
i32.add
local.tee 2
i32.const 1
i32.add
i32.const 255
i32.store8
local.get 2
i32.const -1
i32.add
i32.const 255
i32.store8
local.get 5
local.get 4
i32.add
local.tee 2
i32.const 1
i32.add
i32.const 255
i32.store8
local.get 2
i32.const -1
i32.add
i32.const 65535
i32.store16 align=1
end
local.get 3
local.get 4
i32.const 1
i32.add
local.tee 4
i32.ne
br_if 0 (;@2;)
end
end
i32.const 7220
i32.const 7220
call $__pragma_loopbound
block ;; label = @1
local.get 3
i32.const 1
i32.lt_s
br_if 0 (;@1;)
local.get 3
i32.const 1
i32.and
local.set 5
local.get 1
local.set 4
block ;; label = @2
local.get 3
i32.const 1
i32.eq
br_if 0 (;@2;)
local.get 3
i32.const 2147483646
i32.and
local.set 2
local.get 0
local.set 3
local.get 1
local.set 4
loop ;; label = @3
block ;; label = @4
local.get 4
i32.load8_u
i32.const 7
i32.gt_u
br_if 0 (;@4;)
local.get 3
i32.const 0
i32.store8
end
block ;; label = @4
local.get 4
i32.load8_u offset=1
i32.const 7
i32.gt_u
br_if 0 (;@4;)
local.get 3
i32.const 1
i32.add
i32.const 0
i32.store8
end
local.get 3
i32.const 2
i32.add
local.set 3
local.get 4
i32.const 2
i32.add
local.set 4
local.get 2
i32.const -2
i32.add
local.tee 2
br_if 0 (;@3;)
end
end
local.get 5
i32.eqz
br_if 0 (;@1;)
local.get 4
i32.load8_u
i32.const 7
i32.gt_u
br_if 0 (;@1;)
local.get 0
local.get 4
local.get 1
i32.sub
i32.add
i32.const 0
i32.store8
end)
(func $susan_thin (type 7) (param i32 i32 i32 i32)
(local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
i32.const 87
i32.const 87
call $__pragma_loopbound
block ;; label = @1
local.get 3
i32.const 9
i32.lt_s
br_if 0 (;@1;)
block ;; label = @2
local.get 2
i32.const 8
i32.gt_s
br_if 0 (;@2;)
local.get 3
i32.const -8
i32.add
local.set 3
loop ;; label = @3
i32.const 68
i32.const 68
call $__pragma_loopbound
local.get 3
i32.const -1
i32.add
local.tee 3
br_if 0 (;@3;)
br 2 (;@1;)
end
end
local.get 3
i32.const -4
i32.add
local.set 4
local.get 2
i32.const -4
i32.add
local.set 5
i32.const 4
local.set 6
loop ;; label = @2
i32.const 68
i32.const 68
call $__pragma_loopbound
i32.const 4
local.set 3
loop ;; label = @3
block ;; label = @4
local.get 1
local.get 6
local.get 2
i32.mul
local.tee 7
local.get 3
i32.add
local.tee 8
i32.add
local.tee 9
i32.load8_u
local.tee 10
i32.const 7
i32.gt_u
br_if 0 (;@4;)
block ;; label = @5
block ;; label = @6
block ;; label = @7
block ;; label = @8
local.get 1
local.get 6
i32.const -1
i32.add
local.tee 11
local.get 2
i32.mul
local.tee 12
i32.add
local.get 3
i32.add
local.tee 13
i32.load8_u
i32.const 8
i32.lt_u
local.get 13
i32.const -1
i32.add
local.tee 14
i32.load8_u
i32.const 8
i32.lt_u
i32.add
local.get 13
i32.load8_u offset=1
i32.const 8
i32.lt_u
i32.add
local.get 14
local.get 2
i32.add
local.tee 15
i32.load8_u
i32.const 8
i32.lt_u
i32.add
local.get 15
i32.load8_u offset=2
i32.const 8
i32.lt_u
i32.add
local.get 15
local.get 2
i32.add
local.tee 15
i32.load8_u
i32.const 8
i32.lt_u
i32.add
local.get 15
i32.load8_u offset=1
i32.const 8
i32.lt_u
i32.add
local.get 15
i32.load8_u offset=2
i32.const 8
i32.lt_u
i32.add
br_table 1 (;@7;) 0 (;@8;) 3 (;@5;) 2 (;@6;)
end
local.get 10
i32.const 5
i32.gt_u
br_if 3 (;@4;)
local.get 0
local.get 8
i32.const 1
i32.add
local.tee 16
i32.add
i32.load8_s
local.set 10
local.get 0
local.get 12
local.get 3
i32.add
local.tee 17
i32.const 1
i32.add
local.tee 18
i32.add
i32.load8_s
local.set 7
local.get 0
local.get 6
i32.const 1
i32.add
local.get 2
i32.mul
local.get 3
i32.add
local.tee 19
i32.add
i32.load8_s
local.set 13
local.get 0
local.get 19
i32.const 1
i32.add
local.tee 20
i32.add
i32.load8_s
local.set 15
local.get 0
local.get 19
i32.const -1
i32.add
local.tee 21
i32.add
i32.load8_s
local.set 14
block ;; label = @8
block ;; label = @9
block ;; label = @10
block ;; label = @11
local.get 1
local.get 17
i32.const -1
i32.add
local.tee 12
i32.add
i32.load8_u
i32.const 8
i32.lt_u
br_if 0 (;@11;)
local.get 0
local.get 8
i32.const -1
i32.add
local.tee 22
i32.add
i32.load8_s
local.set 8
block ;; label = @12
local.get 1
local.get 17
i32.add
i32.load8_u
i32.const 8
i32.lt_u
br_if 0 (;@12;)
local.get 0
local.get 12
i32.add
i32.load8_s
local.set 12
block ;; label = @13
local.get 1
local.get 18
i32.add
i32.load8_u
i32.const 8
i32.lt_u
br_if 0 (;@13;)
local.get 0
local.get 17
i32.add
i32.load8_s
local.set 17
block ;; label = @14
local.get 1
local.get 22
i32.add
i32.load8_u
i32.const 8
i32.lt_u
br_if 0 (;@14;)
block ;; label = @15
local.get 1
local.get 16
i32.add
i32.load8_u
i32.const 8
i32.lt_u
br_if 0 (;@15;)
block ;; label = @16
local.get 1
local.get 21
i32.add
i32.load8_u
i32.const 8
i32.lt_u
br_if 0 (;@16;)
block ;; label = @17
local.get 1
local.get 19
i32.add
i32.load8_u
i32.const 8
i32.lt_u
br_if 0 (;@17;)
local.get 1
local.get 20
i32.add
i32.load8_u
i32.const 7
i32.gt_u
br_if 9 (;@8;)
local.get 12
i32.const 2
i32.shl
local.set 12
local.get 8
i32.const 3
i32.mul
local.set 8
local.get 17
i32.const 3
i32.mul
local.set 17
local.get 7
i32.const 1
i32.shl
local.set 7
local.get 14
i32.const 1
i32.shl
local.set 14
i32.const 0
local.set 13
i32.const 0
local.set 10
i32.const 0
local.set 15
br 9 (;@8;)
end
local.get 17
i32.const 2
i32.shl
local.set 17
local.get 7
i32.const 3
i32.mul
local.set 7
local.get 12
i32.const 3
i32.mul
local.set 12
local.get 10
i32.const 1
i32.shl
local.set 10
local.get 8
i32.const 1
i32.shl
local.set 8
i32.const 0
local.set 13
i32.const 0
local.set 14
i32.const 0
local.set 15
br 8 (;@8;)
end
local.get 7
i32.const 2
i32.shl
local.set 7
local.get 10
i32.const 3
i32.mul
local.set 10
local.get 17
i32.const 3
i32.mul
local.set 17
local.get 15
i32.const 1
i32.shl
local.set 15
local.get 12
i32.const 1
i32.shl
local.set 12
i32.const 0
local.set 13
i32.const 0
local.set 14
i32.const 0
local.set 8
br 7 (;@8;)
end
local.get 8
i32.const 2
i32.shl
local.set 8
local.get 14
i32.const 3
i32.mul
local.set 14
local.get 12
i32.const 3
i32.mul
local.set 12
local.get 13
i32.const 1
i32.shl
local.set 13
local.get 17
i32.const 1
i32.shl
local.set 17
i32.const 0
local.set 10
i32.const 0
local.set 15
i32.const 0
local.set 7
br 6 (;@8;)
end
local.get 10
i32.const 2
i32.shl
local.set 10
local.get 15
i32.const 3
i32.mul
local.set 15
local.get 7
i32.const 3
i32.mul
local.set 7
local.get 13
i32.const 1
i32.shl
local.set 13
local.get 17
i32.const 1
i32.shl
local.set 17
i32.const 0
local.set 14
i32.const 0
local.set 8
br 4 (;@9;)
end
local.get 14
i32.const 2
i32.shl
local.set 14
local.get 13
i32.const 3
i32.mul
local.set 13
local.get 8
i32.const 3
i32.mul
local.set 8
local.get 15
i32.const 1
i32.shl
local.set 15
local.get 12
i32.const 1
i32.shl
local.set 12
i32.const 0
local.set 10
i32.const 0
local.set 7
i32.const 0
local.set 17
br 4 (;@8;)
end
local.get 13
i32.const 2
i32.shl
local.set 13
local.get 15
i32.const 3
i32.mul
local.set 15
local.get 14
i32.const 3
i32.mul
local.set 14
local.get 10
i32.const 1
i32.shl
local.set 10
local.get 8
i32.const 1
i32.shl
local.set 8
i32.const 0
local.set 7
br 1 (;@10;)
end
local.get 15
i32.const 2
i32.shl
local.set 15
local.get 13
i32.const 3
i32.mul
local.set 13
local.get 10
i32.const 3
i32.mul
local.set 10
local.get 14
i32.const 1
i32.shl
local.set 14
local.get 7
i32.const 1
i32.shl
local.set 7
i32.const 0
local.set 8
end
i32.const 0
local.set 17
end
i32.const 0
local.set 12
end
i32.const 3
i32.const 3
call $__pragma_loopbound
i32.const 2
i32.const 1
i32.const 0
i32.const 2
i32.const 0
i32.const 2
i32.const 1
i32.const 0
local.get 23
local.get 12
i32.const 0
i32.gt_s
local.tee 19
select
local.get 17
local.get 12
i32.const 0
local.get 19
select
local.tee 23
i32.gt_s
local.tee 12
select
local.get 7
local.get 17
local.get 23
local.get 12
select
local.tee 23
i32.gt_s
local.tee 17
select
local.get 8
local.get 7
local.get 23
local.get 17
select
local.tee 23
i32.gt_s
local.tee 7
select
local.get 10
local.get 8
local.get 23
local.get 7
select
local.tee 23
i32.gt_s
local.tee 8
select
local.get 14
local.get 10
local.get 23
local.get 8
select
local.tee 23
i32.gt_s
local.tee 10
select
local.get 13
local.get 14
local.get 23
local.get 10
select
local.tee 23
i32.gt_s
local.tee 14
select
local.get 15
local.get 13
local.get 23
local.get 14
select
local.tee 18
i32.gt_s
local.tee 13
select
local.set 23
i32.const 2
i32.const 2
i32.const 1
i32.const 1
i32.const 0
i32.const 0
local.get 24
local.get 12
local.get 19
i32.or
i32.const 1
i32.and
select
local.get 17
select
local.get 7
select
local.get 8
select
local.get 14
local.get 10
i32.or
i32.const 1
i32.and
select
local.get 13
select
local.set 24
local.get 15
local.get 18
local.get 13
select
i32.eqz
br_if 3 (;@4;)
local.get 1
local.get 11
local.get 24
i32.add
local.tee 13
local.get 2
i32.mul
i32.add
local.get 3
i32.add
local.get 23
i32.add
i32.const -1
i32.add
i32.const 4
local.get 9
i32.load8_u
local.tee 15
i32.const 1
i32.add
local.get 15
i32.const 4
i32.lt_u
select
i32.store8
local.get 24
i32.const 1
i32.shl
local.get 23
i32.add
i32.const 2
i32.gt_s
br_if 3 (;@4;)
local.get 13
i32.const 4
local.get 13
i32.const 4
i32.gt_s
select
local.set 6
local.get 3
local.get 23
i32.add
i32.const -2
i32.add
local.tee 3
i32.const 4
local.get 3
i32.const 4
i32.gt_s
select
local.set 3
br 3 (;@4;)
end
local.get 9
i32.const 100
i32.store8
br 2 (;@4;)
end
local.get 1
local.get 6
local.get 2
i32.mul
i32.add
local.get 3
i32.add
local.tee 15
i32.const 1
i32.add
i32.load8_u
i32.const 8
i32.lt_u
local.tee 9
local.get 13
i32.load8_u
i32.const 8
i32.lt_u
local.tee 8
i32.add
local.get 1
local.get 6
i32.const 1
i32.add
local.get 2
i32.mul
i32.add
local.get 3
i32.add
local.tee 10
i32.load8_u
i32.const 8
i32.lt_u
local.tee 7
i32.add
local.get 15
i32.const -1
i32.add
i32.load8_u
i32.const 8
i32.lt_u
local.tee 12
i32.add
i32.const 2
i32.lt_u
br_if 1 (;@4;)
local.get 9
local.get 13
i32.const 1
i32.add
i32.load8_u
i32.const 8
i32.lt_u
i32.or
local.tee 13
local.get 8
local.get 14
i32.load8_u
i32.const 8
i32.lt_u
i32.or
local.tee 14
i32.add
local.get 12
local.get 10
i32.const -1
i32.add
i32.load8_u
i32.const 8
i32.lt_u
i32.or
local.tee 11
i32.add
local.get 7
local.get 10
i32.const 1
i32.add
i32.load8_u
i32.const 8
i32.lt_u
i32.or
local.tee 10
i32.add
local.get 14
local.get 12
i32.and
local.get 13
local.get 8
i32.and
i32.add
local.get 11
local.get 7
i32.and
i32.add
local.get 10
local.get 9
i32.and
i32.add
i32.sub
i32.const 1
i32.gt_s
br_if 1 (;@4;)
local.get 15
i32.const 100
i32.store8
local.get 3
i32.const 6
local.get 3
i32.const 6
i32.gt_s
select
i32.const -2
i32.add
local.set 3
local.get 6
i32.const 5
local.get 6
i32.const 5
i32.gt_s
select
i32.const -1
i32.add
local.set 6
br 1 (;@4;)
end
block ;; label = @5
local.get 13
i32.const 1
i32.add
i32.load8_u
local.tee 11
i32.const 8
i32.lt_u
local.tee 9
local.get 14
i32.load8_u
i32.const 8
i32.lt_u
local.tee 14
i32.add
local.get 1
local.get 6
i32.const 1
i32.add
local.get 2
i32.mul
i32.add
local.get 3
i32.add
local.tee 15
i32.const -1
i32.add
i32.load8_u
i32.const 8
i32.lt_u
local.tee 10
i32.add
local.get 15
i32.const 1
i32.add
i32.load8_u
i32.const 8
i32.lt_u
local.tee 12
i32.add
i32.const 2
i32.ne
br_if 0 (;@5;)
local.get 12
local.get 14
i32.or
local.get 10
local.get 9
i32.or
i32.and
i32.eqz
br_if 0 (;@5;)
local.get 0
local.get 8
i32.add
i32.load8_u
local.set 10
local.get 11
i32.const 7
i32.gt_u
local.set 8
block ;; label = @6
block ;; label = @7
local.get 14
br_if 0 (;@7;)
local.get 8
local.set 14
local.get 9
local.set 12
br 1 (;@6;)
end
local.get 9
local.set 14
i32.const 0
local.get 8
i32.sub
local.set 9
local.get 8
local.set 12
i32.const -1
i32.const 0
local.get 11
i32.const 8
i32.lt_u
select
local.set 8
end
local.get 0
local.get 9
local.get 3
i32.add
local.get 8
local.get 6
i32.add
local.get 2
i32.mul
i32.add
local.tee 11
i32.add
i32.load8_s
f32.convert_i32_s
local.get 10
i32.extend8_s
f32.convert_i32_s
f32.div
f64.promote_f32
f64.const 0x1.6666666666666p-1 (;=0.7;)
f64.gt
i32.eqz
br_if 1 (;@4;)
block ;; label = @6
block ;; label = @7
local.get 14
i32.eqz
br_if 0 (;@7;)
local.get 1
local.get 8
i32.const 1
i32.shl
local.get 6
i32.add
local.get 2
i32.mul
i32.add
local.get 3
i32.add
local.tee 14
i32.load8_u
i32.const 8
i32.lt_u
br_if 0 (;@7;)
local.get 14
i32.const -1
i32.add
i32.load8_u
i32.const 8
i32.lt_u
br_if 0 (;@7;)
local.get 14
i32.const 1
i32.add
i32.load8_u
i32.const 8
i32.ge_u
br_if 1 (;@6;)
end
local.get 12
i32.eqz
br_if 2 (;@4;)
local.get 1
local.get 7
i32.add
local.get 3
i32.add
local.get 9
i32.const 1
i32.shl
local.tee 14
i32.add
i32.load8_u
i32.const 8
i32.lt_u
br_if 2 (;@4;)
local.get 15
local.get 14
i32.add
i32.load8_u
i32.const 8
i32.lt_u
br_if 2 (;@4;)
local.get 13
local.get 14
i32.add
i32.load8_u
i32.const 8
i32.lt_u
br_if 2 (;@4;)
end
local.get 1
local.get 7
i32.add
local.get 3
i32.add
i32.const 100
i32.store8
local.get 1
local.get 11
i32.add
i32.const 3
i32.store8
br 1 (;@4;)
end
local.get 1
local.get 7
i32.add
local.get 3
i32.add
local.tee 14
i32.const 1
i32.add
i32.load8_u
i32.const 8
i32.lt_u
local.tee 10
local.get 13
i32.load8_u
i32.const 8
i32.lt_u
local.tee 9
i32.add
local.get 15
i32.load8_u
i32.const 8
i32.lt_u
local.tee 7
i32.add
local.get 14
i32.const -1
i32.add
i32.load8_u
i32.const 8
i32.lt_u
local.tee 8
i32.add
i32.const 2
i32.ne
br_if 0 (;@4;)
local.get 8
local.get 10
i32.or
local.get 7
local.get 9
i32.or
i32.and
i32.eqz
br_if 0 (;@4;)
block ;; label = @5
local.get 9
local.get 1
local.get 6
i32.const -2
i32.add
local.get 2
i32.mul
i32.add
local.get 3
i32.add
local.tee 12
i32.const -1
i32.add
i32.load8_u
i32.const 8
i32.lt_u
local.get 12
i32.const 1
i32.add
i32.load8_u
i32.const 8
i32.lt_u
i32.or
i32.and
br_if 0 (;@5;)
local.get 8
local.get 13
i32.const -2
i32.add
i32.load8_u
i32.const 8
i32.lt_u
local.get 15
i32.const -2
i32.add
i32.load8_u
i32.const 8
i32.lt_u
i32.or
i32.and
br_if 0 (;@5;)
local.get 10
local.get 13
i32.const 2
i32.add
i32.load8_u
i32.const 8
i32.lt_u
local.get 15
i32.const 2
i32.add
i32.load8_u
i32.const 8
i32.lt_u
i32.or
i32.and
br_if 0 (;@5;)
local.get 7
local.get 1
local.get 6
i32.const 2
i32.add
local.get 2
i32.mul
i32.add
local.get 3
i32.add
local.tee 13
i32.const -1
i32.add
i32.load8_u
i32.const 8
i32.lt_u
local.get 13
i32.const 1
i32.add
i32.load8_u
i32.const 8
i32.lt_u
i32.or
i32.and
i32.eqz
br_if 1 (;@4;)
end
local.get 14
i32.const 100
i32.store8
local.get 3
i32.const 6
local.get 3
i32.const 6
i32.gt_s
select
i32.const -2
i32.add
local.set 3
local.get 6
i32.const 5
local.get 6
i32.const 5
i32.gt_s
select
i32.const -1
i32.add
local.set 6
end
local.get 3
i32.const 1
i32.add
local.tee 3
local.get 5
i32.lt_s
br_if 0 (;@3;)
end
local.get 6
i32.const 1
i32.add
local.tee 6
local.get 4
i32.lt_s
br_if 0 (;@2;)
end
end)
(func $susan_edges (type 8) (param i32 i32 i32 i32 i32 i32 i32)
(local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 f32 f32)
local.get 1
i32.const 0
local.get 6
local.get 5
i32.mul
call $susan_wccmemset
i32.const 89
i32.const 89
call $__pragma_loopbound
block ;; label = @1
local.get 6
i32.const 6
i32.gt_s
br_if 0 (;@1;)
i32.const 87
i32.const 87
call $__pragma_loopbound
return
end
block ;; label = @1
block ;; label = @2
local.get 5
i32.const 6
i32.gt_s
br_if 0 (;@2;)
local.get 6
i32.const -6
i32.add
local.set 7
loop ;; label = @3
i32.const 70
i32.const 70
call $__pragma_loopbound
local.get 7
i32.const -1
i32.add
local.tee 7
br_if 0 (;@3;)
br 2 (;@1;)
end
end
local.get 6
i32.const -3
i32.add
local.set 8
local.get 5
i32.const -6
i32.add
local.set 9
local.get 0
local.get 5
i32.add
local.set 10
local.get 0
local.get 5
i32.const 2
i32.shl
i32.add
local.set 11
local.get 0
local.get 5
i32.const 3
i32.mul
local.tee 7
i32.add
local.set 12
local.get 0
local.get 5
i32.const 1
i32.shl
i32.add
local.set 13
local.get 0
local.get 5
i32.const 5
i32.mul
i32.add
local.set 14
local.get 0
local.get 5
i32.const 6
i32.mul
i32.add
local.set 15
local.get 7
local.get 1
i32.add
i32.const 3
i32.add
local.set 16
local.get 0
local.set 17
i32.const 3
local.set 18
loop ;; label = @2
i32.const 70
i32.const 70
call $__pragma_loopbound
i32.const 0
local.set 19
loop ;; label = @3
block ;; label = @4
local.get 4
local.get 3
local.get 12
local.get 19
i32.add
local.tee 20
i32.const 3
i32.add
i32.load8_u
i32.add
local.tee 7
local.get 17
local.get 19
i32.add
local.tee 21
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.get 7
local.get 21
i32.const 3
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 21
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 10
local.get 19
i32.add
local.tee 21
i32.const 1
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 21
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 21
i32.const 3
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 21
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 21
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 13
local.get 19
i32.add
local.tee 21
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 21
i32.const 1
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 21
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 21
i32.const 3
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 21
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 21
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 21
i32.const 6
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 20
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 20
i32.const 1
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 20
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 20
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 20
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 20
i32.const 6
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 11
local.get 19
i32.add
local.tee 20
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 20
i32.const 1
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 20
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 20
i32.const 3
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 20
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 20
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 20
i32.const 6
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 14
local.get 19
i32.add
local.tee 20
i32.const 1
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 20
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 20
i32.const 3
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 20
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 20
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 15
local.get 19
i32.add
local.tee 20
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 20
i32.const 3
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 20
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
i32.const 100
i32.add
local.tee 7
i32.lt_s
br_if 0 (;@4;)
local.get 16
local.get 19
i32.add
local.get 4
local.get 7
i32.sub
i32.store8
end
local.get 9
local.get 19
i32.const 1
i32.add
local.tee 19
i32.ne
br_if 0 (;@3;)
end
local.get 11
local.get 5
i32.add
local.set 11
local.get 12
local.get 5
i32.add
local.set 12
local.get 13
local.get 5
i32.add
local.set 13
local.get 14
local.get 5
i32.add
local.set 14
local.get 15
local.get 5
i32.add
local.set 15
local.get 10
local.get 5
i32.add
local.set 10
local.get 17
local.get 5
i32.add
local.set 17
local.get 16
local.get 5
i32.add
local.set 16
local.get 18
i32.const 1
i32.add
local.tee 18
local.get 8
i32.ne
br_if 0 (;@2;)
end
end
i32.const 87
i32.const 87
call $__pragma_loopbound
block ;; label = @1
local.get 6
i32.const 9
i32.lt_s
br_if 0 (;@1;)
block ;; label = @2
local.get 5
i32.const 8
i32.gt_s
br_if 0 (;@2;)
local.get 6
i32.const -8
i32.add
local.set 7
loop ;; label = @3
i32.const 68
i32.const 68
call $__pragma_loopbound
local.get 7
i32.const -1
i32.add
local.tee 7
br_if 0 (;@3;)
br 2 (;@1;)
end
end
local.get 6
i32.const -4
i32.add
local.set 22
local.get 5
i32.const -6
i32.add
local.set 9
local.get 5
i32.const -5
i32.add
local.set 11
local.get 5
i32.const -3
i32.add
local.set 14
i32.const 4
local.set 16
loop ;; label = @2
i32.const 68
i32.const 68
call $__pragma_loopbound
local.get 16
local.get 5
i32.mul
local.set 8
local.get 0
local.get 16
i32.const -3
i32.add
local.get 5
i32.mul
i32.add
local.set 23
i32.const 4
local.set 7
loop ;; label = @3
block ;; label = @4
local.get 1
local.get 7
local.tee 21
local.get 8
i32.add
local.tee 12
i32.add
i32.load8_s
local.tee 10
i32.const 1
i32.lt_s
br_if 0 (;@4;)
local.get 3
local.get 0
local.get 12
i32.add
i32.load8_u
i32.add
local.set 7
block ;; label = @5
block ;; label = @6
block ;; label = @7
local.get 4
local.get 10
i32.sub
local.tee 15
i32.const 601
i32.lt_s
br_if 0 (;@7;)
block ;; label = @8
block ;; label = @9
local.get 7
local.get 23
local.get 21
i32.add
local.tee 13
i32.const 1
i32.add
local.tee 24
local.get 5
i32.add
local.tee 17
i32.const 1
i32.add
local.tee 20
local.get 5
i32.add
local.tee 18
i32.const 1
i32.add
local.tee 25
local.get 5
i32.add
local.tee 6
local.get 9
i32.add
local.tee 19
i32.load8_u
i32.sub
i32.load8_u
local.tee 26
local.get 7
local.get 20
local.get 11
i32.add
local.tee 20
i32.load8_u offset=1
i32.sub
i32.load8_u
local.tee 27
local.get 7
local.get 20
i32.load8_u
i32.sub
i32.load8_u
local.tee 28
i32.add
local.get 7
local.get 20
i32.load8_u offset=2
i32.sub
i32.load8_u
local.tee 29
i32.add
local.get 7
local.get 20
i32.load8_u offset=3
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 20
i32.load8_u offset=4
i32.sub
i32.load8_u
local.tee 30
i32.add
local.get 7
local.get 18
i32.load8_u
i32.sub
i32.load8_u
local.tee 31
i32.add
local.get 7
local.get 18
i32.load8_u offset=1
i32.sub
i32.load8_u
local.tee 18
i32.add
i32.sub
local.get 7
local.get 19
i32.load8_u offset=1
i32.sub
i32.load8_u
local.tee 32
i32.add
local.get 7
local.get 19
i32.load8_u offset=2
i32.sub
i32.load8_u
local.tee 33
i32.add
local.get 7
local.get 19
i32.load8_u offset=3
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 19
i32.load8_u offset=4
i32.sub
i32.load8_u
local.tee 34
i32.add
local.get 7
local.get 19
i32.load8_u offset=5
i32.sub
i32.load8_u
local.tee 35
i32.add
local.get 7
local.get 6
local.get 5
i32.add
local.tee 19
i32.load8_u
i32.sub
i32.load8_u
local.tee 36
i32.add
local.get 7
local.get 19
local.get 11
i32.add
local.tee 19
i32.load8_u
i32.sub
i32.load8_u
i32.const 1
i32.shl
local.tee 37
i32.add
local.get 7
local.get 19
i32.load8_u offset=4
i32.sub
i32.load8_u
i32.const 1
i32.shl
local.tee 38
i32.add
local.get 7
local.get 19
i32.load8_u offset=1
i32.sub
i32.load8_u
local.tee 39
local.get 7
local.get 24
local.get 14
i32.add
local.tee 20
i32.load8_u offset=1
i32.sub
i32.load8_u
local.tee 24
local.get 7
local.get 20
i32.load8_u
i32.sub
i32.load8_u
local.tee 40
i32.add
local.get 7
local.get 20
i32.load8_u offset=2
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 17
i32.load8_u
i32.sub
i32.load8_u
local.tee 20
i32.add
local.get 7
local.get 17
i32.load8_u offset=1
i32.sub
i32.load8_u
local.tee 41
i32.add
i32.sub
local.get 7
local.get 19
i32.load8_u offset=2
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 19
i32.load8_u offset=3
i32.sub
i32.load8_u
local.tee 42
i32.add
i32.const 1
i32.shl
i32.add
local.get 7
local.get 19
i32.const 4
i32.add
local.get 14
i32.add
local.tee 19
i32.load8_u
i32.sub
i32.load8_u
local.tee 43
local.get 7
local.get 13
i32.load8_u
i32.sub
i32.load8_u
local.get 7
local.get 13
i32.const -1
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 44
i32.add
local.get 7
local.get 13
i32.load8_u offset=1
i32.sub
i32.load8_u
local.tee 13
i32.add
i32.sub
local.get 7
local.get 19
i32.load8_u offset=1
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 19
i32.load8_u offset=2
i32.sub
i32.load8_u
local.tee 45
i32.add
i32.const 3
i32.mul
i32.add
local.tee 17
local.get 17
i32.mul
local.get 13
local.get 20
i32.add
local.get 30
i32.add
local.get 7
local.get 25
local.get 9
i32.add
local.tee 19
i32.load8_u offset=4
i32.sub
i32.load8_u
i32.add
local.get 34
i32.add
local.get 44
local.get 24
i32.add
local.get 29
i32.add
local.get 7
local.get 19
i32.load8_u offset=2
i32.sub
i32.load8_u
i32.add
local.get 33
i32.add
local.get 37
i32.add
local.get 39
i32.add
i32.sub
local.get 18
local.get 7
local.get 6
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 28
local.get 7
local.get 19
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 26
i32.add
i32.sub
local.get 36
i32.add
i32.const 3
i32.mul
i32.add
local.get 41
local.get 31
i32.add
local.get 7
local.get 19
i32.load8_u offset=5
i32.sub
i32.load8_u
i32.add
local.get 40
local.get 27
i32.add
local.get 7
local.get 19
i32.load8_u offset=1
i32.sub
i32.load8_u
i32.add
local.get 32
i32.add
i32.sub
local.get 35
i32.add
i32.const 1
i32.shl
i32.add
local.get 42
i32.add
local.get 38
i32.add
local.get 43
i32.sub
local.get 45
i32.add
local.tee 13
local.get 13
i32.mul
i32.add
local.tee 19
br_if 0 (;@9;)
f32.const 0x0p+0 (;=0;)
local.set 46
br 1 (;@8;)
end
i32.const 19
local.set 20
i32.const 19
i32.const 19
call $__pragma_loopbound
local.get 19
f32.convert_i32_u
local.tee 47
f32.const 0x1.4p+3 (;=10;)
f32.div
local.set 46
i32.const 0
local.set 19
loop ;; label = @9
block ;; label = @10
block ;; label = @11
local.get 19
br_if 0 (;@11;)
i32.const 0
local.set 19
local.get 47
local.get 46
local.get 47
local.get 46
local.get 46
f32.mul
f32.sub
local.get 46
local.get 46
f32.add
f32.div
f32.add
local.tee 46
local.get 46
f32.mul
f32.sub
call $susan___fabsf
f32.const 0x1.4f8b58p-17 (;=1e-05;)
f32.le
i32.eqz
br_if 1 (;@10;)
end
i32.const 1
local.set 19
end
local.get 20
i32.const -1
i32.add
local.tee 20
br_if 0 (;@9;)
end
end
local.get 15
f32.convert_i32_u
f64.promote_f32
f64.const 0x1.ccccccccccccdp-1 (;=0.9;)
f64.mul
local.get 46
f64.promote_f32
f64.lt
br_if 1 (;@6;)
end
i32.const 1
local.set 13
block ;; label = @7
block ;; label = @8
local.get 7
local.get 23
local.get 21
i32.add
local.tee 20
i32.const 1
i32.add
local.tee 19
local.get 5
i32.add
local.tee 15
i32.load8_u offset=1
i32.sub
i32.load8_u
i32.const 2
i32.shl
local.tee 6
local.get 7
local.get 19
local.get 14
i32.add
local.tee 17
i32.load8_u
i32.sub
i32.load8_u
i32.const 2
i32.shl
local.tee 24
i32.add
local.get 7
local.get 15
i32.const 1
i32.add
local.tee 18
local.get 11
i32.add
local.tee 19
i32.load8_u
i32.sub
i32.load8_u
local.tee 25
i32.add
local.get 7
local.get 19
i32.load8_u offset=1
i32.sub
i32.load8_u
local.tee 26
i32.add
local.get 7
local.get 19
i32.load8_u offset=2
i32.sub
i32.load8_u
local.tee 27
i32.add
local.get 7
local.get 19
i32.load8_u offset=3
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 19
i32.load8_u offset=4
i32.sub
i32.load8_u
local.tee 28
i32.add
local.get 7
local.get 18
local.get 5
i32.add
local.tee 19
i32.load8_u
i32.sub
i32.load8_u
local.tee 29
i32.add
local.get 7
local.get 19
i32.load8_u offset=1
i32.sub
i32.load8_u
local.tee 30
i32.add
local.get 7
local.get 19
i32.const 1
i32.add
local.tee 44
local.get 5
i32.add
local.tee 18
local.get 9
i32.add
local.tee 19
i32.load8_u
i32.sub
i32.load8_u
local.tee 31
i32.add
local.get 7
local.get 19
i32.load8_u offset=1
i32.sub
i32.load8_u
local.tee 32
i32.add
local.get 7
local.get 19
i32.load8_u offset=2
i32.sub
i32.load8_u
local.tee 33
i32.add
local.get 7
local.get 19
i32.load8_u offset=3
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 19
i32.load8_u offset=4
i32.sub
i32.load8_u
local.tee 34
i32.add
local.get 7
local.get 19
i32.load8_u offset=5
i32.sub
i32.load8_u
local.tee 35
i32.add
local.get 7
local.get 18
local.get 5
i32.add
local.tee 19
i32.load8_u
i32.sub
i32.load8_u
local.tee 36
i32.add
local.get 7
local.get 19
local.get 11
i32.add
local.tee 19
i32.load8_u
i32.sub
i32.load8_u
i32.const 2
i32.shl
local.tee 37
i32.add
local.get 7
local.get 19
i32.load8_u offset=4
i32.sub
i32.load8_u
i32.const 2
i32.shl
local.tee 38
i32.add
local.get 7
local.get 17
i32.load8_u offset=2
i32.sub
i32.load8_u
local.get 7
local.get 17
i32.load8_u offset=1
i32.sub
i32.load8_u
local.tee 17
i32.add
local.get 7
local.get 15
i32.load8_u
i32.sub
i32.load8_u
local.tee 15
i32.add
local.get 7
local.get 19
i32.load8_u offset=1
i32.sub
i32.load8_u
local.tee 39
i32.add
local.get 7
local.get 19
i32.load8_u offset=2
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 19
i32.load8_u offset=3
i32.sub
i32.load8_u
local.tee 40
i32.add
i32.const 2
i32.shl
i32.add
local.get 7
local.get 20
i32.load8_u
i32.sub
i32.load8_u
local.get 7
local.get 20
i32.const -1
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 41
i32.add
local.get 7
local.get 20
i32.load8_u offset=1
i32.sub
i32.load8_u
local.tee 20
i32.add
local.get 7
local.get 19
i32.const 4
i32.add
local.get 14
i32.add
local.tee 19
i32.load8_u
i32.sub
i32.load8_u
local.tee 42
i32.add
local.get 7
local.get 19
i32.load8_u offset=1
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 19
i32.load8_u offset=2
i32.sub
i32.load8_u
local.tee 43
i32.add
i32.const 9
i32.mul
i32.add
local.tee 45
br_if 0 (;@8;)
i32.const 0
local.set 7
br 1 (;@7;)
end
block ;; label = @8
local.get 20
local.get 41
i32.add
local.get 24
i32.add
local.get 17
i32.add
local.get 15
i32.add
local.get 6
i32.add
local.get 27
i32.add
local.get 28
i32.add
local.get 33
i32.add
local.get 34
i32.add
local.get 37
i32.add
local.get 39
i32.add
local.get 40
i32.add
local.get 38
i32.add
local.get 42
i32.add
local.get 43
i32.add
local.get 7
local.get 44
local.get 9
i32.add
local.tee 19
i32.load8_u offset=2
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 19
i32.load8_u offset=4
i32.sub
i32.load8_u
i32.add
local.get 29
local.get 26
i32.add
local.get 32
i32.add
local.get 35
i32.add
local.get 7
local.get 19
i32.load8_u offset=1
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 19
i32.load8_u offset=5
i32.sub
i32.load8_u
i32.add
i32.const 2
i32.shl
i32.add
local.get 30
local.get 25
i32.add
local.get 31
i32.add
local.get 36
i32.add
local.get 7
local.get 19
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 18
i32.load8_u
i32.sub
i32.load8_u
i32.add
i32.const 9
i32.mul
i32.add
f32.convert_i32_u
local.get 45
f32.convert_i32_u
f32.div
local.tee 46
f32.const 0x1p-1 (;=0.5;)
f32.lt
i32.eqz
br_if 0 (;@8;)
i32.const 1
local.set 7
i32.const 0
local.set 13
br 1 (;@7;)
end
block ;; label = @8
local.get 46
f32.const 0x1p+1 (;=2;)
f32.gt
i32.eqz
br_if 0 (;@8;)
i32.const 0
local.set 7
i32.const 1
local.set 13
br 1 (;@7;)
end
i32.const 1
local.set 7
i32.const 1
i32.const -1
local.get 24
local.get 27
i32.add
local.get 34
i32.add
local.get 6
local.get 28
i32.add
local.get 33
i32.add
local.get 37
i32.add
i32.sub
local.get 38
i32.add
local.get 17
local.get 26
i32.add
local.get 35
i32.add
local.get 15
local.get 29
i32.add
local.get 32
i32.add
local.get 39
i32.add
i32.sub
local.get 40
i32.add
i32.const 1
i32.shl
i32.add
local.get 41
local.get 25
i32.add
local.get 36
i32.add
local.get 20
local.get 30
i32.add
local.get 31
i32.add
local.get 42
i32.add
i32.sub
local.get 43
i32.add
i32.const 3
i32.mul
i32.add
i32.const 1
i32.lt_s
select
local.set 13
end
local.get 10
local.get 1
local.get 13
local.get 16
i32.add
local.get 5
i32.mul
i32.add
local.get 21
i32.add
local.get 7
i32.add
i32.load8_s
i32.le_s
br_if 2 (;@4;)
local.get 10
local.get 1
local.get 21
local.get 7
i32.sub
i32.add
local.get 16
local.get 13
i32.sub
local.get 5
i32.mul
i32.add
i32.load8_s
i32.lt_s
br_if 2 (;@4;)
local.get 10
local.get 1
local.get 13
i32.const 1
i32.shl
local.tee 19
local.get 16
i32.add
local.get 5
i32.mul
i32.add
local.get 21
i32.add
local.get 7
i32.const 1
i32.shl
local.tee 7
i32.add
i32.load8_s
i32.le_s
br_if 2 (;@4;)
local.get 10
local.get 1
local.get 21
local.get 7
i32.sub
i32.add
local.get 16
local.get 19
i32.sub
local.get 5
i32.mul
i32.add
i32.load8_s
i32.lt_s
br_if 2 (;@4;)
i32.const 2
local.set 7
br 1 (;@5;)
end
block ;; label = @6
block ;; label = @7
local.get 13
br_if 0 (;@7;)
f32.const 0x1.e848p+19 (;=1e+06;)
local.set 46
br 1 (;@6;)
end
local.get 17
f32.convert_i32_s
local.get 13
f32.convert_i32_s
f32.div
local.set 46
end
block ;; label = @6
block ;; label = @7
local.get 46
f32.neg
local.get 46
local.get 46
f32.const 0x0p+0 (;=0;)
f32.lt
local.tee 19
select
local.tee 46
f32.const 0x1p-1 (;=0.5;)
f32.lt
i32.eqz
br_if 0 (;@7;)
i32.const 1
local.set 7
i32.const 0
local.set 19
br 1 (;@6;)
end
block ;; label = @7
local.get 46
f32.const 0x1p+1 (;=2;)
f32.gt
i32.eqz
br_if 0 (;@7;)
i32.const 0
local.set 7
i32.const 1
local.set 19
br 1 (;@6;)
end
i32.const 1
local.set 7
i32.const -1
i32.const 1
local.get 19
select
local.set 19
end
local.get 10
local.get 1
local.get 19
local.get 16
i32.add
local.get 5
i32.mul
i32.add
local.get 21
i32.add
local.get 7
i32.add
i32.load8_s
i32.le_s
br_if 1 (;@4;)
local.get 10
local.get 1
local.get 21
local.get 7
i32.sub
i32.add
local.get 16
local.get 19
i32.sub
local.get 5
i32.mul
i32.add
i32.load8_s
i32.lt_s
br_if 1 (;@4;)
local.get 10
local.get 1
local.get 19
i32.const 1
i32.shl
local.tee 19
local.get 16
i32.add
local.get 5
i32.mul
i32.add
local.get 21
i32.add
local.get 7
i32.const 1
i32.shl
local.tee 7
i32.add
i32.load8_s
i32.le_s
br_if 1 (;@4;)
local.get 10
local.get 1
local.get 21
local.get 7
i32.sub
i32.add
local.get 16
local.get 19
i32.sub
local.get 5
i32.mul
i32.add
i32.load8_s
i32.lt_s
br_if 1 (;@4;)
i32.const 1
local.set 7
end
local.get 2
local.get 12
i32.add
local.get 7
i32.store8
end
local.get 21
i32.const 1
i32.add
local.set 7
local.get 21
local.get 11
i32.ne
br_if 0 (;@3;)
end
local.get 16
i32.const 1
i32.add
local.tee 16
local.get 22
i32.ne
br_if 0 (;@2;)
end
end)
(func $susan_edges_small (type 8) (param i32 i32 i32 i32 i32 i32 i32)
(local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 f32 f32)
local.get 1
i32.const 0
local.get 6
local.get 5
i32.mul
call $susan_wccmemset
i32.const 0
i32.const 0
call $__pragma_loopbound
block ;; label = @1
local.get 6
i32.const 2
i32.gt_s
br_if 0 (;@1;)
i32.const 0
i32.const 0
call $__pragma_loopbound
return
end
block ;; label = @1
block ;; label = @2
local.get 5
i32.const 2
i32.gt_s
br_if 0 (;@2;)
local.get 6
i32.const -2
i32.add
local.set 7
loop ;; label = @3
i32.const 0
i32.const 0
call $__pragma_loopbound
local.get 7
i32.const -1
i32.add
local.tee 7
br_if 0 (;@3;)
br 2 (;@1;)
end
end
local.get 6
i32.const -1
i32.add
local.set 8
local.get 0
local.get 5
i32.add
local.set 9
local.get 5
i32.const -2
i32.add
local.set 10
local.get 0
local.get 5
i32.const 1
i32.shl
i32.add
local.set 11
local.get 5
local.get 1
i32.add
i32.const 1
i32.add
local.set 12
local.get 0
local.set 13
i32.const 1
local.set 14
loop ;; label = @2
i32.const 0
local.set 15
i32.const 0
i32.const 0
call $__pragma_loopbound
loop ;; label = @3
block ;; label = @4
local.get 4
local.get 3
local.get 9
local.get 15
i32.add
local.tee 16
i32.const 1
i32.add
i32.load8_u
i32.add
local.tee 7
local.get 13
local.get 15
i32.add
local.tee 17
i32.load8_u
i32.sub
i32.load8_u
local.get 7
local.get 17
i32.const 1
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 17
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 16
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 16
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 11
local.get 15
i32.add
local.tee 16
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 16
i32.const 1
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 7
local.get 16
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
i32.const 100
i32.add
local.tee 7
i32.lt_s
br_if 0 (;@4;)
local.get 12
local.get 15
i32.add
local.get 4
local.get 7
i32.sub
i32.store8
end
local.get 10
local.get 15
i32.const 1
i32.add
local.tee 15
i32.ne
br_if 0 (;@3;)
end
local.get 9
local.get 5
i32.add
local.set 9
local.get 11
local.get 5
i32.add
local.set 11
local.get 13
local.get 5
i32.add
local.set 13
local.get 12
local.get 5
i32.add
local.set 12
local.get 14
i32.const 1
i32.add
local.tee 14
local.get 8
i32.ne
br_if 0 (;@2;)
end
end
i32.const 0
i32.const 0
call $__pragma_loopbound
block ;; label = @1
local.get 6
i32.const 5
i32.lt_s
br_if 0 (;@1;)
block ;; label = @2
local.get 5
i32.const 4
i32.gt_s
br_if 0 (;@2;)
local.get 6
i32.const -4
i32.add
local.set 7
loop ;; label = @3
i32.const 0
i32.const 0
call $__pragma_loopbound
local.get 7
i32.const -1
i32.add
local.tee 7
br_if 0 (;@3;)
br 2 (;@1;)
end
end
local.get 6
i32.const -2
i32.add
local.set 18
local.get 5
i32.const -2
i32.add
local.set 11
i32.const 2
local.set 12
loop ;; label = @2
i32.const 0
i32.const 0
call $__pragma_loopbound
local.get 12
local.get 5
i32.mul
local.set 14
local.get 0
local.get 12
i32.const -1
i32.add
local.get 5
i32.mul
i32.add
local.set 6
i32.const 2
local.set 17
loop ;; label = @3
block ;; label = @4
local.get 1
local.get 17
local.get 14
i32.add
local.tee 13
i32.add
i32.load8_s
local.tee 9
i32.const 1
i32.lt_s
br_if 0 (;@4;)
local.get 3
local.get 0
local.get 13
i32.add
i32.load8_u
i32.add
local.set 16
block ;; label = @5
block ;; label = @6
block ;; label = @7
local.get 4
local.get 9
i32.sub
local.tee 10
i32.const 251
i32.lt_s
br_if 0 (;@7;)
block ;; label = @8
block ;; label = @9
local.get 16
local.get 6
local.get 17
i32.add
local.tee 7
i32.load8_u offset=1
i32.sub
i32.load8_u
local.tee 19
local.get 16
local.get 7
i32.const 1
i32.add
local.tee 8
local.get 5
i32.add
local.tee 15
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 16
local.get 7
i32.const -1
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 20
local.get 16
local.get 8
local.get 11
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 16
local.get 15
local.get 11
i32.add
local.tee 21
i32.load8_u
i32.sub
i32.load8_u
local.tee 22
i32.add
i32.sub
local.get 16
local.get 15
local.get 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 15
i32.add
local.tee 8
local.get 8
i32.mul
local.get 22
local.get 16
local.get 7
i32.load8_u
i32.sub
i32.load8_u
local.get 20
i32.add
local.get 19
i32.add
i32.sub
local.get 16
local.get 21
i32.load8_u offset=1
i32.sub
i32.load8_u
i32.add
local.get 15
i32.add
local.tee 19
local.get 19
i32.mul
i32.add
local.tee 7
br_if 0 (;@9;)
f32.const 0x0p+0 (;=0;)
local.set 23
br 1 (;@8;)
end
i32.const 19
local.set 15
i32.const 19
i32.const 19
call $__pragma_loopbound
local.get 7
f32.convert_i32_u
local.tee 24
f32.const 0x1.4p+3 (;=10;)
f32.div
local.set 23
i32.const 0
local.set 7
loop ;; label = @9
block ;; label = @10
block ;; label = @11
local.get 7
br_if 0 (;@11;)
i32.const 0
local.set 7
local.get 24
local.get 23
local.get 24
local.get 23
local.get 23
f32.mul
f32.sub
local.get 23
local.get 23
f32.add
f32.div
f32.add
local.tee 23
local.get 23
f32.mul
f32.sub
call $susan___fabsf
f32.const 0x1.4f8b58p-17 (;=1e-05;)
f32.le
i32.eqz
br_if 1 (;@10;)
end
i32.const 1
local.set 7
end
local.get 15
i32.const -1
i32.add
local.tee 15
br_if 0 (;@9;)
end
end
local.get 10
f32.convert_i32_u
f64.promote_f32
f64.const 0x1.999999999999ap-2 (;=0.4;)
f64.mul
local.get 23
f64.promote_f32
f64.lt
br_if 1 (;@6;)
end
i32.const 1
local.set 15
block ;; label = @7
block ;; label = @8
local.get 16
local.get 6
local.get 17
i32.add
local.tee 7
i32.const 1
i32.add
local.tee 19
local.get 5
i32.add
local.tee 10
local.get 11
i32.add
local.tee 8
i32.load8_u
i32.sub
i32.load8_u
local.get 16
local.get 7
i32.load8_u offset=1
i32.sub
i32.load8_u
i32.add
local.tee 21
local.get 16
local.get 7
i32.const -1
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 22
i32.add
local.tee 20
local.get 16
local.get 7
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 16
local.get 8
i32.load8_u offset=1
i32.sub
i32.load8_u
i32.add
local.get 16
local.get 10
local.get 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 8
i32.add
local.tee 7
br_if 0 (;@8;)
i32.const 0
local.set 7
br 1 (;@7;)
end
block ;; label = @8
local.get 20
local.get 8
i32.add
local.get 16
local.get 19
local.get 11
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 16
local.get 10
i32.load8_u
i32.sub
i32.load8_u
i32.add
f32.convert_i32_u
local.get 7
f32.convert_i32_u
f32.div
local.tee 23
f32.const 0x1p-1 (;=0.5;)
f32.lt
i32.eqz
br_if 0 (;@8;)
i32.const 1
local.set 7
i32.const 0
local.set 15
br 1 (;@7;)
end
block ;; label = @8
local.get 23
f32.const 0x1p+1 (;=2;)
f32.gt
i32.eqz
br_if 0 (;@8;)
i32.const 0
local.set 7
i32.const 1
local.set 15
br 1 (;@7;)
end
i32.const 1
local.set 7
i32.const -1
i32.const 1
local.get 8
local.get 22
i32.add
local.get 21
i32.gt_u
select
local.set 15
end
local.get 9
local.get 1
local.get 15
local.get 12
i32.add
local.get 5
i32.mul
i32.add
local.get 17
i32.add
local.get 7
i32.add
i32.load8_s
i32.le_s
br_if 2 (;@4;)
local.get 9
local.get 1
local.get 17
local.get 7
i32.sub
i32.add
local.get 12
local.get 15
i32.sub
local.get 5
i32.mul
i32.add
i32.load8_s
i32.lt_s
br_if 2 (;@4;)
i32.const 2
local.set 7
br 1 (;@5;)
end
block ;; label = @6
block ;; label = @7
local.get 8
br_if 0 (;@7;)
f32.const 0x1.e848p+19 (;=1e+06;)
local.set 23
br 1 (;@6;)
end
local.get 19
f32.convert_i32_s
local.get 8
f32.convert_i32_s
f32.div
local.set 23
end
block ;; label = @6
block ;; label = @7
local.get 23
f32.neg
local.get 23
local.get 23
f32.const 0x0p+0 (;=0;)
f32.lt
local.tee 15
select
local.tee 23
f32.const 0x1p-1 (;=0.5;)
f32.lt
i32.eqz
br_if 0 (;@7;)
i32.const 1
local.set 7
i32.const 0
local.set 15
br 1 (;@6;)
end
block ;; label = @7
local.get 23
f32.const 0x1p+1 (;=2;)
f32.gt
i32.eqz
br_if 0 (;@7;)
i32.const 0
local.set 7
i32.const 1
local.set 15
br 1 (;@6;)
end
i32.const 1
local.set 7
i32.const -1
i32.const 1
local.get 15
select
local.set 15
end
local.get 9
local.get 1
local.get 15
local.get 12
i32.add
local.get 5
i32.mul
i32.add
local.get 17
i32.add
local.get 7
i32.add
i32.load8_s
i32.le_s
br_if 1 (;@4;)
local.get 9
local.get 1
local.get 17
local.get 7
i32.sub
i32.add
local.get 12
local.get 15
i32.sub
local.get 5
i32.mul
i32.add
i32.load8_s
i32.lt_s
br_if 1 (;@4;)
i32.const 1
local.set 7
end
local.get 2
local.get 13
i32.add
local.get 7
i32.store8
end
local.get 17
i32.const 1
i32.add
local.tee 17
local.get 11
i32.ne
br_if 0 (;@3;)
end
local.get 12
i32.const 1
i32.add
local.tee 12
local.get 18
i32.ne
br_if 0 (;@2;)
end
end)
(func $susan_corners (type 8) (param i32 i32 i32 i32 i32 i32 i32)
(local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 f32 f64 f32)
i32.const 0
local.set 7
local.get 1
i32.const 0
local.get 6
local.get 5
i32.mul
local.tee 8
call $susan_wccmemset
local.get 8
call $susan_wccmalloc
local.set 9
local.get 8
call $susan_wccmalloc
local.set 10
i32.const 85
i32.const 85
call $__pragma_loopbound
block ;; label = @1
block ;; label = @2
local.get 6
i32.const 10
i32.gt_s
br_if 0 (;@2;)
i32.const 85
i32.const 85
call $__pragma_loopbound
br 1 (;@1;)
end
local.get 6
i32.const -5
i32.add
local.set 11
block ;; label = @2
block ;; label = @3
local.get 5
i32.const 10
i32.gt_s
br_if 0 (;@3;)
local.get 6
i32.const -10
i32.add
local.set 8
loop ;; label = @4
i32.const 66
i32.const 66
call $__pragma_loopbound
local.get 8
i32.const -1
i32.add
local.tee 8
br_if 0 (;@4;)
br 2 (;@2;)
end
end
local.get 5
i32.const -10
i32.add
local.set 12
local.get 0
local.get 5
i32.const 6
i32.mul
i32.add
local.set 13
local.get 0
local.get 5
i32.const 7
i32.mul
i32.add
local.set 14
local.get 0
local.get 5
i32.const 2
i32.shl
i32.add
local.set 15
local.get 0
local.get 5
i32.const 3
i32.shl
i32.add
local.set 16
local.get 0
local.get 5
i32.const 3
i32.mul
i32.add
local.set 17
local.get 0
local.get 5
i32.const 1
i32.shl
i32.add
local.set 18
local.get 0
local.get 5
i32.const 5
i32.mul
local.tee 8
i32.add
local.set 19
local.get 1
local.get 8
i32.const 5
i32.add
local.tee 8
i32.add
local.set 20
local.get 9
local.get 8
i32.add
local.set 21
local.get 10
local.get 8
i32.add
local.set 22
i32.const 5
local.set 23
loop ;; label = @3
i32.const 66
i32.const 66
call $__pragma_loopbound
i32.const 0
local.set 24
loop ;; label = @4
block ;; label = @5
local.get 2
local.get 19
local.get 24
i32.add
local.tee 25
i32.const 5
i32.add
i32.load8_u
i32.add
local.tee 8
local.get 18
local.get 24
i32.add
local.tee 26
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 27
local.get 8
local.get 26
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 8
local.get 26
i32.const 6
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 28
i32.add
local.tee 29
local.get 8
local.get 17
local.get 24
i32.add
local.tee 26
i32.const 3
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 30
i32.add
local.get 8
local.get 26
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 31
i32.add
local.get 8
local.get 26
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 32
i32.add
local.get 8
local.get 26
i32.const 6
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 33
i32.add
local.get 8
local.get 26
i32.const 7
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 34
i32.add
local.get 8
local.get 15
local.get 24
i32.add
local.tee 26
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 35
i32.add
local.get 8
local.get 26
i32.const 3
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 36
i32.add
local.get 8
local.get 26
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 37
i32.add
local.get 8
local.get 26
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 38
i32.add
local.get 8
local.get 26
i32.const 6
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 39
i32.add
local.get 8
local.get 26
i32.const 7
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 40
i32.add
local.get 8
local.get 26
i32.const 8
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 41
i32.add
local.get 8
local.get 25
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 42
i32.add
local.get 8
local.get 25
i32.const 3
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 43
i32.add
local.get 8
local.get 25
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 44
i32.add
i32.const 100
i32.add
local.tee 26
local.get 3
i32.ge_s
br_if 0 (;@5;)
local.get 26
local.get 8
local.get 25
i32.const 6
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 45
i32.add
local.tee 26
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 26
local.get 8
local.get 25
i32.const 7
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 46
i32.add
local.tee 26
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 26
local.get 8
local.get 25
i32.const 8
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 25
i32.add
local.tee 26
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 26
local.get 8
local.get 13
local.get 24
i32.add
local.tee 47
i32.const 2
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 48
i32.add
local.tee 26
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 26
local.get 8
local.get 47
i32.const 3
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 49
i32.add
local.tee 26
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 26
local.get 8
local.get 47
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 50
i32.add
local.tee 26
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 26
local.get 8
local.get 47
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 51
i32.add
local.tee 26
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 26
local.get 8
local.get 47
i32.const 6
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 52
i32.add
local.tee 26
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 26
local.get 8
local.get 47
i32.const 7
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 53
i32.add
local.tee 26
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 26
local.get 8
local.get 47
i32.const 8
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 47
i32.add
local.tee 26
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 26
local.get 8
local.get 14
local.get 24
i32.add
local.tee 54
i32.const 3
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 55
i32.add
local.tee 26
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 26
local.get 8
local.get 54
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 56
i32.add
local.tee 26
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 26
local.get 8
local.get 54
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 57
i32.add
local.tee 26
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 26
local.get 8
local.get 54
i32.const 6
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 58
i32.add
local.tee 26
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 26
local.get 8
local.get 54
i32.const 7
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 54
i32.add
local.tee 26
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 26
local.get 8
local.get 16
local.get 24
i32.add
local.tee 59
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 60
i32.add
local.tee 26
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 26
local.get 8
local.get 59
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 61
i32.add
local.tee 26
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 3
local.get 26
local.get 8
local.get 59
i32.const 6
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.tee 59
i32.add
local.tee 26
i32.le_u
br_if 0 (;@5;)
local.get 48
local.get 36
local.get 35
i32.add
local.get 37
i32.add
local.get 38
i32.add
local.get 39
i32.add
local.get 40
i32.add
local.get 41
i32.add
i32.sub
local.get 49
i32.add
local.get 50
i32.add
local.get 51
i32.add
local.get 52
i32.add
local.get 53
i32.add
local.get 47
i32.add
local.get 55
i32.const 1
i32.shl
local.tee 38
i32.add
local.get 56
local.get 31
local.get 30
i32.add
local.get 32
i32.add
local.get 33
i32.add
local.get 34
i32.add
i32.sub
local.get 57
i32.add
local.get 58
i32.add
i32.const 1
i32.shl
i32.add
local.get 54
i32.const 1
i32.shl
local.tee 32
i32.add
local.get 60
local.get 29
i32.sub
local.get 61
i32.add
local.get 59
i32.add
i32.const 3
i32.mul
i32.add
local.tee 29
local.get 29
i32.mul
local.tee 51
local.get 28
local.get 33
i32.add
local.get 39
i32.add
local.get 45
i32.add
local.get 27
local.get 31
i32.add
local.get 37
i32.add
local.get 44
i32.add
local.get 50
i32.add
i32.sub
local.get 52
i32.add
local.get 34
local.get 40
i32.add
local.get 46
i32.add
local.get 30
local.get 36
i32.add
local.get 43
i32.add
local.get 49
i32.add
i32.sub
local.get 53
i32.add
i32.const 1
i32.shl
i32.add
local.get 41
local.get 25
i32.add
local.get 35
local.get 42
i32.add
local.get 48
i32.add
i32.sub
local.get 47
i32.add
i32.const 3
i32.mul
i32.add
local.get 38
local.get 56
i32.add
i32.sub
local.get 58
i32.add
local.get 32
i32.add
local.get 60
i32.sub
local.get 59
i32.add
local.tee 25
local.get 25
i32.mul
local.tee 30
i32.add
local.get 26
local.get 26
i32.mul
i32.const 1
i32.shr_u
i32.le_u
br_if 0 (;@5;)
block ;; label = @6
block ;; label = @7
local.get 51
local.get 30
i32.lt_u
br_if 0 (;@7;)
block ;; label = @8
block ;; label = @9
f64.const -0x1p-1 (;=-0.5;)
f64.const 0x1p-1 (;=0.5;)
local.get 25
f32.convert_i32_s
local.get 29
local.get 29
i32.const 31
i32.shr_s
local.tee 30
i32.xor
local.get 30
i32.sub
local.tee 30
f32.convert_i32_u
f32.div
local.tee 62
f32.const 0x0p+0 (;=0;)
f32.lt
select
local.get 62
f64.promote_f32
f64.add
local.tee 63
f64.abs
f64.const 0x1p+31 (;=2.14748e+09;)
f64.lt
i32.eqz
br_if 0 (;@9;)
local.get 63
i32.trunc_f64_s
local.set 31
br 1 (;@8;)
end
i32.const -2147483648
local.set 31
end
local.get 8
local.get 0
local.get 24
local.get 31
local.get 5
local.get 23
local.get 30
i32.extend16_s
local.get 29
i32.extend16_s
i32.div_s
i32.extend16_s
local.tee 33
i32.add
i32.mul
i32.add
i32.add
i32.add
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.set 31
block ;; label = @8
block ;; label = @9
f64.const -0x1p-1 (;=-0.5;)
f64.const 0x1p-1 (;=0.5;)
local.get 62
local.get 62
f32.add
local.tee 64
f32.const 0x0p+0 (;=0;)
f32.lt
select
local.get 64
f64.promote_f32
f64.add
local.tee 63
f64.abs
f64.const 0x1p+31 (;=2.14748e+09;)
f64.lt
i32.eqz
br_if 0 (;@9;)
local.get 63
i32.trunc_f64_s
local.set 30
br 1 (;@8;)
end
i32.const -2147483648
local.set 30
end
local.get 8
local.get 0
local.get 24
local.get 30
local.get 5
local.get 23
local.get 33
i32.const 1
i32.shl
i32.add
i32.mul
i32.add
i32.add
i32.add
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.set 34
block ;; label = @8
block ;; label = @9
f64.const -0x1p-1 (;=-0.5;)
f64.const 0x1p-1 (;=0.5;)
local.get 62
f32.const 0x1.8p+1 (;=3;)
f32.mul
local.tee 62
f32.const 0x0p+0 (;=0;)
f32.lt
select
local.get 62
f64.promote_f32
f64.add
local.tee 63
f64.abs
f64.const 0x1p+31 (;=2.14748e+09;)
f64.lt
i32.eqz
br_if 0 (;@9;)
local.get 63
i32.trunc_f64_s
local.set 30
br 1 (;@8;)
end
i32.const -2147483648
local.set 30
end
local.get 34
local.get 31
i32.add
local.set 31
local.get 33
i32.const 3
i32.mul
local.get 23
i32.add
local.set 33
br 1 (;@6;)
end
block ;; label = @7
block ;; label = @8
f64.const -0x1p-1 (;=-0.5;)
f64.const 0x1p-1 (;=0.5;)
local.get 29
f32.convert_i32_s
local.get 25
local.get 25
i32.const 31
i32.shr_s
local.tee 30
i32.xor
local.get 30
i32.sub
local.tee 30
f32.convert_i32_u
f32.div
local.tee 62
f32.const 0x0p+0 (;=0;)
f32.lt
select
local.get 62
f64.promote_f32
f64.add
local.tee 63
f64.abs
f64.const 0x1p+31 (;=2.14748e+09;)
f64.lt
i32.eqz
br_if 0 (;@8;)
local.get 63
i32.trunc_f64_s
local.set 31
br 1 (;@7;)
end
i32.const -2147483648
local.set 31
end
local.get 8
local.get 0
local.get 24
local.get 5
local.get 23
local.get 31
i32.add
i32.mul
local.get 30
i32.extend16_s
local.get 25
i32.extend16_s
i32.div_s
i32.extend16_s
local.tee 30
i32.add
i32.add
i32.add
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.set 31
block ;; label = @7
block ;; label = @8
f64.const -0x1p-1 (;=-0.5;)
f64.const 0x1p-1 (;=0.5;)
local.get 62
local.get 62
f32.add
local.tee 64
f32.const 0x0p+0 (;=0;)
f32.lt
select
local.get 64
f64.promote_f32
f64.add
local.tee 63
f64.abs
f64.const 0x1p+31 (;=2.14748e+09;)
f64.lt
i32.eqz
br_if 0 (;@8;)
local.get 63
i32.trunc_f64_s
local.set 33
br 1 (;@7;)
end
i32.const -2147483648
local.set 33
end
local.get 8
local.get 0
local.get 24
local.get 5
local.get 23
local.get 33
i32.add
i32.mul
local.get 30
i32.const 1
i32.shl
i32.add
i32.add
i32.add
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.set 33
block ;; label = @7
block ;; label = @8
f64.const -0x1p-1 (;=-0.5;)
f64.const 0x1p-1 (;=0.5;)
local.get 62
f32.const 0x1.8p+1 (;=3;)
f32.mul
local.tee 62
f32.const 0x0p+0 (;=0;)
f32.lt
select
local.get 62
f64.promote_f32
f64.add
local.tee 63
f64.abs
f64.const 0x1p+31 (;=2.14748e+09;)
f64.lt
i32.eqz
br_if 0 (;@8;)
local.get 63
i32.trunc_f64_s
local.set 34
br 1 (;@7;)
end
i32.const -2147483648
local.set 34
end
local.get 33
local.get 31
i32.add
local.set 31
local.get 23
local.get 34
i32.add
local.set 33
local.get 30
i32.const 3
i32.mul
local.set 30
end
local.get 31
local.get 8
local.get 0
local.get 24
local.get 30
local.get 33
local.get 5
i32.mul
i32.add
i32.add
i32.add
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
i32.const 291
i32.lt_u
br_if 0 (;@5;)
local.get 20
local.get 24
i32.add
local.get 3
local.get 26
i32.sub
i32.store8
local.get 21
local.get 24
i32.add
local.get 25
i32.const 51
i32.mul
local.get 26
i32.div_s
i32.store8
local.get 22
local.get 24
i32.add
local.get 29
i32.const 51
i32.mul
local.get 26
i32.div_s
i32.store8
end
local.get 12
local.get 24
i32.const 1
i32.add
local.tee 24
i32.ne
br_if 0 (;@4;)
end
local.get 13
local.get 5
i32.add
local.set 13
local.get 14
local.get 5
i32.add
local.set 14
local.get 15
local.get 5
i32.add
local.set 15
local.get 16
local.get 5
i32.add
local.set 16
local.get 17
local.get 5
i32.add
local.set 17
local.get 18
local.get 5
i32.add
local.set 18
local.get 19
local.get 5
i32.add
local.set 19
local.get 20
local.get 5
i32.add
local.set 20
local.get 21
local.get 5
i32.add
local.set 21
local.get 22
local.get 5
i32.add
local.set 22
local.get 23
i32.const 1
i32.add
local.tee 23
local.get 11
i32.ne
br_if 0 (;@3;)
end
end
i32.const 85
i32.const 85
call $__pragma_loopbound
local.get 6
i32.const 11
i32.lt_s
br_if 0 (;@1;)
block ;; label = @2
local.get 5
i32.const 10
i32.gt_s
br_if 0 (;@2;)
local.get 6
i32.const -10
i32.add
local.set 8
loop ;; label = @3
i32.const 66
i32.const 66
call $__pragma_loopbound
local.get 8
i32.const -1
i32.add
local.tee 8
br_if 0 (;@3;)
br 2 (;@1;)
end
end
i32.const 0
local.get 5
i32.sub
local.set 3
local.get 1
local.get 5
i32.const 2
i32.shl
i32.add
local.set 2
local.get 1
local.get 5
i32.const 3
i32.mul
i32.add
local.set 19
local.get 1
local.get 5
i32.const 6
i32.mul
i32.add
local.set 12
local.get 1
local.get 5
i32.const 1
i32.shl
i32.add
local.set 17
i32.const 5
local.set 30
local.get 0
local.get 5
i32.const 5
i32.mul
local.tee 8
i32.add
local.set 31
local.get 1
local.get 5
i32.const 7
i32.mul
i32.add
local.set 33
local.get 10
local.get 8
i32.add
local.set 34
local.get 9
local.get 8
i32.add
local.set 35
local.get 1
local.get 5
i32.const 3
i32.shl
i32.add
local.set 36
local.get 1
local.get 8
i32.add
local.set 25
i32.const 0
local.set 7
loop ;; label = @2
i32.const 66
i32.const 66
call $__pragma_loopbound
local.get 30
i32.const 1
i32.add
local.set 18
i32.const 5
local.set 8
loop ;; label = @3
block ;; label = @4
local.get 25
local.get 8
i32.add
local.tee 15
i32.load8_s
local.tee 26
i32.const 1
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 17
local.get 8
i32.add
local.tee 24
i32.const -3
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const -2
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const -1
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const 1
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const 2
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const 3
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 19
local.get 8
i32.add
local.tee 24
i32.const -3
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const -2
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const -1
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const 1
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const 2
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const 3
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 2
local.get 8
i32.add
local.tee 24
i32.const -3
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const -2
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const -1
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const 1
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const 2
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const 3
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 15
i32.const -3
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 15
i32.const -2
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 15
i32.const -1
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 26
local.get 15
i32.const 1
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 15
i32.const 2
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 15
i32.const 3
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 12
local.get 8
i32.add
local.tee 24
i32.const -3
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const -2
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const -1
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const 1
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const 2
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const 3
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 33
local.get 8
i32.add
local.tee 24
i32.const -3
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const -2
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const -1
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const 1
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const 2
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const 3
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 36
local.get 8
i32.add
local.tee 24
i32.const -3
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const -2
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const -1
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const 1
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const 2
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 26
local.get 24
i32.const 3
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 4
local.get 7
i32.const 24
i32.mul
i32.add
local.tee 26
local.get 30
i32.store offset=4
local.get 26
local.get 8
i32.store
local.get 26
i32.const 0
i32.store offset=8
local.get 26
local.get 35
local.get 8
i32.add
i32.load8_s
i32.store offset=12
local.get 26
local.get 34
local.get 8
i32.add
i32.load8_s
i32.store offset=16
local.get 26
local.get 31
local.get 8
i32.add
i32.load8_u
i32.store offset=20
local.get 7
i32.const 1
i32.add
local.set 7
end
local.get 3
local.get 8
i32.const 1
i32.add
local.tee 8
i32.add
i32.const -5
i32.ne
br_if 0 (;@3;)
end
local.get 2
local.get 5
i32.add
local.set 2
local.get 19
local.get 5
i32.add
local.set 19
local.get 12
local.get 5
i32.add
local.set 12
local.get 17
local.get 5
i32.add
local.set 17
local.get 31
local.get 5
i32.add
local.set 31
local.get 33
local.get 5
i32.add
local.set 33
local.get 34
local.get 5
i32.add
local.set 34
local.get 35
local.get 5
i32.add
local.set 35
local.get 36
local.get 5
i32.add
local.set 36
local.get 25
local.get 5
i32.add
local.set 25
local.get 18
local.set 30
local.get 18
local.get 11
i32.ne
br_if 0 (;@2;)
end
end
local.get 4
local.get 7
i32.const 24
i32.mul
i32.add
i32.const 7
i32.store offset=8)
(func $susan_corners_quick (type 8) (param i32 i32 i32 i32 i32 i32 i32)
(local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
i32.const 0
local.set 7
local.get 1
i32.const 0
local.get 6
local.get 5
i32.mul
call $susan_wccmemset
i32.const 0
i32.const 0
call $__pragma_loopbound
block ;; label = @1
block ;; label = @2
local.get 6
i32.const 14
i32.gt_s
br_if 0 (;@2;)
i32.const 0
i32.const 0
call $__pragma_loopbound
br 1 (;@1;)
end
local.get 6
i32.const -7
i32.add
local.set 8
block ;; label = @2
block ;; label = @3
local.get 5
i32.const 14
i32.gt_s
br_if 0 (;@3;)
local.get 6
i32.const -14
i32.add
local.set 9
loop ;; label = @4
i32.const 0
i32.const 0
call $__pragma_loopbound
local.get 9
i32.const -1
i32.add
local.tee 9
br_if 0 (;@4;)
br 2 (;@2;)
end
end
local.get 5
i32.const -14
i32.add
local.set 10
local.get 0
local.get 5
i32.const 3
i32.shl
i32.add
local.set 11
local.get 0
local.get 5
i32.const 9
i32.mul
i32.add
local.set 12
local.get 0
local.get 5
i32.const 6
i32.mul
i32.add
local.set 13
local.get 0
local.get 5
i32.const 10
i32.mul
i32.add
local.set 14
local.get 0
local.get 5
i32.const 5
i32.mul
i32.add
local.set 15
local.get 0
local.get 5
i32.const 2
i32.shl
i32.add
local.set 16
local.get 0
local.get 5
i32.const 7
i32.mul
local.tee 9
i32.add
local.set 17
local.get 9
local.get 1
i32.add
i32.const 7
i32.add
local.set 18
i32.const 7
local.set 19
loop ;; label = @3
i32.const 0
local.set 20
i32.const 0
i32.const 0
call $__pragma_loopbound
loop ;; label = @4
block ;; label = @5
local.get 2
local.get 17
local.get 20
i32.add
local.tee 21
i32.const 7
i32.add
i32.load8_u
i32.add
local.tee 9
local.get 16
local.get 20
i32.add
local.tee 22
i32.const 6
i32.add
i32.load8_u
i32.sub
i32.load8_u
local.get 9
local.get 22
i32.const 7
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 9
local.get 22
i32.const 8
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 9
local.get 15
local.get 20
i32.add
local.tee 22
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 9
local.get 22
i32.const 6
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 9
local.get 22
i32.const 7
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 9
local.get 22
i32.const 8
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 9
local.get 22
i32.const 9
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 9
local.get 13
local.get 20
i32.add
local.tee 22
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 9
local.get 22
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 9
local.get 22
i32.const 6
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 9
local.get 22
i32.const 7
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 9
local.get 22
i32.const 8
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 9
local.get 22
i32.const 9
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 9
local.get 22
i32.const 10
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 9
local.get 21
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 9
local.get 21
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.get 9
local.get 21
i32.const 6
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
i32.const 100
i32.add
local.tee 22
local.get 3
i32.ge_s
br_if 0 (;@5;)
local.get 22
local.get 9
local.get 21
i32.const 8
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.tee 22
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 22
local.get 9
local.get 21
i32.const 9
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.tee 22
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 22
local.get 9
local.get 21
i32.const 10
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.tee 22
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 22
local.get 9
local.get 11
local.get 20
i32.add
local.tee 21
i32.const 4
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.tee 22
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 22
local.get 9
local.get 21
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.tee 22
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 22
local.get 9
local.get 21
i32.const 6
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.tee 22
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 22
local.get 9
local.get 21
i32.const 7
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.tee 22
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 22
local.get 9
local.get 21
i32.const 8
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.tee 22
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 22
local.get 9
local.get 21
i32.const 9
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.tee 22
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 22
local.get 9
local.get 21
i32.const 10
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.tee 22
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 22
local.get 9
local.get 12
local.get 20
i32.add
local.tee 21
i32.const 5
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.tee 22
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 22
local.get 9
local.get 21
i32.const 6
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.tee 22
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 22
local.get 9
local.get 21
i32.const 7
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.tee 22
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 22
local.get 9
local.get 21
i32.const 8
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.tee 22
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 22
local.get 9
local.get 21
i32.const 9
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.tee 22
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 22
local.get 9
local.get 14
local.get 20
i32.add
local.tee 21
i32.const 6
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.tee 22
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 22
local.get 9
local.get 21
i32.const 7
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.tee 22
local.get 3
i32.ge_u
br_if 0 (;@5;)
local.get 3
local.get 22
local.get 9
local.get 21
i32.const 8
i32.add
i32.load8_u
i32.sub
i32.load8_u
i32.add
local.tee 9
i32.le_u
br_if 0 (;@5;)
local.get 18
local.get 20
i32.add
local.get 3
local.get 9
i32.sub
i32.store8
end
local.get 10
local.get 20
i32.const 1
i32.add
local.tee 20
i32.ne
br_if 0 (;@4;)
end
local.get 11
local.get 5
i32.add
local.set 11
local.get 12
local.get 5
i32.add
local.set 12
local.get 13
local.get 5
i32.add
local.set 13
local.get 14
local.get 5
i32.add
local.set 14
local.get 15
local.get 5
i32.add
local.set 15
local.get 16
local.get 5
i32.add
local.set 16
local.get 17
local.get 5
i32.add
local.set 17
local.get 18
local.get 5
i32.add
local.set 18
local.get 19
i32.const 1
i32.add
local.tee 19
local.get 8
i32.ne
br_if 0 (;@3;)
end
end
i32.const 0
local.set 7
i32.const 0
i32.const 0
call $__pragma_loopbound
local.get 6
i32.const 15
i32.lt_s
br_if 0 (;@1;)
block ;; label = @2
local.get 5
i32.const 14
i32.gt_s
br_if 0 (;@2;)
local.get 6
i32.const -14
i32.add
local.set 9
loop ;; label = @3
i32.const 0
local.set 7
i32.const 0
i32.const 0
call $__pragma_loopbound
local.get 9
i32.const -1
i32.add
local.tee 9
br_if 0 (;@3;)
br 2 (;@1;)
end
end
i32.const 0
local.get 5
i32.sub
local.set 3
local.get 1
local.get 5
i32.const 6
i32.mul
local.tee 9
i32.add
local.set 2
local.get 0
local.get 5
i32.const 5
i32.mul
local.tee 22
i32.add
local.set 11
local.get 0
local.get 9
i32.add
local.set 12
local.get 1
local.get 5
i32.const 3
i32.shl
local.tee 9
i32.add
local.set 10
local.get 1
local.get 22
i32.add
local.set 17
local.get 0
local.get 9
i32.add
local.set 14
local.get 1
local.get 5
i32.const 2
i32.shl
i32.add
local.set 15
local.get 1
local.get 5
i32.const 9
i32.mul
local.tee 9
i32.add
local.set 18
i32.const 7
local.set 19
local.get 0
local.get 5
i32.const 7
i32.mul
local.tee 22
i32.add
local.set 6
local.get 0
local.get 9
i32.add
local.set 0
local.get 1
local.get 5
i32.const 10
i32.mul
i32.add
local.set 23
local.get 1
local.get 22
i32.add
local.set 21
i32.const 0
local.set 7
loop ;; label = @2
i32.const 0
i32.const 0
call $__pragma_loopbound
local.get 19
i32.const 1
i32.add
local.set 16
i32.const 7
local.set 9
loop ;; label = @3
block ;; label = @4
local.get 21
local.get 9
i32.add
local.tee 13
i32.load8_s
local.tee 22
i32.const 1
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 15
local.get 9
i32.add
local.tee 20
i32.const -3
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const -2
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const -1
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const 1
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const 2
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const 3
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 17
local.get 9
i32.add
local.tee 20
i32.const -3
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const -2
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const -1
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const 1
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const 2
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const 3
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 2
local.get 9
i32.add
local.tee 20
i32.const -3
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const -2
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const -1
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const 1
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const 2
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const 3
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 13
i32.const -3
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 13
i32.const -2
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 13
i32.const -1
i32.add
i32.load8_s
i32.le_s
br_if 0 (;@4;)
local.get 22
local.get 13
i32.const 1
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 13
i32.const 2
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 13
i32.const 3
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 10
local.get 9
i32.add
local.tee 20
i32.const -3
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const -2
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const -1
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const 1
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const 2
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const 3
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 18
local.get 9
i32.add
local.tee 20
i32.const -3
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const -2
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const -1
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const 1
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const 2
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const 3
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 23
local.get 9
i32.add
local.tee 20
i32.const -3
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const -2
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const -1
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const 1
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const 2
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 22
local.get 20
i32.const 3
i32.add
i32.load8_s
i32.lt_s
br_if 0 (;@4;)
local.get 4
local.get 7
i32.const 24
i32.mul
i32.add
local.tee 22
local.get 19
i32.store offset=4
local.get 22
local.get 9
i32.store
local.get 22
i32.const 0
i32.store offset=8
local.get 22
local.get 11
local.get 9
i32.add
local.tee 20
i32.const -1
i32.add
local.tee 24
i32.load8_u
local.get 20
i32.const -2
i32.add
local.tee 25
i32.load8_u
i32.add
local.get 20
i32.load8_u
i32.add
local.get 20
i32.const 1
i32.add
local.tee 26
i32.load8_u
i32.add
local.get 20
i32.const 2
i32.add
local.tee 27
i32.load8_u
i32.add
local.get 12
local.get 9
i32.add
local.tee 13
i32.const -2
i32.add
local.tee 28
i32.load8_u
i32.add
local.get 13
i32.const -1
i32.add
local.tee 29
i32.load8_u
i32.add
local.get 13
i32.load8_u
i32.add
local.get 13
i32.const 1
i32.add
local.tee 30
i32.load8_u
i32.add
local.get 13
i32.const 2
i32.add
local.tee 31
i32.load8_u
i32.add
local.get 6
local.get 9
i32.add
local.tee 1
i32.const -2
i32.add
local.tee 32
i32.load8_u
i32.add
local.get 1
i32.const -1
i32.add
local.tee 33
i32.load8_u
i32.add
local.get 1
i32.load8_u
i32.add
local.get 1
i32.const 1
i32.add
local.tee 34
i32.load8_u
i32.add
local.get 1
i32.const 2
i32.add
local.tee 35
i32.load8_u
i32.add
local.get 14
local.get 9
i32.add
local.tee 1
i32.const -2
i32.add
local.tee 36
i32.load8_u
i32.add
local.get 1
i32.const -1
i32.add
local.tee 37
i32.load8_u
i32.add
local.get 1
i32.load8_u
i32.add
local.get 1
i32.const 1
i32.add
local.tee 38
i32.load8_u
i32.add
local.get 1
i32.const 2
i32.add
local.tee 39
i32.load8_u
i32.add
local.get 0
local.get 9
i32.add
local.tee 40
i32.const -2
i32.add
local.tee 41
i32.load8_u
i32.add
local.get 40
i32.const -1
i32.add
local.tee 42
i32.load8_u
i32.add
local.get 40
i32.load8_u
i32.add
local.get 40
i32.const 1
i32.add
local.tee 43
i32.load8_u
i32.add
local.get 40
i32.const 2
i32.add
local.tee 44
i32.load8_u
i32.add
i32.const 65535
i32.and
i32.const 25
i32.div_u
i32.store offset=20
local.get 33
i32.load8_u
local.set 33
local.get 34
i32.load8_u
local.set 34
local.get 35
i32.load8_u
local.set 35
local.get 32
i32.load8_u
local.set 32
local.get 22
local.get 39
i32.load8_u
local.tee 39
local.get 36
i32.load8_u
local.tee 36
i32.add
local.get 38
i32.load8_u
local.tee 38
i32.add
local.get 31
i32.load8_u
local.tee 31
local.get 28
i32.load8_u
local.tee 28
i32.add
local.get 30
i32.load8_u
local.tee 30
i32.add
local.get 29
i32.load8_u
local.tee 29
i32.add
i32.sub
local.get 37
i32.load8_u
local.tee 37
i32.add
local.get 1
i32.load8_u
i32.add
local.get 13
i32.load8_u
i32.sub
local.get 44
i32.load8_u
local.tee 13
local.get 41
i32.load8_u
local.tee 1
i32.add
local.get 43
i32.load8_u
local.tee 41
i32.add
local.get 27
i32.load8_u
local.tee 27
local.get 25
i32.load8_u
local.tee 25
i32.add
local.get 26
i32.load8_u
local.tee 26
i32.add
local.get 24
i32.load8_u
local.tee 24
i32.add
i32.sub
local.get 42
i32.load8_u
local.tee 42
i32.add
local.get 40
i32.load8_u
i32.add
local.get 20
i32.load8_u
i32.sub
i32.const 1
i32.shl
i32.add
i32.extend16_s
i32.const 15
i32.div_s
i32.extend16_s
i32.store offset=16
local.get 22
local.get 41
local.get 38
local.get 34
local.get 30
local.get 26
i32.add
local.get 13
local.get 39
local.get 35
local.get 31
local.get 27
i32.add
i32.add
i32.add
i32.add
local.get 1
local.get 36
local.get 32
local.get 25
local.get 28
i32.add
i32.add
i32.add
i32.add
i32.sub
i32.const 1
i32.shl
i32.add
i32.add
i32.add
i32.add
local.get 42
local.get 37
local.get 33
local.get 24
local.get 29
i32.add
i32.add
i32.add
i32.add
i32.sub
i32.extend16_s
i32.const 15
i32.div_s
i32.extend16_s
i32.store offset=12
local.get 7
i32.const 1
i32.add
local.set 7
end
local.get 3
local.get 9
i32.const 1
i32.add
local.tee 9
i32.add
i32.const -7
i32.ne
br_if 0 (;@3;)
end
local.get 2
local.get 5
i32.add
local.set 2
local.get 11
local.get 5
i32.add
local.set 11
local.get 12
local.get 5
i32.add
local.set 12
local.get 10
local.get 5
i32.add
local.set 10
local.get 17
local.get 5
i32.add
local.set 17
local.get 14
local.get 5
i32.add
local.set 14
local.get 15
local.get 5
i32.add
local.set 15
local.get 18
local.get 5
i32.add
local.set 18
local.get 6
local.get 5
i32.add
local.set 6
local.get 0
local.get 5
i32.add
local.set 0
local.get 23
local.get 5
i32.add
local.set 23
local.get 21
local.get 5
i32.add
local.set 21
local.get 16
local.set 19
local.get 16
local.get 8
i32.ne
br_if 0 (;@2;)
end
end
local.get 4
local.get 7
i32.const 24
i32.mul
i32.add
i32.const 7
i32.store offset=8)
(func $susan_call_susan (type 0) (param i32 i32)
(local i32 i32 i32 i32 i32 i32 f32 f32 i32 i32)
global.get $__stack_pointer
i32.const 360000
i32.sub
local.tee 2
global.set $__stack_pointer
local.get 0
i32.const 0
i32.const 0
call $susan_wccfseek
drop
local.get 0
call $susan_wccfgetc
drop
local.get 0
call $susan_wccfgetc
drop
local.get 0
call $susan_getint
local.set 3
local.get 0
call $susan_getint
local.set 4
local.get 0
call $susan_getint
drop
local.get 4
local.get 3
i32.mul
local.tee 5
call $susan_wccmalloc
local.tee 6
i32.const 1
local.get 5
local.get 0
call $susan_wccfread
drop
block ;; label = @1
i32.const 0
f32.load offset=8320
f32.const 0x0p+0 (;=0;)
f32.lt
i32.eqz
br_if 0 (;@1;)
i32.const 0
i32.const 1
i32.store offset=8324
end
block ;; label = @1
block ;; label = @2
block ;; label = @3
block ;; label = @4
local.get 1
i32.const 1
local.get 1
i32.const 0
i32.load offset=8328
i32.const 1
i32.eq
select
local.get 1
select
br_table 0 (;@4;) 1 (;@3;) 2 (;@2;) 3 (;@1;)
end
i32.const 0
i32.load offset=8332
local.set 0
i32.const 516
call $susan_wccmalloc
local.set 7
i32.const 513
i32.const 513
call $__pragma_loopbound
local.get 7
i32.const 258
i32.add
local.set 5
local.get 0
f32.convert_i32_s
local.set 8
i32.const 2
local.set 0
loop ;; label = @4
block ;; label = @5
block ;; label = @6
local.get 0
i32.const -258
i32.add
f32.convert_i32_s
local.get 8
f32.div
local.tee 9
local.get 9
f32.mul
f32.const -0x1.7p+7 (;=-184;)
f32.mul
f32.const 0x1.fbc8p+13 (;=16249;)
f32.add
local.tee 9
f32.abs
f32.const 0x1p+31 (;=2.14748e+09;)
f32.lt
i32.eqz
br_if 0 (;@6;)
local.get 9
i32.trunc_f32_s
local.set 1
br 1 (;@5;)
end
i32.const -2147483648
local.set 1
end
block ;; label = @5
block ;; label = @6
local.get 1
i32.const 65535
i32.and
f32.reinterpret_i32
f32.const 0x1.9p+6 (;=100;)
f32.mul
local.tee 9
f32.const 0x1p+32 (;=4.29497e+09;)
f32.lt
local.get 9
f32.const 0x0p+0 (;=0;)
f32.ge
i32.and
i32.eqz
br_if 0 (;@6;)
local.get 9
i32.trunc_f32_u
local.set 1
br 1 (;@5;)
end
i32.const 0
local.set 1
end
local.get 7
local.get 0
i32.add
local.get 1
i32.store8
local.get 0
i32.const 1
i32.add
local.tee 0
i32.const 515
i32.ne
br_if 0 (;@4;)
end
i32.const 0
i32.load offset=8324
local.get 6
i32.const 0
f32.load offset=8320
local.get 3
local.get 4
local.get 5
call $susan_smoothing
br 2 (;@1;)
end
local.get 5
call $susan_wccmalloc
local.set 10
i32.const 0
i32.load offset=8332
local.set 0
i32.const 516
call $susan_wccmalloc
local.set 7
i32.const 513
i32.const 513
call $__pragma_loopbound
local.get 7
i32.const 258
i32.add
local.set 11
local.get 0
f32.convert_i32_s
local.set 8
i32.const 2
local.set 0
loop ;; label = @3
block ;; label = @4
block ;; label = @5
local.get 0
i32.const -258
i32.add
f32.convert_i32_s
local.get 8
f32.div
local.tee 9
local.get 9
f32.mul
local.tee 9
local.get 9
f32.mul
local.get 9
f32.mul
f32.const -0x1.7p+7 (;=-184;)
f32.mul
f32.const 0x1.fbc8p+13 (;=16249;)
f32.add
local.tee 9
f32.abs
f32.const 0x1p+31 (;=2.14748e+09;)
f32.lt
i32.eqz
br_if 0 (;@5;)
local.get 9
i32.trunc_f32_s
local.set 1
br 1 (;@4;)
end
i32.const -2147483648
local.set 1
end
block ;; label = @4
block ;; label = @5
local.get 1
i32.const 65535
i32.and
f32.reinterpret_i32
f32.const 0x1.9p+6 (;=100;)
f32.mul
local.tee 9
f32.const 0x1p+32 (;=4.29497e+09;)
f32.lt
local.get 9
f32.const 0x0p+0 (;=0;)
f32.ge
i32.and
i32.eqz
br_if 0 (;@5;)
local.get 9
i32.trunc_f32_u
local.set 1
br 1 (;@4;)
end
i32.const 0
local.set 1
end
local.get 7
local.get 0
i32.add
local.get 1
i32.store8
local.get 0
i32.const 1
i32.add
local.tee 0
i32.const 515
i32.ne
br_if 0 (;@3;)
end
block ;; label = @3
i32.const 0
i32.load offset=8328
i32.eqz
br_if 0 (;@3;)
i32.const 0
i32.load offset=8336
local.set 0
block ;; label = @4
i32.const 0
i32.load offset=8324
i32.eqz
br_if 0 (;@4;)
local.get 6
local.get 10
local.get 11
local.get 0
local.get 3
local.get 4
call $susan_principle_small
local.get 10
local.get 6
local.get 5
call $susan_int_to_uchar
br 3 (;@1;)
end
local.get 6
local.get 10
local.get 11
local.get 0
local.get 3
local.get 4
call $susan_principle
local.get 10
local.get 6
local.get 5
call $susan_int_to_uchar
br 2 (;@1;)
end
local.get 5
call $susan_wccmalloc
local.tee 0
i32.const 100
local.get 5
call $susan_wccmemset
i32.const 0
i32.load offset=8336
local.set 1
block ;; label = @3
block ;; label = @4
i32.const 0
i32.load offset=8324
i32.eqz
br_if 0 (;@4;)
local.get 6
local.get 10
local.get 0
local.get 11
local.get 1
local.get 3
local.get 4
call $susan_edges_small
br 1 (;@3;)
end
local.get 6
local.get 10
local.get 0
local.get 11
local.get 1
local.get 3
local.get 4
call $susan_edges
end
block ;; label = @3
i32.const 0
i32.load offset=8340
i32.eqz
br_if 0 (;@3;)
local.get 10
local.get 0
local.get 3
local.get 4
call $susan_thin
end
local.get 6
local.get 0
local.get 3
local.get 4
i32.const 0
i32.load offset=8344
call $susan_edge_draw
br 1 (;@1;)
end
local.get 5
call $susan_wccmalloc
local.set 10
i32.const 0
i32.load offset=8332
local.set 0
i32.const 516
call $susan_wccmalloc
local.set 7
i32.const 513
i32.const 513
call $__pragma_loopbound
local.get 7
i32.const 258
i32.add
local.set 11
local.get 0
f32.convert_i32_s
local.set 8
i32.const 2
local.set 0
loop ;; label = @2
block ;; label = @3
block ;; label = @4
local.get 0
i32.const -258
i32.add
f32.convert_i32_s
local.get 8
f32.div
local.tee 9
local.get 9
f32.mul
local.tee 9
local.get 9
f32.mul
local.get 9
f32.mul
f32.const -0x1.7p+7 (;=-184;)
f32.mul
f32.const 0x1.fbc8p+13 (;=16249;)
f32.add
local.tee 9
f32.abs
f32.const 0x1p+31 (;=2.14748e+09;)
f32.lt
i32.eqz
br_if 0 (;@4;)
local.get 9
i32.trunc_f32_s
local.set 1
br 1 (;@3;)
end
i32.const -2147483648
local.set 1
end
block ;; label = @3
block ;; label = @4
local.get 1
i32.const 65535
i32.and
f32.reinterpret_i32
f32.const 0x1.9p+6 (;=100;)
f32.mul
local.tee 9
f32.const 0x1p+32 (;=4.29497e+09;)
f32.lt
local.get 9
f32.const 0x0p+0 (;=0;)
f32.ge
i32.and
i32.eqz
br_if 0 (;@4;)
local.get 9
i32.trunc_f32_u
local.set 1
br 1 (;@3;)
end
i32.const 0
local.set 1
end
local.get 7
local.get 0
i32.add
local.get 1
i32.store8
local.get 0
i32.const 1
i32.add
local.tee 0
i32.const 515
i32.ne
br_if 0 (;@2;)
end
block ;; label = @2
i32.const 0
i32.load offset=8328
i32.eqz
br_if 0 (;@2;)
local.get 6
local.get 10
local.get 11
i32.const 0
i32.load offset=8348
local.get 3
local.get 4
call $susan_principle
local.get 10
local.get 6
local.get 5
call $susan_int_to_uchar
br 1 (;@1;)
end
i32.const 0
i32.load offset=8348
local.set 0
block ;; label = @2
block ;; label = @3
i32.const 0
i32.load offset=8352
i32.eqz
br_if 0 (;@3;)
local.get 6
local.get 10
local.get 11
local.get 0
local.get 2
local.get 3
local.get 4
call $susan_corners_quick
br 1 (;@2;)
end
local.get 6
local.get 10
local.get 11
local.get 0
local.get 2
local.get 3
local.get 4
call $susan_corners
end
i32.const 0
i32.load offset=8344
local.set 0
i32.const 0
i32.const 0
call $__pragma_loopbound
local.get 2
i32.load offset=8
i32.const 7
i32.eq
br_if 0 (;@1;)
block ;; label = @2
local.get 0
i32.eqz
br_if 0 (;@2;)
local.get 2
local.set 0
loop ;; label = @3
local.get 6
local.get 0
i32.const 4
i32.add
i32.load
local.get 3
i32.mul
i32.add
local.get 0
i32.load
i32.add
i32.const 0
i32.store8
local.get 0
i32.const 32
i32.add
local.set 1
local.get 0
i32.const 24
i32.add
local.set 0
local.get 1
i32.load
i32.const 7
i32.ne
br_if 0 (;@3;)
br 2 (;@1;)
end
end
local.get 3
i32.const -2
i32.add
local.set 7
local.get 2
local.set 0
loop ;; label = @2
local.get 6
local.get 0
i32.const 4
i32.add
i32.load
i32.const -1
i32.add
local.get 3
i32.mul
i32.add
local.get 0
i32.load
i32.add
local.tee 1
i32.const 255
i32.store8 offset=1
local.get 1
i32.const -1
i32.add
i32.const 65535
i32.store16 align=1
local.get 1
i32.const 1
i32.add
local.tee 5
local.get 3
i32.add
local.tee 1
i32.const 255
i32.store8
local.get 5
local.get 7
i32.add
i32.const 255
i32.store16 align=1
local.get 1
local.get 3
i32.add
i32.const 255
i32.store8
local.get 1
local.get 7
i32.add
i32.const 65535
i32.store16 align=1
local.get 0
i32.const 32
i32.add
local.set 1
local.get 0
i32.const 24
i32.add
local.set 0
local.get 1
i32.load
i32.const 7
i32.ne
br_if 0 (;@2;)
end
end
i32.const 7220
i32.const 7220
call $__pragma_loopbound
local.get 2
i32.const 360000
i32.add
global.set $__stack_pointer)
(func $susan_main (type 1)
i32.const 8356
i32.const 0
call $susan_call_susan
call $susan_wccfreeall
i32.const 8356
i32.const 1
call $susan_call_susan
call $susan_wccfreeall
i32.const 8356
i32.const 2
call $susan_call_susan
call $susan_wccfreeall)
(func $__original_main (type 9) (result i32)
(local i32)
global.get $__stack_pointer
i32.const 16
i32.sub
local.tee 0
global.set $__stack_pointer
i32.const 0
i32.const 1024
i32.store offset=8356
local.get 0
i32.const 0
i32.store offset=12
i32.const 0
local.get 0
i32.load offset=12
i32.const 7292
i32.add
i32.store offset=8360
i32.const 0
local.get 0
i32.load offset=12
i32.store offset=8364
i32.const 0
local.get 0
i32.load offset=12
f32.convert_i32_s
f32.const 0x1p+2 (;=4;)
f32.add
f32.store offset=8320
i32.const 0
local.get 0
i32.load offset=12
i32.const 20
i32.add
i32.store offset=8332
i32.const 0
local.get 0
i32.load offset=12
i32.store offset=8328
i32.const 0
local.get 0
i32.load offset=12
i32.const 1
i32.add
i32.store offset=8340
i32.const 0
local.get 0
i32.load offset=12
i32.store offset=8324
i32.const 0
local.get 0
i32.load offset=12
i32.store offset=8344
i32.const 0
local.get 0
i32.load offset=12
i32.store offset=8352
i32.const 0
local.get 0
i32.load offset=12
i32.const 50
i32.add
i32.store offset=8348
i32.const 0
local.get 0
i32.load offset=12
i32.const 50
i32.add
i32.store offset=8336
call $susan_main
local.get 0
i32.const 16
i32.add
global.set $__stack_pointer
i32.const 0)
(func $susan_wccfread (type 10) (param i32 i32 i32 i32) (result i32)
(local i32 i32 i32)
i32.const -1
local.set 4
block ;; label = @1
local.get 3
i32.load offset=4
local.tee 5
local.get 3
i32.load offset=8
local.tee 6
i32.eq
br_if 0 (;@1;)
i32.const 7220
i32.const 7220
call $__pragma_loopbound
block ;; label = @2
local.get 6
local.get 3
i32.load offset=8
local.get 5
local.get 6
i32.sub
local.tee 4
local.get 2
local.get 1
i32.mul
local.tee 2
local.get 4
local.get 2
i32.lt_u
select
local.tee 4
i32.add
local.tee 2
i32.ge_u
br_if 0 (;@2;)
loop ;; label = @3
local.get 0
local.get 3
i32.load
local.get 6
i32.add
i32.load8_u
i32.store8
local.get 0
i32.const 1
i32.add
local.set 0
local.get 6
i32.const 1
i32.add
local.tee 6
local.get 3
i32.load offset=8
local.get 4
i32.add
local.tee 2
i32.lt_u
br_if 0 (;@3;)
end
end
local.get 3
local.get 2
i32.store offset=8
end
local.get 4)
(func $susan_wccfgetc (type 2) (param i32) (result i32)
(local i32 i32)
i32.const -1
local.set 1
block ;; label = @1
local.get 0
i32.load offset=8
local.tee 2
local.get 0
i32.load offset=4
i32.eq
br_if 0 (;@1;)
local.get 0
local.get 2
i32.const 1
i32.add
i32.store offset=8
local.get 0
i32.load
local.get 2
i32.add
i32.load8_s
local.set 1
end
local.get 1)
(func $susan_wccfgets (type 11) (param i32 i32 i32) (result i32)
(local i32 i32)
i32.const 0
local.set 3
block ;; label = @1
local.get 2
i32.eqz
br_if 0 (;@1;)
local.get 1
i32.const 1
i32.lt_s
br_if 0 (;@1;)
local.get 0
i32.eqz
br_if 0 (;@1;)
local.get 2
i32.load offset=8
local.get 2
i32.load offset=4
i32.eq
br_if 0 (;@1;)
i32.const 57
i32.const 57
call $__pragma_loopbound
i32.const 0
local.set 3
block ;; label = @2
local.get 1
i32.const 2
i32.lt_u
br_if 0 (;@2;)
local.get 1
i32.const -1
i32.add
local.set 4
local.get 2
i32.load offset=8
local.set 1
i32.const 0
local.set 3
loop ;; label = @3
local.get 1
local.get 2
i32.load offset=4
i32.eq
br_if 1 (;@2;)
local.get 0
local.get 3
i32.add
local.get 2
i32.load
local.get 1
i32.add
i32.load8_u
local.tee 1
i32.store8
local.get 1
i32.const 10
i32.eq
br_if 1 (;@2;)
local.get 2
local.get 2
i32.load offset=8
i32.const 1
i32.add
local.tee 1
i32.store offset=8
local.get 4
local.get 3
i32.const 1
i32.add
local.tee 3
i32.ne
br_if 0 (;@3;)
end
local.get 4
local.set 3
end
local.get 0
local.get 3
i32.add
i32.const 0
i32.store8
local.get 0
local.set 3
end
local.get 3)
(func $susan_wccfseek (type 11) (param i32 i32 i32) (result i32)
(local i32)
i32.const -1
local.set 3
block ;; label = @1
block ;; label = @2
block ;; label = @3
block ;; label = @4
block ;; label = @5
local.get 2
br_table 0 (;@5;) 1 (;@4;) 2 (;@3;) 4 (;@1;)
end
local.get 0
local.get 1
i32.store offset=8
br 2 (;@2;)
end
local.get 0
local.get 0
i32.load offset=8
local.get 1
i32.add
i32.store offset=8
br 1 (;@2;)
end
local.get 0
local.get 0
i32.load offset=4
local.get 1
i32.add
i32.store offset=8
end
i32.const 0
local.set 3
end
local.get 3)
(func $susan___fabsf (type 12) (param f32) (result f32)
local.get 0
f32.abs)
(func $susan_wccmalloc (type 2) (param i32) (result i32)
(local i32)
i32.const 0
i32.const 0
i32.load offset=38368
i32.const 3
i32.add
i32.const -4
i32.and
local.tee 1
local.get 0
i32.add
i32.store offset=38368
local.get 1
i32.const 8368
i32.add)
(func $susan_wccfreeall (type 1)
i32.const 0
i32.const 0
i32.store offset=38368)
(func $susan_wccmemcpy (type 11) (param i32 i32 i32) (result i32)
(local i32 i32 i32)
i32.const 76
i32.const 76
call $__pragma_loopbound
block ;; label = @1
local.get 2
i32.eqz
br_if 0 (;@1;)
block ;; label = @2
block ;; label = @3
local.get 2
i32.const 3
i32.and
local.tee 3
br_if 0 (;@3;)
local.get 2
local.set 4
local.get 0
local.set 5
br 1 (;@2;)
end
local.get 2
i32.const -4
i32.and
local.set 4
local.get 0
local.set 5
loop ;; label = @3
local.get 5
local.get 1
i32.load8_u
i32.store8
local.get 5
i32.const 1
i32.add
local.set 5
local.get 1
i32.const 1
i32.add
local.set 1
local.get 3
i32.const -1
i32.add
local.tee 3
br_if 0 (;@3;)
end
end
local.get 2
i32.const 4
i32.lt_u
br_if 0 (;@1;)
loop ;; label = @2
local.get 5
local.get 1
i32.load8_u
i32.store8
local.get 5
i32.const 1
i32.add
local.get 1
i32.const 1
i32.add
i32.load8_u
i32.store8
local.get 5
i32.const 2
i32.add
local.get 1
i32.const 2
i32.add
i32.load8_u
i32.store8
local.get 5
i32.const 3
i32.add
local.get 1
i32.const 3
i32.add
i32.load8_u
i32.store8
local.get 5
i32.const 4
i32.add
local.set 5
local.get 1
i32.const 4
i32.add
local.set 1
local.get 4
i32.const -4
i32.add
local.tee 4
br_if 0 (;@2;)
end
end
local.get 0)
(func $susan_wccmemset (type 3) (param i32 i32 i32)
(local i32)
i32.const 7220
i32.const 7220
call $__pragma_loopbound
block ;; label = @1
local.get 2
i32.eqz
br_if 0 (;@1;)
local.get 2
i32.const 7
i32.and
local.set 3
block ;; label = @2
local.get 2
i32.const 8
i32.lt_u
br_if 0 (;@2;)
local.get 2
i32.const -8
i32.and
local.set 2
loop ;; label = @3
local.get 0
local.get 1
i32.store8 offset=7
local.get 0
local.get 1
i32.store8 offset=6
local.get 0
local.get 1
i32.store8 offset=5
local.get 0
local.get 1
i32.store8 offset=4
local.get 0
local.get 1
i32.store8 offset=3
local.get 0
local.get 1
i32.store8 offset=2
local.get 0
local.get 1
i32.store8 offset=1
local.get 0
local.get 1
i32.store8
local.get 0
i32.const 8
i32.add
local.set 0
local.get 2
i32.const -8
i32.add
local.tee 2
br_if 0 (;@3;)
end
end
local.get 3
i32.eqz
br_if 0 (;@1;)
loop ;; label = @2
local.get 0
local.get 1
i32.store8
local.get 0
i32.const 1
i32.add
local.set 0
local.get 3
i32.const -1
i32.add
local.tee 3
br_if 0 (;@2;)
end
end)
(table (;0;) 1 1 funcref)
(memory (;0;) 1)
(global $__stack_pointer (mut i32) (i32.const 42480))
(global (;1;) i32 (i32.const 38372))
(global (;2;) i32 (i32.const 42480))
(export "memory" (memory 0))
(export "__wasm_apply_data_relocs" (func $__wasm_apply_data_relocs))
(export "entrypoint" (func $susan_main))
(export "main" (func $__original_main))
(export "__data_end" (global 1))
(export "__heap_base" (global 2))
(data $.data (i32.const 1024) "P5\0a# CREATOR: XV Version 3.10a Rev: 12/29/94 (PNG patch 1.2)\0a76 95\0a255\0a#$$$$&&$%%%&&$\22&()*(&$$#$# #&**&$$$%$#!!! \1f!$'($$\22\22$&'%$$#$''%%'%&'(&%%!! !\22##$$$%&%&&'))((+*)('&#!##%'&%$&$$\22\22&''%$$\22!\22!#!$##$$%! $&&&''&'%#$\22#$%'&%\22\1f\22####$&''%&&('()+,*('&**''$!!\22$$#!!#%$\22\22\1f\1e $*++($$$#\22#!!\1e \22###$#%\22\22#$%%#$%''&#####$&%&&$##$####\22\22$$&(&%$\22\22##$%%&&''$#$#%$&'%&\22! ! \1c\22(-,(&\22\1e\1e!(-+)%%%$!\1f \1f#####&''('%%%##%%$%%%&%&%%##\22###$'-+&'&$$$#%'&%%%'&%%#\22\22%'$%&'()'$&'''$! \1e\1e\1f#####'(&%('&'''&''((')')'&'&&$#$#%&&&(&''$$!\22$#%&''&$ #&&'&##\22%'&$##!\1f\1e $%&#####')*&!\1f!%$%&%%&'&&&&%&&'))%'(*,+'*0-)'&&&&$%&'''+)&%%&$\22\22\22&))&##\22# \1e\1f!\22######'$#&)& \22&\22&(''$$'&'%&&$$#%&'&$&%#\1f#%('##$\22$$&%&%%$%&%$#\22\22\22%$%$\22$$\22\1f\1e! !####\22\1b!'*)*,-*'))*+*)(&%#%$$$%$$%%'+++*''''('&#\22$%$%&&%$##!#&&')'&%&&$%$%%$$####$*()+*'%%%%''&%#%$#$$''$$\22%(((')('''(&$\22#%\22$##\22!$$&'&%\22\22!\22#$$#$#&''(&%$$####$$*-,+(&%$%%&&&&$##\22\22$&$#&%%&&%&$!#%%&&)))&#!\1e\1d %''&'&#\22####\22#$$%&&&$#!\22####$$ !$&(**'()+*$! ! #%))'(%$&')(()'%%$%%$#%%'))+)((%%&&&&&$&%$'))*)'&&$%%###$$!#%\22###'&')+++*'&'%%&%$&&(&''$#\22!\22$%&%%%$\22\22!\22#&)&$%%%%')()*)())'(('%%$&###$%-*(,-*+**-/132321---+**+)'((('&(('''&#!%)*'%%%&&$%#! !\22##&'%&$#%&'*)&$\22####$'&$%%%$(*+/10/,+/474/,***(('&%%'&&&$!\1f\22#&'&%&&%&%*.-*''&\22$''%#$\22%%$$')*####$((&''$$&'*.1244334632343//./-+++++*))((*.,)%$%''&&'&&'%##&&&$##%#$&$&&'###$$''(('%&)'+./11100344554342010.//,*+,+-0.-,*+.-,*)&'&%$#%#%$!\1f &+*)'%&%%##$$$&&$%'&'&'*/1..//./1001321230../0/-+*,-/13331/0/1.,('(('&(&'('%$#!#\22 !\22&#$$$$#$&$%%%&&'+.34220211202211366331/04531..+.-/21//.-00-+,++*)'''%%\22\22 !#$'#$$$$('$$#\22! %+386787421..-/136631220/-./220+**+-//021//01/00//-,*'&&&*))'$###$$$\22%%#$$#$%&)2CRTPPLKJG@=:656885331/1100//00/-./..-)*,,--0/,*%#\22 !%(%%$$%##$$$%#%%%###%().:Uw\89\85{smnmkf_]XVVVVSMD@;:===:8313322-%)/225410-+*'&$&'''&%$###$$\22$$&'&%')+/8Oy\96\92\94\9d\9a\9c\9d\9b\99\9a\96\94\92\91\91\8d\8b\88\85\85\83\80\7f|vrwqhcddaYSOLIE<40/-.(%&&*-+**'&'##$$$%%(**('&(+1<S~\97\9e\a3\9f\a2\a3\a6\a8\a5\a2\a5\a6\a3\a2\a2\a0\a2\a2\a0\a1\a3\a0\9c\98\98\97\94\92\8d\89\88\86\83\7fzvsvqaN;-0.(&&%&&#%%\22 #$$$$&'&%&#\22$#%)3Mx\9c\a5\a0\a1\a3\a4\a7\a6\a4\a4\a3\a3\a5\a6\a5\a2\a2\a2\a3\a4\a3\a1\a1\a3\a2\a2\a5\a4\a2\a3\a5\a4\a5\a4\a0\9f\9d\97\90~_?+/*&&$$$&%%%$%&#$$$$''')&!#%'-3:Py\98\a2\a3\a4\a2\a2\a5\a7\a7\a8\aa\aa\a8\a9\a8\a6\a6\a5\a5\a7\a9\a6\a4\a4\a6\a5\a5\a7\a7\a6\a4\a3\a5\a6\a5\a6\a5\a5\9c\80X6,/0.+)$%(&(&&%'#$$$$&)'%# \22$&*/9Rv\97\a8\aa\ac\a8\a5\a5\a5\a4\a5\a7\a6\a7\a9\a8\a8\a7\a7\a5\a5\a5\a4\a3\a4\a3\9f\a3\a3\a3\a4\a4\a2\a2\a4\a2\a2\a5\a5\9e\86`?51,**)&$%$%&'&(#$$$$\22$#%'(+)),08S\81\9d\a7\a8\a9\a8\a7\a9\a7\a6\a6\a7\a5\a5\a7\a9\a8\a9\a7\a8\a7\a8\a6\a7\a9\a8\a4\a5\a8\a7\a8\a9\a7\a5\a3\a1\9f\a2\a3\9d\83[;--/+*'$$$(&''%$$$$$$\22%&'(++++(+8W\81\9c\a2\a1\a5\a8\a6\a7\a6\a4\a8\a8\a6\a8\a6\a6\a7\a7\a5\a5\a4\a4\a5\a6\a7\a7\a4\a6\a6\a4\a5\a7\a6\a5\a5\a1\a2\a4\a3\9d\84\5c=0/1-,)&%%&\22####$$$$$('$\22##%%(18>Y\84\9d\a3\a8\a8\a4\a6\a9\a8\a7\a9\a8\a7\a8\a9\a8\a7\a7\a9\a8\a8\a9\a7\a4\a5\a4\a4\a5\a5\a6\a7\a7\a7\a6\a4\a3\a5\a9\aa\a0\81Z<-,+$$%'&((%$$!#$$$$$\22\22\22!\22\22#%(*)2P\81\a0\a4\a7\ab\a8\a5\a8\a8\a7\a9\a6\a6\a7\a7\a6\a5\a6\a7\a9\aa\a9\a7\a6\a5\a3\a3\a3\a5\a5\a6\a6\a5\a4\a5\a4\a7\a9\a8\a0\85`A0/-&%%%%''%&$##$$$$$()()**)''-5Bd\91\aa\aa\a9\b0\aa\a4\a8\aa\a9\ac\ad\aa\aa\ab\ab\aa\ac\ac\a8\a6\a9\a8\a8\a8\a8\a6\a7\a7\a7\a7\a7\a8\a9\a8\a6\a9\a8\a6\9e\81]E223+,+)%%(&&%$&$$$$$$&'('('*.14>Z\85\9b\9c\9e\a2\a6\a8\a9\a7\a6\a7\a8\a8\a9\aa\a9\aa\aa\a9\ab\ab\a8\a7\a8\a7\a8\a7\a6\a7\a6\a6\a5\a6\a7\a5\a5\a5\a6\a4\9d\82]=-10+)&%$&&%$##'$$$$%)*())&(**-2=[\87\a2\a3\a0\a2\a2\a3\a5\a5\a3\a6\a8\a4\a6\a9\a9\a7\a8\a9\a7\a7\a6\a3\a0\a2\a5\a7\a8\a8\a6\a6\a7\a5\a4\a3\a5\a5\a4\a5\9bzT<04.\22$$%\22\22%\22 !\22%$$$%%$'')()('*,1>\5c\84\a0\ac\af\aa\a9\a7\a6\a5\a4\a6\a8\a7\a5\a6\a7\a7\a7\a6\a7\aa\a8\a7\a7\a6\a8\a6\a5\a5\a4\a4\a4\a5\a5\a3\a1\a2\a3\a3\9b}V=//1-,,+,-,*)&#&%%%%%'((*,*+/-,2Bc\91\a3\9f\a0\a4\a7\a7\a7\a9\a8\aa\a9\a6\a8\a8\a8\a9\a9\a8\a5\a3\a5\a4\a7\aa\ac\ad\ad\a9\a6\a5\a6\a5\a4\a3\a2\9f\a0\9f\95wO5''&%(&&%&()'&$$%%%%%('((((&'+,0;_\87\99\a0\a1\9f\a2\a4\a6\a6\a6\a8\ab\a8\a7\a8\a7\a5\a4\a4\a5\a6\a8\a8\a8\a6\a5\a4\a5\a7\a3\a3\a4\a4\a5\a3\a2\a2\a2\a3\97vO4&$())*'&(('''%&%%%%%)*()++-+*+/>_\88\a3\a4\a0\a4\a2\a4\a5\a8\a8\a7\a6\a5\a8\a8\a7\a8\a5\a3\a4\a5\a6\a7\a6\a7\a5\a6\a6\a2\a1\a1\a2\a5\a9\ad\a9\a8\a7\a2\96uO<3-(%&&$\22!\22\22!#%$%%%%%$(&'()&(+04>`\88\99\9d\a2\a1\a3\a4\a6\a7\a6\a5\a6\a4\a1\a1\a2\a2\a4\a4\a3\a3\a4\a5\a6\a4\a2\a3\a4\a7\a5\a7\a9\a8\a5\9f\9e\a1\a2\a2\98{V=0./(&%\22$#')('%%%%%%%''('(*)(+*+4U}\96\a4\9e\a0\ac\ae\a9\aa\ab\aa\aa\a6\a8\a8\a9\a9\a4\a3\a3\a3\a6\a5\a4\a7\a7\a7\a7\a5\a5\a3\a3\a2\a3\a4\a2\a2\a5\a4\9c{O9/-/(%$#&%'(&'$#%%%%%)&!\1f%,,,.04@`\8b\9e\99\9d\9f\a0\9f\9f\a2\a7\ab\a6\a5\a7\a7\a7\a8\a9\aa\a6\a4\a5\a3\a5\a4\a4\a5\a3\a4\a4\a4\a5\a2\a2\a2\a1\a3\9e\9a\92uS7(.0,*'(%'(&&&'*%%%%&'())))(*./4Af\8e\9a\9f\9c\a1\ad\a8\a5\a7\a5\a5\a7\a7\a8\a6\a7\a8\a8\a8\a7\a4\a6\a6\a6\a6\a4\a2\a1\a2\a3\a4\a6\a6\a4\a4\a2\a4\a4\a0\94tL92/*&)*)%$%$$%##%%%%&'()')($\22%'*=d\8f\a6\9f\a0\a6\a9\a8\a6\a5\a3\a7\a5\a5\a6\a6\a5\a5\a7\a9\a6\a5\a7\a6\a7\a6\a6\a4\a4\a4\a5\a5\a7\a6\a4\a6\a4\a3\a3\a0\95wQ0%(,-)(&$%&%%%$#%%%%'/2-()()*,05@b\8c\a1\a0\9f\a9\ad\a9\a9\a8\a9\aa\aa\a9\a5\a1\a2\a4\a8\a7\a6\a6\a8\a9\a8\a6\a2\a4\a3\a5\a7\a7\a9\aa\a9\a6\a4\a4\a5\a4\9c}O4362///.-.,($\22\22\22%%%%&)**''%#'.45De\89\9b\9b\9b\a3\a6\a7\a8\a8\a8\ab\a7\a6\a7\a5\a3\a4\a6\a6\a6\a5\a5\a6\a5\a3\a5\a4\a4\a7\a6\a5\a4\a1\a1\a2\a1\a1\a0\9f\92tQ60431-/.+,+&##\22$%%%%'++)(*))((,2Dj\90\a3\a3\a1\a4\a2\a3\a6\a7\a6\a8\a6\a7\a8\a7\a7\a7\aa\a8\a5\a4\a4\a5\a4\a5\a5\a4\a5\a4\a6\a6\a5\a8\a9\a6\a4\a5\a5\a4\98yP6+-.))(&&&%%%%'(%%%%%''(&()()+.4Ei\90\a4\a1\a2\a6\a2\a2\a4\a5\a6\a5\a6\a6\a6\a6\a7\a8\a7\a6\a6\a3\a2\a3\a4\a5\a5\a4\a2\a5\a5\a7\a7\a3\a1\a0\9f\a0\a0\a0\96yV6/520+('%((&&$%%%%%%%'&&&&%%')*->h\90\a3\a9\a5\a4\a4\a5\a7\a5\a7\a6\a8\aa\a8\a6\a5\a5\a6\a5\a5\a5\a6\a7\a6\a7\a6\a3\a5\a4\a4\a5\a4\a5\a5\a2\a2\a4\a3\a4\99|\5cA1/-'(((%%%%))&&%%%%&.**())%'+1;Np\97\a8\a2\a3\a0\a1\a4\a6\a8\a6\a5\a6\a8\a7\a6\a7\a6\a5\a6\a5\a3\a3\a4\a4\a5\a5\a6\a4\a4\a4\a3\a4\a4\a4\a2\a2\a2\a2\a3\95tM0+/+)('&&*(&%\22\22\22$%%%%))&&'(''((-?f\8b\9e\a4\a8\a9\a5\a6\a7\a6\a5\a3\a6\ad\ab\a9\a8\a6\a5\a3\a4\a3\a5\a7\a7\a7\a5\a2\a4\a5\a6\a4\a4\a4\a3\a5\a7\a6\a7\a9\9d~V6+-.*(&$\22\22$\22#\22#$$%%%&+(&&()())*2Jq\8f\9e\a1\a8\a8\a6\a5\a6\a6\a4\a5\a8\aa\a9\aa\aa\a7\a5\a4\a4\a5\a8\a6\a3\a1\9f\9f\a1\a2\a3\a4\a4\a4\a3\a2\a2\a0\a1\a0\91oI*'2-)(&&')&##!\1e\1c$%%%%%(&())+*(*1Jw\9c\a8\a2\a3\a6\a2\a2\a5\a7\a7\a6\a7\a8\a3\a2\a5\a7\a9\a6\a0\9e\a0\a2\a2\a4\a4\a4\a7\a8\a7\a5\a6\a7\a8\aa\a9\a6\a3\a1\92qO;4+&&&))')*)((('%%%%%'&((*()+/25Jp\8e\9d\a1\a4\a2\a1\a1\a4\a6\a5\a8\ab\a7\a8\a9\a8\a7\a7\a5\a5\a6\a8\a5\a2\a3\a3\a3\a2\a3\a5\a6\a6\a4\a3\a2\a4\a2\a2\a1\92qN4.1-+*+)')(&&#%'%%%%%#&&)*'*+,.7Pw\94\9d\a1\a5\a6\a1\a1\a4\a6\a2\a2\a7\a8\a4\a5\a5\a3\a3\a3\a3\a5\a7\a6\a3\a5\a7\a8\a7\a8\a7\a4\a3\a3\a3\a4\a4\a1\a1\9f\8flC0.))*''%$&&$%'&'%%%%$ \22$&&&&)*,2Cs\9e\a7\a2\a3\a9\aa\a5\a6\a4\a3\a4\a7\a5\a4\a6\a4\a4\a5\a6\a6\a7\a9\a6\a3\a4\a4\a1\a2\a2\a3\a5\a4\a2\a1\a0\a3\a3\a4\a1\90kI8--,))'&%''%&%')%%%%%(')**''+/18Lp\90\9a\a6\b2\a8\a3\a4\a4\a6\a7\a5\a8\aa\a6\a8\a9\a7\a5\a6\a6\a7\a6\a6\a8\a6\a7\a7\a7\a9\a6\a5\a6\a6\a8\a6\a4\a3\a3\9f\90lG4030-(()**)')*'%%%%%%&'((((*-.-3Hy\9e\9d\9c\a1\a3\a0\a1\a3\a6\a6\a9\a7\a7\a6\a7\a6\a6\a7\a4\a2\a6\a5\a5\a5\a6\a7\a6\a8\a6\a4\a5\a4\a3\a2\a0\a2\a2\a1\9f\8fjG40.--)%!!##%&%$#%%%%%%%&'''(*(*2Ir\95\a0\9c\9f\9c\99\9b\9f\a4\a7\a7\a9\ab\a8\a7\a9\a9\a8\a8\a7\a5\a4\a7\aa\aa\ac\aa\aa\a6\a2\a2\a3\a3\a2\a2\a3\a4\a2\9d\8djH<;970*'%%'%%&%#!%%%%&-+*'$#\22&(*2Ls\92\9f\a7\a8\a4\a1\a2\a5\a6\a8\aa\a9\a8\a9\aa\a8\a8\a8\a5\a6\a7\a6\a7\a7\a5\a6\a5\a6\a5\a3\a3\a3\a1\9f\a0\a4\a2\9f\9c\8ajH620/.,($&(*)(&$&%%%%%')))()-//.5Mw\9a\a6\a2\a7\a8\a2\a6\a9\aa\ab\a9\a9\ab\aa\aa\a9\a8\a6\a6\a5\a5\a5\a3\a5\a5\a4\a3\a3\a4\a2\a3\a6\a5\a4\a4\a5\a2\a0\a1\97rJ9325/*'%)..+(#\1f\1d%%%%&'%&'()(+.09Y\82\9a\9f\a0\a3\a0\a4\a7\a7\a5\a2\a6\a5\a6\a8\a8\a6\a6\a6\a4\a3\a3\a4\a6\a7\a6\a7\a5\a3\a5\a4\a3\a4\a2\a1\a4\a4\a1\9d\9c\8cgF6461.+($#')%&&&%%%%&&*+)))--,,.8Vw\8f\a0\a5\b2\ad\a6\a6\a6\a7\a5\a4\a4\a6\a8\a7\a5\a5\a6\a7\a7\a8\a8\a6\a6\a4\a4\a4\a6\a6\a2\a3\a5\a5\a4\a2\a5\a6\a1\9c\87[:11/-,,+)((%##$#\22%%&&&*&%&%%(--,6T{\96\a0\a1\a0\9d\9f\a0\a4\a5\a4\a5\a4\a1\a2\a3\a4\a5\a7\a5\a4\a5\a5\a4\a2\a4\a8\a7\a5\a5\a3\a2\a4\a3\a4\a3\a4\a2\a1\9f\8a_7!\22%%\22!!\1f\22$$\22#$%&%%&&&((*++))(++2Mt\92\ac\af\a9\a5\a2\a5\a8\a8\a7\a8\a8\a8\ab\a8\a7\a8\a8\a7\a4\a5\a3\a4\a4\a2\a2\a3\a3\a2\a0\a1\a5\a7\a8\a5\a4\a2\9e\9c\86[9+.)!$$&''&!!\22\22\22#%&&&',+,-,((*(.<]\81\99\a8\a9\a2\a3\a0\9f\a2\a7\a6\a7\a8\a6\a6\a5\a4\a6\a6\a5\a3\a2\a2\a2\a2\a3\a5\a2\a0\a1\9e\9f\a2\a2\a1\9d\9e\a1\a1\9b\87_:*',,'%)*))%!! !!%&&&&'),,/.,)'(4U\7f\9a\a8\ae\a9\a4\a2\a5\a6\a5\a4\a5\a7\a5\a4\a5\a7\a9\aa\a7\a5\a4\a3\a3\a4\a1\9e\a1\a6\a9\a6\a4\a3\a2\9e\9d\9f\9f\a0\9e\8ejA(*)'))+.-+(&'(('%&&&&\22%'**)*)*,:X|\93\9e\a1\a0\9f\a1\a1\a1\a0\a2\a5\a6\a4\a5\a6\a6\a7\a9\a7\a4\a2\a1\a0\a1\a2\a2\9f\9e\9f\9f\a0\a1\a0\a1\9e\9d\9e\9f\9c\87Z4%$')''(&#!\22#\22$$#%&&&&('('(,.1555Il\8e\a0\a0\9d\9c\9d\a0\a2\a1\a3\a7\ac\a8\a5\a5\a3\9f\9f\9e\9f\a3\a4\a4\a4\a1\a1\a2\a4\a5\a2\a0\a0\a2\a2\a2\a4\a3\a2\a0\8dg@$&-*,)))%&*-.+'!%&&&&**&$#\22$(''1R\85\a1\a5\a9\a7\a3\a2\a1\a2\a1\a2\a5\a4\a3\a4\a4\a2\a1\a1\a0\a2\a2\a2\a3\a2\a4\a6\a4\a6\a5\a3\a4\a4\a5\a5\a3\a3\a3\a3\9e\86Z6(()(&$$$'*+)&&$$%&&&&)(%$&**),)0It\99\a8\a9\a4\a0\a1\a3\a5\a9\ab\a8\ab\a7\a3\a5\a8\a9\ab\a9\a7\a5\a3\a4\a4\a4\a5\a2\a6\a5\a3\a3\a2\a4\a4\a1\a3\a4\a3\a0\8chB('%'*++(&%$$\22\22##%&&&&))&%$#%*,.:[\88\9e\9d\a2\a7\a3\a4\a4\a3\a3\a3\a5\a7\a8\ab\aa\a8\a7\a9\a7\a8\a6\a2\a3\a2\a2\a5\a6\aa\a6\a2\a2\a0\a1\a1\a2\a3\a4\a5\9f\85[:040,++)$&*+'%\22\1f %&&&&)(%)*)+)'-<\5c\85\9a\9a\9d\9d\9f\a4\a3\a3\a2\a2\a0\a3\a7\a4\a5\a6\a7\a6\a8\a6\a6\a5\a4\a4\a4\a4\a2\a6\a6\a6\a5\a5\a5\a3\a2\a5\a4\a1\99\81\5c;1857320+'$##\22!\22%%&&&&&'&()(*--/@d\8a\98\9a\a3\a1\a4\a0\9f\a0\a0\a2\a4\a7\a6\a3\a3\a0\9f\a2\a0\a0\9f\9e\9f\a0\a2\a2\a1\a4\a1\a2\a2\a1\a2\a1\a0\a1\a2\a2\9f\8afF557464/)&'($%%#$%&&&&('()'!!$(3@T}\9a\a9\af\a4\9e\9b\9e\9f\a1\a1\a1\a2\a2\9e\9f\a2\a3\a3\a3\a4\a5\a4\a3\a3\a3\a3\a1\a2\a2\a0\a2\a5\a5\a1\a2\a1\9e\9e\9a\89eG7//034-&\22\1e\22\22 \22\22%%%&&&)*)')'%%%,Bi\8a\97\95\96\9a\9b\9a\9c\9b\9b\9d\9e\a0\a0\9e\a2\a2\a1\a2\a0\9f\9f\a0\a0\a1\a0\a2\a0\9d\a1\a0\9e\9c\9e\9f\9f\a2\a3\9f\95{S6)-0-.,+($'$%&()(%%&&&((++)(**(,=Zy\86\87\8b\8f\91\94\98\98\97\96\96\9a\99\96\96\95\96\96\98\99\9b\9c\9d\9e\9d\9c\9b\9e\a1\a2\a2\a3\a1\a1\9f\9f\9e\9f\9f\8db:(*../0-+*('$\22#$&%%%&&%))*+()((*3DNQQQUUWXY]`adbeimnqttuvwxy~\82\82\85\88\8a\8b\8d\8e\8f\92\96\94\8duQ4(*/00-*&\22%\22$%''&%%%&&&%')'**()+5EGBA=99:<>A@DLGCDEKRWUUVW\5c^^`Z[_emmrsw{yuhM2% \1e\18\1b#''$&$%$\22! %%%%&%)()+)'&(+1542233461.20/332022222334489:;9887458;<=>;663/2/-,+(%%%'+-+'$%%%'.)&(('((&+166441//20141230011132..2144/034024/-.-0120,-02/+,,,+++)))&$$$%%%%))'&&$$%',0222444452...*+.-,..-+-.232321332321/112420-.//0/-,-*&%#\1f\1d\1f!#$$%%%''()*'%%$(,0/-.1112/010-//135310.,,+,.013321102681,+,,--,-*()*)&$%).+(%$$%%%()(''$#%&)+-.../-)-./0/-,-/...-.-+,,.33/1.,+''*...,+**,,../-(%!#(-***&$$$$%&**('&&'('&((&%&((&''('$\22%(()(&#$('&$$%'((()****())*--**(*..,+)'%()%# \1e\1f$$$$%(((''&')*(**)&&*'%'%\22#$''))''$##%)-0/0-*,))*+*)('%%%&&()*()('(&%')(%# !$$$$$&'&%&%%('+00,'&()))**'$##\22#$&&%'&$$%'((&&%#$!\22%$''&%!\1e !!#$$$%#%'($#%$#$$$$#\1f\22#%&%$'*))(&$%&'((%\22\22#%%''&(')+++('))'#!\22!$&(('(%'%\22!\22####!#\22!\22$%$##\22#$$$$$&'((*)(+*'&##\22#%%%%&%#\22$'('()($%&\22#$%'(%%%\22\22##%%&'*,*()(&#\22\22$$%'&((&$!\1f$$$$$$$')*)(&&%%)(''%'&'%###$'&&&&'''&&'()))&&%%$&('%#%#!\22#&$$&\22!#$#%'&&&%\22\1f$$$$$%))'('()*(##$\22$&&''''&%&&$\22#(,+./(#$$%%#$%#$&&'''((&! #$# \1f \22\22#&'&%#$$!$$$$$#\1f!$$%%%&&')'$$$#%\22\22 \22#'&&'&&&&$!\22!\22\22%(((%#%&%##$%&)+*%$(')+)$ !$%('$!$$$$%**'###%%&'&((',,'((*,*&&$###&&#!$##%&'&&&%$!!!\22%&'($\1f!$\22%#\22$%&&%%#!#'$\22$$$$$$#$$%#%&&()*(),**(&'%$##\22!\22#$$&%%$\22$'('&'%%$'(''#%%$()(%#$$%##\22 $\22 \1f\1e\1f!$$$$%%%$#&')(#$##\22\22&&'($#$#$$&$')*))())'&$%%#%('%%%&'+,)''*($&\22!$%)))))((,)&$$$%%&''&&%((%&&%$$$#''&)&%&')(()))(%'((''$#####\22$#%(((&$$#%$%&&&%%\22\1f! !!!#$"))