; ModuleID = 'my_module' define double @fibi(double %x) { entry: %i = alloca double, align 8 %b = alloca double, align 8 %a = alloca double, align 8 %x1 = alloca double, align 8 store double %x, double* %x1, align 8 store double 1.000000e+00, double* %a, align 8 store double 1.000000e+00, double* %b, align 8 store double 1.000000e+00, double* %i, align 8 br label %loop loop: ; preds = %loop, %entry %i6 = phi double [ %nextvar, %loop ], [ 1.000000e+00, %entry ] %a9 = phi double [ %addtmp, %loop ], [ 1.000000e+00, %entry ] %a2 = phi double [ %a9, %loop ], [ 1.000000e+00, %entry ] %addtmp = fadd double %a2, %a9 store double %a9, double* %a, align 8 store double %addtmp, double* %b, align 8 %nextvar = fadd double %i6, 1.000000e+00 store double %nextvar, double* %i, align 8 %lttmp = fcmp ult double %nextvar, %x br i1 %lttmp, label %loop, label %afterloop afterloop: ; preds = %loop ret double %a9 }