#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 *);
void timeinwords(int i) {
  switch (i) {
  case 0:
    printf("o' clock\n");
    break;
  case 1:
    printf("one");
    break;
  case 2:
    printf("two");
    break;
  case 3:
    printf("three");
    break;
  case 4:
    printf("four");
    break;
  case 5:
    printf("five");
    break;
  case 6:
    printf("six");
    break;
  case 7:
    printf("seven");
    break;
  case 8:
    printf("eight");
    break;
  case 9:
    printf("nine");
    break;
  case 10:
    printf("ten");
    break;
  case 11:
    printf("eleven");
    break;
  case 12:
    printf("twelve");
    break;
  case 13:
    printf("thirteen");
    break;
  case 14:
    printf("fourteen");
    break;
  case 15:
    printf("quarter");
    break;
  case 16:
    printf("sixteen");
    break;
  case 17:
    printf("seventeen");
    break;
  case 18:
    printf("eighteen");
    break;
  case 19:
    printf("nineteen");
    break;
  case 20:
    printf("twenty");
    break;
  case 21:
    printf("twenty one");
    break;
  case 22:
    printf("twenty two");
    break;
  case 23:
    printf("twenty three");
    break;
  case 24:
    printf("twenty four");
    break;
  case 25:
    printf("twenty five");
    break;
  case 26:
    printf("twenty six");
    break;
  case 27:
    printf("twenty seven");
    break;
  case 28:
    printf("twenty eight");
    break;
  case 29:
    printf("twenty nine");
    break;
  case 30:
    printf("half");
    break;
  case 31:
    printf("thirty one");
    break;
  case 32:
    printf("thirty two");
    break;
  case 33:
    printf("thirty three");
    break;
  case 34:
    printf("thirty four");
    break;
  case 35:
    printf("thirty five");
    break;
  case 36:
    printf("thirty six");
    break;
  case 37:
    printf("thirty seven");
    break;
  case 38:
    printf("thirty eight");
    break;
  case 39:
    printf("thirty nine");
    break;
  case 40:
    printf("forty");
    break;
  case 41:
    printf("forty one");
    break;
  case 42:
    printf("forty two");
    break;
  case 43:
    printf("forty three");
    break;
  case 44:
    printf("forty four");
    break;
  case 45:
    printf("quarter");
    break;
  case 46:
    printf("forty six");
    break;
  case 47:
    printf("forty seven");
    break;
  case 48:
    printf("forty eight");
    break;
  case 49:
    printf("forty nine");
    break;
  case 50:
    printf("fifty");
    break;
  case 51:
    printf("fifty one");
    break;
  case 52:
    printf("fifty two");
    break;
  case 53:
    printf("fifty three");
    break;
  case 54:
    printf("fifty four");
    break;
  case 55:
    printf("fifty five");
    break;
  case 56:
    printf("fifty six");
    break;
  case 57:
    printf("fifty seven");
    break;
  case 58:
    printf("fifty eight");
    break;
  case 59:
    printf("fifty nine");
    break;
  case 60:
    printf("full");
    break;
  }
}


x86 assembly (clang, -O0):
<timeinwords>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
mov    %edi,-0x4(%rbp)
mov    -0x4(%rbp),%eax
mov    %rax,-0x10(%rbp)
sub    $0x3c,%rax
ja     1548 <timeinwords+0x438>
mov    -0x10(%rbp),%rax
lea    0xec9(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0xfad(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0x1144(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0x113d(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0x1136(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0x1131(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0x112b(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0x1125(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0x111e(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0x1119(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0x1114(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xf0d(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xf00(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xef6(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xeec(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xee4(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xedc(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xed3(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xeca(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xec3(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xebb(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xeb3(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xea9(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xea3(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe9d(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe99(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe94(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe8f(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe89(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe85(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe81(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe7c(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe70(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe6a(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe64(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe60(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe5b(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe56(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe50(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe4c(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe48(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe43(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe38(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe31(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe2a(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe25(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xcde(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe0e(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe07(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xe02(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xdfd(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xdf7(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xdec(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xde5(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xdde(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xdd9(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xdd3(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xdcd(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xdc6(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xdc1(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xdbc(%rip),%rdi
call   1030 <printf@plt>
jmp    1548 <timeinwords+0x438>
lea    0xdb6(%rip),%rdi
call   1030 <printf@plt>
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<timeinwords>:
cmp    $0x3c,%edi
ja     1143 <timeinwords+0x23>
mov    %edi,%eax
lea    0xed2(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0xfda(%rip),%rdi
jmp    1040 <printf@plt>
ret
lea    0x11a9(%rip),%rdi
jmp    1030 <puts@plt>
lea    0x113b(%rip),%rdi
jmp    1040 <printf@plt>
lea    0x1139(%rip),%rdi
jmp    1040 <printf@plt>
lea    0x1137(%rip),%rdi
jmp    1040 <printf@plt>
lea    0x1137(%rip),%rdi
jmp    1040 <printf@plt>
lea    0x1136(%rip),%rdi
jmp    1040 <printf@plt>
lea    0x1135(%rip),%rdi
jmp    1040 <printf@plt>
lea    0x1133(%rip),%rdi
jmp    1040 <printf@plt>
lea    0x1133(%rip),%rdi
jmp    1040 <printf@plt>
lea    0x1133(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf31(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf29(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf24(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf1f(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf1c(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf21(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf1d(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf1b(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf18(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf15(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf10(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf0f(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf0e(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf0f(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf0f(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf0f(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf0e(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf0f(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf10(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf10(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf09(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf08(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf07(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf08(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf08(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf08(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf07(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf08(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf09(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf09(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf03(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xf01(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xeff(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xeff(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xefe(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xefc(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xefc(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xefc(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xefb(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xef5(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xef3(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xef1(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xef1(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xef0(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xeef(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xeed(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xeed(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xeed(%rip),%rdi
jmp    1040 <printf@plt>
lea    0xeec(%rip),%rdi
jmp    1040 <printf@plt>

LLVM IR (-O0):
@.str = [10 x i8] c"o' clock\0A\00"
@.str.1 = [4 x i8] c"one\00"
@.str.2 = [4 x i8] c"two\00"
@.str.3 = [6 x i8] c"three\00"
@.str.4 = [5 x i8] c"four\00"
@.str.5 = [5 x i8] c"five\00"
@.str.6 = [4 x i8] c"six\00"
@.str.7 = [6 x i8] c"seven\00"
@.str.8 = [6 x i8] c"eight\00"
@.str.9 = [5 x i8] c"nine\00"
@.str.10 = [4 x i8] c"ten\00"
@.str.11 = [7 x i8] c"eleven\00"
@.str.12 = [7 x i8] c"twelve\00"
@.str.13 = [9 x i8] c"thirteen\00"
@.str.14 = [9 x i8] c"fourteen\00"
@.str.15 = [8 x i8] c"quarter\00"
@.str.16 = [8 x i8] c"sixteen\00"
@.str.17 = [10 x i8] c"seventeen\00"
@.str.18 = [9 x i8] c"eighteen\00"
@.str.19 = [9 x i8] c"nineteen\00"
@.str.20 = [7 x i8] c"twenty\00"
@.str.21 = [11 x i8] c"twenty one\00"
@.str.22 = [11 x i8] c"twenty two\00"
@.str.23 = [13 x i8] c"twenty three\00"
@.str.24 = [12 x i8] c"twenty four\00"
@.str.25 = [12 x i8] c"twenty five\00"
@.str.26 = [11 x i8] c"twenty six\00"
@.str.27 = [13 x i8] c"twenty seven\00"
@.str.28 = [13 x i8] c"twenty eight\00"
@.str.29 = [12 x i8] c"twenty nine\00"
@.str.30 = [5 x i8] c"half\00"
@.str.31 = [11 x i8] c"thirty one\00"
@.str.32 = [11 x i8] c"thirty two\00"
@.str.33 = [13 x i8] c"thirty three\00"
@.str.34 = [12 x i8] c"thirty four\00"
@.str.35 = [12 x i8] c"thirty five\00"
@.str.36 = [11 x i8] c"thirty six\00"
@.str.37 = [13 x i8] c"thirty seven\00"
@.str.38 = [13 x i8] c"thirty eight\00"
@.str.39 = [12 x i8] c"thirty nine\00"
@.str.40 = [6 x i8] c"forty\00"
@.str.41 = [10 x i8] c"forty one\00"
@.str.42 = [10 x i8] c"forty two\00"
@.str.43 = [12 x i8] c"forty three\00"
@.str.44 = [11 x i8] c"forty four\00"
@.str.45 = [10 x i8] c"forty six\00"
@.str.46 = [12 x i8] c"forty seven\00"
@.str.47 = [12 x i8] c"forty eight\00"
@.str.48 = [11 x i8] c"forty nine\00"
@.str.49 = [6 x i8] c"fifty\00"
@.str.50 = [10 x i8] c"fifty one\00"
@.str.51 = [10 x i8] c"fifty two\00"
@.str.52 = [12 x i8] c"fifty three\00"
@.str.53 = [11 x i8] c"fifty four\00"
@.str.54 = [11 x i8] c"fifty five\00"
@.str.55 = [10 x i8] c"fifty six\00"
@.str.56 = [12 x i8] c"fifty seven\00"
@.str.57 = [12 x i8] c"fifty eight\00"
@.str.58 = [11 x i8] c"fifty nine\00"
@.str.59 = [5 x i8] c"full\00"
define void @timeinwords(i32 %0) {
%2 = alloca i32
store i32 %0, i32* %2
%3 = load i32, i32* %2
switch i32 %3, label %126 [
i32 0, label %4
i32 1, label %6
i32 2, label %8
i32 3, label %10
i32 4, label %12
i32 5, label %14
i32 6, label %16
i32 7, label %18
i32 8, label %20
i32 9, label %22
i32 10, label %24
i32 11, label %26
i32 12, label %28
i32 13, label %30
i32 14, label %32
i32 15, label %34
i32 16, label %36
i32 17, label %38
i32 18, label %40
i32 19, label %42
i32 20, label %44
i32 21, label %46
i32 22, label %48
i32 23, label %50
i32 24, label %52
i32 25, label %54
i32 26, label %56
i32 27, label %58
i32 28, label %60
i32 29, label %62
i32 30, label %64
i32 31, label %66
i32 32, label %68
i32 33, label %70
i32 34, label %72
i32 35, label %74
i32 36, label %76
i32 37, label %78
i32 38, label %80
i32 39, label %82
i32 40, label %84
i32 41, label %86
i32 42, label %88
i32 43, label %90
i32 44, label %92
i32 45, label %94
i32 46, label %96
i32 47, label %98
i32 48, label %100
i32 49, label %102
i32 50, label %104
i32 51, label %106
i32 52, label %108
i32 53, label %110
i32 54, label %112
i32 55, label %114
i32 56, label %116
i32 57, label %118
i32 58, label %120
i32 59, label %122
i32 60, label %124
]
4: ; preds = %1
%5 = call i32 @printf(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str, i64 0, i64 0))
br label %126
6: ; preds = %1
%7 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0))
br label %126
8: ; preds = %1
%9 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0))
br label %126
10: ; preds = %1
%11 = call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.3, i64 0, i64 0))
br label %126
12: ; preds = %1
%13 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.4, i64 0, i64 0))
br label %126
14: ; preds = %1
%15 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0))
br label %126
16: ; preds = %1
%17 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.6, i64 0, i64 0))
br label %126
18: ; preds = %1
%19 = call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.7, i64 0, i64 0))
br label %126
20: ; preds = %1
%21 = call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.8, i64 0, i64 0))
br label %126
22: ; preds = %1
%23 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.9, i64 0, i64 0))
br label %126
24: ; preds = %1
%25 = call i32 @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.10, i64 0, i64 0))
br label %126
26: ; preds = %1
%27 = call i32 @printf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.11, i64 0, i64 0))
br label %126
28: ; preds = %1
%29 = call i32 @printf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.12, i64 0, i64 0))
br label %126
30: ; preds = %1
%31 = call i32 @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.13, i64 0, i64 0))
br label %126
32: ; preds = %1
%33 = call i32 @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.14, i64 0, i64 0))
br label %126
34: ; preds = %1
%35 = call i32 @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.15, i64 0, i64 0))
br label %126
36: ; preds = %1
%37 = call i32 @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.16, i64 0, i64 0))
br label %126
38: ; preds = %1
%39 = call i32 @printf(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.17, i64 0, i64 0))
br label %126
40: ; preds = %1
%41 = call i32 @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.18, i64 0, i64 0))
br label %126
42: ; preds = %1
%43 = call i32 @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.19, i64 0, i64 0))
br label %126
44: ; preds = %1
%45 = call i32 @printf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.20, i64 0, i64 0))
br label %126
46: ; preds = %1
%47 = call i32 @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.21, i64 0, i64 0))
br label %126
48: ; preds = %1
%49 = call i32 @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.22, i64 0, i64 0))
br label %126
50: ; preds = %1
%51 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.23, i64 0, i64 0))
br label %126
52: ; preds = %1
%53 = call i32 @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.24, i64 0, i64 0))
br label %126
54: ; preds = %1
%55 = call i32 @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.25, i64 0, i64 0))
br label %126
56: ; preds = %1
%57 = call i32 @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.26, i64 0, i64 0))
br label %126
58: ; preds = %1
%59 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.27, i64 0, i64 0))
br label %126
60: ; preds = %1
%61 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.28, i64 0, i64 0))
br label %126
62: ; preds = %1
%63 = call i32 @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.29, i64 0, i64 0))
br label %126
64: ; preds = %1
%65 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.30, i64 0, i64 0))
br label %126
66: ; preds = %1
%67 = call i32 @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.31, i64 0, i64 0))
br label %126
68: ; preds = %1
%69 = call i32 @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.32, i64 0, i64 0))
br label %126
70: ; preds = %1
%71 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.33, i64 0, i64 0))
br label %126
72: ; preds = %1
%73 = call i32 @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.34, i64 0, i64 0))
br label %126
74: ; preds = %1
%75 = call i32 @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.35, i64 0, i64 0))
br label %126
76: ; preds = %1
%77 = call i32 @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.36, i64 0, i64 0))
br label %126
78: ; preds = %1
%79 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.37, i64 0, i64 0))
br label %126
80: ; preds = %1
%81 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.38, i64 0, i64 0))
br label %126
82: ; preds = %1
%83 = call i32 @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.39, i64 0, i64 0))
br label %126
84: ; preds = %1
%85 = call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.40, i64 0, i64 0))
br label %126
86: ; preds = %1
%87 = call i32 @printf(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.41, i64 0, i64 0))
br label %126
88: ; preds = %1
%89 = call i32 @printf(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.42, i64 0, i64 0))
br label %126
90: ; preds = %1
%91 = call i32 @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.43, i64 0, i64 0))
br label %126
92: ; preds = %1
%93 = call i32 @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.44, i64 0, i64 0))
br label %126
94: ; preds = %1
%95 = call i32 @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.15, i64 0, i64 0))
br label %126
96: ; preds = %1
%97 = call i32 @printf(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.45, i64 0, i64 0))
br label %126
98: ; preds = %1
%99 = call i32 @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.46, i64 0, i64 0))
br label %126
100: ; preds = %1
%101 = call i32 @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.47, i64 0, i64 0))
br label %126
102: ; preds = %1
%103 = call i32 @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.48, i64 0, i64 0))
br label %126
104: ; preds = %1
%105 = call i32 @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.49, i64 0, i64 0))
br label %126
106: ; preds = %1
%107 = call i32 @printf(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.50, i64 0, i64 0))
br label %126
108: ; preds = %1
%109 = call i32 @printf(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.51, i64 0, i64 0))
br label %126
110: ; preds = %1
%111 = call i32 @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.52, i64 0, i64 0))
br label %126
112: ; preds = %1
%113 = call i32 @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.53, i64 0, i64 0))
br label %126
114: ; preds = %1
%115 = call i32 @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.54, i64 0, i64 0))
br label %126
116: ; preds = %1
%117 = call i32 @printf(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.55, i64 0, i64 0))
br label %126
118: ; preds = %1
%119 = call i32 @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.56, i64 0, i64 0))
br label %126
120: ; preds = %1
%121 = call i32 @printf(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.57, i64 0, i64 0))
br label %126
122: ; preds = %1
%123 = call i32 @printf(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.58, i64 0, i64 0))
br label %126
124: ; preds = %1
%125 = call i32 @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.59, i64 0, i64 0))
br label %126
126: ; preds = %1, %124, %122, %120, %118, %116, %114, %112, %110, %108, %106, %104, %102, %100, %98, %96, %94, %92, %90, %88, %86, %84, %82, %80, %78, %76, %74, %72, %70, %68, %66, %64, %62, %60, %58, %56, %54, %52, %50, %48, %46, %44, %42, %40, %38, %36, %34, %32, %30, %28, %26, %24, %22, %20, %18, %16, %14, %12, %10, %8, %6, %4
ret void
}

LLVM IR (-O2):
@.str.1 = [4 x i8] c"one\00"
@.str.2 = [4 x i8] c"two\00"
@.str.3 = [6 x i8] c"three\00"
@.str.4 = [5 x i8] c"four\00"
@.str.5 = [5 x i8] c"five\00"
@.str.6 = [4 x i8] c"six\00"
@.str.7 = [6 x i8] c"seven\00"
@.str.8 = [6 x i8] c"eight\00"
@.str.9 = [5 x i8] c"nine\00"
@.str.10 = [4 x i8] c"ten\00"
@.str.11 = [7 x i8] c"eleven\00"
@.str.12 = [7 x i8] c"twelve\00"
@.str.13 = [9 x i8] c"thirteen\00"
@.str.14 = [9 x i8] c"fourteen\00"
@.str.15 = [8 x i8] c"quarter\00"
@.str.16 = [8 x i8] c"sixteen\00"
@.str.17 = [10 x i8] c"seventeen\00"
@.str.18 = [9 x i8] c"eighteen\00"
@.str.19 = [9 x i8] c"nineteen\00"
@.str.20 = [7 x i8] c"twenty\00"
@.str.21 = [11 x i8] c"twenty one\00"
@.str.22 = [11 x i8] c"twenty two\00"
@.str.23 = [13 x i8] c"twenty three\00"
@.str.24 = [12 x i8] c"twenty four\00"
@.str.25 = [12 x i8] c"twenty five\00"
@.str.26 = [11 x i8] c"twenty six\00"
@.str.27 = [13 x i8] c"twenty seven\00"
@.str.28 = [13 x i8] c"twenty eight\00"
@.str.29 = [12 x i8] c"twenty nine\00"
@.str.30 = [5 x i8] c"half\00"
@.str.31 = [11 x i8] c"thirty one\00"
@.str.32 = [11 x i8] c"thirty two\00"
@.str.33 = [13 x i8] c"thirty three\00"
@.str.34 = [12 x i8] c"thirty four\00"
@.str.35 = [12 x i8] c"thirty five\00"
@.str.36 = [11 x i8] c"thirty six\00"
@.str.37 = [13 x i8] c"thirty seven\00"
@.str.38 = [13 x i8] c"thirty eight\00"
@.str.39 = [12 x i8] c"thirty nine\00"
@.str.40 = [6 x i8] c"forty\00"
@.str.41 = [10 x i8] c"forty one\00"
@.str.42 = [10 x i8] c"forty two\00"
@.str.43 = [12 x i8] c"forty three\00"
@.str.44 = [11 x i8] c"forty four\00"
@.str.45 = [10 x i8] c"forty six\00"
@.str.46 = [12 x i8] c"forty seven\00"
@.str.47 = [12 x i8] c"forty eight\00"
@.str.48 = [11 x i8] c"forty nine\00"
@.str.49 = [6 x i8] c"fifty\00"
@.str.50 = [10 x i8] c"fifty one\00"
@.str.51 = [10 x i8] c"fifty two\00"
@.str.52 = [12 x i8] c"fifty three\00"
@.str.53 = [11 x i8] c"fifty four\00"
@.str.54 = [11 x i8] c"fifty five\00"
@.str.55 = [10 x i8] c"fifty six\00"
@.str.56 = [12 x i8] c"fifty seven\00"
@.str.57 = [12 x i8] c"fifty eight\00"
@.str.58 = [11 x i8] c"fifty nine\00"
@.str.59 = [5 x i8] c"full\00"
@str = [9 x i8] c"o' clock\00"
define void @timeinwords(i32 %0) {
switch i32 %0, label %124 [
i32 0, label %2
i32 1, label %4
i32 2, label %6
i32 3, label %8
i32 4, label %10
i32 5, label %12
i32 6, label %14
i32 7, label %16
i32 8, label %18
i32 9, label %20
i32 10, label %22
i32 11, label %24
i32 12, label %26
i32 13, label %28
i32 14, label %30
i32 15, label %32
i32 16, label %34
i32 17, label %36
i32 18, label %38
i32 19, label %40
i32 20, label %42
i32 21, label %44
i32 22, label %46
i32 23, label %48
i32 24, label %50
i32 25, label %52
i32 26, label %54
i32 27, label %56
i32 28, label %58
i32 29, label %60
i32 30, label %62
i32 31, label %64
i32 32, label %66
i32 33, label %68
i32 34, label %70
i32 35, label %72
i32 36, label %74
i32 37, label %76
i32 38, label %78
i32 39, label %80
i32 40, label %82
i32 41, label %84
i32 42, label %86
i32 43, label %88
i32 44, label %90
i32 45, label %92
i32 46, label %94
i32 47, label %96
i32 48, label %98
i32 49, label %100
i32 50, label %102
i32 51, label %104
i32 52, label %106
i32 53, label %108
i32 54, label %110
i32 55, label %112
i32 56, label %114
i32 57, label %116
i32 58, label %118
i32 59, label %120
i32 60, label %122
]
2: ; preds = %1
%3 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @str, i64 0, i64 0))
br label %124
4: ; preds = %1
%5 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0))
br label %124
6: ; preds = %1
%7 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0))
br label %124
8: ; preds = %1
%9 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([6 x i8], [6 x i8]* @.str.3, i64 0, i64 0))
br label %124
10: ; preds = %1
%11 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.4, i64 0, i64 0))
br label %124
12: ; preds = %1
%13 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0))
br label %124
14: ; preds = %1
%15 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str.6, i64 0, i64 0))
br label %124
16: ; preds = %1
%17 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([6 x i8], [6 x i8]* @.str.7, i64 0, i64 0))
br label %124
18: ; preds = %1
%19 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([6 x i8], [6 x i8]* @.str.8, i64 0, i64 0))
br label %124
20: ; preds = %1
%21 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.9, i64 0, i64 0))
br label %124
22: ; preds = %1
%23 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @.str.10, i64 0, i64 0))
br label %124
24: ; preds = %1
%25 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.11, i64 0, i64 0))
br label %124
26: ; preds = %1
%27 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.12, i64 0, i64 0))
br label %124
28: ; preds = %1
%29 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.13, i64 0, i64 0))
br label %124
30: ; preds = %1
%31 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.14, i64 0, i64 0))
br label %124
32: ; preds = %1
%33 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([8 x i8], [8 x i8]* @.str.15, i64 0, i64 0))
br label %124
34: ; preds = %1
%35 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([8 x i8], [8 x i8]* @.str.16, i64 0, i64 0))
br label %124
36: ; preds = %1
%37 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([10 x i8], [10 x i8]* @.str.17, i64 0, i64 0))
br label %124
38: ; preds = %1
%39 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.18, i64 0, i64 0))
br label %124
40: ; preds = %1
%41 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.19, i64 0, i64 0))
br label %124
42: ; preds = %1
%43 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.20, i64 0, i64 0))
br label %124
44: ; preds = %1
%45 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.21, i64 0, i64 0))
br label %124
46: ; preds = %1
%47 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.22, i64 0, i64 0))
br label %124
48: ; preds = %1
%49 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.23, i64 0, i64 0))
br label %124
50: ; preds = %1
%51 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.24, i64 0, i64 0))
br label %124
52: ; preds = %1
%53 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.25, i64 0, i64 0))
br label %124
54: ; preds = %1
%55 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.26, i64 0, i64 0))
br label %124
56: ; preds = %1
%57 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.27, i64 0, i64 0))
br label %124
58: ; preds = %1
%59 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.28, i64 0, i64 0))
br label %124
60: ; preds = %1
%61 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.29, i64 0, i64 0))
br label %124
62: ; preds = %1
%63 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.30, i64 0, i64 0))
br label %124
64: ; preds = %1
%65 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.31, i64 0, i64 0))
br label %124
66: ; preds = %1
%67 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.32, i64 0, i64 0))
br label %124
68: ; preds = %1
%69 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.33, i64 0, i64 0))
br label %124
70: ; preds = %1
%71 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.34, i64 0, i64 0))
br label %124
72: ; preds = %1
%73 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.35, i64 0, i64 0))
br label %124
74: ; preds = %1
%75 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.36, i64 0, i64 0))
br label %124
76: ; preds = %1
%77 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.37, i64 0, i64 0))
br label %124
78: ; preds = %1
%79 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.38, i64 0, i64 0))
br label %124
80: ; preds = %1
%81 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.39, i64 0, i64 0))
br label %124
82: ; preds = %1
%83 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([6 x i8], [6 x i8]* @.str.40, i64 0, i64 0))
br label %124
84: ; preds = %1
%85 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([10 x i8], [10 x i8]* @.str.41, i64 0, i64 0))
br label %124
86: ; preds = %1
%87 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([10 x i8], [10 x i8]* @.str.42, i64 0, i64 0))
br label %124
88: ; preds = %1
%89 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.43, i64 0, i64 0))
br label %124
90: ; preds = %1
%91 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.44, i64 0, i64 0))
br label %124
92: ; preds = %1
%93 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([8 x i8], [8 x i8]* @.str.15, i64 0, i64 0))
br label %124
94: ; preds = %1
%95 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([10 x i8], [10 x i8]* @.str.45, i64 0, i64 0))
br label %124
96: ; preds = %1
%97 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.46, i64 0, i64 0))
br label %124
98: ; preds = %1
%99 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.47, i64 0, i64 0))
br label %124
100: ; preds = %1
%101 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.48, i64 0, i64 0))
br label %124
102: ; preds = %1
%103 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([6 x i8], [6 x i8]* @.str.49, i64 0, i64 0))
br label %124
104: ; preds = %1
%105 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([10 x i8], [10 x i8]* @.str.50, i64 0, i64 0))
br label %124
106: ; preds = %1
%107 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([10 x i8], [10 x i8]* @.str.51, i64 0, i64 0))
br label %124
108: ; preds = %1
%109 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.52, i64 0, i64 0))
br label %124
110: ; preds = %1
%111 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.53, i64 0, i64 0))
br label %124
112: ; preds = %1
%113 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.54, i64 0, i64 0))
br label %124
114: ; preds = %1
%115 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([10 x i8], [10 x i8]* @.str.55, i64 0, i64 0))
br label %124
116: ; preds = %1
%117 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.56, i64 0, i64 0))
br label %124
118: ; preds = %1
%119 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.57, i64 0, i64 0))
br label %124
120: ; preds = %1
%121 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.58, i64 0, i64 0))
br label %124
122: ; preds = %1
%123 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([5 x i8], [5 x i8]* @.str.59, i64 0, i64 0))
br label %124
124: ; preds = %1, %122, %120, %118, %116, %114, %112, %110, %108, %106, %104, %102, %100, %98, %96, %94, %92, %90, %88, %86, %84, %82, %80, %78, %76, %74, %72, %70, %68, %66, %64, %62, %60, %58, %56, %54, %52, %50, %48, %46, %44, %42, %40, %38, %36, %34, %32, %30, %28, %26, %24, %22, %20, %18, %16, %14, %12, %10, %8, %6, %4, %2
ret void
}