#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 */
scalar_t__ test_char_eq(char *, int, char *, char *, char, char);
scalar_t__ test_char_le(char *, int, char *, char *, char, char);
scalar_t__ test_char_lt(char *, int, char *, char *, int /*<<< orphan*/, char);
scalar_t__ test_char_ne(char *, int, char *, char *, char, char);
scalar_t__ test_int_eq(char *, int, char *, char *, int, int);
scalar_t__ test_int_gt(char *, int, char *, char *, int, int);
scalar_t__ test_int_le(char *, int, char *, char *, int, int /*<<< orphan*/);
scalar_t__ test_int_ne(char *, int, char *, char *, int, int);
scalar_t__ test_long_eq(char *, int, char *, char *, long, long);
scalar_t__ test_long_lt(char *, int, char *, char *, long, long);
scalar_t__ test_long_ne(char *, int, char *, char *, long, long);
scalar_t__ test_mem_eq(char *, int, char *, char *, char *, int, char *, int);
scalar_t__ test_mem_ne(char *, int, char *, char *, int /*<<< orphan*/, int,
                       char *, int);
scalar_t__ test_ptr(char *, int, char *, char *);
scalar_t__ test_ptr_eq(char *, int, char *, char *, char *, char *);
scalar_t__ test_ptr_null(char *, int, char *, int /*<<< orphan*/);
scalar_t__ test_size_t_eq(char *, int, char *, char *, size_t, int);
scalar_t__ test_str_eq(char *, int, char *, char *, char *, char *);
scalar_t__ test_str_ne(char *, int, char *, char *, int /*<<< orphan*/, char *);
scalar_t__ test_uchar_eq(char *, int, char *, char *, unsigned char, int);
scalar_t__ test_ulong_eq(char *, int, char *, char *, unsigned long, int);
int test_single_eval(void) {
  int i = 4;
  long l = -9000;
  char c = 'd';
  unsigned char uc = 22;
  unsigned long ul = 500;
  size_t st = 1234;
  char buf[4] = {0}, *p = buf;
  return test_int_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             458, "i++", "4", i++, 4) &&
         test_int_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             459, "i", "5", i, 5) &&
         test_int_gt(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             460, "++i", "5", ++i, 5) &&
         test_int_le(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             461, "5", "i++", 5, i++) &&
         test_int_ne(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             462, "--i", "5", --i, 5) &&
         test_int_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             463, "12", "i *= 2", 12, i *= 2) &&
         test_long_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             465, "l--", "-9000L", l--, -9000L) &&
         test_long_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             466, "++l", "-9000L", ++l, -9000L) &&
         test_long_ne(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             467, "-9000L", "l /= 2", -9000L, l /= 2) &&
         test_long_lt(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             468, "--l", "-4500L", --l, -4500L) &&
         test_char_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             470, "++c", "'e'", ++c, 'e') &&
         test_char_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             471, "'e'", "c--", 'e', c--) &&
         test_char_ne(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             472, "'d'", "--c", 'd', --c) &&
         test_char_le(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             473, "'b'", "--c", 'b', --c) &&
         test_char_lt(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             474, "c++", "'c'", c++, 'c') &&
         test_uchar_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             476, "22", "uc++", 22, uc++) &&
         test_uchar_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             477, "uc /= 2", "11", uc /= 2, 11) &&
         test_ulong_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             478, "ul ^= 1", "501", ul ^= 1, 501) &&
         test_ulong_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             479, "502", "ul ^= 3", 502, ul ^= 3) &&
         test_ulong_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             480, "ul = ul * 3 - 6", "1500", ul = ul * 3 - 6, 1500) &&
         test_size_t_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             482, "(--i, st++)", "1234", (--i, st++), 1234) &&
         test_size_t_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             483, "st", "1235", st, 1235) &&
         test_int_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             484, "11", "i", 11, i) &&
         test_ptr_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             486, "p++", "buf", p++, buf) &&
         test_ptr_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             487, "buf + 2", "++p", buf + 2, ++p) &&
         test_ptr_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             488, "buf", "p -= 2", buf, p -= 2) &&
         test_ptr(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             489, "++p", ++p) &&
         test_ptr_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             490, "p", "buf + 1", p, buf + 1) &&
         test_ptr_null(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             491, "p = NULL", p = NULL) &&
         test_str_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             493, "p = \"123456\" + 1", "\"23456\"", p = "123456" + 1,
             "23456") &&
         test_str_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             494, "\"3456\"", "++p", "3456", ++p) &&
         test_str_ne(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             495, "p++", "\"456\"", p++, "456") &&
         test_mem_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             497, "--p", "\"3456\"", --p, sizeof("3456"), "3456",
             sizeof("3456")) &&
         test_mem_ne(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             498, "p++", "\"456\"", p++, sizeof("456"), "456", sizeof("456")) &&
         test_mem_eq(
             "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/"
             "master/Src/OSF/OpenSSL-111/test/test_test.c",
             499, "p--", "\"456\"", p--, sizeof("456"), "456", sizeof("456"));
}


x86 assembly (clang, -O0):
<test_single_eval>:
push   %rbp
mov    %rsp,%rbp
sub    $0x50,%rsp
movl   $0x4,-0x4(%rbp)
movq   $0xffffffffffffdcd8,-0x10(%rbp)
ff
movb   $0x64,-0x11(%rbp)
movb   $0x16,-0x12(%rbp)
movq   $0x1f4,-0x20(%rbp)
movq   $0x4d2,-0x28(%rbp)
lea    -0x2c(%rbp),%rdi
xor    %esi,%esi
mov    $0x4,%edx
call   10b0 <memset@plt>
lea    -0x2c(%rbp),%rax
mov    %rax,-0x38(%rbp)
mov    -0x4(%rbp),%r8d
mov    %r8d,%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
lea    0xd45(%rip),%rdi
mov    $0x1ca,%esi
lea    0xde6(%rip),%rdx
lea    0xe81(%rip),%rcx
mov    $0x4,%r9d
call   10d0 <test_int_eq@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x4(%rbp),%r8d
lea    0xd0a(%rip),%rdi
mov    $0x1cb,%esi
lea    0xdb1(%rip),%rdx
lea    0xe4e(%rip),%rcx
mov    $0x5,%r9d
call   10d0 <test_int_eq@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x4(%rbp),%r8d
add    $0x1,%r8d
mov    %r8d,-0x4(%rbp)
lea    0xcc7(%rip),%rdi
mov    $0x1cc,%esi
lea    0xd6c(%rip),%rdx
lea    0xe0b(%rip),%rcx
mov    $0x5,%r9d
call   1050 <test_int_gt@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x4(%rbp),%r9d
mov    %r9d,%eax
add    $0x1,%eax
mov    %eax,-0x4(%rbp)
lea    0xc83(%rip),%rdi
mov    $0x1cd,%esi
lea    0xdce(%rip),%rdx
lea    0xd1d(%rip),%rcx
mov    $0x5,%r8d
call   1070 <test_int_le@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x4(%rbp),%r8d
add    $0xffffffff,%r8d
mov    %r8d,-0x4(%rbp)
lea    0xc40(%rip),%rdi
mov    $0x1ce,%esi
lea    0xce9(%rip),%rdx
lea    0xd84(%rip),%rcx
mov    $0x5,%r9d
call   10f0 <test_int_ne@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x4(%rbp),%r9d
shl    $0x1,%r9d
mov    %r9d,-0x4(%rbp)
lea    0xbfd(%rip),%rdi
mov    $0x1cf,%esi
lea    0xcaa(%rip),%rdx
lea    0xca6(%rip),%rcx
mov    $0xc,%r8d
call   10d0 <test_int_eq@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x10(%rbp),%r8
mov    %r8,%rax
add    $0xffffffffffffffff,%rax
mov    %rax,-0x10(%rbp)
lea    0xbb7(%rip),%rdi
mov    $0x1d1,%esi
lea    0xc6e(%rip),%rdx
lea    0xc6b(%rip),%rcx
mov    $0xffffffffffffdcd8,%r9
call   1030 <test_long_eq@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x10(%rbp),%r8
add    $0x1,%r8
mov    %r8,-0x10(%rbp)
lea    0xb73(%rip),%rdi
mov    $0x1d2,%esi
lea    0xc35(%rip),%rdx
lea    0xc27(%rip),%rcx
mov    $0xffffffffffffdcd8,%r9
call   1030 <test_long_eq@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x10(%rbp),%rax
mov    $0x2,%ecx
cqto
idiv   %rcx
mov    %rax,%r9
mov    %r9,-0x10(%rbp)
lea    0xb26(%rip),%rdi
mov    $0x1d3,%esi
lea    0xbe1(%rip),%rdx
lea    0xbe5(%rip),%rcx
mov    $0xffffffffffffdcd8,%r8
call   1160 <test_long_ne@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x10(%rbp),%r8
add    $0xffffffffffffffff,%r8
mov    %r8,-0x10(%rbp)
lea    0xae2(%rip),%rdi
mov    $0x1d4,%esi
lea    0xbaf(%rip),%rdx
lea    0xbac(%rip),%rcx
mov    $0xffffffffffffee6c,%r9
call   1100 <test_long_lt@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x11(%rbp),%al
add    $0x1,%al
mov    %al,-0x11(%rbp)
lea    0xaa2(%rip),%rdi
mov    $0x1d6,%esi
lea    0xb7a(%rip),%rdx
lea    0xb77(%rip),%rcx
mov    $0x65,%r9d
movsbl %al,%r8d
call   1130 <test_char_eq@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x11(%rbp),%al
mov    %al,%cl
add    $0xff,%cl
mov    %cl,-0x11(%rbp)
lea    0xa5c(%rip),%rdi
mov    $0x1d7,%esi
lea    0xb38(%rip),%rdx
lea    0xb35(%rip),%rcx
mov    $0x65,%r8d
movsbl %al,%r9d
call   1130 <test_char_eq@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x11(%rbp),%al
add    $0xff,%al
mov    %al,-0x11(%rbp)
lea    0xa19(%rip),%rdi
mov    $0x1d8,%esi
lea    0xafd(%rip),%rdx
lea    0xafa(%rip),%rcx
mov    $0x64,%r8d
movsbl %al,%r9d
call   10c0 <test_char_ne@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x11(%rbp),%al
add    $0xff,%al
mov    %al,-0x11(%rbp)
lea    0x9d6(%rip),%rdi
mov    $0x1d9,%esi
lea    0xac2(%rip),%rdx
lea    0xab7(%rip),%rcx
mov    $0x62,%r8d
movsbl %al,%r9d
call   1040 <test_char_le@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x11(%rbp),%al
mov    %al,%cl
add    $0x1,%cl
mov    %cl,-0x11(%rbp)
movsbl %al,%r8d
lea    0x98c(%rip),%rdi
mov    $0x1da,%esi
lea    0xa84(%rip),%rdx
lea    0xa75(%rip),%rcx
mov    $0x63,%r9d
call   1110 <test_char_lt@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x12(%rbp),%al
mov    %al,%cl
add    $0x1,%cl
mov    %cl,-0x12(%rbp)
movzbl %al,%r9d
lea    0x946(%rip),%rdi
mov    $0x1dc,%esi
lea    0xa3a(%rip),%rdx
lea    0xa36(%rip),%rcx
mov    $0x16,%r8d
call   1140 <test_uchar_eq@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
movzbl -0x12(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %al,-0x12(%rbp)
lea    0x900(%rip),%rdi
mov    $0x1dd,%esi
lea    0x9fc(%rip),%rdx
lea    0x9fd(%rip),%rcx
mov    $0xb,%r9d
movzbl %al,%r8d
call   1140 <test_uchar_eq@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x20(%rbp),%r8
xor    $0x1,%r8
mov    %r8,-0x20(%rbp)
lea    0x8b9(%rip),%rdi
mov    $0x1de,%esi
lea    0x9c0(%rip),%rdx
lea    0x9c1(%rip),%rcx
mov    $0x1f5,%r9d
call   1170 <test_ulong_eq@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x20(%rbp),%rax
xor    $0x3,%rax
mov    %rax,-0x20(%rbp)
mov    %eax,%r9d
lea    0x873(%rip),%rdi
mov    $0x1df,%esi
lea    0x986(%rip),%rdx
lea    0x983(%rip),%rcx
mov    $0x1f6,%r8d
call   1170 <test_ulong_eq@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
imul   $0x3,-0x20(%rbp),%r8
sub    $0x6,%r8
mov    %r8,-0x20(%rbp)
lea    0x82f(%rip),%rdi
mov    $0x1e0,%esi
lea    0x94e(%rip),%rdx
lea    0x957(%rip),%rcx
mov    $0x5dc,%r9d
call   1170 <test_ulong_eq@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x4(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x4(%rbp)
mov    -0x28(%rbp),%r8
mov    %r8,%rax
add    $0x1,%rax
mov    %rax,-0x28(%rbp)
lea    0x7e0(%rip),%rdi
mov    $0x1e2,%esi
lea    0x914(%rip),%rdx
lea    0x919(%rip),%rcx
mov    $0x4d2,%r9d
call   1060 <test_size_t_eq@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x28(%rbp),%r8
lea    0x7a5(%rip),%rdi
mov    $0x1e3,%esi
lea    0x8ea(%rip),%rdx
lea    0x8e6(%rip),%rcx
mov    $0x4d3,%r9d
call   1060 <test_size_t_eq@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x4(%rbp),%r9d
lea    0x76a(%rip),%rdi
mov    $0x1e4,%esi
lea    0x86e(%rip),%rdx
lea    0x80a(%rip),%rcx
mov    $0xb,%r8d
call   10d0 <test_int_eq@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x38(%rbp),%r8
mov    %r8,%rax
add    $0x1,%rax
mov    %rax,-0x38(%rbp)
lea    -0x2c(%rbp),%r9
lea    0x720(%rip),%rdi
mov    $0x1e6,%esi
lea    0x86d(%rip),%rdx
lea    0x86a(%rip),%rcx
call   1090 <test_ptr_eq@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
lea    -0x2c(%rbp),%r8
add    $0x2,%r8
mov    -0x38(%rbp),%r9
add    $0x1,%r9
mov    %r9,-0x38(%rbp)
lea    0x6db(%rip),%rdi
mov    $0x1e7,%esi
lea    0x830(%rip),%rdx
lea    0x831(%rip),%rcx
call   1090 <test_ptr_eq@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
lea    -0x2c(%rbp),%r8
mov    -0x38(%rbp),%r9
add    $0xfffffffffffffffe,%r9
mov    %r9,-0x38(%rbp)
lea    0x69a(%rip),%rdi
mov    $0x1e8,%esi
lea    0x7eb(%rip),%rdx
lea    0x7f4(%rip),%rcx
call   1090 <test_ptr_eq@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x38(%rbp),%rcx
add    $0x1,%rcx
mov    %rcx,-0x38(%rbp)
lea    0x65d(%rip),%rdi
mov    $0x1e9,%esi
lea    0x7ba(%rip),%rdx
call   10a0 <test_ptr@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x38(%rbp),%r8
lea    -0x2c(%rbp),%r9
add    $0x1,%r9
lea    0x627(%rip),%rdi
mov    $0x1ea,%esi
lea    0x786(%rip),%rdx
lea    0x788(%rip),%rcx
call   1090 <test_ptr_eq@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
movq   $0x0,-0x38(%rbp)
lea    0x5ee(%rip),%rdi
mov    $0x1eb,%esi
lea    0x75e(%rip),%rdx
xor    %ecx,%ecx
call   1180 <test_ptr_null@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
lea    0x760(%rip),%rax
add    $0x1,%rax
mov    %rax,-0x38(%rbp)
lea    0x5b3(%rip),%rdi
mov    $0x1ed,%esi
lea    0x72c(%rip),%rdx
lea    0x736(%rip),%rcx
lea    0x737(%rip),%r8
add    $0x1,%r8
lea    0x72d(%rip),%r9
call   10e0 <test_str_eq@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x38(%rbp),%r9
add    $0x1,%r9
mov    %r9,-0x38(%rbp)
lea    0x564(%rip),%rdi
mov    $0x1ee,%esi
lea    0x6fd(%rip),%rdx
lea    0x6ba(%rip),%rcx
lea    0x6ea(%rip),%r8
call   10e0 <test_str_eq@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x38(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x38(%rbp)
mov    %eax,%r8d
lea    0x51a(%rip),%rdi
mov    $0x1ef,%esi
lea    0x667(%rip),%rdx
lea    0x6b3(%rip),%rcx
lea    0x6a1(%rip),%r9
call   1120 <test_str_ne@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x38(%rbp),%r8
add    $0xffffffffffffffff,%r8
mov    %r8,-0x38(%rbp)
lea    0x4d6(%rip),%rdi
mov    $0x1f1,%esi
lea    0x67c(%rip),%rdx
lea    0x668(%rip),%rcx
mov    $0x5,%r9d
lea    0x656(%rip),%rax
mov    %rax,(%rsp)
movl   $0x5,0x8(%rsp)
call   1150 <test_mem_eq@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x38(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x38(%rbp)
mov    %eax,%r8d
lea    0x47a(%rip),%rdi
mov    $0x1f2,%esi
lea    0x5c7(%rip),%rdx
lea    0x613(%rip),%rcx
mov    $0x4,%r9d
lea    0x5fb(%rip),%rax
mov    %rax,(%rsp)
movl   $0x4,0x8(%rsp)
call   1080 <test_mem_ne@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    $0x0,%rcx
mov    %al,-0x39(%rbp)
je     1c1a <test_single_eval+0x9ba>
mov    -0x38(%rbp),%r8
mov    %r8,%rax
add    $0xffffffffffffffff,%rax
mov    %rax,-0x38(%rbp)
lea    0x421(%rip),%rdi
mov    $0x1f3,%esi
lea    0x5cb(%rip),%rdx
lea    0x5ba(%rip),%rcx
mov    $0x4,%r9d
lea    0x5a2(%rip),%rax
mov    %rax,(%rsp)
movl   $0x4,0x8(%rsp)
call   1150 <test_mem_eq@plt>
cmp    $0x0,%rax
setne  %al
mov    %al,-0x39(%rbp)
mov    -0x39(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
add    $0x50,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<test_single_eval>:
push   %r15
push   %r14
push   %rbx
sub    $0x10,%rsp
movl   $0x0,0xc(%rsp)
lea    0xd98(%rip),%rdi
lea    0xe3e(%rip),%rdx
lea    0xed9(%rip),%rcx
mov    $0x1ca,%esi
mov    $0x4,%r8d
mov    $0x4,%r9d
call   10c0 <test_int_eq@plt>
xor    %ebx,%ebx
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0xd62(%rip),%rdi
lea    0xe0e(%rip),%rdx
lea    0xeab(%rip),%rcx
mov    $0x1cb,%esi
mov    $0x5,%r8d
mov    $0x5,%r9d
call   10c0 <test_int_eq@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0xd2e(%rip),%rdi
lea    0xdd8(%rip),%rdx
lea    0xe77(%rip),%rcx
mov    $0x1cc,%esi
mov    $0x6,%r8d
mov    $0x5,%r9d
call   1050 <test_int_gt@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0xcfa(%rip),%rdi
lea    0xe4a(%rip),%rdx
lea    0xd99(%rip),%rcx
mov    $0x1cd,%esi
mov    $0x5,%r8d
mov    $0x6,%r9d
call   1070 <test_int_le@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0xcc6(%rip),%rdi
lea    0xd74(%rip),%rdx
lea    0xe0f(%rip),%rcx
mov    $0x1ce,%esi
mov    $0x6,%r8d
mov    $0x5,%r9d
call   10e0 <test_int_ne@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0xc92(%rip),%rdi
lea    0xd44(%rip),%rdx
lea    0xd40(%rip),%rcx
mov    $0x1cf,%esi
mov    $0xc,%r8d
mov    $0xc,%r9d
call   10c0 <test_int_eq@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0xc5e(%rip),%rdi
lea    0xd1a(%rip),%rdx
lea    0xd17(%rip),%rcx
mov    $0x1d1,%esi
mov    $0xffffffffffffdcd8,%r8
mov    $0xffffffffffffdcd8,%r9
call   1030 <test_long_eq@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0xc28(%rip),%rdi
lea    0xcef(%rip),%rdx
lea    0xce1(%rip),%rcx
mov    $0x1d2,%esi
mov    $0xffffffffffffdcd8,%r8
mov    $0xffffffffffffdcd8,%r9
call   1030 <test_long_eq@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0xbf2(%rip),%rdi
lea    0xcb2(%rip),%rdx
lea    0xcb6(%rip),%rcx
mov    $0x1d3,%esi
mov    $0xffffffffffffdcd8,%r8
mov    $0xffffffffffffee6c,%r9
call   1150 <test_long_ne@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0xbbc(%rip),%rdi
lea    0xc8e(%rip),%rdx
lea    0xc8b(%rip),%rcx
mov    $0x1d4,%esi
mov    $0xffffffffffffee6b,%r8
mov    $0xffffffffffffee6c,%r9
call   10f0 <test_long_lt@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0xb86(%rip),%rdi
lea    0xc63(%rip),%rdx
lea    0xc60(%rip),%rcx
mov    $0x1d6,%esi
mov    $0x65,%r8d
mov    $0x65,%r9d
call   1120 <test_char_eq@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0xb52(%rip),%rdi
lea    0xc33(%rip),%rdx
lea    0xc30(%rip),%rcx
mov    $0x1d7,%esi
mov    $0x65,%r8d
mov    $0x65,%r9d
call   1120 <test_char_eq@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0xb1e(%rip),%rdi
lea    0xc07(%rip),%rdx
lea    0xc04(%rip),%rcx
mov    $0x1d8,%esi
mov    $0x64,%r8d
mov    $0x63,%r9d
call   10b0 <test_char_ne@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0xaea(%rip),%rdi
lea    0xbdb(%rip),%rdx
lea    0xbd0(%rip),%rcx
mov    $0x1d9,%esi
mov    $0x62,%r8d
mov    $0x62,%r9d
call   1040 <test_char_le@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0xab6(%rip),%rdi
lea    0xbb3(%rip),%rdx
lea    0xba4(%rip),%rcx
mov    $0x1da,%esi
mov    $0x62,%r8d
mov    $0x63,%r9d
call   1100 <test_char_lt@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0xa82(%rip),%rdi
lea    0xb7b(%rip),%rdx
lea    0xb77(%rip),%rcx
mov    $0x1dc,%esi
mov    $0x16,%r8d
mov    $0x16,%r9d
call   1130 <test_uchar_eq@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0xa4e(%rip),%rdi
lea    0xb4f(%rip),%rdx
lea    0xb50(%rip),%rcx
mov    $0x1dd,%esi
mov    $0xb,%r8d
mov    $0xb,%r9d
call   1130 <test_uchar_eq@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0xa1a(%rip),%rdi
lea    0xb26(%rip),%rdx
lea    0xb27(%rip),%rcx
mov    $0x1f5,%r8d
mov    $0x1de,%esi
mov    $0x1f5,%r9d
call   1160 <test_ulong_eq@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0x9e6(%rip),%rdi
lea    0xafe(%rip),%rdx
lea    0xafb(%rip),%rcx
mov    $0x1f6,%r8d
mov    $0x1df,%esi
mov    $0x1f6,%r9d
call   1160 <test_ulong_eq@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0x9b2(%rip),%rdi
lea    0xad6(%rip),%rdx
lea    0xadf(%rip),%rcx
mov    $0x5dc,%r8d
mov    $0x1e0,%esi
mov    $0x5dc,%r9d
call   1160 <test_ulong_eq@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0x97e(%rip),%rdi
lea    0xab7(%rip),%rdx
lea    0xabc(%rip),%rcx
mov    $0x4d2,%r8d
mov    $0x1e2,%esi
mov    $0x4d2,%r9d
call   1060 <test_size_t_eq@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0x94a(%rip),%rdi
lea    0xa94(%rip),%rdx
lea    0xa90(%rip),%rcx
mov    $0x4d3,%r8d
mov    $0x1e3,%esi
mov    $0x4d3,%r9d
call   1060 <test_size_t_eq@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0x916(%rip),%rdi
lea    0xa1f(%rip),%rdx
lea    0x9bb(%rip),%rcx
mov    $0x1e4,%esi
mov    $0xb,%r8d
mov    $0xb,%r9d
call   10c0 <test_int_eq@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0x8e2(%rip),%rdi
lea    0xa34(%rip),%rdx
lea    0xa31(%rip),%rcx
lea    0xc(%rsp),%r8
mov    $0x1e6,%esi
mov    %r8,%r9
call   1090 <test_ptr_eq@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0xe(%rsp),%r8
lea    0x8ad(%rip),%rdi
lea    0xa07(%rip),%rdx
lea    0xa08(%rip),%rcx
mov    $0x1e7,%esi
mov    %r8,%r9
call   1090 <test_ptr_eq@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0x882(%rip),%rdi
lea    0x9d8(%rip),%rdx
lea    0x9e1(%rip),%rcx
lea    0xc(%rsp),%r8
mov    $0x1e8,%esi
mov    %r8,%r9
call   1090 <test_ptr_eq@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0xd(%rsp),%r14
lea    0x84d(%rip),%rdi
lea    0x9af(%rip),%rdx
mov    $0x1e9,%esi
mov    %r14,%rcx
call   10a0 <test_ptr@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0x829(%rip),%rdi
lea    0x98d(%rip),%rdx
lea    0x98f(%rip),%rcx
mov    $0x1ea,%esi
mov    %r14,%r8
mov    %r14,%r9
call   1090 <test_ptr_eq@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0x7fb(%rip),%rdi
lea    0x970(%rip),%rdx
xor    %ebx,%ebx
mov    $0x1eb,%esi
xor    %ecx,%ecx
call   1170 <test_ptr_null@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0x7d6(%rip),%rdi
lea    0x954(%rip),%rdx
lea    0x95e(%rip),%rcx
lea    0x960(%rip),%r8
lea    0x959(%rip),%r9
mov    $0x1ed,%esi
call   10d0 <test_str_eq@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0x7a0(%rip),%rdi
lea    0x93e(%rip),%rdx
lea    0x8fb(%rip),%rcx
lea    0x92b(%rip),%r15
lea    0x924(%rip),%r9
mov    $0x1ee,%esi
mov    %r15,%r8
call   10d0 <test_str_eq@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0x905(%rip),%r8
add    $0x2,%r8d
lea    0x75c(%rip),%rdi
lea    0x8ae(%rip),%rdx
lea    0x8fa(%rip),%rcx
lea    0x8e8(%rip),%r14
mov    $0x1ef,%esi
mov    %r14,%r9
call   1110 <test_str_ne@plt>
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0x72a(%rip),%rdi
lea    0x8d5(%rip),%rdx
lea    0x8c1(%rip),%rcx
lea    0x8b5(%rip),%r8
mov    $0x1f1,%esi
mov    $0x5,%r9d
push   $0x5
push   %r15
call   1140 <test_mem_eq@plt>
add    $0x10,%rsp
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0x88f(%rip),%r8
add    $0x2,%r8d
lea    0x6e6(%rip),%rdi
lea    0x838(%rip),%rdx
lea    0x884(%rip),%rcx
mov    $0x1f2,%esi
mov    $0x4,%r9d
push   $0x4
push   %r14
call   1080 <test_mem_ne@plt>
add    $0x10,%rsp
test   %rax,%rax
je     1981 <test_single_eval+0x731>
lea    0x6b4(%rip),%rdi
lea    0x863(%rip),%rdx
lea    0x852(%rip),%rcx
lea    0x840(%rip),%r8
mov    $0x1f3,%esi
mov    $0x4,%r9d
push   $0x4
push   %r14
call   1140 <test_mem_eq@plt>
add    $0x10,%rsp
xor    %ebx,%ebx
test   %rax,%rax
setne  %bl
mov    %ebx,%eax
add    $0x10,%rsp
pop    %rbx
pop    %r14
pop    %r15
ret

LLVM IR (-O0):
@.str = [173 x i8] c"/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/master/Src/OSF/OpenSSL-111/test/test_test.c\00"
@.str.1 = [4 x i8] c"i++\00"
@.str.2 = [2 x i8] c"4\00"
@.str.3 = [2 x i8] c"i\00"
@.str.4 = [2 x i8] c"5\00"
@.str.5 = [4 x i8] c"++i\00"
@.str.6 = [4 x i8] c"--i\00"
@.str.7 = [3 x i8] c"12\00"
@.str.8 = [7 x i8] c"i *= 2\00"
@.str.9 = [4 x i8] c"l--\00"
@.str.10 = [7 x i8] c"-9000L\00"
@.str.11 = [4 x i8] c"++l\00"
@.str.12 = [7 x i8] c"l /= 2\00"
@.str.13 = [4 x i8] c"--l\00"
@.str.14 = [7 x i8] c"-4500L\00"
@.str.15 = [4 x i8] c"++c\00"
@.str.16 = [4 x i8] c"'e'\00"
@.str.17 = [4 x i8] c"c--\00"
@.str.18 = [4 x i8] c"'d'\00"
@.str.19 = [4 x i8] c"--c\00"
@.str.20 = [4 x i8] c"'b'\00"
@.str.21 = [4 x i8] c"c++\00"
@.str.22 = [4 x i8] c"'c'\00"
@.str.23 = [3 x i8] c"22\00"
@.str.24 = [5 x i8] c"uc++\00"
@.str.25 = [8 x i8] c"uc /= 2\00"
@.str.26 = [3 x i8] c"11\00"
@.str.27 = [8 x i8] c"ul ^= 1\00"
@.str.28 = [4 x i8] c"501\00"
@.str.29 = [4 x i8] c"502\00"
@.str.30 = [8 x i8] c"ul ^= 3\00"
@.str.31 = [16 x i8] c"ul = ul * 3 - 6\00"
@.str.32 = [5 x i8] c"1500\00"
@.str.33 = [12 x i8] c"(--i, st++)\00"
@.str.34 = [5 x i8] c"1234\00"
@.str.35 = [3 x i8] c"st\00"
@.str.36 = [5 x i8] c"1235\00"
@.str.37 = [4 x i8] c"p++\00"
@.str.38 = [4 x i8] c"buf\00"
@.str.39 = [8 x i8] c"buf + 2\00"
@.str.40 = [4 x i8] c"++p\00"
@.str.41 = [7 x i8] c"p -= 2\00"
@.str.42 = [2 x i8] c"p\00"
@.str.43 = [8 x i8] c"buf + 1\00"
@.str.44 = [9 x i8] c"p = NULL\00"
@.str.45 = [17 x i8] c"p = \22123456\22 + 1\00"
@.str.46 = [8 x i8] c"\2223456\22\00"
@.str.47 = [7 x i8] c"123456\00"
@.str.48 = [6 x i8] c"23456\00"
@.str.49 = [7 x i8] c"\223456\22\00"
@.str.50 = [5 x i8] c"3456\00"
@.str.51 = [6 x i8] c"\22456\22\00"
@.str.52 = [4 x i8] c"456\00"
@.str.53 = [4 x i8] c"--p\00"
@.str.54 = [4 x i8] c"p--\00"
define i32 @test_single_eval() {
%1 = alloca i32
%2 = alloca i64
%3 = alloca i8
%4 = alloca i8
%5 = alloca i64
%6 = alloca i64
%7 = alloca [4 x i8]
%8 = alloca i8*
store i32 4, i32* %1
store i64 -9000, i64* %2
store i8 100, i8* %3
store i8 22, i8* %4
store i64 500, i64* %5
store i64 1234, i64* %6
%9 = bitcast [4 x i8]* %7 to i8*
%10 = getelementptr inbounds [4 x i8], [4 x i8]* %7, i64 0, i64 0
store i8* %10, i8** %8
%11 = load i32, i32* %1
%12 = add nsw i32 %11, 1
store i32 %12, i32* %1
%13 = call i64 @test_int_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 458, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.2, i64 0, i64 0), i32 %11, i32 4)
%14 = icmp ne i64 %13, 0
br i1 %14, label %15, label %193
15: ; preds = %0
%16 = load i32, i32* %1
%17 = call i64 @test_int_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 459, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4, i64 0, i64 0), i32 %16, i32 5)
%18 = icmp ne i64 %17, 0
br i1 %18, label %19, label %193
19: ; preds = %15
%20 = load i32, i32* %1
%21 = add nsw i32 %20, 1
store i32 %21, i32* %1
%22 = call i64 @test_int_gt(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 460, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.5, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4, i64 0, i64 0), i32 %21, i32 5)
%23 = icmp ne i64 %22, 0
br i1 %23, label %24, label %193
24: ; preds = %19
%25 = load i32, i32* %1
%26 = add nsw i32 %25, 1
store i32 %26, i32* %1
%27 = call i64 @test_int_le(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 461, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i32 5, i32 %25)
%28 = icmp ne i64 %27, 0
br i1 %28, label %29, label %193
29: ; preds = %24
%30 = load i32, i32* %1
%31 = add nsw i32 %30, -1
store i32 %31, i32* %1
%32 = call i64 @test_int_ne(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 462, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4, i64 0, i64 0), i32 %31, i32 5)
%33 = icmp ne i64 %32, 0
br i1 %33, label %34, label %193
34: ; preds = %29
%35 = load i32, i32* %1
%36 = mul nsw i32 %35, 2
store i32 %36, i32* %1
%37 = call i64 @test_int_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 463, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.7, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8, i64 0, i64 0), i32 12, i32 %36)
%38 = icmp ne i64 %37, 0
br i1 %38, label %39, label %193
39: ; preds = %34
%40 = load i64, i64* %2
%41 = add nsw i64 %40, -1
store i64 %41, i64* %2
%42 = call i64 @test_long_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 465, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.9, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10, i64 0, i64 0), i64 %40, i64 -9000)
%43 = icmp ne i64 %42, 0
br i1 %43, label %44, label %193
44: ; preds = %39
%45 = load i64, i64* %2
%46 = add nsw i64 %45, 1
store i64 %46, i64* %2
%47 = call i64 @test_long_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 466, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.11, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10, i64 0, i64 0), i64 %46, i64 -9000)
%48 = icmp ne i64 %47, 0
br i1 %48, label %49, label %193
49: ; preds = %44
%50 = load i64, i64* %2
%51 = sdiv i64 %50, 2
store i64 %51, i64* %2
%52 = call i64 @test_long_ne(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 467, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.12, i64 0, i64 0), i64 -9000, i64 %51)
%53 = icmp ne i64 %52, 0
br i1 %53, label %54, label %193
54: ; preds = %49
%55 = load i64, i64* %2
%56 = add nsw i64 %55, -1
store i64 %56, i64* %2
%57 = call i64 @test_long_lt(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 468, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.14, i64 0, i64 0), i64 %56, i64 -4500)
%58 = icmp ne i64 %57, 0
br i1 %58, label %59, label %193
59: ; preds = %54
%60 = load i8, i8* %3
%61 = add i8 %60, 1
store i8 %61, i8* %3
%62 = call i64 @test_char_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 470, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.16, i64 0, i64 0), i8 signext %61, i8 signext 101)
%63 = icmp ne i64 %62, 0
br i1 %63, label %64, label %193
64: ; preds = %59
%65 = load i8, i8* %3
%66 = add i8 %65, -1
store i8 %66, i8* %3
%67 = call i64 @test_char_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 471, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.16, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17, i64 0, i64 0), i8 signext 101, i8 signext %65)
%68 = icmp ne i64 %67, 0
br i1 %68, label %69, label %193
69: ; preds = %64
%70 = load i8, i8* %3
%71 = add i8 %70, -1
store i8 %71, i8* %3
%72 = call i64 @test_char_ne(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 472, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.18, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.19, i64 0, i64 0), i8 signext 100, i8 signext %71)
%73 = icmp ne i64 %72, 0
br i1 %73, label %74, label %193
74: ; preds = %69
%75 = load i8, i8* %3
%76 = add i8 %75, -1
store i8 %76, i8* %3
%77 = call i64 @test_char_le(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 473, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.20, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.19, i64 0, i64 0), i8 signext 98, i8 signext %76)
%78 = icmp ne i64 %77, 0
br i1 %78, label %79, label %193
79: ; preds = %74
%80 = load i8, i8* %3
%81 = add i8 %80, 1
store i8 %81, i8* %3
%82 = sext i8 %80 to i32
%83 = call i64 @test_char_lt(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 474, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.21, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.22, i64 0, i64 0), i32 %82, i8 signext 99)
%84 = icmp ne i64 %83, 0
br i1 %84, label %85, label %193
85: ; preds = %79
%86 = load i8, i8* %4
%87 = add i8 %86, 1
store i8 %87, i8* %4
%88 = zext i8 %86 to i32
%89 = call i64 @test_uchar_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 476, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.23, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.24, i64 0, i64 0), i8 zeroext 22, i32 %88)
%90 = icmp ne i64 %89, 0
br i1 %90, label %91, label %193
91: ; preds = %85
%92 = load i8, i8* %4
%93 = zext i8 %92 to i32
%94 = sdiv i32 %93, 2
%95 = trunc i32 %94 to i8
store i8 %95, i8* %4
%96 = call i64 @test_uchar_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 477, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.25, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.26, i64 0, i64 0), i8 zeroext %95, i32 11)
%97 = icmp ne i64 %96, 0
br i1 %97, label %98, label %193
98: ; preds = %91
%99 = load i64, i64* %5
%100 = xor i64 %99, 1
store i64 %100, i64* %5
%101 = call i64 @test_ulong_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 478, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.27, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.28, i64 0, i64 0), i64 %100, i32 501)
%102 = icmp ne i64 %101, 0
br i1 %102, label %103, label %193
103: ; preds = %98
%104 = load i64, i64* %5
%105 = xor i64 %104, 3
store i64 %105, i64* %5
%106 = trunc i64 %105 to i32
%107 = call i64 @test_ulong_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 479, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.29, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.30, i64 0, i64 0), i64 502, i32 %106)
%108 = icmp ne i64 %107, 0
br i1 %108, label %109, label %193
109: ; preds = %103
%110 = load i64, i64* %5
%111 = mul i64 %110, 3
%112 = sub i64 %111, 6
store i64 %112, i64* %5
%113 = call i64 @test_ulong_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 480, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.31, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.32, i64 0, i64 0), i64 %112, i32 1500)
%114 = icmp ne i64 %113, 0
br i1 %114, label %115, label %193
115: ; preds = %109
%116 = load i32, i32* %1
%117 = add nsw i32 %116, -1
store i32 %117, i32* %1
%118 = load i64, i64* %6
%119 = add i64 %118, 1
store i64 %119, i64* %6
%120 = call i64 @test_size_t_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 482, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.33, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.34, i64 0, i64 0), i64 %118, i32 1234)
%121 = icmp ne i64 %120, 0
br i1 %121, label %122, label %193
122: ; preds = %115
%123 = load i64, i64* %6
%124 = call i64 @test_size_t_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 483, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.35, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.36, i64 0, i64 0), i64 %123, i32 1235)
%125 = icmp ne i64 %124, 0
br i1 %125, label %126, label %193
126: ; preds = %122
%127 = load i32, i32* %1
%128 = call i64 @test_int_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 484, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.26, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0), i32 11, i32 %127)
%129 = icmp ne i64 %128, 0
br i1 %129, label %130, label %193
130: ; preds = %126
%131 = load i8*, i8** %8
%132 = getelementptr inbounds i8, i8* %131, i32 1
store i8* %132, i8** %8
%133 = getelementptr inbounds [4 x i8], [4 x i8]* %7, i64 0, i64 0
%134 = call i64 @test_ptr_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 486, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.37, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.38, i64 0, i64 0), i8* %131, i8* %133)
%135 = icmp ne i64 %134, 0
br i1 %135, label %136, label %193
136: ; preds = %130
%137 = getelementptr inbounds [4 x i8], [4 x i8]* %7, i64 0, i64 0
%138 = getelementptr inbounds i8, i8* %137, i64 2
%139 = load i8*, i8** %8
%140 = getelementptr inbounds i8, i8* %139, i32 1
store i8* %140, i8** %8
%141 = call i64 @test_ptr_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 487, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.39, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.40, i64 0, i64 0), i8* %138, i8* %140)
%142 = icmp ne i64 %141, 0
br i1 %142, label %143, label %193
143: ; preds = %136
%144 = getelementptr inbounds [4 x i8], [4 x i8]* %7, i64 0, i64 0
%145 = load i8*, i8** %8
%146 = getelementptr inbounds i8, i8* %145, i64 -2
store i8* %146, i8** %8
%147 = call i64 @test_ptr_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 488, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.38, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.41, i64 0, i64 0), i8* %144, i8* %146)
%148 = icmp ne i64 %147, 0
br i1 %148, label %149, label %193
149: ; preds = %143
%150 = load i8*, i8** %8
%151 = getelementptr inbounds i8, i8* %150, i32 1
store i8* %151, i8** %8
%152 = call i64 @test_ptr(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 489, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.40, i64 0, i64 0), i8* %151)
%153 = icmp ne i64 %152, 0
br i1 %153, label %154, label %193
154: ; preds = %149
%155 = load i8*, i8** %8
%156 = getelementptr inbounds [4 x i8], [4 x i8]* %7, i64 0, i64 0
%157 = getelementptr inbounds i8, i8* %156, i64 1
%158 = call i64 @test_ptr_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 490, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.42, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.43, i64 0, i64 0), i8* %155, i8* %157)
%159 = icmp ne i64 %158, 0
br i1 %159, label %160, label %193
160: ; preds = %154
store i8* null, i8** %8
%161 = call i64 @test_ptr_null(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 491, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.44, i64 0, i64 0), i32 0)
%162 = icmp ne i64 %161, 0
br i1 %162, label %163, label %193
163: ; preds = %160
store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.47, i64 0, i64 1), i8** %8
%164 = call i64 @test_str_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 493, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.45, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.46, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.47, i64 0, i64 1), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.48, i64 0, i64 0))
%165 = icmp ne i64 %164, 0
br i1 %165, label %166, label %193
166: ; preds = %163
%167 = load i8*, i8** %8
%168 = getelementptr inbounds i8, i8* %167, i32 1
store i8* %168, i8** %8
%169 = call i64 @test_str_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 494, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.49, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.40, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.50, i64 0, i64 0), i8* %168)
%170 = icmp ne i64 %169, 0
br i1 %170, label %171, label %193
171: ; preds = %166
%172 = load i8*, i8** %8
%173 = getelementptr inbounds i8, i8* %172, i32 1
store i8* %173, i8** %8
%174 = ptrtoint i8* %172 to i32
%175 = call i64 @test_str_ne(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 495, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.37, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.51, i64 0, i64 0), i32 %174, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.52, i64 0, i64 0))
%176 = icmp ne i64 %175, 0
br i1 %176, label %177, label %193
177: ; preds = %171
%178 = load i8*, i8** %8
%179 = getelementptr inbounds i8, i8* %178, i32 -1
store i8* %179, i8** %8
%180 = call i64 @test_mem_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 497, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.53, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.49, i64 0, i64 0), i8* %179, i32 5, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.50, i64 0, i64 0), i32 5)
%181 = icmp ne i64 %180, 0
br i1 %181, label %182, label %193
182: ; preds = %177
%183 = load i8*, i8** %8
%184 = getelementptr inbounds i8, i8* %183, i32 1
store i8* %184, i8** %8
%185 = ptrtoint i8* %183 to i32
%186 = call i64 @test_mem_ne(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 498, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.37, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.51, i64 0, i64 0), i32 %185, i32 4, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.52, i64 0, i64 0), i32 4)
%187 = icmp ne i64 %186, 0
br i1 %187, label %188, label %193
188: ; preds = %182
%189 = load i8*, i8** %8
%190 = getelementptr inbounds i8, i8* %189, i32 -1
store i8* %190, i8** %8
%191 = call i64 @test_mem_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 499, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.54, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.51, i64 0, i64 0), i8* %189, i32 4, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.52, i64 0, i64 0), i32 4)
%192 = icmp ne i64 %191, 0
br label %193
193: ; preds = %188, %182, %177, %171, %166, %163, %160, %154, %149, %143, %136, %130, %126, %122, %115, %109, %103, %98, %91, %85, %79, %74, %69, %64, %59, %54, %49, %44, %39, %34, %29, %24, %19, %15, %0
%194 = phi i1 [ false, %182 ], [ false, %177 ], [ false, %171 ], [ false, %166 ], [ false, %163 ], [ false, %160 ], [ false, %154 ], [ false, %149 ], [ false, %143 ], [ false, %136 ], [ false, %130 ], [ false, %126 ], [ false, %122 ], [ false, %115 ], [ false, %109 ], [ false, %103 ], [ false, %98 ], [ false, %91 ], [ false, %85 ], [ false, %79 ], [ false, %74 ], [ false, %69 ], [ false, %64 ], [ false, %59 ], [ false, %54 ], [ false, %49 ], [ false, %44 ], [ false, %39 ], [ false, %34 ], [ false, %29 ], [ false, %24 ], [ false, %19 ], [ false, %15 ], [ false, %0 ], [ %192, %188 ]
%195 = zext i1 %194 to i32
ret i32 %195
}

LLVM IR (-O2):
@.str = [173 x i8] c"/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/papyrussolution/OpenPapyrus/refs/heads/master/Src/OSF/OpenSSL-111/test/test_test.c\00"
@.str.1 = [4 x i8] c"i++\00"
@.str.2 = [2 x i8] c"4\00"
@.str.3 = [2 x i8] c"i\00"
@.str.4 = [2 x i8] c"5\00"
@.str.5 = [4 x i8] c"++i\00"
@.str.6 = [4 x i8] c"--i\00"
@.str.7 = [3 x i8] c"12\00"
@.str.8 = [7 x i8] c"i *= 2\00"
@.str.9 = [4 x i8] c"l--\00"
@.str.10 = [7 x i8] c"-9000L\00"
@.str.11 = [4 x i8] c"++l\00"
@.str.12 = [7 x i8] c"l /= 2\00"
@.str.13 = [4 x i8] c"--l\00"
@.str.14 = [7 x i8] c"-4500L\00"
@.str.15 = [4 x i8] c"++c\00"
@.str.16 = [4 x i8] c"'e'\00"
@.str.17 = [4 x i8] c"c--\00"
@.str.18 = [4 x i8] c"'d'\00"
@.str.19 = [4 x i8] c"--c\00"
@.str.20 = [4 x i8] c"'b'\00"
@.str.21 = [4 x i8] c"c++\00"
@.str.22 = [4 x i8] c"'c'\00"
@.str.23 = [3 x i8] c"22\00"
@.str.24 = [5 x i8] c"uc++\00"
@.str.25 = [8 x i8] c"uc /= 2\00"
@.str.26 = [3 x i8] c"11\00"
@.str.27 = [8 x i8] c"ul ^= 1\00"
@.str.28 = [4 x i8] c"501\00"
@.str.29 = [4 x i8] c"502\00"
@.str.30 = [8 x i8] c"ul ^= 3\00"
@.str.31 = [16 x i8] c"ul = ul * 3 - 6\00"
@.str.32 = [5 x i8] c"1500\00"
@.str.33 = [12 x i8] c"(--i, st++)\00"
@.str.34 = [5 x i8] c"1234\00"
@.str.35 = [3 x i8] c"st\00"
@.str.36 = [5 x i8] c"1235\00"
@.str.37 = [4 x i8] c"p++\00"
@.str.38 = [4 x i8] c"buf\00"
@.str.39 = [8 x i8] c"buf + 2\00"
@.str.40 = [4 x i8] c"++p\00"
@.str.41 = [7 x i8] c"p -= 2\00"
@.str.42 = [2 x i8] c"p\00"
@.str.43 = [8 x i8] c"buf + 1\00"
@.str.44 = [9 x i8] c"p = NULL\00"
@.str.45 = [17 x i8] c"p = \22123456\22 + 1\00"
@.str.46 = [8 x i8] c"\2223456\22\00"
@.str.47 = [7 x i8] c"123456\00"
@.str.48 = [6 x i8] c"23456\00"
@.str.49 = [7 x i8] c"\223456\22\00"
@.str.50 = [5 x i8] c"3456\00"
@.str.51 = [6 x i8] c"\22456\22\00"
@.str.52 = [4 x i8] c"456\00"
@.str.53 = [4 x i8] c"--p\00"
@.str.54 = [4 x i8] c"p--\00"
define i32 @test_single_eval() {
%1 = alloca i32
%2 = bitcast i32* %1 to i8*
store i32 0, i32* %1
%3 = tail call i64 @test_int_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 458, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.2, i64 0, i64 0), i32 4, i32 4)
%4 = icmp eq i64 %3, 0
br i1 %4, label %110, label %5
5: ; preds = %0
%6 = tail call i64 @test_int_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 459, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4, i64 0, i64 0), i32 5, i32 5)
%7 = icmp eq i64 %6, 0
br i1 %7, label %110, label %8
8: ; preds = %5
%9 = tail call i64 @test_int_gt(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 460, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.5, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4, i64 0, i64 0), i32 6, i32 5)
%10 = icmp eq i64 %9, 0
br i1 %10, label %110, label %11
11: ; preds = %8
%12 = tail call i64 @test_int_le(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 461, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i32 5, i32 6)
%13 = icmp eq i64 %12, 0
br i1 %13, label %110, label %14
14: ; preds = %11
%15 = tail call i64 @test_int_ne(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 462, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4, i64 0, i64 0), i32 6, i32 5)
%16 = icmp eq i64 %15, 0
br i1 %16, label %110, label %17
17: ; preds = %14
%18 = tail call i64 @test_int_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 463, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.7, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8, i64 0, i64 0), i32 12, i32 12)
%19 = icmp eq i64 %18, 0
br i1 %19, label %110, label %20
20: ; preds = %17
%21 = tail call i64 @test_long_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 465, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.9, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10, i64 0, i64 0), i64 -9000, i64 -9000)
%22 = icmp eq i64 %21, 0
br i1 %22, label %110, label %23
23: ; preds = %20
%24 = tail call i64 @test_long_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 466, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.11, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10, i64 0, i64 0), i64 -9000, i64 -9000)
%25 = icmp eq i64 %24, 0
br i1 %25, label %110, label %26
26: ; preds = %23
%27 = tail call i64 @test_long_ne(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 467, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.12, i64 0, i64 0), i64 -9000, i64 -4500)
%28 = icmp eq i64 %27, 0
br i1 %28, label %110, label %29
29: ; preds = %26
%30 = tail call i64 @test_long_lt(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 468, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.14, i64 0, i64 0), i64 -4501, i64 -4500)
%31 = icmp eq i64 %30, 0
br i1 %31, label %110, label %32
32: ; preds = %29
%33 = tail call i64 @test_char_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 470, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.16, i64 0, i64 0), i8 signext 101, i8 signext 101)
%34 = icmp eq i64 %33, 0
br i1 %34, label %110, label %35
35: ; preds = %32
%36 = tail call i64 @test_char_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 471, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.16, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17, i64 0, i64 0), i8 signext 101, i8 signext 101)
%37 = icmp eq i64 %36, 0
br i1 %37, label %110, label %38
38: ; preds = %35
%39 = tail call i64 @test_char_ne(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 472, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.18, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.19, i64 0, i64 0), i8 signext 100, i8 signext 99)
%40 = icmp eq i64 %39, 0
br i1 %40, label %110, label %41
41: ; preds = %38
%42 = tail call i64 @test_char_le(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 473, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.20, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.19, i64 0, i64 0), i8 signext 98, i8 signext 98)
%43 = icmp eq i64 %42, 0
br i1 %43, label %110, label %44
44: ; preds = %41
%45 = tail call i64 @test_char_lt(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 474, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.21, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.22, i64 0, i64 0), i32 98, i8 signext 99)
%46 = icmp eq i64 %45, 0
br i1 %46, label %110, label %47
47: ; preds = %44
%48 = tail call i64 @test_uchar_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 476, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.23, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.24, i64 0, i64 0), i8 zeroext 22, i32 22)
%49 = icmp eq i64 %48, 0
br i1 %49, label %110, label %50
50: ; preds = %47
%51 = tail call i64 @test_uchar_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 477, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.25, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.26, i64 0, i64 0), i8 zeroext 11, i32 11)
%52 = icmp eq i64 %51, 0
br i1 %52, label %110, label %53
53: ; preds = %50
%54 = tail call i64 @test_ulong_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 478, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.27, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.28, i64 0, i64 0), i64 501, i32 501)
%55 = icmp eq i64 %54, 0
br i1 %55, label %110, label %56
56: ; preds = %53
%57 = tail call i64 @test_ulong_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 479, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.29, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.30, i64 0, i64 0), i64 502, i32 502)
%58 = icmp eq i64 %57, 0
br i1 %58, label %110, label %59
59: ; preds = %56
%60 = tail call i64 @test_ulong_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 480, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.31, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.32, i64 0, i64 0), i64 1500, i32 1500)
%61 = icmp eq i64 %60, 0
br i1 %61, label %110, label %62
62: ; preds = %59
%63 = tail call i64 @test_size_t_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 482, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.33, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.34, i64 0, i64 0), i64 1234, i32 1234)
%64 = icmp eq i64 %63, 0
br i1 %64, label %110, label %65
65: ; preds = %62
%66 = tail call i64 @test_size_t_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 483, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.35, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.36, i64 0, i64 0), i64 1235, i32 1235)
%67 = icmp eq i64 %66, 0
br i1 %67, label %110, label %68
68: ; preds = %65
%69 = tail call i64 @test_int_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 484, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.26, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i64 0, i64 0), i32 11, i32 11)
%70 = icmp eq i64 %69, 0
br i1 %70, label %110, label %71
71: ; preds = %68
%72 = call i64 @test_ptr_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 486, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.37, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.38, i64 0, i64 0), i8* %2, i8* %2)
%73 = icmp eq i64 %72, 0
br i1 %73, label %110, label %74
74: ; preds = %71
%75 = getelementptr inbounds i8, i8* %2, i64 2
%76 = call i64 @test_ptr_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 487, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.39, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.40, i64 0, i64 0), i8* %75, i8* %75)
%77 = icmp eq i64 %76, 0
br i1 %77, label %110, label %78
78: ; preds = %74
%79 = call i64 @test_ptr_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 488, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.38, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.41, i64 0, i64 0), i8* %2, i8* %2)
%80 = icmp eq i64 %79, 0
br i1 %80, label %110, label %81
81: ; preds = %78
%82 = getelementptr inbounds i8, i8* %2, i64 1
%83 = call i64 @test_ptr(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 489, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.40, i64 0, i64 0), i8* %82)
%84 = icmp eq i64 %83, 0
br i1 %84, label %110, label %85
85: ; preds = %81
%86 = call i64 @test_ptr_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 490, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.42, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.43, i64 0, i64 0), i8* %82, i8* %82)
%87 = icmp eq i64 %86, 0
br i1 %87, label %110, label %88
88: ; preds = %85
%89 = call i64 @test_ptr_null(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 491, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.44, i64 0, i64 0), i32 0)
%90 = icmp eq i64 %89, 0
br i1 %90, label %110, label %91
91: ; preds = %88
%92 = call i64 @test_str_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 493, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.45, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.46, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.47, i64 0, i64 1), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.48, i64 0, i64 0))
%93 = icmp eq i64 %92, 0
br i1 %93, label %110, label %94
94: ; preds = %91
%95 = call i64 @test_str_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 494, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.49, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.40, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.50, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.47, i64 0, i64 2))
%96 = icmp eq i64 %95, 0
br i1 %96, label %110, label %97
97: ; preds = %94
%98 = call i64 @test_str_ne(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 495, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.37, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.51, i64 0, i64 0), i32 ptrtoint (i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.47, i64 0, i64 2) to i32), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.52, i64 0, i64 0))
%99 = icmp eq i64 %98, 0
br i1 %99, label %110, label %100
100: ; preds = %97
%101 = call i64 @test_mem_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 497, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.53, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.49, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.47, i64 0, i64 2), i32 5, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.50, i64 0, i64 0), i32 5)
%102 = icmp eq i64 %101, 0
br i1 %102, label %110, label %103
103: ; preds = %100
%104 = call i64 @test_mem_ne(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 498, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.37, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.51, i64 0, i64 0), i32 ptrtoint (i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.47, i64 0, i64 2) to i32), i32 4, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.52, i64 0, i64 0), i32 4)
%105 = icmp eq i64 %104, 0
br i1 %105, label %110, label %106
106: ; preds = %103
%107 = call i64 @test_mem_eq(i8* getelementptr inbounds ([173 x i8], [173 x i8]* @.str, i64 0, i64 0), i32 499, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.54, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.51, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.47, i64 0, i64 3), i32 4, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.52, i64 0, i64 0), i32 4)
%108 = icmp ne i64 %107, 0
%109 = zext i1 %108 to i32
br label %110
110: ; preds = %106, %103, %100, %97, %94, %91, %88, %85, %81, %78, %74, %71, %68, %65, %62, %59, %56, %53, %50, %47, %44, %41, %38, %35, %32, %29, %26, %23, %20, %17, %14, %11, %8, %5, %0
%111 = phi i32 [ 0, %103 ], [ 0, %100 ], [ 0, %97 ], [ 0, %94 ], [ 0, %91 ], [ 0, %88 ], [ 0, %85 ], [ 0, %81 ], [ 0, %78 ], [ 0, %74 ], [ 0, %71 ], [ 0, %68 ], [ 0, %65 ], [ 0, %62 ], [ 0, %59 ], [ 0, %56 ], [ 0, %53 ], [ 0, %50 ], [ 0, %47 ], [ 0, %44 ], [ 0, %41 ], [ 0, %38 ], [ 0, %35 ], [ 0, %32 ], [ 0, %29 ], [ 0, %26 ], [ 0, %23 ], [ 0, %20 ], [ 0, %17 ], [ 0, %14 ], [ 0, %11 ], [ 0, %8 ], [ 0, %5 ], [ 0, %0 ], [ %109, %106 ]
ret i32 %111
}