fib:
        stwu    r1, -48(r1)
        mflr    r0
        stw     r31, 44(r1)
        stw     r0, 52(r1)
        mr      r31, r1
        stw     r3, 8(r31)
        lwz     r0, 8(r31)
        cmpwi   7, r0, 0
        bne     7, L2
        li      r0, 0
        stw     r0, 20(r31)
        b       L1
L2:
        lwz     r0, 8(r31)
        cmpwi   7, r0, 1
        bne     7, L3
        li      r0, 1
        stw     r0, 20(r31)
        b       L1
L3:
        lwz     r9, 8(r31)
        addi    r0, r9, -1
        mr      r3, r0
        bl      fib
        mr      r0, r3
        stw     r0, 12(r31)
        lwz     r9, 8(r31)
        addi    r0, r9, -2
        mr      r3, r0
        bl      fib
        mr      r0, r3
        stw     r0, 16(r31)
        lwz     r9, 12(r31)
        lwz     r0, 16(r31)
        add     r0, r9, r0
        stw     r0, 20(r31)
L1:
        lwz     r3, 20(r31)
        lwz     r11, 0(r1)
        lwz     r0, 4(r11)
        mtlr    r0
        lwz     r31, -4(r11)
        mr      r1, r11
        blr

