#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*/ freopen(char *, char *, int /*<<< orphan*/);
int /*<<< orphan*/ printf(char *, ...);
scalar_t__ scanf(char *, double *, double *, double *, double *, double *,
                 double *);
double sqrt(double);
int /*<<< orphan*/ stdin;
int /*<<< orphan*/ stdout;
int main() {
  freopen("In.txt", "r", stdin);
  freopen("out.txt", "w", stdout);
  double a1, a2, b1, b2, c1, c2, g, f, c, h, k, r, G, F, con1, con2, all;
  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);
    h = -g;
    k = -f;
    if (c == -0.0)
      c = 0;
    else if (g == -0.0)
      g = 0;
    else if (f == -0.0)
      f = 0;
    else if (r == -0.0)
      r = 0;
    G = 2 * g;
    F = 2 * f;
    printf("(x ");
    if (h >= 0)
      printf("- %.3lf)^2 + (y ", -g);
    else if (h < 0)
      printf("+ %.3lf)^2 + (y ", g);
    if (k >= 0)
      printf("- %.3lf)^2 = ", -f);
    else if (k < 0)
      printf("+ %.3lf)^2 = ", f);
    printf("%.3lf^2\n", r);
    printf("x^2 + y^2 ");
    if (G >= 0)
      printf("+ %.3lfx ", G);
    else
      printf("- %.3lfx ", -G);
    if (F >= 0)
      printf("+ %.3lfy ", F);
    else
      printf("- %.3lfy ", -F);
    if (c >= 0)
      printf("+ %.3lf ", c);
    else
      printf("- %.3lf ", -c);
    printf("= 0\n\n");
  }
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0xa0,%rsp
movl   $0x0,-0x4(%rbp)
mov    0x2e8f(%rip),%rax
mov    (%rax),%edx
lea    0xeae(%rip),%rdi
lea    0xeae(%rip),%rsi
call   1040 <freopen@plt>
mov    0x2e5b(%rip),%rax
mov    (%rax),%edx
lea    0xe9b(%rip),%rdi
lea    0xe9c(%rip),%rsi
call   1040 <freopen@plt>
lea    0xe92(%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   1050 <scanf@plt>
mov    0x2e27(%rip),%rcx
cmp    (%rcx),%rax
je     1893 <main+0x753>
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,-0x80(%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,-0x88(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
movsd  0xd50(%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  0xd1f(%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  0xcee(%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  0xcbd(%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,-0x90(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
movsd  0xc61(%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  -0x88(%rbp),%xmm2
ff
movsd  -0x80(%rbp),%xmm1
movsd  -0x28(%rbp),%xmm3
movsd  0xc23(%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  -0x90(%rbp),%xmm0
ff
movsd  %xmm0,-0x40(%rbp)
movsd  -0x20(%rbp),%xmm0
movsd  0xbc2(%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  -0x80(%rbp),%xmm2
movsd  -0x88(%rbp),%xmm1
ff
movsd  -0x10(%rbp),%xmm3
movsd  0xb84(%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  -0x90(%rbp),%xmm0
ff
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  0xb0c(%rip),%xmm1
mulsd  -0x40(%rbp),%xmm1
movsd  -0x10(%rbp),%xmm2
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movsd  0xaf2(%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   1060 <sqrt@plt>
movsd  %xmm0,-0x68(%rbp)
movsd  -0x40(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x58(%rbp)
movsd  -0x48(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  %xmm0,-0x60(%rbp)
movsd  -0x50(%rbp),%xmm0
movsd  0xa42(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    15db <main+0x49b>
jp     15db <main+0x49b>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x50(%rbp)
jmp    1663 <main+0x523>
movsd  -0x40(%rbp),%xmm0
movsd  0xa18(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1605 <main+0x4c5>
jp     1605 <main+0x4c5>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x40(%rbp)
jmp    165e <main+0x51e>
movsd  -0x48(%rbp),%xmm0
movsd  0x9ee(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    162f <main+0x4ef>
jp     162f <main+0x4ef>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x48(%rbp)
jmp    1659 <main+0x519>
movsd  -0x68(%rbp),%xmm0
movsd  0x9c4(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1654 <main+0x514>
jp     1654 <main+0x514>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x68(%rbp)
jmp    1659 <main+0x519>
jmp    165e <main+0x51e>
jmp    1663 <main+0x523>
movsd  0x99d(%rip),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  0x98b(%rip),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x78(%rbp)
lea    0x9ad(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movsd  -0x58(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jb     16d6 <main+0x596>
movsd  -0x40(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
lea    0x975(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
jmp    16fc <main+0x5bc>
xorps  %xmm0,%xmm0
ucomisd -0x58(%rbp),%xmm0
jbe    16f7 <main+0x5b7>
movsd  -0x40(%rbp),%xmm0
lea    0x960(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
jmp    16fc <main+0x5bc>
movsd  -0x60(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jb     173d <main+0x5fd>
movsd  -0x48(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
lea    0x930(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
jmp    1763 <main+0x623>
xorps  %xmm0,%xmm0
ucomisd -0x60(%rbp),%xmm0
jbe    175e <main+0x61e>
movsd  -0x48(%rbp),%xmm0
lea    0x918(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
jmp    1763 <main+0x623>
movsd  -0x68(%rbp),%xmm0
lea    0x90e(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
lea    0x909(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movsd  -0x70(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jb     17ae <main+0x66e>
movsd  -0x70(%rbp),%xmm0
lea    0x8ef(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
jmp    17d8 <main+0x698>
movsd  -0x70(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
lea    0x8ca(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movsd  -0x78(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jb     1802 <main+0x6c2>
movsd  -0x78(%rbp),%xmm0
lea    0x8af(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
jmp    182c <main+0x6ec>
movsd  -0x78(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
lea    0x88a(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
movsd  -0x50(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jb     1856 <main+0x716>
movsd  -0x50(%rbp),%xmm0
lea    0x86f(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
jmp    1880 <main+0x740>
movsd  -0x50(%rbp),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
lea    0x849(%rip),%rdi
mov    $0x1,%al
call   1030 <printf@plt>
lea    0x844(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    118a <main+0x4a>
xor    %eax,%eax
add    $0xa0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x98,%rsp
mov    0x2e80(%rip),%rax
mov    (%rax),%edx
lea    0xeb7(%rip),%rdi
lea    0xeb7(%rip),%rsi
call   1050 <freopen@plt>
mov    0x2e4c(%rip),%rax
mov    (%rax),%edx
lea    0xea4(%rip),%rdi
lea    0xea5(%rip),%rsi
call   1050 <freopen@plt>
lea    0x40(%rsp),%rax
mov    %rax,(%rsp)
lea    0xe92(%rip),%rdi
lea    0x68(%rsp),%rsi
lea    0x60(%rsp),%rdx
lea    0x58(%rsp),%rcx
lea    0x50(%rsp),%r8
lea    0x48(%rsp),%r9
call   1060 <scanf@plt>
mov    0x2e12(%rip),%r14
cmp    (%r14),%rax
jne    11e7 <main+0x97>
xor    %eax,%eax
add    $0x98,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
lea    0x68(%rsp),%r15
lea    0x60(%rsp),%r12
lea    0x58(%rsp),%r13
lea    0x50(%rsp),%rbx
lea    0x48(%rsp),%rbp
jmp    125f <main+0x10f>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
xorpd  0xde8(%rip),%xmm0
lea    0xebb(%rip),%rdi
mov    $0x1,%al
call   1040 <printf@plt>
lea    0xeb6(%rip),%rdi
call   1030 <puts@plt>
lea    0x40(%rsp),%rax
mov    %rax,(%rsp)
lea    0xdf9(%rip),%rdi
mov    %r15,%rsi
mov    %r12,%rdx
mov    %r13,%rcx
mov    %rbx,%r8
mov    %rbp,%r9
call   1060 <scanf@plt>
cmp    (%r14),%rax
je     11d3 <main+0x83>
movsd  0x68(%rsp),%xmm9
movsd  0x60(%rsp),%xmm8
movsd  0x50(%rsp),%xmm2
movapd %xmm2,%xmm3
unpcklpd %xmm8,%xmm3
mulpd  %xmm3,%xmm3
movsd  0x58(%rsp),%xmm4
movsd  0x48(%rsp),%xmm6
movsd  0x40(%rsp),%xmm7
movapd %xmm7,%xmm0
unpcklpd %xmm2,%xmm0
movapd %xmm2,%xmm5
unpcklpd %xmm6,%xmm2
unpcklpd %xmm4,%xmm6
unpcklpd %xmm4,%xmm7
movapd %xmm8,%xmm1
unpcklpd %xmm4,%xmm1
unpcklpd %xmm9,%xmm4
mulpd  %xmm4,%xmm4
addpd  %xmm3,%xmm4
mulpd  %xmm6,%xmm6
movapd %xmm4,%xmm3
subpd  %xmm6,%xmm3
mulpd  %xmm0,%xmm0
subpd  %xmm0,%xmm3
unpcklpd %xmm9,%xmm5
addpd  %xmm7,%xmm7
addpd  %xmm5,%xmm5
subpd  %xmm7,%xmm5
addpd  %xmm2,%xmm2
addpd  %xmm1,%xmm1
subpd  %xmm2,%xmm1
movapd %xmm1,%xmm0
unpckhpd %xmm1,%xmm0
mulsd  %xmm1,%xmm0
movapd %xmm5,%xmm2
unpckhpd %xmm5,%xmm2
mulsd  %xmm5,%xmm2
subsd  %xmm0,%xmm2
mulpd  %xmm3,%xmm1
shufpd $0x1,%xmm3,%xmm3
mulpd  %xmm5,%xmm3
subpd  %xmm3,%xmm1
unpcklpd %xmm2,%xmm2
divpd  %xmm2,%xmm1
movapd %xmm1,%xmm0
addsd  %xmm1,%xmm0
unpckhpd %xmm4,%xmm4
mulsd  %xmm9,%xmm0
addsd  %xmm4,%xmm0
movapd %xmm1,%xmm2
unpckhpd %xmm1,%xmm2
movapd %xmm2,%xmm3
addsd  %xmm2,%xmm3
mulsd  %xmm8,%xmm3
addsd  %xmm0,%xmm3
movapd %xmm2,0x80(%rsp)
mulsd  %xmm2,%xmm2
movapd %xmm1,%xmm0
mulsd  %xmm1,%xmm0
addsd  %xmm2,%xmm0
addsd  %xmm3,%xmm0
ucomisd 0xca7(%rip),%xmm0
movapd %xmm1,0x20(%rsp)
jb     1390 <main+0x240>
sqrtsd %xmm0,%xmm0
jmp    13a7 <main+0x257>
nopw   0x0(%rax,%rax,1)
movapd %xmm3,0x10(%rsp)
call   1070 <sqrt@plt>
movapd 0x10(%rsp),%xmm3
movapd 0x20(%rsp),%xmm1
xorpd  %xmm2,%xmm2
ucomisd %xmm2,%xmm3
movsd  %xmm0,0x38(%rsp)
jne    13d0 <main+0x280>
jp     13d0 <main+0x280>
xorpd  %xmm0,%xmm0
movapd %xmm0,0x70(%rsp)
movaps %xmm1,0x10(%rsp)
jmp    141f <main+0x2cf>
nopw   0x0(%rax,%rax,1)
xorpd  0xc28(%rip),%xmm3
movapd %xmm3,%xmm2
xorpd  %xmm3,%xmm3
ucomisd %xmm3,%xmm1
movapd %xmm2,0x70(%rsp)
jne    13fc <main+0x2ac>
jp     13fc <main+0x2ac>
movapd %xmm1,%xmm0
movlpd 0xc16(%rip),%xmm0
jmp    1419 <main+0x2c9>
movapd 0x80(%rsp),%xmm4
ucomisd %xmm3,%xmm4
jne    159e <main+0x44e>
jp     159e <main+0x44e>
movq   %xmm1,%xmm0
movdqa %xmm0,0x10(%rsp)
lea    0xc2d(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
xorpd  %xmm2,%xmm2
movapd 0x20(%rsp),%xmm1
ucomisd %xmm1,%xmm2
jae    1460 <main+0x310>
ucomisd %xmm2,%xmm1
movapd 0x10(%rsp),%xmm0
jbe    1486 <main+0x336>
lea    0xc18(%rip),%rdi
jmp    1475 <main+0x325>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
movapd 0x10(%rsp),%xmm0
xorpd  0xb92(%rip),%xmm0
lea    0xbe2(%rip),%rdi
mov    $0x1,%al
call   1040 <printf@plt>
movapd 0x10(%rsp),%xmm0
xorpd  %xmm2,%xmm2
movapd %xmm0,%xmm3
unpckhpd %xmm0,%xmm3
movapd 0x80(%rsp),%xmm1
ucomisd %xmm1,%xmm2
movapd %xmm3,0x20(%rsp)
jae    14c0 <main+0x370>
ucomisd %xmm2,%xmm1
jbe    14e0 <main+0x390>
lea    0xbd7(%rip),%rdi
movapd 0x20(%rsp),%xmm0
jmp    14d3 <main+0x383>
nopl   0x0(%rax,%rax,1)
movapd %xmm3,%xmm0
xorpd  0xb34(%rip),%xmm0
lea    0xba6(%rip),%rdi
mov    $0x1,%al
call   1040 <printf@plt>
movapd 0x10(%rsp),%xmm0
addsd  %xmm0,%xmm0
movapd %xmm0,0x10(%rsp)
lea    0xba4(%rip),%rdi
movsd  0x38(%rsp),%xmm0
mov    $0x1,%al
call   1040 <printf@plt>
lea    0xb99(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
movapd 0x10(%rsp),%xmm0
ucomisd 0xb06(%rip),%xmm0
jae    1530 <main+0x3e0>
xorpd  0xadc(%rip),%xmm0
lea    0xb88(%rip),%rdi
jmp    1537 <main+0x3e7>
nopl   (%rax)
lea    0xb72(%rip),%rdi
mov    $0x1,%al
call   1040 <printf@plt>
movapd 0x20(%rsp),%xmm0
addsd  %xmm0,%xmm0
ucomisd 0xad0(%rip),%xmm0
jae    1570 <main+0x420>
xorpd  0xaa6(%rip),%xmm0
lea    0xb66(%rip),%rdi
jmp    1577 <main+0x427>
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
lea    0xb46(%rip),%rdi
mov    $0x1,%al
call   1040 <printf@plt>
movapd 0x70(%rsp),%xmm0
ucomisd 0xa94(%rip),%xmm0
jb     1210 <main+0xc0>
lea    0xb38(%rip),%rdi
jmp    121f <main+0xcf>
ucomisd %xmm3,%xmm0
jne    13c3 <main+0x273>
jp     13c3 <main+0x273>
xorpd  %xmm0,%xmm0
movsd  %xmm0,0x38(%rsp)
jmp    13c3 <main+0x273>

LLVM IR (-O0):
@.str = [7 x i8] c"In.txt\00"
@.str.1 = [2 x i8] c"r\00"
@stdin = global i32 0
@.str.2 = [8 x i8] c"out.txt\00"
@.str.3 = [2 x i8] c"w\00"
@stdout = global i32 0
@.str.4 = [24 x i8] c"%lf %lf %lf %lf %lf %lf\00"
@EOF = global i64 0
@.str.5 = [4 x i8] c"(x \00"
@.str.6 = [17 x i8] c"- %.3lf)^2 + (y \00"
@.str.7 = [17 x i8] c"+ %.3lf)^2 + (y \00"
@.str.8 = [14 x i8] c"- %.3lf)^2 = \00"
@.str.9 = [14 x i8] c"+ %.3lf)^2 = \00"
@.str.10 = [9 x i8] c"%.3lf^2\0A\00"
@.str.11 = [11 x i8] c"x^2 + y^2 \00"
@.str.12 = [10 x i8] c"+ %.3lfx \00"
@.str.13 = [10 x i8] c"- %.3lfx \00"
@.str.14 = [10 x i8] c"+ %.3lfy \00"
@.str.15 = [10 x i8] c"- %.3lfy \00"
@.str.16 = [9 x i8] c"+ %.3lf \00"
@.str.17 = [9 x i8] c"- %.3lf \00"
@.str.18 = [6 x i8] c"= 0\0A\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
%16 = alloca double
%17 = alloca double
%18 = alloca double
store i32 0, i32* %1
%19 = load i32, i32* @stdin
%20 = call i32 @freopen(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0), i32 %19)
%21 = load i32, i32* @stdout
%22 = call i32 @freopen(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0), i32 %21)
br label %23
23: ; preds = %225, %0
%24 = call i64 @scanf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.4, i64 0, i64 0), double* %2, double* %3, double* %4, double* %5, double* %6, double* %7)
%25 = load i64, i64* @EOF
%26 = icmp ne i64 %24, %25
br i1 %26, label %27, label %227
27: ; preds = %23
%28 = load double, double* %2
%29 = load double, double* %2
%30 = load double, double* %3
%31 = load double, double* %3
%32 = fmul double %30, %31
%33 = call double @llvm.fmuladd.f64(double %28, double %29, double %32)
%34 = load double, double* %4
%35 = load double, double* %4
%36 = fneg double %34
%37 = call double @llvm.fmuladd.f64(double %36, double %35, double %33)
%38 = load double, double* %5
%39 = load double, double* %5
%40 = fneg double %38
%41 = call double @llvm.fmuladd.f64(double %40, double %39, double %37)
store double %41, double* %16
%42 = load double, double* %4
%43 = load double, double* %4
%44 = load double, double* %5
%45 = load double, double* %5
%46 = fmul double %44, %45
%47 = call double @llvm.fmuladd.f64(double %42, double %43, double %46)
%48 = load double, double* %6
%49 = load double, double* %6
%50 = fneg double %48
%51 = call double @llvm.fmuladd.f64(double %50, double %49, double %47)
%52 = load double, double* %7
%53 = load double, double* %7
%54 = fneg double %52
%55 = call double @llvm.fmuladd.f64(double %54, double %53, double %51)
store double %55, double* %17
%56 = load double, double* %2
%57 = load double, double* %4
%58 = fmul double 2.000000e+00, %57
%59 = fneg double %58
%60 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %56, double %59)
%61 = load double, double* %5
%62 = load double, double* %7
%63 = fmul double 2.000000e+00, %62
%64 = fneg double %63
%65 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %61, double %64)
%66 = load double, double* %4
%67 = load double, double* %6
%68 = fmul double 2.000000e+00, %67
%69 = fneg double %68
%70 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %66, double %69)
%71 = load double, double* %3
%72 = load double, double* %5
%73 = fmul double 2.000000e+00, %72
%74 = fneg double %73
%75 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %71, double %74)
%76 = fmul double %70, %75
%77 = fneg double %76
%78 = call double @llvm.fmuladd.f64(double %60, double %65, double %77)
store double %78, double* %18
%79 = load double, double* %3
%80 = load double, double* %5
%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 = load double, double* %17
%85 = load double, double* %16
%86 = load double, double* %5
%87 = load double, double* %7
%88 = fmul double 2.000000e+00, %87
%89 = fneg double %88
%90 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %86, double %89)
%91 = fmul double %85, %90
%92 = fneg double %91
%93 = call double @llvm.fmuladd.f64(double %83, double %84, double %92)
%94 = load double, double* %18
%95 = fdiv double %93, %94
store double %95, double* %8
%96 = load double, double* %4
%97 = load double, double* %6
%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 = load double, double* %16
%102 = load double, double* %17
%103 = load double, double* %2
%104 = load double, double* %4
%105 = fmul double 2.000000e+00, %104
%106 = fneg double %105
%107 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %103, double %106)
%108 = fmul double %102, %107
%109 = fneg double %108
%110 = call double @llvm.fmuladd.f64(double %100, double %101, double %109)
%111 = load double, double* %18
%112 = fdiv double %110, %111
store double %112, double* %9
%113 = load double, double* %2
%114 = load double, double* %2
%115 = load double, double* %3
%116 = load double, double* %3
%117 = fmul double %115, %116
%118 = call double @llvm.fmuladd.f64(double %113, double %114, double %117)
%119 = load double, double* %8
%120 = fmul double 2.000000e+00, %119
%121 = load double, double* %2
%122 = call double @llvm.fmuladd.f64(double %120, double %121, double %118)
%123 = load double, double* %9
%124 = fmul double 2.000000e+00, %123
%125 = load double, double* %3
%126 = call double @llvm.fmuladd.f64(double %124, double %125, double %122)
%127 = fneg double %126
store double %127, double* %10
%128 = load double, double* %8
%129 = load double, double* %8
%130 = load double, double* %9
%131 = load double, double* %9
%132 = fmul double %130, %131
%133 = call double @llvm.fmuladd.f64(double %128, double %129, double %132)
%134 = load double, double* %10
%135 = fsub double %133, %134
%136 = call double @sqrt(double %135)
store double %136, double* %13
%137 = load double, double* %8
%138 = fneg double %137
store double %138, double* %11
%139 = load double, double* %9
%140 = fneg double %139
store double %140, double* %12
%141 = load double, double* %10
%142 = fcmp oeq double %141, -0.000000e+00
br i1 %142, label %143, label %144
143: ; preds = %27
store double 0.000000e+00, double* %10
br label %159
144: ; preds = %27
%145 = load double, double* %8
%146 = fcmp oeq double %145, -0.000000e+00
br i1 %146, label %147, label %148
147: ; preds = %144
store double 0.000000e+00, double* %8
br label %158
148: ; preds = %144
%149 = load double, double* %9
%150 = fcmp oeq double %149, -0.000000e+00
br i1 %150, label %151, label %152
151: ; preds = %148
store double 0.000000e+00, double* %9
br label %157
152: ; preds = %148
%153 = load double, double* %13
%154 = fcmp oeq double %153, -0.000000e+00
br i1 %154, label %155, label %156
155: ; preds = %152
store double 0.000000e+00, double* %13
br label %156
156: ; preds = %155, %152
br label %157
157: ; preds = %156, %151
br label %158
158: ; preds = %157, %147
br label %159
159: ; preds = %158, %143
%160 = load double, double* %8
%161 = fmul double 2.000000e+00, %160
store double %161, double* %14
%162 = load double, double* %9
%163 = fmul double 2.000000e+00, %162
store double %163, double* %15
%164 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.5, i64 0, i64 0))
%165 = load double, double* %11
%166 = fcmp oge double %165, 0.000000e+00
br i1 %166, label %167, label %171
167: ; preds = %159
%168 = load double, double* %8
%169 = fneg double %168
%170 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.6, i64 0, i64 0), double %169)
br label %178
171: ; preds = %159
%172 = load double, double* %11
%173 = fcmp olt double %172, 0.000000e+00
br i1 %173, label %174, label %177
174: ; preds = %171
%175 = load double, double* %8
%176 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.7, i64 0, i64 0), double %175)
br label %177
177: ; preds = %174, %171
br label %178
178: ; preds = %177, %167
%179 = load double, double* %12
%180 = fcmp oge double %179, 0.000000e+00
br i1 %180, label %181, label %185
181: ; preds = %178
%182 = load double, double* %9
%183 = fneg double %182
%184 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.8, i64 0, i64 0), double %183)
br label %192
185: ; preds = %178
%186 = load double, double* %12
%187 = fcmp olt double %186, 0.000000e+00
br i1 %187, label %188, label %191
188: ; preds = %185
%189 = load double, double* %9
%190 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.9, i64 0, i64 0), double %189)
br label %191
191: ; preds = %188, %185
br label %192
192: ; preds = %191, %181
%193 = load double, double* %13
%194 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.10, i64 0, i64 0), double %193)
%195 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.11, i64 0, i64 0))
%196 = load double, double* %14
%197 = fcmp oge double %196, 0.000000e+00
br i1 %197, label %198, label %201
198: ; preds = %192
%199 = load double, double* %14
%200 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.12, i64 0, i64 0), double %199)
br label %205
201: ; preds = %192
%202 = load double, double* %14
%203 = fneg double %202
%204 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.13, i64 0, i64 0), double %203)
br label %205
205: ; preds = %201, %198
%206 = load double, double* %15
%207 = fcmp oge double %206, 0.000000e+00
br i1 %207, label %208, label %211
208: ; preds = %205
%209 = load double, double* %15
%210 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.14, i64 0, i64 0), double %209)
br label %215
211: ; preds = %205
%212 = load double, double* %15
%213 = fneg double %212
%214 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.15, i64 0, i64 0), double %213)
br label %215
215: ; preds = %211, %208
%216 = load double, double* %10
%217 = fcmp oge double %216, 0.000000e+00
br i1 %217, label %218, label %221
218: ; preds = %215
%219 = load double, double* %10
%220 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.16, i64 0, i64 0), double %219)
br label %225
221: ; preds = %215
%222 = load double, double* %10
%223 = fneg double %222
%224 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.17, i64 0, i64 0), double %223)
br label %225
225: ; preds = %221, %218
%226 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.18, i64 0, i64 0))
br label %23
227: ; preds = %23
ret i32 0
}

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