#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 *);
int /*<<< orphan*/ scanf(char *, int *);
void conversion_demical(void) {
  int num_one;
  printf("Enter your number you want to convert:");
  scanf("%d", &num_one);
  if (num_one == 0) {
    printf("In binary is: 0000\n");
    printf("In hexadecimal is: 0\n");
  } else if (num_one == 1) {
    printf("In binary is: 0001\n");
    printf("In hexadecimal is: 1\n");
  } else if (num_one == 2) {
    printf("In binary is: 0010\n");
    printf("In hexadecimal is: 2\n");
  } else if (num_one == 3) {
    printf("In binary is: 0011\n");
    printf("In hexadecimal is: 3\n");
  } else if (num_one == 4) {
    printf("In binary is: 0100\n");
    printf("In hexadecimal is: 4\n");
  } else if (num_one == 5) {
    printf("In binary is: 0101\n");
    printf("In hexadecimal is: 5\n");
  } else if (num_one == 6) {
    printf("In binary is: 0110\n");
    printf("In hexadecimal is: 6\n");
  } else if (num_one == 7) {
    printf("In binary is: 0111\n");
    printf("In hexadecimal is: 7\n");
  } else if (num_one == 8) {
    printf("In binary is: 1000\n");
    printf("In hexadecimal is: 8\n");
  } else if (num_one == 9) {
    printf("In binary is: 1001\n");
    printf("In hexadecimal is: 9\n");
  } else if (num_one == 10) {
    printf("In binary is: 1010\n");
    printf("In hexadecimal is: a\n");
  } else if (num_one == 11) {
    printf("In binary is: 1011\n");
    printf("In hexadecimal is: b\n");
  } else if (num_one == 12) {
    printf("In binary is: 1100\n");
    printf("In hexadecimal is: c\n");
  } else if (num_one == 13) {
    printf("In binary is: 1101\n");
    printf("In hexadecimal is: d\n");
  } else if (num_one == 14) {
    printf("In binary is: 1110\n");
    printf("In hexadecimal is: e\n");
  } else if (num_one == 15) {
    printf("In binary is: 1111\n");
    printf("In hexadecimal is: f\n");
  } else
    printf("wrong number");
}


x86 assembly (clang, -O0):
<conversion_demical>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
lea    0xed1(%rip),%rdi
call   1030 <printf@plt>
lea    0xeec(%rip),%rdi
lea    -0x4(%rbp),%rsi
call   1040 <scanf@plt>
cmpl   $0x0,-0x4(%rbp)
jne    116b <conversion_demical+0x4b>
lea    0xed5(%rip),%rdi
call   1030 <printf@plt>
lea    0xedd(%rip),%rdi
call   1030 <printf@plt>
jmp    140b <conversion_demical+0x2eb>
cmpl   $0x1,-0x4(%rbp)
jne    1192 <conversion_demical+0x72>
lea    0xed8(%rip),%rdi
call   1030 <printf@plt>
lea    0xee0(%rip),%rdi
call   1030 <printf@plt>
jmp    1406 <conversion_demical+0x2e6>
cmpl   $0x2,-0x4(%rbp)
jne    11b9 <conversion_demical+0x99>
lea    0xedb(%rip),%rdi
call   1030 <printf@plt>
lea    0xee3(%rip),%rdi
call   1030 <printf@plt>
jmp    1401 <conversion_demical+0x2e1>
cmpl   $0x3,-0x4(%rbp)
jne    11e0 <conversion_demical+0xc0>
lea    0xede(%rip),%rdi
call   1030 <printf@plt>
lea    0xee6(%rip),%rdi
call   1030 <printf@plt>
jmp    13fc <conversion_demical+0x2dc>
cmpl   $0x4,-0x4(%rbp)
jne    1207 <conversion_demical+0xe7>
lea    0xee1(%rip),%rdi
call   1030 <printf@plt>
lea    0xee9(%rip),%rdi
call   1030 <printf@plt>
jmp    13f7 <conversion_demical+0x2d7>
cmpl   $0x5,-0x4(%rbp)
jne    122e <conversion_demical+0x10e>
lea    0xee4(%rip),%rdi
call   1030 <printf@plt>
lea    0xeec(%rip),%rdi
call   1030 <printf@plt>
jmp    13f2 <conversion_demical+0x2d2>
cmpl   $0x6,-0x4(%rbp)
jne    1255 <conversion_demical+0x135>
lea    0xee7(%rip),%rdi
call   1030 <printf@plt>
lea    0xeef(%rip),%rdi
call   1030 <printf@plt>
jmp    13ed <conversion_demical+0x2cd>
cmpl   $0x7,-0x4(%rbp)
jne    127c <conversion_demical+0x15c>
lea    0xeea(%rip),%rdi
call   1030 <printf@plt>
lea    0xef2(%rip),%rdi
call   1030 <printf@plt>
jmp    13e8 <conversion_demical+0x2c8>
cmpl   $0x8,-0x4(%rbp)
jne    12a3 <conversion_demical+0x183>
lea    0xeed(%rip),%rdi
call   1030 <printf@plt>
lea    0xef5(%rip),%rdi
call   1030 <printf@plt>
jmp    13e3 <conversion_demical+0x2c3>
cmpl   $0x9,-0x4(%rbp)
jne    12ca <conversion_demical+0x1aa>
lea    0xef0(%rip),%rdi
call   1030 <printf@plt>
lea    0xef8(%rip),%rdi
call   1030 <printf@plt>
jmp    13de <conversion_demical+0x2be>
cmpl   $0xa,-0x4(%rbp)
jne    12f1 <conversion_demical+0x1d1>
lea    0xef3(%rip),%rdi
call   1030 <printf@plt>
lea    0xefb(%rip),%rdi
call   1030 <printf@plt>
jmp    13d9 <conversion_demical+0x2b9>
cmpl   $0xb,-0x4(%rbp)
jne    1318 <conversion_demical+0x1f8>
lea    0xef6(%rip),%rdi
call   1030 <printf@plt>
lea    0xefe(%rip),%rdi
call   1030 <printf@plt>
jmp    13d4 <conversion_demical+0x2b4>
cmpl   $0xc,-0x4(%rbp)
jne    133f <conversion_demical+0x21f>
lea    0xef9(%rip),%rdi
call   1030 <printf@plt>
lea    0xf01(%rip),%rdi
call   1030 <printf@plt>
jmp    13cf <conversion_demical+0x2af>
cmpl   $0xd,-0x4(%rbp)
jne    1366 <conversion_demical+0x246>
lea    0xefc(%rip),%rdi
call   1030 <printf@plt>
lea    0xf04(%rip),%rdi
call   1030 <printf@plt>
jmp    13ca <conversion_demical+0x2aa>
cmpl   $0xe,-0x4(%rbp)
jne    138d <conversion_demical+0x26d>
lea    0xeff(%rip),%rdi
call   1030 <printf@plt>
lea    0xf07(%rip),%rdi
call   1030 <printf@plt>
jmp    13c5 <conversion_demical+0x2a5>
cmpl   $0xf,-0x4(%rbp)
jne    13b4 <conversion_demical+0x294>
lea    0xf02(%rip),%rdi
call   1030 <printf@plt>
lea    0xf0a(%rip),%rdi
call   1030 <printf@plt>
jmp    13c0 <conversion_demical+0x2a0>
lea    0xf0f(%rip),%rdi
call   1030 <printf@plt>
jmp    13c5 <conversion_demical+0x2a5>
jmp    13ca <conversion_demical+0x2aa>
jmp    13cf <conversion_demical+0x2af>
jmp    13d4 <conversion_demical+0x2b4>
jmp    13d9 <conversion_demical+0x2b9>
jmp    13de <conversion_demical+0x2be>
jmp    13e3 <conversion_demical+0x2c3>
jmp    13e8 <conversion_demical+0x2c8>
jmp    13ed <conversion_demical+0x2cd>
jmp    13f2 <conversion_demical+0x2d2>
jmp    13f7 <conversion_demical+0x2d7>
jmp    13fc <conversion_demical+0x2dc>
jmp    1401 <conversion_demical+0x2e1>
jmp    1406 <conversion_demical+0x2e6>
jmp    140b <conversion_demical+0x2eb>
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<conversion_demical>:
push   %rax
lea    0xf08(%rip),%rdi
call   1040 <printf@plt>
lea    0xf23(%rip),%rdi
lea    0x4(%rsp),%rsi
call   1050 <scanf@plt>
mov    0x4(%rsp),%eax
cmp    $0xf,%rax
ja     1180 <conversion_demical+0x50>
lea    0xea1(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1160(%rip),%rdi
call   1030 <puts@plt>
lea    0x1167(%rip),%rdi
jmp    12df <conversion_demical+0x1af>
lea    0xee3(%rip),%rdi
call   1040 <printf@plt>
pop    %rax
ret
lea    0x1112(%rip),%rdi
call   1030 <puts@plt>
lea    0x1119(%rip),%rdi
jmp    12df <conversion_demical+0x1af>
lea    0x10d2(%rip),%rdi
call   1030 <puts@plt>
lea    0x10d9(%rip),%rdi
jmp    12df <conversion_demical+0x1af>
lea    0x1092(%rip),%rdi
call   1030 <puts@plt>
lea    0x1099(%rip),%rdi
jmp    12df <conversion_demical+0x1af>
lea    0x1052(%rip),%rdi
call   1030 <puts@plt>
lea    0x1059(%rip),%rdi
jmp    12df <conversion_demical+0x1af>
lea    0x1012(%rip),%rdi
call   1030 <puts@plt>
lea    0x1019(%rip),%rdi
jmp    12df <conversion_demical+0x1af>
lea    0xfd2(%rip),%rdi
call   1030 <puts@plt>
lea    0xfd9(%rip),%rdi
jmp    12df <conversion_demical+0x1af>
lea    0xf92(%rip),%rdi
call   1030 <puts@plt>
lea    0xf99(%rip),%rdi
jmp    12df <conversion_demical+0x1af>
lea    0xf52(%rip),%rdi
call   1030 <puts@plt>
lea    0xf59(%rip),%rdi
jmp    12df <conversion_demical+0x1af>
lea    0xf12(%rip),%rdi
call   1030 <puts@plt>
lea    0xf19(%rip),%rdi
jmp    12df <conversion_demical+0x1af>
lea    0xed5(%rip),%rdi
call   1030 <puts@plt>
lea    0xedc(%rip),%rdi
jmp    12df <conversion_demical+0x1af>
lea    0xe98(%rip),%rdi
call   1030 <puts@plt>
lea    0xe9f(%rip),%rdi
jmp    12df <conversion_demical+0x1af>
lea    0xe5b(%rip),%rdi
call   1030 <puts@plt>
lea    0xe62(%rip),%rdi
jmp    12df <conversion_demical+0x1af>
lea    0xe1e(%rip),%rdi
call   1030 <puts@plt>
lea    0xe25(%rip),%rdi
jmp    12df <conversion_demical+0x1af>
lea    0xde1(%rip),%rdi
call   1030 <puts@plt>
lea    0xde8(%rip),%rdi
jmp    12df <conversion_demical+0x1af>
lea    0xda4(%rip),%rdi
call   1030 <puts@plt>
lea    0xdab(%rip),%rdi
call   1030 <puts@plt>
pop    %rax
ret

LLVM IR (-O0):
@.str = [39 x i8] c"Enter your number you want to convert:\00"
@.str.1 = [3 x i8] c"%d\00"
@.str.2 = [20 x i8] c"In binary is: 0000\0A\00"
@.str.3 = [22 x i8] c"In hexadecimal is: 0\0A\00"
@.str.4 = [20 x i8] c"In binary is: 0001\0A\00"
@.str.5 = [22 x i8] c"In hexadecimal is: 1\0A\00"
@.str.6 = [20 x i8] c"In binary is: 0010\0A\00"
@.str.7 = [22 x i8] c"In hexadecimal is: 2\0A\00"
@.str.8 = [20 x i8] c"In binary is: 0011\0A\00"
@.str.9 = [22 x i8] c"In hexadecimal is: 3\0A\00"
@.str.10 = [20 x i8] c"In binary is: 0100\0A\00"
@.str.11 = [22 x i8] c"In hexadecimal is: 4\0A\00"
@.str.12 = [20 x i8] c"In binary is: 0101\0A\00"
@.str.13 = [22 x i8] c"In hexadecimal is: 5\0A\00"
@.str.14 = [20 x i8] c"In binary is: 0110\0A\00"
@.str.15 = [22 x i8] c"In hexadecimal is: 6\0A\00"
@.str.16 = [20 x i8] c"In binary is: 0111\0A\00"
@.str.17 = [22 x i8] c"In hexadecimal is: 7\0A\00"
@.str.18 = [20 x i8] c"In binary is: 1000\0A\00"
@.str.19 = [22 x i8] c"In hexadecimal is: 8\0A\00"
@.str.20 = [20 x i8] c"In binary is: 1001\0A\00"
@.str.21 = [22 x i8] c"In hexadecimal is: 9\0A\00"
@.str.22 = [20 x i8] c"In binary is: 1010\0A\00"
@.str.23 = [22 x i8] c"In hexadecimal is: a\0A\00"
@.str.24 = [20 x i8] c"In binary is: 1011\0A\00"
@.str.25 = [22 x i8] c"In hexadecimal is: b\0A\00"
@.str.26 = [20 x i8] c"In binary is: 1100\0A\00"
@.str.27 = [22 x i8] c"In hexadecimal is: c\0A\00"
@.str.28 = [20 x i8] c"In binary is: 1101\0A\00"
@.str.29 = [22 x i8] c"In hexadecimal is: d\0A\00"
@.str.30 = [20 x i8] c"In binary is: 1110\0A\00"
@.str.31 = [22 x i8] c"In hexadecimal is: e\0A\00"
@.str.32 = [20 x i8] c"In binary is: 1111\0A\00"
@.str.33 = [22 x i8] c"In hexadecimal is: f\0A\00"
@.str.34 = [13 x i8] c"wrong number\00"
define void @conversion_demical() {
%1 = alloca i32
%2 = call i32 @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str, i64 0, i64 0))
%3 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0), i32* %1)
%4 = load i32, i32* %1
%5 = icmp eq i32 %4, 0
br i1 %5, label %6, label %9
6: ; preds = %0
%7 = call i32 @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.2, i64 0, i64 0))
%8 = call i32 @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.3, i64 0, i64 0))
br label %116
9: ; preds = %0
%10 = load i32, i32* %1
%11 = icmp eq i32 %10, 1
br i1 %11, label %12, label %15
12: ; preds = %9
%13 = call i32 @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.4, i64 0, i64 0))
%14 = call i32 @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.5, i64 0, i64 0))
br label %115
15: ; preds = %9
%16 = load i32, i32* %1
%17 = icmp eq i32 %16, 2
br i1 %17, label %18, label %21
18: ; preds = %15
%19 = call i32 @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.6, i64 0, i64 0))
%20 = call i32 @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.7, i64 0, i64 0))
br label %114
21: ; preds = %15
%22 = load i32, i32* %1
%23 = icmp eq i32 %22, 3
br i1 %23, label %24, label %27
24: ; preds = %21
%25 = call i32 @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.8, i64 0, i64 0))
%26 = call i32 @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.9, i64 0, i64 0))
br label %113
27: ; preds = %21
%28 = load i32, i32* %1
%29 = icmp eq i32 %28, 4
br i1 %29, label %30, label %33
30: ; preds = %27
%31 = call i32 @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.10, i64 0, i64 0))
%32 = call i32 @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.11, i64 0, i64 0))
br label %112
33: ; preds = %27
%34 = load i32, i32* %1
%35 = icmp eq i32 %34, 5
br i1 %35, label %36, label %39
36: ; preds = %33
%37 = call i32 @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.12, i64 0, i64 0))
%38 = call i32 @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.13, i64 0, i64 0))
br label %111
39: ; preds = %33
%40 = load i32, i32* %1
%41 = icmp eq i32 %40, 6
br i1 %41, label %42, label %45
42: ; preds = %39
%43 = call i32 @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.14, i64 0, i64 0))
%44 = call i32 @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.15, i64 0, i64 0))
br label %110
45: ; preds = %39
%46 = load i32, i32* %1
%47 = icmp eq i32 %46, 7
br i1 %47, label %48, label %51
48: ; preds = %45
%49 = call i32 @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.16, i64 0, i64 0))
%50 = call i32 @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.17, i64 0, i64 0))
br label %109
51: ; preds = %45
%52 = load i32, i32* %1
%53 = icmp eq i32 %52, 8
br i1 %53, label %54, label %57
54: ; preds = %51
%55 = call i32 @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.18, i64 0, i64 0))
%56 = call i32 @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.19, i64 0, i64 0))
br label %108
57: ; preds = %51
%58 = load i32, i32* %1
%59 = icmp eq i32 %58, 9
br i1 %59, label %60, label %63
60: ; preds = %57
%61 = call i32 @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.20, i64 0, i64 0))
%62 = call i32 @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.21, i64 0, i64 0))
br label %107
63: ; preds = %57
%64 = load i32, i32* %1
%65 = icmp eq i32 %64, 10
br i1 %65, label %66, label %69
66: ; preds = %63
%67 = call i32 @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.22, i64 0, i64 0))
%68 = call i32 @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.23, i64 0, i64 0))
br label %106
69: ; preds = %63
%70 = load i32, i32* %1
%71 = icmp eq i32 %70, 11
br i1 %71, label %72, label %75
72: ; preds = %69
%73 = call i32 @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.24, i64 0, i64 0))
%74 = call i32 @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.25, i64 0, i64 0))
br label %105
75: ; preds = %69
%76 = load i32, i32* %1
%77 = icmp eq i32 %76, 12
br i1 %77, label %78, label %81
78: ; preds = %75
%79 = call i32 @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.26, i64 0, i64 0))
%80 = call i32 @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.27, i64 0, i64 0))
br label %104
81: ; preds = %75
%82 = load i32, i32* %1
%83 = icmp eq i32 %82, 13
br i1 %83, label %84, label %87
84: ; preds = %81
%85 = call i32 @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.28, i64 0, i64 0))
%86 = call i32 @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.29, i64 0, i64 0))
br label %103
87: ; preds = %81
%88 = load i32, i32* %1
%89 = icmp eq i32 %88, 14
br i1 %89, label %90, label %93
90: ; preds = %87
%91 = call i32 @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.30, i64 0, i64 0))
%92 = call i32 @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.31, i64 0, i64 0))
br label %102
93: ; preds = %87
%94 = load i32, i32* %1
%95 = icmp eq i32 %94, 15
br i1 %95, label %96, label %99
96: ; preds = %93
%97 = call i32 @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.32, i64 0, i64 0))
%98 = call i32 @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.33, i64 0, i64 0))
br label %101
99: ; preds = %93
%100 = call i32 @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.34, i64 0, i64 0))
br label %101
101: ; preds = %99, %96
br label %102
102: ; preds = %101, %90
br label %103
103: ; preds = %102, %84
br label %104
104: ; preds = %103, %78
br label %105
105: ; preds = %104, %72
br label %106
106: ; preds = %105, %66
br label %107
107: ; preds = %106, %60
br label %108
108: ; preds = %107, %54
br label %109
109: ; preds = %108, %48
br label %110
110: ; preds = %109, %42
br label %111
111: ; preds = %110, %36
br label %112
112: ; preds = %111, %30
br label %113
113: ; preds = %112, %24
br label %114
114: ; preds = %113, %18
br label %115
115: ; preds = %114, %12
br label %116
116: ; preds = %115, %6
ret void
}

LLVM IR (-O2):
@.str = [39 x i8] c"Enter your number you want to convert:\00"
@.str.1 = [3 x i8] c"%d\00"
@.str.34 = [13 x i8] c"wrong number\00"
@str = [19 x i8] c"In binary is: 1111\00"
@str.35 = [21 x i8] c"In hexadecimal is: f\00"
@str.36 = [19 x i8] c"In binary is: 1110\00"
@str.37 = [21 x i8] c"In hexadecimal is: e\00"
@str.38 = [19 x i8] c"In binary is: 1101\00"
@str.39 = [21 x i8] c"In hexadecimal is: d\00"
@str.40 = [19 x i8] c"In binary is: 1100\00"
@str.41 = [21 x i8] c"In hexadecimal is: c\00"
@str.42 = [19 x i8] c"In binary is: 1011\00"
@str.43 = [21 x i8] c"In hexadecimal is: b\00"
@str.44 = [19 x i8] c"In binary is: 1010\00"
@str.45 = [21 x i8] c"In hexadecimal is: a\00"
@str.46 = [19 x i8] c"In binary is: 1001\00"
@str.47 = [21 x i8] c"In hexadecimal is: 9\00"
@str.48 = [19 x i8] c"In binary is: 1000\00"
@str.49 = [21 x i8] c"In hexadecimal is: 8\00"
@str.50 = [19 x i8] c"In binary is: 0111\00"
@str.51 = [21 x i8] c"In hexadecimal is: 7\00"
@str.52 = [19 x i8] c"In binary is: 0110\00"
@str.53 = [21 x i8] c"In hexadecimal is: 6\00"
@str.54 = [19 x i8] c"In binary is: 0101\00"
@str.55 = [21 x i8] c"In hexadecimal is: 5\00"
@str.56 = [19 x i8] c"In binary is: 0100\00"
@str.57 = [21 x i8] c"In hexadecimal is: 4\00"
@str.58 = [19 x i8] c"In binary is: 0011\00"
@str.59 = [21 x i8] c"In hexadecimal is: 3\00"
@str.60 = [19 x i8] c"In binary is: 0010\00"
@str.61 = [21 x i8] c"In hexadecimal is: 2\00"
@str.62 = [19 x i8] c"In binary is: 0001\00"
@str.63 = [21 x i8] c"In hexadecimal is: 1\00"
@str.64 = [19 x i8] c"In binary is: 0000\00"
@str.65 = [21 x i8] c"In hexadecimal is: 0\00"
define void @conversion_demical() {
%1 = alloca i32
%2 = bitcast i32* %1 to i8*
%3 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([39 x i8], [39 x i8]* @.str, i64 0, i64 0))
%4 = call i32 @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0), i32* %1)
%5 = load i32, i32* %1
switch i32 %5, label %54 [
i32 0, label %6
i32 1, label %9
i32 2, label %12
i32 3, label %15
i32 4, label %18
i32 5, label %21
i32 6, label %24
i32 7, label %27
i32 8, label %30
i32 9, label %33
i32 10, label %36
i32 11, label %39
i32 12, label %42
i32 13, label %45
i32 14, label %48
i32 15, label %51
]
6: ; preds = %0
%7 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @str.64, i64 0, i64 0))
%8 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([21 x i8], [21 x i8]* @str.65, i64 0, i64 0))
br label %56
9: ; preds = %0
%10 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @str.62, i64 0, i64 0))
%11 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([21 x i8], [21 x i8]* @str.63, i64 0, i64 0))
br label %56
12: ; preds = %0
%13 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @str.60, i64 0, i64 0))
%14 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([21 x i8], [21 x i8]* @str.61, i64 0, i64 0))
br label %56
15: ; preds = %0
%16 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @str.58, i64 0, i64 0))
%17 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([21 x i8], [21 x i8]* @str.59, i64 0, i64 0))
br label %56
18: ; preds = %0
%19 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @str.56, i64 0, i64 0))
%20 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([21 x i8], [21 x i8]* @str.57, i64 0, i64 0))
br label %56
21: ; preds = %0
%22 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @str.54, i64 0, i64 0))
%23 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([21 x i8], [21 x i8]* @str.55, i64 0, i64 0))
br label %56
24: ; preds = %0
%25 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @str.52, i64 0, i64 0))
%26 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([21 x i8], [21 x i8]* @str.53, i64 0, i64 0))
br label %56
27: ; preds = %0
%28 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @str.50, i64 0, i64 0))
%29 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([21 x i8], [21 x i8]* @str.51, i64 0, i64 0))
br label %56
30: ; preds = %0
%31 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @str.48, i64 0, i64 0))
%32 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([21 x i8], [21 x i8]* @str.49, i64 0, i64 0))
br label %56
33: ; preds = %0
%34 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @str.46, i64 0, i64 0))
%35 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([21 x i8], [21 x i8]* @str.47, i64 0, i64 0))
br label %56
36: ; preds = %0
%37 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @str.44, i64 0, i64 0))
%38 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([21 x i8], [21 x i8]* @str.45, i64 0, i64 0))
br label %56
39: ; preds = %0
%40 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @str.42, i64 0, i64 0))
%41 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([21 x i8], [21 x i8]* @str.43, i64 0, i64 0))
br label %56
42: ; preds = %0
%43 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @str.40, i64 0, i64 0))
%44 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([21 x i8], [21 x i8]* @str.41, i64 0, i64 0))
br label %56
45: ; preds = %0
%46 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @str.38, i64 0, i64 0))
%47 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([21 x i8], [21 x i8]* @str.39, i64 0, i64 0))
br label %56
48: ; preds = %0
%49 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @str.36, i64 0, i64 0))
%50 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([21 x i8], [21 x i8]* @str.37, i64 0, i64 0))
br label %56
51: ; preds = %0
%52 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @str, i64 0, i64 0))
%53 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([21 x i8], [21 x i8]* @str.35, i64 0, i64 0))
br label %56
54: ; preds = %0
%55 = call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.34, i64 0, i64 0))
br label %56
56: ; preds = %9, %15, %21, %27, %33, %39, %45, %51, %54, %48, %42, %36, %30, %24, %18, %12, %6
ret void
}