#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 */
typedef int /*<<< orphan*/ FILE;

/* Variables and functions */
int abs(int);
int floor(int);
int /*<<< orphan*/ fprintf(int /*<<< orphan*/ *, char *, char *);
int log10(double);
int /*<<< orphan*/ sprintf(char *, char *, int);
scalar_t__ strcmp1(char *, char *);
int /*<<< orphan*/ strcpy1(char *, char *, int);
void frdheader(int *icounter, double *oner, double *time, double *pi,
               int *noddiam, double *cs, int *null, int *mode, int *noutloc,
               char *description, int *kode, int *nmethod, FILE *f1,
               char *output, int *istep, int *iinc) {
  char tmp[132], text[132];
  int i, ncomma;
  strcpy1(&text[0], "    1PSTEP", 10);
  for (i = 10; i < 70; i++)
    text[i] = ' ';
  text[70] = '\0';
  (*icounter)++;
  sprintf(&text[24],
          "%12"
          "d"
          "",
          *icounter);
  sprintf(&text[36],
          "%12"
          "d"
          "",
          *iinc);
  sprintf(&text[48],
          "%12"
          "d"
          "",
          *istep);
  text[60] = ' ';
  fprintf(f1, "%s\n", text);
  if ((*nmethod == 2) || (*nmethod == 6) || (*nmethod == 7) ||
      (*nmethod == 13) || ((*nmethod == 12) && (*noddiam > -1))) {
    strcpy1(&text[0], "    1PGM", 8);
    for (i = 8; i < 70; i++)
      text[i] = ' ';
    text[70] = '\0';
    sprintf(&text[24], "%12.6E", *oner);
    text[36] = ' ';
    fprintf(f1, "%s\n", text);
    strcpy1(&text[0], "    1PGK", 8);
    for (i = 8; i < 70; i++)
      text[i] = ' ';
    text[70] = '\0';
    sprintf(&text[24], "%12.6E", (*time * 2. * *pi) * (*time * 2. * *pi));
    text[36] = ' ';
    fprintf(f1, "%s\n", text);
    strcpy1(&text[0], "    1PHID", 9);
    for (i = 9; i < 70; i++)
      text[i] = ' ';
    text[70] = '\0';
    sprintf(&text[24],
            "%12"
            "d"
            "",
            *noddiam);
    text[36] = ' ';
    fprintf(f1, "%s\n", text);
    if ((*noddiam >= 0) && (cs != NULL)) {
      strcpy1(&text[0], "    1PAX", 8);
      for (i = 8; i < 24; i++)
        text[i] = ' ';
      sprintf(&text[24], "%12.5E", cs[5]);
      sprintf(&text[36], "%12.5E", cs[6]);
      sprintf(&text[48], "%12.5E", cs[7]);
      sprintf(&text[60], "%12.5E", cs[8]);
      sprintf(&text[72], "%12.5E", cs[9]);
      sprintf(&text[84], "%12.5E", cs[10]);
      fprintf(f1, "%s\n", text);
    }
    strcpy1(&text[0], "    1PSUBC", 10);
    for (i = 10; i < 70; i++)
      text[i] = ' ';
    text[70] = '\0';
    sprintf(&text[24],
            "%12"
            "d"
            "",
            *null);
    text[36] = ' ';
    fprintf(f1, "%s\n", text);
    strcpy1(&text[0], "    1PMODE", 10);
    for (i = 10; i < 70; i++)
      text[i] = ' ';
    text[70] = '\0';
    sprintf(&text[24],
            "%12"
            "d"
            "",
            *mode + 1);
    text[36] = ' ';
    fprintf(f1, "%s\n", text);
  }
  for (i = 0; i < 75; i++)
    text[i] = ' ';
  if (abs(*nmethod) == 1) {
    strcpy1(&text[0],
            "  100CL       .00000E+00                                 0    1",
            63);
  } else if ((*nmethod == 2) || (*nmethod == 13)) {
    strcpy1(&text[0],
            "  100CL       .00000E+00                                 2    1",
            63);
  } else if (*nmethod == 3) {
    strcpy1(&text[0],
            "  100CL       .00000E+00                                 4    1",
            63);
  } else if ((*nmethod == 4) || (*nmethod == 5)) {
    strcpy1(&text[0],
            "  100CL       .00000E+00                                 1    1",
            63);
  } else {
    strcpy1(&text[0],
            "  100CL       .00000E+00                                 3    1",
            63);
  }
  sprintf(tmp,
          "%12"
          "d"
          "",
          *noutloc);
  strcpy1(&text[24], tmp, 12);
  strcpy1(&text[36], description, 12);
  if ((*nmethod == 2) || (*nmethod == 13))
    strcpy1(&text[63], "MODAL", 5);
  if (strcmp1(output, "asc") == 0) {
    strcpy1(&text[74], "1", 1);
  } else if (strcmp1(output, "bin") == 0) {
    strcpy1(&text[74], "2", 1);
  } else {
    strcpy1(&text[74], "3", 1);
  }
  sprintf(tmp,
          "%5"
          "d"
          "",
          100 + (*kode));
  strcpy1(&text[7], tmp, 5);
  if (*time <= 0.) {
    sprintf(tmp, "%12.5E", *time);
  } else if ((log10(*time) >= 0) && (log10(*time) < 10.)) {
    ncomma = 10 - floor(log10(*time) + 1.);
    if (ncomma == 0) {
      sprintf(tmp, "%12.0f", *time);
    } else if (ncomma == 1) {
      sprintf(tmp, "%12.1f", *time);
    } else if (ncomma == 2) {
      sprintf(tmp, "%12.2f", *time);
    } else if (ncomma == 3) {
      sprintf(tmp, "%12.3f", *time);
    } else if (ncomma == 4) {
      sprintf(tmp, "%12.4f", *time);
    } else if (ncomma == 5) {
      sprintf(tmp, "%12.5f", *time);
    } else if (ncomma == 6) {
      sprintf(tmp, "%12.6f", *time);
    } else if (ncomma == 7) {
      sprintf(tmp, "%12.7f", *time);
    } else if (ncomma == 8) {
      sprintf(tmp, "%12.8f", *time);
    } else {
      sprintf(tmp, "%12.9f", *time);
    }
  } else {
    sprintf(tmp, "%12.5E", *time);
  }
  strcpy1(&text[12], tmp, 12);
  sprintf(tmp,
          "%5"
          "d"
          "",
          *kode);
  strcpy1(&text[58], tmp, 5);
  text[75] = '\0';
  fprintf(f1, "%s\n", text);
}


x86 assembly (clang, -O0):
<frdheader>:
push   %rbp
mov    %rsp,%rbp
sub    $0x160,%rsp
mov    0x58(%rbp),%rax
mov    0x50(%rbp),%rax
mov    0x48(%rbp),%rax
mov    0x40(%rbp),%rax
mov    0x38(%rbp),%rax
mov    0x30(%rbp),%rax
mov    0x28(%rbp),%rax
mov    0x20(%rbp),%rax
mov    0x18(%rbp),%rax
mov    0x10(%rbp),%rax
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    %rcx,-0x20(%rbp)
mov    %r8,-0x28(%rbp)
mov    %r9,-0x30(%rbp)
lea    -0x150(%rbp),%rdi
lea    0xe4f(%rip),%rsi
mov    $0xa,%edx
call   1060 <strcpy1@plt>
movl   $0xa,-0x154(%rbp)
cmpl   $0x46,-0x154(%rbp)
jge    120d <frdheader+0x9d>
movslq -0x154(%rbp),%rax
movb   $0x20,-0x150(%rbp,%rax,1)
20
mov    -0x154(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x154(%rbp)
jmp    11dd <frdheader+0x6d>
movb   $0x0,-0x10a(%rbp)
mov    -0x8(%rbp),%rax
mov    (%rax),%ecx
add    $0x1,%ecx
mov    %ecx,(%rax)
lea    -0x150(%rbp),%rdi
add    $0x18,%rdi
mov    -0x8(%rbp),%rax
mov    (%rax),%edx
lea    0xdec(%rip),%rsi
call   1080 <sprintf@plt>
lea    -0x150(%rbp),%rdi
add    $0x24,%rdi
mov    0x58(%rbp),%rax
mov    (%rax),%edx
lea    0xdcf(%rip),%rsi
call   1080 <sprintf@plt>
lea    -0x150(%rbp),%rdi
add    $0x30,%rdi
mov    0x50(%rbp),%rax
mov    (%rax),%edx
lea    0xdb2(%rip),%rsi
call   1080 <sprintf@plt>
movb   $0x20,-0x114(%rbp)
mov    0x40(%rbp),%rdi
lea    -0x150(%rbp),%rdx
lea    0xd99(%rip),%rsi
call   1050 <fprintf@plt>
mov    0x38(%rbp),%rax
cmpl   $0x2,(%rax)
je     12e2 <frdheader+0x172>
mov    0x38(%rbp),%rax
cmpl   $0x6,(%rax)
je     12e2 <frdheader+0x172>
mov    0x38(%rbp),%rax
cmpl   $0x7,(%rax)
je     12e2 <frdheader+0x172>
mov    0x38(%rbp),%rax
cmpl   $0xd,(%rax)
je     12e2 <frdheader+0x172>
mov    0x38(%rbp),%rax
cmpl   $0xc,(%rax)
jne    173e <frdheader+0x5ce>
mov    -0x28(%rbp),%rax
cmpl   $0xffffffff,(%rax)
jle    173e <frdheader+0x5ce>
lea    -0x150(%rbp),%rdi
lea    0xd3c(%rip),%rsi
mov    $0x8,%edx
call   1060 <strcpy1@plt>
movl   $0x8,-0x154(%rbp)
cmpl   $0x46,-0x154(%rbp)
jge    1334 <frdheader+0x1c4>
movslq -0x154(%rbp),%rax
movb   $0x20,-0x150(%rbp,%rax,1)
20
mov    -0x154(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x154(%rbp)
jmp    1304 <frdheader+0x194>
movb   $0x0,-0x10a(%rbp)
lea    -0x150(%rbp),%rdi
add    $0x18,%rdi
mov    -0x10(%rbp),%rax
cvttsd2si (%rax),%edx
lea    0xce0(%rip),%rsi
call   1080 <sprintf@plt>
movb   $0x20,-0x12c(%rbp)
mov    0x40(%rbp),%rdi
lea    -0x150(%rbp),%rdx
lea    0xcb5(%rip),%rsi
call   1050 <fprintf@plt>
lea    -0x150(%rbp),%rdi
lea    0xcb6(%rip),%rsi
mov    $0x8,%edx
call   1060 <strcpy1@plt>
movl   $0x8,-0x154(%rbp)
cmpl   $0x46,-0x154(%rbp)
jge    13ca <frdheader+0x25a>
movslq -0x154(%rbp),%rax
movb   $0x20,-0x150(%rbp,%rax,1)
20
mov    -0x154(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x154(%rbp)
jmp    139a <frdheader+0x22a>
movb   $0x0,-0x10a(%rbp)
lea    -0x150(%rbp),%rdi
add    $0x18,%rdi
mov    -0x18(%rbp),%rax
movsd  0xc18(%rip),%xmm0
mulsd  (%rax),%xmm0
mov    -0x20(%rbp),%rax
mulsd  (%rax),%xmm0
mov    -0x18(%rbp),%rax
movsd  0xc00(%rip),%xmm1
mulsd  (%rax),%xmm1
mov    -0x20(%rbp),%rax
mulsd  (%rax),%xmm1
mulsd  %xmm1,%xmm0
cvttsd2si %xmm0,%edx
lea    0xc1a(%rip),%rsi
call   1080 <sprintf@plt>
movb   $0x20,-0x12c(%rbp)
mov    0x40(%rbp),%rdi
lea    -0x150(%rbp),%rdx
lea    0xbef(%rip),%rsi
call   1050 <fprintf@plt>
lea    -0x150(%rbp),%rdi
lea    0xbf9(%rip),%rsi
mov    $0x9,%edx
call   1060 <strcpy1@plt>
movl   $0x9,-0x154(%rbp)
cmpl   $0x46,-0x154(%rbp)
jge    1490 <frdheader+0x320>
movslq -0x154(%rbp),%rax
movb   $0x20,-0x150(%rbp,%rax,1)
20
mov    -0x154(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x154(%rbp)
jmp    1460 <frdheader+0x2f0>
movb   $0x0,-0x10a(%rbp)
lea    -0x150(%rbp),%rdi
add    $0x18,%rdi
mov    -0x28(%rbp),%rax
mov    (%rax),%edx
lea    0xb74(%rip),%rsi
call   1080 <sprintf@plt>
movb   $0x20,-0x12c(%rbp)
mov    0x40(%rbp),%rdi
lea    -0x150(%rbp),%rdx
lea    0xb5b(%rip),%rsi
call   1050 <fprintf@plt>
mov    -0x28(%rbp),%rax
cmpl   $0x0,(%rax)
jl     1613 <frdheader+0x4a3>
cmpq   $0x0,-0x30(%rbp)
je     1613 <frdheader+0x4a3>
lea    -0x150(%rbp),%rdi
lea    0xb57(%rip),%rsi
mov    $0x8,%edx
call   1060 <strcpy1@plt>
movl   $0x8,-0x154(%rbp)
cmpl   $0x18,-0x154(%rbp)
jge    153c <frdheader+0x3cc>
movslq -0x154(%rbp),%rax
movb   $0x20,-0x150(%rbp,%rax,1)
20
mov    -0x154(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x154(%rbp)
jmp    150c <frdheader+0x39c>
lea    -0x150(%rbp),%rdi
add    $0x18,%rdi
mov    -0x30(%rbp),%rax
cvttsd2si 0x28(%rax),%edx
lea    0xb01(%rip),%rsi
call   1080 <sprintf@plt>
lea    -0x150(%rbp),%rdi
add    $0x24,%rdi
mov    -0x30(%rbp),%rax
cvttsd2si 0x30(%rax),%edx
lea    0xae1(%rip),%rsi
call   1080 <sprintf@plt>
lea    -0x150(%rbp),%rdi
add    $0x30,%rdi
mov    -0x30(%rbp),%rax
cvttsd2si 0x38(%rax),%edx
lea    0xac1(%rip),%rsi
call   1080 <sprintf@plt>
lea    -0x150(%rbp),%rdi
add    $0x3c,%rdi
mov    -0x30(%rbp),%rax
cvttsd2si 0x40(%rax),%edx
lea    0xaa1(%rip),%rsi
call   1080 <sprintf@plt>
lea    -0x150(%rbp),%rdi
add    $0x48,%rdi
mov    -0x30(%rbp),%rax
cvttsd2si 0x48(%rax),%edx
lea    0xa81(%rip),%rsi
call   1080 <sprintf@plt>
lea    -0x150(%rbp),%rdi
add    $0x54,%rdi
mov    -0x30(%rbp),%rax
cvttsd2si 0x50(%rax),%edx
lea    0xa61(%rip),%rsi
call   1080 <sprintf@plt>
mov    0x40(%rbp),%rdi
lea    -0x150(%rbp),%rdx
lea    0xa1a(%rip),%rsi
call   1050 <fprintf@plt>
lea    -0x150(%rbp),%rdi
lea    0xa3e(%rip),%rsi
mov    $0xa,%edx
call   1060 <strcpy1@plt>
movl   $0xa,-0x154(%rbp)
cmpl   $0x46,-0x154(%rbp)
jge    1665 <frdheader+0x4f5>
movslq -0x154(%rbp),%rax
movb   $0x20,-0x150(%rbp,%rax,1)
20
mov    -0x154(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x154(%rbp)
jmp    1635 <frdheader+0x4c5>
movb   $0x0,-0x10a(%rbp)
lea    -0x150(%rbp),%rdi
add    $0x18,%rdi
mov    0x10(%rbp),%rax
mov    (%rax),%edx
lea    0x99f(%rip),%rsi
call   1080 <sprintf@plt>
movb   $0x20,-0x12c(%rbp)
mov    0x40(%rbp),%rdi
lea    -0x150(%rbp),%rdx
lea    0x986(%rip),%rsi
call   1050 <fprintf@plt>
lea    -0x150(%rbp),%rdi
lea    0x9b5(%rip),%rsi
mov    $0xa,%edx
call   1060 <strcpy1@plt>
movl   $0xa,-0x154(%rbp)
cmpl   $0x46,-0x154(%rbp)
jge    16f9 <frdheader+0x589>
movslq -0x154(%rbp),%rax
movb   $0x20,-0x150(%rbp,%rax,1)
20
mov    -0x154(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x154(%rbp)
jmp    16c9 <frdheader+0x559>
movb   $0x0,-0x10a(%rbp)
lea    -0x150(%rbp),%rdi
add    $0x18,%rdi
mov    0x18(%rbp),%rax
mov    (%rax),%edx
add    $0x1,%edx
lea    0x908(%rip),%rsi
call   1080 <sprintf@plt>
movb   $0x20,-0x12c(%rbp)
mov    0x40(%rbp),%rdi
lea    -0x150(%rbp),%rdx
lea    0x8ef(%rip),%rsi
call   1050 <fprintf@plt>
movl   $0x0,-0x154(%rbp)
cmpl   $0x4b,-0x154(%rbp)
jge    1778 <frdheader+0x608>
movslq -0x154(%rbp),%rax
movb   $0x20,-0x150(%rbp,%rax,1)
20
mov    -0x154(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x154(%rbp)
jmp    1748 <frdheader+0x5d8>
mov    0x38(%rbp),%rax
mov    (%rax),%edi
call   1030 <abs@plt>
cmp    $0x1,%eax
jne    17a9 <frdheader+0x639>
lea    -0x150(%rbp),%rdi
lea    0x8db(%rip),%rsi
mov    $0x3f,%edx
call   1060 <strcpy1@plt>
jmp    1868 <frdheader+0x6f8>
mov    0x38(%rbp),%rax
cmpl   $0x2,(%rax)
je     17c3 <frdheader+0x653>
mov    0x38(%rbp),%rax
cmpl   $0xd,(%rax)
jne    17e0 <frdheader+0x670>
lea    -0x150(%rbp),%rdi
lea    0x8e4(%rip),%rsi
mov    $0x3f,%edx
call   1060 <strcpy1@plt>
jmp    1863 <frdheader+0x6f3>
mov    0x38(%rbp),%rax
cmpl   $0x3,(%rax)
jne    180a <frdheader+0x69a>
lea    -0x150(%rbp),%rdi
lea    0x8fa(%rip),%rsi
mov    $0x3f,%edx
call   1060 <strcpy1@plt>
jmp    185e <frdheader+0x6ee>
mov    0x38(%rbp),%rax
cmpl   $0x4,(%rax)
je     1824 <frdheader+0x6b4>
mov    0x38(%rbp),%rax
cmpl   $0x5,(%rax)
jne    1841 <frdheader+0x6d1>
lea    -0x150(%rbp),%rdi
lea    0x903(%rip),%rsi
mov    $0x3f,%edx
call   1060 <strcpy1@plt>
jmp    1859 <frdheader+0x6e9>
lea    -0x150(%rbp),%rdi
lea    0x926(%rip),%rsi
mov    $0x3f,%edx
call   1060 <strcpy1@plt>
jmp    185e <frdheader+0x6ee>
jmp    1863 <frdheader+0x6f3>
jmp    1868 <frdheader+0x6f8>
lea    -0xc0(%rbp),%rdi
mov    0x20(%rbp),%rax
mov    (%rax),%edx
lea    0x7a7(%rip),%rsi
call   1080 <sprintf@plt>
lea    -0x150(%rbp),%rdi
add    $0x18,%rdi
lea    -0xc0(%rbp),%rsi
mov    $0xc,%edx
call   1060 <strcpy1@plt>
lea    -0x150(%rbp),%rdi
add    $0x24,%rdi
mov    0x28(%rbp),%rsi
mov    $0xc,%edx
call   1060 <strcpy1@plt>
mov    0x38(%rbp),%rax
cmpl   $0x2,(%rax)
je     18d0 <frdheader+0x760>
mov    0x38(%rbp),%rax
cmpl   $0xd,(%rax)
jne    18ec <frdheader+0x77c>
lea    -0x150(%rbp),%rdi
add    $0x3f,%rdi
lea    0x8d3(%rip),%rsi
mov    $0x5,%edx
call   1060 <strcpy1@plt>
mov    0x48(%rbp),%rdi
lea    0x8c4(%rip),%rsi
call   1040 <strcmp1@plt>
cmp    $0x0,%rax
jne    1927 <frdheader+0x7b7>
lea    -0x150(%rbp),%rdi
add    $0x4a,%rdi
lea    0x79b(%rip),%rsi
mov    $0x1,%edx
call   1060 <strcpy1@plt>
jmp    1983 <frdheader+0x813>
mov    0x48(%rbp),%rdi
lea    0x88d(%rip),%rsi
call   1040 <strcmp1@plt>
cmp    $0x0,%rax
jne    1962 <frdheader+0x7f2>
lea    -0x150(%rbp),%rdi
add    $0x4a,%rdi
lea    0x870(%rip),%rsi
mov    $0x1,%edx
call   1060 <strcpy1@plt>
jmp    197e <frdheader+0x80e>
lea    -0x150(%rbp),%rdi
add    $0x4a,%rdi
lea    0x851(%rip),%rsi
mov    $0x1,%edx
call   1060 <strcpy1@plt>
jmp    1983 <frdheader+0x813>
lea    -0xc0(%rbp),%rdi
mov    0x30(%rbp),%rax
mov    (%rax),%edx
add    $0x64,%edx
lea    0x82d(%rip),%rsi
call   1080 <sprintf@plt>
lea    -0x150(%rbp),%rdi
add    $0x7,%rdi
lea    -0xc0(%rbp),%rsi
mov    $0x5,%edx
call   1060 <strcpy1@plt>
mov    -0x18(%rbp),%rax
xorps  %xmm0,%xmm0
ucomisd (%rax),%xmm0
jb     19ec <frdheader+0x87c>
lea    -0xc0(%rbp),%rdi
mov    -0x18(%rbp),%rax
cvttsd2si (%rax),%edx
lea    0x676(%rip),%rsi
call   1080 <sprintf@plt>
jmp    1c57 <frdheader+0xae7>
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm0
call   1070 <log10@plt>
cmp    $0x0,%eax
jl     1c37 <frdheader+0xac7>
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm0
call   1070 <log10@plt>
cvtsi2sd %eax,%xmm1
movsd  0x5ed(%rip),%xmm0
ucomisd %xmm1,%xmm0
jbe    1c37 <frdheader+0xac7>
mov    -0x18(%rbp),%rax
movsd  (%rax),%xmm0
call   1070 <log10@plt>
cvtsi2sd %eax,%xmm0
movsd  0x5d2(%rip),%xmm1
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%edi
call   1090 <floor@plt>
mov    %eax,%ecx
mov    $0xa,%eax
sub    %ecx,%eax
mov    %eax,-0x158(%rbp)
cmpl   $0x0,-0x158(%rbp)
jne    1a87 <frdheader+0x917>
lea    -0xc0(%rbp),%rdi
mov    -0x18(%rbp),%rax
cvttsd2si (%rax),%edx
lea    0x74e(%rip),%rsi
call   1080 <sprintf@plt>
jmp    1c32 <frdheader+0xac2>
cmpl   $0x1,-0x158(%rbp)
jne    1ab4 <frdheader+0x944>
lea    -0xc0(%rbp),%rdi
mov    -0x18(%rbp),%rax
cvttsd2si (%rax),%edx
lea    0x728(%rip),%rsi
call   1080 <sprintf@plt>
jmp    1c2d <frdheader+0xabd>
cmpl   $0x2,-0x158(%rbp)
jne    1ae1 <frdheader+0x971>
lea    -0xc0(%rbp),%rdi
mov    -0x18(%rbp),%rax
cvttsd2si (%rax),%edx
lea    0x702(%rip),%rsi
call   1080 <sprintf@plt>
jmp    1c28 <frdheader+0xab8>
cmpl   $0x3,-0x158(%rbp)
jne    1b0e <frdheader+0x99e>
lea    -0xc0(%rbp),%rdi
mov    -0x18(%rbp),%rax
cvttsd2si (%rax),%edx
lea    0x6dc(%rip),%rsi
call   1080 <sprintf@plt>
jmp    1c23 <frdheader+0xab3>
cmpl   $0x4,-0x158(%rbp)
jne    1b3b <frdheader+0x9cb>
lea    -0xc0(%rbp),%rdi
mov    -0x18(%rbp),%rax
cvttsd2si (%rax),%edx
lea    0x6b6(%rip),%rsi
call   1080 <sprintf@plt>
jmp    1c1e <frdheader+0xaae>
cmpl   $0x5,-0x158(%rbp)
jne    1b68 <frdheader+0x9f8>
lea    -0xc0(%rbp),%rdi
mov    -0x18(%rbp),%rax
cvttsd2si (%rax),%edx
lea    0x690(%rip),%rsi
call   1080 <sprintf@plt>
jmp    1c19 <frdheader+0xaa9>
cmpl   $0x6,-0x158(%rbp)
jne    1b95 <frdheader+0xa25>
lea    -0xc0(%rbp),%rdi
mov    -0x18(%rbp),%rax
cvttsd2si (%rax),%edx
lea    0x66a(%rip),%rsi
call   1080 <sprintf@plt>
jmp    1c14 <frdheader+0xaa4>
cmpl   $0x7,-0x158(%rbp)
jne    1bc2 <frdheader+0xa52>
lea    -0xc0(%rbp),%rdi
mov    -0x18(%rbp),%rax
cvttsd2si (%rax),%edx
lea    0x644(%rip),%rsi
call   1080 <sprintf@plt>
jmp    1c0f <frdheader+0xa9f>
cmpl   $0x8,-0x158(%rbp)
jne    1bef <frdheader+0xa7f>
lea    -0xc0(%rbp),%rdi
mov    -0x18(%rbp),%rax
cvttsd2si (%rax),%edx
lea    0x61e(%rip),%rsi
call   1080 <sprintf@plt>
jmp    1c0a <frdheader+0xa9a>
lea    -0xc0(%rbp),%rdi
mov    -0x18(%rbp),%rax
cvttsd2si (%rax),%edx
lea    0x605(%rip),%rsi
call   1080 <sprintf@plt>
jmp    1c0f <frdheader+0xa9f>
jmp    1c14 <frdheader+0xaa4>
jmp    1c19 <frdheader+0xaa9>
jmp    1c1e <frdheader+0xaae>
jmp    1c23 <frdheader+0xab3>
jmp    1c28 <frdheader+0xab8>
jmp    1c2d <frdheader+0xabd>
jmp    1c32 <frdheader+0xac2>
jmp    1c52 <frdheader+0xae2>
lea    -0xc0(%rbp),%rdi
mov    -0x18(%rbp),%rax
cvttsd2si (%rax),%edx
lea    0x40b(%rip),%rsi
call   1080 <sprintf@plt>
jmp    1c57 <frdheader+0xae7>
lea    -0x150(%rbp),%rdi
add    $0xc,%rdi
lea    -0xc0(%rbp),%rsi
mov    $0xc,%edx
call   1060 <strcpy1@plt>
lea    -0xc0(%rbp),%rdi
mov    0x30(%rbp),%rax
mov    (%rax),%edx
lea    0x540(%rip),%rsi
call   1080 <sprintf@plt>
lea    -0x150(%rbp),%rdi
add    $0x3a,%rdi
lea    -0xc0(%rbp),%rsi
mov    $0x5,%edx
call   1060 <strcpy1@plt>
movb   $0x0,-0x105(%rbp)
mov    0x40(%rbp),%rdi
lea    -0x150(%rbp),%rdx
lea    0x367(%rip),%rsi
call   1050 <fprintf@plt>
add    $0x160,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<frdheader>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x138,%rsp
mov    %r9,%r14
mov    %r8,0x98(%rsp)
mov    %rcx,0xa8(%rsp)
mov    %rdx,0x8(%rsp)
mov    %rsi,0xa0(%rsp)
mov    %rdi,%rbx
mov    0x1a0(%rsp),%r12
mov    0x1b0(%rsp),%r15
mov    0x1b8(%rsp),%r13
lea    0xe5d(%rip),%rsi
lea    0x10(%rsp),%rbp
mov    %rbp,%rdi
mov    $0xa,%edx
call   1050 <strcpy1@plt>
movaps 0xe34(%rip),%xmm0
movups %xmm0,0x1a(%rsp)
movups %xmm0,0x2a(%rsp)
movups %xmm0,0x3a(%rsp)
movups %xmm0,0x46(%rsp)
movb   $0x0,0x56(%rsp)
mov    (%rbx),%edx
add    $0x1,%edx
mov    %edx,(%rbx)
lea    0x28(%rsp),%rdi
lea    0xe23(%rip),%rbx
mov    %rbx,%rsi
call   1070 <sprintf@plt>
lea    0x34(%rsp),%rdi
mov    0x0(%r13),%edx
mov    %rbx,%rsi
call   1070 <sprintf@plt>
lea    0x40(%rsp),%rdi
mov    (%r15),%edx
mov    0x198(%rsp),%r15
mov    %rbx,%rsi
call   1070 <sprintf@plt>
movb   $0x20,0x4c(%rsp)
lea    0xdeb(%rip),%rsi
mov    %r12,%rdi
mov    %rbp,%rdx
call   1040 <fprintf@plt>
mov    (%r15),%eax
cmp    $0xd,%eax
ja     1753 <frdheader+0x5f3>
mov    $0x20c4,%ecx
bt     %eax,%ecx
jae    15a7 <frdheader+0x447>
lea    0xdc3(%rip),%rsi
lea    0x10(%rsp),%r15
mov    %r15,%rdi
mov    $0x8,%edx
call   1050 <strcpy1@plt>
movaps 0xd86(%rip),%xmm0
movups %xmm0,0x18(%rsp)
movups %xmm0,0x28(%rsp)
movups %xmm0,0x38(%rsp)
movups %xmm0,0x46(%rsp)
movb   $0x0,0x56(%rsp)
mov    0xa0(%rsp),%rax
cvttsd2si (%rax),%edx
lea    0xd87(%rip),%rbx
lea    0x28(%rsp),%r13
mov    %r13,%rdi
mov    %rbx,%rsi
call   1070 <sprintf@plt>
movb   $0x20,0x34(%rsp)
lea    0xd5e(%rip),%rbp
mov    0x1a0(%rsp),%r12
mov    %r12,%rdi
mov    %rbp,%rsi
mov    %r15,%rdx
call   1040 <fprintf@plt>
lea    0xd55(%rip),%rsi
mov    %r15,%rdi
mov    $0x8,%edx
call   1050 <strcpy1@plt>
movaps 0xd0d(%rip),%xmm0
movups %xmm0,0x18(%rsp)
movups %xmm0,0x28(%rsp)
movups %xmm0,0x38(%rsp)
movups %xmm0,0x46(%rsp)
movb   $0x0,0x56(%rsp)
mov    0x8(%rsp),%rax
movsd  (%rax),%xmm0
addsd  %xmm0,%xmm0
mov    0xa8(%rsp),%rax
mulsd  (%rax),%xmm0
mulsd  %xmm0,%xmm0
cvttsd2si %xmm0,%edx
mov    %r13,%rdi
mov    %rbx,%rsi
call   1070 <sprintf@plt>
movb   $0x20,0x34(%rsp)
mov    %r12,%rdi
mov    %rbp,%rsi
mov    %r15,%rdx
call   1040 <fprintf@plt>
lea    0xceb(%rip),%rsi
mov    %r15,%rdi
mov    $0x9,%edx
call   1050 <strcpy1@plt>
movaps 0xc9a(%rip),%xmm0
movups %xmm0,0x19(%rsp)
movups %xmm0,0x29(%rsp)
movups %xmm0,0x39(%rsp)
movups %xmm0,0x46(%rsp)
movb   $0x0,0x56(%rsp)
mov    0x98(%rsp),%rbx
mov    (%rbx),%edx
lea    0xc8b(%rip),%rsi
mov    %r13,%rdi
call   1070 <sprintf@plt>
movb   $0x20,0x34(%rsp)
mov    %r12,%rdi
mov    %rbp,%rsi
mov    %r15,%rdx
call   1040 <fprintf@plt>
test   %r14,%r14
je     146f <frdheader+0x30f>
cmpl   $0x0,(%rbx)
js     146f <frdheader+0x30f>
lea    0x4c(%rsp),%rbx
lea    0xc7e(%rip),%rsi
lea    0x10(%rsp),%r15
mov    %r15,%rdi
mov    $0x8,%edx
call   1050 <strcpy1@plt>
movaps 0xc1e(%rip),%xmm0
movups %xmm0,-0x34(%rbx)
cvttsd2si 0x28(%r14),%edx
lea    0xc5d(%rip),%rbp
lea    0x28(%rsp),%rdi
mov    %rbp,%rsi
call   1070 <sprintf@plt>
cvttsd2si 0x30(%r14),%edx
lea    0x34(%rsp),%rdi
mov    %rbp,%rsi
call   1070 <sprintf@plt>
cvttsd2si 0x38(%r14),%edx
lea    0x40(%rsp),%rdi
mov    %rbp,%rsi
call   1070 <sprintf@plt>
cvttsd2si 0x40(%r14),%edx
mov    %rbx,%rdi
mov    %rbp,%rsi
call   1070 <sprintf@plt>
lea    0x58(%rsp),%rdi
cvttsd2si 0x48(%r14),%edx
mov    %rbp,%rsi
call   1070 <sprintf@plt>
lea    0x64(%rsp),%rdi
cvttsd2si 0x50(%r14),%edx
mov    %rbp,%rsi
call   1070 <sprintf@plt>
lea    0xbbc(%rip),%rsi
mov    %r12,%rdi
mov    %r15,%rdx
call   1040 <fprintf@plt>
lea    0xbe1(%rip),%rsi
lea    0x10(%rsp),%r13
mov    %r13,%rdi
mov    $0xa,%edx
call   1050 <strcpy1@plt>
movaps 0xb71(%rip),%xmm0
lea    0x1a(%rsp),%rbx
movups %xmm0,(%rbx)
movups %xmm0,0x10(%rbx)
movups %xmm0,0x20(%rbx)
movups %xmm0,0x2c(%rbx)
movb   $0x0,0x56(%rsp)
mov    0x170(%rsp),%rax
mov    (%rax),%edx
lea    0xb62(%rip),%r14
lea    0x28(%rsp),%rbp
mov    %rbp,%rdi
mov    %r14,%rsi
call   1070 <sprintf@plt>
movb   $0x20,0x34(%rsp)
lea    0xb4b(%rip),%r15
mov    %r12,%rdi
mov    %r15,%rsi
mov    %r13,%rdx
call   1040 <fprintf@plt>
lea    0xb78(%rip),%rsi
mov    %r13,%rdi
mov    $0xa,%edx
call   1050 <strcpy1@plt>
movaps 0xb02(%rip),%xmm0
movups %xmm0,(%rbx)
movups %xmm0,0x10(%rbx)
movups %xmm0,0x20(%rbx)
movups %xmm0,0x2c(%rbx)
movb   $0x0,0x56(%rsp)
mov    0x178(%rsp),%rax
mov    (%rax),%edx
add    $0x1,%edx
mov    %rbp,%rdi
mov    %r14,%rsi
call   1070 <sprintf@plt>
movb   $0x20,0x34(%rsp)
mov    %r12,%rdi
mov    %r15,%rsi
mov    %r13,%rdx
call   1040 <fprintf@plt>
movaps 0xabc(%rip),%xmm0
mov    0x198(%rsp),%r15
mov    (%r15),%eax
mov    0x188(%rsp),%r14
mov    0x180(%rsp),%rbp
movups %xmm0,0x4b(%rsp)
movaps %xmm0,0x40(%rsp)
movaps %xmm0,0x30(%rsp)
movaps %xmm0,0x20(%rsp)
movaps %xmm0,0x10(%rsp)
mov    %eax,%ecx
neg    %ecx
cmovs  %eax,%ecx
cmp    $0x1,%ecx
jne    158d <frdheader+0x42d>
lea    0xae2(%rip),%rsi
jmp    15dc <frdheader+0x47c>
add    $0xfffffffe,%eax
cmp    $0xb,%eax
ja     15d5 <frdheader+0x475>
cltq
lea    0xc6e(%rip),%rcx
movslq (%rcx,%rax,4),%rsi
add    %rcx,%rsi
jmp    15dc <frdheader+0x47c>
cmp    $0xc,%eax
movaps 0xa4f(%rip),%xmm0
jne    154f <frdheader+0x3ef>
mov    0x98(%rsp),%rax
cmpl   $0x0,(%rax)
jns    125a <frdheader+0xfa>
mov    $0xc,%eax
movaps 0xa30(%rip),%xmm0
jmp    154f <frdheader+0x3ef>
lea    0xb91(%rip),%rsi
mov    0x8(%rsp),%r12
mov    0x1a8(%rsp),%rbx
lea    0x10(%rsp),%rdi
mov    $0x3f,%edx
call   1050 <strcpy1@plt>
mov    0x0(%rbp),%edx
lea    0xa19(%rip),%rsi
lea    0xb0(%rsp),%rbp
mov    %rbp,%rdi
call   1070 <sprintf@plt>
lea    0x28(%rsp),%rdi
mov    %rbp,%rsi
mov    $0xc,%edx
call   1050 <strcpy1@plt>
lea    0x34(%rsp),%rdi
mov    %r14,%rsi
mov    $0xc,%edx
call   1050 <strcpy1@plt>
mov    (%r15),%eax
cmp    $0xd,%eax
je     1643 <frdheader+0x4e3>
cmp    $0x2,%eax
jne    1659 <frdheader+0x4f9>
lea    0x4f(%rsp),%rdi
lea    0xb5e(%rip),%rsi
mov    $0x5,%edx
call   1050 <strcpy1@plt>
mov    0x190(%rsp),%r14
lea    0xb4b(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp1@plt>
test   %rax,%rax
mov    0x1a0(%rsp),%r15
je     169f <frdheader+0x53f>
lea    0xb33(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp1@plt>
lea    0x5a(%rsp),%rdi
test   %rax,%rax
je     16ad <frdheader+0x54d>
lea    0xb20(%rip),%rsi
jmp    16b4 <frdheader+0x554>
lea    0x5a(%rsp),%rdi
lea    0xa00(%rip),%rsi
jmp    16b4 <frdheader+0x554>
lea    0xb07(%rip),%rsi
mov    $0x1,%edx
call   1050 <strcpy1@plt>
mov    (%r14),%edx
add    $0x64,%edx
lea    0xaf4(%rip),%rsi
lea    0xb0(%rsp),%rbx
mov    %rbx,%rdi
call   1070 <sprintf@plt>
lea    0x17(%rsp),%rdi
mov    %rbx,%rsi
mov    $0x5,%edx
call   1050 <strcpy1@plt>
movsd  (%r12),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm0,%xmm1
jae    174a <frdheader+0x5ea>
call   1060 <log10@plt>
lea    0x947(%rip),%rbx
test   %eax,%eax
js     1766 <frdheader+0x606>
movsd  (%r12),%xmm0
call   1060 <log10@plt>
cmp    $0x9,%eax
jg     1766 <frdheader+0x606>
movsd  (%r12),%xmm0
call   1060 <log10@plt>
lea    0x1(%rax),%edi
call   1080 <floor@plt>
add    $0xfffffffe,%eax
cmp    $0x8,%eax
ja     175f <frdheader+0x5ff>
cltq
lea    0xafb(%rip),%rcx
movslq (%rcx,%rax,4),%rbx
add    %rcx,%rbx
jmp    1766 <frdheader+0x606>
lea    0x8ff(%rip),%rbx
jmp    176c <frdheader+0x60c>
movaps 0x8a6(%rip),%xmm0
jmp    154f <frdheader+0x3ef>
lea    0xa9c(%rip),%rbx
movsd  (%r12),%xmm0
cvttsd2si %xmm0,%edx
lea    0xb0(%rsp),%rbp
mov    %rbp,%rdi
mov    %rbx,%rsi
call   1070 <sprintf@plt>
lea    0x1c(%rsp),%rdi
mov    %rbp,%rsi
mov    $0xc,%edx
call   1050 <strcpy1@plt>
mov    (%r14),%edx
lea    0xa20(%rip),%rsi
mov    %rbp,%rdi
call   1070 <sprintf@plt>
lea    0x4a(%rsp),%rdi
mov    %rbp,%rsi
mov    $0x5,%edx
call   1050 <strcpy1@plt>
movb   $0x0,0x5b(%rsp)
lea    0x85b(%rip),%rsi
lea    0x10(%rsp),%rdx
mov    %r15,%rdi
call   1040 <fprintf@plt>
add    $0x138,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

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

LLVM IR (-O2):
@.str = [11 x i8] c" 1PSTEP\00"
@.str.1 = [5 x i8] c"%12d\00"
@.str.2 = [4 x i8] c"%s\0A\00"
@.str.3 = [9 x i8] c" 1PGM\00"
@.str.4 = [7 x i8] c"%12.6E\00"
@.str.5 = [9 x i8] c" 1PGK\00"
@.str.6 = [10 x i8] c" 1PHID\00"
@.str.7 = [9 x i8] c" 1PAX\00"
@.str.8 = [7 x i8] c"%12.5E\00"
@.str.9 = [11 x i8] c" 1PSUBC\00"
@.str.10 = [11 x i8] c" 1PMODE\00"
@.str.11 = [64 x i8] c" 100CL .00000E+00 0 1\00"
@.str.12 = [64 x i8] c" 100CL .00000E+00 2 1\00"
@.str.13 = [64 x i8] c" 100CL .00000E+00 4 1\00"
@.str.14 = [64 x i8] c" 100CL .00000E+00 1 1\00"
@.str.15 = [64 x i8] c" 100CL .00000E+00 3 1\00"
@.str.16 = [6 x i8] c"MODAL\00"
@.str.17 = [4 x i8] c"asc\00"
@.str.18 = [2 x i8] c"1\00"
@.str.19 = [4 x i8] c"bin\00"
@.str.20 = [2 x i8] c"2\00"
@.str.21 = [2 x i8] c"3\00"
@.str.22 = [4 x i8] c"%5d\00"
@.str.23 = [7 x i8] c"%12.0f\00"
@.str.24 = [7 x i8] c"%12.1f\00"
@.str.25 = [7 x i8] c"%12.2f\00"
@.str.26 = [7 x i8] c"%12.3f\00"
@.str.27 = [7 x i8] c"%12.4f\00"
@.str.28 = [7 x i8] c"%12.5f\00"
@.str.29 = [7 x i8] c"%12.6f\00"
@.str.30 = [7 x i8] c"%12.7f\00"
@.str.31 = [7 x i8] c"%12.8f\00"
@.str.32 = [7 x i8] c"%12.9f\00"
@reltable.frdheader = [12 x i32] [i32 trunc (i64 sub (i64 ptrtoint ([64 x i8]* @.str.12 to i64), i64 ptrtoint ([12 x i32]* @reltable.frdheader to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([64 x i8]* @.str.13 to i64), i64 ptrtoint ([12 x i32]* @reltable.frdheader to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([64 x i8]* @.str.14 to i64), i64 ptrtoint ([12 x i32]* @reltable.frdheader to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([64 x i8]* @.str.14 to i64), i64 ptrtoint ([12 x i32]* @reltable.frdheader to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([64 x i8]* @.str.15 to i64), i64 ptrtoint ([12 x i32]* @reltable.frdheader to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([64 x i8]* @.str.15 to i64), i64 ptrtoint ([12 x i32]* @reltable.frdheader to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([64 x i8]* @.str.15 to i64), i64 ptrtoint ([12 x i32]* @reltable.frdheader to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([64 x i8]* @.str.15 to i64), i64 ptrtoint ([12 x i32]* @reltable.frdheader to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([64 x i8]* @.str.15 to i64), i64 ptrtoint ([12 x i32]* @reltable.frdheader to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([64 x i8]* @.str.15 to i64), i64 ptrtoint ([12 x i32]* @reltable.frdheader to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([64 x i8]* @.str.15 to i64), i64 ptrtoint ([12 x i32]* @reltable.frdheader to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([64 x i8]* @.str.12 to i64), i64 ptrtoint ([12 x i32]* @reltable.frdheader to i64)) to i32)]
@reltable.frdheader.34 = [9 x i32] [i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.31 to i64), i64 ptrtoint ([9 x i32]* @reltable.frdheader.34 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.30 to i64), i64 ptrtoint ([9 x i32]* @reltable.frdheader.34 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.29 to i64), i64 ptrtoint ([9 x i32]* @reltable.frdheader.34 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.28 to i64), i64 ptrtoint ([9 x i32]* @reltable.frdheader.34 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.27 to i64), i64 ptrtoint ([9 x i32]* @reltable.frdheader.34 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.26 to i64), i64 ptrtoint ([9 x i32]* @reltable.frdheader.34 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.25 to i64), i64 ptrtoint ([9 x i32]* @reltable.frdheader.34 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.24 to i64), i64 ptrtoint ([9 x i32]* @reltable.frdheader.34 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([7 x i8]* @.str.23 to i64), i64 ptrtoint ([9 x i32]* @reltable.frdheader.34 to i64)) to i32)]
define void @frdheader(i32* nocapture %0, double* nocapture %1, double* nocapture %2, double* nocapture %3, i32* nocapture %4, double* %5, i32* nocapture %6, i32* nocapture %7, i32* nocapture %8, i8* %9, i32* nocapture %10, i32* nocapture %11, i32* nocapture %12, i8* %13, i32* nocapture %14, i32* nocapture %15) {
%17 = alloca [132 x i8]
%18 = alloca [132 x i8]
%19 = getelementptr inbounds [132 x i8], [132 x i8]* %18, i64 0, i64 0
%20 = getelementptr inbounds [132 x i8], [132 x i8]* %17, i64 0, i64 0
%21 = getelementptr inbounds [132 x i8], [132 x i8]* %18, i64 0, i64 0
%22 = call i32 @strcpy1(i8* %21, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str, i64 0, i64 0), i32 10)
%23 = getelementptr inbounds [132 x i8], [132 x i8]* %18, i64 0, i64 10
%24 = getelementptr inbounds [132 x i8], [132 x i8]* %18, i64 0, i64 70
store i8 0, i8* %24
%25 = load i32, i32* %0
%26 = add nsw i32 %25, 1
store i32 %26, i32* %0
%27 = getelementptr inbounds [132 x i8], [132 x i8]* %18, i64 0, i64 24
%28 = call i32 @sprintf(i8* %27, i8* dereferenceable(1) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), i32 %26)
%29 = getelementptr inbounds [132 x i8], [132 x i8]* %18, i64 0, i64 36
%30 = load i32, i32* %15
%31 = call i32 @sprintf(i8* %29, i8* dereferenceable(1) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), i32 %30)
%32 = getelementptr inbounds [132 x i8], [132 x i8]* %18, i64 0, i64 48
%33 = load i32, i32* %14
%34 = call i32 @sprintf(i8* %32, i8* dereferenceable(1) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), i32 %33)
%35 = getelementptr inbounds [132 x i8], [132 x i8]* %18, i64 0, i64 60
store i8 32, i8* %35
%36 = call i32 @fprintf(i32* %12, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i8* %21)
%37 = load i32, i32* %11
switch i32 %37, label %106 [
i32 2, label %41
i32 6, label %41
i32 7, label %41
i32 13, label %41
i32 12, label %38
]
38: ; preds = %16
%39 = load i32, i32* %4
%40 = icmp sgt i32 %39, -1
br i1 %40, label %41, label %106
41: ; preds = %16, %16, %16, %16, %38
%42 = call i32 @strcpy1(i8* %21, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3, i64 0, i64 0), i32 8)
%43 = getelementptr inbounds [132 x i8], [132 x i8]* %18, i64 0, i64 8
store i8 0, i8* %24
%44 = load double, double* %1
%45 = fptosi double %44 to i32
%46 = call i32 @sprintf(i8* %27, i8* dereferenceable(1) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.4, i64 0, i64 0), i32 %45)
store i8 32, i8* %29
%47 = call i32 @fprintf(i32* %12, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i8* %21)
%48 = call i32 @strcpy1(i8* %21, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.5, i64 0, i64 0), i32 8)
store i8 0, i8* %24
%49 = load double, double* %2
%50 = fmul double %49, 2.000000e+00
%51 = load double, double* %3
%52 = fmul double %50, %51
%53 = fmul double %52, %52
%54 = fptosi double %53 to i32
%55 = call i32 @sprintf(i8* %27, i8* dereferenceable(1) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.4, i64 0, i64 0), i32 %54)
store i8 32, i8* %29
%56 = call i32 @fprintf(i32* %12, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i8* %21)
%57 = call i32 @strcpy1(i8* %21, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.6, i64 0, i64 0), i32 9)
%58 = getelementptr inbounds [132 x i8], [132 x i8]* %18, i64 0, i64 9
store i8 0, i8* %24
%59 = load i32, i32* %4
%60 = call i32 @sprintf(i8* %27, i8* dereferenceable(1) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), i32 %59)
store i8 32, i8* %29
%61 = call i32 @fprintf(i32* %12, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i8* %21)
%62 = load i32, i32* %4
%63 = icmp sgt i32 %62, -1
%64 = icmp ne double* %5, null
%65 = and i1 %64, %63
br i1 %65, label %66, label %95
66: ; preds = %41
%67 = call i32 @strcpy1(i8* %21, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.7, i64 0, i64 0), i32 8)
%68 = getelementptr inbounds double, double* %5, i64 5
%69 = load double, double* %68
%70 = fptosi double %69 to i32
%71 = call i32 @sprintf(i8* %27, i8* dereferenceable(1) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8, i64 0, i64 0), i32 %70)
%72 = getelementptr inbounds double, double* %5, i64 6
%73 = load double, double* %72
%74 = fptosi double %73 to i32
%75 = call i32 @sprintf(i8* %29, i8* dereferenceable(1) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8, i64 0, i64 0), i32 %74)
%76 = getelementptr inbounds double, double* %5, i64 7
%77 = load double, double* %76
%78 = fptosi double %77 to i32
%79 = call i32 @sprintf(i8* %32, i8* dereferenceable(1) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8, i64 0, i64 0), i32 %78)
%80 = getelementptr inbounds double, double* %5, i64 8
%81 = load double, double* %80
%82 = fptosi double %81 to i32
%83 = call i32 @sprintf(i8* %35, i8* dereferenceable(1) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8, i64 0, i64 0), i32 %82)
%84 = getelementptr inbounds [132 x i8], [132 x i8]* %18, i64 0, i64 72
%85 = getelementptr inbounds double, double* %5, i64 9
%86 = load double, double* %85
%87 = fptosi double %86 to i32
%88 = call i32 @sprintf(i8* %84, i8* dereferenceable(1) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8, i64 0, i64 0), i32 %87)
%89 = getelementptr inbounds [132 x i8], [132 x i8]* %18, i64 0, i64 84
%90 = getelementptr inbounds double, double* %5, i64 10
%91 = load double, double* %90
%92 = fptosi double %91 to i32
%93 = call i32 @sprintf(i8* %89, i8* dereferenceable(1) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8, i64 0, i64 0), i32 %92)
%94 = call i32 @fprintf(i32* %12, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i8* %21)
br label %95
95: ; preds = %66, %41
%96 = call i32 @strcpy1(i8* %21, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.9, i64 0, i64 0), i32 10)
store i8 0, i8* %24
%97 = load i32, i32* %6
%98 = call i32 @sprintf(i8* %27, i8* dereferenceable(1) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), i32 %97)
store i8 32, i8* %29
%99 = call i32 @fprintf(i32* %12, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i8* %21)
%100 = call i32 @strcpy1(i8* %21, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.10, i64 0, i64 0), i32 10)
store i8 0, i8* %24
%101 = load i32, i32* %7
%102 = add nsw i32 %101, 1
%103 = call i32 @sprintf(i8* %27, i8* dereferenceable(1) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), i32 %102)
store i8 32, i8* %29
%104 = call i32 @fprintf(i32* %12, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i8* %21)
%105 = load i32, i32* %11
br label %106
106: ; preds = %16, %95, %38
%107 = phi i32 [ %37, %16 ], [ %105, %95 ], [ 12, %38 ]
%108 = call i32 @llvm.abs.i32(i32 %107, i1 true)
%109 = icmp eq i32 %108, 1
br i1 %109, label %117, label %110
110: ; preds = %106
%111 = add i32 %107, -2
%112 = icmp ult i32 %111, 12
br i1 %112, label %113, label %117
113: ; preds = %110
%114 = sext i32 %111 to i64
%115 = shl i64 %114, 2
%116 = call i8* @llvm.load.relative.i64(i8* bitcast ([12 x i32]* @reltable.frdheader to i8*), i64 %115)
br label %117
117: ; preds = %110, %113, %106
%118 = phi i8* [ getelementptr inbounds ([64 x i8], [64 x i8]* @.str.11, i64 0, i64 0), %106 ], [ %116, %113 ], [ getelementptr inbounds ([64 x i8], [64 x i8]* @.str.15, i64 0, i64 0), %110 ]
%119 = call i32 @strcpy1(i8* %21, i8* %118, i32 63)
%120 = load i32, i32* %8
%121 = call i32 @sprintf(i8* %20, i8* dereferenceable(1) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), i32 %120)
%122 = call i32 @strcpy1(i8* %27, i8* %20, i32 12)
%123 = call i32 @strcpy1(i8* %29, i8* %9, i32 12)
%124 = load i32, i32* %11
switch i32 %124, label %128 [
i32 2, label %125
i32 13, label %125
]
125: ; preds = %117, %117
%126 = getelementptr inbounds [132 x i8], [132 x i8]* %18, i64 0, i64 63
%127 = call i32 @strcpy1(i8* %126, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.16, i64 0, i64 0), i32 5)
br label %128
128: ; preds = %117, %125
%129 = call i64 @strcmp1(i8* %13, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17, i64 0, i64 0))
%130 = icmp eq i64 %129, 0
br i1 %130, label %131, label %134
131: ; preds = %128
%132 = getelementptr inbounds [132 x i8], [132 x i8]* %18, i64 0, i64 74
%133 = call i32 @strcpy1(i8* %132, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.18, i64 0, i64 0), i32 1)
br label %142
134: ; preds = %128
%135 = call i64 @strcmp1(i8* %13, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.19, i64 0, i64 0))
%136 = icmp eq i64 %135, 0
%137 = getelementptr inbounds [132 x i8], [132 x i8]* %18, i64 0, i64 74
br i1 %136, label %138, label %140
138: ; preds = %134
%139 = call i32 @strcpy1(i8* %137, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.20, i64 0, i64 0), i32 1)
br label %142
140: ; preds = %134
%141 = call i32 @strcpy1(i8* %137, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.21, i64 0, i64 0), i32 1)
br label %142
142: ; preds = %138, %140, %131
%143 = load i32, i32* %10
%144 = add nsw i32 %143, 100
%145 = call i32 @sprintf(i8* %20, i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str.22, i64 0, i64 0), i32 %144)
%146 = getelementptr inbounds [132 x i8], [132 x i8]* %18, i64 0, i64 7
%147 = call i32 @strcpy1(i8* %146, i8* %20, i32 5)
%148 = load double, double* %2
%149 = fcmp ugt double %148, 0.000000e+00
br i1 %149, label %150, label %171
150: ; preds = %142
%151 = call i32 @log10(double %148)
%152 = icmp sgt i32 %151, -1
br i1 %152, label %153, label %168
153: ; preds = %150
%154 = load double, double* %2
%155 = call i32 @log10(double %154)
%156 = icmp slt i32 %155, 10
br i1 %156, label %157, label %168
157: ; preds = %153
%158 = load double, double* %2
%159 = call i32 @log10(double %158)
%160 = add i32 %159, 1
%161 = call i32 @floor(i32 %160)
%162 = add i32 %161, -2
%163 = icmp ult i32 %162, 9
br i1 %163, label %164, label %168
164: ; preds = %157
%165 = sext i32 %162 to i64
%166 = shl i64 %165, 2
%167 = call i8* @llvm.load.relative.i64(i8* bitcast ([9 x i32]* @reltable.frdheader.34 to i8*), i64 %166)
br label %168
168: ; preds = %157, %164, %150, %153
%169 = phi i8* [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8, i64 0, i64 0), %153 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8, i64 0, i64 0), %150 ], [ %167, %164 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.32, i64 0, i64 0), %157 ]
%170 = load double, double* %2
br label %171
171: ; preds = %168, %142
%172 = phi double [ %148, %142 ], [ %170, %168 ]
%173 = phi i8* [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8, i64 0, i64 0), %142 ], [ %169, %168 ]
%174 = fptosi double %172 to i32
%175 = call i32 @sprintf(i8* %20, i8* dereferenceable(1) %173, i32 %174)
%176 = getelementptr inbounds [132 x i8], [132 x i8]* %18, i64 0, i64 12
%177 = call i32 @strcpy1(i8* %176, i8* %20, i32 12)
%178 = load i32, i32* %10
%179 = call i32 @sprintf(i8* %20, i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str.22, i64 0, i64 0), i32 %178)
%180 = getelementptr inbounds [132 x i8], [132 x i8]* %18, i64 0, i64 58
%181 = call i32 @strcpy1(i8* %180, i8* %20, i32 5)
%182 = getelementptr inbounds [132 x i8], [132 x i8]* %18, i64 0, i64 75
store i8 0, i8* %182
%183 = call i32 @fprintf(i32* %12, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i8* %21)
ret void
}