define i32 @fib(i32) { entry: icmp sle i32 %0, 2 ; :1 [#uses=1] br i1 %1, label %return, label %recurse return: ; preds = %entry ret i32 1 recurse: ; preds = %entry sub i32 %0, 1 ; :2 [#uses=1] call i32 @fib( i32 %2 ) ; :3 [#uses=1] sub i32 %0, 2 ; :4 [#uses=1] call i32 @fib( i32 %4 ) ; :5 [#uses=1] add i32 %3, %5 ; :6 [#uses=1] ret i32 %6 } fib 10 = 55