main() {
  int i, n;
  float h, a, b, y[10], x[10], t;
  float val1, val2, val3, val4, val5, val6, val7, val8, val9;
  clrscr();
  printf("Please input equations's limits and sections.\n");
  scanf("%f,%f,%d", &a, &b, &n);
  h = (b - a) / n;
  printf("--------------------------------------");
  printf("---------------------------------------\n");
  printf("\ty ' = -ty + 4t/y \t%1.0f<=t<=%1.0f \ty (0) =1\th = %4.2f\n", a, b,
         h);
  printf("--------------------------------------");
  printf("---------------------------------------\n");
  printf(" ti   Taylor method of order 2 Taylor method of order 4 \terror\n");
  y[0] = 1;
  x[0] = 1;
  for (i = 0; i <= n; i++) {
    t = i * h;
    val1 = -y[i] * t + 4 * t / y[i] - 0.5 * y[i] * h + 0.5 * t * t * y[i] * h;
    val2 = 2 * h / y[i] - 8 * t * t * h / (pow(y[i], 3));
    val3 = 0.5 * t * y[i] * h * h + 2 * t * t * t * h * h / (y[i] * 3) -
           8 * t * h * h / (pow(y[i], 3));
    val4 = -8 * t * t * t * h * h / (pow(y[i], 3)) +
           32 * t * t * t * h * h / (pow(y[i], 5));
    val5 = -t * t * t * y[i] * h * h / 6 + y[i] * pow(h, 3) / 8 -
           t * t * y[i] * pow(h, 3) / 4;
    val6 = t * t * pow(h, 3) / y[i] + pow(t, 4) * y[i] * pow(h, 3) / 24;
    val7 = -2 * pow(h, 3) / (pow(y[i], 3)) -
           12 * t * t * pow(h, 3) / (pow(y[i], 3));
    val8 = 48 * t * t * pow(h, 3) / (pow(y[i], 5)) +
           64 * pow(t, 4) * pow(h, 3) / (pow(y[i], 5));
    val9 = -160 * pow(t, 4) * pow(h, 3) / (pow(y[i], 7)) -
           20 * pow(h, 3) * pow(t, 4) / (pow(y[i], 3) * 3);
    y[i + 1] =
        (val1 + val2 + val3 + val4 + val5 + val6 + val7 + val8 + val9) * h +
        y[i];
  }
  for (i = 0; i <= n; i++) {
    t = i * h;
    val1 = -x[i] * t + 4 * t / x[i] - 0.5 * x[i] * h + 0.5 * t * t * x[i] * h;
    val2 = 2 * h / x[i] - 8 * t * t * h / (pow(x[i], 3));
    x[i + 1] = (val1 + val2) * h + x[i];
    printf("%3.2f\t%20.18f\t %20.18f\t%20.18f\n", i * h, x[i], y[i],
           fabs((x[i] - y[i])));
  }
  getch();
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x190,%rsp
movl   $0x0,-0x4(%rbp)
mov    $0x0,%al
call   1030 <clrscr@plt>
lea    0xf28(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0xf49(%rip),%rdi
lea    -0x14(%rbp),%rsi
lea    -0x18(%rbp),%rdx
lea    -0xc(%rbp),%rcx
mov    $0x0,%al
call   1050 <scanf@plt>
movss  -0x18(%rbp),%xmm0
subss  -0x14(%rbp),%xmm0
cvtsi2ssl -0xc(%rbp),%xmm1
divss  %xmm1,%xmm0
movss  %xmm0,-0x10(%rbp)
lea    0xf20(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0xf39(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
movss  -0x14(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  -0x18(%rbp),%xmm1
cvtss2sd %xmm1,%xmm1
movss  -0x10(%rbp),%xmm2
cvtss2sd %xmm2,%xmm2
lea    0xf39(%rip),%rdi
mov    $0x3,%al
call   1040 <printf@plt>
lea    0xedb(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0xef4(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
lea    0xf47(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
movss  0xde0(%rip),%xmm0
movss  %xmm0,-0x40(%rbp)
movss  0xdd3(%rip),%xmm0
movss  %xmm0,-0x70(%rbp)
movl   $0x0,-0x8(%rbp)
mov    -0x8(%rbp),%eax
cmp    -0xc(%rbp),%eax
jg     1ae5 <main+0x995>
cvtsi2ssl -0x8(%rbp),%xmm0
mulss  -0x10(%rbp),%xmm0
movss  %xmm0,-0x74(%rbp)
movslq -0x8(%rbp),%rax
movss  -0x40(%rbp,%rax,4),%xmm0
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
movss  -0x74(%rbp),%xmm2
movss  0xd94(%rip),%xmm1
mulss  -0x74(%rbp),%xmm1
movslq -0x8(%rbp),%rax
divss  -0x40(%rbp,%rax,4),%xmm1
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
cvtss2sd %xmm0,%xmm0
movslq -0x8(%rbp),%rax
movss  -0x40(%rbp,%rax,4),%xmm1
cvtss2sd %xmm1,%xmm2
movsd  0xd9f(%rip),%xmm1
mulsd  %xmm2,%xmm1
movss  -0x10(%rbp),%xmm2
cvtss2sd %xmm2,%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movss  -0x74(%rbp),%xmm0
cvtss2sd %xmm0,%xmm2
movsd  0xd62(%rip),%xmm0
mulsd  %xmm2,%xmm0
movss  -0x74(%rbp),%xmm2
cvtss2sd %xmm2,%xmm2
mulsd  %xmm2,%xmm0
movslq -0x8(%rbp),%rax
movss  -0x40(%rbp,%rax,4),%xmm2
cvtss2sd %xmm2,%xmm2
mulsd  %xmm2,%xmm0
movss  -0x10(%rbp),%xmm2
cvtss2sd %xmm2,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x78(%rbp)
movss  0xcdd(%rip),%xmm0
mulss  -0x10(%rbp),%xmm0
movslq -0x8(%rbp),%rax
divss  -0x40(%rbp,%rax,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
movss  0xcb6(%rip),%xmm0
mulss  -0x74(%rbp),%xmm0
mulss  -0x74(%rbp),%xmm0
mulss  -0x10(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movslq -0x8(%rbp),%rax
movss  -0x40(%rbp,%rax,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xcc1(%rip),%xmm1
call   1070 <pow@plt>
movsd  -0x178(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x170(%rbp),%xmm0
ff
divsd  %xmm2,%xmm1
subsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x7c(%rbp)
movss  -0x74(%rbp),%xmm0
cvtss2sd %xmm0,%xmm1
movsd  0xc8f(%rip),%xmm0
mulsd  %xmm1,%xmm0
movslq -0x8(%rbp),%rax
movss  -0x40(%rbp,%rax,4),%xmm1
cvtss2sd %xmm1,%xmm1
mulsd  %xmm1,%xmm0
movss  -0x10(%rbp),%xmm1
cvtss2sd %xmm1,%xmm1
mulsd  %xmm1,%xmm0
movss  -0x10(%rbp),%xmm1
cvtss2sd %xmm1,%xmm2
movss  0xc1b(%rip),%xmm1
mulss  -0x74(%rbp),%xmm1
mulss  -0x74(%rbp),%xmm1
mulss  -0x74(%rbp),%xmm1
mulss  -0x10(%rbp),%xmm1
mulss  -0x10(%rbp),%xmm1
movslq -0x8(%rbp),%rax
movss  0xc12(%rip),%xmm3
mulss  -0x40(%rbp,%rax,4),%xmm3
divss  %xmm3,%xmm1
cvtss2sd %xmm1,%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x160(%rbp)
ff
movss  0xbcc(%rip),%xmm0
mulss  -0x74(%rbp),%xmm0
mulss  -0x10(%rbp),%xmm0
mulss  -0x10(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
movslq -0x8(%rbp),%rax
movss  -0x40(%rbp,%rax,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xbd7(%rip),%xmm1
call   1070 <pow@plt>
movsd  -0x168(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x160(%rbp),%xmm0
ff
divsd  %xmm2,%xmm1
subsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x80(%rbp)
movss  0xb86(%rip),%xmm0
mulss  -0x74(%rbp),%xmm0
mulss  -0x74(%rbp),%xmm0
mulss  -0x74(%rbp),%xmm0
mulss  -0x10(%rbp),%xmm0
mulss  -0x10(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x158(%rbp)
ff
movslq -0x8(%rbp),%rax
movss  -0x40(%rbp,%rax,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xb6b(%rip),%xmm1
call   1070 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x158(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x148(%rbp)
ff
movss  0xb23(%rip),%xmm0
mulss  -0x74(%rbp),%xmm0
mulss  -0x74(%rbp),%xmm0
mulss  -0x74(%rbp),%xmm0
mulss  -0x10(%rbp),%xmm0
mulss  -0x10(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x150(%rbp)
ff
movslq -0x8(%rbp),%rax
movss  -0x40(%rbp,%rax,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xb3c(%rip),%xmm1
call   1070 <pow@plt>
movsd  -0x150(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x148(%rbp),%xmm0
ff
divsd  %xmm2,%xmm1
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x84(%rbp)
ff
movss  -0x74(%rbp),%xmm0
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
mulss  -0x74(%rbp),%xmm0
mulss  -0x74(%rbp),%xmm0
movslq -0x8(%rbp),%rax
mulss  -0x40(%rbp,%rax,4),%xmm0
mulss  -0x10(%rbp),%xmm0
mulss  -0x10(%rbp),%xmm0
movss  0xa80(%rip),%xmm1
divss  %xmm1,%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x138(%rbp)
ff
movslq -0x8(%rbp),%rax
movss  -0x40(%rbp,%rax,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x140(%rbp)
ff
movss  -0x10(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xa71(%rip),%xmm1
call   1070 <pow@plt>
movsd  -0x140(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x138(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
movsd  0xa9d(%rip),%xmm2
divsd  %xmm2,%xmm1
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x128(%rbp)
ff
movss  -0x74(%rbp),%xmm0
mulss  -0x74(%rbp),%xmm0
movslq -0x8(%rbp),%rax
mulss  -0x40(%rbp,%rax,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x130(%rbp)
ff
movss  -0x10(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0xa0c(%rip),%xmm1
call   1070 <pow@plt>
movsd  -0x130(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x128(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
movsd  0x9f8(%rip),%xmm2
divsd  %xmm2,%xmm1
subsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x88(%rbp)
ff
movss  -0x74(%rbp),%xmm0
mulss  -0x74(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
movss  -0x10(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x9ad(%rip),%xmm1
call   1070 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x120(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movslq -0x8(%rbp),%rax
movss  -0x40(%rbp,%rax,4),%xmm1
cvtss2sd %xmm1,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x110(%rbp)
ff
movss  -0x74(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x97e(%rip),%xmm1
call   1070 <pow@plt>
movslq -0x8(%rbp),%rax
movss  -0x40(%rbp,%rax,4),%xmm1
cvtss2sd %xmm1,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x118(%rbp)
ff
movss  -0x10(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x93e(%rip),%xmm1
call   1070 <pow@plt>
movsd  -0x118(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x110(%rbp),%xmm0
ff
mulsd  %xmm2,%xmm1
movsd  0x962(%rip),%xmm2
divsd  %xmm2,%xmm1
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x8c(%rbp)
ff
movss  -0x10(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x8f5(%rip),%xmm1
call   1070 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x925(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x108(%rbp)
ff
movslq -0x8(%rbp),%rax
movss  -0x40(%rbp,%rax,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x8c3(%rip),%xmm1
call   1070 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x108(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
movss  0x873(%rip),%xmm0
mulss  -0x74(%rbp),%xmm0
mulss  -0x74(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
movss  -0x10(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x878(%rip),%xmm1
call   1070 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0x100(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movslq -0x8(%rbp),%rax
movss  -0x40(%rbp,%rax,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x846(%rip),%xmm1
call   1070 <pow@plt>
movsd  -0xf8(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0xf0(%rbp),%xmm0
ff
divsd  %xmm2,%xmm1
subsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x90(%rbp)
ff
movss  0x7e2(%rip),%xmm0
mulss  -0x74(%rbp),%xmm0
mulss  -0x74(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
movss  -0x10(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x7eb(%rip),%xmm1
call   1070 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0xe8(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xe0(%rbp)
ff
movslq -0x8(%rbp),%rax
movss  -0x40(%rbp,%rax,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x7e9(%rip),%xmm1
call   1070 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0xe0(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movss  -0x74(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x79c(%rip),%xmm1
call   1070 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x7b4(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xd8(%rbp)
ff
movss  -0x10(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x75f(%rip),%xmm1
call   1070 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0xd8(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
movslq -0x8(%rbp),%rax
movss  -0x40(%rbp,%rax,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x75d(%rip),%xmm1
call   1070 <pow@plt>
movsd  -0xd0(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0xc8(%rbp),%xmm0
ff
divsd  %xmm2,%xmm1
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x94(%rbp)
ff
movss  -0x74(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x700(%rip),%xmm1
call   1070 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x708(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
movss  -0x10(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x6c3(%rip),%xmm1
call   1070 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0xc0(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movslq -0x8(%rbp),%rax
movss  -0x40(%rbp,%rax,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x6b1(%rip),%xmm1
call   1070 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0xb8(%rbp),%xmm0
ff
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movss  -0x10(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x664(%rip),%xmm1
call   1070 <pow@plt>
movaps %xmm0,%xmm1
movsd  0x66c(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
movss  -0x74(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x647(%rip),%xmm1
call   1070 <pow@plt>
movaps %xmm0,%xmm1
movsd  -0xb0(%rbp),%xmm0
ff
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movslq -0x8(%rbp),%rax
movss  -0x40(%rbp,%rax,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x605(%rip),%xmm1
call   1070 <pow@plt>
movsd  -0xa8(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0xa0(%rbp),%xmm0
ff
movsd  0x5e5(%rip),%xmm3
mulsd  %xmm3,%xmm2
divsd  %xmm2,%xmm1
subsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x98(%rbp)
ff
movss  -0x78(%rbp),%xmm0
addss  -0x7c(%rbp),%xmm0
addss  -0x80(%rbp),%xmm0
addss  -0x84(%rbp),%xmm0
ff
addss  -0x88(%rbp),%xmm0
ff
addss  -0x8c(%rbp),%xmm0
ff
addss  -0x90(%rbp),%xmm0
ff
addss  -0x94(%rbp),%xmm0
ff
addss  -0x98(%rbp),%xmm0
ff
movss  -0x10(%rbp),%xmm2
movslq -0x8(%rbp),%rax
movss  -0x40(%rbp,%rax,4),%xmm1
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
mov    -0x8(%rbp),%eax
add    $0x1,%eax
cltq
movss  %xmm0,-0x40(%rbp,%rax,4)
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    1239 <main+0xe9>
movl   $0x0,-0x8(%rbp)
mov    -0x8(%rbp),%eax
cmp    -0xc(%rbp),%eax
jg     1cf3 <main+0xba3>
cvtsi2ssl -0x8(%rbp),%xmm0
mulss  -0x10(%rbp),%xmm0
movss  %xmm0,-0x74(%rbp)
movslq -0x8(%rbp),%rax
movss  -0x70(%rbp,%rax,4),%xmm0
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
movss  -0x74(%rbp),%xmm2
movss  0x4e1(%rip),%xmm1
mulss  -0x74(%rbp),%xmm1
movslq -0x8(%rbp),%rax
divss  -0x70(%rbp,%rax,4),%xmm1
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
cvtss2sd %xmm0,%xmm0
movslq -0x8(%rbp),%rax
movss  -0x70(%rbp,%rax,4),%xmm1
cvtss2sd %xmm1,%xmm2
movsd  0x4ec(%rip),%xmm1
mulsd  %xmm2,%xmm1
movss  -0x10(%rbp),%xmm2
cvtss2sd %xmm2,%xmm2
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
movss  -0x74(%rbp),%xmm0
cvtss2sd %xmm0,%xmm2
movsd  0x4af(%rip),%xmm0
mulsd  %xmm2,%xmm0
movss  -0x74(%rbp),%xmm2
cvtss2sd %xmm2,%xmm2
mulsd  %xmm2,%xmm0
movslq -0x8(%rbp),%rax
movss  -0x70(%rbp,%rax,4),%xmm2
cvtss2sd %xmm2,%xmm2
mulsd  %xmm2,%xmm0
movss  -0x10(%rbp),%xmm2
cvtss2sd %xmm2,%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x78(%rbp)
movss  0x42a(%rip),%xmm0
mulss  -0x10(%rbp),%xmm0
movslq -0x8(%rbp),%rax
divss  -0x70(%rbp,%rax,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x180(%rbp)
ff
movss  0x403(%rip),%xmm0
mulss  -0x74(%rbp),%xmm0
mulss  -0x74(%rbp),%xmm0
mulss  -0x10(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,-0x188(%rbp)
ff
movslq -0x8(%rbp),%rax
movss  -0x70(%rbp,%rax,4),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  0x40e(%rip),%xmm1
call   1070 <pow@plt>
movsd  -0x188(%rbp),%xmm1
ff
movaps %xmm0,%xmm2
movsd  -0x180(%rbp),%xmm0
ff
divsd  %xmm2,%xmm1
subsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,-0x7c(%rbp)
movss  -0x78(%rbp),%xmm0
addss  -0x7c(%rbp),%xmm0
movss  -0x10(%rbp),%xmm2
movslq -0x8(%rbp),%rax
movss  -0x70(%rbp,%rax,4),%xmm1
mulss  %xmm2,%xmm0
addss  %xmm1,%xmm0
mov    -0x8(%rbp),%eax
add    $0x1,%eax
cltq
movss  %xmm0,-0x70(%rbp,%rax,4)
cvtsi2ssl -0x8(%rbp),%xmm0
mulss  -0x10(%rbp),%xmm0
cvtss2sd %xmm0,%xmm0
movslq -0x8(%rbp),%rax
movss  -0x70(%rbp,%rax,4),%xmm1
cvtss2sd %xmm1,%xmm1
movslq -0x8(%rbp),%rax
movss  -0x40(%rbp,%rax,4),%xmm2
cvtss2sd %xmm2,%xmm2
movslq -0x8(%rbp),%rax
movss  -0x70(%rbp,%rax,4),%xmm3
movslq -0x8(%rbp),%rax
subss  -0x40(%rbp,%rax,4),%xmm3
cvtss2sd %xmm3,%xmm3
movaps 0x35d(%rip),%xmm4
pand   %xmm4,%xmm3
lea    0x4ba(%rip),%rdi
mov    $0x4,%al
call   1040 <printf@plt>
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x8(%rbp)
jmp    1aec <main+0x99c>
mov    $0x0,%al
call   1060 <getch@plt>
mov    -0x4(%rbp),%eax
add    $0x190,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %r15
push   %r14
push   %rbx
sub    $0x150,%rsp
xor    %eax,%eax
call   1030 <clrscr@plt>
lea    0xf97(%rip),%rdi
call   1040 <puts@plt>
lea    0xf2a(%rip),%rdi
lea    0x9c(%rsp),%rsi
lea    0x98(%rsp),%rdx
lea    0x2c(%rsp),%rcx
xor    %eax,%eax
call   1060 <scanf@plt>
movss  0x98(%rsp),%xmm1
subss  0x9c(%rsp),%xmm1
cvtsi2ssl 0x2c(%rsp),%xmm0
divss  %xmm0,%xmm1
movaps %xmm1,0x70(%rsp)
lea    0xf76(%rip),%r14
mov    %r14,%rdi
xor    %eax,%eax
call   1050 <printf@plt>
lea    0xf64(%rip),%rbx
mov    %rbx,%rdi
call   1040 <puts@plt>
movss  0x9c(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movss  0x98(%rsp),%xmm1
cvtss2sd %xmm1,%xmm1
movaps 0x70(%rsp),%xmm2
cvtss2sd %xmm2,%xmm2
lea    0xeac(%rip),%rdi
movsd  %xmm2,0x8(%rsp)
mov    $0x3,%al
call   1050 <printf@plt>
mov    %r14,%rdi
xor    %eax,%eax
call   1050 <printf@plt>
mov    %rbx,%rdi
call   1040 <puts@plt>
lea    0xf34(%rip),%rdi
call   1040 <puts@plt>
movaps 0x70(%rsp),%xmm1
movl   $0x3f800000,0x120(%rsp)
movl   $0x3f800000,0xf0(%rsp)
cmpl   $0x0,0x2c(%rsp)
js     1af8 <main+0x998>
movaps %xmm1,%xmm8
addss  %xmm1,%xmm8
movaps %xmm1,%xmm0
shufps $0x0,%xmm1,%xmm0
movaps %xmm0,0xe0(%rsp)
movss  0xd82(%rip),%xmm2
xor    %ebx,%ebx
movss  0xd7c(%rip),%xmm3
movsd  0xd90(%rip),%xmm5
movsd  0xd90(%rip),%xmm6
movaps %xmm8,0xd0(%rsp)
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
movaps %xmm2,0xa0(%rsp)
xorps  %xmm7,%xmm7
cvtsi2ss %ebx,%xmm7
mulss  %xmm1,%xmm7
movaps %xmm7,%xmm0
mulss  %xmm3,%xmm0
divss  %xmm2,%xmm0
movaps %xmm2,%xmm1
mulss  %xmm7,%xmm1
subss  %xmm1,%xmm0
cvtss2sd %xmm0,%xmm0
movaps %xmm7,%xmm1
mulss  %xmm7,%xmm1
movaps %xmm1,0x80(%rsp)
mulss  %xmm2,%xmm1
movaps 0xa0(%rsp),%xmm2
unpcklps %xmm1,%xmm2
cvtps2pd %xmm2,%xmm2
movapd %xmm2,%xmm1
mulsd  %xmm5,%xmm1
movsd  0x8(%rsp),%xmm3
mulsd  %xmm3,%xmm1
movapd %xmm3,%xmm4
addsd  %xmm0,%xmm1
xorps  %xmm3,%xmm3
cvtss2sd %xmm7,%xmm3
movsd  %xmm3,0xb0(%rsp)
movaps %xmm3,%xmm0
mulsd  %xmm6,%xmm0
movsd  %xmm0,0x10(%rsp)
mulsd  %xmm3,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm2,0x50(%rsp)
mulsd  %xmm4,%xmm0
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
movss  %xmm0,0x40(%rsp)
movaps %xmm8,%xmm0
divss  0xa0(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,0xc8(%rsp)
movaps %xmm7,%xmm0
movaps %xmm7,0x30(%rsp)
movaps %xmm7,%xmm1
mulss  0xc86(%rip),%xmm1
movaps %xmm1,0x60(%rsp)
mulss  %xmm1,%xmm0
mulss  0x70(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,0xc0(%rsp)
movapd %xmm2,%xmm0
movsd  0xc86(%rip),%xmm1
call   1080 <pow@plt>
movsd  0xc0(%rsp),%xmm1
divsd  %xmm0,%xmm1
movsd  0xc8(%rsp),%xmm0
subsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
addss  0x40(%rsp),%xmm0
movss  %xmm0,0x40(%rsp)
movapd 0x50(%rsp),%xmm0
movsd  0x10(%rsp),%xmm1
mulsd  %xmm0,%xmm1
movsd  0x8(%rsp),%xmm3
mulsd  %xmm3,%xmm1
movapd %xmm1,%xmm4
movaps 0x30(%rsp),%xmm1
movaps %xmm1,%xmm2
addss  %xmm1,%xmm2
mulss  %xmm1,%xmm2
mulss  %xmm1,%xmm2
mulss  0x70(%rsp),%xmm2
mulss  0x70(%rsp),%xmm2
movaps 0xa0(%rsp),%xmm1
mulss  0xbe5(%rip),%xmm1
divss  %xmm1,%xmm2
xorps  %xmm1,%xmm1
cvtss2sd %xmm2,%xmm1
mulsd  %xmm3,%xmm4
addsd  %xmm1,%xmm4
movsd  %xmm4,0x10(%rsp)
movaps 0x60(%rsp),%xmm1
mulss  0x70(%rsp),%xmm1
mulss  0x70(%rsp),%xmm1
cvtss2sd %xmm1,%xmm1
movsd  %xmm1,0x60(%rsp)
movsd  0xbcd(%rip),%xmm1
call   1080 <pow@plt>
movsd  0x60(%rsp),%xmm1
divsd  %xmm0,%xmm1
movsd  0x10(%rsp),%xmm0
subsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
addss  0x40(%rsp),%xmm0
movss  %xmm0,0x10(%rsp)
movaps 0x50(%rsp),%xmm0
movsd  0xb97(%rip),%xmm1
call   1080 <pow@plt>
movaps %xmm0,0x40(%rsp)
movaps 0x30(%rsp),%xmm0
shufps $0x0,%xmm0,%xmm0
movaps %xmm0,%xmm1
mulps  0xbaa(%rip),%xmm1
mulps  %xmm0,%xmm1
mulps  %xmm0,%xmm1
movaps 0xe0(%rsp),%xmm0
mulps  %xmm0,%xmm1
mulps  %xmm0,%xmm1
cvtps2pd %xmm1,%xmm0
movaps %xmm0,0x60(%rsp)
movapd 0x50(%rsp),%xmm0
movsd  0xb58(%rip),%xmm1
call   1080 <pow@plt>
movapd 0x40(%rsp),%xmm1
unpcklpd %xmm0,%xmm1
movapd 0x60(%rsp),%xmm2
divpd  %xmm1,%xmm2
movapd %xmm2,%xmm0
unpckhpd %xmm2,%xmm0
addsd  %xmm2,%xmm0
cvtsd2ss %xmm0,%xmm0
addss  0x10(%rsp),%xmm0
movss  %xmm0,0x10(%rsp)
movaps 0x30(%rsp),%xmm0
mulss  0x80(%rsp),%xmm0
mulss  0xa0(%rsp),%xmm0
mulss  0x70(%rsp),%xmm0
mulss  0x70(%rsp),%xmm0
divss  0xad0(%rip),%xmm0
cvtss2sd %xmm0,%xmm0
movsd  %xmm0,0x40(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0xad8(%rip),%xmm1
call   1080 <pow@plt>
movaps %xmm0,0x60(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0xac0(%rip),%xmm1
call   1080 <pow@plt>
movapd 0x60(%rsp),%xmm1
unpcklpd %xmm0,%xmm1
mulpd  0x50(%rsp),%xmm1
mulpd  0xae3(%rip),%xmm1
movsd  0x40(%rsp),%xmm0
addsd  %xmm1,%xmm0
unpckhpd %xmm1,%xmm1
subsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
addss  0x10(%rsp),%xmm0
movss  %xmm0,0x10(%rsp)
movaps 0x80(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
movaps %xmm0,0x80(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0xa5f(%rip),%xmm1
call   1080 <pow@plt>
movaps %xmm0,0x40(%rsp)
movsd  0xb0(%rsp),%xmm0
movsd  0xa54(%rip),%xmm1
call   1080 <pow@plt>
mulsd  0x50(%rsp),%xmm0
movapd %xmm0,0x60(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0xa25(%rip),%xmm1
call   1080 <pow@plt>
movapd 0x40(%rsp),%xmm2
unpcklpd 0x60(%rsp),%xmm2
movapd 0x80(%rsp),%xmm1
unpcklpd %xmm0,%xmm1
mulpd  %xmm2,%xmm1
movapd 0x50(%rsp),%xmm0
movhpd 0xa0d(%rip),%xmm0
divpd  %xmm0,%xmm1
movapd %xmm1,%xmm0
unpckhpd %xmm1,%xmm0
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
addss  0x10(%rsp),%xmm0
movss  %xmm0,0x80(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x9c4(%rip),%xmm1
call   1080 <pow@plt>
movaps %xmm0,0x10(%rsp)
movaps 0x50(%rsp),%xmm0
movsd  0x9ad(%rip),%xmm1
call   1080 <pow@plt>
movaps %xmm0,0x40(%rsp)
movaps 0x30(%rsp),%xmm1
movaps %xmm1,%xmm0
mulss  0x977(%rip),%xmm0
mulss  %xmm1,%xmm0
cvtss2sd %xmm0,%xmm0
movaps 0x9d4(%rip),%xmm1
movlhps %xmm0,%xmm1
movaps %xmm1,0x60(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x96e(%rip),%xmm1
call   1080 <pow@plt>
movapd 0x10(%rsp),%xmm1
unpcklpd %xmm0,%xmm1
mulpd  0x60(%rsp),%xmm1
movapd %xmm1,0x10(%rsp)
movapd 0x50(%rsp),%xmm0
movsd  0x945(%rip),%xmm1
call   1080 <pow@plt>
movapd 0x40(%rsp),%xmm2
unpcklpd %xmm0,%xmm2
movapd 0x10(%rsp),%xmm1
divpd  %xmm2,%xmm1
movapd %xmm1,%xmm0
unpckhpd %xmm1,%xmm0
subsd  %xmm0,%xmm1
xorps  %xmm0,%xmm0
cvtsd2ss %xmm1,%xmm0
addss  0x80(%rsp),%xmm0
movss  %xmm0,0x10(%rsp)
movaps 0x30(%rsp),%xmm1
movaps %xmm1,%xmm0
mulss  0x8e2(%rip),%xmm0
mulss  %xmm1,%xmm0
cvtss2sd %xmm0,%xmm0
movaps %xmm0,0x30(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x8df(%rip),%xmm1
call   1080 <pow@plt>
movaps %xmm0,0x40(%rsp)
movaps 0x50(%rsp),%xmm0
movsd  0x8d0(%rip),%xmm1
call   1080 <pow@plt>
movaps %xmm0,0x80(%rsp)
movsd  0xb0(%rsp),%xmm0
movsd  0x8ba(%rip),%xmm1
call   1080 <pow@plt>
mulsd  0x8bd(%rip),%xmm0
movapd %xmm0,0x60(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x889(%rip),%xmm1
call   1080 <pow@plt>
movapd 0x40(%rsp),%xmm2
unpcklpd 0x60(%rsp),%xmm2
movapd 0x30(%rsp),%xmm1
unpcklpd %xmm0,%xmm1
mulpd  %xmm2,%xmm1
movapd %xmm1,0x30(%rsp)
movapd 0x50(%rsp),%xmm0
movsd  0x85e(%rip),%xmm1
call   1080 <pow@plt>
movapd 0x80(%rsp),%xmm2
unpcklpd %xmm0,%xmm2
movapd 0x30(%rsp),%xmm1
divpd  %xmm2,%xmm1
movapd %xmm1,%xmm0
unpckhpd %xmm1,%xmm0
addsd  %xmm1,%xmm0
cvtsd2ss %xmm0,%xmm0
addss  0x10(%rsp),%xmm0
movss  %xmm0,0x80(%rsp)
movsd  0xb0(%rsp),%xmm0
movsd  0x81a(%rip),%xmm1
call   1080 <pow@plt>
movaps %xmm0,0x10(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x7f2(%rip),%xmm1
call   1080 <pow@plt>
movaps %xmm0,0x30(%rsp)
movaps 0x50(%rsp),%xmm0
movsd  0x803(%rip),%xmm1
call   1080 <pow@plt>
movaps %xmm0,0x40(%rsp)
movsd  0x8(%rsp),%xmm0
movsd  0x7c3(%rip),%xmm1
call   1080 <pow@plt>
movapd 0x10(%rsp),%xmm1
unpcklpd %xmm0,%xmm1
mulpd  0x80c(%rip),%xmm1
movapd %xmm1,0x10(%rsp)
movsd  0xb0(%rsp),%xmm0
movsd  0x7a5(%rip),%xmm1
call   1080 <pow@plt>
movapd 0x30(%rsp),%xmm1
unpcklpd %xmm0,%xmm1
mulpd  0x10(%rsp),%xmm1
movapd %xmm1,0x30(%rsp)
movapd 0x50(%rsp),%xmm0
movsd  0x76c(%rip),%xmm1
call   1080 <pow@plt>
movaps 0xa0(%rsp),%xmm2
movsd  0x74f(%rip),%xmm6
movsd  0x73f(%rip),%xmm5
movss  0x71b(%rip),%xmm3
movaps 0xd0(%rsp),%xmm8
movaps 0x70(%rsp),%xmm1
mulsd  0x731(%rip),%xmm0
movapd 0x40(%rsp),%xmm4
unpcklpd %xmm0,%xmm4
movapd 0x30(%rsp),%xmm7
divpd  %xmm4,%xmm7
movapd %xmm7,%xmm0
unpckhpd %xmm7,%xmm0
subsd  %xmm0,%xmm7
xorps  %xmm0,%xmm0
cvtsd2ss %xmm7,%xmm0
addss  0x80(%rsp),%xmm0
mulss  %xmm1,%xmm0
addss  %xmm0,%xmm2
movss  %xmm2,0x124(%rsp,%rbx,4)
movslq 0x2c(%rsp),%rax
cmp    %rax,%rbx
lea    0x1(%rbx),%rbx
jl     12b0 <main+0x150>
test   %eax,%eax
js     1af8 <main+0x998>
movss  0xf0(%rsp),%xmm2
xor    %ebx,%ebx
lea    0x785(%rip),%r14
nopl   0x0(%rax)
xorps  %xmm0,%xmm0
cvtsi2ss %ebx,%xmm0
mulss  %xmm1,%xmm0
movaps %xmm2,%xmm1
mulss  %xmm0,%xmm1
cvtss2sd %xmm0,%xmm9
movaps %xmm2,%xmm7
movaps %xmm2,0xb0(%rsp)
movaps %xmm0,%xmm2
mulss  0x67f(%rip),%xmm2
mulss  %xmm0,%xmm2
mulss  %xmm3,%xmm0
divss  %xmm7,%xmm0
subss  %xmm1,%xmm0
xorps  %xmm4,%xmm4
cvtss2sd %xmm0,%xmm4
xorps  %xmm0,%xmm0
cvtss2sd %xmm7,%xmm0
movsd  %xmm0,0xa0(%rsp)
movaps %xmm0,%xmm1
mulsd  %xmm5,%xmm1
movsd  0x8(%rsp),%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm4,%xmm1
movsd  %xmm9,0x50(%rsp)
movaps %xmm9,%xmm4
mulsd  %xmm6,%xmm4
mulsd  %xmm9,%xmm4
mulsd  %xmm0,%xmm4
mulsd  %xmm3,%xmm4
addsd  %xmm1,%xmm4
xorps  %xmm1,%xmm1
cvtsd2ss %xmm4,%xmm1
movss  %xmm1,0x30(%rsp)
movaps %xmm8,%xmm1
divss  %xmm7,%xmm1
cvtss2sd %xmm1,%xmm1
movsd  %xmm1,0x10(%rsp)
mulss  0x70(%rsp),%xmm2
xorps  %xmm1,%xmm1
cvtss2sd %xmm2,%xmm1
movsd  %xmm1,0x80(%rsp)
movsd  0x5fa(%rip),%xmm1
call   1080 <pow@plt>
movsd  0x80(%rsp),%xmm1
divsd  %xmm0,%xmm1
addsd  0x10(%rsp),%xmm1
xorps  %xmm0,%xmm0
cvtsd2ss %xmm1,%xmm0
addss  0x30(%rsp),%xmm0
mulss  0x70(%rsp),%xmm0
movaps 0xb0(%rsp),%xmm1
addss  %xmm1,%xmm0
movss  %xmm0,0x30(%rsp)
lea    0x1(%rbx),%r15
movss  %xmm0,0xf4(%rsp,%rbx,4)
movss  0x120(%rsp,%rbx,4),%xmm0
xorps  %xmm2,%xmm2
cvtss2sd %xmm0,%xmm2
subss  %xmm0,%xmm1
andps  0x605(%rip),%xmm1
xorps  %xmm3,%xmm3
cvtss2sd %xmm1,%xmm3
mov    %r14,%rdi
movsd  0x50(%rsp),%xmm0
movsd  0xa0(%rsp),%xmm1
mov    $0x4,%al
call   1050 <printf@plt>
movsd  0x565(%rip),%xmm6
movsd  0x555(%rip),%xmm5
movss  0x531(%rip),%xmm3
movaps 0xd0(%rsp),%xmm8
movaps 0x70(%rsp),%xmm1
movslq 0x2c(%rsp),%rax
movss  0x30(%rsp),%xmm2
cmp    %rax,%rbx
mov    %r15,%rbx
jl     1970 <main+0x810>
xor    %eax,%eax
call   1070 <getch@plt>
xor    %eax,%eax
add    $0x150,%rsp
pop    %rbx
pop    %r14
pop    %r15
ret

LLVM IR (-O0):
@.str = [47 x i8] c"Please input equations's limits and sections.\0A\00"
@.str.1 = [9 x i8] c"%f,%f,%d\00"
@.str.2 = [39 x i8] c"--------------------------------------\00"
@.str.3 = [41 x i8] c"---------------------------------------\0A\00"
@.str.4 = [56 x i8] c"\09y ' = -ty + 4t/y \09%1.0f<=t<=%1.0f \09y (0) =1\09h = %4.2f\0A\00"
@.str.5 = [64 x i8] c" ti Taylor method of order 2 Taylor method of order 4 \09error\0A\00"
@.str.6 = [32 x i8] c"%3.2f\09%20.18f\09 %20.18f\09%20.18f\0A\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca i32
%3 = alloca i32
%4 = alloca float
%5 = alloca float
%6 = alloca float
%7 = alloca [10 x float]
%8 = alloca [10 x float]
%9 = alloca float
%10 = alloca float
%11 = alloca float
%12 = alloca float
%13 = alloca float
%14 = alloca float
%15 = alloca float
%16 = alloca float
%17 = alloca float
%18 = alloca float
store i32 0, i32* %1
%19 = call i32 (...) @clrscr()
%20 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str, i64 0, i64 0))
%21 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), float* %5, float* %6, i32* %3)
%22 = load float, float* %6
%23 = load float, float* %5
%24 = fsub float %22, %23
%25 = load i32, i32* %3
%26 = sitofp i32 %25 to float
%27 = fdiv float %24, %26
store float %27, float* %4
%28 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.2, i64 0, i64 0))
%29 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.3, i64 0, i64 0))
%30 = load float, float* %5
%31 = fpext float %30 to double
%32 = load float, float* %6
%33 = fpext float %32 to double
%34 = load float, float* %4
%35 = fpext float %34 to double
%36 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.4, i64 0, i64 0), double %31, double %33, double %35)
%37 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.2, i64 0, i64 0))
%38 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.3, i64 0, i64 0))
%39 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.5, i64 0, i64 0))
%40 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 0
store float 1.000000e+00, float* %40
%41 = getelementptr inbounds [10 x float], [10 x float]* %8, i64 0, i64 0
store float 1.000000e+00, float* %41
store i32 0, i32* %2
br label %42
42: ; preds = %398, %0
%43 = load i32, i32* %2
%44 = load i32, i32* %3
%45 = icmp sle i32 %43, %44
br i1 %45, label %46, label %401
46: ; preds = %42
%47 = load i32, i32* %2
%48 = sitofp i32 %47 to float
%49 = load float, float* %4
%50 = fmul float %48, %49
store float %50, float* %9
%51 = load i32, i32* %2
%52 = sext i32 %51 to i64
%53 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %52
%54 = load float, float* %53
%55 = fneg float %54
%56 = load float, float* %9
%57 = load float, float* %9
%58 = fmul float 4.000000e+00, %57
%59 = load i32, i32* %2
%60 = sext i32 %59 to i64
%61 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %60
%62 = load float, float* %61
%63 = fdiv float %58, %62
%64 = call float @llvm.fmuladd.f32(float %55, float %56, float %63)
%65 = fpext float %64 to double
%66 = load i32, i32* %2
%67 = sext i32 %66 to i64
%68 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %67
%69 = load float, float* %68
%70 = fpext float %69 to double
%71 = fmul double 5.000000e-01, %70
%72 = load float, float* %4
%73 = fpext float %72 to double
%74 = fneg double %71
%75 = call double @llvm.fmuladd.f64(double %74, double %73, double %65)
%76 = load float, float* %9
%77 = fpext float %76 to double
%78 = fmul double 5.000000e-01, %77
%79 = load float, float* %9
%80 = fpext float %79 to double
%81 = fmul double %78, %80
%82 = load i32, i32* %2
%83 = sext i32 %82 to i64
%84 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %83
%85 = load float, float* %84
%86 = fpext float %85 to double
%87 = fmul double %81, %86
%88 = load float, float* %4
%89 = fpext float %88 to double
%90 = call double @llvm.fmuladd.f64(double %87, double %89, double %75)
%91 = fptrunc double %90 to float
store float %91, float* %10
%92 = load float, float* %4
%93 = fmul float 2.000000e+00, %92
%94 = load i32, i32* %2
%95 = sext i32 %94 to i64
%96 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %95
%97 = load float, float* %96
%98 = fdiv float %93, %97
%99 = fpext float %98 to double
%100 = load float, float* %9
%101 = fmul float 8.000000e+00, %100
%102 = load float, float* %9
%103 = fmul float %101, %102
%104 = load float, float* %4
%105 = fmul float %103, %104
%106 = fpext float %105 to double
%107 = load i32, i32* %2
%108 = sext i32 %107 to i64
%109 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %108
%110 = load float, float* %109
%111 = fpext float %110 to double
%112 = call double @pow(double %111, double 3.000000e+00)
%113 = fdiv double %106, %112
%114 = fsub double %99, %113
%115 = fptrunc double %114 to float
store float %115, float* %11
%116 = load float, float* %9
%117 = fpext float %116 to double
%118 = fmul double 5.000000e-01, %117
%119 = load i32, i32* %2
%120 = sext i32 %119 to i64
%121 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %120
%122 = load float, float* %121
%123 = fpext float %122 to double
%124 = fmul double %118, %123
%125 = load float, float* %4
%126 = fpext float %125 to double
%127 = fmul double %124, %126
%128 = load float, float* %4
%129 = fpext float %128 to double
%130 = load float, float* %9
%131 = fmul float 2.000000e+00, %130
%132 = load float, float* %9
%133 = fmul float %131, %132
%134 = load float, float* %9
%135 = fmul float %133, %134
%136 = load float, float* %4
%137 = fmul float %135, %136
%138 = load float, float* %4
%139 = fmul float %137, %138
%140 = load i32, i32* %2
%141 = sext i32 %140 to i64
%142 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %141
%143 = load float, float* %142
%144 = fmul float %143, 3.000000e+00
%145 = fdiv float %139, %144
%146 = fpext float %145 to double
%147 = call double @llvm.fmuladd.f64(double %127, double %129, double %146)
%148 = load float, float* %9
%149 = fmul float 8.000000e+00, %148
%150 = load float, float* %4
%151 = fmul float %149, %150
%152 = load float, float* %4
%153 = fmul float %151, %152
%154 = fpext float %153 to double
%155 = load i32, i32* %2
%156 = sext i32 %155 to i64
%157 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %156
%158 = load float, float* %157
%159 = fpext float %158 to double
%160 = call double @pow(double %159, double 3.000000e+00)
%161 = fdiv double %154, %160
%162 = fsub double %147, %161
%163 = fptrunc double %162 to float
store float %163, float* %12
%164 = load float, float* %9
%165 = fmul float -8.000000e+00, %164
%166 = load float, float* %9
%167 = fmul float %165, %166
%168 = load float, float* %9
%169 = fmul float %167, %168
%170 = load float, float* %4
%171 = fmul float %169, %170
%172 = load float, float* %4
%173 = fmul float %171, %172
%174 = fpext float %173 to double
%175 = load i32, i32* %2
%176 = sext i32 %175 to i64
%177 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %176
%178 = load float, float* %177
%179 = fpext float %178 to double
%180 = call double @pow(double %179, double 3.000000e+00)
%181 = fdiv double %174, %180
%182 = load float, float* %9
%183 = fmul float 3.200000e+01, %182
%184 = load float, float* %9
%185 = fmul float %183, %184
%186 = load float, float* %9
%187 = fmul float %185, %186
%188 = load float, float* %4
%189 = fmul float %187, %188
%190 = load float, float* %4
%191 = fmul float %189, %190
%192 = fpext float %191 to double
%193 = load i32, i32* %2
%194 = sext i32 %193 to i64
%195 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %194
%196 = load float, float* %195
%197 = fpext float %196 to double
%198 = call double @pow(double %197, double 5.000000e+00)
%199 = fdiv double %192, %198
%200 = fadd double %181, %199
%201 = fptrunc double %200 to float
store float %201, float* %13
%202 = load float, float* %9
%203 = fneg float %202
%204 = load float, float* %9
%205 = fmul float %203, %204
%206 = load float, float* %9
%207 = fmul float %205, %206
%208 = load i32, i32* %2
%209 = sext i32 %208 to i64
%210 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %209
%211 = load float, float* %210
%212 = fmul float %207, %211
%213 = load float, float* %4
%214 = fmul float %212, %213
%215 = load float, float* %4
%216 = fmul float %214, %215
%217 = fdiv float %216, 6.000000e+00
%218 = fpext float %217 to double
%219 = load i32, i32* %2
%220 = sext i32 %219 to i64
%221 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %220
%222 = load float, float* %221
%223 = fpext float %222 to double
%224 = load float, float* %4
%225 = fpext float %224 to double
%226 = call double @pow(double %225, double 3.000000e+00)
%227 = fmul double %223, %226
%228 = fdiv double %227, 8.000000e+00
%229 = fadd double %218, %228
%230 = load float, float* %9
%231 = load float, float* %9
%232 = fmul float %230, %231
%233 = load i32, i32* %2
%234 = sext i32 %233 to i64
%235 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %234
%236 = load float, float* %235
%237 = fmul float %232, %236
%238 = fpext float %237 to double
%239 = load float, float* %4
%240 = fpext float %239 to double
%241 = call double @pow(double %240, double 3.000000e+00)
%242 = fmul double %238, %241
%243 = fdiv double %242, 4.000000e+00
%244 = fsub double %229, %243
%245 = fptrunc double %244 to float
store float %245, float* %14
%246 = load float, float* %9
%247 = load float, float* %9
%248 = fmul float %246, %247
%249 = fpext float %248 to double
%250 = load float, float* %4
%251 = fpext float %250 to double
%252 = call double @pow(double %251, double 3.000000e+00)
%253 = fmul double %249, %252
%254 = load i32, i32* %2
%255 = sext i32 %254 to i64
%256 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %255
%257 = load float, float* %256
%258 = fpext float %257 to double
%259 = fdiv double %253, %258
%260 = load float, float* %9
%261 = fpext float %260 to double
%262 = call double @pow(double %261, double 4.000000e+00)
%263 = load i32, i32* %2
%264 = sext i32 %263 to i64
%265 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %264
%266 = load float, float* %265
%267 = fpext float %266 to double
%268 = fmul double %262, %267
%269 = load float, float* %4
%270 = fpext float %269 to double
%271 = call double @pow(double %270, double 3.000000e+00)
%272 = fmul double %268, %271
%273 = fdiv double %272, 2.400000e+01
%274 = fadd double %259, %273
%275 = fptrunc double %274 to float
store float %275, float* %15
%276 = load float, float* %4
%277 = fpext float %276 to double
%278 = call double @pow(double %277, double 3.000000e+00)
%279 = fmul double -2.000000e+00, %278
%280 = load i32, i32* %2
%281 = sext i32 %280 to i64
%282 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %281
%283 = load float, float* %282
%284 = fpext float %283 to double
%285 = call double @pow(double %284, double 3.000000e+00)
%286 = fdiv double %279, %285
%287 = load float, float* %9
%288 = fmul float 1.200000e+01, %287
%289 = load float, float* %9
%290 = fmul float %288, %289
%291 = fpext float %290 to double
%292 = load float, float* %4
%293 = fpext float %292 to double
%294 = call double @pow(double %293, double 3.000000e+00)
%295 = fmul double %291, %294
%296 = load i32, i32* %2
%297 = sext i32 %296 to i64
%298 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %297
%299 = load float, float* %298
%300 = fpext float %299 to double
%301 = call double @pow(double %300, double 3.000000e+00)
%302 = fdiv double %295, %301
%303 = fsub double %286, %302
%304 = fptrunc double %303 to float
store float %304, float* %16
%305 = load float, float* %9
%306 = fmul float 4.800000e+01, %305
%307 = load float, float* %9
%308 = fmul float %306, %307
%309 = fpext float %308 to double
%310 = load float, float* %4
%311 = fpext float %310 to double
%312 = call double @pow(double %311, double 3.000000e+00)
%313 = fmul double %309, %312
%314 = load i32, i32* %2
%315 = sext i32 %314 to i64
%316 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %315
%317 = load float, float* %316
%318 = fpext float %317 to double
%319 = call double @pow(double %318, double 5.000000e+00)
%320 = fdiv double %313, %319
%321 = load float, float* %9
%322 = fpext float %321 to double
%323 = call double @pow(double %322, double 4.000000e+00)
%324 = fmul double 6.400000e+01, %323
%325 = load float, float* %4
%326 = fpext float %325 to double
%327 = call double @pow(double %326, double 3.000000e+00)
%328 = fmul double %324, %327
%329 = load i32, i32* %2
%330 = sext i32 %329 to i64
%331 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %330
%332 = load float, float* %331
%333 = fpext float %332 to double
%334 = call double @pow(double %333, double 5.000000e+00)
%335 = fdiv double %328, %334
%336 = fadd double %320, %335
%337 = fptrunc double %336 to float
store float %337, float* %17
%338 = load float, float* %9
%339 = fpext float %338 to double
%340 = call double @pow(double %339, double 4.000000e+00)
%341 = fmul double -1.600000e+02, %340
%342 = load float, float* %4
%343 = fpext float %342 to double
%344 = call double @pow(double %343, double 3.000000e+00)
%345 = fmul double %341, %344
%346 = load i32, i32* %2
%347 = sext i32 %346 to i64
%348 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %347
%349 = load float, float* %348
%350 = fpext float %349 to double
%351 = call double @pow(double %350, double 7.000000e+00)
%352 = fdiv double %345, %351
%353 = load float, float* %4
%354 = fpext float %353 to double
%355 = call double @pow(double %354, double 3.000000e+00)
%356 = fmul double 2.000000e+01, %355
%357 = load float, float* %9
%358 = fpext float %357 to double
%359 = call double @pow(double %358, double 4.000000e+00)
%360 = fmul double %356, %359
%361 = load i32, i32* %2
%362 = sext i32 %361 to i64
%363 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %362
%364 = load float, float* %363
%365 = fpext float %364 to double
%366 = call double @pow(double %365, double 3.000000e+00)
%367 = fmul double %366, 3.000000e+00
%368 = fdiv double %360, %367
%369 = fsub double %352, %368
%370 = fptrunc double %369 to float
store float %370, float* %18
%371 = load float, float* %10
%372 = load float, float* %11
%373 = fadd float %371, %372
%374 = load float, float* %12
%375 = fadd float %373, %374
%376 = load float, float* %13
%377 = fadd float %375, %376
%378 = load float, float* %14
%379 = fadd float %377, %378
%380 = load float, float* %15
%381 = fadd float %379, %380
%382 = load float, float* %16
%383 = fadd float %381, %382
%384 = load float, float* %17
%385 = fadd float %383, %384
%386 = load float, float* %18
%387 = fadd float %385, %386
%388 = load float, float* %4
%389 = load i32, i32* %2
%390 = sext i32 %389 to i64
%391 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %390
%392 = load float, float* %391
%393 = call float @llvm.fmuladd.f32(float %387, float %388, float %392)
%394 = load i32, i32* %2
%395 = add nsw i32 %394, 1
%396 = sext i32 %395 to i64
%397 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %396
store float %393, float* %397
br label %398
398: ; preds = %46
%399 = load i32, i32* %2
%400 = add nsw i32 %399, 1
store i32 %400, i32* %2
br label %42
401: ; preds = %42
store i32 0, i32* %2
br label %402
402: ; preds = %516, %401
%403 = load i32, i32* %2
%404 = load i32, i32* %3
%405 = icmp sle i32 %403, %404
br i1 %405, label %406, label %519
406: ; preds = %402
%407 = load i32, i32* %2
%408 = sitofp i32 %407 to float
%409 = load float, float* %4
%410 = fmul float %408, %409
store float %410, float* %9
%411 = load i32, i32* %2
%412 = sext i32 %411 to i64
%413 = getelementptr inbounds [10 x float], [10 x float]* %8, i64 0, i64 %412
%414 = load float, float* %413
%415 = fneg float %414
%416 = load float, float* %9
%417 = load float, float* %9
%418 = fmul float 4.000000e+00, %417
%419 = load i32, i32* %2
%420 = sext i32 %419 to i64
%421 = getelementptr inbounds [10 x float], [10 x float]* %8, i64 0, i64 %420
%422 = load float, float* %421
%423 = fdiv float %418, %422
%424 = call float @llvm.fmuladd.f32(float %415, float %416, float %423)
%425 = fpext float %424 to double
%426 = load i32, i32* %2
%427 = sext i32 %426 to i64
%428 = getelementptr inbounds [10 x float], [10 x float]* %8, i64 0, i64 %427
%429 = load float, float* %428
%430 = fpext float %429 to double
%431 = fmul double 5.000000e-01, %430
%432 = load float, float* %4
%433 = fpext float %432 to double
%434 = fneg double %431
%435 = call double @llvm.fmuladd.f64(double %434, double %433, double %425)
%436 = load float, float* %9
%437 = fpext float %436 to double
%438 = fmul double 5.000000e-01, %437
%439 = load float, float* %9
%440 = fpext float %439 to double
%441 = fmul double %438, %440
%442 = load i32, i32* %2
%443 = sext i32 %442 to i64
%444 = getelementptr inbounds [10 x float], [10 x float]* %8, i64 0, i64 %443
%445 = load float, float* %444
%446 = fpext float %445 to double
%447 = fmul double %441, %446
%448 = load float, float* %4
%449 = fpext float %448 to double
%450 = call double @llvm.fmuladd.f64(double %447, double %449, double %435)
%451 = fptrunc double %450 to float
store float %451, float* %10
%452 = load float, float* %4
%453 = fmul float 2.000000e+00, %452
%454 = load i32, i32* %2
%455 = sext i32 %454 to i64
%456 = getelementptr inbounds [10 x float], [10 x float]* %8, i64 0, i64 %455
%457 = load float, float* %456
%458 = fdiv float %453, %457
%459 = fpext float %458 to double
%460 = load float, float* %9
%461 = fmul float 8.000000e+00, %460
%462 = load float, float* %9
%463 = fmul float %461, %462
%464 = load float, float* %4
%465 = fmul float %463, %464
%466 = fpext float %465 to double
%467 = load i32, i32* %2
%468 = sext i32 %467 to i64
%469 = getelementptr inbounds [10 x float], [10 x float]* %8, i64 0, i64 %468
%470 = load float, float* %469
%471 = fpext float %470 to double
%472 = call double @pow(double %471, double 3.000000e+00)
%473 = fdiv double %466, %472
%474 = fsub double %459, %473
%475 = fptrunc double %474 to float
store float %475, float* %11
%476 = load float, float* %10
%477 = load float, float* %11
%478 = fadd float %476, %477
%479 = load float, float* %4
%480 = load i32, i32* %2
%481 = sext i32 %480 to i64
%482 = getelementptr inbounds [10 x float], [10 x float]* %8, i64 0, i64 %481
%483 = load float, float* %482
%484 = call float @llvm.fmuladd.f32(float %478, float %479, float %483)
%485 = load i32, i32* %2
%486 = add nsw i32 %485, 1
%487 = sext i32 %486 to i64
%488 = getelementptr inbounds [10 x float], [10 x float]* %8, i64 0, i64 %487
store float %484, float* %488
%489 = load i32, i32* %2
%490 = sitofp i32 %489 to float
%491 = load float, float* %4
%492 = fmul float %490, %491
%493 = fpext float %492 to double
%494 = load i32, i32* %2
%495 = sext i32 %494 to i64
%496 = getelementptr inbounds [10 x float], [10 x float]* %8, i64 0, i64 %495
%497 = load float, float* %496
%498 = fpext float %497 to double
%499 = load i32, i32* %2
%500 = sext i32 %499 to i64
%501 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %500
%502 = load float, float* %501
%503 = fpext float %502 to double
%504 = load i32, i32* %2
%505 = sext i32 %504 to i64
%506 = getelementptr inbounds [10 x float], [10 x float]* %8, i64 0, i64 %505
%507 = load float, float* %506
%508 = load i32, i32* %2
%509 = sext i32 %508 to i64
%510 = getelementptr inbounds [10 x float], [10 x float]* %7, i64 0, i64 %509
%511 = load float, float* %510
%512 = fsub float %507, %511
%513 = fpext float %512 to double
%514 = call double @llvm.fabs.f64(double %513)
%515 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.6, i64 0, i64 0), double %493, double %498, double %503, double %514)
br label %516
516: ; preds = %406
%517 = load i32, i32* %2
%518 = add nsw i32 %517, 1
store i32 %518, i32* %2
br label %402
519: ; preds = %402
%520 = call i32 (...) @getch()
%521 = load i32, i32* %1
ret i32 %521
}

LLVM IR (-O2):
@.str.1 = [9 x i8] c"%f,%f,%d\00"
@.str.2 = [39 x i8] c"--------------------------------------\00"
@.str.4 = [56 x i8] c"\09y ' = -ty + 4t/y \09%1.0f<=t<=%1.0f \09y (0) =1\09h = %4.2f\0A\00"
@.str.6 = [32 x i8] c"%3.2f\09%20.18f\09 %20.18f\09%20.18f\0A\00"
@str = [46 x i8] c"Please input equations's limits and sections.\00"
@str.8 = [40 x i8] c"---------------------------------------\00"
@str.9 = [63 x i8] c" ti Taylor method of order 2 Taylor method of order 4 \09error\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca float
%3 = alloca float
%4 = alloca [10 x float]
%5 = alloca [10 x float]
%6 = bitcast i32* %1 to i8*
%7 = bitcast float* %2 to i8*
%8 = bitcast float* %3 to i8*
%9 = bitcast [10 x float]* %4 to i8*
%10 = bitcast [10 x float]* %5 to i8*
%11 = tail call i32 (...) @clrscr()
%12 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([46 x i8], [46 x i8]* @str, i64 0, i64 0))
%13 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), float* %2, float* %3, i32* %1)
%14 = load float, float* %3
%15 = load float, float* %2
%16 = fsub float %14, %15
%17 = load i32, i32* %1
%18 = sitofp i32 %17 to float
%19 = fdiv float %16, %18
%20 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([39 x i8], [39 x i8]* @.str.2, i64 0, i64 0))
%21 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([40 x i8], [40 x i8]* @str.8, i64 0, i64 0))
%22 = load float, float* %2
%23 = fpext float %22 to double
%24 = load float, float* %3
%25 = fpext float %24 to double
%26 = fpext float %19 to double
%27 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([56 x i8], [56 x i8]* @.str.4, i64 0, i64 0), double %23, double %25, double %26)
%28 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([39 x i8], [39 x i8]* @.str.2, i64 0, i64 0))
%29 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([40 x i8], [40 x i8]* @str.8, i64 0, i64 0))
%30 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([63 x i8], [63 x i8]* @str.9, i64 0, i64 0))
%31 = getelementptr inbounds [10 x float], [10 x float]* %4, i64 0, i64 0
store float 1.000000e+00, float* %31
%32 = getelementptr inbounds [10 x float], [10 x float]* %5, i64 0, i64 0
store float 1.000000e+00, float* %32
%33 = load i32, i32* %1
%34 = icmp slt i32 %33, 0
br i1 %34, label %268, label %35
35: ; preds = %0
%36 = fmul float %19, 2.000000e+00
%37 = insertelement <2 x float> poison, float %19, i64 0
%38 = shufflevector <2 x float> %37, <2 x float> poison, <2 x i32> zeroinitializer
%39 = insertelement <2 x float> poison, float %19, i64 0
%40 = shufflevector <2 x float> %39, <2 x float> poison, <2 x i32> zeroinitializer
br label %46
41: ; preds = %46
%42 = icmp slt i32 %221, 0
br i1 %42, label %268, label %43
43: ; preds = %41
%44 = fmul float %19, 2.000000e+00
%45 = load float, float* %32
br label %224
46: ; preds = %35, %46
%47 = phi float [ 1.000000e+00, %35 ], [ %218, %46 ]
%48 = phi i64 [ 0, %35 ], [ %219, %46 ]
%49 = trunc i64 %48 to i32
%50 = sitofp i32 %49 to float
%51 = fmul float %19, %50
%52 = fneg float %47
%53 = fmul float %51, 4.000000e+00
%54 = fdiv float %53, %47
%55 = call float @llvm.fmuladd.f32(float %52, float %51, float %54)
%56 = fpext float %55 to double
%57 = fmul float %51, %51
%58 = fmul float %57, %47
%59 = insertelement <2 x float> poison, float %47, i64 0
%60 = insertelement <2 x float> %59, float %58, i64 1
%61 = fpext <2 x float> %60 to <2 x double>
%62 = extractelement <2 x double> %61, i64 0
%63 = fmul double %62, -5.000000e-01
%64 = call double @llvm.fmuladd.f64(double %63, double %26, double %56)
%65 = fpext float %51 to double
%66 = fmul double %65, 5.000000e-01
%67 = fmul double %66, %65
%68 = fmul double %67, %62
%69 = call double @llvm.fmuladd.f64(double %68, double %26, double %64)
%70 = fptrunc double %69 to float
%71 = fdiv float %36, %47
%72 = fpext float %71 to double
%73 = fmul float %51, 8.000000e+00
%74 = fmul float %51, %73
%75 = fmul float %19, %74
%76 = fpext float %75 to double
%77 = call double @pow(double %62, double 3.000000e+00)
%78 = fdiv double %76, %77
%79 = fsub double %72, %78
%80 = fptrunc double %79 to float
%81 = fmul double %66, %62
%82 = fmul double %81, %26
%83 = fmul float %51, 2.000000e+00
%84 = fmul float %51, %83
%85 = fmul float %51, %84
%86 = fmul float %19, %85
%87 = fmul float %19, %86
%88 = fmul float %47, 3.000000e+00
%89 = fdiv float %87, %88
%90 = fpext float %89 to double
%91 = call double @llvm.fmuladd.f64(double %82, double %26, double %90)
%92 = fmul float %19, %73
%93 = fmul float %19, %92
%94 = fpext float %93 to double
%95 = call double @pow(double %62, double 3.000000e+00)
%96 = fdiv double %94, %95
%97 = fsub double %91, %96
%98 = fptrunc double %97 to float
%99 = call double @pow(double %62, double 3.000000e+00)
%100 = insertelement <2 x float> poison, float %51, i64 0
%101 = shufflevector <2 x float> %100, <2 x float> poison, <2 x i32> zeroinitializer
%102 = fmul <2 x float> %101, <float -8.000000e+00, float 3.200000e+01>
%103 = fmul <2 x float> %101, %102
%104 = fmul <2 x float> %101, %103
%105 = fmul <2 x float> %40, %104
%106 = fmul <2 x float> %38, %105
%107 = fpext <2 x float> %106 to <2 x double>
%108 = call double @pow(double %62, double 5.000000e+00)
%109 = insertelement <2 x double> poison, double %99, i64 0
%110 = insertelement <2 x double> %109, double %108, i64 1
%111 = fdiv <2 x double> %107, %110
%112 = shufflevector <2 x double> %111, <2 x double> poison, <2 x i32> <i32 1, i32 undef>
%113 = fadd <2 x double> %111, %112
%114 = extractelement <2 x double> %113, i64 0
%115 = fptrunc double %114 to float
%116 = fneg float %51
%117 = fmul float %51, %116
%118 = fmul float %51, %117
%119 = fmul float %118, %47
%120 = fmul float %19, %119
%121 = fmul float %19, %120
%122 = fdiv float %121, 6.000000e+00
%123 = fpext float %122 to double
%124 = call double @pow(double %26, double 3.000000e+00)
%125 = call double @pow(double %26, double 3.000000e+00)
%126 = insertelement <2 x double> poison, double %124, i64 0
%127 = insertelement <2 x double> %126, double %125, i64 1
%128 = fmul <2 x double> %127, %61
%129 = fmul <2 x double> %128, <double 1.250000e-01, double 2.500000e-01>
%130 = extractelement <2 x double> %129, i64 0
%131 = fadd double %130, %123
%132 = extractelement <2 x double> %129, i64 1
%133 = fsub double %131, %132
%134 = fptrunc double %133 to float
%135 = fpext float %57 to double
%136 = call double @pow(double %26, double 3.000000e+00)
%137 = call double @pow(double %65, double 4.000000e+00)
%138 = fmul double %137, %62
%139 = call double @pow(double %26, double 3.000000e+00)
%140 = insertelement <2 x double> poison, double %136, i64 0
%141 = insertelement <2 x double> %140, double %138, i64 1
%142 = insertelement <2 x double> poison, double %135, i64 0
%143 = insertelement <2 x double> %142, double %139, i64 1
%144 = fmul <2 x double> %141, %143
%145 = insertelement <2 x double> %61, double 2.400000e+01, i64 1
%146 = fdiv <2 x double> %144, %145
%147 = shufflevector <2 x double> %146, <2 x double> poison, <2 x i32> <i32 1, i32 undef>
%148 = fadd <2 x double> %146, %147
%149 = extractelement <2 x double> %148, i64 0
%150 = fptrunc double %149 to float
%151 = call double @pow(double %26, double 3.000000e+00)
%152 = call double @pow(double %62, double 3.000000e+00)
%153 = fmul float %51, 1.200000e+01
%154 = fmul float %51, %153
%155 = fpext float %154 to double
%156 = call double @pow(double %26, double 3.000000e+00)
%157 = insertelement <2 x double> poison, double %151, i64 0
%158 = insertelement <2 x double> %157, double %156, i64 1
%159 = insertelement <2 x double> <double -2.000000e+00, double poison>, double %155, i64 1
%160 = fmul <2 x double> %158, %159
%161 = call double @pow(double %62, double 3.000000e+00)
%162 = insertelement <2 x double> poison, double %152, i64 0
%163 = insertelement <2 x double> %162, double %161, i64 1
%164 = fdiv <2 x double> %160, %163
%165 = shufflevector <2 x double> %164, <2 x double> poison, <2 x i32> <i32 1, i32 undef>
%166 = fsub <2 x double> %164, %165
%167 = extractelement <2 x double> %166, i64 0
%168 = fptrunc double %167 to float
%169 = fmul float %51, 4.800000e+01
%170 = fmul float %51, %169
%171 = fpext float %170 to double
%172 = call double @pow(double %26, double 3.000000e+00)
%173 = call double @pow(double %62, double 5.000000e+00)
%174 = call double @pow(double %65, double 4.000000e+00)
%175 = fmul double %174, 6.400000e+01
%176 = call double @pow(double %26, double 3.000000e+00)
%177 = insertelement <2 x double> poison, double %172, i64 0
%178 = insertelement <2 x double> %177, double %175, i64 1
%179 = insertelement <2 x double> poison, double %171, i64 0
%180 = insertelement <2 x double> %179, double %176, i64 1
%181 = fmul <2 x double> %178, %180
%182 = call double @pow(double %62, double 5.000000e+00)
%183 = insertelement <2 x double> poison, double %173, i64 0
%184 = insertelement <2 x double> %183, double %182, i64 1
%185 = fdiv <2 x double> %181, %184
%186 = shufflevector <2 x double> %185, <2 x double> poison, <2 x i32> <i32 1, i32 undef>
%187 = fadd <2 x double> %185, %186
%188 = extractelement <2 x double> %187, i64 0
%189 = fptrunc double %188 to float
%190 = call double @pow(double %65, double 4.000000e+00)
%191 = call double @pow(double %26, double 3.000000e+00)
%192 = call double @pow(double %62, double 7.000000e+00)
%193 = call double @pow(double %26, double 3.000000e+00)
%194 = insertelement <2 x double> poison, double %190, i64 0
%195 = insertelement <2 x double> %194, double %193, i64 1
%196 = fmul <2 x double> %195, <double -1.600000e+02, double 2.000000e+01>
%197 = call double @pow(double %65, double 4.000000e+00)
%198 = insertelement <2 x double> poison, double %191, i64 0
%199 = insertelement <2 x double> %198, double %197, i64 1
%200 = fmul <2 x double> %196, %199
%201 = call double @pow(double %62, double 3.000000e+00)
%202 = fmul double %201, 3.000000e+00
%203 = insertelement <2 x double> poison, double %192, i64 0
%204 = insertelement <2 x double> %203, double %202, i64 1
%205 = fdiv <2 x double> %200, %204
%206 = shufflevector <2 x double> %205, <2 x double> poison, <2 x i32> <i32 1, i32 undef>
%207 = fsub <2 x double> %205, %206
%208 = extractelement <2 x double> %207, i64 0
%209 = fptrunc double %208 to float
%210 = fadd float %80, %70
%211 = fadd float %210, %98
%212 = fadd float %211, %115
%213 = fadd float %212, %134
%214 = fadd float %213, %150
%215 = fadd float %214, %168
%216 = fadd float %215, %189
%217 = fadd float %216, %209
%218 = call float @llvm.fmuladd.f32(float %217, float %19, float %47)
%219 = add nuw nsw i64 %48, 1
%220 = getelementptr inbounds [10 x float], [10 x float]* %4, i64 0, i64 %219
store float %218, float* %220
%221 = load i32, i32* %1
%222 = sext i32 %221 to i64
%223 = icmp slt i64 %48, %222
br i1 %223, label %46, label %41
224: ; preds = %43, %224
%225 = phi float [ %45, %43 ], [ %255, %224 ]
%226 = phi i64 [ 0, %43 ], [ %256, %224 ]
%227 = trunc i64 %226 to i32
%228 = sitofp i32 %227 to float
%229 = fmul float %19, %228
%230 = fneg float %225
%231 = fmul float %229, 4.000000e+00
%232 = fdiv float %231, %225
%233 = call float @llvm.fmuladd.f32(float %230, float %229, float %232)
%234 = fpext float %233 to double
%235 = fpext float %225 to double
%236 = fmul double %235, -5.000000e-01
%237 = call double @llvm.fmuladd.f64(double %236, double %26, double %234)
%238 = fpext float %229 to double
%239 = fmul double %238, 5.000000e-01
%240 = fmul double %239, %238
%241 = fmul double %240, %235
%242 = call double @llvm.fmuladd.f64(double %241, double %26, double %237)
%243 = fptrunc double %242 to float
%244 = fdiv float %44, %225
%245 = fpext float %244 to double
%246 = fmul float %229, 8.000000e+00
%247 = fmul float %229, %246
%248 = fmul float %19, %247
%249 = fpext float %248 to double
%250 = call double @pow(double %235, double 3.000000e+00)
%251 = fdiv double %249, %250
%252 = fsub double %245, %251
%253 = fptrunc double %252 to float
%254 = fadd float %253, %243
%255 = call float @llvm.fmuladd.f32(float %254, float %19, float %225)
%256 = add nuw nsw i64 %226, 1
%257 = getelementptr inbounds [10 x float], [10 x float]* %5, i64 0, i64 %256
store float %255, float* %257
%258 = getelementptr inbounds [10 x float], [10 x float]* %4, i64 0, i64 %226
%259 = load float, float* %258
%260 = fpext float %259 to double
%261 = fsub float %225, %259
%262 = call float @llvm.fabs.f32(float %261)
%263 = fpext float %262 to double
%264 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.6, i64 0, i64 0), double %238, double %235, double %260, double %263)
%265 = load i32, i32* %1
%266 = sext i32 %265 to i64
%267 = icmp slt i64 %226, %266
br i1 %267, label %224, label %268
268: ; preds = %224, %0, %41
%269 = call i32 (...) @getch()
ret i32 0
}