data $___cnst0 = { b "fib(%d) = %d\n", b 0 } function w $fib(w %___tmpvar0) { @start %n =l alloc4 4 storew %___tmpvar0, %n %___tmpvar3 =w loadw %n %___tmpvar2 =w cslew %___tmpvar3, 1 jnz %___tmpvar2, @___tmplbl1, @___tmplbl2 @___tmplbl1 %___tmpvar4 =w loadw %n %___tmpvar1 =w copy %___tmpvar4 jmp @___tmplbl0 @___tmplbl2 jmp @___tmplbl3 @___tmplbl3 %___tmpvar8 =w loadw %n %___tmpvar7 =w sub %___tmpvar8, 1 %___tmpvar6 =w call $fib(w %___tmpvar7) %___tmpvar11 =w loadw %n %___tmpvar10 =w sub %___tmpvar11, 2 %___tmpvar9 =w call $fib(w %___tmpvar10) %___tmpvar5 =w add %___tmpvar6, %___tmpvar9 %___tmpvar1 =w copy %___tmpvar5 jmp @___tmplbl0 @___tmplbl0 ret %___tmpvar1 } function $_main() { @start %i =l alloc4 4 storew 0, %i @___tmplbl0 %___tmpvar4 =w loadw %i %___tmpvar3 =w csltw %___tmpvar4, 40 jnz %___tmpvar3, @___tmplbl1, @___tmplbl2 @___tmplbl1 %___tmpvar0 =w loadw %i %___tmpvar2 =w loadw %i %___tmpvar1 =w call $fib(w %___tmpvar2) call $printf(l $___cnst0, ..., w %___tmpvar0, w %___tmpvar1) %___tmpvar6 =w loadw %i %___tmpvar5 =w add %___tmpvar6, 1 storew %___tmpvar5, %i jmp @___tmplbl0 @___tmplbl2 ret } export function w $main() { @start call $_main() ret 0 }