#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 */
typedef uintptr_t x94;
typedef uintptr_t x86;
typedef uintptr_t x77;
typedef uintptr_t x69;
typedef uintptr_t x62;
typedef uintptr_t x61;
typedef uintptr_t x60;
typedef uintptr_t x59;
typedef uintptr_t x58;
typedef uintptr_t x57;
typedef uintptr_t x56;
typedef uintptr_t x55;
typedef uintptr_t x54;
typedef uintptr_t x53;
typedef uintptr_t x52;
typedef uintptr_t x51;
typedef uintptr_t x50;
typedef uintptr_t x49;
typedef uintptr_t x48;
typedef uintptr_t x47;
typedef uintptr_t x46;
typedef uintptr_t x45;
typedef uintptr_t x44;
typedef uintptr_t x43;
typedef uintptr_t x42;
typedef uintptr_t x41;
typedef uintptr_t x40;
typedef uintptr_t x39;
typedef uintptr_t x38;
typedef uintptr_t x37;
typedef uintptr_t x36;
typedef uintptr_t x35;
typedef uintptr_t x34;
typedef uintptr_t x33;
typedef uintptr_t x32;
typedef int /*<<< orphan*/ out0;
typedef int /*<<< orphan*/ in0;

/* Variables and functions */
uintptr_t _br2_load(int /*<<< orphan*/, int);
int /*<<< orphan*/ _br2_store(int /*<<< orphan*/, uintptr_t, int);
void internal_fiat_25519_from_bytes(uintptr_t out0, uintptr_t in0) {
  uintptr_t x31, x30, x29, x28, x27, x26, x25, x24, x23, x22, x21, x20, x19,
      x18, x17, x16, x15, x14, x13, x12, x11, x10, x9, x8, x7, x6, x5, x4, x3,
      x2, x1, x0, x62, x63, x61, x64, x60, x65, x59, x66, x58, x67, x57, x68,
      x69, x56, x71, x55, x72, x54, x73, x53, x74, x52, x75, x51, x76, x77, x50,
      x79, x49, x80, x48, x81, x47, x82, x46, x83, x45, x84, x44, x85, x86, x43,
      x88, x42, x89, x41, x90, x40, x91, x39, x92, x38, x93, x94, x37, x96, x36,
      x97, x35, x98, x34, x99, x33, x100, x32, x101, x70, x78, x87, x95, x102,
      x103, x104, x105, x106, x107;
  x0 = _br2_load((in0) + ((uintptr_t)0ULL), 1);
  x1 = _br2_load((in0) + ((uintptr_t)1ULL), 1);
  x2 = _br2_load((in0) + ((uintptr_t)2ULL), 1);
  x3 = _br2_load((in0) + ((uintptr_t)3ULL), 1);
  x4 = _br2_load((in0) + ((uintptr_t)4ULL), 1);
  x5 = _br2_load((in0) + ((uintptr_t)5ULL), 1);
  x6 = _br2_load((in0) + ((uintptr_t)6ULL), 1);
  x7 = _br2_load((in0) + ((uintptr_t)7ULL), 1);
  x8 = _br2_load((in0) + ((uintptr_t)8ULL), 1);
  x9 = _br2_load((in0) + ((uintptr_t)9ULL), 1);
  x10 = _br2_load((in0) + ((uintptr_t)10ULL), 1);
  x11 = _br2_load((in0) + ((uintptr_t)11ULL), 1);
  x12 = _br2_load((in0) + ((uintptr_t)12ULL), 1);
  x13 = _br2_load((in0) + ((uintptr_t)13ULL), 1);
  x14 = _br2_load((in0) + ((uintptr_t)14ULL), 1);
  x15 = _br2_load((in0) + ((uintptr_t)15ULL), 1);
  x16 = _br2_load((in0) + ((uintptr_t)16ULL), 1);
  x17 = _br2_load((in0) + ((uintptr_t)17ULL), 1);
  x18 = _br2_load((in0) + ((uintptr_t)18ULL), 1);
  x19 = _br2_load((in0) + ((uintptr_t)19ULL), 1);
  x20 = _br2_load((in0) + ((uintptr_t)20ULL), 1);
  x21 = _br2_load((in0) + ((uintptr_t)21ULL), 1);
  x22 = _br2_load((in0) + ((uintptr_t)22ULL), 1);
  x23 = _br2_load((in0) + ((uintptr_t)23ULL), 1);
  x24 = _br2_load((in0) + ((uintptr_t)24ULL), 1);
  x25 = _br2_load((in0) + ((uintptr_t)25ULL), 1);
  x26 = _br2_load((in0) + ((uintptr_t)26ULL), 1);
  x27 = _br2_load((in0) + ((uintptr_t)27ULL), 1);
  x28 = _br2_load((in0) + ((uintptr_t)28ULL), 1);
  x29 = _br2_load((in0) + ((uintptr_t)29ULL), 1);
  x30 = _br2_load((in0) + ((uintptr_t)30ULL), 1);
  x31 = _br2_load((in0) + ((uintptr_t)31ULL), 1);
  x32 = (x31) << ((uintptr_t)44ULL);
  x33 = (x30) << ((uintptr_t)36ULL);
  x34 = (x29) << ((uintptr_t)28ULL);
  x35 = (x28) << ((uintptr_t)20ULL);
  x36 = (x27) << ((uintptr_t)12ULL);
  x37 = (x26) << ((uintptr_t)4ULL);
  x38 = (x25) << ((uintptr_t)47ULL);
  x39 = (x24) << ((uintptr_t)39ULL);
  x40 = (x23) << ((uintptr_t)31ULL);
  x41 = (x22) << ((uintptr_t)23ULL);
  x42 = (x21) << ((uintptr_t)15ULL);
  x43 = (x20) << ((uintptr_t)7ULL);
  x44 = (x19) << ((uintptr_t)50ULL);
  x45 = (x18) << ((uintptr_t)42ULL);
  x46 = (x17) << ((uintptr_t)34ULL);
  x47 = (x16) << ((uintptr_t)26ULL);
  x48 = (x15) << ((uintptr_t)18ULL);
  x49 = (x14) << ((uintptr_t)10ULL);
  x50 = (x13) << ((uintptr_t)2ULL);
  x51 = (x12) << ((uintptr_t)45ULL);
  x52 = (x11) << ((uintptr_t)37ULL);
  x53 = (x10) << ((uintptr_t)29ULL);
  x54 = (x9) << ((uintptr_t)21ULL);
  x55 = (x8) << ((uintptr_t)13ULL);
  x56 = (x7) << ((uintptr_t)5ULL);
  x57 = (x6) << ((uintptr_t)48ULL);
  x58 = (x5) << ((uintptr_t)40ULL);
  x59 = (x4) << ((uintptr_t)32ULL);
  x60 = (x3) << ((uintptr_t)24ULL);
  x61 = (x2) << ((uintptr_t)16ULL);
  x62 = (x1) << ((uintptr_t)8ULL);
  x63 = x0;
  x64 = (x62) + (x63);
  x65 = (x61) + (x64);
  x66 = (x60) + (x65);
  x67 = (x59) + (x66);
  x68 = (x58) + (x67);
  x69 = (x57) + (x68);
  x70 = (x69) & ((uintptr_t)2251799813685247ULL);
  x71 = (x69) >> ((uintptr_t)51ULL);
  x72 = (x56) + (x71);
  x73 = (x55) + (x72);
  x74 = (x54) + (x73);
  x75 = (x53) + (x74);
  x76 = (x52) + (x75);
  x77 = (x51) + (x76);
  x78 = (x77) & ((uintptr_t)2251799813685247ULL);
  x79 = (x77) >> ((uintptr_t)51ULL);
  x80 = (x50) + (x79);
  x81 = (x49) + (x80);
  x82 = (x48) + (x81);
  x83 = (x47) + (x82);
  x84 = (x46) + (x83);
  x85 = (x45) + (x84);
  x86 = (x44) + (x85);
  x87 = (x86) & ((uintptr_t)2251799813685247ULL);
  x88 = (x86) >> ((uintptr_t)51ULL);
  x89 = (x43) + (x88);
  x90 = (x42) + (x89);
  x91 = (x41) + (x90);
  x92 = (x40) + (x91);
  x93 = (x39) + (x92);
  x94 = (x38) + (x93);
  x95 = (x94) & ((uintptr_t)2251799813685247ULL);
  x96 = (x94) >> ((uintptr_t)51ULL);
  x97 = (x37) + (x96);
  x98 = (x36) + (x97);
  x99 = (x35) + (x98);
  x100 = (x34) + (x99);
  x101 = (x33) + (x100);
  x102 = (x32) + (x101);
  x103 = x70;
  x104 = x78;
  x105 = x87;
  x106 = x95;
  x107 = x102;
  _br2_store((out0) + ((uintptr_t)0ULL), x103, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)8ULL), x104, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)16ULL), x105, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)24ULL), x106, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)32ULL), x107, sizeof(uintptr_t));
  return;
}


x86 assembly (clang, -O0):
<internal_fiat_25519_from_bytes>:
push   %rbp
mov    %rsp,%rbp
sub    $0x370,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    -0x10(%rbp),%rax
add    $0x0,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x110(%rbp)
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x108(%rbp)
mov    -0x10(%rbp),%rax
add    $0x2,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x100(%rbp)
mov    -0x10(%rbp),%rax
add    $0x3,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0xf8(%rbp)
mov    -0x10(%rbp),%rax
add    $0x4,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0xf0(%rbp)
mov    -0x10(%rbp),%rax
add    $0x5,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0xe8(%rbp)
mov    -0x10(%rbp),%rax
add    $0x6,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0xe0(%rbp)
mov    -0x10(%rbp),%rax
add    $0x7,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0xd8(%rbp)
mov    -0x10(%rbp),%rax
add    $0x8,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0xd0(%rbp)
mov    -0x10(%rbp),%rax
add    $0x9,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0xc8(%rbp)
mov    -0x10(%rbp),%rax
add    $0xa,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0xc0(%rbp)
mov    -0x10(%rbp),%rax
add    $0xb,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0xb8(%rbp)
mov    -0x10(%rbp),%rax
add    $0xc,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0xb0(%rbp)
mov    -0x10(%rbp),%rax
add    $0xd,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0xa8(%rbp)
mov    -0x10(%rbp),%rax
add    $0xe,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0xa0(%rbp)
mov    -0x10(%rbp),%rax
add    $0xf,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x98(%rbp)
mov    -0x10(%rbp),%rax
add    $0x10,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x90(%rbp)
mov    -0x10(%rbp),%rax
add    $0x11,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x88(%rbp)
mov    -0x10(%rbp),%rax
add    $0x12,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x80(%rbp)
mov    -0x10(%rbp),%rax
add    $0x13,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x78(%rbp)
mov    -0x10(%rbp),%rax
add    $0x14,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x70(%rbp)
mov    -0x10(%rbp),%rax
add    $0x15,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x68(%rbp)
mov    -0x10(%rbp),%rax
add    $0x16,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x60(%rbp)
mov    -0x10(%rbp),%rax
add    $0x17,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x58(%rbp)
mov    -0x10(%rbp),%rax
add    $0x18,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x50(%rbp)
mov    -0x10(%rbp),%rax
add    $0x19,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x48(%rbp)
mov    -0x10(%rbp),%rax
add    $0x1a,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x40(%rbp)
mov    -0x10(%rbp),%rax
add    $0x1b,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x38(%rbp)
mov    -0x10(%rbp),%rax
add    $0x1c,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x30(%rbp)
mov    -0x10(%rbp),%rax
add    $0x1d,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x28(%rbp)
mov    -0x10(%rbp),%rax
add    $0x1e,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x20(%rbp)
mov    -0x10(%rbp),%rax
add    $0x1f,%rax
mov    %eax,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x2c,%rax
mov    %rax,-0x318(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x24,%rax
mov    %rax,-0x308(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x1c,%rax
mov    %rax,-0x2f8(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x14,%rax
mov    %rax,-0x2e8(%rbp)
mov    -0x38(%rbp),%rax
shl    $0xc,%rax
mov    %rax,-0x2d8(%rbp)
mov    -0x40(%rbp),%rax
shl    $0x4,%rax
mov    %rax,-0x2c8(%rbp)
mov    -0x48(%rbp),%rax
shl    $0x2f,%rax
mov    %rax,-0x2b0(%rbp)
mov    -0x50(%rbp),%rax
shl    $0x27,%rax
mov    %rax,-0x2a0(%rbp)
mov    -0x58(%rbp),%rax
shl    $0x1f,%rax
mov    %rax,-0x290(%rbp)
mov    -0x60(%rbp),%rax
shl    $0x17,%rax
mov    %rax,-0x280(%rbp)
mov    -0x68(%rbp),%rax
shl    $0xf,%rax
mov    %rax,-0x270(%rbp)
mov    -0x70(%rbp),%rax
shl    $0x7,%rax
mov    %rax,-0x260(%rbp)
mov    -0x78(%rbp),%rax
shl    $0x32,%rax
mov    %rax,-0x248(%rbp)
mov    -0x80(%rbp),%rax
shl    $0x2a,%rax
mov    %rax,-0x238(%rbp)
mov    -0x88(%rbp),%rax
shl    $0x22,%rax
mov    %rax,-0x228(%rbp)
mov    -0x90(%rbp),%rax
shl    $0x1a,%rax
mov    %rax,-0x218(%rbp)
mov    -0x98(%rbp),%rax
shl    $0x12,%rax
mov    %rax,-0x208(%rbp)
mov    -0xa0(%rbp),%rax
shl    $0xa,%rax
mov    %rax,-0x1f8(%rbp)
mov    -0xa8(%rbp),%rax
shl    $0x2,%rax
mov    %rax,-0x1e8(%rbp)
mov    -0xb0(%rbp),%rax
shl    $0x2d,%rax
mov    %rax,-0x1d0(%rbp)
mov    -0xb8(%rbp),%rax
shl    $0x25,%rax
mov    %rax,-0x1c0(%rbp)
mov    -0xc0(%rbp),%rax
shl    $0x1d,%rax
mov    %rax,-0x1b0(%rbp)
mov    -0xc8(%rbp),%rax
shl    $0x15,%rax
mov    %rax,-0x1a0(%rbp)
mov    -0xd0(%rbp),%rax
shl    $0xd,%rax
mov    %rax,-0x190(%rbp)
mov    -0xd8(%rbp),%rax
shl    $0x5,%rax
mov    %rax,-0x180(%rbp)
mov    -0xe0(%rbp),%rax
shl    $0x30,%rax
mov    %rax,-0x168(%rbp)
mov    -0xe8(%rbp),%rax
shl    $0x28,%rax
mov    %rax,-0x158(%rbp)
mov    -0xf0(%rbp),%rax
shl    $0x20,%rax
mov    %rax,-0x148(%rbp)
mov    -0xf8(%rbp),%rax
shl    $0x18,%rax
mov    %rax,-0x138(%rbp)
mov    -0x100(%rbp),%rax
shl    $0x10,%rax
mov    %rax,-0x128(%rbp)
mov    -0x108(%rbp),%rax
shl    $0x8,%rax
mov    %rax,-0x118(%rbp)
mov    -0x110(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    -0x118(%rbp),%rax
add    -0x120(%rbp),%rax
mov    %rax,-0x130(%rbp)
mov    -0x128(%rbp),%rax
add    -0x130(%rbp),%rax
mov    %rax,-0x140(%rbp)
mov    -0x138(%rbp),%rax
add    -0x140(%rbp),%rax
mov    %rax,-0x150(%rbp)
mov    -0x148(%rbp),%rax
add    -0x150(%rbp),%rax
mov    %rax,-0x160(%rbp)
mov    -0x158(%rbp),%rax
add    -0x160(%rbp),%rax
mov    %rax,-0x170(%rbp)
mov    -0x168(%rbp),%rax
add    -0x170(%rbp),%rax
mov    %rax,-0x178(%rbp)
movabs $0x7ffffffffffff,%rax
and    -0x178(%rbp),%rax
mov    %rax,-0x328(%rbp)
mov    -0x178(%rbp),%rax
shr    $0x33,%rax
mov    %rax,-0x188(%rbp)
mov    -0x180(%rbp),%rax
add    -0x188(%rbp),%rax
mov    %rax,-0x198(%rbp)
mov    -0x190(%rbp),%rax
add    -0x198(%rbp),%rax
mov    %rax,-0x1a8(%rbp)
mov    -0x1a0(%rbp),%rax
add    -0x1a8(%rbp),%rax
mov    %rax,-0x1b8(%rbp)
mov    -0x1b0(%rbp),%rax
add    -0x1b8(%rbp),%rax
mov    %rax,-0x1c8(%rbp)
mov    -0x1c0(%rbp),%rax
add    -0x1c8(%rbp),%rax
mov    %rax,-0x1d8(%rbp)
mov    -0x1d0(%rbp),%rax
add    -0x1d8(%rbp),%rax
mov    %rax,-0x1e0(%rbp)
movabs $0x7ffffffffffff,%rax
and    -0x1e0(%rbp),%rax
mov    %rax,-0x330(%rbp)
mov    -0x1e0(%rbp),%rax
shr    $0x33,%rax
mov    %rax,-0x1f0(%rbp)
mov    -0x1e8(%rbp),%rax
add    -0x1f0(%rbp),%rax
mov    %rax,-0x200(%rbp)
mov    -0x1f8(%rbp),%rax
add    -0x200(%rbp),%rax
mov    %rax,-0x210(%rbp)
mov    -0x208(%rbp),%rax
add    -0x210(%rbp),%rax
mov    %rax,-0x220(%rbp)
mov    -0x218(%rbp),%rax
add    -0x220(%rbp),%rax
mov    %rax,-0x230(%rbp)
mov    -0x228(%rbp),%rax
add    -0x230(%rbp),%rax
mov    %rax,-0x240(%rbp)
mov    -0x238(%rbp),%rax
add    -0x240(%rbp),%rax
mov    %rax,-0x250(%rbp)
mov    -0x248(%rbp),%rax
add    -0x250(%rbp),%rax
mov    %rax,-0x258(%rbp)
movabs $0x7ffffffffffff,%rax
and    -0x258(%rbp),%rax
mov    %rax,-0x338(%rbp)
mov    -0x258(%rbp),%rax
shr    $0x33,%rax
mov    %rax,-0x268(%rbp)
mov    -0x260(%rbp),%rax
add    -0x268(%rbp),%rax
mov    %rax,-0x278(%rbp)
mov    -0x270(%rbp),%rax
add    -0x278(%rbp),%rax
mov    %rax,-0x288(%rbp)
mov    -0x280(%rbp),%rax
add    -0x288(%rbp),%rax
mov    %rax,-0x298(%rbp)
mov    -0x290(%rbp),%rax
add    -0x298(%rbp),%rax
mov    %rax,-0x2a8(%rbp)
mov    -0x2a0(%rbp),%rax
add    -0x2a8(%rbp),%rax
mov    %rax,-0x2b8(%rbp)
mov    -0x2b0(%rbp),%rax
add    -0x2b8(%rbp),%rax
mov    %rax,-0x2c0(%rbp)
movabs $0x7ffffffffffff,%rax
and    -0x2c0(%rbp),%rax
mov    %rax,-0x340(%rbp)
mov    -0x2c0(%rbp),%rax
shr    $0x33,%rax
mov    %rax,-0x2d0(%rbp)
mov    -0x2c8(%rbp),%rax
add    -0x2d0(%rbp),%rax
mov    %rax,-0x2e0(%rbp)
mov    -0x2d8(%rbp),%rax
add    -0x2e0(%rbp),%rax
mov    %rax,-0x2f0(%rbp)
mov    -0x2e8(%rbp),%rax
add    -0x2f0(%rbp),%rax
mov    %rax,-0x300(%rbp)
mov    -0x2f8(%rbp),%rax
add    -0x300(%rbp),%rax
mov    %rax,-0x310(%rbp)
mov    -0x308(%rbp),%rax
add    -0x310(%rbp),%rax
mov    %rax,-0x320(%rbp)
mov    -0x318(%rbp),%rax
add    -0x320(%rbp),%rax
mov    %rax,-0x348(%rbp)
mov    -0x328(%rbp),%rax
mov    %rax,-0x350(%rbp)
mov    -0x330(%rbp),%rax
mov    %rax,-0x358(%rbp)
mov    -0x338(%rbp),%rax
mov    %rax,-0x360(%rbp)
mov    -0x340(%rbp),%rax
mov    %rax,-0x368(%rbp)
mov    -0x348(%rbp),%rax
mov    %rax,-0x370(%rbp)
mov    -0x8(%rbp),%rax
add    $0x0,%rax
mov    %eax,%edi
mov    -0x350(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0x8,%rax
mov    %eax,%edi
mov    -0x358(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0x10,%rax
mov    %eax,%edi
mov    -0x360(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0x18,%rax
mov    %eax,%edi
mov    -0x368(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0x20,%rax
mov    %eax,%edi
mov    -0x370(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
add    $0x370,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<internal_fiat_25519_from_bytes>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0xd8,%rsp
mov    %rsi,%rbp
mov    %rdi,0xd0(%rsp)
mov    %ebp,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0xc8(%rsp)
lea    0x1(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,%rbx
lea    0x2(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0xc0(%rsp)
lea    0x3(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0xb8(%rsp)
lea    0x4(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0xb0(%rsp)
lea    0x5(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0xa8(%rsp)
lea    0x6(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0xa0(%rsp)
lea    0x7(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x98(%rsp)
lea    0x8(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x90(%rsp)
lea    0x9(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x88(%rsp)
lea    0xa(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x80(%rsp)
lea    0xb(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x78(%rsp)
lea    0xc(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x70(%rsp)
lea    0xd(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x68(%rsp)
lea    0xe(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x60(%rsp)
lea    0xf(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x58(%rsp)
lea    0x10(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x50(%rsp)
lea    0x11(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x48(%rsp)
lea    0x12(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x40(%rsp)
lea    0x13(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x38(%rsp)
lea    0x14(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x10(%rsp)
lea    0x15(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x8(%rsp)
lea    0x16(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,(%rsp)
lea    0x17(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x30(%rsp)
lea    0x18(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x28(%rsp)
lea    0x19(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x20(%rsp)
lea    0x1a(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,%r13
lea    0x1b(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,%r14
lea    0x1c(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,%r15
lea    0x1d(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,%r12
lea    0x1e(%rbp),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x18(%rsp)
add    $0x1f,%ebp
mov    %ebp,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
shl    $0xc,%r14
shl    $0x4,%r13
add    %r14,%r13
shl    $0x14,%r15
add    %r15,%r13
shl    $0x1c,%r12
add    %r12,%r13
mov    0x8(%rsp),%rcx
shl    $0xf,%rcx
mov    0x10(%rsp),%rdi
shl    $0x7,%rdi
add    %rcx,%rdi
mov    (%rsp),%rcx
shl    $0x17,%rcx
add    %rcx,%rdi
shl    $0x8,%rbx
add    0xc8(%rsp),%rbx
mov    0xc0(%rsp),%rcx
shl    $0x10,%rcx
add    %rcx,%rbx
mov    0xb8(%rsp),%rcx
shl    $0x18,%rcx
add    %rcx,%rbx
mov    0xb0(%rsp),%rcx
shl    $0x20,%rcx
add    %rcx,%rbx
mov    0xa8(%rsp),%rcx
shl    $0x28,%rcx
add    %rcx,%rbx
mov    0xa0(%rsp),%rcx
shl    $0x30,%rcx
add    %rcx,%rbx
mov    0x98(%rsp),%rcx
shl    $0x5,%rcx
mov    %rbx,%rsi
shr    $0x33,%rbx
add    %rcx,%rbx
mov    0x90(%rsp),%rcx
shl    $0xd,%rcx
add    %rcx,%rbx
mov    0x88(%rsp),%rcx
shl    $0x15,%rcx
add    %rcx,%rbx
mov    0x80(%rsp),%rcx
shl    $0x1d,%rcx
add    %rcx,%rbx
mov    0x78(%rsp),%rcx
shl    $0x25,%rcx
add    %rcx,%rbx
mov    0x70(%rsp),%rcx
shl    $0x2d,%rcx
add    %rcx,%rbx
mov    0x60(%rsp),%rdx
shl    $0xa,%rdx
mov    0x68(%rsp),%rcx
lea    (%rdx,%rcx,4),%rbp
mov    %rbx,%r14
shr    $0x33,%rbx
add    %rbx,%rbp
mov    0x58(%rsp),%rcx
shl    $0x12,%rcx
add    %rcx,%rbp
mov    0x50(%rsp),%rcx
shl    $0x1a,%rcx
add    %rcx,%rbp
mov    0x48(%rsp),%rcx
shl    $0x22,%rcx
add    %rcx,%rbp
mov    0x40(%rsp),%rcx
shl    $0x2a,%rcx
add    %rcx,%rbp
mov    0x38(%rsp),%rcx
shl    $0x32,%rcx
add    %rcx,%rbp
mov    %rbp,%r15
shr    $0x33,%rbp
add    %rdi,%rbp
mov    0x30(%rsp),%rcx
shl    $0x1f,%rcx
add    %rcx,%rbp
mov    0x28(%rsp),%rcx
shl    $0x27,%rcx
add    %rcx,%rbp
mov    0x20(%rsp),%rcx
shl    $0x2f,%rcx
add    %rcx,%rbp
movabs $0x7ffffffffffff,%r12
and    %r12,%rsi
and    %r12,%r14
and    %r12,%r15
and    %rbp,%r12
shr    $0x33,%rbp
add    %r13,%rbp
mov    0x18(%rsp),%rcx
shl    $0x24,%rcx
add    %rcx,%rbp
shl    $0x2c,%rax
add    %rax,%rbp
mov    0xd0(%rsp),%rbx
mov    %ebx,%edi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
lea    0x8(%rbx),%edi
mov    %r14,%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
lea    0x10(%rbx),%edi
mov    %r15,%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
lea    0x18(%rbx),%edi
mov    %r12,%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
add    $0x20,%ebx
mov    %ebx,%edi
mov    %rbp,%rsi
mov    $0x8,%edx
add    $0xd8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
jmp    1040 <_br2_store@plt>

LLVM IR (-O0):
define void @internal_fiat_25519_from_bytes(i64 %0, i64 %1) {
%3 = alloca i64
%4 = alloca i64
%5 = alloca i64
%6 = alloca i64
%7 = alloca i64
%8 = alloca i64
%9 = alloca i64
%10 = alloca i64
%11 = alloca i64
%12 = alloca i64
%13 = alloca i64
%14 = alloca i64
%15 = alloca i64
%16 = alloca i64
%17 = alloca i64
%18 = alloca i64
%19 = alloca i64
%20 = alloca i64
%21 = alloca i64
%22 = alloca i64
%23 = alloca i64
%24 = alloca i64
%25 = alloca i64
%26 = alloca i64
%27 = alloca i64
%28 = alloca i64
%29 = alloca i64
%30 = alloca i64
%31 = alloca i64
%32 = alloca i64
%33 = alloca i64
%34 = alloca i64
%35 = alloca i64
%36 = alloca i64
%37 = alloca i64
%38 = alloca i64
%39 = alloca i64
%40 = alloca i64
%41 = alloca i64
%42 = alloca i64
%43 = alloca i64
%44 = alloca i64
%45 = alloca i64
%46 = alloca i64
%47 = alloca i64
%48 = alloca i64
%49 = alloca i64
%50 = alloca i64
%51 = alloca i64
%52 = alloca i64
%53 = alloca i64
%54 = alloca i64
%55 = alloca i64
%56 = alloca i64
%57 = alloca i64
%58 = alloca i64
%59 = alloca i64
%60 = alloca i64
%61 = alloca i64
%62 = alloca i64
%63 = alloca i64
%64 = alloca i64
%65 = alloca i64
%66 = alloca i64
%67 = alloca i64
%68 = alloca i64
%69 = alloca i64
%70 = alloca i64
%71 = alloca i64
%72 = alloca i64
%73 = alloca i64
%74 = alloca i64
%75 = alloca i64
%76 = alloca i64
%77 = alloca i64
%78 = alloca i64
%79 = alloca i64
%80 = alloca i64
%81 = alloca i64
%82 = alloca i64
%83 = alloca i64
%84 = alloca i64
%85 = alloca i64
%86 = alloca i64
%87 = alloca i64
%88 = alloca i64
%89 = alloca i64
%90 = alloca i64
%91 = alloca i64
%92 = alloca i64
%93 = alloca i64
%94 = alloca i64
%95 = alloca i64
%96 = alloca i64
%97 = alloca i64
%98 = alloca i64
%99 = alloca i64
%100 = alloca i64
%101 = alloca i64
%102 = alloca i64
%103 = alloca i64
%104 = alloca i64
%105 = alloca i64
%106 = alloca i64
%107 = alloca i64
%108 = alloca i64
%109 = alloca i64
%110 = alloca i64
%111 = alloca i64
%112 = alloca i64
store i64 %0, i64* %3
store i64 %1, i64* %4
%113 = load i64, i64* %4
%114 = add i64 %113, 0
%115 = trunc i64 %114 to i32
%116 = call i64 @_br2_load(i32 %115, i32 1)
store i64 %116, i64* %36
%117 = load i64, i64* %4
%118 = add i64 %117, 1
%119 = trunc i64 %118 to i32
%120 = call i64 @_br2_load(i32 %119, i32 1)
store i64 %120, i64* %35
%121 = load i64, i64* %4
%122 = add i64 %121, 2
%123 = trunc i64 %122 to i32
%124 = call i64 @_br2_load(i32 %123, i32 1)
store i64 %124, i64* %34
%125 = load i64, i64* %4
%126 = add i64 %125, 3
%127 = trunc i64 %126 to i32
%128 = call i64 @_br2_load(i32 %127, i32 1)
store i64 %128, i64* %33
%129 = load i64, i64* %4
%130 = add i64 %129, 4
%131 = trunc i64 %130 to i32
%132 = call i64 @_br2_load(i32 %131, i32 1)
store i64 %132, i64* %32
%133 = load i64, i64* %4
%134 = add i64 %133, 5
%135 = trunc i64 %134 to i32
%136 = call i64 @_br2_load(i32 %135, i32 1)
store i64 %136, i64* %31
%137 = load i64, i64* %4
%138 = add i64 %137, 6
%139 = trunc i64 %138 to i32
%140 = call i64 @_br2_load(i32 %139, i32 1)
store i64 %140, i64* %30
%141 = load i64, i64* %4
%142 = add i64 %141, 7
%143 = trunc i64 %142 to i32
%144 = call i64 @_br2_load(i32 %143, i32 1)
store i64 %144, i64* %29
%145 = load i64, i64* %4
%146 = add i64 %145, 8
%147 = trunc i64 %146 to i32
%148 = call i64 @_br2_load(i32 %147, i32 1)
store i64 %148, i64* %28
%149 = load i64, i64* %4
%150 = add i64 %149, 9
%151 = trunc i64 %150 to i32
%152 = call i64 @_br2_load(i32 %151, i32 1)
store i64 %152, i64* %27
%153 = load i64, i64* %4
%154 = add i64 %153, 10
%155 = trunc i64 %154 to i32
%156 = call i64 @_br2_load(i32 %155, i32 1)
store i64 %156, i64* %26
%157 = load i64, i64* %4
%158 = add i64 %157, 11
%159 = trunc i64 %158 to i32
%160 = call i64 @_br2_load(i32 %159, i32 1)
store i64 %160, i64* %25
%161 = load i64, i64* %4
%162 = add i64 %161, 12
%163 = trunc i64 %162 to i32
%164 = call i64 @_br2_load(i32 %163, i32 1)
store i64 %164, i64* %24
%165 = load i64, i64* %4
%166 = add i64 %165, 13
%167 = trunc i64 %166 to i32
%168 = call i64 @_br2_load(i32 %167, i32 1)
store i64 %168, i64* %23
%169 = load i64, i64* %4
%170 = add i64 %169, 14
%171 = trunc i64 %170 to i32
%172 = call i64 @_br2_load(i32 %171, i32 1)
store i64 %172, i64* %22
%173 = load i64, i64* %4
%174 = add i64 %173, 15
%175 = trunc i64 %174 to i32
%176 = call i64 @_br2_load(i32 %175, i32 1)
store i64 %176, i64* %21
%177 = load i64, i64* %4
%178 = add i64 %177, 16
%179 = trunc i64 %178 to i32
%180 = call i64 @_br2_load(i32 %179, i32 1)
store i64 %180, i64* %20
%181 = load i64, i64* %4
%182 = add i64 %181, 17
%183 = trunc i64 %182 to i32
%184 = call i64 @_br2_load(i32 %183, i32 1)
store i64 %184, i64* %19
%185 = load i64, i64* %4
%186 = add i64 %185, 18
%187 = trunc i64 %186 to i32
%188 = call i64 @_br2_load(i32 %187, i32 1)
store i64 %188, i64* %18
%189 = load i64, i64* %4
%190 = add i64 %189, 19
%191 = trunc i64 %190 to i32
%192 = call i64 @_br2_load(i32 %191, i32 1)
store i64 %192, i64* %17
%193 = load i64, i64* %4
%194 = add i64 %193, 20
%195 = trunc i64 %194 to i32
%196 = call i64 @_br2_load(i32 %195, i32 1)
store i64 %196, i64* %16
%197 = load i64, i64* %4
%198 = add i64 %197, 21
%199 = trunc i64 %198 to i32
%200 = call i64 @_br2_load(i32 %199, i32 1)
store i64 %200, i64* %15
%201 = load i64, i64* %4
%202 = add i64 %201, 22
%203 = trunc i64 %202 to i32
%204 = call i64 @_br2_load(i32 %203, i32 1)
store i64 %204, i64* %14
%205 = load i64, i64* %4
%206 = add i64 %205, 23
%207 = trunc i64 %206 to i32
%208 = call i64 @_br2_load(i32 %207, i32 1)
store i64 %208, i64* %13
%209 = load i64, i64* %4
%210 = add i64 %209, 24
%211 = trunc i64 %210 to i32
%212 = call i64 @_br2_load(i32 %211, i32 1)
store i64 %212, i64* %12
%213 = load i64, i64* %4
%214 = add i64 %213, 25
%215 = trunc i64 %214 to i32
%216 = call i64 @_br2_load(i32 %215, i32 1)
store i64 %216, i64* %11
%217 = load i64, i64* %4
%218 = add i64 %217, 26
%219 = trunc i64 %218 to i32
%220 = call i64 @_br2_load(i32 %219, i32 1)
store i64 %220, i64* %10
%221 = load i64, i64* %4
%222 = add i64 %221, 27
%223 = trunc i64 %222 to i32
%224 = call i64 @_br2_load(i32 %223, i32 1)
store i64 %224, i64* %9
%225 = load i64, i64* %4
%226 = add i64 %225, 28
%227 = trunc i64 %226 to i32
%228 = call i64 @_br2_load(i32 %227, i32 1)
store i64 %228, i64* %8
%229 = load i64, i64* %4
%230 = add i64 %229, 29
%231 = trunc i64 %230 to i32
%232 = call i64 @_br2_load(i32 %231, i32 1)
store i64 %232, i64* %7
%233 = load i64, i64* %4
%234 = add i64 %233, 30
%235 = trunc i64 %234 to i32
%236 = call i64 @_br2_load(i32 %235, i32 1)
store i64 %236, i64* %6
%237 = load i64, i64* %4
%238 = add i64 %237, 31
%239 = trunc i64 %238 to i32
%240 = call i64 @_br2_load(i32 %239, i32 1)
store i64 %240, i64* %5
%241 = load i64, i64* %5
%242 = shl i64 %241, 44
store i64 %242, i64* %101
%243 = load i64, i64* %6
%244 = shl i64 %243, 36
store i64 %244, i64* %99
%245 = load i64, i64* %7
%246 = shl i64 %245, 28
store i64 %246, i64* %97
%247 = load i64, i64* %8
%248 = shl i64 %247, 20
store i64 %248, i64* %95
%249 = load i64, i64* %9
%250 = shl i64 %249, 12
store i64 %250, i64* %93
%251 = load i64, i64* %10
%252 = shl i64 %251, 4
store i64 %252, i64* %91
%253 = load i64, i64* %11
%254 = shl i64 %253, 47
store i64 %254, i64* %88
%255 = load i64, i64* %12
%256 = shl i64 %255, 39
store i64 %256, i64* %86
%257 = load i64, i64* %13
%258 = shl i64 %257, 31
store i64 %258, i64* %84
%259 = load i64, i64* %14
%260 = shl i64 %259, 23
store i64 %260, i64* %82
%261 = load i64, i64* %15
%262 = shl i64 %261, 15
store i64 %262, i64* %80
%263 = load i64, i64* %16
%264 = shl i64 %263, 7
store i64 %264, i64* %78
%265 = load i64, i64* %17
%266 = shl i64 %265, 50
store i64 %266, i64* %75
%267 = load i64, i64* %18
%268 = shl i64 %267, 42
store i64 %268, i64* %73
%269 = load i64, i64* %19
%270 = shl i64 %269, 34
store i64 %270, i64* %71
%271 = load i64, i64* %20
%272 = shl i64 %271, 26
store i64 %272, i64* %69
%273 = load i64, i64* %21
%274 = shl i64 %273, 18
store i64 %274, i64* %67
%275 = load i64, i64* %22
%276 = shl i64 %275, 10
store i64 %276, i64* %65
%277 = load i64, i64* %23
%278 = shl i64 %277, 2
store i64 %278, i64* %63
%279 = load i64, i64* %24
%280 = shl i64 %279, 45
store i64 %280, i64* %60
%281 = load i64, i64* %25
%282 = shl i64 %281, 37
store i64 %282, i64* %58
%283 = load i64, i64* %26
%284 = shl i64 %283, 29
store i64 %284, i64* %56
%285 = load i64, i64* %27
%286 = shl i64 %285, 21
store i64 %286, i64* %54
%287 = load i64, i64* %28
%288 = shl i64 %287, 13
store i64 %288, i64* %52
%289 = load i64, i64* %29
%290 = shl i64 %289, 5
store i64 %290, i64* %50
%291 = load i64, i64* %30
%292 = shl i64 %291, 48
store i64 %292, i64* %47
%293 = load i64, i64* %31
%294 = shl i64 %293, 40
store i64 %294, i64* %45
%295 = load i64, i64* %32
%296 = shl i64 %295, 32
store i64 %296, i64* %43
%297 = load i64, i64* %33
%298 = shl i64 %297, 24
store i64 %298, i64* %41
%299 = load i64, i64* %34
%300 = shl i64 %299, 16
store i64 %300, i64* %39
%301 = load i64, i64* %35
%302 = shl i64 %301, 8
store i64 %302, i64* %37
%303 = load i64, i64* %36
store i64 %303, i64* %38
%304 = load i64, i64* %37
%305 = load i64, i64* %38
%306 = add i64 %304, %305
store i64 %306, i64* %40
%307 = load i64, i64* %39
%308 = load i64, i64* %40
%309 = add i64 %307, %308
store i64 %309, i64* %42
%310 = load i64, i64* %41
%311 = load i64, i64* %42
%312 = add i64 %310, %311
store i64 %312, i64* %44
%313 = load i64, i64* %43
%314 = load i64, i64* %44
%315 = add i64 %313, %314
store i64 %315, i64* %46
%316 = load i64, i64* %45
%317 = load i64, i64* %46
%318 = add i64 %316, %317
store i64 %318, i64* %48
%319 = load i64, i64* %47
%320 = load i64, i64* %48
%321 = add i64 %319, %320
store i64 %321, i64* %49
%322 = load i64, i64* %49
%323 = and i64 %322, 2251799813685247
store i64 %323, i64* %103
%324 = load i64, i64* %49
%325 = lshr i64 %324, 51
store i64 %325, i64* %51
%326 = load i64, i64* %50
%327 = load i64, i64* %51
%328 = add i64 %326, %327
store i64 %328, i64* %53
%329 = load i64, i64* %52
%330 = load i64, i64* %53
%331 = add i64 %329, %330
store i64 %331, i64* %55
%332 = load i64, i64* %54
%333 = load i64, i64* %55
%334 = add i64 %332, %333
store i64 %334, i64* %57
%335 = load i64, i64* %56
%336 = load i64, i64* %57
%337 = add i64 %335, %336
store i64 %337, i64* %59
%338 = load i64, i64* %58
%339 = load i64, i64* %59
%340 = add i64 %338, %339
store i64 %340, i64* %61
%341 = load i64, i64* %60
%342 = load i64, i64* %61
%343 = add i64 %341, %342
store i64 %343, i64* %62
%344 = load i64, i64* %62
%345 = and i64 %344, 2251799813685247
store i64 %345, i64* %104
%346 = load i64, i64* %62
%347 = lshr i64 %346, 51
store i64 %347, i64* %64
%348 = load i64, i64* %63
%349 = load i64, i64* %64
%350 = add i64 %348, %349
store i64 %350, i64* %66
%351 = load i64, i64* %65
%352 = load i64, i64* %66
%353 = add i64 %351, %352
store i64 %353, i64* %68
%354 = load i64, i64* %67
%355 = load i64, i64* %68
%356 = add i64 %354, %355
store i64 %356, i64* %70
%357 = load i64, i64* %69
%358 = load i64, i64* %70
%359 = add i64 %357, %358
store i64 %359, i64* %72
%360 = load i64, i64* %71
%361 = load i64, i64* %72
%362 = add i64 %360, %361
store i64 %362, i64* %74
%363 = load i64, i64* %73
%364 = load i64, i64* %74
%365 = add i64 %363, %364
store i64 %365, i64* %76
%366 = load i64, i64* %75
%367 = load i64, i64* %76
%368 = add i64 %366, %367
store i64 %368, i64* %77
%369 = load i64, i64* %77
%370 = and i64 %369, 2251799813685247
store i64 %370, i64* %105
%371 = load i64, i64* %77
%372 = lshr i64 %371, 51
store i64 %372, i64* %79
%373 = load i64, i64* %78
%374 = load i64, i64* %79
%375 = add i64 %373, %374
store i64 %375, i64* %81
%376 = load i64, i64* %80
%377 = load i64, i64* %81
%378 = add i64 %376, %377
store i64 %378, i64* %83
%379 = load i64, i64* %82
%380 = load i64, i64* %83
%381 = add i64 %379, %380
store i64 %381, i64* %85
%382 = load i64, i64* %84
%383 = load i64, i64* %85
%384 = add i64 %382, %383
store i64 %384, i64* %87
%385 = load i64, i64* %86
%386 = load i64, i64* %87
%387 = add i64 %385, %386
store i64 %387, i64* %89
%388 = load i64, i64* %88
%389 = load i64, i64* %89
%390 = add i64 %388, %389
store i64 %390, i64* %90
%391 = load i64, i64* %90
%392 = and i64 %391, 2251799813685247
store i64 %392, i64* %106
%393 = load i64, i64* %90
%394 = lshr i64 %393, 51
store i64 %394, i64* %92
%395 = load i64, i64* %91
%396 = load i64, i64* %92
%397 = add i64 %395, %396
store i64 %397, i64* %94
%398 = load i64, i64* %93
%399 = load i64, i64* %94
%400 = add i64 %398, %399
store i64 %400, i64* %96
%401 = load i64, i64* %95
%402 = load i64, i64* %96
%403 = add i64 %401, %402
store i64 %403, i64* %98
%404 = load i64, i64* %97
%405 = load i64, i64* %98
%406 = add i64 %404, %405
store i64 %406, i64* %100
%407 = load i64, i64* %99
%408 = load i64, i64* %100
%409 = add i64 %407, %408
store i64 %409, i64* %102
%410 = load i64, i64* %101
%411 = load i64, i64* %102
%412 = add i64 %410, %411
store i64 %412, i64* %107
%413 = load i64, i64* %103
store i64 %413, i64* %108
%414 = load i64, i64* %104
store i64 %414, i64* %109
%415 = load i64, i64* %105
store i64 %415, i64* %110
%416 = load i64, i64* %106
store i64 %416, i64* %111
%417 = load i64, i64* %107
store i64 %417, i64* %112
%418 = load i64, i64* %3
%419 = add i64 %418, 0
%420 = trunc i64 %419 to i32
%421 = load i64, i64* %108
%422 = call i32 @_br2_store(i32 %420, i64 %421, i32 8)
%423 = load i64, i64* %3
%424 = add i64 %423, 8
%425 = trunc i64 %424 to i32
%426 = load i64, i64* %109
%427 = call i32 @_br2_store(i32 %425, i64 %426, i32 8)
%428 = load i64, i64* %3
%429 = add i64 %428, 16
%430 = trunc i64 %429 to i32
%431 = load i64, i64* %110
%432 = call i32 @_br2_store(i32 %430, i64 %431, i32 8)
%433 = load i64, i64* %3
%434 = add i64 %433, 24
%435 = trunc i64 %434 to i32
%436 = load i64, i64* %111
%437 = call i32 @_br2_store(i32 %435, i64 %436, i32 8)
%438 = load i64, i64* %3
%439 = add i64 %438, 32
%440 = trunc i64 %439 to i32
%441 = load i64, i64* %112
%442 = call i32 @_br2_store(i32 %440, i64 %441, i32 8)
ret void
}

LLVM IR (-O2):
define void @internal_fiat_25519_from_bytes(i64 %0, i64 %1) {
%3 = trunc i64 %1 to i32
%4 = tail call i64 @_br2_load(i32 %3, i32 1)
%5 = add i32 %3, 1
%6 = tail call i64 @_br2_load(i32 %5, i32 1)
%7 = add i32 %3, 2
%8 = tail call i64 @_br2_load(i32 %7, i32 1)
%9 = add i32 %3, 3
%10 = tail call i64 @_br2_load(i32 %9, i32 1)
%11 = add i32 %3, 4
%12 = tail call i64 @_br2_load(i32 %11, i32 1)
%13 = add i32 %3, 5
%14 = tail call i64 @_br2_load(i32 %13, i32 1)
%15 = add i32 %3, 6
%16 = tail call i64 @_br2_load(i32 %15, i32 1)
%17 = add i32 %3, 7
%18 = tail call i64 @_br2_load(i32 %17, i32 1)
%19 = add i32 %3, 8
%20 = tail call i64 @_br2_load(i32 %19, i32 1)
%21 = add i32 %3, 9
%22 = tail call i64 @_br2_load(i32 %21, i32 1)
%23 = add i32 %3, 10
%24 = tail call i64 @_br2_load(i32 %23, i32 1)
%25 = add i32 %3, 11
%26 = tail call i64 @_br2_load(i32 %25, i32 1)
%27 = add i32 %3, 12
%28 = tail call i64 @_br2_load(i32 %27, i32 1)
%29 = add i32 %3, 13
%30 = tail call i64 @_br2_load(i32 %29, i32 1)
%31 = add i32 %3, 14
%32 = tail call i64 @_br2_load(i32 %31, i32 1)
%33 = add i32 %3, 15
%34 = tail call i64 @_br2_load(i32 %33, i32 1)
%35 = add i32 %3, 16
%36 = tail call i64 @_br2_load(i32 %35, i32 1)
%37 = add i32 %3, 17
%38 = tail call i64 @_br2_load(i32 %37, i32 1)
%39 = add i32 %3, 18
%40 = tail call i64 @_br2_load(i32 %39, i32 1)
%41 = add i32 %3, 19
%42 = tail call i64 @_br2_load(i32 %41, i32 1)
%43 = add i32 %3, 20
%44 = tail call i64 @_br2_load(i32 %43, i32 1)
%45 = add i32 %3, 21
%46 = tail call i64 @_br2_load(i32 %45, i32 1)
%47 = add i32 %3, 22
%48 = tail call i64 @_br2_load(i32 %47, i32 1)
%49 = add i32 %3, 23
%50 = tail call i64 @_br2_load(i32 %49, i32 1)
%51 = add i32 %3, 24
%52 = tail call i64 @_br2_load(i32 %51, i32 1)
%53 = add i32 %3, 25
%54 = tail call i64 @_br2_load(i32 %53, i32 1)
%55 = add i32 %3, 26
%56 = tail call i64 @_br2_load(i32 %55, i32 1)
%57 = add i32 %3, 27
%58 = tail call i64 @_br2_load(i32 %57, i32 1)
%59 = add i32 %3, 28
%60 = tail call i64 @_br2_load(i32 %59, i32 1)
%61 = add i32 %3, 29
%62 = tail call i64 @_br2_load(i32 %61, i32 1)
%63 = add i32 %3, 30
%64 = tail call i64 @_br2_load(i32 %63, i32 1)
%65 = add i32 %3, 31
%66 = tail call i64 @_br2_load(i32 %65, i32 1)
%67 = shl i64 %66, 44
%68 = shl i64 %64, 36
%69 = shl i64 %62, 28
%70 = shl i64 %60, 20
%71 = shl i64 %58, 12
%72 = shl i64 %56, 4
%73 = shl i64 %54, 47
%74 = shl i64 %52, 39
%75 = shl i64 %50, 31
%76 = shl i64 %48, 23
%77 = shl i64 %46, 15
%78 = shl i64 %44, 7
%79 = shl i64 %42, 50
%80 = shl i64 %40, 42
%81 = shl i64 %38, 34
%82 = shl i64 %36, 26
%83 = shl i64 %34, 18
%84 = shl i64 %32, 10
%85 = shl i64 %30, 2
%86 = shl i64 %28, 45
%87 = shl i64 %26, 37
%88 = shl i64 %24, 29
%89 = shl i64 %22, 21
%90 = shl i64 %20, 13
%91 = shl i64 %18, 5
%92 = shl i64 %16, 48
%93 = shl i64 %14, 40
%94 = shl i64 %12, 32
%95 = shl i64 %10, 24
%96 = shl i64 %8, 16
%97 = shl i64 %6, 8
%98 = add i64 %97, %4
%99 = add i64 %98, %96
%100 = add i64 %99, %95
%101 = add i64 %100, %94
%102 = add i64 %101, %93
%103 = add i64 %102, %92
%104 = and i64 %103, 2251799813685247
%105 = lshr i64 %103, 51
%106 = add i64 %105, %91
%107 = add i64 %106, %90
%108 = add i64 %107, %89
%109 = add i64 %108, %88
%110 = add i64 %109, %87
%111 = add i64 %110, %86
%112 = and i64 %111, 2251799813685247
%113 = lshr i64 %111, 51
%114 = add i64 %84, %85
%115 = add i64 %114, %113
%116 = add i64 %115, %83
%117 = add i64 %116, %82
%118 = add i64 %117, %81
%119 = add i64 %118, %80
%120 = add i64 %119, %79
%121 = and i64 %120, 2251799813685247
%122 = lshr i64 %120, 51
%123 = add i64 %77, %78
%124 = add i64 %123, %76
%125 = add i64 %124, %122
%126 = add i64 %125, %75
%127 = add i64 %126, %74
%128 = add i64 %127, %73
%129 = and i64 %128, 2251799813685247
%130 = lshr i64 %128, 51
%131 = add i64 %71, %72
%132 = add i64 %131, %70
%133 = add i64 %132, %69
%134 = add i64 %133, %130
%135 = add i64 %134, %68
%136 = add i64 %135, %67
%137 = trunc i64 %0 to i32
%138 = tail call i32 @_br2_store(i32 %137, i64 %104, i32 8)
%139 = add i32 %137, 8
%140 = tail call i32 @_br2_store(i32 %139, i64 %112, i32 8)
%141 = add i32 %137, 16
%142 = tail call i32 @_br2_store(i32 %141, i64 %121, i32 8)
%143 = add i32 %137, 24
%144 = tail call i32 @_br2_store(i32 %143, i64 %129, i32 8)
%145 = add i32 %137, 32
%146 = tail call i32 @_br2_store(i32 %145, i64 %136, i32 8)
ret void
}