void function_two(void) {
  do {
    log_msg_prefix(
        "NOTICE",
        "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
        "2022-01-22/02-19-57/repos/apache/incubator-corinthia/refs/heads/"
        "master/experiments/logger/useLogmaker.c",
        21, __FUNCTION__);
    log_msg("NOTICE",
            "variable two = %d, %d, %d,%d, %d, %d, %d, %d, %d, %d "
            "%d, %d, %d,%d, %d, %d, %d, %d, %d, %d\n",
            1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
  } while (0);
  do {
    log_msg_prefix(
        "LOG_MAKER",
        "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
        "2022-01-22/02-19-57/repos/apache/incubator-corinthia/refs/heads/"
        "master/experiments/logger/useLogmaker.c",
        25, __FUNCTION__);
    log_msg("LOG_MAKER", "this is a LOG_USE_LOGMAKER_MSG = %s\n", "LOG_MAKER");
  } while (0);
  ;
  return;
}


x86 assembly (clang, -O0):
<function_two>:
push   %rbp
mov    %rsp,%rbp
sub    $0x80,%rsp
jmp    1130 <function_two+0x10>
lea    0xec9(%rip),%rdi
lea    0xec9(%rip),%rsi
mov    $0x15,%edx
lea    0xf65(%rip),%rcx
mov    $0x0,%al
call   1030 <log_msg_prefix@plt>
lea    0xea8(%rip),%rdi
lea    0xf5d(%rip),%rsi
mov    $0x1,%edx
mov    $0x2,%ecx
mov    $0x3,%r8d
mov    $0x4,%r9d
movl   $0x5,(%rsp)
movl   $0x6,0x8(%rsp)
movl   $0x7,0x10(%rsp)
movl   $0x8,0x18(%rsp)
movl   $0x9,0x20(%rsp)
movl   $0xa,0x28(%rsp)
movl   $0x1,0x30(%rsp)
movl   $0x2,0x38(%rsp)
movl   $0x3,0x40(%rsp)
movl   $0x4,0x48(%rsp)
movl   $0x5,0x50(%rsp)
movl   $0x6,0x58(%rsp)
movl   $0x7,0x60(%rsp)
movl   $0x8,0x68(%rsp)
movl   $0x9,0x70(%rsp)
movl   $0xa,0x78(%rsp)
mov    $0x0,%al
call   1040 <log_msg@plt>
jmp    1200 <function_two+0xe0>
lea    0xf11(%rip),%rdi
lea    0xdf9(%rip),%rsi
mov    $0x19,%edx
lea    0xe95(%rip),%rcx
mov    $0x0,%al
call   1030 <log_msg_prefix@plt>
lea    0xef0(%rip),%rdx
lea    0xef3(%rip),%rsi
mov    %rdx,%rdi
mov    $0x0,%al
call   1040 <log_msg@plt>
add    $0x80,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<function_two>:
push   %r15
push   %r14
push   %rbx
lea    0xed4(%rip),%rbx
lea    0xed4(%rip),%r15
lea    0xf75(%rip),%r14
mov    %rbx,%rdi
mov    %r15,%rsi
mov    $0x15,%edx
mov    %r14,%rcx
xor    %eax,%eax
call   1030 <log_msg_prefix@plt>
lea    0xf66(%rip),%rsi
mov    %rbx,%rdi
mov    $0x1,%edx
mov    $0x2,%ecx
mov    $0x3,%r8d
mov    $0x4,%r9d
xor    %eax,%eax
push   $0xa
push   $0x9
push   $0x8
push   $0x7
push   $0x6
push   $0x5
push   $0x4
push   $0x3
push   $0x2
push   $0x1
push   $0xa
push   $0x9
push   $0x8
push   $0x7
push   $0x6
push   $0x5
call   1040 <log_msg@plt>
add    $0x80,%rsp
lea    0xf74(%rip),%rbx
mov    %rbx,%rdi
mov    %r15,%rsi
mov    $0x19,%edx
mov    %r14,%rcx
xor    %eax,%eax
call   1030 <log_msg_prefix@plt>
lea    0xf62(%rip),%rsi
mov    %rbx,%rdi
mov    %rbx,%rdx
xor    %eax,%eax
pop    %rbx
pop    %r14
pop    %r15
jmp    1040 <log_msg@plt>

LLVM IR (-O0):
@.str = [7 x i8] c"NOTICE\00"
@.str.1 = [168 x i8] c"/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/apache/incubator-corinthia/refs/heads/master/experiments/logger/useLogmaker.c\00"
@__FUNCTION__.function_two = [13 x i8] c"function_two\00"
@.str.2 = [92 x i8] c"variable two = %d, %d, %d,%d, %d, %d, %d, %d, %d, %d %d, %d, %d,%d, %d, %d, %d, %d, %d, %d\0A\00"
@.str.3 = [10 x i8] c"LOG_MAKER\00"
@.str.4 = [37 x i8] c"this is a LOG_USE_LOGMAKER_MSG = %s\0A\00"
define void @function_two() {
br label %1
1: ; preds = %0
%2 = call i32 (i8*, i8*, i32, i8*, ...) bitcast (i32 (...)* @log_msg_prefix to i32 (i8*, i8*, i32, i8*, ...)*)(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([168 x i8], [168 x i8]* @.str.1, i64 0, i64 0), i32 21, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @__FUNCTION__.function_two, i64 0, i64 0))
%3 = call i32 (i8*, i8*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @log_msg to i32 (i8*, i8*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([92 x i8], [92 x i8]* @.str.2, i64 0, i64 0), i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10)
br label %4
4: ; preds = %1
br label %5
5: ; preds = %4
%6 = call i32 (i8*, i8*, i32, i8*, ...) bitcast (i32 (...)* @log_msg_prefix to i32 (i8*, i8*, i32, i8*, ...)*)(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([168 x i8], [168 x i8]* @.str.1, i64 0, i64 0), i32 25, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @__FUNCTION__.function_two, i64 0, i64 0))
%7 = call i32 (i8*, i8*, i8*, ...) bitcast (i32 (...)* @log_msg to i32 (i8*, i8*, i8*, ...)*)(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.4, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.3, i64 0, i64 0))
br label %8
8: ; preds = %5
ret void
}

LLVM IR (-O2):
@.str = [7 x i8] c"NOTICE\00"
@.str.1 = [168 x i8] c"/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/apache/incubator-corinthia/refs/heads/master/experiments/logger/useLogmaker.c\00"
@__FUNCTION__.function_two = [13 x i8] c"function_two\00"
@.str.2 = [92 x i8] c"variable two = %d, %d, %d,%d, %d, %d, %d, %d, %d, %d %d, %d, %d,%d, %d, %d, %d, %d, %d, %d\0A\00"
@.str.3 = [10 x i8] c"LOG_MAKER\00"
@.str.4 = [37 x i8] c"this is a LOG_USE_LOGMAKER_MSG = %s\0A\00"
define void @function_two() {
%1 = tail call i32 (i8*, i8*, i32, i8*, ...) bitcast (i32 (...)* @log_msg_prefix to i32 (i8*, i8*, i32, i8*, ...)*)(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([168 x i8], [168 x i8]* @.str.1, i64 0, i64 0), i32 21, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @__FUNCTION__.function_two, i64 0, i64 0))
%2 = tail call i32 (i8*, i8*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @log_msg to i32 (i8*, i8*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([92 x i8], [92 x i8]* @.str.2, i64 0, i64 0), i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10)
%3 = tail call i32 (i8*, i8*, i32, i8*, ...) bitcast (i32 (...)* @log_msg_prefix to i32 (i8*, i8*, i32, i8*, ...)*)(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([168 x i8], [168 x i8]* @.str.1, i64 0, i64 0), i32 25, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @__FUNCTION__.function_two, i64 0, i64 0))
%4 = tail call i32 (i8*, i8*, i8*, ...) bitcast (i32 (...)* @log_msg to i32 (i8*, i8*, i8*, ...)*)(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.4, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.3, i64 0, i64 0))
ret void
}