int vmsarg_mapping(int *nvargs, char *vms_arg[], char *unix_arg[],
                   char *unix_narg[], char *vms_key[], char *unix_key[],
                   char *separator[], int flags[], char *pattern[],
                   char **outverb, int *action_flags, char **arg_symbol,
                   char **image_name) {
  *nvargs = 12;
  *action_flags = 1301;
  vms_arg[1] = "DIRECTION";
  flags[1] = 1;
  unix_arg[1] = "$";
  vms_arg[2] = "FILE_NAME";
  flags[2] = 1;
  unix_arg[2] = "$";
  vms_arg[3] = "DATABASE_NAME";
  flags[3] = 1;
  unix_arg[3] = "$";
  vms_arg[4] = "OBJECT_NAME";
  flags[4] = 1;
  unix_arg[4] = "$";
  vms_arg[5] = "USERNAME";
  flags[5] = 1;
  unix_arg[5] = "-U";
  vms_arg[6] = "PASSOWRD";
  flags[6] = 1;
  unix_arg[6] = "-P";
  vms_arg[7] = "SERVER_NAME";
  flags[7] = 1;
  unix_arg[7] = "-S";
  vms_arg[8] = "VERSION";
  flags[8] = 1;
  unix_arg[8] = "-v";
  vms_arg[9] = "INTERFACES";
  flags[9] = 1;
  unix_arg[9] = "-I";
  vms_arg[10] = "DISPCHARSET";
  flags[10] = 1;
  unix_arg[10] = "-a";
  vms_arg[11] = "LANGUAGE";
  flags[11] = 1;
  unix_arg[11] = "-z";
  vms_arg[12] = "CLIENTCHARSET";
  flags[12] = 1;
  unix_arg[12] = "-J";
  return 1;
}


x86 assembly (clang, -O0):
<vmsarg_mapping>:
push   %rbp
mov    %rsp,%rbp
mov    0x40(%rbp),%rax
mov    0x38(%rbp),%rax
mov    0x30(%rbp),%rax
mov    0x28(%rbp),%rax
mov    0x20(%rbp),%rax
mov    0x18(%rbp),%rax
mov    0x10(%rbp),%rax
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    %rcx,-0x20(%rbp)
mov    %r8,-0x28(%rbp)
mov    %r9,-0x30(%rbp)
mov    -0x8(%rbp),%rax
movl   $0xc,(%rax)
mov    0x30(%rbp),%rax
movl   $0x515,(%rax)
mov    -0x10(%rbp),%rax
lea    0xea9(%rip),%rcx
mov    %rcx,0x8(%rax)
mov    0x18(%rbp),%rax
movl   $0x1,0x4(%rax)
mov    -0x18(%rbp),%rax
lea    0xe99(%rip),%rcx
mov    %rcx,0x8(%rax)
mov    -0x10(%rbp),%rax
lea    0xe8c(%rip),%rcx
mov    %rcx,0x10(%rax)
mov    0x18(%rbp),%rax
movl   $0x1,0x8(%rax)
mov    -0x18(%rbp),%rax
lea    0xe70(%rip),%rcx
mov    %rcx,0x10(%rax)
mov    -0x10(%rbp),%rax
lea    0xe6d(%rip),%rcx
mov    %rcx,0x18(%rax)
mov    0x18(%rbp),%rax
movl   $0x1,0xc(%rax)
mov    -0x18(%rbp),%rax
lea    0xe47(%rip),%rcx
mov    %rcx,0x18(%rax)
mov    -0x10(%rbp),%rax
lea    0xe52(%rip),%rcx
mov    %rcx,0x20(%rax)
mov    0x18(%rbp),%rax
movl   $0x1,0x10(%rax)
mov    -0x18(%rbp),%rax
lea    0xe1e(%rip),%rcx
mov    %rcx,0x20(%rax)
mov    -0x10(%rbp),%rax
lea    0xe35(%rip),%rcx
mov    %rcx,0x28(%rax)
mov    0x18(%rbp),%rax
movl   $0x1,0x14(%rax)
mov    -0x18(%rbp),%rax
lea    0xe24(%rip),%rcx
mov    %rcx,0x28(%rax)
mov    -0x10(%rbp),%rax
lea    0xe18(%rip),%rcx
mov    %rcx,0x30(%rax)
mov    0x18(%rbp),%rax
movl   $0x1,0x18(%rax)
mov    -0x18(%rbp),%rax
lea    0xe07(%rip),%rcx
mov    %rcx,0x30(%rax)
mov    -0x10(%rbp),%rax
lea    0xdfb(%rip),%rcx
mov    %rcx,0x38(%rax)
mov    0x18(%rbp),%rax
movl   $0x1,0x1c(%rax)
mov    -0x18(%rbp),%rax
lea    0xded(%rip),%rcx
mov    %rcx,0x38(%rax)
mov    -0x10(%rbp),%rax
lea    0xde1(%rip),%rcx
mov    %rcx,0x40(%rax)
mov    0x18(%rbp),%rax
movl   $0x1,0x20(%rax)
mov    -0x18(%rbp),%rax
lea    0xdcf(%rip),%rcx
mov    %rcx,0x40(%rax)
mov    -0x10(%rbp),%rax
lea    0xdc3(%rip),%rcx
mov    %rcx,0x48(%rax)
mov    0x18(%rbp),%rax
movl   $0x1,0x24(%rax)
mov    -0x18(%rbp),%rax
lea    0xdb4(%rip),%rcx
mov    %rcx,0x48(%rax)
mov    -0x10(%rbp),%rax
lea    0xda8(%rip),%rcx
mov    %rcx,0x50(%rax)
mov    0x18(%rbp),%rax
movl   $0x1,0x28(%rax)
mov    -0x18(%rbp),%rax
lea    0xd9a(%rip),%rcx
mov    %rcx,0x50(%rax)
mov    -0x10(%rbp),%rax
lea    0xd8e(%rip),%rcx
mov    %rcx,0x58(%rax)
mov    0x18(%rbp),%rax
movl   $0x1,0x2c(%rax)
mov    -0x18(%rbp),%rax
lea    0xd7d(%rip),%rcx
mov    %rcx,0x58(%rax)
mov    -0x10(%rbp),%rax
lea    0xd71(%rip),%rcx
mov    %rcx,0x60(%rax)
mov    0x18(%rbp),%rax
movl   $0x1,0x30(%rax)
mov    -0x18(%rbp),%rax
lea    0xd65(%rip),%rcx
mov    %rcx,0x60(%rax)
mov    $0x1,%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<vmsarg_mapping>:
mov    0x10(%rsp),%rax
mov    0x28(%rsp),%rcx
movl   $0xc,(%rdi)
movl   $0x515,(%rcx)
lea    0xef3(%rip),%rcx
mov    %rcx,0x8(%rsi)
lea    0xef2(%rip),%rcx
mov    %rcx,0x8(%rdx)
lea    0xee9(%rip),%rdi
mov    %rdi,0x10(%rsi)
mov    %rcx,0x10(%rdx)
lea    0xee4(%rip),%rdi
mov    %rdi,0x18(%rsi)
mov    %rcx,0x18(%rdx)
lea    0xee3(%rip),%rdi
mov    %rdi,0x20(%rsi)
movaps 0xea4(%rip),%xmm0
movups %xmm0,0x4(%rax)
mov    %rcx,0x20(%rdx)
lea    0xed5(%rip),%rcx
mov    %rcx,0x28(%rsi)
lea    0xed3(%rip),%rcx
mov    %rcx,0x28(%rdx)
lea    0xecb(%rip),%rcx
mov    %rcx,0x30(%rsi)
lea    0xec9(%rip),%rcx
mov    %rcx,0x30(%rdx)
lea    0xec1(%rip),%rcx
mov    %rcx,0x38(%rsi)
lea    0xec2(%rip),%rcx
mov    %rcx,0x38(%rdx)
lea    0xeba(%rip),%rcx
mov    %rcx,0x40(%rsi)
movups %xmm0,0x14(%rax)
lea    0xeb3(%rip),%rcx
mov    %rcx,0x40(%rdx)
lea    0xeab(%rip),%rcx
mov    %rcx,0x48(%rsi)
lea    0xeab(%rip),%rcx
mov    %rcx,0x48(%rdx)
lea    0xea3(%rip),%rcx
mov    %rcx,0x50(%rsi)
lea    0xea4(%rip),%rcx
mov    %rcx,0x50(%rdx)
lea    0xe9c(%rip),%rcx
mov    %rcx,0x58(%rsi)
lea    0xe9a(%rip),%rcx
mov    %rcx,0x58(%rdx)
lea    0xe92(%rip),%rcx
mov    %rcx,0x60(%rsi)
movups %xmm0,0x24(%rax)
lea    0xe91(%rip),%rax
mov    %rax,0x60(%rdx)
mov    $0x1,%eax
ret

LLVM IR (-O0):
@.str = [10 x i8] c"DIRECTION\00"
@.str.1 = [2 x i8] c"$\00"
@.str.2 = [10 x i8] c"FILE_NAME\00"
@.str.3 = [14 x i8] c"DATABASE_NAME\00"
@.str.4 = [12 x i8] c"OBJECT_NAME\00"
@.str.5 = [9 x i8] c"USERNAME\00"
@.str.6 = [3 x i8] c"-U\00"
@.str.7 = [9 x i8] c"PASSOWRD\00"
@.str.8 = [3 x i8] c"-P\00"
@.str.9 = [12 x i8] c"SERVER_NAME\00"
@.str.10 = [3 x i8] c"-S\00"
@.str.11 = [8 x i8] c"VERSION\00"
@.str.12 = [3 x i8] c"-v\00"
@.str.13 = [11 x i8] c"INTERFACES\00"
@.str.14 = [3 x i8] c"-I\00"
@.str.15 = [12 x i8] c"DISPCHARSET\00"
@.str.16 = [3 x i8] c"-a\00"
@.str.17 = [9 x i8] c"LANGUAGE\00"
@.str.18 = [3 x i8] c"-z\00"
@.str.19 = [14 x i8] c"CLIENTCHARSET\00"
@.str.20 = [3 x i8] c"-J\00"
define i32 @vmsarg_mapping(i32* %0, i8** %1, i8** %2, i8** %3, i8** %4, i8** %5, i8** %6, i32* %7, i8** %8, i8** %9, i32* %10, i8** %11, i8** %12) {
%14 = alloca i32*
%15 = alloca i8**
%16 = alloca i8**
%17 = alloca i8**
%18 = alloca i8**
%19 = alloca i8**
%20 = alloca i8**
%21 = alloca i32*
%22 = alloca i8**
%23 = alloca i8**
%24 = alloca i32*
%25 = alloca i8**
%26 = alloca i8**
store i32* %0, i32** %14
store i8** %1, i8*** %15
store i8** %2, i8*** %16
store i8** %3, i8*** %17
store i8** %4, i8*** %18
store i8** %5, i8*** %19
store i8** %6, i8*** %20
store i32* %7, i32** %21
store i8** %8, i8*** %22
store i8** %9, i8*** %23
store i32* %10, i32** %24
store i8** %11, i8*** %25
store i8** %12, i8*** %26
%27 = load i32*, i32** %14
store i32 12, i32* %27
%28 = load i32*, i32** %24
store i32 1301, i32* %28
%29 = load i8**, i8*** %15
%30 = getelementptr inbounds i8*, i8** %29, i64 1
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str, i64 0, i64 0), i8** %30
%31 = load i32*, i32** %21
%32 = getelementptr inbounds i32, i32* %31, i64 1
store i32 1, i32* %32
%33 = load i8**, i8*** %16
%34 = getelementptr inbounds i8*, i8** %33, i64 1
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0), i8** %34
%35 = load i8**, i8*** %15
%36 = getelementptr inbounds i8*, i8** %35, i64 2
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2, i64 0, i64 0), i8** %36
%37 = load i32*, i32** %21
%38 = getelementptr inbounds i32, i32* %37, i64 2
store i32 1, i32* %38
%39 = load i8**, i8*** %16
%40 = getelementptr inbounds i8*, i8** %39, i64 2
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0), i8** %40
%41 = load i8**, i8*** %15
%42 = getelementptr inbounds i8*, i8** %41, i64 3
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.3, i64 0, i64 0), i8** %42
%43 = load i32*, i32** %21
%44 = getelementptr inbounds i32, i32* %43, i64 3
store i32 1, i32* %44
%45 = load i8**, i8*** %16
%46 = getelementptr inbounds i8*, i8** %45, i64 3
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0), i8** %46
%47 = load i8**, i8*** %15
%48 = getelementptr inbounds i8*, i8** %47, i64 4
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.4, i64 0, i64 0), i8** %48
%49 = load i32*, i32** %21
%50 = getelementptr inbounds i32, i32* %49, i64 4
store i32 1, i32* %50
%51 = load i8**, i8*** %16
%52 = getelementptr inbounds i8*, i8** %51, i64 4
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0), i8** %52
%53 = load i8**, i8*** %15
%54 = getelementptr inbounds i8*, i8** %53, i64 5
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.5, i64 0, i64 0), i8** %54
%55 = load i32*, i32** %21
%56 = getelementptr inbounds i32, i32* %55, i64 5
store i32 1, i32* %56
%57 = load i8**, i8*** %16
%58 = getelementptr inbounds i8*, i8** %57, i64 5
store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.6, i64 0, i64 0), i8** %58
%59 = load i8**, i8*** %15
%60 = getelementptr inbounds i8*, i8** %59, i64 6
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.7, i64 0, i64 0), i8** %60
%61 = load i32*, i32** %21
%62 = getelementptr inbounds i32, i32* %61, i64 6
store i32 1, i32* %62
%63 = load i8**, i8*** %16
%64 = getelementptr inbounds i8*, i8** %63, i64 6
store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.8, i64 0, i64 0), i8** %64
%65 = load i8**, i8*** %15
%66 = getelementptr inbounds i8*, i8** %65, i64 7
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.9, i64 0, i64 0), i8** %66
%67 = load i32*, i32** %21
%68 = getelementptr inbounds i32, i32* %67, i64 7
store i32 1, i32* %68
%69 = load i8**, i8*** %16
%70 = getelementptr inbounds i8*, i8** %69, i64 7
store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.10, i64 0, i64 0), i8** %70
%71 = load i8**, i8*** %15
%72 = getelementptr inbounds i8*, i8** %71, i64 8
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.11, i64 0, i64 0), i8** %72
%73 = load i32*, i32** %21
%74 = getelementptr inbounds i32, i32* %73, i64 8
store i32 1, i32* %74
%75 = load i8**, i8*** %16
%76 = getelementptr inbounds i8*, i8** %75, i64 8
store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.12, i64 0, i64 0), i8** %76
%77 = load i8**, i8*** %15
%78 = getelementptr inbounds i8*, i8** %77, i64 9
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.13, i64 0, i64 0), i8** %78
%79 = load i32*, i32** %21
%80 = getelementptr inbounds i32, i32* %79, i64 9
store i32 1, i32* %80
%81 = load i8**, i8*** %16
%82 = getelementptr inbounds i8*, i8** %81, i64 9
store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.14, i64 0, i64 0), i8** %82
%83 = load i8**, i8*** %15
%84 = getelementptr inbounds i8*, i8** %83, i64 10
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.15, i64 0, i64 0), i8** %84
%85 = load i32*, i32** %21
%86 = getelementptr inbounds i32, i32* %85, i64 10
store i32 1, i32* %86
%87 = load i8**, i8*** %16
%88 = getelementptr inbounds i8*, i8** %87, i64 10
store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.16, i64 0, i64 0), i8** %88
%89 = load i8**, i8*** %15
%90 = getelementptr inbounds i8*, i8** %89, i64 11
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.17, i64 0, i64 0), i8** %90
%91 = load i32*, i32** %21
%92 = getelementptr inbounds i32, i32* %91, i64 11
store i32 1, i32* %92
%93 = load i8**, i8*** %16
%94 = getelementptr inbounds i8*, i8** %93, i64 11
store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.18, i64 0, i64 0), i8** %94
%95 = load i8**, i8*** %15
%96 = getelementptr inbounds i8*, i8** %95, i64 12
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.19, i64 0, i64 0), i8** %96
%97 = load i32*, i32** %21
%98 = getelementptr inbounds i32, i32* %97, i64 12
store i32 1, i32* %98
%99 = load i8**, i8*** %16
%100 = getelementptr inbounds i8*, i8** %99, i64 12
store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.20, i64 0, i64 0), i8** %100
ret i32 1
}

LLVM IR (-O2):
@.str = [10 x i8] c"DIRECTION\00"
@.str.1 = [2 x i8] c"$\00"
@.str.2 = [10 x i8] c"FILE_NAME\00"
@.str.3 = [14 x i8] c"DATABASE_NAME\00"
@.str.4 = [12 x i8] c"OBJECT_NAME\00"
@.str.5 = [9 x i8] c"USERNAME\00"
@.str.6 = [3 x i8] c"-U\00"
@.str.7 = [9 x i8] c"PASSOWRD\00"
@.str.8 = [3 x i8] c"-P\00"
@.str.9 = [12 x i8] c"SERVER_NAME\00"
@.str.10 = [3 x i8] c"-S\00"
@.str.11 = [8 x i8] c"VERSION\00"
@.str.12 = [3 x i8] c"-v\00"
@.str.13 = [11 x i8] c"INTERFACES\00"
@.str.14 = [3 x i8] c"-I\00"
@.str.15 = [12 x i8] c"DISPCHARSET\00"
@.str.16 = [3 x i8] c"-a\00"
@.str.17 = [9 x i8] c"LANGUAGE\00"
@.str.18 = [3 x i8] c"-z\00"
@.str.19 = [14 x i8] c"CLIENTCHARSET\00"
@.str.20 = [3 x i8] c"-J\00"
define i32 @vmsarg_mapping(i32* nocapture writeonly %0, i8** nocapture writeonly %1, i8** nocapture writeonly %2, i8** nocapture readnone %3, i8** nocapture readnone %4, i8** nocapture readnone %5, i8** nocapture readnone %6, i32* nocapture writeonly %7, i8** nocapture readnone %8, i8** nocapture readnone %9, i32* nocapture writeonly %10, i8** nocapture readnone %11, i8** nocapture readnone %12) {
store i32 12, i32* %0
store i32 1301, i32* %10
%14 = getelementptr inbounds i8*, i8** %1, i64 1
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str, i64 0, i64 0), i8** %14
%15 = getelementptr inbounds i32, i32* %7, i64 1
%16 = getelementptr inbounds i8*, i8** %2, i64 1
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0), i8** %16
%17 = getelementptr inbounds i8*, i8** %1, i64 2
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2, i64 0, i64 0), i8** %17
%18 = getelementptr inbounds i8*, i8** %2, i64 2
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0), i8** %18
%19 = getelementptr inbounds i8*, i8** %1, i64 3
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.3, i64 0, i64 0), i8** %19
%20 = getelementptr inbounds i8*, i8** %2, i64 3
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0), i8** %20
%21 = getelementptr inbounds i8*, i8** %1, i64 4
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.4, i64 0, i64 0), i8** %21
%22 = bitcast i32* %15 to <4 x i32>*
store <4 x i32> <i32 1, i32 1, i32 1, i32 1>, <4 x i32>* %22
%23 = getelementptr inbounds i8*, i8** %2, i64 4
store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0), i8** %23
%24 = getelementptr inbounds i8*, i8** %1, i64 5
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.5, i64 0, i64 0), i8** %24
%25 = getelementptr inbounds i32, i32* %7, i64 5
%26 = getelementptr inbounds i8*, i8** %2, i64 5
store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.6, i64 0, i64 0), i8** %26
%27 = getelementptr inbounds i8*, i8** %1, i64 6
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.7, i64 0, i64 0), i8** %27
%28 = getelementptr inbounds i8*, i8** %2, i64 6
store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.8, i64 0, i64 0), i8** %28
%29 = getelementptr inbounds i8*, i8** %1, i64 7
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.9, i64 0, i64 0), i8** %29
%30 = getelementptr inbounds i8*, i8** %2, i64 7
store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.10, i64 0, i64 0), i8** %30
%31 = getelementptr inbounds i8*, i8** %1, i64 8
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.11, i64 0, i64 0), i8** %31
%32 = bitcast i32* %25 to <4 x i32>*
store <4 x i32> <i32 1, i32 1, i32 1, i32 1>, <4 x i32>* %32
%33 = getelementptr inbounds i8*, i8** %2, i64 8
store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.12, i64 0, i64 0), i8** %33
%34 = getelementptr inbounds i8*, i8** %1, i64 9
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.13, i64 0, i64 0), i8** %34
%35 = getelementptr inbounds i32, i32* %7, i64 9
%36 = getelementptr inbounds i8*, i8** %2, i64 9
store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.14, i64 0, i64 0), i8** %36
%37 = getelementptr inbounds i8*, i8** %1, i64 10
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.15, i64 0, i64 0), i8** %37
%38 = getelementptr inbounds i8*, i8** %2, i64 10
store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.16, i64 0, i64 0), i8** %38
%39 = getelementptr inbounds i8*, i8** %1, i64 11
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.17, i64 0, i64 0), i8** %39
%40 = getelementptr inbounds i8*, i8** %2, i64 11
store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.18, i64 0, i64 0), i8** %40
%41 = getelementptr inbounds i8*, i8** %1, i64 12
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.19, i64 0, i64 0), i8** %41
%42 = bitcast i32* %35 to <4 x i32>*
store <4 x i32> <i32 1, i32 1, i32 1, i32 1>, <4 x i32>* %42
%43 = getelementptr inbounds i8*, i8** %2, i64 12
store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.20, i64 0, i64 0), i8** %43
ret i32 1
}