user: Please show me the C implementation that matches the assembly code listed below:

```asm
<main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    $0xffffffe2,%edi
  call   <test1@plt>
  test   %eax,%eax
  je     L488
  mov    $0x0,%eax
  call   <abort@plt>
L488:
  mov    $0xffffffe3,%edi
  call   <test1@plt>
  cmp    $0x1,%eax
  je     L451
  mov    $0x0,%eax
  call   <abort@plt>
L451:
  mov    $0xffffffec,%edi
  call   <test1@plt>
  cmp    $0x1,%eax
  je     L418
  mov    $0x0,%eax
  call   <abort@plt>
L418:
  mov    $0xffffffed,%edi
  call   <test1@plt>
  test   %eax,%eax
  je     L198
  mov    $0x0,%eax
  call   <abort@plt>
L198:
  mov    $0x0,%edi
  call   <test2@plt>
  cmp    $0x1,%eax
  je     L361
  mov    $0x0,%eax
  call   <abort@plt>
L361:
  mov    $0x9,%edi
  call   <test2@plt>
  cmp    $0x1,%eax
  je     L447
  mov    $0x0,%eax
  call   <abort@plt>
L447:
  mov    $0xa,%edi
  call   <test2@plt>
  test   %eax,%eax
  je     L507
  mov    $0x0,%eax
  call   <abort@plt>
L507:
  mov    $0xffffffff,%edi
  call   <test2@plt>
  cmp    $0x1,%eax
  je     L436
  mov    $0x0,%eax
  call   <abort@plt>
L436:
  mov    $0xfffffff7,%edi
  call   <test2@plt>
  cmp    $0x1,%eax
  je     L354
  mov    $0x0,%eax
  call   <abort@plt>
L354:
  mov    $0xfffffff6,%edi
  call   <test2@plt>
  test   %eax,%eax
  je     L464
  mov    $0x0,%eax
  call   <abort@plt>
L464:
  mov    $0xffffffe2,%edi
  call   <test3@plt>
  cmp    $0x1,%eax
  je     L493
  mov    $0x0,%eax
  call   <abort@plt>
L493:
  mov    $0xffffffe3,%edi
  call   <test3@plt>
  test   %eax,%eax
  je     L346
  mov    $0x0,%eax
  call   <abort@plt>
L346:
  mov    $0xffffffec,%edi
  call   <test3@plt>
  test   %eax,%eax
  je     L84
  mov    $0x0,%eax
  call   <abort@plt>
L84:
  mov    $0xffffffed,%edi
  call   <test3@plt>
  cmp    $0x1,%eax
  je     L570
  mov    $0x0,%eax
  call   <abort@plt>
L570:
  mov    $0x0,%edi
  call   <test4@plt>
  test   %eax,%eax
  je     L450
  mov    $0x0,%eax
  call   <abort@plt>
L450:
  mov    $0x9,%edi
  call   <test4@plt>
  test   %eax,%eax
  je     L510
  mov    $0x0,%eax
  call   <abort@plt>
L510:
  mov    $0xa,%edi
  call   <test4@plt>
  cmp    $0x1,%eax
  je     L345
  mov    $0x0,%eax
  call   <abort@plt>
L345:
  mov    $0xffffffff,%edi
  call   <test4@plt>
  test   %eax,%eax
  je     L428
  mov    $0x0,%eax
  call   <abort@plt>
L428:
  mov    $0xfffffff7,%edi
  call   <test4@plt>
  test   %eax,%eax
  je     L129
  mov    $0x0,%eax
  call   <abort@plt>
L129:
  mov    $0xfffffff6,%edi
  call   <test4@plt>
  cmp    $0x1,%eax
  je     L103
  mov    $0x0,%eax
  call   <abort@plt>
L103:
  mov    $0xffffffe2,%edi
  call   <test5@plt>
  test   %eax,%eax
  je     L562
  mov    $0x0,%eax
  call   <abort@plt>
L562:
  mov    $0xffffffe3,%edi
  call   <test5@plt>
  test   %eax,%eax
  je     L543
  mov    $0x0,%eax
  call   <abort@plt>
L543:
  mov    $0xffffffec,%edi
  call   <test5@plt>
  test   %eax,%eax
  je     L310
  mov    $0x0,%eax
  call   <abort@plt>
L310:
  mov    $0xffffffed,%edi
  call   <test5@plt>
  cmp    $0x1,%eax
  je     L62
  mov    $0x0,%eax
  call   <abort@plt>
L62:
  mov    $0x0,%edi
  call   <test6@plt>
  test   %eax,%eax
  je     L454
  mov    $0x0,%eax
  call   <abort@plt>
L454:
  mov    $0x9,%edi
  call   <test6@plt>
  test   %eax,%eax
  je     L478
  mov    $0x0,%eax
  call   <abort@plt>
L478:
  mov    $0xa,%edi
  call   <test6@plt>
  cmp    $0x1,%eax
  je     L440
  mov    $0x0,%eax
  call   <abort@plt>
L440:
  mov    $0xffffffff,%edi
  call   <test6@plt>
  test   %eax,%eax
  je     L77
  mov    $0x0,%eax
  call   <abort@plt>
L77:
  mov    $0xfffffff7,%edi
  call   <test6@plt>
  test   %eax,%eax
  je     L90
  mov    $0x0,%eax
  call   <abort@plt>
L90:
  mov    $0xfffffff6,%edi
  call   <test6@plt>
  test   %eax,%eax
  je     L113
  mov    $0x0,%eax
  call   <abort@plt>
L113:
  mov    $0xffffffe2,%edi
  call   <test7@plt>
  test   %eax,%eax
  je     L516
  mov    $0x0,%eax
  call   <abort@plt>
L516:
  mov    $0xffffffe3,%edi
  call   <test7@plt>
  cmp    $0x1,%eax
  je     L275
  mov    $0x0,%eax
  call   <abort@plt>
L275:
  mov    $0xffffffec,%edi
  call   <test7@plt>
  cmp    $0x1,%eax
  je     L319
  mov    $0x0,%eax
  call   <abort@plt>
L319:
  mov    $0xffffffed,%edi
  call   <test7@plt>
  cmp    $0x1,%eax
  je     L309
  mov    $0x0,%eax
  call   <abort@plt>
L309:
  mov    $0x0,%edi
  call   <test8@plt>
  cmp    $0x1,%eax
  je     L31
  mov    $0x0,%eax
  call   <abort@plt>
L31:
  mov    $0x9,%edi
  call   <test8@plt>
  cmp    $0x1,%eax
  je     L65
  mov    $0x0,%eax
  call   <abort@plt>
L65:
  mov    $0xa,%edi
  call   <test8@plt>
  cmp    $0x1,%eax
  je     L74
  mov    $0x0,%eax
  call   <abort@plt>
L74:
  mov    $0xffffffff,%edi
  call   <test8@plt>
  cmp    $0x1,%eax
  je     L550
  mov    $0x0,%eax
  call   <abort@plt>
L550:
  mov    $0xfffffff7,%edi
  call   <test8@plt>
  cmp    $0x1,%eax
  je     L266
  mov    $0x0,%eax
  call   <abort@plt>
L266:
  mov    $0xfffffff6,%edi
  call   <test8@plt>
  test   %eax,%eax
  je     L182
  mov    $0x0,%eax
  call   <abort@plt>
L182:
  mov    $0xffffffe2,%edi
  call   <test9@plt>
  cmp    $0x1,%eax
  je     L209
  mov    $0x0,%eax
  call   <abort@plt>
L209:
  mov    $0xffffffe3,%edi
  call   <test9@plt>
  test   %eax,%eax
  je     L104
  mov    $0x0,%eax
  call   <abort@plt>
L104:
  mov    $0xffffffec,%edi
  call   <test9@plt>
  test   %eax,%eax
  je     L595
  mov    $0x0,%eax
  call   <abort@plt>
L595:
  mov    $0xffffffed,%edi
  call   <test9@plt>
  test   %eax,%eax
  je     L413
  mov    $0x0,%eax
  call   <abort@plt>
L413:
  mov    $0x0,%edi
  call   <test10@plt>
  test   %eax,%eax
  je     L26
  mov    $0x0,%eax
  call   <abort@plt>
L26:
  mov    $0x9,%edi
  call   <test10@plt>
  test   %eax,%eax
  je     L397
  mov    $0x0,%eax
  call   <abort@plt>
L397:
  mov    $0xa,%edi
  call   <test10@plt>
  test   %eax,%eax
  je     L230
  mov    $0x0,%eax
  call   <abort@plt>
L230:
  mov    $0xffffffff,%edi
  call   <test10@plt>
  test   %eax,%eax
  je     L546
  mov    $0x0,%eax
  call   <abort@plt>
L546:
  mov    $0xfffffff7,%edi
  call   <test10@plt>
  test   %eax,%eax
  je     L424
  mov    $0x0,%eax
  call   <abort@plt>
L424:
  mov    $0xfffffff6,%edi
  call   <test10@plt>
  cmp    $0x1,%eax
  je     L172
  mov    $0x0,%eax
  call   <abort@plt>
L172:
  mov    $0xffffffe2,%edi
  call   <test11@plt>
  cmp    $0x1,%eax
  je     L80
  mov    $0x0,%eax
  call   <abort@plt>
L80:
  mov    $0xffffffe3,%edi
  call   <test11@plt>
  cmp    $0x1,%eax
  je     L293
  mov    $0x0,%eax
  call   <abort@plt>
L293:
  mov    $0xffffffec,%edi
  call   <test11@plt>
  cmp    $0x1,%eax
  je     L177
  mov    $0x0,%eax
  call   <abort@plt>
L177:
  mov    $0xffffffed,%edi
  call   <test11@plt>
  test   %eax,%eax
  je     L547
  mov    $0x0,%eax
  call   <abort@plt>
L547:
  mov    $0x0,%edi
  call   <test12@plt>
  cmp    $0x1,%eax
  je     L19
  mov    $0x0,%eax
  call   <abort@plt>
L19:
  mov    $0x9,%edi
  call   <test12@plt>
  cmp    $0x1,%eax
  je     L151
  mov    $0x0,%eax
  call   <abort@plt>
L151:
  mov    $0xa,%edi
  call   <test12@plt>
  test   %eax,%eax
  je     L50
  mov    $0x0,%eax
  call   <abort@plt>
L50:
  mov    $0xffffffff,%edi
  call   <test12@plt>
  cmp    $0x1,%eax
  je     L17
  mov    $0x0,%eax
  call   <abort@plt>
L17:
  mov    $0xfffffff7,%edi
  call   <test12@plt>
  cmp    $0x1,%eax
  je     L540
  mov    $0x0,%eax
  call   <abort@plt>
L540:
  mov    $0xfffffff6,%edi
  call   <test12@plt>
  cmp    $0x1,%eax
  je     L23
  mov    $0x0,%eax
  call   <abort@plt>
L23:
  mov    $0x0,%eax
  pop    %rbp
  ret
```

assistant: ```c
int main() {
  if (test1(-30) != 0)
    abort();
  if (test1(-29) != 1)
    abort();
  if (test1(-20) != 1)
    abort();
  if (test1(-19) != 0)
    abort();
  if (test2(0) != 1)
    abort();
  if (test2(9) != 1)
    abort();
  if (test2(10) != 0)
    abort();
  if (test2(-1) != 1)
    abort();
  if (test2(-9) != 1)
    abort();
  if (test2(-10) != 0)
    abort();
  if (test3(-30) != 1)
    abort();
  if (test3(-29) != 0)
    abort();
  if (test3(-20) != 0)
    abort();
  if (test3(-19) != 1)
    abort();
  if (test4(0) != 0)
    abort();
  if (test4(9) != 0)
    abort();
  if (test4(10) != 1)
    abort();
  if (test4(-1) != 0)
    abort();
  if (test4(-9) != 0)
    abort();
  if (test4(-10) != 1)
    abort();
  if (test5(-30) != 0)
    abort();
  if (test5(-29) != 0)
    abort();
  if (test5(-20) != 0)
    abort();
  if (test5(-19) != 1)
    abort();
  if (test6(0) != 0)
    abort();
  if (test6(9) != 0)
    abort();
  if (test6(10) != 1)
    abort();
  if (test6(-1) != 0)
    abort();
  if (test6(-9) != 0)
    abort();
  if (test6(-10) != 0)
    abort();
  if (test7(-30) != 0)
    abort();
  if (test7(-29) != 1)
    abort();
  if (test7(-20) != 1)
    abort();
  if (test7(-19) != 1)
    abort();
  if (test8(0) != 1)
    abort();
  if (test8(9) != 1)
    abort();
  if (test8(10) != 1)
    abort();
  if (test8(-1) != 1)
    abort();
  if (test8(-9) != 1)
    abort();
  if (test8(-10) != 0)
    abort();
  if (test9(-30) != 1)
    abort();
  if (test9(-29) != 0)
    abort();
  if (test9(-20) != 0)
    abort();
  if (test9(-19) != 0)
    abort();
  if (test10(0) != 0)
    abort();
  if (test10(9) != 0)
    abort();
  if (test10(10) != 0)
    abort();
  if (test10(-1) != 0)
    abort();
  if (test10(-9) != 0)
    abort();
  if (test10(-10) != 1)
    abort();
  if (test11(-30) != 1)
    abort();
  if (test11(-29) != 1)
    abort();
  if (test11(-20) != 1)
    abort();
  if (test11(-19) != 0)
    abort();
  if (test12(0) != 1)
    abort();
  if (test12(9) != 1)
    abort();
  if (test12(10) != 0)
    abort();
  if (test12(-1) != 1)
    abort();
  if (test12(-9) != 1)
    abort();
  if (test12(-10) != 1)
    abort();
  return 0;
}
```