#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ printf(char *, ...);
int /*<<< orphan*/ scanf(char *, double *);
int main(void) {
  double Wareneinkaufswert;
  printf("\n\n\t\tBitte geben Sie den Rechnungsbetrag ein:\n\n\t\t--> ");
  scanf("%lf", &Wareneinkaufswert);
  printf("\n\t\tSie haben Verkaeufe ueber \"%.2lf EUR\" eingegeben - "
         "Rechnungsstellung erfolgt!\n",
         Wareneinkaufswert);
  if (Wareneinkaufswert < 100) {
    printf("\n\t\tRechnungsbetrag Netto:\t\t\"%.2lf EUR\"\n",
           Wareneinkaufswert);
    printf("\n\t\tMehrwertsteuer 19%%:\t\t\"%.2lf EUR\"\n",
           (Wareneinkaufswert * 0.19));
    printf("\n\t\tRechnungsbetrag Brutto:\t\t\"%.2lf EUR\"\n",
           (Wareneinkaufswert * 1.19));
    printf("\n\n");
    return 0;
  } else if (Wareneinkaufswert >= 100 && Wareneinkaufswert <= 500) {
    printf("\n\t\tRechnungsbetrag Netto:\t\t\"%.2lf EUR\"\n",
           Wareneinkaufswert);
    printf("\n\t\tabzgl. 2%% Rabatt:\t\t\"%.2lf EUR\"\n",
           (Wareneinkaufswert * 0.98));
    printf("\n\t\tMehrwertsteuer 19%%:\t\t\"%.2lf EUR\"\n",
           ((Wareneinkaufswert * 0.98) * 0.19));
    printf("\n\t\tRechnungsbetrag Brutto:\t\t\"%.2lf EUR\"\n",
           ((Wareneinkaufswert * 0.98) * 1.19));
    printf("\n\n");
    return 0;
  } else if (Wareneinkaufswert > 500 && Wareneinkaufswert <= 1000) {
    printf("\n\t\tRechnungsbetrag Netto:\t\t\"%.2lf EUR\"\n",
           Wareneinkaufswert);
    printf("\n\t\tabzgl. 5%% Rabatt:\t\t\"%.2lf EUR\"\n",
           (Wareneinkaufswert * 0.95));
    printf("\n\t\tMehrwertsteuer 19%%:\t\t\"%.2lf EUR\"\n",
           ((Wareneinkaufswert * 0.95) * 0.19));
    printf("\n\t\tRechnungsbetrag Brutto:\t\t\"%.2lf EUR\"\n",
           ((Wareneinkaufswert * 0.95) * 1.19));
    printf("\n\n");
    return 0;
  } else if (Wareneinkaufswert > 1000) {
    printf("\n\t\tRechnungsbetrag Netto:\t\t\"%.2lf EUR\"\n",
           Wareneinkaufswert);
    printf("\n\t\tabzgl. 10%% Rabatt:\t\t\"%.2lf EUR\"\n",
           (Wareneinkaufswert * 0.90));
    printf("\n\t\tMehrwertsteuer 19%%:\t\t\"%.2lf EUR\"\n",
           ((Wareneinkaufswert * 0.90) * 0.19));
    printf("\n\t\tRechnungsbetrag Brutto:\t\t\"%.2lf EUR\"\n",
           ((Wareneinkaufswert * 0.90) * 1.19));
    printf("\n\n");
    return 0;
  }
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
movl   $0x0,-0x4(%rbp)
lea    0xf0a(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xf31(%rip),%rdi
lea    -0x10(%rbp),%rsi
call   1040 <scanf@plt>
movsd  -0x10(%rbp),%xmm0
lea    0xf20(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movsd  0xe98(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    11d6 <main+0xb6>
movsd  -0x10(%rbp),%xmm0
lea    0xf4c(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movsd  0xe9a(%rip),%xmm0
mulsd  -0x10(%rbp),%xmm0
lea    0xf59(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movsd  0xe6f(%rip),%xmm0
mulsd  -0x10(%rbp),%xmm0
lea    0xf64(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
lea    0xf7f(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movl   $0x0,-0x4(%rbp)
jmp    1419 <main+0x2f9>
movsd  -0x10(%rbp),%xmm0
movsd  0xe1d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     1296 <main+0x176>
movsd  0xe13(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jb     1296 <main+0x176>
movsd  -0x10(%rbp),%xmm0
lea    0xebf(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movsd  0xe1d(%rip),%xmm0
mulsd  -0x10(%rbp),%xmm0
lea    0xf1e(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movsd  0xe02(%rip),%xmm0
mulsd  -0x10(%rbp),%xmm0
movsd  0xde5(%rip),%xmm1
mulsd  %xmm1,%xmm0
lea    0xea5(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movsd  0xddb(%rip),%xmm0
mulsd  -0x10(%rbp),%xmm0
movsd  0xdae(%rip),%xmm1
mulsd  %xmm1,%xmm0
lea    0xea4(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
lea    0xebf(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movl   $0x0,-0x4(%rbp)
jmp    1419 <main+0x2f9>
movsd  -0x10(%rbp),%xmm0
movsd  0xd65(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    1356 <main+0x236>
movsd  0xd5b(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jb     1356 <main+0x236>
movsd  -0x10(%rbp),%xmm0
lea    0xdff(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movsd  0xd55(%rip),%xmm0
mulsd  -0x10(%rbp),%xmm0
lea    0xe82(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movsd  0xd3a(%rip),%xmm0
mulsd  -0x10(%rbp),%xmm0
movsd  0xd25(%rip),%xmm1
mulsd  %xmm1,%xmm0
lea    0xde5(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movsd  0xd13(%rip),%xmm0
mulsd  -0x10(%rbp),%xmm0
movsd  0xcee(%rip),%xmm1
mulsd  %xmm1,%xmm0
lea    0xde4(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
lea    0xdff(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movl   $0x0,-0x4(%rbp)
jmp    1419 <main+0x2f9>
movsd  -0x10(%rbp),%xmm0
movsd  0xcad(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    1403 <main+0x2e3>
movsd  -0x10(%rbp),%xmm0
lea    0xd52(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movsd  0xc98(%rip),%xmm0
mulsd  -0x10(%rbp),%xmm0
lea    0xdf9(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movsd  0xc7d(%rip),%xmm0
mulsd  -0x10(%rbp),%xmm0
movsd  0xc78(%rip),%xmm1
mulsd  %xmm1,%xmm0
lea    0xd38(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movsd  0xc56(%rip),%xmm0
mulsd  -0x10(%rbp),%xmm0
movsd  0xc41(%rip),%xmm1
mulsd  %xmm1,%xmm0
lea    0xd37(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
lea    0xd52(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movl   $0x0,-0x4(%rbp)
jmp    1419 <main+0x2f9>
jmp    1408 <main+0x2e8>
jmp    140d <main+0x2ed>
jmp    1412 <main+0x2f2>
movl   $0x0,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rax
lea    0xf08(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xf2f(%rip),%rdi
mov    %rsp,%rsi
call   1050 <scanf@plt>
movsd  (%rsp),%xmm0
lea    0xf1f(%rip),%rdi
mov    $0x1,%al
call   1040 <printf@plt>
movsd  (%rsp),%xmm0
movsd  0xe92(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    11a7 <main+0x77>
lea    0xf50(%rip),%rdi
mov    $0x1,%al
call   1040 <printf@plt>
movsd  (%rsp),%xmm0
mulsd  0xe91(%rip),%xmm0
lea    0xf5d(%rip),%rdi
mov    $0x1,%al
call   1040 <printf@plt>
movsd  (%rsp),%xmm0
jmp    12e9 <main+0x1b9>
ucomisd 0xe51(%rip),%xmm0
jb     1218 <main+0xe8>
movsd  0xe4f(%rip),%xmm1
ucomisd %xmm0,%xmm1
jb     1218 <main+0xe8>
lea    0xf05(%rip),%rdi
mov    $0x1,%al
call   1040 <printf@plt>
movsd  (%rsp),%xmm0
mulsd  0xe56(%rip),%xmm0
lea    0xf61(%rip),%rdi
mov    $0x1,%al
call   1040 <printf@plt>
movsd  (%rsp),%xmm0
mulsd  0xe3b(%rip),%xmm0
mulsd  0xe23(%rip),%xmm0
lea    0xeef(%rip),%rdi
mov    $0x1,%al
call   1040 <printf@plt>
movsd  0xe1d(%rip),%xmm0
jmp    12e4 <main+0x1b4>
ucomisd 0xde8(%rip),%xmm0
jbe    1286 <main+0x156>
movsd  0xde6(%rip),%xmm1
ucomisd %xmm0,%xmm1
jb     1286 <main+0x156>
lea    0xe94(%rip),%rdi
mov    $0x1,%al
call   1040 <printf@plt>
movsd  (%rsp),%xmm0
mulsd  0xddd(%rip),%xmm0
lea    0xf14(%rip),%rdi
mov    $0x1,%al
call   1040 <printf@plt>
movsd  (%rsp),%xmm0
mulsd  0xdc2(%rip),%xmm0
mulsd  0xdb2(%rip),%xmm0
lea    0xe7e(%rip),%rdi
mov    $0x1,%al
call   1040 <printf@plt>
movsd  0xda4(%rip),%xmm0
jmp    12e4 <main+0x1b4>
ucomisd 0xd82(%rip),%xmm0
jbe    130b <main+0x1db>
lea    0xe34(%rip),%rdi
mov    $0x1,%al
call   1040 <printf@plt>
movsd  (%rsp),%xmm0
mulsd  0xd6d(%rip),%xmm0
lea    0xed8(%rip),%rdi
mov    $0x1,%al
call   1040 <printf@plt>
movsd  (%rsp),%xmm0
mulsd  0xd52(%rip),%xmm0
mulsd  0xd52(%rip),%xmm0
lea    0xe1e(%rip),%rdi
mov    $0x1,%al
call   1040 <printf@plt>
movsd  0xd34(%rip),%xmm0
mulsd  (%rsp),%xmm0
mulsd  0xd47(%rip),%xmm0
lea    0xe21(%rip),%rdi
mov    $0x1,%al
call   1040 <printf@plt>
lea    0xdc3(%rip),%rdi
call   1030 <puts@plt>
xor    %eax,%eax
pop    %rcx
ret

LLVM IR (-O0):
@.str = [53 x i8] c"\0A\0A\09\09Bitte geben Sie den Rechnungsbetrag ein:\0A\0A\09\09--> \00"
@.str.1 = [4 x i8] c"%lf\00"
@.str.2 = [82 x i8] c"\0A\09\09Sie haben Verkaeufe ueber \22%.2lf EUR\22 eingegeben - Rechnungsstellung erfolgt!\0A\00"
@.str.3 = [40 x i8] c"\0A\09\09Rechnungsbetrag Netto:\09\09\22%.2lf EUR\22\0A\00"
@.str.4 = [38 x i8] c"\0A\09\09Mehrwertsteuer 19%%:\09\09\22%.2lf EUR\22\0A\00"
@.str.5 = [41 x i8] c"\0A\09\09Rechnungsbetrag Brutto:\09\09\22%.2lf EUR\22\0A\00"
@.str.6 = [3 x i8] c"\0A\0A\00"
@.str.7 = [36 x i8] c"\0A\09\09abzgl. 2%% Rabatt:\09\09\22%.2lf EUR\22\0A\00"
@.str.8 = [36 x i8] c"\0A\09\09abzgl. 5%% Rabatt:\09\09\22%.2lf EUR\22\0A\00"
@.str.9 = [37 x i8] c"\0A\09\09abzgl. 10%% Rabatt:\09\09\22%.2lf EUR\22\0A\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca double
store i32 0, i32* %1
%3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str, i64 0, i64 0))
%4 = call i32 @scanf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), double* %2)
%5 = load double, double* %2
%6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.2, i64 0, i64 0), double %5)
%7 = load double, double* %2
%8 = fcmp olt double %7, 1.000000e+02
br i1 %8, label %9, label %19
9: ; preds = %0
%10 = load double, double* %2
%11 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.3, i64 0, i64 0), double %10)
%12 = load double, double* %2
%13 = fmul double %12, 1.900000e-01
%14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.4, i64 0, i64 0), double %13)
%15 = load double, double* %2
%16 = fmul double %15, 1.190000e+00
%17 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.5, i64 0, i64 0), double %16)
%18 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.6, i64 0, i64 0))
store i32 0, i32* %1
br label %83
19: ; preds = %0
%20 = load double, double* %2
%21 = fcmp oge double %20, 1.000000e+02
br i1 %21, label %22, label %40
22: ; preds = %19
%23 = load double, double* %2
%24 = fcmp ole double %23, 5.000000e+02
br i1 %24, label %25, label %40
25: ; preds = %22
%26 = load double, double* %2
%27 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.3, i64 0, i64 0), double %26)
%28 = load double, double* %2
%29 = fmul double %28, 0x3FEF5C28F5C28F5C
%30 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.7, i64 0, i64 0), double %29)
%31 = load double, double* %2
%32 = fmul double %31, 0x3FEF5C28F5C28F5C
%33 = fmul double %32, 1.900000e-01
%34 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.4, i64 0, i64 0), double %33)
%35 = load double, double* %2
%36 = fmul double %35, 0x3FEF5C28F5C28F5C
%37 = fmul double %36, 1.190000e+00
%38 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.5, i64 0, i64 0), double %37)
%39 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.6, i64 0, i64 0))
store i32 0, i32* %1
br label %83
40: ; preds = %22, %19
%41 = load double, double* %2
%42 = fcmp ogt double %41, 5.000000e+02
br i1 %42, label %43, label %61
43: ; preds = %40
%44 = load double, double* %2
%45 = fcmp ole double %44, 1.000000e+03
br i1 %45, label %46, label %61
46: ; preds = %43
%47 = load double, double* %2
%48 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.3, i64 0, i64 0), double %47)
%49 = load double, double* %2
%50 = fmul double %49, 0x3FEE666666666666
%51 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.8, i64 0, i64 0), double %50)
%52 = load double, double* %2
%53 = fmul double %52, 0x3FEE666666666666
%54 = fmul double %53, 1.900000e-01
%55 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.4, i64 0, i64 0), double %54)
%56 = load double, double* %2
%57 = fmul double %56, 0x3FEE666666666666
%58 = fmul double %57, 1.190000e+00
%59 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.5, i64 0, i64 0), double %58)
%60 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.6, i64 0, i64 0))
store i32 0, i32* %1
br label %83
61: ; preds = %43, %40
%62 = load double, double* %2
%63 = fcmp ogt double %62, 1.000000e+03
br i1 %63, label %64, label %79
64: ; preds = %61
%65 = load double, double* %2
%66 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.3, i64 0, i64 0), double %65)
%67 = load double, double* %2
%68 = fmul double %67, 9.000000e-01
%69 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.9, i64 0, i64 0), double %68)
%70 = load double, double* %2
%71 = fmul double %70, 9.000000e-01
%72 = fmul double %71, 1.900000e-01
%73 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.4, i64 0, i64 0), double %72)
%74 = load double, double* %2
%75 = fmul double %74, 9.000000e-01
%76 = fmul double %75, 1.190000e+00
%77 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.5, i64 0, i64 0), double %76)
%78 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.6, i64 0, i64 0))
store i32 0, i32* %1
br label %83
79: ; preds = %61
br label %80
80: ; preds = %79
br label %81
81: ; preds = %80
br label %82
82: ; preds = %81
store i32 0, i32* %1
br label %83
83: ; preds = %82, %64, %46, %25, %9
%84 = load i32, i32* %1
ret i32 %84
}

LLVM IR (-O2):
@.str = [53 x i8] c"\0A\0A\09\09Bitte geben Sie den Rechnungsbetrag ein:\0A\0A\09\09--> \00"
@.str.1 = [4 x i8] c"%lf\00"
@.str.2 = [82 x i8] c"\0A\09\09Sie haben Verkaeufe ueber \22%.2lf EUR\22 eingegeben - Rechnungsstellung erfolgt!\0A\00"
@.str.3 = [40 x i8] c"\0A\09\09Rechnungsbetrag Netto:\09\09\22%.2lf EUR\22\0A\00"
@.str.4 = [38 x i8] c"\0A\09\09Mehrwertsteuer 19%%:\09\09\22%.2lf EUR\22\0A\00"
@.str.5 = [41 x i8] c"\0A\09\09Rechnungsbetrag Brutto:\09\09\22%.2lf EUR\22\0A\00"
@.str.7 = [36 x i8] c"\0A\09\09abzgl. 2%% Rabatt:\09\09\22%.2lf EUR\22\0A\00"
@.str.8 = [36 x i8] c"\0A\09\09abzgl. 5%% Rabatt:\09\09\22%.2lf EUR\22\0A\00"
@.str.9 = [37 x i8] c"\0A\09\09abzgl. 10%% Rabatt:\09\09\22%.2lf EUR\22\0A\00"
@str.12 = [2 x i8] c"\0A\00"
define i32 @main() {
%1 = alloca double
%2 = bitcast double* %1 to i8*
%3 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([53 x i8], [53 x i8]* @.str, i64 0, i64 0))
%4 = call i32 @scanf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), double* %1)
%5 = load double, double* %1
%6 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([82 x i8], [82 x i8]* @.str.2, i64 0, i64 0), double %5)
%7 = load double, double* %1
%8 = fcmp olt double %7, 1.000000e+02
br i1 %8, label %9, label %15
9: ; preds = %0
%10 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([40 x i8], [40 x i8]* @.str.3, i64 0, i64 0), double %7)
%11 = load double, double* %1
%12 = fmul double %11, 1.900000e-01
%13 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([38 x i8], [38 x i8]* @.str.4, i64 0, i64 0), double %12)
%14 = load double, double* %1
br label %58
15: ; preds = %0
%16 = fcmp oge double %7, 1.000000e+02
%17 = fcmp ole double %7, 5.000000e+02
%18 = and i1 %16, %17
br i1 %18, label %19, label %30
19: ; preds = %15
%20 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([40 x i8], [40 x i8]* @.str.3, i64 0, i64 0), double %7)
%21 = load double, double* %1
%22 = fmul double %21, 0x3FEF5C28F5C28F5C
%23 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([36 x i8], [36 x i8]* @.str.7, i64 0, i64 0), double %22)
%24 = load double, double* %1
%25 = fmul double %24, 0x3FEF5C28F5C28F5C
%26 = fmul double %25, 1.900000e-01
%27 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([38 x i8], [38 x i8]* @.str.4, i64 0, i64 0), double %26)
%28 = load double, double* %1
%29 = fmul double %28, 0x3FEF5C28F5C28F5C
br label %58
30: ; preds = %15
%31 = fcmp ogt double %7, 5.000000e+02
%32 = fcmp ole double %7, 1.000000e+03
%33 = and i1 %31, %32
br i1 %33, label %34, label %45
34: ; preds = %30
%35 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([40 x i8], [40 x i8]* @.str.3, i64 0, i64 0), double %7)
%36 = load double, double* %1
%37 = fmul double %36, 0x3FEE666666666666
%38 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([36 x i8], [36 x i8]* @.str.8, i64 0, i64 0), double %37)
%39 = load double, double* %1
%40 = fmul double %39, 0x3FEE666666666666
%41 = fmul double %40, 1.900000e-01
%42 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([38 x i8], [38 x i8]* @.str.4, i64 0, i64 0), double %41)
%43 = load double, double* %1
%44 = fmul double %43, 0x3FEE666666666666
br label %58
45: ; preds = %30
%46 = fcmp ogt double %7, 1.000000e+03
br i1 %46, label %47, label %64
47: ; preds = %45
%48 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([40 x i8], [40 x i8]* @.str.3, i64 0, i64 0), double %7)
%49 = load double, double* %1
%50 = fmul double %49, 9.000000e-01
%51 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([37 x i8], [37 x i8]* @.str.9, i64 0, i64 0), double %50)
%52 = load double, double* %1
%53 = fmul double %52, 9.000000e-01
%54 = fmul double %53, 1.900000e-01
%55 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([38 x i8], [38 x i8]* @.str.4, i64 0, i64 0), double %54)
%56 = load double, double* %1
%57 = fmul double %56, 9.000000e-01
br label %58
58: ; preds = %9, %19, %34, %47
%59 = phi double [ %57, %47 ], [ %44, %34 ], [ %29, %19 ], [ %14, %9 ]
%60 = phi i8* [ getelementptr inbounds ([2 x i8], [2 x i8]* @str.12, i64 0, i64 0), %47 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @str.12, i64 0, i64 0), %34 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @str.12, i64 0, i64 0), %19 ], [ getelementptr inbounds ([2 x i8], [2 x i8]* @str.12, i64 0, i64 0), %9 ]
%61 = fmul double %59, 1.190000e+00
%62 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @.str.5, i64 0, i64 0), double %61)
%63 = call i32 @puts(i8* dereferenceable(1) %60)
br label %64
64: ; preds = %58, %45
ret i32 0
}