(module $bitcount.wasm (type (;0;) (func (param i32 i32))) (type (;1;) (func)) (type (;2;) (func (result i32))) (type (;3;) (func (param i32) (result i32))) (import "__pragma" "loopbound" (func $__pragma_loopbound (type 0))) (func $__wasm_apply_data_relocs (type 1)) (func $bitcount_main (type 1) (local i32 i32 i32 i32 i32 i32) i32.const 8 i32.const 8 call $__pragma_loopbound i32.const 0 local.set 0 loop ;; label = @1 i32.const 10 i32.const 10 call $__pragma_loopbound i32.const 0 i32.const 0 i32.load offset=1540 local.tee 1 i32.const 127773 i32.div_s local.tee 2 i32.const -2836 i32.mul local.get 1 local.get 2 i32.const 127773 i32.mul i32.sub i32.const 16807 i32.mul i32.add local.tee 1 i32.const 2147483647 i32.add local.get 1 local.get 1 i32.const 1 i32.lt_s select local.tee 1 i32.store offset=1548 i32.const 0 local.get 1 i32.store offset=1540 block ;; label = @2 i32.const 0 i32.load offset=1544 i32.eqz br_if 0 (;@2;) i32.const 0 local.set 3 loop ;; label = @3 block ;; label = @4 block ;; label = @5 block ;; label = @6 block ;; label = @7 block ;; label = @8 block ;; label = @9 block ;; label = @10 block ;; label = @11 block ;; label = @12 local.get 0 br_table 0 (;@12;) 1 (;@11;) 2 (;@10;) 3 (;@9;) 4 (;@8;) 5 (;@7;) 6 (;@6;) 7 (;@5;) 0 (;@12;) end local.get 1 call $bitcount_bit_count local.set 2 br 7 (;@4;) end local.get 1 call $bitcount_bitcount local.set 2 br 6 (;@4;) end local.get 1 call $bitcount_ntbl_bitcnt local.set 2 br 5 (;@4;) end local.get 1 call $bitcount_btbl_bitcnt local.set 2 br 4 (;@4;) end local.get 1 call $bitcount_ntbl_bitcount local.set 2 br 3 (;@4;) end local.get 1 call $bitcount_BW_btbl_bitcount local.set 2 br 2 (;@4;) end local.get 1 call $bitcount_AR_btbl_bitcount local.set 2 br 1 (;@4;) end i32.const 31 i32.const 31 call $__pragma_loopbound block ;; label = @5 local.get 1 br_if 0 (;@5;) i32.const 0 local.set 2 br 1 (;@4;) end i32.const 0 local.set 4 i32.const 0 local.set 2 loop ;; label = @5 local.get 1 i32.const 1 i32.and local.get 2 i32.add local.set 2 local.get 1 i32.const 2 i32.lt_u br_if 1 (;@4;) local.get 1 i32.const 1 i32.shr_s local.set 1 local.get 4 i32.const 31 i32.lt_u local.set 5 local.get 4 i32.const 1 i32.add local.set 4 local.get 5 br_if 0 (;@5;) end end i32.const 0 local.get 2 i32.store offset=1552 i32.const 0 i32.const 0 i32.load offset=1536 local.get 2 i32.add i32.store offset=1536 i32.const 0 i32.const 0 i32.load offset=1548 i32.const 13 i32.add local.tee 1 i32.store offset=1548 local.get 3 i32.const 1 i32.add local.tee 3 i32.const 0 i32.load offset=1544 i32.lt_u br_if 0 (;@3;) end end local.get 0 i32.const 1 i32.add local.tee 0 i32.const 8 i32.ne br_if 0 (;@1;) end) (func $__original_main (type 2) (result i32) i32.const 0 i32.const 1 i32.store offset=1540 i32.const 0 i32.const 10 i32.store offset=1544 i32.const 0 i32.const 0 i32.store offset=1536 call $bitcount_init3 call $bitcount_init4 call $bitcount_main i32.const 0 i32.load offset=1536 i32.const 1095 i32.ne) (func $bitcount_bit_count (type 3) (param i32) (result i32) (local i32) block ;; label = @1 local.get 0 br_if 0 (;@1;) i32.const 0 return end i32.const 3 i32.const 8 call $__pragma_loopbound i32.const 0 local.set 1 loop ;; label = @1 local.get 1 i32.const 1 i32.add local.set 1 local.get 0 i32.const -1 i32.add local.get 0 i32.and local.tee 0 br_if 0 (;@1;) end local.get 1) (func $bitcount_bitcount (type 3) (param i32) (result i32) local.get 0 i32.const 1 i32.shr_u i32.const 1431655765 i32.and local.get 0 i32.const 1431655765 i32.and i32.add local.tee 0 i32.const 2 i32.shr_u i32.const 858993459 i32.and local.get 0 i32.const 858993459 i32.and i32.add local.tee 0 i32.const 4 i32.shr_u i32.const 117901063 i32.and local.get 0 i32.const 117901063 i32.and i32.add local.tee 0 i32.const 8 i32.shr_u i32.const 983055 i32.and local.get 0 i32.const 983055 i32.and i32.add local.tee 0 i32.const 16 i32.shr_u local.get 0 i32.const 31 i32.and i32.add) (func $bitcount_init3 (type 1) (local i32 i32) global.get $__stack_pointer i32.const 16 i32.sub local.tee 0 i32.const 0 i32.store offset=12 local.get 0 i32.const 0 i32.store offset=12 block ;; label = @1 local.get 0 i32.load offset=12 i32.const 255 i32.gt_s br_if 0 (;@1;) loop ;; label = @2 local.get 0 i32.load offset=12 local.set 1 local.get 0 i32.load offset=12 i32.const 1568 i32.add local.get 1 i32.const 1024 i32.add i32.load8_u i32.store8 local.get 0 local.get 0 i32.load offset=12 i32.const 1 i32.add i32.store offset=12 local.get 0 i32.load offset=12 i32.const 256 i32.lt_s br_if 0 (;@2;) end end) (func $bitcount_ntbl_bitcount (type 3) (param i32) (result i32) local.get 0 i32.const 4 i32.shr_u i32.const 15 i32.and i32.const 1568 i32.add i32.load8_s local.get 0 i32.const 15 i32.and i32.const 1568 i32.add i32.load8_s i32.add local.get 0 i32.const 8 i32.shr_u i32.const 15 i32.and i32.const 1568 i32.add i32.load8_s i32.add local.get 0 i32.const 12 i32.shr_u i32.const 15 i32.and i32.const 1568 i32.add i32.load8_s i32.add local.get 0 i32.const 16 i32.shr_u i32.const 15 i32.and i32.const 1568 i32.add i32.load8_s i32.add local.get 0 i32.const 20 i32.shr_u i32.const 15 i32.and i32.const 1568 i32.add i32.load8_s i32.add local.get 0 i32.const 24 i32.shr_u i32.const 15 i32.and i32.const 1568 i32.add i32.load8_s i32.add local.get 0 i32.const 28 i32.shr_u i32.const 1568 i32.add i32.load8_s i32.add) (func $bitcount_BW_btbl_bitcount (type 3) (param i32) (result i32) local.get 0 i32.const 8 i32.shr_u i32.const 255 i32.and i32.const 1568 i32.add i32.load8_s local.get 0 i32.const 255 i32.and i32.const 1568 i32.add i32.load8_s i32.add local.get 0 i32.const 24 i32.shr_u i32.const 1568 i32.add i32.load8_s i32.add local.get 0 i32.const 16 i32.shr_u i32.const 255 i32.and i32.const 1568 i32.add i32.load8_s i32.add) (func $bitcount_AR_btbl_bitcount (type 3) (param i32) (result i32) local.get 0 i32.const 8 i32.shr_u i32.const 255 i32.and i32.const 1568 i32.add i32.load8_s local.get 0 i32.const 255 i32.and i32.const 1568 i32.add i32.load8_s i32.add local.get 0 i32.const 16 i32.shr_u i32.const 255 i32.and i32.const 1568 i32.add i32.load8_s i32.add local.get 0 i32.const 24 i32.shr_u i32.const 1568 i32.add i32.load8_s i32.add) (func $bitcount_init4 (type 1) (local i32 i32) global.get $__stack_pointer i32.const 16 i32.sub local.tee 0 i32.const 0 i32.store offset=12 local.get 0 i32.const 0 i32.store offset=12 block ;; label = @1 local.get 0 i32.load offset=12 i32.const 255 i32.gt_s br_if 0 (;@1;) loop ;; label = @2 local.get 0 i32.load offset=12 local.set 1 local.get 0 i32.load offset=12 i32.const 1824 i32.add local.get 1 i32.const 1280 i32.add i32.load8_u i32.store8 local.get 0 local.get 0 i32.load offset=12 i32.const 1 i32.add i32.store offset=12 local.get 0 i32.load offset=12 i32.const 256 i32.lt_s br_if 0 (;@2;) end end) (func $bitcount_ntbl_bitcnt (type 3) (param i32) (result i32) (local i32 i32 i32) local.get 0 i32.const 15 i32.and i32.const 1824 i32.add i32.load8_s local.set 1 i32.const 0 local.set 2 block ;; label = @1 local.get 0 i32.const 16 i32.lt_u br_if 0 (;@1;) i32.const 0 local.set 2 loop ;; label = @2 local.get 1 local.get 2 i32.add local.set 2 local.get 0 i32.const 255 i32.gt_u local.set 3 local.get 0 i32.const 4 i32.shr_u local.tee 0 i32.const 15 i32.and i32.const 1824 i32.add i32.load8_s local.set 1 local.get 3 br_if 0 (;@2;) end end local.get 1 local.get 2 i32.add) (func $bitcount_btbl_bitcnt (type 3) (param i32) (result i32) (local i32 i32 i32) local.get 0 i32.const 255 i32.and i32.const 1824 i32.add i32.load8_s local.set 1 i32.const 0 local.set 2 block ;; label = @1 local.get 0 i32.const 256 i32.lt_u br_if 0 (;@1;) i32.const 0 local.set 2 loop ;; label = @2 local.get 1 local.get 2 i32.add local.set 2 local.get 0 i32.const 65535 i32.gt_u local.set 3 local.get 0 i32.const 8 i32.shr_u local.tee 0 i32.const 255 i32.and i32.const 1824 i32.add i32.load8_s local.set 1 local.get 3 br_if 0 (;@2;) end end local.get 1 local.get 2 i32.add) (table (;0;) 1 1 funcref) (memory (;0;) 1) (global $__stack_pointer (mut i32) (i32.const 6176)) (global (;1;) i32 (i32.const 2080)) (global (;2;) i32 (i32.const 6176)) (export "memory" (memory 0)) (export "__wasm_apply_data_relocs" (func $__wasm_apply_data_relocs)) (export "entrypoint" (func $bitcount_main)) (export "main" (func $__original_main)) (export "__data_end" (global 1)) (export "__heap_base" (global 2)) (data $.rodata (i32.const 1024) "\00\01\01\02\01\02\02\03\01\02\02\03\02\03\03\04\01\02\02\03\02\03\03\04\02\03\03\04\03\04\04\05\01\02\02\03\02\03\03\04\02\03\03\04\03\04\04\05\02\03\03\04\03\04\04\05\03\04\04\05\04\05\05\06\01\02\02\03\02\03\03\04\02\03\03\04\03\04\04\05\02\03\03\04\03\04\04\05\03\04\04\05\04\05\05\06\02\03\03\04\03\04\04\05\03\04\04\05\04\05\05\06\03\04\04\05\04\05\05\06\04\05\05\06\05\06\06\07\01\02\02\03\02\03\03\04\02\03\03\04\03\04\04\05\02\03\03\04\03\04\04\05\03\04\04\05\04\05\05\06\02\03\03\04\03\04\04\05\03\04\04\05\04\05\05\06\03\04\04\05\04\05\05\06\04\05\05\06\05\06\06\07\02\03\03\04\03\04\04\05\03\04\04\05\04\05\05\06\03\04\04\05\04\05\05\06\04\05\05\06\05\06\06\07\03\04\04\05\04\05\05\06\04\05\05\06\05\06\06\07\04\05\05\06\05\06\06\07\05\06\06\07\06\07\07\08\00\01\01\02\01\02\02\03\01\02\02\03\02\03\03\04\01\02\02\03\02\03\03\04\02\03\03\04\03\04\04\05\01\02\02\03\02\03\03\04\02\03\03\04\03\04\04\05\02\03\03\04\03\04\04\05\03\04\04\05\04\05\05\06\01\02\02\03\02\03\03\04\02\03\03\04\03\04\04\05\02\03\03\04\03\04\04\05\03\04\04\05\04\05\05\06\02\03\03\04\03\04\04\05\03\04\04\05\04\05\05\06\03\04\04\05\04\05\05\06\04\05\05\06\05\06\06\07\01\02\02\03\02\03\03\04\02\03\03\04\03\04\04\05\02\03\03\04\03\04\04\05\03\04\04\05\04\05\05\06\02\03\03\04\03\04\04\05\03\04\04\05\04\05\05\06\03\04\04\05\04\05\05\06\04\05\05\06\05\06\06\07\02\03\03\04\03\04\04\05\03\04\04\05\04\05\05\06\03\04\04\05\04\05\05\06\04\05\05\06\05\06\06\07\03\04\04\05\04\05\05\06\04\05\05\06\05\06\06\07\04\05\05\06\05\06\06\07\05\06\06\07\06\07\07\08"))