#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 */
char *ieee_p_1242562249_sub_18075413680674704129_1035706684(char *, char *,
                                                            char *, char *,
                                                            int);
int /*<<< orphan*/ memcpy(char *, char *, unsigned int);
char *xsi_get_transient_memory(unsigned int);
char *ieee_p_1242562249_sub_17249857350030274602_1035706684(char *t1, char *t2,
                                                            char *t3, char *t4,
                                                            int t5) {
  char t7[24];
  char t20[16];
  char *t0;
  char *t8;
  unsigned char t9;
  char *t10;
  char *t11;
  char *t12;
  unsigned int t13;
  unsigned char t14;
  char *t15;
  char *t16;
  char *t17;
  int t18;
  unsigned int t19;
  int t21;
  char *t22;
  int t23;
  char *t24;
  char *t25;
  int t26;
LAB0:
  t8 = (t7 + 4U);
  t9 = (t3 != 0);
  if (t9 == 1)
    goto LAB3;
LAB2:
  t10 = (t7 + 12U);
  *((char **)t10) = t4;
  t11 = (t7 + 20U);
  *((int *)t11) = t5;
  t12 = (t4 + 12U);
  t13 = *((unsigned int *)t12);
  t14 = (t13 < 1);
  if (t14 != 0)
    goto LAB4;
LAB6:
LAB5:
  t12 = ieee_p_1242562249_sub_18075413680674704129_1035706684(t1, t20, t3, t4,
                                                              t5);
  t15 = (t20 + 12U);
  t13 = *((unsigned int *)t15);
  t13 = (t13 * 1U);
  t0 = xsi_get_transient_memory(t13);
  memcpy(t0, t12, t13);
  t16 = (t20 + 0U);
  t18 = *((int *)t16);
  t17 = (t20 + 4U);
  t21 = *((int *)t17);
  t22 = (t20 + 8U);
  t23 = *((int *)t22);
  t24 = (t2 + 0U);
  t25 = (t24 + 0U);
  *((int *)t25) = t18;
  t25 = (t24 + 4U);
  *((int *)t25) = t21;
  t25 = (t24 + 8U);
  *((int *)t25) = t23;
  t26 = (t21 - t18);
  t19 = (t26 * t23);
  t19 = (t19 + 1);
  t25 = (t24 + 12U);
  *((unsigned int *)t25) = t19;
LAB1:
  return t0;
LAB3:
  *((char **)t8) = t3;
  goto LAB2;
LAB4:
  t15 = (t1 + 1288U);
  t16 = *((char **)t15);
  t0 = xsi_get_transient_memory(0U);
  memcpy(t0, t16, 0U);
  t15 = (t2 + 0U);
  t17 = (t15 + 0U);
  *((int *)t17) = 0;
  t17 = (t15 + 4U);
  *((int *)t17) = 1;
  t17 = (t15 + 8U);
  *((int *)t17) = -1;
  t18 = (1 - 0);
  t19 = (t18 * -1);
  t19 = (t19 + 1);
  t17 = (t15 + 12U);
  *((unsigned int *)t17) = t19;
  goto LAB1;
LAB7:
  goto LAB5;
LAB8:;
}


x86 assembly (clang, -O0):
push   %rbp
mov    %rsp,%rbp
sub    $0xf0,%rsp
mov    %rdi,-0x10(%rbp)
mov    %rsi,-0x18(%rbp)
mov    %rdx,-0x20(%rbp)
mov    %rcx,-0x28(%rbp)
mov    %r8d,-0x2c(%rbp)
lea    -0x50(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0x70(%rbp)
cmpq   $0x0,-0x20(%rbp)
setne  %al
and    $0x1,%al
movzbl %al,%eax
mov    %al,-0x71(%rbp)
movzbl -0x71(%rbp),%eax
cmp    $0x1,%eax
jne    117d <ieee_p_1242562249_sub_17249857350030274602_1035706684+0x4d>
jmp    139a <ieee_p_1242562249_sub_17249857350030274602_1035706684+0x26a>
jmp    1182 <ieee_p_1242562249_sub_17249857350030274602_1035706684+0x52>
lea    -0x50(%rbp),%rax
add    $0xc,%rax
mov    %rax,-0x80(%rbp)
mov    -0x28(%rbp),%rcx
mov    -0x80(%rbp),%rax
mov    %rcx,(%rax)
lea    -0x50(%rbp),%rax
add    $0x14,%rax
mov    %rax,-0x88(%rbp)
mov    -0x2c(%rbp),%ecx
mov    -0x88(%rbp),%rax
mov    %ecx,(%rax)
mov    -0x28(%rbp),%rax
add    $0xc,%rax
mov    %rax,-0x90(%rbp)
mov    -0x90(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x94(%rbp)
cmpl   $0x1,-0x94(%rbp)
setb   %al
and    $0x1,%al
movzbl %al,%eax
mov    %al,-0x95(%rbp)
movzbl -0x95(%rbp),%eax
cmp    $0x0,%eax
je     11fc <ieee_p_1242562249_sub_17249857350030274602_1035706684+0xcc>
jmp    13aa <ieee_p_1242562249_sub_17249857350030274602_1035706684+0x27a>
jmp    1201 <ieee_p_1242562249_sub_17249857350030274602_1035706684+0xd1>
jmp    1206 <ieee_p_1242562249_sub_17249857350030274602_1035706684+0xd6>
mov    -0x10(%rbp),%rdi
lea    -0x60(%rbp),%rsi
mov    -0x20(%rbp),%rdx
mov    -0x28(%rbp),%rcx
mov    -0x2c(%rbp),%r8d
call   1040 <ieee_p_1242562249_sub_18075413680674704129_1035706684@plt>
mov    %rax,-0x90(%rbp)
lea    -0x60(%rbp),%rax
add    $0xc,%rax
mov    %rax,-0xa0(%rbp)
mov    -0xa0(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x94(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x0,%eax
mov    %eax,-0x94(%rbp)
mov    -0x94(%rbp),%edi
call   1050 <xsi_get_transient_memory@plt>
mov    %rax,-0x68(%rbp)
mov    -0x68(%rbp),%rdi
mov    -0x90(%rbp),%rsi
mov    -0x94(%rbp),%edx
call   1030 <memcpy@plt>
lea    -0x60(%rbp),%rax
mov    %rax,-0xa8(%rbp)
mov    -0xa8(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0xb4(%rbp)
lea    -0x60(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0xb0(%rbp)
mov    -0xb0(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0xbc(%rbp)
lea    -0x60(%rbp),%rax
add    $0x8,%rax
mov    %rax,-0xc8(%rbp)
mov    -0xc8(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0xcc(%rbp)
mov    -0x18(%rbp),%rax
mov    %rax,-0xd8(%rbp)
mov    -0xd8(%rbp),%rax
mov    %rax,-0xe0(%rbp)
mov    -0xb4(%rbp),%ecx
mov    -0xe0(%rbp),%rax
mov    %ecx,(%rax)
mov    -0xd8(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0xe0(%rbp)
mov    -0xbc(%rbp),%ecx
mov    -0xe0(%rbp),%rax
mov    %ecx,(%rax)
mov    -0xd8(%rbp),%rax
add    $0x8,%rax
mov    %rax,-0xe0(%rbp)
mov    -0xcc(%rbp),%ecx
mov    -0xe0(%rbp),%rax
mov    %ecx,(%rax)
mov    -0xbc(%rbp),%eax
sub    -0xb4(%rbp),%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe4(%rbp),%eax
imul   -0xcc(%rbp),%eax
mov    %eax,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb8(%rbp)
mov    -0xd8(%rbp),%rax
add    $0xc,%rax
mov    %rax,-0xe0(%rbp)
mov    -0xb8(%rbp),%ecx
mov    -0xe0(%rbp),%rax
mov    %ecx,(%rax)
mov    -0x68(%rbp),%rax
mov    %rax,-0x8(%rbp)
jmp    1499 <ieee_p_1242562249_sub_17249857350030274602_1035706684+0x369>
mov    -0x20(%rbp),%rcx
mov    -0x70(%rbp),%rax
mov    %rcx,(%rax)
jmp    1182 <ieee_p_1242562249_sub_17249857350030274602_1035706684+0x52>
mov    -0x10(%rbp),%rax
add    $0x508,%rax
mov    %rax,-0xa0(%rbp)
mov    -0xa0(%rbp),%rax
mov    (%rax),%rax
mov    %rax,-0xa8(%rbp)
xor    %edi,%edi
call   1050 <xsi_get_transient_memory@plt>
mov    %rax,-0x68(%rbp)
mov    -0x68(%rbp),%rdi
mov    -0xa8(%rbp),%rsi
xor    %edx,%edx
call   1030 <memcpy@plt>
mov    -0x18(%rbp),%rax
mov    %rax,-0xa0(%rbp)
mov    -0xa0(%rbp),%rax
mov    %rax,-0xb0(%rbp)
mov    -0xb0(%rbp),%rax
movl   $0x0,(%rax)
mov    -0xa0(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0xb0(%rbp)
mov    -0xb0(%rbp),%rax
movl   $0x1,(%rax)
mov    -0xa0(%rbp),%rax
add    $0x8,%rax
mov    %rax,-0xb0(%rbp)
mov    -0xb0(%rbp),%rax
movl   $0xffffffff,(%rax)
movl   $0x1,-0xb4(%rbp)
imul   $0xffffffff,-0xb4(%rbp),%eax
mov    %eax,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb8(%rbp)
mov    -0xa0(%rbp),%rax
add    $0xc,%rax
mov    %rax,-0xb0(%rbp)
mov    -0xb8(%rbp),%ecx
mov    -0xb0(%rbp),%rax
mov    %ecx,(%rax)
jmp    138d <ieee_p_1242562249_sub_17249857350030274602_1035706684+0x25d>
mov    -0x8(%rbp),%rax
add    $0xf0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
push   %rbp
push   %r15
push   %r14
push   %rbx
sub    $0x18,%rsp
mov    %rsi,%rbx
cmpl   $0x0,0xc(%rcx)
je     1186 <ieee_p_1242562249_sub_17249857350030274602_1035706684+0x56>
mov    %rsp,%rsi
call   1040 <ieee_p_1242562249_sub_18075413680674704129_1035706684@plt>
mov    %rax,%r15
mov    0xc(%rsp),%ebp
mov    %ebp,%edi
call   1050 <xsi_get_transient_memory@plt>
mov    %rax,%r14
mov    %rax,%rdi
mov    %r15,%rsi
mov    %ebp,%edx
call   1030 <memcpy@plt>
mov    (%rsp),%eax
mov    0x4(%rsp),%ebp
mov    0x8(%rsp),%ecx
mov    %eax,(%rbx)
mov    %ebp,0x4(%rbx)
mov    %ecx,0x8(%rbx)
sub    %eax,%ebp
imul   %ecx,%ebp
add    $0x1,%ebp
jmp    11ba <ieee_p_1242562249_sub_17249857350030274602_1035706684+0x8a>
mov    0x508(%rdi),%r15
xor    %ebp,%ebp
xor    %edi,%edi
call   1050 <xsi_get_transient_memory@plt>
mov    %rax,%r14
mov    %rax,%rdi
mov    %r15,%rsi
xor    %edx,%edx
call   1030 <memcpy@plt>
movabs $0x100000000,%rax
mov    %rax,(%rbx)
movl   $0xffffffff,0x8(%rbx)
mov    %ebp,0xc(%rbx)
mov    %r14,%rax
add    $0x18,%rsp
pop    %rbx
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define i8* @ieee_p_1242562249_sub_17249857350030274602_1035706684(i8* %0, i8* %1, i8* %2, i8* %3, i32 %4) {
%6 = alloca i8*
%7 = alloca i8*
%8 = alloca i8*
%9 = alloca i8*
%10 = alloca i8*
%11 = alloca i32
%12 = alloca [24 x i8]
%13 = alloca [16 x i8]
%14 = alloca i8*
%15 = alloca i8*
%16 = alloca i8
%17 = alloca i8*
%18 = alloca i8*
%19 = alloca i8*
%20 = alloca i32
%21 = alloca i8
%22 = alloca i8*
%23 = alloca i8*
%24 = alloca i8*
%25 = alloca i32
%26 = alloca i32
%27 = alloca i32
%28 = alloca i8*
%29 = alloca i32
%30 = alloca i8*
%31 = alloca i8*
%32 = alloca i32
store i8* %0, i8** %7
store i8* %1, i8** %8
store i8* %2, i8** %9
store i8* %3, i8** %10
store i32 %4, i32* %11
br label %33
33: ; preds = %5
%34 = getelementptr inbounds [24 x i8], [24 x i8]* %12, i64 0, i64 0
%35 = getelementptr inbounds i8, i8* %34, i64 4
store i8* %35, i8** %15
%36 = load i8*, i8** %9
%37 = icmp ne i8* %36, null
%38 = zext i1 %37 to i32
%39 = trunc i32 %38 to i8
store i8 %39, i8* %16
%40 = load i8, i8* %16
%41 = zext i8 %40 to i32
%42 = icmp eq i32 %41, 1
br i1 %42, label %43, label %44
43: ; preds = %33
br label %138
44: ; preds = %33
br label %45
45: ; preds = %138, %44
%46 = getelementptr inbounds [24 x i8], [24 x i8]* %12, i64 0, i64 0
%47 = getelementptr inbounds i8, i8* %46, i64 12
store i8* %47, i8** %17
%48 = load i8*, i8** %10
%49 = load i8*, i8** %17
%50 = bitcast i8* %49 to i8**
store i8* %48, i8** %50
%51 = getelementptr inbounds [24 x i8], [24 x i8]* %12, i64 0, i64 0
%52 = getelementptr inbounds i8, i8* %51, i64 20
store i8* %52, i8** %18
%53 = load i32, i32* %11
%54 = load i8*, i8** %18
%55 = bitcast i8* %54 to i32*
store i32 %53, i32* %55
%56 = load i8*, i8** %10
%57 = getelementptr inbounds i8, i8* %56, i64 12
store i8* %57, i8** %19
%58 = load i8*, i8** %19
%59 = bitcast i8* %58 to i32*
%60 = load i32, i32* %59
store i32 %60, i32* %20
%61 = load i32, i32* %20
%62 = icmp ult i32 %61, 1
%63 = zext i1 %62 to i32
%64 = trunc i32 %63 to i8
store i8 %64, i8* %21
%65 = load i8, i8* %21
%66 = zext i8 %65 to i32
%67 = icmp ne i32 %66, 0
br i1 %67, label %68, label %69
68: ; preds = %45
br label %142
69: ; preds = %45
br label %70
70: ; preds = %69
br label %71
71: ; preds = %175, %70
%72 = load i8*, i8** %7
%73 = getelementptr inbounds [16 x i8], [16 x i8]* %13, i64 0, i64 0
%74 = load i8*, i8** %9
%75 = load i8*, i8** %10
%76 = load i32, i32* %11
%77 = call i8* @ieee_p_1242562249_sub_18075413680674704129_1035706684(i8* %72, i8* %73, i8* %74, i8* %75, i32 %76)
store i8* %77, i8** %19
%78 = getelementptr inbounds [16 x i8], [16 x i8]* %13, i64 0, i64 0
%79 = getelementptr inbounds i8, i8* %78, i64 12
store i8* %79, i8** %22
%80 = load i8*, i8** %22
%81 = bitcast i8* %80 to i32*
%82 = load i32, i32* %81
store i32 %82, i32* %20
%83 = load i32, i32* %20
%84 = mul i32 %83, 1
store i32 %84, i32* %20
%85 = load i32, i32* %20
%86 = call i8* @xsi_get_transient_memory(i32 %85)
store i8* %86, i8** %14
%87 = load i8*, i8** %14
%88 = load i8*, i8** %19
%89 = load i32, i32* %20
%90 = call i32 @memcpy(i8* %87, i8* %88, i32 %89)
%91 = getelementptr inbounds [16 x i8], [16 x i8]* %13, i64 0, i64 0
%92 = getelementptr inbounds i8, i8* %91, i64 0
store i8* %92, i8** %23
%93 = load i8*, i8** %23
%94 = bitcast i8* %93 to i32*
%95 = load i32, i32* %94
store i32 %95, i32* %25
%96 = getelementptr inbounds [16 x i8], [16 x i8]* %13, i64 0, i64 0
%97 = getelementptr inbounds i8, i8* %96, i64 4
store i8* %97, i8** %24
%98 = load i8*, i8** %24
%99 = bitcast i8* %98 to i32*
%100 = load i32, i32* %99
store i32 %100, i32* %27
%101 = getelementptr inbounds [16 x i8], [16 x i8]* %13, i64 0, i64 0
%102 = getelementptr inbounds i8, i8* %101, i64 8
store i8* %102, i8** %28
%103 = load i8*, i8** %28
%104 = bitcast i8* %103 to i32*
%105 = load i32, i32* %104
store i32 %105, i32* %29
%106 = load i8*, i8** %8
%107 = getelementptr inbounds i8, i8* %106, i64 0
store i8* %107, i8** %30
%108 = load i8*, i8** %30
%109 = getelementptr inbounds i8, i8* %108, i64 0
store i8* %109, i8** %31
%110 = load i32, i32* %25
%111 = load i8*, i8** %31
%112 = bitcast i8* %111 to i32*
store i32 %110, i32* %112
%113 = load i8*, i8** %30
%114 = getelementptr inbounds i8, i8* %113, i64 4
store i8* %114, i8** %31
%115 = load i32, i32* %27
%116 = load i8*, i8** %31
%117 = bitcast i8* %116 to i32*
store i32 %115, i32* %117
%118 = load i8*, i8** %30
%119 = getelementptr inbounds i8, i8* %118, i64 8
store i8* %119, i8** %31
%120 = load i32, i32* %29
%121 = load i8*, i8** %31
%122 = bitcast i8* %121 to i32*
store i32 %120, i32* %122
%123 = load i32, i32* %27
%124 = load i32, i32* %25
%125 = sub nsw i32 %123, %124
store i32 %125, i32* %32
%126 = load i32, i32* %32
%127 = load i32, i32* %29
%128 = mul nsw i32 %126, %127
store i32 %128, i32* %26
%129 = load i32, i32* %26
%130 = add i32 %129, 1
store i32 %130, i32* %26
%131 = load i8*, i8** %30
%132 = getelementptr inbounds i8, i8* %131, i64 12
store i8* %132, i8** %31
%133 = load i32, i32* %26
%134 = load i8*, i8** %31
%135 = bitcast i8* %134 to i32*
store i32 %133, i32* %135
br label %136
136: ; preds = %142, %71
%137 = load i8*, i8** %14
store i8* %137, i8** %6
br label %177
138: ; preds = %43
%139 = load i8*, i8** %9
%140 = load i8*, i8** %15
%141 = bitcast i8* %140 to i8**
store i8* %139, i8** %141
br label %45
142: ; preds = %68
%143 = load i8*, i8** %7
%144 = getelementptr inbounds i8, i8* %143, i64 1288
store i8* %144, i8** %22
%145 = load i8*, i8** %22
%146 = bitcast i8* %145 to i8**
%147 = load i8*, i8** %146
store i8* %147, i8** %23
%148 = call i8* @xsi_get_transient_memory(i32 0)
store i8* %148, i8** %14
%149 = load i8*, i8** %14
%150 = load i8*, i8** %23
%151 = call i32 @memcpy(i8* %149, i8* %150, i32 0)
%152 = load i8*, i8** %8
%153 = getelementptr inbounds i8, i8* %152, i64 0
store i8* %153, i8** %22
%154 = load i8*, i8** %22
%155 = getelementptr inbounds i8, i8* %154, i64 0
store i8* %155, i8** %24
%156 = load i8*, i8** %24
%157 = bitcast i8* %156 to i32*
store i32 0, i32* %157
%158 = load i8*, i8** %22
%159 = getelementptr inbounds i8, i8* %158, i64 4
store i8* %159, i8** %24
%160 = load i8*, i8** %24
%161 = bitcast i8* %160 to i32*
store i32 1, i32* %161
%162 = load i8*, i8** %22
%163 = getelementptr inbounds i8, i8* %162, i64 8
store i8* %163, i8** %24
%164 = load i8*, i8** %24
%165 = bitcast i8* %164 to i32*
store i32 -1, i32* %165
store i32 1, i32* %25
%166 = load i32, i32* %25
%167 = mul nsw i32 %166, -1
store i32 %167, i32* %26
%168 = load i32, i32* %26
%169 = add i32 %168, 1
store i32 %169, i32* %26
%170 = load i8*, i8** %22
%171 = getelementptr inbounds i8, i8* %170, i64 12
store i8* %171, i8** %24
%172 = load i32, i32* %26
%173 = load i8*, i8** %24
%174 = bitcast i8* %173 to i32*
store i32 %172, i32* %174
br label %136
175: ; No predecessors!
br label %71
176: ; No predecessors!
br label %177
177: ; preds = %176, %136
%178 = load i8*, i8** %6
ret i8* %178
}

LLVM IR (-O2):
define i8* @ieee_p_1242562249_sub_17249857350030274602_1035706684(i8* %0, i8* nocapture writeonly %1, i8* %2, i8* %3, i32 %4) {
%6 = alloca [16 x i8]
%7 = getelementptr inbounds [16 x i8], [16 x i8]* %6, i64 0, i64 0
%8 = getelementptr inbounds i8, i8* %3, i64 12
%9 = bitcast i8* %8 to i32*
%10 = load i32, i32* %9
%11 = icmp eq i32 %10, 0
br i1 %11, label %40, label %12
12: ; preds = %5
%13 = call i8* @ieee_p_1242562249_sub_18075413680674704129_1035706684(i8* %0, i8* %7, i8* %2, i8* %3, i32 %4)
%14 = getelementptr inbounds [16 x i8], [16 x i8]* %6, i64 0, i64 12
%15 = bitcast i8* %14 to i32*
%16 = load i32, i32* %15
%17 = call i8* @xsi_get_transient_memory(i32 %16)
%18 = call i32 @memcpy(i8* %17, i8* %13, i32 %16)
%19 = bitcast [16 x i8]* %6 to i32*
%20 = load i32, i32* %19
%21 = getelementptr inbounds [16 x i8], [16 x i8]* %6, i64 0, i64 4
%22 = bitcast i8* %21 to i32*
%23 = load i32, i32* %22
%24 = getelementptr inbounds [16 x i8], [16 x i8]* %6, i64 0, i64 8
%25 = bitcast i8* %24 to i32*
%26 = load i32, i32* %25
%27 = bitcast i8* %1 to i32*
store i32 %20, i32* %27
%28 = getelementptr inbounds i8, i8* %1, i64 4
%29 = bitcast i8* %28 to i32*
store i32 %23, i32* %29
%30 = getelementptr inbounds i8, i8* %1, i64 8
%31 = bitcast i8* %30 to i32*
store i32 %26, i32* %31
%32 = sub nsw i32 %23, %20
%33 = mul nsw i32 %32, %26
%34 = add i32 %33, 1
br label %35
35: ; preds = %40, %12
%36 = phi i32 [ 0, %40 ], [ %34, %12 ]
%37 = phi i8* [ %44, %40 ], [ %17, %12 ]
%38 = getelementptr inbounds i8, i8* %1, i64 12
%39 = bitcast i8* %38 to i32*
store i32 %36, i32* %39
ret i8* %37
40: ; preds = %5
%41 = getelementptr inbounds i8, i8* %0, i64 1288
%42 = bitcast i8* %41 to i8**
%43 = load i8*, i8** %42
%44 = tail call i8* @xsi_get_transient_memory(i32 0)
%45 = tail call i32 @memcpy(i8* %44, i8* %43, i32 0)
%46 = bitcast i8* %1 to i32*
store i32 0, i32* %46
%47 = getelementptr inbounds i8, i8* %1, i64 4
%48 = bitcast i8* %47 to i32*
store i32 1, i32* %48
%49 = getelementptr inbounds i8, i8* %1, i64 8
%50 = bitcast i8* %49 to i32*
store i32 -1, i32* %50
br label %35
}