#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*/ doTestCountUp();
int /*<<< orphan*/ fprintf(int /*<<< orphan*/, char *, char *, int, int);
int /*<<< orphan*/ stdout;
int /*<<< orphan*/
testDeleteHeadOfBucketWithConflits_ShouldReturnNullAndHeadShouldChange();
int /*<<< orphan*/
testDeleteInBetweenItem_ShouldMaintainOldestAndNewestAndRelinkThem();
int /*<<< orphan*/ testDeleteItemOnBucketWithConflits_ShouldReturnNull();
int /*<<< orphan*/ testDeleteItem_ShouldReturnNull();
int /*<<< orphan*/ testDeleteNewestItem_ShouldChangeNewestItem();
int /*<<< orphan*/
testDeleteNonInsertedItemOnBucketWithConflits_ShouldDoNothing();
int /*<<< orphan*/ testDeleteNonInsertedItemOnHash_ShouldDoNothing();
int /*<<< orphan*/ testDeleteOldestItem_ShouldChangeOldestItem();
int /*<<< orphan*/
testDeleteTailOfBucketWithConflits_ShouldReturnNullAndTailShouldChange();
int /*<<< orphan*/ testGetItemThatDoesNotExist_ShouldReturnNull();
int /*<<< orphan*/ testGetNonInsertedItemOnCrowdedBucket_ShouldReturnNull();
int /*<<< orphan*/ testOverflowHashCapacity_ShouldRemoveOldestItem();
int /*<<< orphan*/ testPutConflictingItens_ShouldMaintainBothItens();
int /*<<< orphan*/ testPutManyConflictingItens_ShouldMaintainAllItens();
int /*<<< orphan*/
testPutNewItemOnEmptyMap_ShouldBecomeHeadAndTailAndOldestAndNewest();
int /*<<< orphan*/
testPutTwoItensOnMap_SecondItemShouldBecomeTailAndNewestAndFirstShouldBecomeHeadAndOldest();
unsigned int testManyFunction(void) {
  {
    int assertErrorA =
        (!testPutNewItemOnEmptyMap_ShouldBecomeHeadAndTailAndOldestAndNewest());
    if (!assertErrorA) {
      fprintf(stdout, "%s:%d: error: TestCaseError(0x%08x)\n",
              "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/carlossdparaujo/linked-hash-map/refs/"
              "heads/master/linkedhashmaptest.c",
              366, (assertErrorA));
      return 0xffffffffu;
    } else {
      doTestCountUp();
    }
  };
  {
    int assertErrorA =
        (!testPutTwoItensOnMap_SecondItemShouldBecomeTailAndNewestAndFirstShouldBecomeHeadAndOldest());
    if (!assertErrorA) {
      fprintf(stdout, "%s:%d: error: TestCaseError(0x%08x)\n",
              "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/carlossdparaujo/linked-hash-map/refs/"
              "heads/master/linkedhashmaptest.c",
              367, (assertErrorA));
      return 0xffffffffu;
    } else {
      doTestCountUp();
    }
  };
  {
    int assertErrorA = (!testGetItemThatDoesNotExist_ShouldReturnNull());
    if (!assertErrorA) {
      fprintf(stdout, "%s:%d: error: TestCaseError(0x%08x)\n",
              "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/carlossdparaujo/linked-hash-map/refs/"
              "heads/master/linkedhashmaptest.c",
              368, (assertErrorA));
      return 0xffffffffu;
    } else {
      doTestCountUp();
    }
  };
  {
    int assertErrorA = (!testDeleteItem_ShouldReturnNull());
    if (!assertErrorA) {
      fprintf(stdout, "%s:%d: error: TestCaseError(0x%08x)\n",
              "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/carlossdparaujo/linked-hash-map/refs/"
              "heads/master/linkedhashmaptest.c",
              369, (assertErrorA));
      return 0xffffffffu;
    } else {
      doTestCountUp();
    }
  };
  {
    int assertErrorA = (!testOverflowHashCapacity_ShouldRemoveOldestItem());
    if (!assertErrorA) {
      fprintf(stdout, "%s:%d: error: TestCaseError(0x%08x)\n",
              "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/carlossdparaujo/linked-hash-map/refs/"
              "heads/master/linkedhashmaptest.c",
              370, (assertErrorA));
      return 0xffffffffu;
    } else {
      doTestCountUp();
    }
  };
  {
    int assertErrorA = (!testDeleteOldestItem_ShouldChangeOldestItem());
    if (!assertErrorA) {
      fprintf(stdout, "%s:%d: error: TestCaseError(0x%08x)\n",
              "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/carlossdparaujo/linked-hash-map/refs/"
              "heads/master/linkedhashmaptest.c",
              371, (assertErrorA));
      return 0xffffffffu;
    } else {
      doTestCountUp();
    }
  };
  {
    int assertErrorA = (!testDeleteNewestItem_ShouldChangeNewestItem());
    if (!assertErrorA) {
      fprintf(stdout, "%s:%d: error: TestCaseError(0x%08x)\n",
              "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/carlossdparaujo/linked-hash-map/refs/"
              "heads/master/linkedhashmaptest.c",
              372, (assertErrorA));
      return 0xffffffffu;
    } else {
      doTestCountUp();
    }
  };
  {
    int assertErrorA =
        (!testDeleteInBetweenItem_ShouldMaintainOldestAndNewestAndRelinkThem());
    if (!assertErrorA) {
      fprintf(stdout, "%s:%d: error: TestCaseError(0x%08x)\n",
              "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/carlossdparaujo/linked-hash-map/refs/"
              "heads/master/linkedhashmaptest.c",
              373, (assertErrorA));
      return 0xffffffffu;
    } else {
      doTestCountUp();
    }
  };
  {
    int assertErrorA = (!testPutConflictingItens_ShouldMaintainBothItens());
    if (!assertErrorA) {
      fprintf(stdout, "%s:%d: error: TestCaseError(0x%08x)\n",
              "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/carlossdparaujo/linked-hash-map/refs/"
              "heads/master/linkedhashmaptest.c",
              374, (assertErrorA));
      return 0xffffffffu;
    } else {
      doTestCountUp();
    }
  };
  {
    int assertErrorA = (!testPutManyConflictingItens_ShouldMaintainAllItens());
    if (!assertErrorA) {
      fprintf(stdout, "%s:%d: error: TestCaseError(0x%08x)\n",
              "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/carlossdparaujo/linked-hash-map/refs/"
              "heads/master/linkedhashmaptest.c",
              375, (assertErrorA));
      return 0xffffffffu;
    } else {
      doTestCountUp();
    }
  };
  {
    int assertErrorA =
        (!testGetNonInsertedItemOnCrowdedBucket_ShouldReturnNull());
    if (!assertErrorA) {
      fprintf(stdout, "%s:%d: error: TestCaseError(0x%08x)\n",
              "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/carlossdparaujo/linked-hash-map/refs/"
              "heads/master/linkedhashmaptest.c",
              376, (assertErrorA));
      return 0xffffffffu;
    } else {
      doTestCountUp();
    }
  };
  {
    int assertErrorA = (!testDeleteItemOnBucketWithConflits_ShouldReturnNull());
    if (!assertErrorA) {
      fprintf(stdout, "%s:%d: error: TestCaseError(0x%08x)\n",
              "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/carlossdparaujo/linked-hash-map/refs/"
              "heads/master/linkedhashmaptest.c",
              377, (assertErrorA));
      return 0xffffffffu;
    } else {
      doTestCountUp();
    }
  };
  {
    int assertErrorA =
        (!testDeleteTailOfBucketWithConflits_ShouldReturnNullAndTailShouldChange());
    if (!assertErrorA) {
      fprintf(stdout, "%s:%d: error: TestCaseError(0x%08x)\n",
              "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/carlossdparaujo/linked-hash-map/refs/"
              "heads/master/linkedhashmaptest.c",
              378, (assertErrorA));
      return 0xffffffffu;
    } else {
      doTestCountUp();
    }
  };
  {
    int assertErrorA =
        (!testDeleteHeadOfBucketWithConflits_ShouldReturnNullAndHeadShouldChange());
    if (!assertErrorA) {
      fprintf(stdout, "%s:%d: error: TestCaseError(0x%08x)\n",
              "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/carlossdparaujo/linked-hash-map/refs/"
              "heads/master/linkedhashmaptest.c",
              379, (assertErrorA));
      return 0xffffffffu;
    } else {
      doTestCountUp();
    }
  };
  {
    int assertErrorA =
        (!testDeleteNonInsertedItemOnBucketWithConflits_ShouldDoNothing());
    if (!assertErrorA) {
      fprintf(stdout, "%s:%d: error: TestCaseError(0x%08x)\n",
              "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/carlossdparaujo/linked-hash-map/refs/"
              "heads/master/linkedhashmaptest.c",
              380, (assertErrorA));
      return 0xffffffffu;
    } else {
      doTestCountUp();
    }
  };
  {
    int assertErrorA = (!testDeleteNonInsertedItemOnHash_ShouldDoNothing());
    if (!assertErrorA) {
      fprintf(stdout, "%s:%d: error: TestCaseError(0x%08x)\n",
              "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/"
              "2022-01-22/02-19-57/repos/carlossdparaujo/linked-hash-map/refs/"
              "heads/master/linkedhashmaptest.c",
              381, (assertErrorA));
      return 0xffffffffu;
    } else {
      doTestCountUp();
    }
  };
  return 0;
}


x86 assembly (clang, -O0):
<testManyFunction>:
push   %rbp
mov    %rsp,%rbp
sub    $0x50,%rsp
mov    $0x0,%al
call   1040 <testPutNewItemOnEmptyMap_ShouldBecomeHeadAndTailAndOldestAndNewest@plt>
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x8(%rbp)
cmpl   $0x0,-0x8(%rbp)
jne    127a <testManyFunction+0x5a>
mov    0x2d90(%rip),%rax
mov    (%rax),%edi
mov    -0x8(%rbp),%r8d
lea    0xda3(%rip),%rsi
lea    0xdc1(%rip),%rdx
mov    $0x16e,%ecx
call   10c0 <fprintf@plt>
movl   $0xffffffff,-0x4(%rbp)
jmp    17bf <testManyFunction+0x59f>
mov    $0x0,%al
call   1130 <doTestCountUp@plt>
mov    $0x0,%al
call   10d0 <testPutTwoItensOnMap_SecondItemShouldBecomeTailAndNewestAndFirstShouldBecomeHeadAndOldest@plt>
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0xc(%rbp)
cmpl   $0x0,-0xc(%rbp)
jne    12d3 <testManyFunction+0xb3>
mov    0x2d37(%rip),%rax
mov    (%rax),%edi
mov    -0xc(%rbp),%r8d
lea    0xd4a(%rip),%rsi
lea    0xd68(%rip),%rdx
mov    $0x16f,%ecx
call   10c0 <fprintf@plt>
movl   $0xffffffff,-0x4(%rbp)
jmp    17bf <testManyFunction+0x59f>
mov    $0x0,%al
call   1130 <doTestCountUp@plt>
mov    $0x0,%al
call   1140 <testGetItemThatDoesNotExist_ShouldReturnNull@plt>
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x10(%rbp)
cmpl   $0x0,-0x10(%rbp)
jne    132c <testManyFunction+0x10c>
mov    0x2cde(%rip),%rax
mov    (%rax),%edi
mov    -0x10(%rbp),%r8d
lea    0xcf1(%rip),%rsi
lea    0xd0f(%rip),%rdx
mov    $0x170,%ecx
call   10c0 <fprintf@plt>
movl   $0xffffffff,-0x4(%rbp)
jmp    17bf <testManyFunction+0x59f>
mov    $0x0,%al
call   1130 <doTestCountUp@plt>
mov    $0x0,%al
call   1070 <testDeleteItem_ShouldReturnNull@plt>
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x14(%rbp)
cmpl   $0x0,-0x14(%rbp)
jne    1385 <testManyFunction+0x165>
mov    0x2c85(%rip),%rax
mov    (%rax),%edi
mov    -0x14(%rbp),%r8d
lea    0xc98(%rip),%rsi
lea    0xcb6(%rip),%rdx
mov    $0x171,%ecx
call   10c0 <fprintf@plt>
movl   $0xffffffff,-0x4(%rbp)
jmp    17bf <testManyFunction+0x59f>
mov    $0x0,%al
call   1130 <doTestCountUp@plt>
mov    $0x0,%al
call   10e0 <testOverflowHashCapacity_ShouldRemoveOldestItem@plt>
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x18(%rbp)
cmpl   $0x0,-0x18(%rbp)
jne    13de <testManyFunction+0x1be>
mov    0x2c2c(%rip),%rax
mov    (%rax),%edi
mov    -0x18(%rbp),%r8d
lea    0xc3f(%rip),%rsi
lea    0xc5d(%rip),%rdx
mov    $0x172,%ecx
call   10c0 <fprintf@plt>
movl   $0xffffffff,-0x4(%rbp)
jmp    17bf <testManyFunction+0x59f>
mov    $0x0,%al
call   1130 <doTestCountUp@plt>
mov    $0x0,%al
call   1120 <testDeleteOldestItem_ShouldChangeOldestItem@plt>
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x1c(%rbp)
cmpl   $0x0,-0x1c(%rbp)
jne    1437 <testManyFunction+0x217>
mov    0x2bd3(%rip),%rax
mov    (%rax),%edi
mov    -0x1c(%rbp),%r8d
lea    0xbe6(%rip),%rsi
lea    0xc04(%rip),%rdx
mov    $0x173,%ecx
call   10c0 <fprintf@plt>
movl   $0xffffffff,-0x4(%rbp)
jmp    17bf <testManyFunction+0x59f>
mov    $0x0,%al
call   1130 <doTestCountUp@plt>
mov    $0x0,%al
call   1110 <testDeleteNewestItem_ShouldChangeNewestItem@plt>
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x20(%rbp)
cmpl   $0x0,-0x20(%rbp)
jne    1490 <testManyFunction+0x270>
mov    0x2b7a(%rip),%rax
mov    (%rax),%edi
mov    -0x20(%rbp),%r8d
lea    0xb8d(%rip),%rsi
lea    0xbab(%rip),%rdx
mov    $0x174,%ecx
call   10c0 <fprintf@plt>
movl   $0xffffffff,-0x4(%rbp)
jmp    17bf <testManyFunction+0x59f>
mov    $0x0,%al
call   1130 <doTestCountUp@plt>
mov    $0x0,%al
call   1080 <testDeleteInBetweenItem_ShouldMaintainOldestAndNewestAndRelinkThem@plt>
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x24(%rbp)
cmpl   $0x0,-0x24(%rbp)
jne    14e9 <testManyFunction+0x2c9>
mov    0x2b21(%rip),%rax
mov    (%rax),%edi
mov    -0x24(%rbp),%r8d
lea    0xb34(%rip),%rsi
lea    0xb52(%rip),%rdx
mov    $0x175,%ecx
call   10c0 <fprintf@plt>
movl   $0xffffffff,-0x4(%rbp)
jmp    17bf <testManyFunction+0x59f>
mov    $0x0,%al
call   1130 <doTestCountUp@plt>
mov    $0x0,%al
call   1100 <testPutConflictingItens_ShouldMaintainBothItens@plt>
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x28(%rbp)
cmpl   $0x0,-0x28(%rbp)
jne    1542 <testManyFunction+0x322>
mov    0x2ac8(%rip),%rax
mov    (%rax),%edi
mov    -0x28(%rbp),%r8d
lea    0xadb(%rip),%rsi
lea    0xaf9(%rip),%rdx
mov    $0x176,%ecx
call   10c0 <fprintf@plt>
movl   $0xffffffff,-0x4(%rbp)
jmp    17bf <testManyFunction+0x59f>
mov    $0x0,%al
call   1130 <doTestCountUp@plt>
mov    $0x0,%al
call   1030 <testPutManyConflictingItens_ShouldMaintainAllItens@plt>
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x2c(%rbp)
cmpl   $0x0,-0x2c(%rbp)
jne    159b <testManyFunction+0x37b>
mov    0x2a6f(%rip),%rax
mov    (%rax),%edi
mov    -0x2c(%rbp),%r8d
lea    0xa82(%rip),%rsi
lea    0xaa0(%rip),%rdx
mov    $0x177,%ecx
call   10c0 <fprintf@plt>
movl   $0xffffffff,-0x4(%rbp)
jmp    17bf <testManyFunction+0x59f>
mov    $0x0,%al
call   1130 <doTestCountUp@plt>
mov    $0x0,%al
call   1050 <testGetNonInsertedItemOnCrowdedBucket_ShouldReturnNull@plt>
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x30(%rbp)
cmpl   $0x0,-0x30(%rbp)
jne    15f4 <testManyFunction+0x3d4>
mov    0x2a16(%rip),%rax
mov    (%rax),%edi
mov    -0x30(%rbp),%r8d
lea    0xa29(%rip),%rsi
lea    0xa47(%rip),%rdx
mov    $0x178,%ecx
call   10c0 <fprintf@plt>
movl   $0xffffffff,-0x4(%rbp)
jmp    17bf <testManyFunction+0x59f>
mov    $0x0,%al
call   1130 <doTestCountUp@plt>
mov    $0x0,%al
call   10f0 <testDeleteItemOnBucketWithConflits_ShouldReturnNull@plt>
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x34(%rbp)
cmpl   $0x0,-0x34(%rbp)
jne    164d <testManyFunction+0x42d>
mov    0x29bd(%rip),%rax
mov    (%rax),%edi
mov    -0x34(%rbp),%r8d
lea    0x9d0(%rip),%rsi
lea    0x9ee(%rip),%rdx
mov    $0x179,%ecx
call   10c0 <fprintf@plt>
movl   $0xffffffff,-0x4(%rbp)
jmp    17bf <testManyFunction+0x59f>
mov    $0x0,%al
call   1130 <doTestCountUp@plt>
mov    $0x0,%al
call   1090 <testDeleteTailOfBucketWithConflits_ShouldReturnNullAndTailShouldChange@plt>
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x38(%rbp)
cmpl   $0x0,-0x38(%rbp)
jne    16a6 <testManyFunction+0x486>
mov    0x2964(%rip),%rax
mov    (%rax),%edi
mov    -0x38(%rbp),%r8d
lea    0x977(%rip),%rsi
lea    0x995(%rip),%rdx
mov    $0x17a,%ecx
call   10c0 <fprintf@plt>
movl   $0xffffffff,-0x4(%rbp)
jmp    17bf <testManyFunction+0x59f>
mov    $0x0,%al
call   1130 <doTestCountUp@plt>
mov    $0x0,%al
call   10b0 <testDeleteHeadOfBucketWithConflits_ShouldReturnNullAndHeadShouldChange@plt>
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x3c(%rbp)
cmpl   $0x0,-0x3c(%rbp)
jne    16ff <testManyFunction+0x4df>
mov    0x290b(%rip),%rax
mov    (%rax),%edi
mov    -0x3c(%rbp),%r8d
lea    0x91e(%rip),%rsi
lea    0x93c(%rip),%rdx
mov    $0x17b,%ecx
call   10c0 <fprintf@plt>
movl   $0xffffffff,-0x4(%rbp)
jmp    17bf <testManyFunction+0x59f>
mov    $0x0,%al
call   1130 <doTestCountUp@plt>
mov    $0x0,%al
call   10a0 <testDeleteNonInsertedItemOnBucketWithConflits_ShouldDoNothing@plt>
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x40(%rbp)
cmpl   $0x0,-0x40(%rbp)
jne    1758 <testManyFunction+0x538>
mov    0x28b2(%rip),%rax
mov    (%rax),%edi
mov    -0x40(%rbp),%r8d
lea    0x8c5(%rip),%rsi
lea    0x8e3(%rip),%rdx
mov    $0x17c,%ecx
call   10c0 <fprintf@plt>
movl   $0xffffffff,-0x4(%rbp)
jmp    17bf <testManyFunction+0x59f>
mov    $0x0,%al
call   1130 <doTestCountUp@plt>
mov    $0x0,%al
call   1060 <testDeleteNonInsertedItemOnHash_ShouldDoNothing@plt>
cmp    $0x0,%eax
setne  %al
xor    $0xff,%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x44(%rbp)
cmpl   $0x0,-0x44(%rbp)
jne    17b1 <testManyFunction+0x591>
mov    0x2859(%rip),%rax
mov    (%rax),%edi
mov    -0x44(%rbp),%r8d
lea    0x86c(%rip),%rsi
lea    0x88a(%rip),%rdx
mov    $0x17d,%ecx
call   10c0 <fprintf@plt>
movl   $0xffffffff,-0x4(%rbp)
jmp    17bf <testManyFunction+0x59f>
mov    $0x0,%al
call   1130 <doTestCountUp@plt>
movl   $0x0,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0x50,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<testManyFunction>:
push   %rbx
xor    %eax,%eax
call   1040 <testPutNewItemOnEmptyMap_ShouldBecomeHeadAndTailAndOldestAndNewest@plt>
test   %eax,%eax
je     124d <testManyFunction+0x2d>
mov    0x2dad(%rip),%rax
mov    (%rax),%edi
lea    0xdc4(%rip),%rsi
lea    0xde2(%rip),%rdx
mov    $0x16e,%ecx
jmp    150c <testManyFunction+0x2ec>
xor    %eax,%eax
call   1130 <doTestCountUp@plt>
xor    %eax,%eax
call   10d0 <testPutTwoItensOnMap_SecondItemShouldBecomeTailAndNewestAndFirstShouldBecomeHeadAndOldest@plt>
test   %eax,%eax
je     1280 <testManyFunction+0x60>
mov    0x2d7a(%rip),%rax
mov    (%rax),%edi
lea    0xd91(%rip),%rsi
lea    0xdaf(%rip),%rdx
mov    $0x16f,%ecx
jmp    150c <testManyFunction+0x2ec>
xor    %eax,%eax
call   1130 <doTestCountUp@plt>
xor    %eax,%eax
call   1140 <testGetItemThatDoesNotExist_ShouldReturnNull@plt>
test   %eax,%eax
je     12b3 <testManyFunction+0x93>
mov    0x2d47(%rip),%rax
mov    (%rax),%edi
lea    0xd5e(%rip),%rsi
lea    0xd7c(%rip),%rdx
mov    $0x170,%ecx
jmp    150c <testManyFunction+0x2ec>
xor    %eax,%eax
call   1130 <doTestCountUp@plt>
xor    %eax,%eax
call   1070 <testDeleteItem_ShouldReturnNull@plt>
test   %eax,%eax
je     12e6 <testManyFunction+0xc6>
mov    0x2d14(%rip),%rax
mov    (%rax),%edi
lea    0xd2b(%rip),%rsi
lea    0xd49(%rip),%rdx
mov    $0x171,%ecx
jmp    150c <testManyFunction+0x2ec>
xor    %eax,%eax
call   1130 <doTestCountUp@plt>
xor    %eax,%eax
call   10e0 <testOverflowHashCapacity_ShouldRemoveOldestItem@plt>
test   %eax,%eax
je     1319 <testManyFunction+0xf9>
mov    0x2ce1(%rip),%rax
mov    (%rax),%edi
lea    0xcf8(%rip),%rsi
lea    0xd16(%rip),%rdx
mov    $0x172,%ecx
jmp    150c <testManyFunction+0x2ec>
xor    %eax,%eax
call   1130 <doTestCountUp@plt>
xor    %eax,%eax
call   1120 <testDeleteOldestItem_ShouldChangeOldestItem@plt>
test   %eax,%eax
je     134c <testManyFunction+0x12c>
mov    0x2cae(%rip),%rax
mov    (%rax),%edi
lea    0xcc5(%rip),%rsi
lea    0xce3(%rip),%rdx
mov    $0x173,%ecx
jmp    150c <testManyFunction+0x2ec>
xor    %eax,%eax
call   1130 <doTestCountUp@plt>
xor    %eax,%eax
call   1110 <testDeleteNewestItem_ShouldChangeNewestItem@plt>
test   %eax,%eax
je     137f <testManyFunction+0x15f>
mov    0x2c7b(%rip),%rax
mov    (%rax),%edi
lea    0xc92(%rip),%rsi
lea    0xcb0(%rip),%rdx
mov    $0x174,%ecx
jmp    150c <testManyFunction+0x2ec>
xor    %eax,%eax
call   1130 <doTestCountUp@plt>
xor    %eax,%eax
call   1080 <testDeleteInBetweenItem_ShouldMaintainOldestAndNewestAndRelinkThem@plt>
test   %eax,%eax
je     13b2 <testManyFunction+0x192>
mov    0x2c48(%rip),%rax
mov    (%rax),%edi
lea    0xc5f(%rip),%rsi
lea    0xc7d(%rip),%rdx
mov    $0x175,%ecx
jmp    150c <testManyFunction+0x2ec>
xor    %eax,%eax
call   1130 <doTestCountUp@plt>
xor    %eax,%eax
call   1100 <testPutConflictingItens_ShouldMaintainBothItens@plt>
test   %eax,%eax
je     13e5 <testManyFunction+0x1c5>
mov    0x2c15(%rip),%rax
mov    (%rax),%edi
lea    0xc2c(%rip),%rsi
lea    0xc4a(%rip),%rdx
mov    $0x176,%ecx
jmp    150c <testManyFunction+0x2ec>
xor    %eax,%eax
call   1130 <doTestCountUp@plt>
xor    %eax,%eax
call   1030 <testPutManyConflictingItens_ShouldMaintainAllItens@plt>
test   %eax,%eax
je     1418 <testManyFunction+0x1f8>
mov    0x2be2(%rip),%rax
mov    (%rax),%edi
lea    0xbf9(%rip),%rsi
lea    0xc17(%rip),%rdx
mov    $0x177,%ecx
jmp    150c <testManyFunction+0x2ec>
xor    %eax,%eax
call   1130 <doTestCountUp@plt>
xor    %eax,%eax
call   1050 <testGetNonInsertedItemOnCrowdedBucket_ShouldReturnNull@plt>
test   %eax,%eax
je     144b <testManyFunction+0x22b>
mov    0x2baf(%rip),%rax
mov    (%rax),%edi
lea    0xbc6(%rip),%rsi
lea    0xbe4(%rip),%rdx
mov    $0x178,%ecx
jmp    150c <testManyFunction+0x2ec>
xor    %eax,%eax
call   1130 <doTestCountUp@plt>
xor    %eax,%eax
call   10f0 <testDeleteItemOnBucketWithConflits_ShouldReturnNull@plt>
test   %eax,%eax
je     147e <testManyFunction+0x25e>
mov    0x2b7c(%rip),%rax
mov    (%rax),%edi
lea    0xb93(%rip),%rsi
lea    0xbb1(%rip),%rdx
mov    $0x179,%ecx
jmp    150c <testManyFunction+0x2ec>
xor    %eax,%eax
call   1130 <doTestCountUp@plt>
xor    %eax,%eax
call   1090 <testDeleteTailOfBucketWithConflits_ShouldReturnNullAndTailShouldChange@plt>
test   %eax,%eax
je     14ae <testManyFunction+0x28e>
mov    0x2b49(%rip),%rax
mov    (%rax),%edi
lea    0xb60(%rip),%rsi
lea    0xb7e(%rip),%rdx
mov    $0x17a,%ecx
jmp    150c <testManyFunction+0x2ec>
xor    %eax,%eax
call   1130 <doTestCountUp@plt>
xor    %eax,%eax
call   10b0 <testDeleteHeadOfBucketWithConflits_ShouldReturnNullAndHeadShouldChange@plt>
test   %eax,%eax
je     14de <testManyFunction+0x2be>
mov    0x2b19(%rip),%rax
mov    (%rax),%edi
lea    0xb30(%rip),%rsi
lea    0xb4e(%rip),%rdx
mov    $0x17b,%ecx
jmp    150c <testManyFunction+0x2ec>
xor    %eax,%eax
call   1130 <doTestCountUp@plt>
xor    %eax,%eax
call   10a0 <testDeleteNonInsertedItemOnBucketWithConflits_ShouldDoNothing@plt>
test   %eax,%eax
je     151b <testManyFunction+0x2fb>
mov    0x2ae9(%rip),%rax
mov    (%rax),%edi
lea    0xb00(%rip),%rsi
lea    0xb1e(%rip),%rdx
mov    $0x17c,%ecx
xor    %r8d,%r8d
call   10c0 <fprintf@plt>
mov    $0xffffffff,%eax
pop    %rbx
ret
xor    %eax,%eax
call   1130 <doTestCountUp@plt>
xor    %eax,%eax
call   1060 <testDeleteNonInsertedItemOnHash_ShouldDoNothing@plt>
mov    %eax,%ebx
test   %eax,%eax
je     1555 <testManyFunction+0x335>
mov    0x2aaa(%rip),%rax
mov    (%rax),%edi
lea    0xac1(%rip),%rsi
lea    0xadf(%rip),%rdx
mov    $0x17d,%ecx
xor    %r8d,%r8d
call   10c0 <fprintf@plt>
jmp    155c <testManyFunction+0x33c>
xor    %eax,%eax
call   1130 <doTestCountUp@plt>
neg    %ebx
sbb    %eax,%eax
pop    %rbx
ret

LLVM IR (-O0):
@stdout = global i32 0
@.str = [37 x i8] c"%s:%d: error: TestCaseError(0x%08x)\0A\00"
@.str.1 = [160 x i8] c"/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/carlossdparaujo/linked-hash-map/refs/heads/master/linkedhashmaptest.c\00"
define i32 @testManyFunction() {
%1 = alloca i32
%2 = alloca i32
%3 = alloca i32
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32
%7 = alloca i32
%8 = alloca i32
%9 = alloca i32
%10 = alloca i32
%11 = alloca i32
%12 = alloca i32
%13 = alloca i32
%14 = alloca i32
%15 = alloca i32
%16 = alloca i32
%17 = alloca i32
%18 = call i32 (...) @testPutNewItemOnEmptyMap_ShouldBecomeHeadAndTailAndOldestAndNewest()
%19 = icmp ne i32 %18, 0
%20 = xor i1 %19, true
%21 = zext i1 %20 to i32
store i32 %21, i32* %2
%22 = load i32, i32* %2
%23 = icmp ne i32 %22, 0
br i1 %23, label %28, label %24
24: ; preds = %0
%25 = load i32, i32* @stdout
%26 = load i32, i32* %2
%27 = call i32 @fprintf(i32 %25, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 366, i32 %26)
store i32 -1, i32* %1
br label %226
28: ; preds = %0
%29 = call i32 (...) @doTestCountUp()
br label %30
30: ; preds = %28
%31 = call i32 (...) @testPutTwoItensOnMap_SecondItemShouldBecomeTailAndNewestAndFirstShouldBecomeHeadAndOldest()
%32 = icmp ne i32 %31, 0
%33 = xor i1 %32, true
%34 = zext i1 %33 to i32
store i32 %34, i32* %3
%35 = load i32, i32* %3
%36 = icmp ne i32 %35, 0
br i1 %36, label %41, label %37
37: ; preds = %30
%38 = load i32, i32* @stdout
%39 = load i32, i32* %3
%40 = call i32 @fprintf(i32 %38, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 367, i32 %39)
store i32 -1, i32* %1
br label %226
41: ; preds = %30
%42 = call i32 (...) @doTestCountUp()
br label %43
43: ; preds = %41
%44 = call i32 (...) @testGetItemThatDoesNotExist_ShouldReturnNull()
%45 = icmp ne i32 %44, 0
%46 = xor i1 %45, true
%47 = zext i1 %46 to i32
store i32 %47, i32* %4
%48 = load i32, i32* %4
%49 = icmp ne i32 %48, 0
br i1 %49, label %54, label %50
50: ; preds = %43
%51 = load i32, i32* @stdout
%52 = load i32, i32* %4
%53 = call i32 @fprintf(i32 %51, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 368, i32 %52)
store i32 -1, i32* %1
br label %226
54: ; preds = %43
%55 = call i32 (...) @doTestCountUp()
br label %56
56: ; preds = %54
%57 = call i32 (...) @testDeleteItem_ShouldReturnNull()
%58 = icmp ne i32 %57, 0
%59 = xor i1 %58, true
%60 = zext i1 %59 to i32
store i32 %60, i32* %5
%61 = load i32, i32* %5
%62 = icmp ne i32 %61, 0
br i1 %62, label %67, label %63
63: ; preds = %56
%64 = load i32, i32* @stdout
%65 = load i32, i32* %5
%66 = call i32 @fprintf(i32 %64, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 369, i32 %65)
store i32 -1, i32* %1
br label %226
67: ; preds = %56
%68 = call i32 (...) @doTestCountUp()
br label %69
69: ; preds = %67
%70 = call i32 (...) @testOverflowHashCapacity_ShouldRemoveOldestItem()
%71 = icmp ne i32 %70, 0
%72 = xor i1 %71, true
%73 = zext i1 %72 to i32
store i32 %73, i32* %6
%74 = load i32, i32* %6
%75 = icmp ne i32 %74, 0
br i1 %75, label %80, label %76
76: ; preds = %69
%77 = load i32, i32* @stdout
%78 = load i32, i32* %6
%79 = call i32 @fprintf(i32 %77, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 370, i32 %78)
store i32 -1, i32* %1
br label %226
80: ; preds = %69
%81 = call i32 (...) @doTestCountUp()
br label %82
82: ; preds = %80
%83 = call i32 (...) @testDeleteOldestItem_ShouldChangeOldestItem()
%84 = icmp ne i32 %83, 0
%85 = xor i1 %84, true
%86 = zext i1 %85 to i32
store i32 %86, i32* %7
%87 = load i32, i32* %7
%88 = icmp ne i32 %87, 0
br i1 %88, label %93, label %89
89: ; preds = %82
%90 = load i32, i32* @stdout
%91 = load i32, i32* %7
%92 = call i32 @fprintf(i32 %90, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 371, i32 %91)
store i32 -1, i32* %1
br label %226
93: ; preds = %82
%94 = call i32 (...) @doTestCountUp()
br label %95
95: ; preds = %93
%96 = call i32 (...) @testDeleteNewestItem_ShouldChangeNewestItem()
%97 = icmp ne i32 %96, 0
%98 = xor i1 %97, true
%99 = zext i1 %98 to i32
store i32 %99, i32* %8
%100 = load i32, i32* %8
%101 = icmp ne i32 %100, 0
br i1 %101, label %106, label %102
102: ; preds = %95
%103 = load i32, i32* @stdout
%104 = load i32, i32* %8
%105 = call i32 @fprintf(i32 %103, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 372, i32 %104)
store i32 -1, i32* %1
br label %226
106: ; preds = %95
%107 = call i32 (...) @doTestCountUp()
br label %108
108: ; preds = %106
%109 = call i32 (...) @testDeleteInBetweenItem_ShouldMaintainOldestAndNewestAndRelinkThem()
%110 = icmp ne i32 %109, 0
%111 = xor i1 %110, true
%112 = zext i1 %111 to i32
store i32 %112, i32* %9
%113 = load i32, i32* %9
%114 = icmp ne i32 %113, 0
br i1 %114, label %119, label %115
115: ; preds = %108
%116 = load i32, i32* @stdout
%117 = load i32, i32* %9
%118 = call i32 @fprintf(i32 %116, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 373, i32 %117)
store i32 -1, i32* %1
br label %226
119: ; preds = %108
%120 = call i32 (...) @doTestCountUp()
br label %121
121: ; preds = %119
%122 = call i32 (...) @testPutConflictingItens_ShouldMaintainBothItens()
%123 = icmp ne i32 %122, 0
%124 = xor i1 %123, true
%125 = zext i1 %124 to i32
store i32 %125, i32* %10
%126 = load i32, i32* %10
%127 = icmp ne i32 %126, 0
br i1 %127, label %132, label %128
128: ; preds = %121
%129 = load i32, i32* @stdout
%130 = load i32, i32* %10
%131 = call i32 @fprintf(i32 %129, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 374, i32 %130)
store i32 -1, i32* %1
br label %226
132: ; preds = %121
%133 = call i32 (...) @doTestCountUp()
br label %134
134: ; preds = %132
%135 = call i32 (...) @testPutManyConflictingItens_ShouldMaintainAllItens()
%136 = icmp ne i32 %135, 0
%137 = xor i1 %136, true
%138 = zext i1 %137 to i32
store i32 %138, i32* %11
%139 = load i32, i32* %11
%140 = icmp ne i32 %139, 0
br i1 %140, label %145, label %141
141: ; preds = %134
%142 = load i32, i32* @stdout
%143 = load i32, i32* %11
%144 = call i32 @fprintf(i32 %142, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 375, i32 %143)
store i32 -1, i32* %1
br label %226
145: ; preds = %134
%146 = call i32 (...) @doTestCountUp()
br label %147
147: ; preds = %145
%148 = call i32 (...) @testGetNonInsertedItemOnCrowdedBucket_ShouldReturnNull()
%149 = icmp ne i32 %148, 0
%150 = xor i1 %149, true
%151 = zext i1 %150 to i32
store i32 %151, i32* %12
%152 = load i32, i32* %12
%153 = icmp ne i32 %152, 0
br i1 %153, label %158, label %154
154: ; preds = %147
%155 = load i32, i32* @stdout
%156 = load i32, i32* %12
%157 = call i32 @fprintf(i32 %155, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 376, i32 %156)
store i32 -1, i32* %1
br label %226
158: ; preds = %147
%159 = call i32 (...) @doTestCountUp()
br label %160
160: ; preds = %158
%161 = call i32 (...) @testDeleteItemOnBucketWithConflits_ShouldReturnNull()
%162 = icmp ne i32 %161, 0
%163 = xor i1 %162, true
%164 = zext i1 %163 to i32
store i32 %164, i32* %13
%165 = load i32, i32* %13
%166 = icmp ne i32 %165, 0
br i1 %166, label %171, label %167
167: ; preds = %160
%168 = load i32, i32* @stdout
%169 = load i32, i32* %13
%170 = call i32 @fprintf(i32 %168, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 377, i32 %169)
store i32 -1, i32* %1
br label %226
171: ; preds = %160
%172 = call i32 (...) @doTestCountUp()
br label %173
173: ; preds = %171
%174 = call i32 (...) @testDeleteTailOfBucketWithConflits_ShouldReturnNullAndTailShouldChange()
%175 = icmp ne i32 %174, 0
%176 = xor i1 %175, true
%177 = zext i1 %176 to i32
store i32 %177, i32* %14
%178 = load i32, i32* %14
%179 = icmp ne i32 %178, 0
br i1 %179, label %184, label %180
180: ; preds = %173
%181 = load i32, i32* @stdout
%182 = load i32, i32* %14
%183 = call i32 @fprintf(i32 %181, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 378, i32 %182)
store i32 -1, i32* %1
br label %226
184: ; preds = %173
%185 = call i32 (...) @doTestCountUp()
br label %186
186: ; preds = %184
%187 = call i32 (...) @testDeleteHeadOfBucketWithConflits_ShouldReturnNullAndHeadShouldChange()
%188 = icmp ne i32 %187, 0
%189 = xor i1 %188, true
%190 = zext i1 %189 to i32
store i32 %190, i32* %15
%191 = load i32, i32* %15
%192 = icmp ne i32 %191, 0
br i1 %192, label %197, label %193
193: ; preds = %186
%194 = load i32, i32* @stdout
%195 = load i32, i32* %15
%196 = call i32 @fprintf(i32 %194, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 379, i32 %195)
store i32 -1, i32* %1
br label %226
197: ; preds = %186
%198 = call i32 (...) @doTestCountUp()
br label %199
199: ; preds = %197
%200 = call i32 (...) @testDeleteNonInsertedItemOnBucketWithConflits_ShouldDoNothing()
%201 = icmp ne i32 %200, 0
%202 = xor i1 %201, true
%203 = zext i1 %202 to i32
store i32 %203, i32* %16
%204 = load i32, i32* %16
%205 = icmp ne i32 %204, 0
br i1 %205, label %210, label %206
206: ; preds = %199
%207 = load i32, i32* @stdout
%208 = load i32, i32* %16
%209 = call i32 @fprintf(i32 %207, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 380, i32 %208)
store i32 -1, i32* %1
br label %226
210: ; preds = %199
%211 = call i32 (...) @doTestCountUp()
br label %212
212: ; preds = %210
%213 = call i32 (...) @testDeleteNonInsertedItemOnHash_ShouldDoNothing()
%214 = icmp ne i32 %213, 0
%215 = xor i1 %214, true
%216 = zext i1 %215 to i32
store i32 %216, i32* %17
%217 = load i32, i32* %17
%218 = icmp ne i32 %217, 0
br i1 %218, label %223, label %219
219: ; preds = %212
%220 = load i32, i32* @stdout
%221 = load i32, i32* %17
%222 = call i32 @fprintf(i32 %220, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 381, i32 %221)
store i32 -1, i32* %1
br label %226
223: ; preds = %212
%224 = call i32 (...) @doTestCountUp()
br label %225
225: ; preds = %223
store i32 0, i32* %1
br label %226
226: ; preds = %225, %219, %206, %193, %180, %167, %154, %141, %128, %115, %102, %89, %76, %63, %50, %37, %24
%227 = load i32, i32* %1
ret i32 %227
}

LLVM IR (-O2):
@stdout = global i32 0
@.str = [37 x i8] c"%s:%d: error: TestCaseError(0x%08x)\0A\00"
@.str.1 = [160 x i8] c"/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/carlossdparaujo/linked-hash-map/refs/heads/master/linkedhashmaptest.c\00"
define i32 @testManyFunction() {
%1 = tail call i32 (...) @testPutNewItemOnEmptyMap_ShouldBecomeHeadAndTailAndOldestAndNewest()
%2 = icmp eq i32 %1, 0
br i1 %2, label %6, label %3
3: ; preds = %0
%4 = load i32, i32* @stdout
%5 = tail call i32 @fprintf(i32 %4, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 366, i32 0)
br label %116
6: ; preds = %0
%7 = tail call i32 (...) @doTestCountUp()
%8 = tail call i32 (...) @testPutTwoItensOnMap_SecondItemShouldBecomeTailAndNewestAndFirstShouldBecomeHeadAndOldest()
%9 = icmp eq i32 %8, 0
br i1 %9, label %13, label %10
10: ; preds = %6
%11 = load i32, i32* @stdout
%12 = tail call i32 @fprintf(i32 %11, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 367, i32 0)
br label %116
13: ; preds = %6
%14 = tail call i32 (...) @doTestCountUp()
%15 = tail call i32 (...) @testGetItemThatDoesNotExist_ShouldReturnNull()
%16 = icmp eq i32 %15, 0
br i1 %16, label %20, label %17
17: ; preds = %13
%18 = load i32, i32* @stdout
%19 = tail call i32 @fprintf(i32 %18, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 368, i32 0)
br label %116
20: ; preds = %13
%21 = tail call i32 (...) @doTestCountUp()
%22 = tail call i32 (...) @testDeleteItem_ShouldReturnNull()
%23 = icmp eq i32 %22, 0
br i1 %23, label %27, label %24
24: ; preds = %20
%25 = load i32, i32* @stdout
%26 = tail call i32 @fprintf(i32 %25, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 369, i32 0)
br label %116
27: ; preds = %20
%28 = tail call i32 (...) @doTestCountUp()
%29 = tail call i32 (...) @testOverflowHashCapacity_ShouldRemoveOldestItem()
%30 = icmp eq i32 %29, 0
br i1 %30, label %34, label %31
31: ; preds = %27
%32 = load i32, i32* @stdout
%33 = tail call i32 @fprintf(i32 %32, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 370, i32 0)
br label %116
34: ; preds = %27
%35 = tail call i32 (...) @doTestCountUp()
%36 = tail call i32 (...) @testDeleteOldestItem_ShouldChangeOldestItem()
%37 = icmp eq i32 %36, 0
br i1 %37, label %41, label %38
38: ; preds = %34
%39 = load i32, i32* @stdout
%40 = tail call i32 @fprintf(i32 %39, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 371, i32 0)
br label %116
41: ; preds = %34
%42 = tail call i32 (...) @doTestCountUp()
%43 = tail call i32 (...) @testDeleteNewestItem_ShouldChangeNewestItem()
%44 = icmp eq i32 %43, 0
br i1 %44, label %48, label %45
45: ; preds = %41
%46 = load i32, i32* @stdout
%47 = tail call i32 @fprintf(i32 %46, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 372, i32 0)
br label %116
48: ; preds = %41
%49 = tail call i32 (...) @doTestCountUp()
%50 = tail call i32 (...) @testDeleteInBetweenItem_ShouldMaintainOldestAndNewestAndRelinkThem()
%51 = icmp eq i32 %50, 0
br i1 %51, label %55, label %52
52: ; preds = %48
%53 = load i32, i32* @stdout
%54 = tail call i32 @fprintf(i32 %53, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 373, i32 0)
br label %116
55: ; preds = %48
%56 = tail call i32 (...) @doTestCountUp()
%57 = tail call i32 (...) @testPutConflictingItens_ShouldMaintainBothItens()
%58 = icmp eq i32 %57, 0
br i1 %58, label %62, label %59
59: ; preds = %55
%60 = load i32, i32* @stdout
%61 = tail call i32 @fprintf(i32 %60, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 374, i32 0)
br label %116
62: ; preds = %55
%63 = tail call i32 (...) @doTestCountUp()
%64 = tail call i32 (...) @testPutManyConflictingItens_ShouldMaintainAllItens()
%65 = icmp eq i32 %64, 0
br i1 %65, label %69, label %66
66: ; preds = %62
%67 = load i32, i32* @stdout
%68 = tail call i32 @fprintf(i32 %67, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 375, i32 0)
br label %116
69: ; preds = %62
%70 = tail call i32 (...) @doTestCountUp()
%71 = tail call i32 (...) @testGetNonInsertedItemOnCrowdedBucket_ShouldReturnNull()
%72 = icmp eq i32 %71, 0
br i1 %72, label %76, label %73
73: ; preds = %69
%74 = load i32, i32* @stdout
%75 = tail call i32 @fprintf(i32 %74, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 376, i32 0)
br label %116
76: ; preds = %69
%77 = tail call i32 (...) @doTestCountUp()
%78 = tail call i32 (...) @testDeleteItemOnBucketWithConflits_ShouldReturnNull()
%79 = icmp eq i32 %78, 0
br i1 %79, label %83, label %80
80: ; preds = %76
%81 = load i32, i32* @stdout
%82 = tail call i32 @fprintf(i32 %81, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 377, i32 0)
br label %116
83: ; preds = %76
%84 = tail call i32 (...) @doTestCountUp()
%85 = tail call i32 (...) @testDeleteTailOfBucketWithConflits_ShouldReturnNullAndTailShouldChange()
%86 = icmp eq i32 %85, 0
br i1 %86, label %90, label %87
87: ; preds = %83
%88 = load i32, i32* @stdout
%89 = tail call i32 @fprintf(i32 %88, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 378, i32 0)
br label %116
90: ; preds = %83
%91 = tail call i32 (...) @doTestCountUp()
%92 = tail call i32 (...) @testDeleteHeadOfBucketWithConflits_ShouldReturnNullAndHeadShouldChange()
%93 = icmp eq i32 %92, 0
br i1 %93, label %97, label %94
94: ; preds = %90
%95 = load i32, i32* @stdout
%96 = tail call i32 @fprintf(i32 %95, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 379, i32 0)
br label %116
97: ; preds = %90
%98 = tail call i32 (...) @doTestCountUp()
%99 = tail call i32 (...) @testDeleteNonInsertedItemOnBucketWithConflits_ShouldDoNothing()
%100 = icmp eq i32 %99, 0
br i1 %100, label %104, label %101
101: ; preds = %97
%102 = load i32, i32* @stdout
%103 = tail call i32 @fprintf(i32 %102, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 380, i32 0)
br label %116
104: ; preds = %97
%105 = tail call i32 (...) @doTestCountUp()
%106 = tail call i32 (...) @testDeleteNonInsertedItemOnHash_ShouldDoNothing()
%107 = icmp eq i32 %106, 0
br i1 %107, label %111, label %108
108: ; preds = %104
%109 = load i32, i32* @stdout
%110 = tail call i32 @fprintf(i32 %109, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.1, i64 0, i64 0), i32 381, i32 0)
br label %113
111: ; preds = %104
%112 = tail call i32 (...) @doTestCountUp()
br label %113
113: ; preds = %111, %108
%114 = xor i1 %107, true
%115 = sext i1 %114 to i32
br label %116
116: ; preds = %101, %94, %87, %80, %73, %66, %59, %52, %45, %38, %31, %24, %17, %10, %3, %113
%117 = phi i32 [ -1, %3 ], [ -1, %10 ], [ -1, %17 ], [ -1, %24 ], [ -1, %31 ], [ -1, %38 ], [ -1, %45 ], [ -1, %52 ], [ -1, %59 ], [ -1, %66 ], [ -1, %73 ], [ -1, %80 ], [ -1, %87 ], [ -1, %94 ], [ -1, %101 ], [ %115, %113 ]
ret i32 %117
}