(module $insertsort.wasm
  (type (;0;) (func (param i32 i32)))
  (type (;1;) (func))
  (type (;2;) (func (result i32)))
  (import "__pragma" "loopbound" (func $__pragma_loopbound (type 0)))
  (func $__wasm_apply_data_relocs (type 1))
  (func $insertsort_main (type 1)
    (local i32 i32 i32 i32 i32 i32)
    i32.const 0
    i32.const 0
    i32.store offset=1116
    i32.const 9
    i32.const 9
    call $__pragma_loopbound
    i32.const 1072
    local.set 0
    i32.const 2
    local.set 1
    loop  ;; label = @1
      i32.const 0
      i32.const 0
      i32.load offset=1116
      i32.const 1
      i32.add
      i32.store offset=1116
      i32.const 0
      i32.const 0
      i32.store offset=1128
      i32.const 1
      i32.const 9
      call $__pragma_loopbound
      i32.const 0
      i32.load offset=1128
      local.set 2
      block  ;; label = @2
        local.get 1
        i32.const 2
        i32.shl
        local.tee 3
        i32.const 1072
        i32.add
        i32.load
        local.tee 4
        local.get 3
        i32.const 1068
        i32.add
        i32.load
        local.tee 5
        i32.ge_u
        br_if 0 (;@2;)
        local.get 0
        local.set 3
        loop  ;; label = @3
          local.get 3
          i32.const 4
          i32.add
          local.get 4
          i32.store
          local.get 3
          i32.const 8
          i32.add
          local.get 5
          i32.store
          local.get 2
          i32.const 1
          i32.add
          local.set 2
          local.get 3
          i32.load
          local.set 5
          local.get 3
          i32.const -4
          i32.add
          local.set 3
          local.get 4
          local.get 5
          i32.lt_u
          br_if 0 (;@3;)
        end
        i32.const 0
        local.get 2
        i32.store offset=1128
      end
      block  ;; label = @2
        local.get 2
        i32.const 0
        i32.load offset=1132
        i32.ge_s
        br_if 0 (;@2;)
        i32.const 0
        local.get 2
        i32.store offset=1132
      end
      block  ;; label = @2
        local.get 2
        i32.const 0
        i32.load offset=1136
        i32.le_s
        br_if 0 (;@2;)
        i32.const 0
        local.get 2
        i32.store offset=1136
      end
      local.get 0
      i32.const 4
      i32.add
      local.set 0
      local.get 1
      i32.const 1
      i32.add
      local.tee 1
      i32.const 11
      i32.ne
      br_if 0 (;@1;)
    end
    block  ;; label = @1
      i32.const 0
      i32.load offset=1116
      local.tee 3
      i32.const 0
      i32.load offset=1120
      i32.ge_s
      br_if 0 (;@1;)
      i32.const 0
      local.get 3
      i32.store offset=1120
    end
    block  ;; label = @1
      local.get 3
      i32.const 0
      i32.load offset=1124
      i32.le_s
      br_if 0 (;@1;)
      i32.const 0
      local.get 3
      i32.store offset=1124
    end)
  (func $__original_main (type 2) (result i32)
    (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32)
    global.get $__stack_pointer
    i32.const 16
    i32.sub
    local.tee 0
    global.set $__stack_pointer
    i32.const 0
    i32.const 100000
    i32.store offset=1120
    i32.const 0
    i32.const 100000
    i32.store offset=1132
    i32.const 0
    i32.const 0
    i32.store offset=1116
    i32.const 0
    i32.const 0
    i32.store offset=1124
    i32.const 0
    i32.const 0
    i32.store offset=1128
    i32.const 0
    i32.const 0
    i32.store offset=1136
    i32.const 11
    i32.const 11
    call $__pragma_loopbound
    local.get 0
    i32.const 0
    i32.store offset=12
    block  ;; label = @1
      local.get 0
      i32.load offset=12
      i32.const 10
      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 2
        i32.shl
        i32.const 1072
        i32.add
        local.get 1
        i32.const 2
        i32.shl
        i32.const 1024
        i32.add
        i32.load
        i32.store
        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 11
        i32.lt_s
        br_if 0 (;@2;)
      end
    end
    call $insertsort_main
    i32.const 11
    i32.const 11
    call $__pragma_loopbound
    i32.const 0
    i32.load offset=1072
    local.set 1
    i32.const 0
    i32.load offset=1076
    local.set 2
    i32.const 0
    i32.load offset=1080
    local.set 3
    i32.const 0
    i32.load offset=1084
    local.set 4
    i32.const 0
    i32.load offset=1088
    local.set 5
    i32.const 0
    i32.load offset=1092
    local.set 6
    i32.const 0
    i32.load offset=1096
    local.set 7
    i32.const 0
    i32.load offset=1100
    local.set 8
    i32.const 0
    i32.load offset=1104
    local.set 9
    i32.const 0
    i32.load offset=1108
    local.set 10
    i32.const 0
    i32.load offset=1112
    local.set 11
    local.get 0
    i32.const 16
    i32.add
    global.set $__stack_pointer
    local.get 11
    local.get 10
    local.get 9
    local.get 8
    local.get 7
    local.get 6
    local.get 5
    local.get 4
    local.get 3
    local.get 2
    local.get 1
    i32.add
    i32.add
    i32.add
    i32.add
    i32.add
    i32.add
    i32.add
    i32.add
    i32.add
    i32.add
    i32.const 65
    i32.ne)
  (table (;0;) 1 1 funcref)
  (memory (;0;) 1)
  (global $__stack_pointer (mut i32) (i32.const 5248))
  (global (;1;) i32 (i32.const 1140))
  (global (;2;) i32 (i32.const 5248))
  (export "memory" (memory 0))
  (export "__wasm_apply_data_relocs" (func $__wasm_apply_data_relocs))
  (export "entrypoint" (func $insertsort_main))
  (export "main" (func $__original_main))
  (export "__data_end" (global 1))
  (export "__heap_base" (global 2))
  (data $.rodata (i32.const 1024) "\00\00\00\00\0b\00\00\00\0a\00\00\00\09\00\00\00\08\00\00\00\07\00\00\00\06\00\00\00\05\00\00\00\04\00\00\00\03\00\00\00\02\00\00\00"))
