#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 */
int /*<<< orphan*/ _exit(int);
int /*<<< orphan*/ fflush(int /*<<< orphan*/);
int /*<<< orphan*/ fprintf(int /*<<< orphan*/, char *, char *,
                           unsigned long long, char *);
scalar_t__ newenv_copyenv(char *);
int /*<<< orphan*/ newenv_env_(int, char *, char *);
int /*<<< orphan*/ newenv_exec(char *, char **);
int setenv(char *, char *, int);
int /*<<< orphan*/ snprintf(char *, int, char *, long long);
int /*<<< orphan*/ stderr;
void test1(void) {
  char *run[4];
  long long i;
  char buf[100];
  if (setenv("BBB", "ok", 1) == -1)
    do {
      fprintf(stderr, "%s:%llu: %s\n",
              ("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/janmojzis/tinyssh/refs/heads/"
               "master/tinyssh-tests/newenvtest.c"),
              (unsigned long long)(38), (("setenv failure")));
      fflush(stderr);
      _exit(111);
    } while (0);
  ;
  if (!newenv_copyenv("BBB"))
    do {
      fprintf(stderr, "%s:%llu: %s\n",
              ("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/janmojzis/tinyssh/refs/heads/"
               "master/tinyssh-tests/newenvtest.c"),
              (unsigned long long)(39), (("newenv_copyenv failure")));
      fflush(stderr);
      _exit(111);
    } while (0);
  ;
  if (!newenv_env_(1, ("CC1"), ("ok")))
    do {
      fprintf(stderr, "%s:%llu: %s\n",
              ("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/janmojzis/tinyssh/refs/heads/"
               "master/tinyssh-tests/newenvtest.c"),
              (unsigned long long)(42), (("newenv_env failure")));
      fflush(stderr);
      _exit(111);
    } while (0);
  ;
  if (newenv_copyenv("CC3"))
    do {
      fprintf(stderr, "%s:%llu: %s\n",
              ("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/janmojzis/tinyssh/refs/heads/"
               "master/tinyssh-tests/newenvtest.c"),
              (unsigned long long)(43), (("newenv_copyenv failure")));
      fflush(stderr);
      _exit(111);
    } while (0);
  ;
  if (!newenv_env_(1, ("DD1"), ("failed")))
    do {
      fprintf(stderr, "%s:%llu: %s\n",
              ("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/janmojzis/tinyssh/refs/heads/"
               "master/tinyssh-tests/newenvtest.c"),
              (unsigned long long)(46), (("newenv_env failure")));
      fflush(stderr);
      _exit(111);
    } while (0);
  ;
  if (!newenv_env_(1, ("DD1"), ("ok")))
    do {
      fprintf(stderr, "%s:%llu: %s\n",
              ("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/janmojzis/tinyssh/refs/heads/"
               "master/tinyssh-tests/newenvtest.c"),
              (unsigned long long)(47), (("newenv_env failure")));
      fflush(stderr);
      _exit(111);
    } while (0);
  ;
  if (setenv("DD3", "failed", 1) == -1)
    do {
      fprintf(stderr, "%s:%llu: %s\n",
              ("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/janmojzis/tinyssh/refs/heads/"
               "master/tinyssh-tests/newenvtest.c"),
              (unsigned long long)(48), (("setenv failure")));
      fflush(stderr);
      _exit(111);
    } while (0);
  ;
  if (!newenv_copyenv("DD3"))
    do {
      fprintf(stderr, "%s:%llu: %s\n",
              ("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/janmojzis/tinyssh/refs/heads/"
               "master/tinyssh-tests/newenvtest.c"),
              (unsigned long long)(49), (("newenv_copyenv failure")));
      fflush(stderr);
      _exit(111);
    } while (0);
  ;
  if (setenv("DD3", "ok", 1) == -1)
    do {
      fprintf(stderr, "%s:%llu: %s\n",
              ("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/janmojzis/tinyssh/refs/heads/"
               "master/tinyssh-tests/newenvtest.c"),
              (unsigned long long)(50), (("setenv failure")));
      fflush(stderr);
      _exit(111);
    } while (0);
  ;
  if (!newenv_copyenv("DD3"))
    do {
      fprintf(stderr, "%s:%llu: %s\n",
              ("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/janmojzis/tinyssh/refs/heads/"
               "master/tinyssh-tests/newenvtest.c"),
              (unsigned long long)(51), (("newenv_copyenv failure")));
      fflush(stderr);
      _exit(111);
    } while (0);
  ;
  if (setenv("EE1", "failed", 1) == -1)
    do {
      fprintf(stderr, "%s:%llu: %s\n",
              ("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/janmojzis/tinyssh/refs/heads/"
               "master/tinyssh-tests/newenvtest.c"),
              (unsigned long long)(54), (("setenv failure")));
      fflush(stderr);
      _exit(111);
    } while (0);
  ;
  if (!newenv_env_(1, ("EE1"), ("ok")))
    do {
      fprintf(stderr, "%s:%llu: %s\n",
              ("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/janmojzis/tinyssh/refs/heads/"
               "master/tinyssh-tests/newenvtest.c"),
              (unsigned long long)(55), (("newenv_env failure")));
      fflush(stderr);
      _exit(111);
    } while (0);
  ;
  if (!newenv_env_(1, ("FF1"), ("ok")))
    do {
      fprintf(stderr, "%s:%llu: %s\n",
              ("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/janmojzis/tinyssh/refs/heads/"
               "master/tinyssh-tests/newenvtest.c"),
              (unsigned long long)(58), (("newenv_env failure")));
      fflush(stderr);
      _exit(111);
    } while (0);
  ;
  if (setenv("FF1", "failed", 1) == -1)
    do {
      fprintf(stderr, "%s:%llu: %s\n",
              ("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/janmojzis/tinyssh/refs/heads/"
               "master/tinyssh-tests/newenvtest.c"),
              (unsigned long long)(59), (("setenv failure")));
      fflush(stderr);
      _exit(111);
    } while (0);
  ;
  if (!newenv_env_(1, ("YY1"), ("ok")))
    do {
      fprintf(stderr, "%s:%llu: %s\n",
              ("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/janmojzis/tinyssh/refs/heads/"
               "master/tinyssh-tests/newenvtest.c"),
              (unsigned long long)(62), (("newenv_env failure")));
      fflush(stderr);
      _exit(111);
    } while (0);
  ;
  for (i = 0; i < 200; ++i) {
    snprintf(buf, sizeof buf, "%lld", i);
    newenv_env_(1, (buf), (buf));
  }
  if (!newenv_env_(1, ("YY1"), ("ok")))
    do {
      fprintf(stderr, "%s:%llu: %s\n",
              ("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/janmojzis/tinyssh/refs/heads/"
               "master/tinyssh-tests/newenvtest.c"),
              (unsigned long long)(67), (("newenv_env failure")));
      fflush(stderr);
      _exit(111);
    } while (0);
  ;
  for (i = 0; i < 200; ++i) {
    snprintf(buf, sizeof buf, "%lld", i);
    newenv_env_(1, (buf), (buf));
  }
  if (newenv_env_(1, ("ZZ1"), ("failed")))
    do {
      fprintf(stderr, "%s:%llu: %s\n",
              ("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/janmojzis/tinyssh/refs/heads/"
               "master/tinyssh-tests/newenvtest.c"),
              (unsigned long long)(74), (("newenv_env failure")));
      fflush(stderr);
      _exit(111);
    } while (0);
  ;
  if (setenv("ZZ3", "failed", 1) == -1)
    do {
      fprintf(stderr, "%s:%llu: %s\n",
              ("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/janmojzis/tinyssh/refs/heads/"
               "master/tinyssh-tests/newenvtest.c"),
              (unsigned long long)(75), (("setenv failure")));
      fflush(stderr);
      _exit(111);
    } while (0);
  ;
  if (newenv_copyenv("ZZ3"))
    do {
      fprintf(stderr, "%s:%llu: %s\n",
              ("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
               "outputs/2022-01-22/02-19-57/repos/janmojzis/tinyssh/refs/heads/"
               "master/tinyssh-tests/newenvtest.c"),
              (unsigned long long)(76), (("newenv_copyenv failure")));
      fflush(stderr);
      _exit(111);
    } while (0);
  ;
  run[0] = (char *)"/bin/sh";
  run[1] = (char *)"-ec";
  run[2] =
      (char *)"err='newenvtest: failed: newenv_env does not set correcty "
              "variable'\n[ x\"$AA1\" = x ]   || ( echo $err; exit 111; ) \n[ "
              "x\"$AA3\" = x ]   || ( echo $err; exit 111; ) \n[ x\"$BBB\" = "
              "xok ] || ( echo $err; exit 111; ) \n[ x\"$CC1\" = xok ] || ( "
              "echo $err; exit 111; ) \n[ x\"$CC3\" = x ]   || ( echo $err; "
              "exit 111; ) \n[ x\"$DD1\" = xok ] || ( echo $err; exit 111; ) "
              "\n[ x\"$DD3\" = xok ] || ( echo $err; exit 111; ) \n[ x\"$EE1\" "
              "= xok ] || ( echo $err; exit 111; ) \n[ x\"$FF1\" = xok ] || ( "
              "echo $err; exit 111; ) \n[ x\"$YY1\" = xok ] || ( echo $err; "
              "exit 111; ) \n[ x\"$ZZ1\" = x ]   || ( echo $err; exit 111; ) "
              "\n[ x\"$ZZ3\" = x ]   || ( echo $err; exit 111; ) \nexit 0 \n";
  run[3] = (char *)0;
  newenv_exec(*run, run);
  do {
    fprintf(stderr, "%s:%llu: %s\n",
            ("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
             "2022-01-22/02-19-57/repos/janmojzis/tinyssh/refs/heads/master/"
             "tinyssh-tests/newenvtest.c"),
            (unsigned long long)(84), (("failure")));
    fflush(stderr);
    _exit(111);
  } while (0);
  ;
}


x86 assembly (clang, -O0):
<test1>:
push   %rbp
mov    %rsp,%rbp
sub    $0x90,%rsp
lea    0xe6e(%rip),%rdi
lea    0xe6b(%rip),%rsi
mov    $0x1,%edx
call   1040 <setenv@plt>
cmp    $0xffffffff,%eax
jne    11f1 <test1+0x71>
jmp    11b1 <test1+0x31>
mov    0x2e28(%rip),%rax
mov    (%rax),%edi
lea    0xe46(%rip),%rsi
lea    0xe4c(%rip),%rdx
mov    $0x26,%ecx
lea    0xed9(%rip),%r8
call   1060 <fprintf@plt>
mov    0x2e00(%rip),%rax
mov    (%rax),%edi
call   1070 <fflush@plt>
mov    $0x6f,%edi
call   1030 <_exit@plt>
lea    0xe08(%rip),%rdi
call   1090 <newenv_copyenv@plt>
cmp    $0x0,%rax
jne    124c <test1+0xcc>
jmp    120c <test1+0x8c>
mov    0x2dcd(%rip),%rax
mov    (%rax),%edi
lea    0xdeb(%rip),%rsi
lea    0xdf1(%rip),%rdx
mov    $0x27,%ecx
lea    0xe8d(%rip),%r8
call   1060 <fprintf@plt>
mov    0x2da5(%rip),%rax
mov    (%rax),%edi
call   1070 <fflush@plt>
mov    $0x6f,%edi
call   1030 <_exit@plt>
mov    $0x1,%edi
lea    0xe7b(%rip),%rsi
lea    0xda5(%rip),%rdx
call   10a0 <newenv_env_@plt>
cmp    $0x0,%eax
jne    12b2 <test1+0x132>
jmp    1272 <test1+0xf2>
mov    0x2d67(%rip),%rax
mov    (%rax),%edi
lea    0xd85(%rip),%rsi
lea    0xd8b(%rip),%rdx
mov    $0x2a,%ecx
lea    0xe42(%rip),%r8
call   1060 <fprintf@plt>
mov    0x2d3f(%rip),%rax
mov    (%rax),%edi
call   1070 <fflush@plt>
mov    $0x6f,%edi
call   1030 <_exit@plt>
lea    0xe31(%rip),%rdi
call   1090 <newenv_copyenv@plt>
cmp    $0x0,%rax
je     130d <test1+0x18d>
jmp    12cd <test1+0x14d>
mov    0x2d0c(%rip),%rax
mov    (%rax),%edi
lea    0xd2a(%rip),%rsi
lea    0xd30(%rip),%rdx
mov    $0x2b,%ecx
lea    0xdcc(%rip),%r8
call   1060 <fprintf@plt>
mov    0x2ce4(%rip),%rax
mov    (%rax),%edi
call   1070 <fflush@plt>
mov    $0x6f,%edi
call   1030 <_exit@plt>
mov    $0x1,%edi
lea    0xdd5(%rip),%rsi
lea    0xdd2(%rip),%rdx
call   10a0 <newenv_env_@plt>
cmp    $0x0,%eax
jne    1373 <test1+0x1f3>
jmp    1333 <test1+0x1b3>
mov    0x2ca6(%rip),%rax
mov    (%rax),%edi
lea    0xcc4(%rip),%rsi
lea    0xcca(%rip),%rdx
mov    $0x2e,%ecx
lea    0xd81(%rip),%r8
call   1060 <fprintf@plt>
mov    0x2c7e(%rip),%rax
mov    (%rax),%edi
call   1070 <fflush@plt>
mov    $0x6f,%edi
call   1030 <_exit@plt>
mov    $0x1,%edi
lea    0xd6f(%rip),%rsi
lea    0xc7e(%rip),%rdx
call   10a0 <newenv_env_@plt>
cmp    $0x0,%eax
jne    13d9 <test1+0x259>
jmp    1399 <test1+0x219>
mov    0x2c40(%rip),%rax
mov    (%rax),%edi
lea    0xc5e(%rip),%rsi
lea    0xc64(%rip),%rdx
mov    $0x2f,%ecx
lea    0xd1b(%rip),%r8
call   1060 <fprintf@plt>
mov    0x2c18(%rip),%rax
mov    (%rax),%edi
call   1070 <fflush@plt>
mov    $0x6f,%edi
call   1030 <_exit@plt>
lea    0xd19(%rip),%rdi
lea    0xd0b(%rip),%rsi
mov    $0x1,%edx
call   1040 <setenv@plt>
cmp    $0xffffffff,%eax
jne    143f <test1+0x2bf>
jmp    13ff <test1+0x27f>
mov    0x2bda(%rip),%rax
mov    (%rax),%edi
lea    0xbf8(%rip),%rsi
lea    0xbfe(%rip),%rdx
mov    $0x30,%ecx
lea    0xc8b(%rip),%r8
call   1060 <fprintf@plt>
mov    0x2bb2(%rip),%rax
mov    (%rax),%edi
call   1070 <fflush@plt>
mov    $0x6f,%edi
call   1030 <_exit@plt>
lea    0xcb3(%rip),%rdi
call   1090 <newenv_copyenv@plt>
cmp    $0x0,%rax
jne    149a <test1+0x31a>
jmp    145a <test1+0x2da>
mov    0x2b7f(%rip),%rax
mov    (%rax),%edi
lea    0xb9d(%rip),%rsi
lea    0xba3(%rip),%rdx
mov    $0x31,%ecx
lea    0xc3f(%rip),%r8
call   1060 <fprintf@plt>
mov    0x2b57(%rip),%rax
mov    (%rax),%edi
call   1070 <fflush@plt>
mov    $0x6f,%edi
call   1030 <_exit@plt>
lea    0xc58(%rip),%rdi
lea    0xb5c(%rip),%rsi
mov    $0x1,%edx
call   1040 <setenv@plt>
cmp    $0xffffffff,%eax
jne    1500 <test1+0x380>
jmp    14c0 <test1+0x340>
mov    0x2b19(%rip),%rax
mov    (%rax),%edi
lea    0xb37(%rip),%rsi
lea    0xb3d(%rip),%rdx
mov    $0x32,%ecx
lea    0xbca(%rip),%r8
call   1060 <fprintf@plt>
mov    0x2af1(%rip),%rax
mov    (%rax),%edi
call   1070 <fflush@plt>
mov    $0x6f,%edi
call   1030 <_exit@plt>
lea    0xbf2(%rip),%rdi
call   1090 <newenv_copyenv@plt>
cmp    $0x0,%rax
jne    155b <test1+0x3db>
jmp    151b <test1+0x39b>
mov    0x2abe(%rip),%rax
mov    (%rax),%edi
lea    0xadc(%rip),%rsi
lea    0xae2(%rip),%rdx
mov    $0x33,%ecx
lea    0xb7e(%rip),%r8
call   1060 <fprintf@plt>
mov    0x2a96(%rip),%rax
mov    (%rax),%edi
call   1070 <fflush@plt>
mov    $0x6f,%edi
call   1030 <_exit@plt>
lea    0xb9b(%rip),%rdi
lea    0xb89(%rip),%rsi
mov    $0x1,%edx
call   1040 <setenv@plt>
cmp    $0xffffffff,%eax
jne    15c1 <test1+0x441>
jmp    1581 <test1+0x401>
mov    0x2a58(%rip),%rax
mov    (%rax),%edi
lea    0xa76(%rip),%rsi
lea    0xa7c(%rip),%rdx
mov    $0x36,%ecx
lea    0xb09(%rip),%r8
call   1060 <fprintf@plt>
mov    0x2a30(%rip),%rax
mov    (%rax),%edi
call   1070 <fflush@plt>
mov    $0x6f,%edi
call   1030 <_exit@plt>
mov    $0x1,%edi
lea    0xb30(%rip),%rsi
lea    0xa30(%rip),%rdx
call   10a0 <newenv_env_@plt>
cmp    $0x0,%eax
jne    1627 <test1+0x4a7>
jmp    15e7 <test1+0x467>
mov    0x29f2(%rip),%rax
mov    (%rax),%edi
lea    0xa10(%rip),%rsi
lea    0xa16(%rip),%rdx
mov    $0x37,%ecx
lea    0xacd(%rip),%r8
call   1060 <fprintf@plt>
mov    0x29ca(%rip),%rax
mov    (%rax),%edi
call   1070 <fflush@plt>
mov    $0x6f,%edi
call   1030 <_exit@plt>
mov    $0x1,%edi
lea    0xace(%rip),%rsi
lea    0x9ca(%rip),%rdx
call   10a0 <newenv_env_@plt>
cmp    $0x0,%eax
jne    168d <test1+0x50d>
jmp    164d <test1+0x4cd>
mov    0x298c(%rip),%rax
mov    (%rax),%edi
lea    0x9aa(%rip),%rsi
lea    0x9b0(%rip),%rdx
mov    $0x3a,%ecx
lea    0xa67(%rip),%r8
call   1060 <fprintf@plt>
mov    0x2964(%rip),%rax
mov    (%rax),%edi
call   1070 <fflush@plt>
mov    $0x6f,%edi
call   1030 <_exit@plt>
lea    0xa6d(%rip),%rdi
lea    0xa57(%rip),%rsi
mov    $0x1,%edx
call   1040 <setenv@plt>
cmp    $0xffffffff,%eax
jne    16f3 <test1+0x573>
jmp    16b3 <test1+0x533>
mov    0x2926(%rip),%rax
mov    (%rax),%edi
lea    0x944(%rip),%rsi
lea    0x94a(%rip),%rdx
mov    $0x3b,%ecx
lea    0x9d7(%rip),%r8
call   1060 <fprintf@plt>
mov    0x28fe(%rip),%rax
mov    (%rax),%edi
call   1070 <fflush@plt>
mov    $0x6f,%edi
call   1030 <_exit@plt>
mov    $0x1,%edi
lea    0xa06(%rip),%rsi
lea    0x8fe(%rip),%rdx
call   10a0 <newenv_env_@plt>
cmp    $0x0,%eax
jne    1759 <test1+0x5d9>
jmp    1719 <test1+0x599>
mov    0x28c0(%rip),%rax
mov    (%rax),%edi
lea    0x8de(%rip),%rsi
lea    0x8e4(%rip),%rdx
mov    $0x3e,%ecx
lea    0x99b(%rip),%r8
call   1060 <fprintf@plt>
mov    0x2898(%rip),%rax
mov    (%rax),%edi
call   1070 <fflush@plt>
mov    $0x6f,%edi
call   1030 <_exit@plt>
movq   $0x0,-0x28(%rbp)
cmpq   $0xc8,-0x28(%rbp)
jge    17b4 <test1+0x634>
lea    -0x90(%rbp),%rdi
mov    -0x28(%rbp),%rcx
mov    $0x64,%esi
lea    0x983(%rip),%rdx
call   1050 <snprintf@plt>
lea    -0x90(%rbp),%rsi
lea    -0x90(%rbp),%rdx
mov    $0x1,%edi
call   10a0 <newenv_env_@plt>
mov    -0x28(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x28(%rbp)
jmp    1761 <test1+0x5e1>
mov    $0x1,%edi
lea    0x945(%rip),%rsi
lea    0x83d(%rip),%rdx
call   10a0 <newenv_env_@plt>
cmp    $0x0,%eax
jne    181a <test1+0x69a>
jmp    17da <test1+0x65a>
mov    0x27ff(%rip),%rax
mov    (%rax),%edi
lea    0x81d(%rip),%rsi
lea    0x823(%rip),%rdx
mov    $0x43,%ecx
lea    0x8da(%rip),%r8
call   1060 <fprintf@plt>
mov    0x27d7(%rip),%rax
mov    (%rax),%edi
call   1070 <fflush@plt>
mov    $0x6f,%edi
call   1030 <_exit@plt>
movq   $0x0,-0x28(%rbp)
cmpq   $0xc8,-0x28(%rbp)
jge    1875 <test1+0x6f5>
lea    -0x90(%rbp),%rdi
mov    -0x28(%rbp),%rcx
mov    $0x64,%esi
lea    0x8c2(%rip),%rdx
call   1050 <snprintf@plt>
lea    -0x90(%rbp),%rsi
lea    -0x90(%rbp),%rdx
mov    $0x1,%edi
call   10a0 <newenv_env_@plt>
mov    -0x28(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x28(%rbp)
jmp    1822 <test1+0x6a2>
mov    $0x1,%edi
lea    0x88d(%rip),%rsi
lea    0x86a(%rip),%rdx
call   10a0 <newenv_env_@plt>
cmp    $0x0,%eax
je     18db <test1+0x75b>
jmp    189b <test1+0x71b>
mov    0x273e(%rip),%rax
mov    (%rax),%edi
lea    0x75c(%rip),%rsi
lea    0x762(%rip),%rdx
mov    $0x4a,%ecx
lea    0x819(%rip),%r8
call   1060 <fprintf@plt>
mov    0x2716(%rip),%rax
mov    (%rax),%edi
call   1070 <fflush@plt>
mov    $0x6f,%edi
call   1030 <_exit@plt>
lea    0x830(%rip),%rdi
lea    0x809(%rip),%rsi
mov    $0x1,%edx
call   1040 <setenv@plt>
cmp    $0xffffffff,%eax
jne    1941 <test1+0x7c1>
jmp    1901 <test1+0x781>
mov    0x26d8(%rip),%rax
mov    (%rax),%edi
lea    0x6f6(%rip),%rsi
lea    0x6fc(%rip),%rdx
mov    $0x4b,%ecx
lea    0x789(%rip),%r8
call   1060 <fprintf@plt>
mov    0x26b0(%rip),%rax
mov    (%rax),%edi
call   1070 <fflush@plt>
mov    $0x6f,%edi
call   1030 <_exit@plt>
lea    0x7ca(%rip),%rdi
call   1090 <newenv_copyenv@plt>
cmp    $0x0,%rax
je     199c <test1+0x81c>
jmp    195c <test1+0x7dc>
mov    0x267d(%rip),%rax
mov    (%rax),%edi
lea    0x69b(%rip),%rsi
lea    0x6a1(%rip),%rdx
mov    $0x4c,%ecx
lea    0x73d(%rip),%r8
call   1060 <fprintf@plt>
mov    0x2655(%rip),%rax
mov    (%rax),%edi
call   1070 <fflush@plt>
mov    $0x6f,%edi
call   1030 <_exit@plt>
lea    0x773(%rip),%rax
mov    %rax,-0x20(%rbp)
lea    0x770(%rip),%rax
mov    %rax,-0x18(%rbp)
lea    0x769(%rip),%rax
mov    %rax,-0x10(%rbp)
movq   $0x0,-0x8(%rbp)
mov    -0x20(%rbp),%rdi
lea    -0x20(%rbp),%rsi
call   1080 <newenv_exec@plt>
mov    0x2607(%rip),%rax
mov    (%rax),%edi
lea    0x625(%rip),%rsi
lea    0x62b(%rip),%rdx
mov    $0x54,%ecx
lea    0x6ed(%rip),%r8
call   1060 <fprintf@plt>
mov    0x25df(%rip),%rax
mov    (%rax),%edi
call   1070 <fflush@plt>
mov    $0x6f,%edi
call   1030 <_exit@plt>

x86 assembly (clang, -O2):
<test1>:
push   %r15
push   %r14
push   %rbx
sub    $0x90,%rsp
lea    0xe6d(%rip),%rdi
lea    0xe6a(%rip),%rsi
mov    $0x1,%edx
call   1040 <setenv@plt>
cmp    $0xffffffff,%eax
jne    11d1 <test1+0x51>
mov    0x2e30(%rip),%rbx
mov    (%rbx),%edi
lea    0xe4e(%rip),%rsi
lea    0xe54(%rip),%rdx
lea    0xee6(%rip),%r8
mov    $0x26,%ecx
jmp    12c0 <test1+0x140>
lea    0xe28(%rip),%rdi
call   1090 <newenv_copyenv@plt>
test   %rax,%rax
jne    120a <test1+0x8a>
mov    0x2df7(%rip),%rbx
mov    (%rbx),%edi
lea    0xe15(%rip),%rsi
lea    0xe1b(%rip),%rdx
lea    0xebc(%rip),%r8
mov    $0x27,%ecx
jmp    12c0 <test1+0x140>
lea    0xec2(%rip),%rsi
lea    0xdec(%rip),%rdx
mov    $0x1,%edi
call   10a0 <newenv_env_@plt>
test   %eax,%eax
jne    124b <test1+0xcb>
mov    0x2db3(%rip),%rbx
mov    (%rbx),%edi
lea    0xdd1(%rip),%rsi
lea    0xdd7(%rip),%rdx
lea    0xe93(%rip),%r8
mov    $0x2a,%ecx
jmp    12c0 <test1+0x140>
lea    0xe98(%rip),%rdi
call   1090 <newenv_copyenv@plt>
test   %rax,%rax
jne    129d <test1+0x11d>
lea    0xe8b(%rip),%rsi
lea    0xe88(%rip),%rdx
mov    $0x1,%edi
call   10a0 <newenv_env_@plt>
test   %eax,%eax
jne    12d6 <test1+0x156>
mov    0x2d61(%rip),%rbx
mov    (%rbx),%edi
lea    0xd7f(%rip),%rsi
lea    0xd85(%rip),%rdx
lea    0xe41(%rip),%r8
mov    $0x2e,%ecx
jmp    12c0 <test1+0x140>
mov    0x2d3c(%rip),%rbx
mov    (%rbx),%edi
lea    0xd5a(%rip),%rsi
lea    0xd60(%rip),%rdx
lea    0xe01(%rip),%r8
mov    $0x2b,%ecx
call   1060 <fprintf@plt>
mov    (%rbx),%edi
call   1070 <fflush@plt>
mov    $0x6f,%edi
call   1030 <_exit@plt>
lea    0xe11(%rip),%rsi
lea    0xd20(%rip),%rdx
mov    $0x1,%edi
call   10a0 <newenv_env_@plt>
test   %eax,%eax
jne    1317 <test1+0x197>
mov    0x2ce7(%rip),%rbx
mov    (%rbx),%edi
lea    0xd05(%rip),%rsi
lea    0xd0b(%rip),%rdx
lea    0xdc7(%rip),%r8
mov    $0x2f,%ecx
jmp    12c0 <test1+0x140>
lea    0xddb(%rip),%rdi
lea    0xdcd(%rip),%rsi
mov    $0x1,%edx
call   1040 <setenv@plt>
cmp    $0xffffffff,%eax
jne    135c <test1+0x1dc>
mov    0x2ca5(%rip),%rbx
mov    (%rbx),%edi
lea    0xcc3(%rip),%rsi
lea    0xcc9(%rip),%rdx
lea    0xd5b(%rip),%r8
mov    $0x30,%ecx
jmp    12c0 <test1+0x140>
lea    0xd96(%rip),%rdi
call   1090 <newenv_copyenv@plt>
test   %rax,%rax
jne    1395 <test1+0x215>
mov    0x2c6c(%rip),%rbx
mov    (%rbx),%edi
lea    0xc8a(%rip),%rsi
lea    0xc90(%rip),%rdx
lea    0xd31(%rip),%r8
mov    $0x31,%ecx
jmp    12c0 <test1+0x140>
lea    0xd5d(%rip),%rdi
lea    0xc61(%rip),%rsi
mov    $0x1,%edx
call   1040 <setenv@plt>
cmp    $0xffffffff,%eax
jne    13da <test1+0x25a>
mov    0x2c27(%rip),%rbx
mov    (%rbx),%edi
lea    0xc45(%rip),%rsi
lea    0xc4b(%rip),%rdx
lea    0xcdd(%rip),%r8
mov    $0x32,%ecx
jmp    12c0 <test1+0x140>
lea    0xd18(%rip),%rdi
call   1090 <newenv_copyenv@plt>
test   %rax,%rax
jne    1413 <test1+0x293>
mov    0x2bee(%rip),%rbx
mov    (%rbx),%edi
lea    0xc0c(%rip),%rsi
lea    0xc12(%rip),%rdx
lea    0xcb3(%rip),%r8
mov    $0x33,%ecx
jmp    12c0 <test1+0x140>
lea    0xce3(%rip),%rdi
lea    0xcd1(%rip),%rsi
mov    $0x1,%edx
call   1040 <setenv@plt>
cmp    $0xffffffff,%eax
jne    1458 <test1+0x2d8>
mov    0x2ba9(%rip),%rbx
mov    (%rbx),%edi
lea    0xbc7(%rip),%rsi
lea    0xbcd(%rip),%rdx
lea    0xc5f(%rip),%r8
mov    $0x36,%ecx
jmp    12c0 <test1+0x140>
lea    0xc9e(%rip),%rsi
lea    0xb9e(%rip),%rdx
mov    $0x1,%edi
call   10a0 <newenv_env_@plt>
test   %eax,%eax
jne    149c <test1+0x31c>
mov    0x2b65(%rip),%rbx
mov    (%rbx),%edi
lea    0xb83(%rip),%rsi
lea    0xb89(%rip),%rdx
lea    0xc45(%rip),%r8
mov    $0x37,%ecx
jmp    12c0 <test1+0x140>
lea    0xc5e(%rip),%rsi
lea    0xb5a(%rip),%rdx
mov    $0x1,%edi
call   10a0 <newenv_env_@plt>
test   %eax,%eax
jne    14e0 <test1+0x360>
mov    0x2b21(%rip),%rbx
mov    (%rbx),%edi
lea    0xb3f(%rip),%rsi
lea    0xb45(%rip),%rdx
lea    0xc01(%rip),%r8
mov    $0x3a,%ecx
jmp    12c0 <test1+0x140>
lea    0xc1a(%rip),%rdi
lea    0xc04(%rip),%rsi
mov    $0x1,%edx
call   1040 <setenv@plt>
cmp    $0xffffffff,%eax
jne    1525 <test1+0x3a5>
mov    0x2adc(%rip),%rbx
mov    (%rbx),%edi
lea    0xafa(%rip),%rsi
lea    0xb00(%rip),%rdx
lea    0xb92(%rip),%r8
mov    $0x3b,%ecx
jmp    12c0 <test1+0x140>
lea    0xbd9(%rip),%rsi
lea    0xad1(%rip),%rdx
mov    $0x1,%edi
call   10a0 <newenv_env_@plt>
test   %eax,%eax
jne    1569 <test1+0x3e9>
mov    0x2a98(%rip),%rbx
mov    (%rbx),%edi
lea    0xab6(%rip),%rsi
lea    0xabc(%rip),%rdx
lea    0xb78(%rip),%r8
mov    $0x3e,%ecx
jmp    12c0 <test1+0x140>
xor    %ebx,%ebx
lea    0xb97(%rip),%r14
lea    0x20(%rsp),%r15
nopw   0x0(%rax,%rax,1)
mov    %r15,%rdi
mov    $0x64,%esi
mov    %r14,%rdx
mov    %rbx,%rcx
call   1050 <snprintf@plt>
mov    $0x1,%edi
mov    %r15,%rsi
mov    %r15,%rdx
call   10a0 <newenv_env_@plt>
add    $0x1,%rbx
cmp    $0xc8,%rbx
jne    1580 <test1+0x400>
lea    0xb4e(%rip),%rsi
lea    0xa46(%rip),%rdx
mov    $0x1,%edi
call   10a0 <newenv_env_@plt>
test   %eax,%eax
jne    15f4 <test1+0x474>
mov    0x2a0d(%rip),%rbx
mov    (%rbx),%edi
lea    0xa2b(%rip),%rsi
lea    0xa31(%rip),%rdx
lea    0xaed(%rip),%r8
mov    $0x43,%ecx
jmp    12c0 <test1+0x140>
xor    %ebx,%ebx
lea    0xb0c(%rip),%r14
lea    0x20(%rsp),%r15
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    %r15,%rdi
mov    $0x64,%esi
mov    %r14,%rdx
mov    %rbx,%rcx
call   1050 <snprintf@plt>
mov    $0x1,%edi
mov    %r15,%rsi
mov    %r15,%rdx
call   10a0 <newenv_env_@plt>
add    $0x1,%rbx
cmp    $0xc8,%rbx
jne    1610 <test1+0x490>
lea    0xac7(%rip),%rsi
lea    0xaa4(%rip),%rdx
mov    $0x1,%edi
call   10a0 <newenv_env_@plt>
test   %eax,%eax
jne    16a1 <test1+0x521>
lea    0xaaf(%rip),%rdi
lea    0xa88(%rip),%rsi
mov    $0x1,%edx
call   1040 <setenv@plt>
cmp    $0xffffffff,%eax
jne    16c9 <test1+0x549>
mov    0x2960(%rip),%rbx
mov    (%rbx),%edi
lea    0x97e(%rip),%rsi
lea    0x984(%rip),%rdx
lea    0xa16(%rip),%r8
mov    $0x4b,%ecx
jmp    12c0 <test1+0x140>
mov    0x2938(%rip),%rbx
mov    (%rbx),%edi
lea    0x956(%rip),%rsi
lea    0x95c(%rip),%rdx
lea    0xa18(%rip),%r8
mov    $0x4a,%ecx
jmp    12c0 <test1+0x140>
lea    0xa42(%rip),%rdi
call   1090 <newenv_copyenv@plt>
test   %rax,%rax
jne    1736 <test1+0x5b6>
lea    0xa35(%rip),%rdi
mov    %rdi,(%rsp)
lea    0xa32(%rip),%rax
mov    %rax,0x8(%rsp)
lea    0xa2a(%rip),%rax
mov    %rax,0x10(%rsp)
movq   $0x0,0x18(%rsp)
mov    %rsp,%rsi
call   1080 <newenv_exec@plt>
mov    0x28cb(%rip),%rbx
mov    (%rbx),%edi
lea    0x8e9(%rip),%rsi
lea    0x8ef(%rip),%rdx
lea    0x9b6(%rip),%r8
mov    $0x54,%ecx
jmp    12c0 <test1+0x140>
mov    0x28a3(%rip),%rbx
mov    (%rbx),%edi
lea    0x8c1(%rip),%rsi
lea    0x8c7(%rip),%rdx
lea    0x968(%rip),%r8
mov    $0x4c,%ecx
jmp    12c0 <test1+0x140>

LLVM IR (-O0):
@.str = [4 x i8] c"BBB\00"
@.str.1 = [3 x i8] c"ok\00"
@stderr = global i32 0
@.str.2 = [13 x i8] c"%s:%llu: %s\0A\00"
@.str.3 = [153 x i8] c"/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/janmojzis/tinyssh/refs/heads/master/tinyssh-tests/newenvtest.c\00"
@.str.4 = [15 x i8] c"setenv failure\00"
@.str.5 = [23 x i8] c"newenv_copyenv failure\00"
@.str.6 = [4 x i8] c"CC1\00"
@.str.7 = [19 x i8] c"newenv_env failure\00"
@.str.8 = [4 x i8] c"CC3\00"
@.str.9 = [4 x i8] c"DD1\00"
@.str.10 = [7 x i8] c"failed\00"
@.str.11 = [4 x i8] c"DD3\00"
@.str.12 = [4 x i8] c"EE1\00"
@.str.13 = [4 x i8] c"FF1\00"
@.str.14 = [4 x i8] c"YY1\00"
@.str.15 = [5 x i8] c"%lld\00"
@.str.16 = [4 x i8] c"ZZ1\00"
@.str.17 = [4 x i8] c"ZZ3\00"
@.str.18 = [8 x i8] c"/bin/sh\00"
@.str.19 = [4 x i8] c"-ec\00"
@.str.20 = [641 x i8] c"err='newenvtest: failed: newenv_env does not set correcty variable'\0A[ x\22$AA1\22 = x ] || ( echo $err; exit 111; ) \0A[ x\22$AA3\22 = x ] || ( echo $err; exit 111; ) \0A[ x\22$BBB\22 = xok ] || ( echo $err; exit 111; ) \0A[ x\22$CC1\22 = xok ] || ( echo $err; exit 111; ) \0A[ x\22$CC3\22 = x ] || ( echo $err; exit 111; ) \0A[ x\22$DD1\22 = xok ] || ( echo $err; exit 111; ) \0A[ x\22$DD3\22 = xok ] || ( echo $err; exit 111; ) \0A[ x\22$EE1\22 = xok ] || ( echo $err; exit 111; ) \0A[ x\22$FF1\22 = xok ] || ( echo $err; exit 111; ) \0A[ x\22$YY1\22 = xok ] || ( echo $err; exit 111; ) \0A[ x\22$ZZ1\22 = x ] || ( echo $err; exit 111; ) \0A[ x\22$ZZ3\22 = x ] || ( echo $err; exit 111; ) \0Aexit 0 \0A\00"
@.str.21 = [8 x i8] c"failure\00"
define void @test1() {
%1 = alloca [4 x i8*]
%2 = alloca i64
%3 = alloca [100 x i8]
%4 = call i32 @setenv(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0), i32 1)
%5 = icmp eq i32 %4, -1
br i1 %5, label %6, label %14
6: ; preds = %0
br label %7
7: ; preds = %6
%8 = load i32, i32* @stderr
%9 = call i32 @fprintf(i32 %8, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 38, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.4, i64 0, i64 0))
%10 = load i32, i32* @stderr
%11 = call i32 @fflush(i32 %10)
%12 = call i32 @_exit(i32 111)
unreachable
13: ; No predecessors!
br label %14
14: ; preds = %13, %0
%15 = call i64 @newenv_copyenv(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0))
%16 = icmp ne i64 %15, 0
br i1 %16, label %25, label %17
17: ; preds = %14
br label %18
18: ; preds = %17
%19 = load i32, i32* @stderr
%20 = call i32 @fprintf(i32 %19, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 39, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.5, i64 0, i64 0))
%21 = load i32, i32* @stderr
%22 = call i32 @fflush(i32 %21)
%23 = call i32 @_exit(i32 111)
unreachable
24: ; No predecessors!
br label %25
25: ; preds = %24, %14
%26 = call i32 @newenv_env_(i32 1, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0))
%27 = icmp ne i32 %26, 0
br i1 %27, label %36, label %28
28: ; preds = %25
br label %29
29: ; preds = %28
%30 = load i32, i32* @stderr
%31 = call i32 @fprintf(i32 %30, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 42, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.7, i64 0, i64 0))
%32 = load i32, i32* @stderr
%33 = call i32 @fflush(i32 %32)
%34 = call i32 @_exit(i32 111)
unreachable
35: ; No predecessors!
br label %36
36: ; preds = %35, %25
%37 = call i64 @newenv_copyenv(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.8, i64 0, i64 0))
%38 = icmp ne i64 %37, 0
br i1 %38, label %39, label %47
39: ; preds = %36
br label %40
40: ; preds = %39
%41 = load i32, i32* @stderr
%42 = call i32 @fprintf(i32 %41, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 43, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.5, i64 0, i64 0))
%43 = load i32, i32* @stderr
%44 = call i32 @fflush(i32 %43)
%45 = call i32 @_exit(i32 111)
unreachable
46: ; No predecessors!
br label %47
47: ; preds = %46, %36
%48 = call i32 @newenv_env_(i32 1, 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))
%49 = icmp ne i32 %48, 0
br i1 %49, label %58, label %50
50: ; preds = %47
br label %51
51: ; preds = %50
%52 = load i32, i32* @stderr
%53 = call i32 @fprintf(i32 %52, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 46, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.7, i64 0, i64 0))
%54 = load i32, i32* @stderr
%55 = call i32 @fflush(i32 %54)
%56 = call i32 @_exit(i32 111)
unreachable
57: ; No predecessors!
br label %58
58: ; preds = %57, %47
%59 = call i32 @newenv_env_(i32 1, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.9, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0))
%60 = icmp ne i32 %59, 0
br i1 %60, label %69, label %61
61: ; preds = %58
br label %62
62: ; preds = %61
%63 = load i32, i32* @stderr
%64 = call i32 @fprintf(i32 %63, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 47, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.7, i64 0, i64 0))
%65 = load i32, i32* @stderr
%66 = call i32 @fflush(i32 %65)
%67 = call i32 @_exit(i32 111)
unreachable
68: ; No predecessors!
br label %69
69: ; preds = %68, %58
%70 = call i32 @setenv(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), i32 1)
%71 = icmp eq i32 %70, -1
br i1 %71, label %72, label %80
72: ; preds = %69
br label %73
73: ; preds = %72
%74 = load i32, i32* @stderr
%75 = call i32 @fprintf(i32 %74, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 48, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.4, i64 0, i64 0))
%76 = load i32, i32* @stderr
%77 = call i32 @fflush(i32 %76)
%78 = call i32 @_exit(i32 111)
unreachable
79: ; No predecessors!
br label %80
80: ; preds = %79, %69
%81 = call i64 @newenv_copyenv(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.11, i64 0, i64 0))
%82 = icmp ne i64 %81, 0
br i1 %82, label %91, label %83
83: ; preds = %80
br label %84
84: ; preds = %83
%85 = load i32, i32* @stderr
%86 = call i32 @fprintf(i32 %85, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 49, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.5, i64 0, i64 0))
%87 = load i32, i32* @stderr
%88 = call i32 @fflush(i32 %87)
%89 = call i32 @_exit(i32 111)
unreachable
90: ; No predecessors!
br label %91
91: ; preds = %90, %80
%92 = call i32 @setenv(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.11, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0), i32 1)
%93 = icmp eq i32 %92, -1
br i1 %93, label %94, label %102
94: ; preds = %91
br label %95
95: ; preds = %94
%96 = load i32, i32* @stderr
%97 = call i32 @fprintf(i32 %96, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 50, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.4, i64 0, i64 0))
%98 = load i32, i32* @stderr
%99 = call i32 @fflush(i32 %98)
%100 = call i32 @_exit(i32 111)
unreachable
101: ; No predecessors!
br label %102
102: ; preds = %101, %91
%103 = call i64 @newenv_copyenv(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.11, i64 0, i64 0))
%104 = icmp ne i64 %103, 0
br i1 %104, label %113, label %105
105: ; preds = %102
br label %106
106: ; preds = %105
%107 = load i32, i32* @stderr
%108 = call i32 @fprintf(i32 %107, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 51, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.5, i64 0, i64 0))
%109 = load i32, i32* @stderr
%110 = call i32 @fflush(i32 %109)
%111 = call i32 @_exit(i32 111)
unreachable
112: ; No predecessors!
br label %113
113: ; preds = %112, %102
%114 = call i32 @setenv(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10, i64 0, i64 0), i32 1)
%115 = icmp eq i32 %114, -1
br i1 %115, label %116, label %124
116: ; preds = %113
br label %117
117: ; preds = %116
%118 = load i32, i32* @stderr
%119 = call i32 @fprintf(i32 %118, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 54, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.4, i64 0, i64 0))
%120 = load i32, i32* @stderr
%121 = call i32 @fflush(i32 %120)
%122 = call i32 @_exit(i32 111)
unreachable
123: ; No predecessors!
br label %124
124: ; preds = %123, %113
%125 = call i32 @newenv_env_(i32 1, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0))
%126 = icmp ne i32 %125, 0
br i1 %126, label %135, label %127
127: ; preds = %124
br label %128
128: ; preds = %127
%129 = load i32, i32* @stderr
%130 = call i32 @fprintf(i32 %129, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 55, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.7, i64 0, i64 0))
%131 = load i32, i32* @stderr
%132 = call i32 @fflush(i32 %131)
%133 = call i32 @_exit(i32 111)
unreachable
134: ; No predecessors!
br label %135
135: ; preds = %134, %124
%136 = call i32 @newenv_env_(i32 1, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0))
%137 = icmp ne i32 %136, 0
br i1 %137, label %146, label %138
138: ; preds = %135
br label %139
139: ; preds = %138
%140 = load i32, i32* @stderr
%141 = call i32 @fprintf(i32 %140, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 58, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.7, i64 0, i64 0))
%142 = load i32, i32* @stderr
%143 = call i32 @fflush(i32 %142)
%144 = call i32 @_exit(i32 111)
unreachable
145: ; No predecessors!
br label %146
146: ; preds = %145, %135
%147 = call i32 @setenv(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.10, i64 0, i64 0), i32 1)
%148 = icmp eq i32 %147, -1
br i1 %148, label %149, label %157
149: ; preds = %146
br label %150
150: ; preds = %149
%151 = load i32, i32* @stderr
%152 = call i32 @fprintf(i32 %151, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 59, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.4, i64 0, i64 0))
%153 = load i32, i32* @stderr
%154 = call i32 @fflush(i32 %153)
%155 = call i32 @_exit(i32 111)
unreachable
156: ; No predecessors!
br label %157
157: ; preds = %156, %146
%158 = call i32 @newenv_env_(i32 1, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0))
%159 = icmp ne i32 %158, 0
br i1 %159, label %168, label %160
160: ; preds = %157
br label %161
161: ; preds = %160
%162 = load i32, i32* @stderr
%163 = call i32 @fprintf(i32 %162, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 62, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.7, i64 0, i64 0))
%164 = load i32, i32* @stderr
%165 = call i32 @fflush(i32 %164)
%166 = call i32 @_exit(i32 111)
unreachable
167: ; No predecessors!
br label %168
168: ; preds = %167, %157
store i64 0, i64* %2
br label %169
169: ; preds = %179, %168
%170 = load i64, i64* %2
%171 = icmp slt i64 %170, 200
br i1 %171, label %172, label %182
172: ; preds = %169
%173 = getelementptr inbounds [100 x i8], [100 x i8]* %3, i64 0, i64 0
%174 = load i64, i64* %2
%175 = call i32 @snprintf(i8* %173, i32 100, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.15, i64 0, i64 0), i64 %174)
%176 = getelementptr inbounds [100 x i8], [100 x i8]* %3, i64 0, i64 0
%177 = getelementptr inbounds [100 x i8], [100 x i8]* %3, i64 0, i64 0
%178 = call i32 @newenv_env_(i32 1, i8* %176, i8* %177)
br label %179
179: ; preds = %172
%180 = load i64, i64* %2
%181 = add nsw i64 %180, 1
store i64 %181, i64* %2
br label %169
182: ; preds = %169
%183 = call i32 @newenv_env_(i32 1, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0))
%184 = icmp ne i32 %183, 0
br i1 %184, label %193, label %185
185: ; preds = %182
br label %186
186: ; preds = %185
%187 = load i32, i32* @stderr
%188 = call i32 @fprintf(i32 %187, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 67, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.7, i64 0, i64 0))
%189 = load i32, i32* @stderr
%190 = call i32 @fflush(i32 %189)
%191 = call i32 @_exit(i32 111)
unreachable
192: ; No predecessors!
br label %193
193: ; preds = %192, %182
store i64 0, i64* %2
br label %194
194: ; preds = %204, %193
%195 = load i64, i64* %2
%196 = icmp slt i64 %195, 200
br i1 %196, label %197, label %207
197: ; preds = %194
%198 = getelementptr inbounds [100 x i8], [100 x i8]* %3, i64 0, i64 0
%199 = load i64, i64* %2
%200 = call i32 @snprintf(i8* %198, i32 100, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.15, i64 0, i64 0), i64 %199)
%201 = getelementptr inbounds [100 x i8], [100 x i8]* %3, i64 0, i64 0
%202 = getelementptr inbounds [100 x i8], [100 x i8]* %3, i64 0, i64 0
%203 = call i32 @newenv_env_(i32 1, i8* %201, i8* %202)
br label %204
204: ; preds = %197
%205 = load i64, i64* %2
%206 = add nsw i64 %205, 1
store i64 %206, i64* %2
br label %194
207: ; preds = %194
%208 = call i32 @newenv_env_(i32 1, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.16, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10, i64 0, i64 0))
%209 = icmp ne i32 %208, 0
br i1 %209, label %210, label %218
210: ; preds = %207
br label %211
211: ; preds = %210
%212 = load i32, i32* @stderr
%213 = call i32 @fprintf(i32 %212, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 74, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.7, i64 0, i64 0))
%214 = load i32, i32* @stderr
%215 = call i32 @fflush(i32 %214)
%216 = call i32 @_exit(i32 111)
unreachable
217: ; No predecessors!
br label %218
218: ; preds = %217, %207
%219 = call i32 @setenv(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10, i64 0, i64 0), i32 1)
%220 = icmp eq i32 %219, -1
br i1 %220, label %221, label %229
221: ; preds = %218
br label %222
222: ; preds = %221
%223 = load i32, i32* @stderr
%224 = call i32 @fprintf(i32 %223, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 75, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.4, i64 0, i64 0))
%225 = load i32, i32* @stderr
%226 = call i32 @fflush(i32 %225)
%227 = call i32 @_exit(i32 111)
unreachable
228: ; No predecessors!
br label %229
229: ; preds = %228, %218
%230 = call i64 @newenv_copyenv(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17, i64 0, i64 0))
%231 = icmp ne i64 %230, 0
br i1 %231, label %232, label %240
232: ; preds = %229
br label %233
233: ; preds = %232
%234 = load i32, i32* @stderr
%235 = call i32 @fprintf(i32 %234, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 76, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.5, i64 0, i64 0))
%236 = load i32, i32* @stderr
%237 = call i32 @fflush(i32 %236)
%238 = call i32 @_exit(i32 111)
unreachable
239: ; No predecessors!
br label %240
240: ; preds = %239, %229
%241 = getelementptr inbounds [4 x i8*], [4 x i8*]* %1, i64 0, i64 0
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.18, i64 0, i64 0), i8** %241
%242 = getelementptr inbounds [4 x i8*], [4 x i8*]* %1, i64 0, i64 1
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.19, i64 0, i64 0), i8** %242
%243 = getelementptr inbounds [4 x i8*], [4 x i8*]* %1, i64 0, i64 2
store i8* getelementptr inbounds ([641 x i8], [641 x i8]* @.str.20, i64 0, i64 0), i8** %243
%244 = getelementptr inbounds [4 x i8*], [4 x i8*]* %1, i64 0, i64 3
store i8* null, i8** %244
%245 = getelementptr inbounds [4 x i8*], [4 x i8*]* %1, i64 0, i64 0
%246 = load i8*, i8** %245
%247 = getelementptr inbounds [4 x i8*], [4 x i8*]* %1, i64 0, i64 0
%248 = call i32 @newenv_exec(i8* %246, i8** %247)
br label %249
249: ; preds = %240
%250 = load i32, i32* @stderr
%251 = call i32 @fprintf(i32 %250, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 84, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.21, i64 0, i64 0))
%252 = load i32, i32* @stderr
%253 = call i32 @fflush(i32 %252)
%254 = call i32 @_exit(i32 111)
unreachable
255: ; No predecessors!
ret void
}

LLVM IR (-O2):
@.str = [4 x i8] c"BBB\00"
@.str.1 = [3 x i8] c"ok\00"
@stderr = global i32 0
@.str.2 = [13 x i8] c"%s:%llu: %s\0A\00"
@.str.3 = [153 x i8] c"/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/janmojzis/tinyssh/refs/heads/master/tinyssh-tests/newenvtest.c\00"
@.str.4 = [15 x i8] c"setenv failure\00"
@.str.5 = [23 x i8] c"newenv_copyenv failure\00"
@.str.6 = [4 x i8] c"CC1\00"
@.str.7 = [19 x i8] c"newenv_env failure\00"
@.str.8 = [4 x i8] c"CC3\00"
@.str.9 = [4 x i8] c"DD1\00"
@.str.10 = [7 x i8] c"failed\00"
@.str.11 = [4 x i8] c"DD3\00"
@.str.12 = [4 x i8] c"EE1\00"
@.str.13 = [4 x i8] c"FF1\00"
@.str.14 = [4 x i8] c"YY1\00"
@.str.15 = [5 x i8] c"%lld\00"
@.str.16 = [4 x i8] c"ZZ1\00"
@.str.17 = [4 x i8] c"ZZ3\00"
@.str.18 = [8 x i8] c"/bin/sh\00"
@.str.19 = [4 x i8] c"-ec\00"
@.str.20 = [641 x i8] c"err='newenvtest: failed: newenv_env does not set correcty variable'\0A[ x\22$AA1\22 = x ] || ( echo $err; exit 111; ) \0A[ x\22$AA3\22 = x ] || ( echo $err; exit 111; ) \0A[ x\22$BBB\22 = xok ] || ( echo $err; exit 111; ) \0A[ x\22$CC1\22 = xok ] || ( echo $err; exit 111; ) \0A[ x\22$CC3\22 = x ] || ( echo $err; exit 111; ) \0A[ x\22$DD1\22 = xok ] || ( echo $err; exit 111; ) \0A[ x\22$DD3\22 = xok ] || ( echo $err; exit 111; ) \0A[ x\22$EE1\22 = xok ] || ( echo $err; exit 111; ) \0A[ x\22$FF1\22 = xok ] || ( echo $err; exit 111; ) \0A[ x\22$YY1\22 = xok ] || ( echo $err; exit 111; ) \0A[ x\22$ZZ1\22 = x ] || ( echo $err; exit 111; ) \0A[ x\22$ZZ3\22 = x ] || ( echo $err; exit 111; ) \0Aexit 0 \0A\00"
@.str.21 = [8 x i8] c"failure\00"
define void @test1() {
%1 = alloca [4 x i8*]
%2 = alloca [100 x i8]
%3 = bitcast [4 x i8*]* %1 to i8*
%4 = getelementptr inbounds [100 x i8], [100 x i8]* %2, i64 0, i64 0
%5 = tail call i32 @setenv(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0), i32 1)
%6 = icmp eq i32 %5, -1
br i1 %6, label %7, label %13
7: ; preds = %0
%8 = load i32, i32* @stderr
%9 = tail call i32 @fprintf(i32 %8, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 38, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.4, i64 0, i64 0))
%10 = load i32, i32* @stderr
%11 = tail call i32 @fflush(i32 %10)
%12 = tail call i32 @_exit(i32 111)
unreachable
13: ; preds = %0
%14 = tail call i64 @newenv_copyenv(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0))
%15 = icmp eq i64 %14, 0
br i1 %15, label %16, label %22
16: ; preds = %13
%17 = load i32, i32* @stderr
%18 = tail call i32 @fprintf(i32 %17, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 39, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.5, i64 0, i64 0))
%19 = load i32, i32* @stderr
%20 = tail call i32 @fflush(i32 %19)
%21 = tail call i32 @_exit(i32 111)
unreachable
22: ; preds = %13
%23 = tail call i32 @newenv_env_(i32 1, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0))
%24 = icmp eq i32 %23, 0
br i1 %24, label %25, label %31
25: ; preds = %22
%26 = load i32, i32* @stderr
%27 = tail call i32 @fprintf(i32 %26, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 42, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.7, i64 0, i64 0))
%28 = load i32, i32* @stderr
%29 = tail call i32 @fflush(i32 %28)
%30 = tail call i32 @_exit(i32 111)
unreachable
31: ; preds = %22
%32 = tail call i64 @newenv_copyenv(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.8, i64 0, i64 0))
%33 = icmp eq i64 %32, 0
br i1 %33, label %40, label %34
34: ; preds = %31
%35 = load i32, i32* @stderr
%36 = tail call i32 @fprintf(i32 %35, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 43, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.5, i64 0, i64 0))
%37 = load i32, i32* @stderr
%38 = tail call i32 @fflush(i32 %37)
%39 = tail call i32 @_exit(i32 111)
unreachable
40: ; preds = %31
%41 = tail call i32 @newenv_env_(i32 1, 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))
%42 = icmp eq i32 %41, 0
br i1 %42, label %43, label %49
43: ; preds = %40
%44 = load i32, i32* @stderr
%45 = tail call i32 @fprintf(i32 %44, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 46, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.7, i64 0, i64 0))
%46 = load i32, i32* @stderr
%47 = tail call i32 @fflush(i32 %46)
%48 = tail call i32 @_exit(i32 111)
unreachable
49: ; preds = %40
%50 = tail call i32 @newenv_env_(i32 1, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.9, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0))
%51 = icmp eq i32 %50, 0
br i1 %51, label %52, label %58
52: ; preds = %49
%53 = load i32, i32* @stderr
%54 = tail call i32 @fprintf(i32 %53, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 47, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.7, i64 0, i64 0))
%55 = load i32, i32* @stderr
%56 = tail call i32 @fflush(i32 %55)
%57 = tail call i32 @_exit(i32 111)
unreachable
58: ; preds = %49
%59 = tail call i32 @setenv(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), i32 1)
%60 = icmp eq i32 %59, -1
br i1 %60, label %61, label %67
61: ; preds = %58
%62 = load i32, i32* @stderr
%63 = tail call i32 @fprintf(i32 %62, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 48, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.4, i64 0, i64 0))
%64 = load i32, i32* @stderr
%65 = tail call i32 @fflush(i32 %64)
%66 = tail call i32 @_exit(i32 111)
unreachable
67: ; preds = %58
%68 = tail call i64 @newenv_copyenv(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.11, i64 0, i64 0))
%69 = icmp eq i64 %68, 0
br i1 %69, label %70, label %76
70: ; preds = %67
%71 = load i32, i32* @stderr
%72 = tail call i32 @fprintf(i32 %71, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 49, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.5, i64 0, i64 0))
%73 = load i32, i32* @stderr
%74 = tail call i32 @fflush(i32 %73)
%75 = tail call i32 @_exit(i32 111)
unreachable
76: ; preds = %67
%77 = tail call i32 @setenv(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.11, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0), i32 1)
%78 = icmp eq i32 %77, -1
br i1 %78, label %79, label %85
79: ; preds = %76
%80 = load i32, i32* @stderr
%81 = tail call i32 @fprintf(i32 %80, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 50, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.4, i64 0, i64 0))
%82 = load i32, i32* @stderr
%83 = tail call i32 @fflush(i32 %82)
%84 = tail call i32 @_exit(i32 111)
unreachable
85: ; preds = %76
%86 = tail call i64 @newenv_copyenv(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.11, i64 0, i64 0))
%87 = icmp eq i64 %86, 0
br i1 %87, label %88, label %94
88: ; preds = %85
%89 = load i32, i32* @stderr
%90 = tail call i32 @fprintf(i32 %89, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 51, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.5, i64 0, i64 0))
%91 = load i32, i32* @stderr
%92 = tail call i32 @fflush(i32 %91)
%93 = tail call i32 @_exit(i32 111)
unreachable
94: ; preds = %85
%95 = tail call i32 @setenv(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10, i64 0, i64 0), i32 1)
%96 = icmp eq i32 %95, -1
br i1 %96, label %97, label %103
97: ; preds = %94
%98 = load i32, i32* @stderr
%99 = tail call i32 @fprintf(i32 %98, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 54, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.4, i64 0, i64 0))
%100 = load i32, i32* @stderr
%101 = tail call i32 @fflush(i32 %100)
%102 = tail call i32 @_exit(i32 111)
unreachable
103: ; preds = %94
%104 = tail call i32 @newenv_env_(i32 1, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0))
%105 = icmp eq i32 %104, 0
br i1 %105, label %106, label %112
106: ; preds = %103
%107 = load i32, i32* @stderr
%108 = tail call i32 @fprintf(i32 %107, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 55, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.7, i64 0, i64 0))
%109 = load i32, i32* @stderr
%110 = tail call i32 @fflush(i32 %109)
%111 = tail call i32 @_exit(i32 111)
unreachable
112: ; preds = %103
%113 = tail call i32 @newenv_env_(i32 1, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0))
%114 = icmp eq i32 %113, 0
br i1 %114, label %115, label %121
115: ; preds = %112
%116 = load i32, i32* @stderr
%117 = tail call i32 @fprintf(i32 %116, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 58, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.7, i64 0, i64 0))
%118 = load i32, i32* @stderr
%119 = tail call i32 @fflush(i32 %118)
%120 = tail call i32 @_exit(i32 111)
unreachable
121: ; preds = %112
%122 = tail call i32 @setenv(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.10, i64 0, i64 0), i32 1)
%123 = icmp eq i32 %122, -1
br i1 %123, label %124, label %130
124: ; preds = %121
%125 = load i32, i32* @stderr
%126 = tail call i32 @fprintf(i32 %125, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 59, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.4, i64 0, i64 0))
%127 = load i32, i32* @stderr
%128 = tail call i32 @fflush(i32 %127)
%129 = tail call i32 @_exit(i32 111)
unreachable
130: ; preds = %121
%131 = tail call i32 @newenv_env_(i32 1, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0))
%132 = icmp eq i32 %131, 0
br i1 %132, label %133, label %139
133: ; preds = %130
%134 = load i32, i32* @stderr
%135 = tail call i32 @fprintf(i32 %134, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 62, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.7, i64 0, i64 0))
%136 = load i32, i32* @stderr
%137 = tail call i32 @fflush(i32 %136)
%138 = tail call i32 @_exit(i32 111)
unreachable
139: ; preds = %130, %139
%140 = phi i64 [ %143, %139 ], [ 0, %130 ]
%141 = call i32 @snprintf(i8* %4, i32 100, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.15, i64 0, i64 0), i64 %140)
%142 = call i32 @newenv_env_(i32 1, i8* %4, i8* %4)
%143 = add nuw nsw i64 %140, 1
%144 = icmp eq i64 %143, 200
br i1 %144, label %145, label %139
145: ; preds = %139
%146 = call i32 @newenv_env_(i32 1, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0))
%147 = icmp eq i32 %146, 0
br i1 %147, label %148, label %154
148: ; preds = %145
%149 = load i32, i32* @stderr
%150 = call i32 @fprintf(i32 %149, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 67, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.7, i64 0, i64 0))
%151 = load i32, i32* @stderr
%152 = call i32 @fflush(i32 %151)
%153 = call i32 @_exit(i32 111)
unreachable
154: ; preds = %145, %154
%155 = phi i64 [ %158, %154 ], [ 0, %145 ]
%156 = call i32 @snprintf(i8* %4, i32 100, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.15, i64 0, i64 0), i64 %155)
%157 = call i32 @newenv_env_(i32 1, i8* %4, i8* %4)
%158 = add nuw nsw i64 %155, 1
%159 = icmp eq i64 %158, 200
br i1 %159, label %160, label %154
160: ; preds = %154
%161 = call i32 @newenv_env_(i32 1, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.16, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10, i64 0, i64 0))
%162 = icmp eq i32 %161, 0
br i1 %162, label %169, label %163
163: ; preds = %160
%164 = load i32, i32* @stderr
%165 = call i32 @fprintf(i32 %164, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 74, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.7, i64 0, i64 0))
%166 = load i32, i32* @stderr
%167 = call i32 @fflush(i32 %166)
%168 = call i32 @_exit(i32 111)
unreachable
169: ; preds = %160
%170 = call i32 @setenv(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10, i64 0, i64 0), i32 1)
%171 = icmp eq i32 %170, -1
br i1 %171, label %172, label %178
172: ; preds = %169
%173 = load i32, i32* @stderr
%174 = call i32 @fprintf(i32 %173, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 75, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.4, i64 0, i64 0))
%175 = load i32, i32* @stderr
%176 = call i32 @fflush(i32 %175)
%177 = call i32 @_exit(i32 111)
unreachable
178: ; preds = %169
%179 = call i64 @newenv_copyenv(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17, i64 0, i64 0))
%180 = icmp eq i64 %179, 0
br i1 %180, label %187, label %181
181: ; preds = %178
%182 = load i32, i32* @stderr
%183 = call i32 @fprintf(i32 %182, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 76, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.5, i64 0, i64 0))
%184 = load i32, i32* @stderr
%185 = call i32 @fflush(i32 %184)
%186 = call i32 @_exit(i32 111)
unreachable
187: ; preds = %178
%188 = getelementptr inbounds [4 x i8*], [4 x i8*]* %1, i64 0, i64 0
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.18, i64 0, i64 0), i8** %188
%189 = getelementptr inbounds [4 x i8*], [4 x i8*]* %1, i64 0, i64 1
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.19, i64 0, i64 0), i8** %189
%190 = getelementptr inbounds [4 x i8*], [4 x i8*]* %1, i64 0, i64 2
store i8* getelementptr inbounds ([641 x i8], [641 x i8]* @.str.20, i64 0, i64 0), i8** %190
%191 = getelementptr inbounds [4 x i8*], [4 x i8*]* %1, i64 0, i64 3
store i8* null, i8** %191
%192 = call i32 @newenv_exec(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.18, i64 0, i64 0), i8** %188)
%193 = load i32, i32* @stderr
%194 = call i32 @fprintf(i32 %193, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([153 x i8], [153 x i8]* @.str.3, i64 0, i64 0), i64 84, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.21, i64 0, i64 0))
%195 = load i32, i32* @stderr
%196 = call i32 @fflush(i32 %195)
%197 = call i32 @_exit(i32 111)
unreachable
}