void sanity_check() {
  if (options_get_int("Prebuffering") > options_get_int("InputBuffer"))
    internal_fatal("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
                   "outputs/2022-01-22/02-19-57/repos/christophgysin/moc/refs/"
                   "heads/lyrics/options.c",
                   992, __FUNCTION__,
                   "Prebuffering is set to a value greater than InputBuffer!");
}


x86 assembly (clang, -O0):
<sanity_check>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
lea    0xed1(%rip),%rdi
mov    $0x0,%al
call   1030 <options_get_int@plt>
mov    %eax,-0x4(%rbp)
lea    0xecd(%rip),%rdi
mov    $0x0,%al
call   1030 <options_get_int@plt>
mov    %eax,%ecx
mov    -0x4(%rbp),%eax
cmp    %ecx,%eax
jle    1175 <sanity_check+0x55>
lea    0xebe(%rip),%rdi
mov    $0x3e0,%esi
lea    0xf3b(%rip),%rdx
lea    0xf41(%rip),%rcx
mov    $0x0,%al
call   1040 <internal_fatal@plt>
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<sanity_check>:
push   %rbx
lea    0xed8(%rip),%rdi
xor    %eax,%eax
call   1030 <options_get_int@plt>
mov    %eax,%ebx
lea    0xed5(%rip),%rdi
xor    %eax,%eax
call   1030 <options_get_int@plt>
cmp    %eax,%ebx
jle    1165 <sanity_check+0x45>
lea    0xecf(%rip),%rdi
lea    0xf51(%rip),%rdx
lea    0xf57(%rip),%rcx
mov    $0x3e0,%esi
xor    %eax,%eax
pop    %rbx
jmp    1040 <internal_fatal@plt>
pop    %rbx
ret

LLVM IR (-O0):
@.str = [13 x i8] c"Prebuffering\00"
@.str.1 = [12 x i8] c"InputBuffer\00"
@.str.2 = [137 x i8] c"/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/christophgysin/moc/refs/heads/lyrics/options.c\00"
@__FUNCTION__.sanity_check = [13 x i8] c"sanity_check\00"
@.str.3 = [57 x i8] c"Prebuffering is set to a value greater than InputBuffer!\00"
define void @sanity_check() {
%1 = call i32 (i8*, ...) bitcast (i32 (...)* @options_get_int to i32 (i8*, ...)*)(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0))
%2 = call i32 (i8*, ...) bitcast (i32 (...)* @options_get_int to i32 (i8*, ...)*)(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.1, i64 0, i64 0))
%3 = icmp sgt i32 %1, %2
br i1 %3, label %4, label %6
4: ; preds = %0
%5 = call i32 (i8*, i32, i8*, i8*, ...) bitcast (i32 (...)* @internal_fatal to i32 (i8*, i32, i8*, i8*, ...)*)(i8* getelementptr inbounds ([137 x i8], [137 x i8]* @.str.2, i64 0, i64 0), i32 992, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @__FUNCTION__.sanity_check, i64 0, i64 0), i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.3, i64 0, i64 0))
br label %6
6: ; preds = %4, %0
ret void
}

LLVM IR (-O2):
@.str = [13 x i8] c"Prebuffering\00"
@.str.1 = [12 x i8] c"InputBuffer\00"
@.str.2 = [137 x i8] c"/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/christophgysin/moc/refs/heads/lyrics/options.c\00"
@__FUNCTION__.sanity_check = [13 x i8] c"sanity_check\00"
@.str.3 = [57 x i8] c"Prebuffering is set to a value greater than InputBuffer!\00"
define void @sanity_check() {
%1 = tail call i32 (i8*, ...) bitcast (i32 (...)* @options_get_int to i32 (i8*, ...)*)(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i64 0, i64 0))
%2 = tail call i32 (i8*, ...) bitcast (i32 (...)* @options_get_int to i32 (i8*, ...)*)(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.1, i64 0, i64 0))
%3 = icmp sgt i32 %1, %2
br i1 %3, label %4, label %6
4: ; preds = %0
%5 = tail call i32 (i8*, i32, i8*, i8*, ...) bitcast (i32 (...)* @internal_fatal to i32 (i8*, i32, i8*, i8*, ...)*)(i8* getelementptr inbounds ([137 x i8], [137 x i8]* @.str.2, i64 0, i64 0), i32 992, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @__FUNCTION__.sanity_check, i64 0, i64 0), i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.3, i64 0, i64 0))
br label %6
6: ; preds = %4, %0
ret void
}