#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 *, float *);
main() {
  float a, b, c, g1, g2, P, R, T;
  printf("Введите значение a");
  scanf("&f", &a);
  printf("Ввелите значение b");
  scanf("&f", &b);
  printf("Введите значение c");
  scanf("&f", &c);
  printf("Введите значение g1");
  scanf("&f", &g1);
  printf("Введите значение g2");
  scanf("&f", &g2);
  if (a + b == 0 || g1 * g2 == 0)
    printf("Число P невозможно");
  else {
    P = ((10 ^ 3) / (g1 * g2)) + (1 / (a + b));
    printf("P=%f/n", P);
  }
  if (c == 0 || a * c == 0)
    printf("Число R невозможно");
  else {
    R = ((a * b) / c) + (b / (a * c));
    printf("R=%f/n", R);
  }
  if (c + b == 0 || c + (a / b) == 0)
    printf("Число T невозможно");
  else {
    T = ((a + b) / (c + b)) + ((a + (b / c)) / c + (a / b));
    printf("T=%f/n", T);
  }
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x30,%rsp
movl   $0x0,-0x4(%rbp)
lea    0xed2(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xee6(%rip),%rdi
lea    -0x8(%rbp),%rsi
call   1040 <scanf@plt>
lea    0xed9(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xec8(%rip),%rdi
lea    -0xc(%rbp),%rsi
call   1040 <scanf@plt>
lea    0xedd(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xeaa(%rip),%rdi
lea    -0x10(%rbp),%rsi
call   1040 <scanf@plt>
lea    0xee1(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xe8c(%rip),%rdi
lea    -0x14(%rbp),%rsi
call   1040 <scanf@plt>
lea    0xee6(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xe6e(%rip),%rdi
lea    -0x18(%rbp),%rsi
call   1040 <scanf@plt>
movss  -0x8(%rbp),%xmm0
addss  -0xc(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
jne    11e6 <main+0xc6>
jp     11e6 <main+0xc6>
jmp    1202 <main+0xe2>
movss  -0x14(%rbp),%xmm0
mulss  -0x18(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
jne    1215 <main+0xf5>
jp     1215 <main+0xf5>
lea    0xeae(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1261 <main+0x141>
movss  -0x14(%rbp),%xmm1
mulss  -0x18(%rbp),%xmm1
movss  0xddd(%rip),%xmm0
divss  %xmm1,%xmm0
movss  -0x8(%rbp),%xmm2
addss  -0xc(%rbp),%xmm2
movss  0xdc3(%rip),%xmm1
divss  %xmm2,%xmm1
addss  %xmm1,%xmm0
movss  %xmm0,-0x1c(%rbp)
movss  -0x1c(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0xe7f(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movss  -0x10(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
jne    127d <main+0x15d>
jp     127d <main+0x15d>
jmp    1299 <main+0x179>
movss  -0x8(%rbp),%xmm0
mulss  -0x10(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
jne    12ac <main+0x18c>
jp     12ac <main+0x18c>
lea    0xe40(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    12ee <main+0x1ce>
movss  -0x8(%rbp),%xmm0
mulss  -0xc(%rbp),%xmm0
divss  -0x10(%rbp),%xmm0
movss  -0xc(%rbp),%xmm1
movss  -0x8(%rbp),%xmm2
mulss  -0x10(%rbp),%xmm2
divss  %xmm2,%xmm1
addss  %xmm1,%xmm0
movss  %xmm0,-0x20(%rbp)
movss  -0x20(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0xe1b(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movss  -0x10(%rbp),%xmm0
addss  -0xc(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
jne    130f <main+0x1ef>
jp     130f <main+0x1ef>
jmp    1334 <main+0x214>
movss  -0x10(%rbp),%xmm0
movss  -0x8(%rbp),%xmm1
divss  -0xc(%rbp),%xmm1
addss  %xmm1,%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
jne    1347 <main+0x227>
jp     1347 <main+0x227>
lea    0xdce(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    13a5 <main+0x285>
movss  -0x8(%rbp),%xmm0
addss  -0xc(%rbp),%xmm0
movss  -0x10(%rbp),%xmm1
addss  -0xc(%rbp),%xmm1
divss  %xmm1,%xmm0
movss  -0x8(%rbp),%xmm1
movss  -0xc(%rbp),%xmm2
divss  -0x10(%rbp),%xmm2
addss  %xmm2,%xmm1
divss  -0x10(%rbp),%xmm1
movss  -0x8(%rbp),%xmm2
divss  -0xc(%rbp),%xmm2
addss  %xmm2,%xmm1
addss  %xmm1,%xmm0
movss  %xmm0,-0x24(%rbp)
movss  -0x24(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0xd8d(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
xor    %eax,%eax
add    $0x30,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbx
sub    $0x20,%rsp
lea    0xee4(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
lea    0xef8(%rip),%rbx
lea    0x10(%rsp),%rsi
mov    %rbx,%rdi
call   1040 <scanf@plt>
lea    0xee7(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
lea    0xc(%rsp),%rsi
mov    %rbx,%rdi
call   1040 <scanf@plt>
lea    0xeee(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
lea    0x14(%rsp),%rsi
mov    %rbx,%rdi
call   1040 <scanf@plt>
lea    0xef5(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
lea    0x1c(%rsp),%rsi
mov    %rbx,%rdi
call   1040 <scanf@plt>
lea    0xefd(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
lea    0x18(%rsp),%rsi
mov    %rbx,%rdi
call   1040 <scanf@plt>
movss  0x10(%rsp),%xmm0
addss  0xc(%rsp),%xmm0
xorps  %xmm2,%xmm2
ucomiss %xmm2,%xmm0
jne    11c9 <main+0xa9>
jnp    11e4 <main+0xc4>
movss  0x1c(%rsp),%xmm1
mulss  0x18(%rsp),%xmm1
ucomiss %xmm2,%xmm1
jne    127a <main+0x15a>
jp     127a <main+0x15a>
lea    0xed4(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
movss  0x14(%rsp),%xmm0
xorps  %xmm3,%xmm3
ucomiss %xmm3,%xmm0
jne    1202 <main+0xe2>
jnp    121e <main+0xfe>
movss  0x10(%rsp),%xmm2
movaps %xmm0,%xmm1
mulss  %xmm2,%xmm1
ucomiss %xmm3,%xmm1
jne    12a9 <main+0x189>
jp     12a9 <main+0x189>
lea    0xec3(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
movss  0x14(%rsp),%xmm0
movss  0xc(%rsp),%xmm4
movaps %xmm0,%xmm1
addss  %xmm4,%xmm1
xorps  %xmm5,%xmm5
ucomiss %xmm5,%xmm1
jne    1249 <main+0x129>
jnp    1264 <main+0x144>
movss  0x10(%rsp),%xmm3
movaps %xmm3,%xmm2
divss  %xmm4,%xmm2
movaps %xmm0,%xmm6
addss  %xmm2,%xmm6
ucomiss %xmm5,%xmm6
jne    12de <main+0x1be>
jp     12de <main+0x1be>
lea    0xea6(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
xor    %eax,%eax
add    $0x20,%rsp
pop    %rbx
ret
unpcklps %xmm1,%xmm0
movaps 0xd7c(%rip),%xmm1
divps  %xmm0,%xmm1
movaps %xmm1,%xmm0
shufps $0x55,%xmm1,%xmm0
addss  %xmm1,%xmm0
cvtss2sd %xmm0,%xmm0
lea    0xe44(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
jmp    11f2 <main+0xd2>
movss  0xc(%rsp),%xmm3
mulss  %xmm3,%xmm2
unpcklps %xmm2,%xmm3
unpcklps %xmm0,%xmm1
divps  %xmm1,%xmm3
movaps %xmm3,%xmm0
shufps $0x55,%xmm3,%xmm0
addss  %xmm3,%xmm0
cvtss2sd %xmm0,%xmm0
lea    0xe38(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
jmp    122c <main+0x10c>
movaps %xmm4,%xmm5
divss  %xmm0,%xmm5
unpcklps %xmm5,%xmm4
shufps $0x0,%xmm3,%xmm3
addps  %xmm4,%xmm3
unpcklps %xmm0,%xmm1
divps  %xmm1,%xmm3
movaps %xmm3,%xmm0
shufps $0x55,%xmm3,%xmm0
addss  %xmm0,%xmm2
addss  %xmm3,%xmm2
xorps  %xmm0,%xmm0
cvtss2sd %xmm2,%xmm0
lea    0xe21(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
jmp    1272 <main+0x152>

LLVM IR (-O0):
@.str = [34 x i8] c"\D0\92\D0\B2\D0\B5\D0\B4\D0\B8\D1\82\D0\B5 \D0\B7\D0\BD\D0\B0\D1\87\D0\B5\D0\BD\D0\B8\D0\B5 a\00"
@.str.1 = [3 x i8] c"&f\00"
@.str.2 = [34 x i8] c"\D0\92\D0\B2\D0\B5\D0\BB\D0\B8\D1\82\D0\B5 \D0\B7\D0\BD\D0\B0\D1\87\D0\B5\D0\BD\D0\B8\D0\B5 b\00"
@.str.3 = [34 x i8] c"\D0\92\D0\B2\D0\B5\D0\B4\D0\B8\D1\82\D0\B5 \D0\B7\D0\BD\D0\B0\D1\87\D0\B5\D0\BD\D0\B8\D0\B5 c\00"
@.str.4 = [35 x i8] c"\D0\92\D0\B2\D0\B5\D0\B4\D0\B8\D1\82\D0\B5 \D0\B7\D0\BD\D0\B0\D1\87\D0\B5\D0\BD\D0\B8\D0\B5 g1\00"
@.str.5 = [35 x i8] c"\D0\92\D0\B2\D0\B5\D0\B4\D0\B8\D1\82\D0\B5 \D0\B7\D0\BD\D0\B0\D1\87\D0\B5\D0\BD\D0\B8\D0\B5 g2\00"
@.str.6 = [34 x i8] c"\D0\A7\D0\B8\D1\81\D0\BB\D0\BE P \D0\BD\D0\B5\D0\B2\D0\BE\D0\B7\D0\BC\D0\BE\D0\B6\D0\BD\D0\BE\00"
@.str.7 = [7 x i8] c"P=%f/n\00"
@.str.8 = [34 x i8] c"\D0\A7\D0\B8\D1\81\D0\BB\D0\BE R \D0\BD\D0\B5\D0\B2\D0\BE\D0\B7\D0\BC\D0\BE\D0\B6\D0\BD\D0\BE\00"
@.str.9 = [7 x i8] c"R=%f/n\00"
@.str.10 = [34 x i8] c"\D0\A7\D0\B8\D1\81\D0\BB\D0\BE T \D0\BD\D0\B5\D0\B2\D0\BE\D0\B7\D0\BC\D0\BE\D0\B6\D0\BD\D0\BE\00"
@.str.11 = [7 x i8] c"T=%f/n\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca float
%3 = alloca float
%4 = alloca float
%5 = alloca float
%6 = alloca float
%7 = alloca float
%8 = alloca float
%9 = alloca float
store i32 0, i32* %1
%10 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str, i64 0, i64 0))
%11 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0), float* %2)
%12 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.2, i64 0, i64 0))
%13 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0), float* %3)
%14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.3, i64 0, i64 0))
%15 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0), float* %4)
%16 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0))
%17 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0), float* %5)
%18 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.5, i64 0, i64 0))
%19 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0), float* %6)
%20 = load float, float* %2
%21 = load float, float* %3
%22 = fadd float %20, %21
%23 = fcmp oeq float %22, 0.000000e+00
br i1 %23, label %29, label %24
24: ; preds = %0
%25 = load float, float* %5
%26 = load float, float* %6
%27 = fmul float %25, %26
%28 = fcmp oeq float %27, 0.000000e+00
br i1 %28, label %29, label %31
29: ; preds = %24, %0
%30 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.6, i64 0, i64 0))
br label %44
31: ; preds = %24
%32 = load float, float* %5
%33 = load float, float* %6
%34 = fmul float %32, %33
%35 = fdiv float 9.000000e+00, %34
%36 = load float, float* %2
%37 = load float, float* %3
%38 = fadd float %36, %37
%39 = fdiv float 1.000000e+00, %38
%40 = fadd float %35, %39
store float %40, float* %7
%41 = load float, float* %7
%42 = fpext float %41 to double
%43 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7, i64 0, i64 0), double %42)
br label %44
44: ; preds = %31, %29
%45 = load float, float* %4
%46 = fcmp oeq float %45, 0.000000e+00
br i1 %46, label %52, label %47
47: ; preds = %44
%48 = load float, float* %2
%49 = load float, float* %4
%50 = fmul float %48, %49
%51 = fcmp oeq float %50, 0.000000e+00
br i1 %51, label %52, label %54
52: ; preds = %47, %44
%53 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.8, i64 0, i64 0))
br label %69
54: ; preds = %47
%55 = load float, float* %2
%56 = load float, float* %3
%57 = fmul float %55, %56
%58 = load float, float* %4
%59 = fdiv float %57, %58
%60 = load float, float* %3
%61 = load float, float* %2
%62 = load float, float* %4
%63 = fmul float %61, %62
%64 = fdiv float %60, %63
%65 = fadd float %59, %64
store float %65, float* %8
%66 = load float, float* %8
%67 = fpext float %66 to double
%68 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.9, i64 0, i64 0), double %67)
br label %69
69: ; preds = %54, %52
%70 = load float, float* %4
%71 = load float, float* %3
%72 = fadd float %70, %71
%73 = fcmp oeq float %72, 0.000000e+00
br i1 %73, label %81, label %74
74: ; preds = %69
%75 = load float, float* %4
%76 = load float, float* %2
%77 = load float, float* %3
%78 = fdiv float %76, %77
%79 = fadd float %75, %78
%80 = fcmp oeq float %79, 0.000000e+00
br i1 %80, label %81, label %83
81: ; preds = %74, %69
%82 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.10, i64 0, i64 0))
br label %106
83: ; preds = %74
%84 = load float, float* %2
%85 = load float, float* %3
%86 = fadd float %84, %85
%87 = load float, float* %4
%88 = load float, float* %3
%89 = fadd float %87, %88
%90 = fdiv float %86, %89
%91 = load float, float* %2
%92 = load float, float* %3
%93 = load float, float* %4
%94 = fdiv float %92, %93
%95 = fadd float %91, %94
%96 = load float, float* %4
%97 = fdiv float %95, %96
%98 = load float, float* %2
%99 = load float, float* %3
%100 = fdiv float %98, %99
%101 = fadd float %97, %100
%102 = fadd float %90, %101
store float %102, float* %9
%103 = load float, float* %9
%104 = fpext float %103 to double
%105 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.11, i64 0, i64 0), double %104)
br label %106
106: ; preds = %83, %81
ret i32 0
}

LLVM IR (-O2):
@.str = [34 x i8] c"\D0\92\D0\B2\D0\B5\D0\B4\D0\B8\D1\82\D0\B5 \D0\B7\D0\BD\D0\B0\D1\87\D0\B5\D0\BD\D0\B8\D0\B5 a\00"
@.str.1 = [3 x i8] c"&f\00"
@.str.2 = [34 x i8] c"\D0\92\D0\B2\D0\B5\D0\BB\D0\B8\D1\82\D0\B5 \D0\B7\D0\BD\D0\B0\D1\87\D0\B5\D0\BD\D0\B8\D0\B5 b\00"
@.str.3 = [34 x i8] c"\D0\92\D0\B2\D0\B5\D0\B4\D0\B8\D1\82\D0\B5 \D0\B7\D0\BD\D0\B0\D1\87\D0\B5\D0\BD\D0\B8\D0\B5 c\00"
@.str.4 = [35 x i8] c"\D0\92\D0\B2\D0\B5\D0\B4\D0\B8\D1\82\D0\B5 \D0\B7\D0\BD\D0\B0\D1\87\D0\B5\D0\BD\D0\B8\D0\B5 g1\00"
@.str.5 = [35 x i8] c"\D0\92\D0\B2\D0\B5\D0\B4\D0\B8\D1\82\D0\B5 \D0\B7\D0\BD\D0\B0\D1\87\D0\B5\D0\BD\D0\B8\D0\B5 g2\00"
@.str.6 = [34 x i8] c"\D0\A7\D0\B8\D1\81\D0\BB\D0\BE P \D0\BD\D0\B5\D0\B2\D0\BE\D0\B7\D0\BC\D0\BE\D0\B6\D0\BD\D0\BE\00"
@.str.7 = [7 x i8] c"P=%f/n\00"
@.str.8 = [34 x i8] c"\D0\A7\D0\B8\D1\81\D0\BB\D0\BE R \D0\BD\D0\B5\D0\B2\D0\BE\D0\B7\D0\BC\D0\BE\D0\B6\D0\BD\D0\BE\00"
@.str.9 = [7 x i8] c"R=%f/n\00"
@.str.10 = [34 x i8] c"\D0\A7\D0\B8\D1\81\D0\BB\D0\BE T \D0\BD\D0\B5\D0\B2\D0\BE\D0\B7\D0\BC\D0\BE\D0\B6\D0\BD\D0\BE\00"
@.str.11 = [7 x i8] c"T=%f/n\00"
define i32 @main() {
%1 = alloca float
%2 = alloca float
%3 = alloca float
%4 = alloca float
%5 = alloca float
%6 = bitcast float* %1 to i8*
%7 = bitcast float* %2 to i8*
%8 = bitcast float* %3 to i8*
%9 = bitcast float* %4 to i8*
%10 = bitcast float* %5 to i8*
%11 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @.str, i64 0, i64 0))
%12 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0), float* %1)
%13 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @.str.2, i64 0, i64 0))
%14 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0), float* %2)
%15 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @.str.3, i64 0, i64 0))
%16 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0), float* %3)
%17 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([35 x i8], [35 x i8]* @.str.4, i64 0, i64 0))
%18 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0), float* %4)
%19 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([35 x i8], [35 x i8]* @.str.5, i64 0, i64 0))
%20 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0), float* %5)
%21 = load float, float* %1
%22 = load float, float* %2
%23 = fadd float %21, %22
%24 = fcmp oeq float %23, 0.000000e+00
br i1 %24, label %30, label %25
25: ; preds = %0
%26 = load float, float* %4
%27 = load float, float* %5
%28 = fmul float %26, %27
%29 = fcmp oeq float %28, 0.000000e+00
br i1 %29, label %30, label %32
30: ; preds = %25, %0
%31 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @.str.6, i64 0, i64 0))
br label %41
32: ; preds = %25
%33 = insertelement <2 x float> poison, float %23, i64 0
%34 = insertelement <2 x float> %33, float %28, i64 1
%35 = fdiv <2 x float> <float 1.000000e+00, float 9.000000e+00>, %34
%36 = shufflevector <2 x float> %35, <2 x float> poison, <2 x i32> <i32 1, i32 undef>
%37 = fadd <2 x float> %35, %36
%38 = extractelement <2 x float> %37, i64 0
%39 = fpext float %38 to double
%40 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7, i64 0, i64 0), double %39)
br label %41
41: ; preds = %32, %30
%42 = load float, float* %3
%43 = fcmp oeq float %42, 0.000000e+00
br i1 %43, label %48, label %44
44: ; preds = %41
%45 = load float, float* %1
%46 = fmul float %42, %45
%47 = fcmp oeq float %46, 0.000000e+00
br i1 %47, label %48, label %50
48: ; preds = %44, %41
%49 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @.str.8, i64 0, i64 0))
br label %63
50: ; preds = %44
%51 = load float, float* %2
%52 = fmul float %45, %51
%53 = insertelement <2 x float> poison, float %51, i64 0
%54 = insertelement <2 x float> %53, float %52, i64 1
%55 = insertelement <2 x float> poison, float %46, i64 0
%56 = insertelement <2 x float> %55, float %42, i64 1
%57 = fdiv <2 x float> %54, %56
%58 = shufflevector <2 x float> %57, <2 x float> poison, <2 x i32> <i32 1, i32 undef>
%59 = fadd <2 x float> %57, %58
%60 = extractelement <2 x float> %59, i64 0
%61 = fpext float %60 to double
%62 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.9, i64 0, i64 0), double %61)
br label %63
63: ; preds = %50, %48
%64 = load float, float* %3
%65 = load float, float* %2
%66 = fadd float %64, %65
%67 = fcmp oeq float %66, 0.000000e+00
br i1 %67, label %73, label %68
68: ; preds = %63
%69 = load float, float* %1
%70 = fdiv float %69, %65
%71 = fadd float %64, %70
%72 = fcmp oeq float %71, 0.000000e+00
br i1 %72, label %73, label %75
73: ; preds = %68, %63
%74 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @.str.10, i64 0, i64 0))
br label %91
75: ; preds = %68
%76 = fdiv float %65, %64
%77 = insertelement <2 x float> poison, float %65, i64 0
%78 = insertelement <2 x float> %77, float %76, i64 1
%79 = insertelement <2 x float> poison, float %69, i64 0
%80 = shufflevector <2 x float> %79, <2 x float> poison, <2 x i32> zeroinitializer
%81 = fadd <2 x float> %78, %80
%82 = insertelement <2 x float> poison, float %66, i64 0
%83 = insertelement <2 x float> %82, float %64, i64 1
%84 = fdiv <2 x float> %81, %83
%85 = extractelement <2 x float> %84, i64 1
%86 = fadd float %70, %85
%87 = extractelement <2 x float> %84, i64 0
%88 = fadd float %87, %86
%89 = fpext float %88 to double
%90 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.11, i64 0, i64 0), double %89)
br label %91
91: ; preds = %75, %73
ret i32 0
}