fn w32 $recurse_1(w64 %0, w32 %1) {
  @entry0
    br.eq w32 %1 0 @then1 @merge2;
  @then1
    load w32 %2 %0 0;
    ret %2;
  @merge2
    sub w32 %3 %1 1;
    call w32 %4 $recurse_1(%0, %3);
    ret %4;
}

fn w32 $left_2(w64 %0, w32 %1) {
  @entry0
    br.eq w32 %1 0 @then1 @merge2;
  @then1
    load w32 %2 %0 0;
    ret %2;
  @merge2
    sub w32 %3 %1 1;
    call w32 %4 $right_2(%0, %3);
    ret %4;
}

fn w32 $right_2(w64 %0, w32 %1) {
  @entry0
    call w32 %2 $left_2(%0, %1);
    ret %2;
}
