#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ printf(char *, char *);
int /*<<< orphan*/ scanf(char *, char *);
int main(void) {
  char response;
  printf("\n %s", "Booting...\n\n");
  printf("%s", "Unix version 4.1.0-rcl-flight-safe_stable-0x180924609\n");
  printf("%s", "CPU: ARMv7-M revision 3 (ARMv7M), cr=0000000\n");
  printf("%s", "CPU: INSTRUCTION SET=STANDARD, Ready...\n");
  printf("%s", "Machine model: 12493.D\n");
  printf("%s", "Press \"ENTER\" to continue... ");
  scanf("%c", &response);
  if (response == 'c')
    printf("\n %s", "ISO Integrity Check: Verifying...\n");
  else
    printf("\n %s", "ISO Integrity Check: Verifying...\n");
  printf("%s",
         "unix-version-4.1.0-rcl-flight-safe_stable-0x180924609.iso.asc\n");
  printf("%s", "gpg: Signature made Wed 06 Jan 2079 08:06:20 AM GMT using RSA "
               "key ID 2F43CB21\n");
  printf("%s", "gpg: Good signature from \"WEYLAND YUTANI LTD. "
               "<MASTER@WEYLANDYUTANI.COM>\"\n");
  printf("%s",
         "gpg: WARNING: This key is not certified with a trusted signature!\n");
  printf("%s", "gpg: WARNING: (\"WARNING: This key is not certified with a "
               "trusted signature!\") == STANDARD WARNING\n");
  printf("%s", "Primary key fingerprint: 6895 8F53 07D1 2AFD 9344  AF6D 35F3 "
               "6FFA CB5C C280\n");
  printf("%s", "CORE_BOOT INTEGRITY CHECK COMPLETE: STATUS == OK\n");
  printf("%s", "Press \"ENTER\" to continue... ");
  scanf("%c", &response);
  if (response == 'c')
    printf("\n %s", "Initializing Kernel...\n");
  else
    printf("\n %s", "Initializing Kernel...\n");
  printf("%s", "OK\n");
  printf("%s", "INIT: FLIGHT_SAFE (skip SYSD)\n");
  printf("%s", "SATA: mounting tape_sda1... OK\n");
  printf("%s", "SATA: mounting tape_sda2... OK\n");
  printf("%s", "SATA: mounting tape_sda5... OK\n");
  printf("%s", "...LOGICAL VOLUME READY.\n");
  printf("%s", "Press \"ENTER\" to continue... ");
  scanf("%c", &response);
  if (response == 'c')
    printf("\n %s", "Performing System Checks...\n");
  else
    printf("\n %s", "Performing System Checks...\n");
  printf("%s", "Sys Avionics... OK\n");
  printf("%s", "Sys Airlocks... OK\n");
  printf("%s", "Sys MainBusA... OK\n");
  printf("%s", "Sys MainBusB... OK\n");
  printf("%s", "Sys LifeSupp... OK\n");
  printf("%s", "Sys FireSupr...	OK\n");
  printf("%s", "Sys HypSleep... OK\n");
  printf("%s", "Sys CabPress... OK\n");
  printf("%s", "Sys NaviCOMP... OK\n");
  printf("%s", "Sys FligCOMP... OK\n");
  printf("%s", "Sys ReactorA... OK\n");
  printf("%s", "Sys ReactorB... OK\n");
  printf("%s", "Sys EVACMAIN... Error\n");
  printf("%s", "Sys AuxThrus... OK\n");
  printf("%s", "Sys VentMAIN... Error\n");
  printf("%s", "Sys FuelCell... OK\n");
  printf("%s", "Sys Commint1... OK\n");
  printf("%s", "Sys Commint2... OK\n");
  printf("%s", "Sys CommMAIN... OK\n");
  printf("%s", "Sys CircMAIN... OK\n");
  printf("%s", "Press \"ENTER\" to continue... ");
  scanf("%c", &response);
  if (response == 'c')
    printf("\n %s", "System Checks Complete:\n");
  else
    printf("\n %s", "System Checks Complete:\n");
  printf("%s", "WARNING ::\n");
  printf("%s", "Flight Systems	== GO\n");
  printf("%s", "Main Systems	== GO\n");
  printf("%s", "Aux Systems	== GO\n");
  printf("%s", "[SysError < MEAN] && OPERATIONAL\n");
  printf("\n %s", "Execute? Y/n: ");
  scanf("%c", &response);
  if (response == 'y' || response == 'Y')
    printf("\n %s", "BOOT COMPLETE\n");
  else
    printf("%s", "SYSTEM ERROR\n");
  printf("\n %s", "COMPUTER:	12493.D\n");
  printf("%s", "SHIP:           NOSTROMO\n");
  printf("%s", "OWNER:          WEYLAND YUTANI LTD.\n");
  printf("%s", "REGISTRATION:   180924\n");
  printf("%s", "FUNCTION:       TANKER/REFINERY\n");
  printf("%s", "CAPACITY:       200 000 000 TONNES\n");
  printf("%s", "POSITION:       4QFJ 12345 67890 ICRF\n");
  printf("%s", "COURSE:         297 / DECLINATION 1 DEGREE 2'4\" / ICRF\n");
  printf("%s", "VELOCITY:       458 m/s\n");
  printf("\n\n %s", "Press \"ENTER\" to complete BOOTCHECK...\n");
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
movl   $0x0,-0x4(%rbp)
lea    0x15fc(%rip),%rdi
lea    0xec3(%rip),%rsi
call   1030 <printf@plt>
lea    0x15eb(%rip),%rdi
lea    0xebd(%rip),%rsi
call   1030 <printf@plt>
lea    0x15d8(%rip),%rdi
lea    0xee1(%rip),%rsi
call   1030 <printf@plt>
lea    0x15c5(%rip),%rdi
lea    0xefc(%rip),%rsi
call   1030 <printf@plt>
lea    0x15b2(%rip),%rdi
lea    0xf12(%rip),%rsi
call   1030 <printf@plt>
lea    0x159f(%rip),%rdi
lea    0xf17(%rip),%rsi
call   1030 <printf@plt>
lea    0xf29(%rip),%rdi
lea    -0x5(%rbp),%rsi
call   1040 <scanf@plt>
movsbl -0x5(%rbp),%eax
cmp    $0x63,%eax
jne    11d6 <main+0xb6>
lea    0x156d(%rip),%rdi
lea    0xf08(%rip),%rsi
call   1030 <printf@plt>
jmp    11e9 <main+0xc9>
lea    0x1555(%rip),%rdi
lea    0xef0(%rip),%rsi
call   1030 <printf@plt>
lea    0x1544(%rip),%rdi
lea    0xf00(%rip),%rsi
call   1030 <printf@plt>
lea    0x1531(%rip),%rdi
lea    0xf2c(%rip),%rsi
call   1030 <printf@plt>
lea    0x151e(%rip),%rdi
lea    0xf68(%rip),%rsi
call   1030 <printf@plt>
lea    0x150b(%rip),%rdi
lea    0xfa0(%rip),%rsi
call   1030 <printf@plt>
lea    0x14f8(%rip),%rdi
lea    0xfd0(%rip),%rsi
call   1030 <printf@plt>
lea    0x14e5(%rip),%rdi
lea    0x1021(%rip),%rsi
call   1030 <printf@plt>
lea    0x14d2(%rip),%rdi
lea    0x105b(%rip),%rsi
call   1030 <printf@plt>
lea    0x14bf(%rip),%rdi
lea    0xe37(%rip),%rsi
call   1030 <printf@plt>
lea    0xe49(%rip),%rdi
lea    -0x5(%rbp),%rsi
call   1040 <scanf@plt>
movsbl -0x5(%rbp),%eax
cmp    $0x63,%eax
jne    12b6 <main+0x196>
lea    0x148d(%rip),%rdi
lea    0x104a(%rip),%rsi
call   1030 <printf@plt>
jmp    12c9 <main+0x1a9>
lea    0x1475(%rip),%rdi
lea    0x1032(%rip),%rsi
call   1030 <printf@plt>
lea    0x1464(%rip),%rdi
lea    0x1161(%rip),%rsi
call   1030 <printf@plt>
lea    0x1451(%rip),%rdi
lea    0x1024(%rip),%rsi
call   1030 <printf@plt>
lea    0x143e(%rip),%rdi
lea    0x1030(%rip),%rsi
call   1030 <printf@plt>
lea    0x142b(%rip),%rdi
lea    0x103d(%rip),%rsi
call   1030 <printf@plt>
lea    0x1418(%rip),%rdi
lea    0x104a(%rip),%rsi
call   1030 <printf@plt>
lea    0x1405(%rip),%rdi
lea    0x1057(%rip),%rsi
call   1030 <printf@plt>
lea    0x13f2(%rip),%rdi
lea    0xd6a(%rip),%rsi
call   1030 <printf@plt>
lea    0xd7c(%rip),%rdi
lea    -0x5(%rbp),%rsi
call   1040 <scanf@plt>
movsbl -0x5(%rbp),%eax
cmp    $0x63,%eax
jne    1383 <main+0x263>
lea    0x13c0(%rip),%rdi
lea    0x102e(%rip),%rsi
call   1030 <printf@plt>
jmp    1396 <main+0x276>
lea    0x13a8(%rip),%rdi
lea    0x1016(%rip),%rsi
call   1030 <printf@plt>
lea    0x1397(%rip),%rdi
lea    0x1020(%rip),%rsi
call   1030 <printf@plt>
lea    0x1384(%rip),%rdi
lea    0x1021(%rip),%rsi
call   1030 <printf@plt>
lea    0x1371(%rip),%rdi
lea    0x1022(%rip),%rsi
call   1030 <printf@plt>
lea    0x135e(%rip),%rdi
lea    0x1023(%rip),%rsi
call   1030 <printf@plt>
lea    0x134b(%rip),%rdi
lea    0x1024(%rip),%rsi
call   1030 <printf@plt>
lea    0x1338(%rip),%rdi
lea    0x1025(%rip),%rsi
call   1030 <printf@plt>
lea    0x1325(%rip),%rdi
lea    0x1026(%rip),%rsi
call   1030 <printf@plt>
lea    0x1312(%rip),%rdi
lea    0x1027(%rip),%rsi
call   1030 <printf@plt>
lea    0x12ff(%rip),%rdi
lea    0x1028(%rip),%rsi
call   1030 <printf@plt>
lea    0x12ec(%rip),%rdi
lea    0x1029(%rip),%rsi
call   1030 <printf@plt>
lea    0x12d9(%rip),%rdi
lea    0x102a(%rip),%rsi
call   1030 <printf@plt>
lea    0x12c6(%rip),%rdi
lea    0x102b(%rip),%rsi
call   1030 <printf@plt>
lea    0x12b3(%rip),%rdi
lea    0x102c(%rip),%rsi
call   1030 <printf@plt>
lea    0x12a0(%rip),%rdi
lea    0x1030(%rip),%rsi
call   1030 <printf@plt>
lea    0x128d(%rip),%rdi
lea    0x1031(%rip),%rsi
call   1030 <printf@plt>
lea    0x127a(%rip),%rdi
lea    0x1035(%rip),%rsi
call   1030 <printf@plt>
lea    0x1267(%rip),%rdi
lea    0x1036(%rip),%rsi
call   1030 <printf@plt>
lea    0x1254(%rip),%rdi
lea    0x1037(%rip),%rsi
call   1030 <printf@plt>
lea    0x1241(%rip),%rdi
lea    0x1038(%rip),%rsi
call   1030 <printf@plt>
lea    0x122e(%rip),%rdi
lea    0x1039(%rip),%rsi
call   1030 <printf@plt>
lea    0x121b(%rip),%rdi
lea    0xb93(%rip),%rsi
call   1030 <printf@plt>
lea    0xba5(%rip),%rdi
lea    -0x5(%rbp),%rsi
call   1040 <scanf@plt>
movsbl -0x5(%rbp),%eax
cmp    $0x63,%eax
jne    155a <main+0x43a>
lea    0x11e9(%rip),%rdi
lea    0x100a(%rip),%rsi
call   1030 <printf@plt>
jmp    156d <main+0x44d>
lea    0x11d1(%rip),%rdi
lea    0xff2(%rip),%rsi
call   1030 <printf@plt>
lea    0x11c0(%rip),%rdi
lea    0xff8(%rip),%rsi
call   1030 <printf@plt>
lea    0x11ad(%rip),%rdi
lea    0xff1(%rip),%rsi
call   1030 <printf@plt>
lea    0x119a(%rip),%rdi
lea    0xff4(%rip),%rsi
call   1030 <printf@plt>
lea    0x1187(%rip),%rdi
lea    0xff5(%rip),%rsi
call   1030 <printf@plt>
lea    0x1174(%rip),%rdi
lea    0xff5(%rip),%rsi
call   1030 <printf@plt>
lea    0x115f(%rip),%rdi
lea    0x1004(%rip),%rsi
call   1030 <printf@plt>
lea    0xaeb(%rip),%rdi
lea    -0x5(%rbp),%rsi
call   1040 <scanf@plt>
movsbl -0x5(%rbp),%eax
cmp    $0x79,%eax
je     1609 <main+0x4e9>
movsbl -0x5(%rbp),%eax
cmp    $0x59,%eax
jne    1621 <main+0x501>
lea    0x1122(%rip),%rdi
lea    0xfd6(%rip),%rsi
call   1030 <printf@plt>
jmp    1634 <main+0x514>
lea    0x110c(%rip),%rdi
lea    0xfcd(%rip),%rsi
call   1030 <printf@plt>
lea    0x10f7(%rip),%rdi
lea    0xfc8(%rip),%rsi
call   1030 <printf@plt>
lea    0x10e6(%rip),%rdi
lea    0xfc8(%rip),%rsi
call   1030 <printf@plt>
lea    0x10d3(%rip),%rdi
lea    0xfcf(%rip),%rsi
call   1030 <printf@plt>
lea    0x10c0(%rip),%rdi
lea    0xfe1(%rip),%rsi
call   1030 <printf@plt>
lea    0x10ad(%rip),%rdi
lea    0xfe6(%rip),%rsi
call   1030 <printf@plt>
lea    0x109a(%rip),%rdi
lea    0xff4(%rip),%rsi
call   1030 <printf@plt>
lea    0x1087(%rip),%rdi
lea    0x1005(%rip),%rsi
call   1030 <printf@plt>
lea    0x1074(%rip),%rdi
lea    0x1019(%rip),%rsi
call   1030 <printf@plt>
lea    0x1061(%rip),%rdi
lea    0x103e(%rip),%rsi
call   1030 <printf@plt>
lea    0x104b(%rip),%rdi
lea    0x104a(%rip),%rsi
call   1030 <printf@plt>
xor    %eax,%eax
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x10,%rsp
lea    0x15fe(%rip),%r14
lea    0xec5(%rip),%rsi
mov    %r14,%rdi
call   1030 <printf@plt>
lea    0x15ea(%rip),%rbx
lea    0xebc(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0xee4(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0xf03(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0xf1d(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0xf26(%rip),%r13
mov    %rbx,%rdi
mov    %r13,%rsi
call   1030 <printf@plt>
lea    0xf32(%rip),%r15
lea    0xf(%rsp),%r12
mov    %r15,%rdi
mov    %r12,%rsi
call   1040 <scanf@plt>
lea    0xf1e(%rip),%rsi
mov    %r14,%rdi
call   1030 <printf@plt>
lea    0xf32(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0xf62(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0xfa2(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0xfde(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x1012(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x1067(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x10a5(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
mov    %rbx,%rdi
mov    %r13,%rsi
call   1030 <printf@plt>
mov    %r15,%rdi
mov    %r12,%rsi
call   1040 <scanf@plt>
lea    0x10b2(%rip),%rsi
mov    %r14,%rdi
call   1030 <printf@plt>
lea    0x11e5(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x10ac(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x10bc(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x10cd(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x10de(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x10ef(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
mov    %rbx,%rdi
mov    %r13,%rsi
call   1030 <printf@plt>
mov    %r15,%rdi
mov    %r12,%rsi
call   1040 <scanf@plt>
lea    0x10e4(%rip),%rsi
mov    %r14,%rdi
call   1030 <printf@plt>
lea    0x10f2(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x10f7(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x10fc(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x1101(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x1106(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x110b(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x1110(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x1115(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x111a(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x111f(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x1124(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x1129(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x112e(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x1136(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x113b(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x1143(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x1148(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x114d(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x1152(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x1157(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
mov    %rbx,%rdi
mov    %r13,%rsi
call   1030 <printf@plt>
mov    %r15,%rdi
mov    %r12,%rsi
call   1040 <scanf@plt>
lea    0x1146(%rip),%rsi
mov    %r14,%rdi
call   1030 <printf@plt>
lea    0x1150(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x114d(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x1154(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x1159(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x115d(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x1170(%rip),%rsi
mov    %r14,%rdi
call   1030 <printf@plt>
mov    %r15,%rdi
mov    %r12,%rsi
call   1040 <scanf@plt>
mov    0xf(%rsp),%al
and    $0xdf,%al
cmp    $0x59,%al
jne    149b <main+0x37b>
lea    0x12a0(%rip),%rdi
lea    0x1154(%rip),%rsi
jmp    14a9 <main+0x389>
lea    0x1292(%rip),%rdi
lea    0x1153(%rip),%rsi
call   1030 <printf@plt>
lea    0x127d(%rip),%rdi
lea    0x114e(%rip),%rsi
call   1030 <printf@plt>
lea    0x126c(%rip),%rbx
lea    0x114e(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x1159(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x116f(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x1178(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x118a(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x119f(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x11b7(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x11e0(%rip),%rsi
mov    %rbx,%rdi
call   1030 <printf@plt>
lea    0x11ea(%rip),%rdi
lea    0x11e9(%rip),%rsi
call   1030 <printf@plt>
xor    %eax,%eax
add    $0x10,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
ret

LLVM IR (-O0):
@.str = [5 x i8] c"\0A %s\00"
@.str.1 = [13 x i8] c"Booting...\0A\0A\00"
@.str.2 = [3 x i8] c"%s\00"
@.str.3 = [55 x i8] c"Unix version 4.1.0-rcl-flight-safe_stable-0x180924609\0A\00"
@.str.4 = [46 x i8] c"CPU: ARMv7-M revision 3 (ARMv7M), cr=0000000\0A\00"
@.str.5 = [41 x i8] c"CPU: INSTRUCTION SET=STANDARD, Ready...\0A\00"
@.str.6 = [24 x i8] c"Machine model: 12493.D\0A\00"
@.str.7 = [30 x i8] c"Press \22ENTER\22 to continue... \00"
@.str.8 = [3 x i8] c"%c\00"
@.str.9 = [35 x i8] c"ISO Integrity Check: Verifying...\0A\00"
@.str.10 = [63 x i8] c"unix-version-4.1.0-rcl-flight-safe_stable-0x180924609.iso.asc\0A\00"
@.str.11 = [79 x i8] c"gpg: Signature made Wed 06 Jan 2079 08:06:20 AM GMT using RSA key ID 2F43CB21\0A\00"
@.str.12 = [75 x i8] c"gpg: Good signature from \22WEYLAND YUTANI LTD. <MASTER@WEYLANDYUTANI.COM>\22\0A\00"
@.str.13 = [67 x i8] c"gpg: WARNING: This key is not certified with a trusted signature!\0A\00"
@.str.14 = [100 x i8] c"gpg: WARNING: (\22WARNING: This key is not certified with a trusted signature!\22) == STANDARD WARNING\0A\00"
@.str.15 = [77 x i8] c"Primary key fingerprint: 6895 8F53 07D1 2AFD 9344 AF6D 35F3 6FFA CB5C C280\0A\00"
@.str.16 = [50 x i8] c"CORE_BOOT INTEGRITY CHECK COMPLETE: STATUS == OK\0A\00"
@.str.17 = [24 x i8] c"Initializing Kernel...\0A\00"
@.str.18 = [4 x i8] c"OK\0A\00"
@.str.19 = [31 x i8] c"INIT: FLIGHT_SAFE (skip SYSD)\0A\00"
@.str.20 = [32 x i8] c"SATA: mounting tape_sda1... OK\0A\00"
@.str.21 = [32 x i8] c"SATA: mounting tape_sda2... OK\0A\00"
@.str.22 = [32 x i8] c"SATA: mounting tape_sda5... OK\0A\00"
@.str.23 = [26 x i8] c"...LOGICAL VOLUME READY.\0A\00"
@.str.24 = [29 x i8] c"Performing System Checks...\0A\00"
@.str.25 = [20 x i8] c"Sys Avionics... OK\0A\00"
@.str.26 = [20 x i8] c"Sys Airlocks... OK\0A\00"
@.str.27 = [20 x i8] c"Sys MainBusA... OK\0A\00"
@.str.28 = [20 x i8] c"Sys MainBusB... OK\0A\00"
@.str.29 = [20 x i8] c"Sys LifeSupp... OK\0A\00"
@.str.30 = [20 x i8] c"Sys FireSupr...\09OK\0A\00"
@.str.31 = [20 x i8] c"Sys HypSleep... OK\0A\00"
@.str.32 = [20 x i8] c"Sys CabPress... OK\0A\00"
@.str.33 = [20 x i8] c"Sys NaviCOMP... OK\0A\00"
@.str.34 = [20 x i8] c"Sys FligCOMP... OK\0A\00"
@.str.35 = [20 x i8] c"Sys ReactorA... OK\0A\00"
@.str.36 = [20 x i8] c"Sys ReactorB... OK\0A\00"
@.str.37 = [23 x i8] c"Sys EVACMAIN... Error\0A\00"
@.str.38 = [20 x i8] c"Sys AuxThrus... OK\0A\00"
@.str.39 = [23 x i8] c"Sys VentMAIN... Error\0A\00"
@.str.40 = [20 x i8] c"Sys FuelCell... OK\0A\00"
@.str.41 = [20 x i8] c"Sys Commint1... OK\0A\00"
@.str.42 = [20 x i8] c"Sys Commint2... OK\0A\00"
@.str.43 = [20 x i8] c"Sys CommMAIN... OK\0A\00"
@.str.44 = [20 x i8] c"Sys CircMAIN... OK\0A\00"
@.str.45 = [25 x i8] c"System Checks Complete:\0A\00"
@.str.46 = [12 x i8] c"WARNING ::\0A\00"
@.str.47 = [22 x i8] c"Flight Systems\09== GO\0A\00"
@.str.48 = [20 x i8] c"Main Systems\09== GO\0A\00"
@.str.49 = [19 x i8] c"Aux Systems\09== GO\0A\00"
@.str.50 = [34 x i8] c"[SysError < MEAN] && OPERATIONAL\0A\00"
@.str.51 = [15 x i8] c"Execute? Y/n: \00"
@.str.52 = [15 x i8] c"BOOT COMPLETE\0A\00"
@.str.53 = [14 x i8] c"SYSTEM ERROR\0A\00"
@.str.54 = [19 x i8] c"COMPUTER:\0912493.D\0A\00"
@.str.55 = [26 x i8] c"SHIP: NOSTROMO\0A\00"
@.str.56 = [37 x i8] c"OWNER: WEYLAND YUTANI LTD.\0A\00"
@.str.57 = [24 x i8] c"REGISTRATION: 180924\0A\00"
@.str.58 = [33 x i8] c"FUNCTION: TANKER/REFINERY\0A\00"
@.str.59 = [36 x i8] c"CAPACITY: 200 000 000 TONNES\0A\00"
@.str.60 = [39 x i8] c"POSITION: 4QFJ 12345 67890 ICRF\0A\00"
@.str.61 = [56 x i8] c"COURSE: 297 / DECLINATION 1 DEGREE 2'4\22 / ICRF\0A\00"
@.str.62 = [25 x i8] c"VELOCITY: 458 m/s\0A\00"
@.str.63 = [6 x i8] c"\0A\0A %s\00"
@.str.64 = [40 x i8] c"Press \22ENTER\22 to complete BOOTCHECK...\0A\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca i8
store i32 0, i32* %1
%3 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.1, i64 0, i64 0))
%4 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.3, i64 0, i64 0))
%5 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.4, i64 0, i64 0))
%6 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.5, i64 0, i64 0))
%7 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.6, i64 0, i64 0))
%8 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.7, i64 0, i64 0))
%9 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.8, i64 0, i64 0), i8* %2)
%10 = load i8, i8* %2
%11 = sext i8 %10 to i32
%12 = icmp eq i32 %11, 99
br i1 %12, label %13, label %15
13: ; preds = %0
%14 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.9, i64 0, i64 0))
br label %17
15: ; preds = %0
%16 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.9, i64 0, i64 0))
br label %17
17: ; preds = %15, %13
%18 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.10, i64 0, i64 0))
%19 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.11, i64 0, i64 0))
%20 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.12, i64 0, i64 0))
%21 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.13, i64 0, i64 0))
%22 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([100 x i8], [100 x i8]* @.str.14, i64 0, i64 0))
%23 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.15, i64 0, i64 0))
%24 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.16, i64 0, i64 0))
%25 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.7, i64 0, i64 0))
%26 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.8, i64 0, i64 0), i8* %2)
%27 = load i8, i8* %2
%28 = sext i8 %27 to i32
%29 = icmp eq i32 %28, 99
br i1 %29, label %30, label %32
30: ; preds = %17
%31 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.17, i64 0, i64 0))
br label %34
32: ; preds = %17
%33 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.17, i64 0, i64 0))
br label %34
34: ; preds = %32, %30
%35 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.18, i64 0, i64 0))
%36 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.19, i64 0, i64 0))
%37 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.20, i64 0, i64 0))
%38 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.21, i64 0, i64 0))
%39 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.22, i64 0, i64 0))
%40 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.23, i64 0, i64 0))
%41 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.7, i64 0, i64 0))
%42 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.8, i64 0, i64 0), i8* %2)
%43 = load i8, i8* %2
%44 = sext i8 %43 to i32
%45 = icmp eq i32 %44, 99
br i1 %45, label %46, label %48
46: ; preds = %34
%47 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.24, i64 0, i64 0))
br label %50
48: ; preds = %34
%49 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.24, i64 0, i64 0))
br label %50
50: ; preds = %48, %46
%51 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.25, i64 0, i64 0))
%52 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.26, i64 0, i64 0))
%53 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.27, i64 0, i64 0))
%54 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.28, i64 0, i64 0))
%55 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.29, i64 0, i64 0))
%56 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.30, i64 0, i64 0))
%57 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.31, i64 0, i64 0))
%58 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.32, i64 0, i64 0))
%59 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.33, i64 0, i64 0))
%60 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.34, i64 0, i64 0))
%61 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.35, i64 0, i64 0))
%62 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.36, i64 0, i64 0))
%63 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.37, i64 0, i64 0))
%64 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.38, i64 0, i64 0))
%65 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.39, i64 0, i64 0))
%66 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.40, i64 0, i64 0))
%67 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.41, i64 0, i64 0))
%68 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.42, i64 0, i64 0))
%69 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.43, i64 0, i64 0))
%70 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.44, i64 0, i64 0))
%71 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.7, i64 0, i64 0))
%72 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.8, i64 0, i64 0), i8* %2)
%73 = load i8, i8* %2
%74 = sext i8 %73 to i32
%75 = icmp eq i32 %74, 99
br i1 %75, label %76, label %78
76: ; preds = %50
%77 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.45, i64 0, i64 0))
br label %80
78: ; preds = %50
%79 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.45, i64 0, i64 0))
br label %80
80: ; preds = %78, %76
%81 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.46, i64 0, i64 0))
%82 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.47, i64 0, i64 0))
%83 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.48, i64 0, i64 0))
%84 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.49, i64 0, i64 0))
%85 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.50, i64 0, i64 0))
%86 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.51, i64 0, i64 0))
%87 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.8, i64 0, i64 0), i8* %2)
%88 = load i8, i8* %2
%89 = sext i8 %88 to i32
%90 = icmp eq i32 %89, 121
br i1 %90, label %95, label %91
91: ; preds = %80
%92 = load i8, i8* %2
%93 = sext i8 %92 to i32
%94 = icmp eq i32 %93, 89
br i1 %94, label %95, label %97
95: ; preds = %91, %80
%96 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.52, i64 0, i64 0))
br label %99
97: ; preds = %91
%98 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.53, i64 0, i64 0))
br label %99
99: ; preds = %97, %95
%100 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.54, i64 0, i64 0))
%101 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.55, i64 0, i64 0))
%102 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.56, i64 0, i64 0))
%103 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.57, i64 0, i64 0))
%104 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.58, i64 0, i64 0))
%105 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.59, i64 0, i64 0))
%106 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.60, i64 0, i64 0))
%107 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.61, i64 0, i64 0))
%108 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.62, i64 0, i64 0))
%109 = call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.63, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.64, i64 0, i64 0))
ret i32 0
}

LLVM IR (-O2):
@.str = [5 x i8] c"\0A %s\00"
@.str.1 = [13 x i8] c"Booting...\0A\0A\00"
@.str.2 = [3 x i8] c"%s\00"
@.str.3 = [55 x i8] c"Unix version 4.1.0-rcl-flight-safe_stable-0x180924609\0A\00"
@.str.4 = [46 x i8] c"CPU: ARMv7-M revision 3 (ARMv7M), cr=0000000\0A\00"
@.str.5 = [41 x i8] c"CPU: INSTRUCTION SET=STANDARD, Ready...\0A\00"
@.str.6 = [24 x i8] c"Machine model: 12493.D\0A\00"
@.str.7 = [30 x i8] c"Press \22ENTER\22 to continue... \00"
@.str.8 = [3 x i8] c"%c\00"
@.str.9 = [35 x i8] c"ISO Integrity Check: Verifying...\0A\00"
@.str.10 = [63 x i8] c"unix-version-4.1.0-rcl-flight-safe_stable-0x180924609.iso.asc\0A\00"
@.str.11 = [79 x i8] c"gpg: Signature made Wed 06 Jan 2079 08:06:20 AM GMT using RSA key ID 2F43CB21\0A\00"
@.str.12 = [75 x i8] c"gpg: Good signature from \22WEYLAND YUTANI LTD. <MASTER@WEYLANDYUTANI.COM>\22\0A\00"
@.str.13 = [67 x i8] c"gpg: WARNING: This key is not certified with a trusted signature!\0A\00"
@.str.14 = [100 x i8] c"gpg: WARNING: (\22WARNING: This key is not certified with a trusted signature!\22) == STANDARD WARNING\0A\00"
@.str.15 = [77 x i8] c"Primary key fingerprint: 6895 8F53 07D1 2AFD 9344 AF6D 35F3 6FFA CB5C C280\0A\00"
@.str.16 = [50 x i8] c"CORE_BOOT INTEGRITY CHECK COMPLETE: STATUS == OK\0A\00"
@.str.17 = [24 x i8] c"Initializing Kernel...\0A\00"
@.str.18 = [4 x i8] c"OK\0A\00"
@.str.19 = [31 x i8] c"INIT: FLIGHT_SAFE (skip SYSD)\0A\00"
@.str.20 = [32 x i8] c"SATA: mounting tape_sda1... OK\0A\00"
@.str.21 = [32 x i8] c"SATA: mounting tape_sda2... OK\0A\00"
@.str.22 = [32 x i8] c"SATA: mounting tape_sda5... OK\0A\00"
@.str.23 = [26 x i8] c"...LOGICAL VOLUME READY.\0A\00"
@.str.24 = [29 x i8] c"Performing System Checks...\0A\00"
@.str.25 = [20 x i8] c"Sys Avionics... OK\0A\00"
@.str.26 = [20 x i8] c"Sys Airlocks... OK\0A\00"
@.str.27 = [20 x i8] c"Sys MainBusA... OK\0A\00"
@.str.28 = [20 x i8] c"Sys MainBusB... OK\0A\00"
@.str.29 = [20 x i8] c"Sys LifeSupp... OK\0A\00"
@.str.30 = [20 x i8] c"Sys FireSupr...\09OK\0A\00"
@.str.31 = [20 x i8] c"Sys HypSleep... OK\0A\00"
@.str.32 = [20 x i8] c"Sys CabPress... OK\0A\00"
@.str.33 = [20 x i8] c"Sys NaviCOMP... OK\0A\00"
@.str.34 = [20 x i8] c"Sys FligCOMP... OK\0A\00"
@.str.35 = [20 x i8] c"Sys ReactorA... OK\0A\00"
@.str.36 = [20 x i8] c"Sys ReactorB... OK\0A\00"
@.str.37 = [23 x i8] c"Sys EVACMAIN... Error\0A\00"
@.str.38 = [20 x i8] c"Sys AuxThrus... OK\0A\00"
@.str.39 = [23 x i8] c"Sys VentMAIN... Error\0A\00"
@.str.40 = [20 x i8] c"Sys FuelCell... OK\0A\00"
@.str.41 = [20 x i8] c"Sys Commint1... OK\0A\00"
@.str.42 = [20 x i8] c"Sys Commint2... OK\0A\00"
@.str.43 = [20 x i8] c"Sys CommMAIN... OK\0A\00"
@.str.44 = [20 x i8] c"Sys CircMAIN... OK\0A\00"
@.str.45 = [25 x i8] c"System Checks Complete:\0A\00"
@.str.46 = [12 x i8] c"WARNING ::\0A\00"
@.str.47 = [22 x i8] c"Flight Systems\09== GO\0A\00"
@.str.48 = [20 x i8] c"Main Systems\09== GO\0A\00"
@.str.49 = [19 x i8] c"Aux Systems\09== GO\0A\00"
@.str.50 = [34 x i8] c"[SysError < MEAN] && OPERATIONAL\0A\00"
@.str.51 = [15 x i8] c"Execute? Y/n: \00"
@.str.52 = [15 x i8] c"BOOT COMPLETE\0A\00"
@.str.53 = [14 x i8] c"SYSTEM ERROR\0A\00"
@.str.54 = [19 x i8] c"COMPUTER:\0912493.D\0A\00"
@.str.55 = [26 x i8] c"SHIP: NOSTROMO\0A\00"
@.str.56 = [37 x i8] c"OWNER: WEYLAND YUTANI LTD.\0A\00"
@.str.57 = [24 x i8] c"REGISTRATION: 180924\0A\00"
@.str.58 = [33 x i8] c"FUNCTION: TANKER/REFINERY\0A\00"
@.str.59 = [36 x i8] c"CAPACITY: 200 000 000 TONNES\0A\00"
@.str.60 = [39 x i8] c"POSITION: 4QFJ 12345 67890 ICRF\0A\00"
@.str.61 = [56 x i8] c"COURSE: 297 / DECLINATION 1 DEGREE 2'4\22 / ICRF\0A\00"
@.str.62 = [25 x i8] c"VELOCITY: 458 m/s\0A\00"
@.str.63 = [6 x i8] c"\0A\0A %s\00"
@.str.64 = [40 x i8] c"Press \22ENTER\22 to complete BOOTCHECK...\0A\00"
define i32 @main() {
%1 = alloca i8
%2 = tail call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.1, i64 0, i64 0))
%3 = tail call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @.str.3, i64 0, i64 0))
%4 = tail call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.4, i64 0, i64 0))
%5 = tail call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.5, i64 0, i64 0))
%6 = tail call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.6, i64 0, i64 0))
%7 = tail call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.7, i64 0, i64 0))
%8 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.8, i64 0, i64 0), i8* %1)
%9 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.9, i64 0, i64 0))
%10 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.10, i64 0, i64 0))
%11 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.11, i64 0, i64 0))
%12 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.12, i64 0, i64 0))
%13 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.13, i64 0, i64 0))
%14 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([100 x i8], [100 x i8]* @.str.14, i64 0, i64 0))
%15 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.15, i64 0, i64 0))
%16 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.16, i64 0, i64 0))
%17 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.7, i64 0, i64 0))
%18 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.8, i64 0, i64 0), i8* %1)
%19 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.17, i64 0, i64 0))
%20 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.18, i64 0, i64 0))
%21 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.19, i64 0, i64 0))
%22 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.20, i64 0, i64 0))
%23 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.21, i64 0, i64 0))
%24 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.22, i64 0, i64 0))
%25 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.23, i64 0, i64 0))
%26 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.7, i64 0, i64 0))
%27 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.8, i64 0, i64 0), i8* %1)
%28 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.24, i64 0, i64 0))
%29 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.25, i64 0, i64 0))
%30 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.26, i64 0, i64 0))
%31 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.27, i64 0, i64 0))
%32 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.28, i64 0, i64 0))
%33 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.29, i64 0, i64 0))
%34 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.30, i64 0, i64 0))
%35 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.31, i64 0, i64 0))
%36 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.32, i64 0, i64 0))
%37 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.33, i64 0, i64 0))
%38 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.34, i64 0, i64 0))
%39 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.35, i64 0, i64 0))
%40 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.36, i64 0, i64 0))
%41 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.37, i64 0, i64 0))
%42 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.38, i64 0, i64 0))
%43 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.39, i64 0, i64 0))
%44 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.40, i64 0, i64 0))
%45 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.41, i64 0, i64 0))
%46 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.42, i64 0, i64 0))
%47 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.43, i64 0, i64 0))
%48 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.44, i64 0, i64 0))
%49 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.7, i64 0, i64 0))
%50 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.8, i64 0, i64 0), i8* %1)
%51 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.45, i64 0, i64 0))
%52 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.46, i64 0, i64 0))
%53 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.47, i64 0, i64 0))
%54 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.48, i64 0, i64 0))
%55 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.49, i64 0, i64 0))
%56 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.50, i64 0, i64 0))
%57 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.51, i64 0, i64 0))
%58 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.8, i64 0, i64 0), i8* %1)
%59 = load i8, i8* %1
%60 = and i8 %59, -33
%61 = icmp eq i8 %60, 89
br i1 %61, label %62, label %64
62: ; preds = %0
%63 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.52, i64 0, i64 0))
br label %66
64: ; preds = %0
%65 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.53, i64 0, i64 0))
br label %66
66: ; preds = %64, %62
%67 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.54, i64 0, i64 0))
%68 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.55, i64 0, i64 0))
%69 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.56, i64 0, i64 0))
%70 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.57, i64 0, i64 0))
%71 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.58, i64 0, i64 0))
%72 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.59, i64 0, i64 0))
%73 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.60, i64 0, i64 0))
%74 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.61, i64 0, i64 0))
%75 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.62, i64 0, i64 0))
%76 = call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.63, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.64, i64 0, i64 0))
ret i32 0
}