#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 */
scalar_t__ EOF;
int /*<<< orphan*/ printf(char *, double);
scalar_t__ scanf(char *, double *, double *, double *, double *, double *,
                 double *);
double sqrt(double);
int main() {
  double a1, a2, b1, b2, c1, c2, g, f, c, r, con1, con2, all, cir;
  while (scanf("%lf %lf %lf %lf %lf %lf", &a1, &a2, &b1, &b2, &c1, &c2) !=
         EOF) {
    con1 = a1 * a1 + a2 * a2 - b1 * b1 - b2 * b2;
    con2 = b1 * b1 + b2 * b2 - c1 * c1 - c2 * c2;
    all = (2 * a1 - 2 * b1) * (2 * b2 - 2 * c2) -
          (2 * b1 - 2 * c1) * (2 * a2 - 2 * b2);
    g = ((2 * a2 - 2 * b2) * con2 - con1 * (2 * b2 - 2 * c2)) / all;
    f = ((2 * b1 - 2 * c1) * con1 - con2 * (2 * a1 - 2 * b1)) / all;
    c = -(a1 * a1 + a2 * a2 + 2 * g * a1 + 2 * f * a2);
    r = sqrt(g * g + f * f - c);
    cir = 2 * 3.141592653589793 * r;
    printf("%.2lf\n", cir);
  }
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x80,%rsp
movl   $0x0,-0x4(%rbp)
lea    0xec7(%rip),%rdi
lea    -0x10(%rbp),%rsi
lea    -0x18(%rbp),%rdx
lea    -0x20(%rbp),%rcx
lea    -0x28(%rbp),%r8
lea    -0x30(%rbp),%r9
lea    -0x38(%rbp),%rax
mov    %rax,(%rsp)
call   1040 <scanf@plt>
mov    0x2e77(%rip),%rcx
cmp    (%rcx),%rax
je     153d <main+0x40d>
movsd  -0x10(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  -0x18(%rbp),%xmm1
mulsd  -0x18(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x20(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x28(%rbp),%xmm0
movsd  -0x28(%rbp),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x20(%rbp),%xmm0
movsd  -0x20(%rbp),%xmm2
movsd  -0x28(%rbp),%xmm1
mulsd  -0x28(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x30(%rbp),%xmm1
movsd  -0x30(%rbp),%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  -0x38(%rbp),%xmm0
movsd  -0x38(%rbp),%xmm2
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0xd9b(%rip),%xmm1
mulsd  -0x20(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
addsd  %xmm0,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x28(%rbp),%xmm2
movsd  0xd6a(%rip),%xmm1
mulsd  -0x38(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
addsd  %xmm2,%xmm2
addsd  %xmm1,%xmm2
movsd  -0x20(%rbp),%xmm1
movsd  0xd39(%rip),%xmm3
mulsd  -0x30(%rbp),%xmm3
movq   %xmm3,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm3
addsd  %xmm1,%xmm1
addsd  %xmm3,%xmm1
movsd  -0x18(%rbp),%xmm3
movsd  0xd08(%rip),%xmm4
mulsd  -0x28(%rbp),%xmm4
movq   %xmm4,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm4
addsd  %xmm3,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x18(%rbp),%xmm0
movsd  0xcaf(%rip),%xmm1
mulsd  -0x28(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
addsd  %xmm0,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x68(%rbp),%xmm2
movsd  -0x60(%rbp),%xmm1
movsd  -0x28(%rbp),%xmm3
movsd  0xc74(%rip),%xmm4
mulsd  -0x38(%rbp),%xmm4
movq   %xmm4,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm4
addsd  %xmm3,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
divsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0x40(%rbp)
movsd  -0x20(%rbp),%xmm0
movsd  0xc16(%rip),%xmm1
mulsd  -0x30(%rbp),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
addsd  %xmm0,%xmm0
addsd  %xmm1,%xmm0
movsd  -0x60(%rbp),%xmm2
movsd  -0x68(%rbp),%xmm1
movsd  -0x10(%rbp),%xmm3
movsd  0xbdb(%rip),%xmm4
mulsd  -0x20(%rbp),%xmm4
movq   %xmm4,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm4
addsd  %xmm3,%xmm3
addsd  %xmm4,%xmm3
mulsd  %xmm3,%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
divsd  -0x70(%rbp),%xmm0
movsd  %xmm0,-0x48(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm2
movsd  -0x18(%rbp),%xmm1
mulsd  -0x18(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  0xb66(%rip),%xmm1
mulsd  -0x40(%rbp),%xmm1
movsd  -0x10(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0xb4c(%rip),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  -0x18(%rbp),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x50(%rbp)
movsd  -0x40(%rbp),%xmm0
movsd  -0x40(%rbp),%xmm2
movsd  -0x48(%rbp),%xmm1
mulsd  -0x48(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
subsd  -0x50(%rbp),%xmm0
call   1050 <sqrt@plt>
movsd  %xmm0,-0x58(%rbp)
movsd  0xae3(%rip),%xmm0
mulsd  -0x58(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x78(%rbp),%xmm0
lea    0xaf5(%rip),%rdi
call   1030 <printf@plt>
jmp    1142 <main+0x12>
xor    %eax,%eax
add    $0x80,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x38,%rsp
lea    0x8(%rsp),%rax
mov    %rax,(%rsp)
lea    0xeea(%rip),%rdi
lea    0x30(%rsp),%rsi
lea    0x28(%rsp),%rdx
lea    0x20(%rsp),%rcx
lea    0x18(%rsp),%r8
lea    0x10(%rsp),%r9
call   1040 <scanf@plt>
mov    0x2e75(%rip),%r15
cmp    (%r15),%rax
jne    1189 <main+0x59>
xor    %eax,%eax
add    $0x38,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
lea    0x30(%rsp),%r12
lea    0x28(%rsp),%r13
lea    0x20(%rsp),%rbx
lea    0x18(%rsp),%rbp
lea    0x10(%rsp),%r14
jmp    11f2 <main+0xc2>
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
call   1050 <sqrt@plt>
mulsd  0xe6b(%rip),%xmm0
lea    0xe8c(%rip),%rdi
call   1030 <printf@plt>
lea    0x8(%rsp),%rax
mov    %rax,(%rsp)
lea    0xe5f(%rip),%rdi
mov    %r12,%rsi
mov    %r13,%rdx
mov    %rbx,%rcx
mov    %rbp,%r8
mov    %r14,%r9
call   1040 <scanf@plt>
cmp    (%r15),%rax
je     1178 <main+0x48>
movsd  0x30(%rsp),%xmm9
movsd  0x28(%rsp),%xmm8
movapd %xmm8,%xmm0
mulsd  %xmm8,%xmm0
movapd %xmm9,%xmm10
mulsd  %xmm9,%xmm10
addsd  %xmm0,%xmm10
movsd  0x20(%rsp),%xmm6
movsd  0x18(%rsp),%xmm0
movapd %xmm0,%xmm11
movapd 0xdce(%rip),%xmm1
xorpd  %xmm1,%xmm11
movapd %xmm0,%xmm7
movsd  0x8(%rsp),%xmm12
movapd %xmm12,%xmm4
xorpd  %xmm1,%xmm4
unpcklpd %xmm0,%xmm4
unpcklpd %xmm6,%xmm11
movapd 0xdb4(%rip),%xmm2
movapd %xmm2,%xmm1
movsd  %xmm0,%xmm1
unpcklpd %xmm6,%xmm0
mulsd  %xmm6,%xmm6
movapd %xmm10,%xmm3
subsd  %xmm6,%xmm3
mulsd  %xmm7,%xmm7
addsd  %xmm6,%xmm7
movsd  0x10(%rsp),%xmm5
movapd %xmm5,%xmm6
mulsd  %xmm5,%xmm6
subsd  %xmm6,%xmm7
movapd %xmm2,%xmm6
movsd  %xmm12,%xmm6
movsd  0xd80(%rip),%xmm2
mulsd  %xmm2,%xmm12
unpcklpd %xmm12,%xmm7
mulpd  %xmm6,%xmm4
addpd  %xmm7,%xmm4
mulsd  %xmm2,%xmm5
unpcklpd %xmm5,%xmm3
mulpd  %xmm11,%xmm1
addpd  %xmm3,%xmm1
movapd %xmm8,%xmm2
unpcklpd %xmm9,%xmm2
addpd  %xmm0,%xmm0
addpd  %xmm2,%xmm2
subpd  %xmm0,%xmm2
movapd %xmm4,%xmm3
shufpd $0x1,%xmm2,%xmm3
mulpd  %xmm1,%xmm3
movapd %xmm2,%xmm0
mulpd  %xmm4,%xmm0
subpd  %xmm3,%xmm0
movapd %xmm0,%xmm3
unpckhpd %xmm0,%xmm3
divsd  %xmm3,%xmm0
unpckhpd %xmm2,%xmm2
mulsd  %xmm4,%xmm2
movapd %xmm1,%xmm4
unpckhpd %xmm1,%xmm4
mulsd  %xmm1,%xmm4
subsd  %xmm2,%xmm4
divsd  %xmm3,%xmm4
movapd %xmm0,%xmm1
addsd  %xmm0,%xmm1
mulsd  %xmm9,%xmm1
addsd  %xmm10,%xmm1
movapd %xmm4,%xmm2
addsd  %xmm4,%xmm2
mulsd  %xmm8,%xmm2
addsd  %xmm1,%xmm2
mulsd  %xmm4,%xmm4
mulsd  %xmm0,%xmm0
addsd  %xmm4,%xmm0
addsd  %xmm2,%xmm0
ucomisd 0xcdb(%rip),%xmm0
jb     11b0 <main+0x80>
sqrtsd %xmm0,%xmm0
jmp    11b5 <main+0x85>

LLVM IR (-O0):
@.str = [24 x i8] c"%lf %lf %lf %lf %lf %lf\00"
@EOF = global i64 0
@.str.1 = [7 x i8] c"%.2lf\0A\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca double
%3 = alloca double
%4 = alloca double
%5 = alloca double
%6 = alloca double
%7 = alloca double
%8 = alloca double
%9 = alloca double
%10 = alloca double
%11 = alloca double
%12 = alloca double
%13 = alloca double
%14 = alloca double
%15 = alloca double
store i32 0, i32* %1
br label %16
16: ; preds = %20, %0
%17 = call i64 @scanf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str, i64 0, i64 0), double* %2, double* %3, double* %4, double* %5, double* %6, double* %7)
%18 = load i64, i64* @EOF
%19 = icmp ne i64 %17, %18
br i1 %19, label %20, label %134
20: ; preds = %16
%21 = load double, double* %2
%22 = load double, double* %2
%23 = load double, double* %3
%24 = load double, double* %3
%25 = fmul double %23, %24
%26 = call double @llvm.fmuladd.f64(double %21, double %22, double %25)
%27 = load double, double* %4
%28 = load double, double* %4
%29 = fneg double %27
%30 = call double @llvm.fmuladd.f64(double %29, double %28, double %26)
%31 = load double, double* %5
%32 = load double, double* %5
%33 = fneg double %31
%34 = call double @llvm.fmuladd.f64(double %33, double %32, double %30)
store double %34, double* %12
%35 = load double, double* %4
%36 = load double, double* %4
%37 = load double, double* %5
%38 = load double, double* %5
%39 = fmul double %37, %38
%40 = call double @llvm.fmuladd.f64(double %35, double %36, double %39)
%41 = load double, double* %6
%42 = load double, double* %6
%43 = fneg double %41
%44 = call double @llvm.fmuladd.f64(double %43, double %42, double %40)
%45 = load double, double* %7
%46 = load double, double* %7
%47 = fneg double %45
%48 = call double @llvm.fmuladd.f64(double %47, double %46, double %44)
store double %48, double* %13
%49 = load double, double* %2
%50 = load double, double* %4
%51 = fmul double 2.000000e+00, %50
%52 = fneg double %51
%53 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %49, double %52)
%54 = load double, double* %5
%55 = load double, double* %7
%56 = fmul double 2.000000e+00, %55
%57 = fneg double %56
%58 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %54, double %57)
%59 = load double, double* %4
%60 = load double, double* %6
%61 = fmul double 2.000000e+00, %60
%62 = fneg double %61
%63 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %59, double %62)
%64 = load double, double* %3
%65 = load double, double* %5
%66 = fmul double 2.000000e+00, %65
%67 = fneg double %66
%68 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %64, double %67)
%69 = fmul double %63, %68
%70 = fneg double %69
%71 = call double @llvm.fmuladd.f64(double %53, double %58, double %70)
store double %71, double* %14
%72 = load double, double* %3
%73 = load double, double* %5
%74 = fmul double 2.000000e+00, %73
%75 = fneg double %74
%76 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %72, double %75)
%77 = load double, double* %13
%78 = load double, double* %12
%79 = load double, double* %5
%80 = load double, double* %7
%81 = fmul double 2.000000e+00, %80
%82 = fneg double %81
%83 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %79, double %82)
%84 = fmul double %78, %83
%85 = fneg double %84
%86 = call double @llvm.fmuladd.f64(double %76, double %77, double %85)
%87 = load double, double* %14
%88 = fdiv double %86, %87
store double %88, double* %8
%89 = load double, double* %4
%90 = load double, double* %6
%91 = fmul double 2.000000e+00, %90
%92 = fneg double %91
%93 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %89, double %92)
%94 = load double, double* %12
%95 = load double, double* %13
%96 = load double, double* %2
%97 = load double, double* %4
%98 = fmul double 2.000000e+00, %97
%99 = fneg double %98
%100 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %96, double %99)
%101 = fmul double %95, %100
%102 = fneg double %101
%103 = call double @llvm.fmuladd.f64(double %93, double %94, double %102)
%104 = load double, double* %14
%105 = fdiv double %103, %104
store double %105, double* %9
%106 = load double, double* %2
%107 = load double, double* %2
%108 = load double, double* %3
%109 = load double, double* %3
%110 = fmul double %108, %109
%111 = call double @llvm.fmuladd.f64(double %106, double %107, double %110)
%112 = load double, double* %8
%113 = fmul double 2.000000e+00, %112
%114 = load double, double* %2
%115 = call double @llvm.fmuladd.f64(double %113, double %114, double %111)
%116 = load double, double* %9
%117 = fmul double 2.000000e+00, %116
%118 = load double, double* %3
%119 = call double @llvm.fmuladd.f64(double %117, double %118, double %115)
%120 = fneg double %119
store double %120, double* %10
%121 = load double, double* %8
%122 = load double, double* %8
%123 = load double, double* %9
%124 = load double, double* %9
%125 = fmul double %123, %124
%126 = call double @llvm.fmuladd.f64(double %121, double %122, double %125)
%127 = load double, double* %10
%128 = fsub double %126, %127
%129 = call double @sqrt(double %128)
store double %129, double* %11
%130 = load double, double* %11
%131 = fmul double 0x401921FB54442D18, %130
store double %131, double* %15
%132 = load double, double* %15
%133 = call i32 @printf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1, i64 0, i64 0), double %132)
br label %16
134: ; preds = %16
ret i32 0
}

LLVM IR (-O2):
@.str = [24 x i8] c"%lf %lf %lf %lf %lf %lf\00"
@EOF = global i64 0
@.str.1 = [7 x i8] c"%.2lf\0A\00"
define i32 @main() {
%1 = alloca double
%2 = alloca double
%3 = alloca double
%4 = alloca double
%5 = alloca double
%6 = alloca double
%7 = bitcast double* %1 to i8*
%8 = bitcast double* %2 to i8*
%9 = bitcast double* %3 to i8*
%10 = bitcast double* %4 to i8*
%11 = bitcast double* %5 to i8*
%12 = bitcast double* %6 to i8*
%13 = call i64 @scanf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str, i64 0, i64 0), double* %1, double* %2, double* %3, double* %4, double* %5, double* %6)
%14 = load i64, i64* @EOF
%15 = icmp eq i64 %13, %14
br i1 %15, label %81, label %16
16: ; preds = %0, %16
%17 = load double, double* %1
%18 = load double, double* %2
%19 = fmul double %18, %18
%20 = call double @llvm.fmuladd.f64(double %17, double %17, double %19)
%21 = load double, double* %3
%22 = fneg double %21
%23 = call double @llvm.fmuladd.f64(double %22, double %21, double %20)
%24 = load double, double* %4
%25 = fneg double %24
%26 = fmul double %24, %24
%27 = call double @llvm.fmuladd.f64(double %21, double %21, double %26)
%28 = load double, double* %5
%29 = fneg double %28
%30 = call double @llvm.fmuladd.f64(double %29, double %28, double %27)
%31 = load double, double* %6
%32 = fneg double %31
%33 = fmul double %31, -2.000000e+00
%34 = insertelement <2 x double> poison, double %32, i64 0
%35 = insertelement <2 x double> %34, double %24, i64 1
%36 = insertelement <2 x double> <double poison, double 2.000000e+00>, double %31, i64 0
%37 = insertelement <2 x double> poison, double %30, i64 0
%38 = insertelement <2 x double> %37, double %33, i64 1
%39 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %35, <2 x double> %36, <2 x double> %38)
%40 = fmul double %28, -2.000000e+00
%41 = insertelement <2 x double> poison, double %25, i64 0
%42 = insertelement <2 x double> %41, double %21, i64 1
%43 = insertelement <2 x double> <double poison, double 2.000000e+00>, double %24, i64 0
%44 = insertelement <2 x double> poison, double %23, i64 0
%45 = insertelement <2 x double> %44, double %40, i64 1
%46 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %42, <2 x double> %43, <2 x double> %45)
%47 = insertelement <2 x double> poison, double %24, i64 0
%48 = insertelement <2 x double> %47, double %21, i64 1
%49 = fmul <2 x double> %48, <double -2.000000e+00, double -2.000000e+00>
%50 = insertelement <2 x double> poison, double %18, i64 0
%51 = insertelement <2 x double> %50, double %17, i64 1
%52 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %51, <2 x double> <double 2.000000e+00, double 2.000000e+00>, <2 x double> %49)
%53 = fneg <2 x double> %46
%54 = shufflevector <2 x double> %39, <2 x double> %52, <2 x i32> <i32 1, i32 2>
%55 = fmul <2 x double> %54, %53
%56 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %52, <2 x double> %39, <2 x double> %55)
%57 = extractelement <2 x double> %56, i64 0
%58 = extractelement <2 x double> %56, i64 1
%59 = fdiv double %57, %58
%60 = extractelement <2 x double> %39, i64 0
%61 = fneg double %60
%62 = extractelement <2 x double> %52, i64 1
%63 = fmul double %62, %61
%64 = extractelement <2 x double> %46, i64 0
%65 = extractelement <2 x double> %46, i64 1
%66 = call double @llvm.fmuladd.f64(double %65, double %64, double %63)
%67 = fdiv double %66, %58
%68 = fmul double %59, 2.000000e+00
%69 = call double @llvm.fmuladd.f64(double %68, double %17, double %20)
%70 = fmul double %67, 2.000000e+00
%71 = call double @llvm.fmuladd.f64(double %70, double %18, double %69)
%72 = fmul double %67, %67
%73 = call double @llvm.fmuladd.f64(double %59, double %59, double %72)
%74 = fadd double %73, %71
%75 = call double @sqrt(double %74)
%76 = fmul double %75, 0x401921FB54442D18
%77 = call i32 @printf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1, i64 0, i64 0), double %76)
%78 = call i64 @scanf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str, i64 0, i64 0), double* %1, double* %2, double* %3, double* %4, double* %5, double* %6)
%79 = load i64, i64* @EOF
%80 = icmp eq i64 %78, %79
br i1 %80, label %81, label %16
81: ; preds = %16, %0
ret i32 0
}