#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 x99;
typedef uintptr_t x94;
typedef uintptr_t x89;
typedef uintptr_t x81;
typedef uintptr_t x76;
typedef uintptr_t x71;
typedef uintptr_t x66;
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 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 uintptr_t x104;
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, x66, x59, x68, x58, x69, x57,
      x70, x71, x56, x73, x55, x74, x54, x75, x76, x53, x78, x52, x79, x51, x80,
      x81, x50, x83, x49, x84, x48, x85, x46, x47, x45, x87, x44, x88, x89, x43,
      x91, x42, x92, x41, x93, x94, x40, x96, x39, x97, x38, x98, x99, x37,
      x101, x36, x102, x35, x103, x104, x34, x106, x33, x107, x32, x108, x67,
      x72, x77, x82, x86, x90, x95, x100, x105, x109, x110, x111, x112, x113,
      x114, x115, x116, x117, x118, x119;
  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)18ULL);
  x33 = (x30) << ((uintptr_t)10ULL);
  x34 = (x29) << ((uintptr_t)2ULL);
  x35 = (x28) << ((uintptr_t)20ULL);
  x36 = (x27) << ((uintptr_t)12ULL);
  x37 = (x26) << ((uintptr_t)4ULL);
  x38 = (x25) << ((uintptr_t)21ULL);
  x39 = (x24) << ((uintptr_t)13ULL);
  x40 = (x23) << ((uintptr_t)5ULL);
  x41 = (x22) << ((uintptr_t)23ULL);
  x42 = (x21) << ((uintptr_t)15ULL);
  x43 = (x20) << ((uintptr_t)7ULL);
  x44 = (x19) << ((uintptr_t)24ULL);
  x45 = (x18) << ((uintptr_t)16ULL);
  x46 = (x17) << ((uintptr_t)8ULL);
  x47 = x16;
  x48 = (x15) << ((uintptr_t)18ULL);
  x49 = (x14) << ((uintptr_t)10ULL);
  x50 = (x13) << ((uintptr_t)2ULL);
  x51 = (x12) << ((uintptr_t)19ULL);
  x52 = (x11) << ((uintptr_t)11ULL);
  x53 = (x10) << ((uintptr_t)3ULL);
  x54 = (x9) << ((uintptr_t)21ULL);
  x55 = (x8) << ((uintptr_t)13ULL);
  x56 = (x7) << ((uintptr_t)5ULL);
  x57 = (x6) << ((uintptr_t)22ULL);
  x58 = (x5) << ((uintptr_t)14ULL);
  x59 = (x4) << ((uintptr_t)6ULL);
  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 = (x66) & ((uintptr_t)67108863ULL);
  x68 = (x66) >> ((uintptr_t)26ULL);
  x69 = (x59) + (x68);
  x70 = (x58) + (x69);
  x71 = (x57) + (x70);
  x72 = (x71) & ((uintptr_t)33554431ULL);
  x73 = (x71) >> ((uintptr_t)25ULL);
  x74 = (x56) + (x73);
  x75 = (x55) + (x74);
  x76 = (x54) + (x75);
  x77 = (x76) & ((uintptr_t)67108863ULL);
  x78 = (x76) >> ((uintptr_t)26ULL);
  x79 = (x53) + (x78);
  x80 = (x52) + (x79);
  x81 = (x51) + (x80);
  x82 = (x81) & ((uintptr_t)33554431ULL);
  x83 = (x81) >> ((uintptr_t)25ULL);
  x84 = (x50) + (x83);
  x85 = (x49) + (x84);
  x86 = (x48) + (x85);
  x87 = (x46) + (x47);
  x88 = (x45) + (x87);
  x89 = (x44) + (x88);
  x90 = (x89) & ((uintptr_t)33554431ULL);
  x91 = (x89) >> ((uintptr_t)25ULL);
  x92 = (x43) + (x91);
  x93 = (x42) + (x92);
  x94 = (x41) + (x93);
  x95 = (x94) & ((uintptr_t)67108863ULL);
  x96 = (x94) >> ((uintptr_t)26ULL);
  x97 = (x40) + (x96);
  x98 = (x39) + (x97);
  x99 = (x38) + (x98);
  x100 = (x99) & ((uintptr_t)33554431ULL);
  x101 = (x99) >> ((uintptr_t)25ULL);
  x102 = (x37) + (x101);
  x103 = (x36) + (x102);
  x104 = (x35) + (x103);
  x105 = (x104) & ((uintptr_t)67108863ULL);
  x106 = (x104) >> ((uintptr_t)26ULL);
  x107 = (x34) + (x106);
  x108 = (x33) + (x107);
  x109 = (x32) + (x108);
  x110 = x67;
  x111 = x72;
  x112 = x77;
  x113 = x82;
  x114 = x86;
  x115 = x90;
  x116 = x95;
  x117 = x100;
  x118 = x105;
  x119 = x109;
  _br2_store((out0) + ((uintptr_t)0ULL), x110, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)4ULL), x111, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)8ULL), x112, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)12ULL), x113, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)16ULL), x114, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)20ULL), x115, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)24ULL), x116, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)28ULL), x117, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)32ULL), x118, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)36ULL), x119, sizeof(uintptr_t));
  return;
}


x86 assembly (clang, -O0):
<internal_fiat_25519_from_bytes>:
push   %rbp
mov    %rsp,%rbp
sub    $0x3d0,%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    $0x12,%rax
mov    %rax,-0x328(%rbp)
mov    -0x20(%rbp),%rax
shl    $0xa,%rax
mov    %rax,-0x318(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x2,%rax
mov    %rax,-0x308(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x14,%rax
mov    %rax,-0x2f0(%rbp)
mov    -0x38(%rbp),%rax
shl    $0xc,%rax
mov    %rax,-0x2e0(%rbp)
mov    -0x40(%rbp),%rax
shl    $0x4,%rax
mov    %rax,-0x2d0(%rbp)
mov    -0x48(%rbp),%rax
shl    $0x15,%rax
mov    %rax,-0x2b8(%rbp)
mov    -0x50(%rbp),%rax
shl    $0xd,%rax
mov    %rax,-0x2a8(%rbp)
mov    -0x58(%rbp),%rax
shl    $0x5,%rax
mov    %rax,-0x298(%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    $0x18,%rax
mov    %rax,-0x248(%rbp)
mov    -0x80(%rbp),%rax
shl    $0x10,%rax
mov    %rax,-0x238(%rbp)
mov    -0x88(%rbp),%rax
shl    $0x8,%rax
mov    %rax,-0x228(%rbp)
mov    -0x90(%rbp),%rax
mov    %rax,-0x230(%rbp)
mov    -0x98(%rbp),%rax
shl    $0x12,%rax
mov    %rax,-0x218(%rbp)
mov    -0xa0(%rbp),%rax
shl    $0xa,%rax
mov    %rax,-0x208(%rbp)
mov    -0xa8(%rbp),%rax
shl    $0x2,%rax
mov    %rax,-0x1f8(%rbp)
mov    -0xb0(%rbp),%rax
shl    $0x13,%rax
mov    %rax,-0x1e0(%rbp)
mov    -0xb8(%rbp),%rax
shl    $0xb,%rax
mov    %rax,-0x1d0(%rbp)
mov    -0xc0(%rbp),%rax
shl    $0x3,%rax
mov    %rax,-0x1c0(%rbp)
mov    -0xc8(%rbp),%rax
shl    $0x15,%rax
mov    %rax,-0x1a8(%rbp)
mov    -0xd0(%rbp),%rax
shl    $0xd,%rax
mov    %rax,-0x198(%rbp)
mov    -0xd8(%rbp),%rax
shl    $0x5,%rax
mov    %rax,-0x188(%rbp)
mov    -0xe0(%rbp),%rax
shl    $0x16,%rax
mov    %rax,-0x170(%rbp)
mov    -0xe8(%rbp),%rax
shl    $0xe,%rax
mov    %rax,-0x160(%rbp)
mov    -0xf0(%rbp),%rax
shl    $0x6,%rax
mov    %rax,-0x150(%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,-0x148(%rbp)
mov    -0x148(%rbp),%rax
and    $0x3ffffff,%rax
mov    %rax,-0x338(%rbp)
mov    -0x148(%rbp),%rax
shr    $0x1a,%rax
mov    %rax,-0x158(%rbp)
mov    -0x150(%rbp),%rax
add    -0x158(%rbp),%rax
mov    %rax,-0x168(%rbp)
mov    -0x160(%rbp),%rax
add    -0x168(%rbp),%rax
mov    %rax,-0x178(%rbp)
mov    -0x170(%rbp),%rax
add    -0x178(%rbp),%rax
mov    %rax,-0x180(%rbp)
mov    -0x180(%rbp),%rax
and    $0x1ffffff,%rax
mov    %rax,-0x340(%rbp)
mov    -0x180(%rbp),%rax
shr    $0x19,%rax
mov    %rax,-0x190(%rbp)
mov    -0x188(%rbp),%rax
add    -0x190(%rbp),%rax
mov    %rax,-0x1a0(%rbp)
mov    -0x198(%rbp),%rax
add    -0x1a0(%rbp),%rax
mov    %rax,-0x1b0(%rbp)
mov    -0x1a8(%rbp),%rax
add    -0x1b0(%rbp),%rax
mov    %rax,-0x1b8(%rbp)
mov    -0x1b8(%rbp),%rax
and    $0x3ffffff,%rax
mov    %rax,-0x348(%rbp)
mov    -0x1b8(%rbp),%rax
shr    $0x1a,%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,-0x1e8(%rbp)
mov    -0x1e0(%rbp),%rax
add    -0x1e8(%rbp),%rax
mov    %rax,-0x1f0(%rbp)
mov    -0x1f0(%rbp),%rax
and    $0x1ffffff,%rax
mov    %rax,-0x350(%rbp)
mov    -0x1f0(%rbp),%rax
shr    $0x19,%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,-0x358(%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)
mov    -0x258(%rbp),%rax
and    $0x1ffffff,%rax
mov    %rax,-0x360(%rbp)
mov    -0x258(%rbp),%rax
shr    $0x19,%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,-0x290(%rbp)
mov    -0x290(%rbp),%rax
and    $0x3ffffff,%rax
mov    %rax,-0x368(%rbp)
mov    -0x290(%rbp),%rax
shr    $0x1a,%rax
mov    %rax,-0x2a0(%rbp)
mov    -0x298(%rbp),%rax
add    -0x2a0(%rbp),%rax
mov    %rax,-0x2b0(%rbp)
mov    -0x2a8(%rbp),%rax
add    -0x2b0(%rbp),%rax
mov    %rax,-0x2c0(%rbp)
mov    -0x2b8(%rbp),%rax
add    -0x2c0(%rbp),%rax
mov    %rax,-0x2c8(%rbp)
mov    -0x2c8(%rbp),%rax
and    $0x1ffffff,%rax
mov    %rax,-0x370(%rbp)
mov    -0x2c8(%rbp),%rax
shr    $0x19,%rax
mov    %rax,-0x2d8(%rbp)
mov    -0x2d0(%rbp),%rax
add    -0x2d8(%rbp),%rax
mov    %rax,-0x2e8(%rbp)
mov    -0x2e0(%rbp),%rax
add    -0x2e8(%rbp),%rax
mov    %rax,-0x2f8(%rbp)
mov    -0x2f0(%rbp),%rax
add    -0x2f8(%rbp),%rax
mov    %rax,-0x300(%rbp)
mov    -0x300(%rbp),%rax
and    $0x3ffffff,%rax
mov    %rax,-0x378(%rbp)
mov    -0x300(%rbp),%rax
shr    $0x1a,%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,-0x330(%rbp)
mov    -0x328(%rbp),%rax
add    -0x330(%rbp),%rax
mov    %rax,-0x380(%rbp)
mov    -0x338(%rbp),%rax
mov    %rax,-0x388(%rbp)
mov    -0x340(%rbp),%rax
mov    %rax,-0x390(%rbp)
mov    -0x348(%rbp),%rax
mov    %rax,-0x398(%rbp)
mov    -0x350(%rbp),%rax
mov    %rax,-0x3a0(%rbp)
mov    -0x358(%rbp),%rax
mov    %rax,-0x3a8(%rbp)
mov    -0x360(%rbp),%rax
mov    %rax,-0x3b0(%rbp)
mov    -0x368(%rbp),%rax
mov    %rax,-0x3b8(%rbp)
mov    -0x370(%rbp),%rax
mov    %rax,-0x3c0(%rbp)
mov    -0x378(%rbp),%rax
mov    %rax,-0x3c8(%rbp)
mov    -0x380(%rbp),%rax
mov    %rax,-0x3d0(%rbp)
mov    -0x8(%rbp),%rax
add    $0x0,%rax
mov    %eax,%edi
mov    -0x388(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0x4,%rax
mov    %eax,%edi
mov    -0x390(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0x8,%rax
mov    %eax,%edi
mov    -0x398(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0xc,%rax
mov    %eax,%edi
mov    -0x3a0(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0x10,%rax
mov    %eax,%edi
mov    -0x3a8(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0x14,%rax
mov    %eax,%edi
mov    -0x3b0(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0x18,%rax
mov    %eax,%edi
mov    -0x3b8(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0x1c,%rax
mov    %eax,%edi
mov    -0x3c0(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0x20,%rax
mov    %eax,%edi
mov    -0x3c8(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0x24,%rax
mov    %eax,%edi
mov    -0x3d0(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
add    $0x3d0,%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,%r15
mov    %rdi,0xd0(%rsp)
mov    %r15d,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x18(%rsp)
lea    0x1(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,%rbx
lea    0x2(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x10(%rsp)
lea    0x3(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x8(%rsp)
lea    0x4(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,(%rsp)
lea    0x5(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0xc8(%rsp)
lea    0x6(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0xc0(%rsp)
lea    0x7(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x90(%rsp)
lea    0x8(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x70(%rsp)
lea    0x9(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0xb0(%rsp)
lea    0xa(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0xb8(%rsp)
lea    0xb(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0xa0(%rsp)
lea    0xc(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x98(%rsp)
lea    0xd(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0xa8(%rsp)
lea    0xe(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x88(%rsp)
lea    0xf(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x80(%rsp)
lea    0x10(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x78(%rsp)
lea    0x11(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,%rbp
lea    0x12(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x68(%rsp)
lea    0x13(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x60(%rsp)
lea    0x14(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x58(%rsp)
lea    0x15(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x50(%rsp)
lea    0x16(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x48(%rsp)
lea    0x17(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x28(%rsp)
lea    0x18(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,%r14
lea    0x19(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x40(%rsp)
lea    0x1a(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x20(%rsp)
lea    0x1b(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,%r12
lea    0x1c(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,%r13
lea    0x1d(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x38(%rsp)
lea    0x1e(%r15),%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x30(%rsp)
add    $0x1f,%r15d
mov    %r15d,%edi
mov    $0x1,%esi
call   1030 <_br2_load@plt>
shl    $0xc,%r12
mov    0x20(%rsp),%r9
shl    $0x4,%r9
add    %r12,%r9
shl    $0x14,%r13
add    %r13,%r9
shl    $0xd,%r14
mov    0x28(%rsp),%r8
shl    $0x5,%r8
add    %r14,%r8
mov    0x70(%rsp),%rcx
shl    $0xd,%rcx
mov    0x90(%rsp),%rdx
shl    $0x5,%rdx
add    %rcx,%rdx
shl    $0x8,%rbx
add    0x18(%rsp),%rbx
mov    0x10(%rsp),%rcx
shl    $0x10,%rcx
add    %rcx,%rbx
mov    0x8(%rsp),%rcx
shl    $0x18,%rcx
add    %rcx,%rbx
mov    (%rsp),%rcx
shl    $0x6,%rcx
mov    %ebx,%esi
shr    $0x1a,%rbx
add    %rcx,%rbx
mov    0xc8(%rsp),%rcx
shl    $0xe,%rcx
add    %rcx,%rbx
mov    0xc0(%rsp),%rcx
shl    $0x16,%rcx
add    %rcx,%rbx
mov    %ebx,%r13d
shr    $0x19,%rbx
add    %rdx,%rbx
mov    0xb0(%rsp),%rcx
shl    $0x15,%rcx
add    %rcx,%rbx
mov    0xa0(%rsp),%rdx
shl    $0xb,%rdx
mov    0xb8(%rsp),%rcx
lea    (%rdx,%rcx,8),%rcx
mov    0x98(%rsp),%rdx
shl    $0x13,%rdx
add    %rdx,%rcx
mov    %ebx,%r11d
shr    $0x1a,%rbx
add    %rbx,%rcx
mov    0x88(%rsp),%rdi
shl    $0xa,%rdi
mov    0xa8(%rsp),%rdx
lea    (%rdi,%rdx,4),%r14
mov    0x80(%rsp),%rdx
shl    $0x12,%rdx
add    %rdx,%r14
mov    %ecx,%r15d
shr    $0x19,%rcx
add    %rcx,%r14
shl    $0x8,%rbp
add    0x78(%rsp),%rbp
mov    0x68(%rsp),%rcx
shl    $0x10,%rcx
add    %rcx,%rbp
mov    0x60(%rsp),%rcx
shl    $0x18,%rcx
add    %rcx,%rbp
mov    0x58(%rsp),%rcx
shl    $0x7,%rcx
mov    %ebp,%r10d
shr    $0x19,%rbp
add    %rcx,%rbp
mov    0x50(%rsp),%rcx
shl    $0xf,%rcx
add    %rcx,%rbp
mov    0x48(%rsp),%rcx
shl    $0x17,%rcx
add    %rcx,%rbp
mov    %ebp,%edi
shr    $0x1a,%rbp
add    %r8,%rbp
mov    0x40(%rsp),%rcx
shl    $0x15,%rcx
add    %rcx,%rbp
mov    %ebp,%ebx
shr    $0x19,%rbp
add    %r9,%rbp
mov    0x30(%rsp),%rdx
shl    $0xa,%rdx
mov    0x38(%rsp),%rcx
lea    (%rdx,%rcx,4),%r12
shl    $0x12,%rax
add    %rax,%r12
mov    %ebp,%eax
shr    $0x1a,%rbp
add    %rbp,%r12
and    $0x3ffffff,%esi
and    $0x1ffffff,%r13d
and    $0x3ffffff,%r11d
mov    %r11,(%rsp)
and    $0x1ffffff,%r15d
and    $0x1ffffff,%r10d
mov    %r10,0x8(%rsp)
and    $0x3ffffff,%edi
mov    %rdi,0x10(%rsp)
and    $0x1ffffff,%ebx
mov    %rbx,0x18(%rsp)
and    $0x3ffffff,%eax
mov    %rax,%rbx
mov    0xd0(%rsp),%rbp
mov    %ebp,%edi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
lea    0x4(%rbp),%edi
mov    %r13,%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
lea    0x8(%rbp),%edi
mov    (%rsp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
lea    0xc(%rbp),%edi
mov    %r15,%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
lea    0x10(%rbp),%edi
mov    %r14,%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
lea    0x14(%rbp),%edi
mov    0x8(%rsp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
lea    0x18(%rbp),%edi
mov    0x10(%rsp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
lea    0x1c(%rbp),%edi
mov    0x18(%rsp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
lea    0x20(%rbp),%edi
mov    %rbx,%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
add    $0x24,%ebp
mov    %ebp,%edi
mov    %r12,%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
%113 = alloca i64
%114 = alloca i64
%115 = alloca i64
%116 = alloca i64
%117 = alloca i64
%118 = alloca i64
%119 = alloca i64
%120 = alloca i64
%121 = alloca i64
%122 = alloca i64
%123 = alloca i64
%124 = alloca i64
store i64 %0, i64* %3
store i64 %1, i64* %4
%125 = load i64, i64* %4
%126 = add i64 %125, 0
%127 = trunc i64 %126 to i32
%128 = call i64 @_br2_load(i32 %127, i32 1)
store i64 %128, i64* %36
%129 = load i64, i64* %4
%130 = add i64 %129, 1
%131 = trunc i64 %130 to i32
%132 = call i64 @_br2_load(i32 %131, i32 1)
store i64 %132, i64* %35
%133 = load i64, i64* %4
%134 = add i64 %133, 2
%135 = trunc i64 %134 to i32
%136 = call i64 @_br2_load(i32 %135, i32 1)
store i64 %136, i64* %34
%137 = load i64, i64* %4
%138 = add i64 %137, 3
%139 = trunc i64 %138 to i32
%140 = call i64 @_br2_load(i32 %139, i32 1)
store i64 %140, i64* %33
%141 = load i64, i64* %4
%142 = add i64 %141, 4
%143 = trunc i64 %142 to i32
%144 = call i64 @_br2_load(i32 %143, i32 1)
store i64 %144, i64* %32
%145 = load i64, i64* %4
%146 = add i64 %145, 5
%147 = trunc i64 %146 to i32
%148 = call i64 @_br2_load(i32 %147, i32 1)
store i64 %148, i64* %31
%149 = load i64, i64* %4
%150 = add i64 %149, 6
%151 = trunc i64 %150 to i32
%152 = call i64 @_br2_load(i32 %151, i32 1)
store i64 %152, i64* %30
%153 = load i64, i64* %4
%154 = add i64 %153, 7
%155 = trunc i64 %154 to i32
%156 = call i64 @_br2_load(i32 %155, i32 1)
store i64 %156, i64* %29
%157 = load i64, i64* %4
%158 = add i64 %157, 8
%159 = trunc i64 %158 to i32
%160 = call i64 @_br2_load(i32 %159, i32 1)
store i64 %160, i64* %28
%161 = load i64, i64* %4
%162 = add i64 %161, 9
%163 = trunc i64 %162 to i32
%164 = call i64 @_br2_load(i32 %163, i32 1)
store i64 %164, i64* %27
%165 = load i64, i64* %4
%166 = add i64 %165, 10
%167 = trunc i64 %166 to i32
%168 = call i64 @_br2_load(i32 %167, i32 1)
store i64 %168, i64* %26
%169 = load i64, i64* %4
%170 = add i64 %169, 11
%171 = trunc i64 %170 to i32
%172 = call i64 @_br2_load(i32 %171, i32 1)
store i64 %172, i64* %25
%173 = load i64, i64* %4
%174 = add i64 %173, 12
%175 = trunc i64 %174 to i32
%176 = call i64 @_br2_load(i32 %175, i32 1)
store i64 %176, i64* %24
%177 = load i64, i64* %4
%178 = add i64 %177, 13
%179 = trunc i64 %178 to i32
%180 = call i64 @_br2_load(i32 %179, i32 1)
store i64 %180, i64* %23
%181 = load i64, i64* %4
%182 = add i64 %181, 14
%183 = trunc i64 %182 to i32
%184 = call i64 @_br2_load(i32 %183, i32 1)
store i64 %184, i64* %22
%185 = load i64, i64* %4
%186 = add i64 %185, 15
%187 = trunc i64 %186 to i32
%188 = call i64 @_br2_load(i32 %187, i32 1)
store i64 %188, i64* %21
%189 = load i64, i64* %4
%190 = add i64 %189, 16
%191 = trunc i64 %190 to i32
%192 = call i64 @_br2_load(i32 %191, i32 1)
store i64 %192, i64* %20
%193 = load i64, i64* %4
%194 = add i64 %193, 17
%195 = trunc i64 %194 to i32
%196 = call i64 @_br2_load(i32 %195, i32 1)
store i64 %196, i64* %19
%197 = load i64, i64* %4
%198 = add i64 %197, 18
%199 = trunc i64 %198 to i32
%200 = call i64 @_br2_load(i32 %199, i32 1)
store i64 %200, i64* %18
%201 = load i64, i64* %4
%202 = add i64 %201, 19
%203 = trunc i64 %202 to i32
%204 = call i64 @_br2_load(i32 %203, i32 1)
store i64 %204, i64* %17
%205 = load i64, i64* %4
%206 = add i64 %205, 20
%207 = trunc i64 %206 to i32
%208 = call i64 @_br2_load(i32 %207, i32 1)
store i64 %208, i64* %16
%209 = load i64, i64* %4
%210 = add i64 %209, 21
%211 = trunc i64 %210 to i32
%212 = call i64 @_br2_load(i32 %211, i32 1)
store i64 %212, i64* %15
%213 = load i64, i64* %4
%214 = add i64 %213, 22
%215 = trunc i64 %214 to i32
%216 = call i64 @_br2_load(i32 %215, i32 1)
store i64 %216, i64* %14
%217 = load i64, i64* %4
%218 = add i64 %217, 23
%219 = trunc i64 %218 to i32
%220 = call i64 @_br2_load(i32 %219, i32 1)
store i64 %220, i64* %13
%221 = load i64, i64* %4
%222 = add i64 %221, 24
%223 = trunc i64 %222 to i32
%224 = call i64 @_br2_load(i32 %223, i32 1)
store i64 %224, i64* %12
%225 = load i64, i64* %4
%226 = add i64 %225, 25
%227 = trunc i64 %226 to i32
%228 = call i64 @_br2_load(i32 %227, i32 1)
store i64 %228, i64* %11
%229 = load i64, i64* %4
%230 = add i64 %229, 26
%231 = trunc i64 %230 to i32
%232 = call i64 @_br2_load(i32 %231, i32 1)
store i64 %232, i64* %10
%233 = load i64, i64* %4
%234 = add i64 %233, 27
%235 = trunc i64 %234 to i32
%236 = call i64 @_br2_load(i32 %235, i32 1)
store i64 %236, i64* %9
%237 = load i64, i64* %4
%238 = add i64 %237, 28
%239 = trunc i64 %238 to i32
%240 = call i64 @_br2_load(i32 %239, i32 1)
store i64 %240, i64* %8
%241 = load i64, i64* %4
%242 = add i64 %241, 29
%243 = trunc i64 %242 to i32
%244 = call i64 @_br2_load(i32 %243, i32 1)
store i64 %244, i64* %7
%245 = load i64, i64* %4
%246 = add i64 %245, 30
%247 = trunc i64 %246 to i32
%248 = call i64 @_br2_load(i32 %247, i32 1)
store i64 %248, i64* %6
%249 = load i64, i64* %4
%250 = add i64 %249, 31
%251 = trunc i64 %250 to i32
%252 = call i64 @_br2_load(i32 %251, i32 1)
store i64 %252, i64* %5
%253 = load i64, i64* %5
%254 = shl i64 %253, 18
store i64 %254, i64* %103
%255 = load i64, i64* %6
%256 = shl i64 %255, 10
store i64 %256, i64* %101
%257 = load i64, i64* %7
%258 = shl i64 %257, 2
store i64 %258, i64* %99
%259 = load i64, i64* %8
%260 = shl i64 %259, 20
store i64 %260, i64* %96
%261 = load i64, i64* %9
%262 = shl i64 %261, 12
store i64 %262, i64* %94
%263 = load i64, i64* %10
%264 = shl i64 %263, 4
store i64 %264, i64* %92
%265 = load i64, i64* %11
%266 = shl i64 %265, 21
store i64 %266, i64* %89
%267 = load i64, i64* %12
%268 = shl i64 %267, 13
store i64 %268, i64* %87
%269 = load i64, i64* %13
%270 = shl i64 %269, 5
store i64 %270, i64* %85
%271 = load i64, i64* %14
%272 = shl i64 %271, 23
store i64 %272, i64* %82
%273 = load i64, i64* %15
%274 = shl i64 %273, 15
store i64 %274, i64* %80
%275 = load i64, i64* %16
%276 = shl i64 %275, 7
store i64 %276, i64* %78
%277 = load i64, i64* %17
%278 = shl i64 %277, 24
store i64 %278, i64* %75
%279 = load i64, i64* %18
%280 = shl i64 %279, 16
store i64 %280, i64* %73
%281 = load i64, i64* %19
%282 = shl i64 %281, 8
store i64 %282, i64* %71
%283 = load i64, i64* %20
store i64 %283, i64* %72
%284 = load i64, i64* %21
%285 = shl i64 %284, 18
store i64 %285, i64* %69
%286 = load i64, i64* %22
%287 = shl i64 %286, 10
store i64 %287, i64* %67
%288 = load i64, i64* %23
%289 = shl i64 %288, 2
store i64 %289, i64* %65
%290 = load i64, i64* %24
%291 = shl i64 %290, 19
store i64 %291, i64* %62
%292 = load i64, i64* %25
%293 = shl i64 %292, 11
store i64 %293, i64* %60
%294 = load i64, i64* %26
%295 = shl i64 %294, 3
store i64 %295, i64* %58
%296 = load i64, i64* %27
%297 = shl i64 %296, 21
store i64 %297, i64* %55
%298 = load i64, i64* %28
%299 = shl i64 %298, 13
store i64 %299, i64* %53
%300 = load i64, i64* %29
%301 = shl i64 %300, 5
store i64 %301, i64* %51
%302 = load i64, i64* %30
%303 = shl i64 %302, 22
store i64 %303, i64* %48
%304 = load i64, i64* %31
%305 = shl i64 %304, 14
store i64 %305, i64* %46
%306 = load i64, i64* %32
%307 = shl i64 %306, 6
store i64 %307, i64* %44
%308 = load i64, i64* %33
%309 = shl i64 %308, 24
store i64 %309, i64* %41
%310 = load i64, i64* %34
%311 = shl i64 %310, 16
store i64 %311, i64* %39
%312 = load i64, i64* %35
%313 = shl i64 %312, 8
store i64 %313, i64* %37
%314 = load i64, i64* %36
store i64 %314, i64* %38
%315 = load i64, i64* %37
%316 = load i64, i64* %38
%317 = add i64 %315, %316
store i64 %317, i64* %40
%318 = load i64, i64* %39
%319 = load i64, i64* %40
%320 = add i64 %318, %319
store i64 %320, i64* %42
%321 = load i64, i64* %41
%322 = load i64, i64* %42
%323 = add i64 %321, %322
store i64 %323, i64* %43
%324 = load i64, i64* %43
%325 = and i64 %324, 67108863
store i64 %325, i64* %105
%326 = load i64, i64* %43
%327 = lshr i64 %326, 26
store i64 %327, i64* %45
%328 = load i64, i64* %44
%329 = load i64, i64* %45
%330 = add i64 %328, %329
store i64 %330, i64* %47
%331 = load i64, i64* %46
%332 = load i64, i64* %47
%333 = add i64 %331, %332
store i64 %333, i64* %49
%334 = load i64, i64* %48
%335 = load i64, i64* %49
%336 = add i64 %334, %335
store i64 %336, i64* %50
%337 = load i64, i64* %50
%338 = and i64 %337, 33554431
store i64 %338, i64* %106
%339 = load i64, i64* %50
%340 = lshr i64 %339, 25
store i64 %340, i64* %52
%341 = load i64, i64* %51
%342 = load i64, i64* %52
%343 = add i64 %341, %342
store i64 %343, i64* %54
%344 = load i64, i64* %53
%345 = load i64, i64* %54
%346 = add i64 %344, %345
store i64 %346, i64* %56
%347 = load i64, i64* %55
%348 = load i64, i64* %56
%349 = add i64 %347, %348
store i64 %349, i64* %57
%350 = load i64, i64* %57
%351 = and i64 %350, 67108863
store i64 %351, i64* %107
%352 = load i64, i64* %57
%353 = lshr i64 %352, 26
store i64 %353, i64* %59
%354 = load i64, i64* %58
%355 = load i64, i64* %59
%356 = add i64 %354, %355
store i64 %356, i64* %61
%357 = load i64, i64* %60
%358 = load i64, i64* %61
%359 = add i64 %357, %358
store i64 %359, i64* %63
%360 = load i64, i64* %62
%361 = load i64, i64* %63
%362 = add i64 %360, %361
store i64 %362, i64* %64
%363 = load i64, i64* %64
%364 = and i64 %363, 33554431
store i64 %364, i64* %108
%365 = load i64, i64* %64
%366 = lshr i64 %365, 25
store i64 %366, i64* %66
%367 = load i64, i64* %65
%368 = load i64, i64* %66
%369 = add i64 %367, %368
store i64 %369, i64* %68
%370 = load i64, i64* %67
%371 = load i64, i64* %68
%372 = add i64 %370, %371
store i64 %372, i64* %70
%373 = load i64, i64* %69
%374 = load i64, i64* %70
%375 = add i64 %373, %374
store i64 %375, i64* %109
%376 = load i64, i64* %71
%377 = load i64, i64* %72
%378 = add i64 %376, %377
store i64 %378, i64* %74
%379 = load i64, i64* %73
%380 = load i64, i64* %74
%381 = add i64 %379, %380
store i64 %381, i64* %76
%382 = load i64, i64* %75
%383 = load i64, i64* %76
%384 = add i64 %382, %383
store i64 %384, i64* %77
%385 = load i64, i64* %77
%386 = and i64 %385, 33554431
store i64 %386, i64* %110
%387 = load i64, i64* %77
%388 = lshr i64 %387, 25
store i64 %388, i64* %79
%389 = load i64, i64* %78
%390 = load i64, i64* %79
%391 = add i64 %389, %390
store i64 %391, i64* %81
%392 = load i64, i64* %80
%393 = load i64, i64* %81
%394 = add i64 %392, %393
store i64 %394, i64* %83
%395 = load i64, i64* %82
%396 = load i64, i64* %83
%397 = add i64 %395, %396
store i64 %397, i64* %84
%398 = load i64, i64* %84
%399 = and i64 %398, 67108863
store i64 %399, i64* %111
%400 = load i64, i64* %84
%401 = lshr i64 %400, 26
store i64 %401, i64* %86
%402 = load i64, i64* %85
%403 = load i64, i64* %86
%404 = add i64 %402, %403
store i64 %404, i64* %88
%405 = load i64, i64* %87
%406 = load i64, i64* %88
%407 = add i64 %405, %406
store i64 %407, i64* %90
%408 = load i64, i64* %89
%409 = load i64, i64* %90
%410 = add i64 %408, %409
store i64 %410, i64* %91
%411 = load i64, i64* %91
%412 = and i64 %411, 33554431
store i64 %412, i64* %112
%413 = load i64, i64* %91
%414 = lshr i64 %413, 25
store i64 %414, i64* %93
%415 = load i64, i64* %92
%416 = load i64, i64* %93
%417 = add i64 %415, %416
store i64 %417, i64* %95
%418 = load i64, i64* %94
%419 = load i64, i64* %95
%420 = add i64 %418, %419
store i64 %420, i64* %97
%421 = load i64, i64* %96
%422 = load i64, i64* %97
%423 = add i64 %421, %422
store i64 %423, i64* %98
%424 = load i64, i64* %98
%425 = and i64 %424, 67108863
store i64 %425, i64* %113
%426 = load i64, i64* %98
%427 = lshr i64 %426, 26
store i64 %427, i64* %100
%428 = load i64, i64* %99
%429 = load i64, i64* %100
%430 = add i64 %428, %429
store i64 %430, i64* %102
%431 = load i64, i64* %101
%432 = load i64, i64* %102
%433 = add i64 %431, %432
store i64 %433, i64* %104
%434 = load i64, i64* %103
%435 = load i64, i64* %104
%436 = add i64 %434, %435
store i64 %436, i64* %114
%437 = load i64, i64* %105
store i64 %437, i64* %115
%438 = load i64, i64* %106
store i64 %438, i64* %116
%439 = load i64, i64* %107
store i64 %439, i64* %117
%440 = load i64, i64* %108
store i64 %440, i64* %118
%441 = load i64, i64* %109
store i64 %441, i64* %119
%442 = load i64, i64* %110
store i64 %442, i64* %120
%443 = load i64, i64* %111
store i64 %443, i64* %121
%444 = load i64, i64* %112
store i64 %444, i64* %122
%445 = load i64, i64* %113
store i64 %445, i64* %123
%446 = load i64, i64* %114
store i64 %446, i64* %124
%447 = load i64, i64* %3
%448 = add i64 %447, 0
%449 = trunc i64 %448 to i32
%450 = load i64, i64* %115
%451 = call i32 @_br2_store(i32 %449, i64 %450, i32 8)
%452 = load i64, i64* %3
%453 = add i64 %452, 4
%454 = trunc i64 %453 to i32
%455 = load i64, i64* %116
%456 = call i32 @_br2_store(i32 %454, i64 %455, i32 8)
%457 = load i64, i64* %3
%458 = add i64 %457, 8
%459 = trunc i64 %458 to i32
%460 = load i64, i64* %117
%461 = call i32 @_br2_store(i32 %459, i64 %460, i32 8)
%462 = load i64, i64* %3
%463 = add i64 %462, 12
%464 = trunc i64 %463 to i32
%465 = load i64, i64* %118
%466 = call i32 @_br2_store(i32 %464, i64 %465, i32 8)
%467 = load i64, i64* %3
%468 = add i64 %467, 16
%469 = trunc i64 %468 to i32
%470 = load i64, i64* %119
%471 = call i32 @_br2_store(i32 %469, i64 %470, i32 8)
%472 = load i64, i64* %3
%473 = add i64 %472, 20
%474 = trunc i64 %473 to i32
%475 = load i64, i64* %120
%476 = call i32 @_br2_store(i32 %474, i64 %475, i32 8)
%477 = load i64, i64* %3
%478 = add i64 %477, 24
%479 = trunc i64 %478 to i32
%480 = load i64, i64* %121
%481 = call i32 @_br2_store(i32 %479, i64 %480, i32 8)
%482 = load i64, i64* %3
%483 = add i64 %482, 28
%484 = trunc i64 %483 to i32
%485 = load i64, i64* %122
%486 = call i32 @_br2_store(i32 %484, i64 %485, i32 8)
%487 = load i64, i64* %3
%488 = add i64 %487, 32
%489 = trunc i64 %488 to i32
%490 = load i64, i64* %123
%491 = call i32 @_br2_store(i32 %489, i64 %490, i32 8)
%492 = load i64, i64* %3
%493 = add i64 %492, 36
%494 = trunc i64 %493 to i32
%495 = load i64, i64* %124
%496 = call i32 @_br2_store(i32 %494, i64 %495, 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, 18
%68 = shl i64 %64, 10
%69 = shl i64 %62, 2
%70 = shl i64 %60, 20
%71 = shl i64 %58, 12
%72 = shl i64 %56, 4
%73 = shl i64 %54, 21
%74 = shl i64 %52, 13
%75 = shl i64 %50, 5
%76 = shl i64 %48, 23
%77 = shl i64 %46, 15
%78 = shl i64 %44, 7
%79 = shl i64 %42, 24
%80 = shl i64 %40, 16
%81 = shl i64 %38, 8
%82 = shl i64 %34, 18
%83 = shl i64 %32, 10
%84 = shl i64 %30, 2
%85 = shl i64 %28, 19
%86 = shl i64 %26, 11
%87 = shl i64 %24, 3
%88 = shl i64 %22, 21
%89 = shl i64 %20, 13
%90 = shl i64 %18, 5
%91 = shl i64 %16, 22
%92 = shl i64 %14, 14
%93 = shl i64 %12, 6
%94 = shl i64 %10, 24
%95 = shl i64 %8, 16
%96 = shl i64 %6, 8
%97 = add i64 %96, %4
%98 = add i64 %97, %95
%99 = add i64 %98, %94
%100 = and i64 %99, 67108863
%101 = lshr i64 %99, 26
%102 = add i64 %101, %93
%103 = add i64 %102, %92
%104 = add i64 %103, %91
%105 = and i64 %104, 33554431
%106 = lshr i64 %104, 25
%107 = add i64 %89, %90
%108 = add i64 %107, %106
%109 = add i64 %108, %88
%110 = and i64 %109, 67108863
%111 = lshr i64 %109, 26
%112 = add i64 %86, %87
%113 = add i64 %112, %85
%114 = add i64 %113, %111
%115 = and i64 %114, 33554431
%116 = lshr i64 %114, 25
%117 = add i64 %83, %84
%118 = add i64 %117, %82
%119 = add i64 %118, %116
%120 = add i64 %81, %36
%121 = add i64 %120, %80
%122 = add i64 %121, %79
%123 = and i64 %122, 33554431
%124 = lshr i64 %122, 25
%125 = add i64 %124, %78
%126 = add i64 %125, %77
%127 = add i64 %126, %76
%128 = and i64 %127, 67108863
%129 = lshr i64 %127, 26
%130 = add i64 %74, %75
%131 = add i64 %130, %129
%132 = add i64 %131, %73
%133 = and i64 %132, 33554431
%134 = lshr i64 %132, 25
%135 = add i64 %71, %72
%136 = add i64 %135, %70
%137 = add i64 %136, %134
%138 = and i64 %137, 67108863
%139 = lshr i64 %137, 26
%140 = add i64 %68, %69
%141 = add i64 %140, %67
%142 = add i64 %141, %139
%143 = trunc i64 %0 to i32
%144 = tail call i32 @_br2_store(i32 %143, i64 %100, i32 8)
%145 = add i32 %143, 4
%146 = tail call i32 @_br2_store(i32 %145, i64 %105, i32 8)
%147 = add i32 %143, 8
%148 = tail call i32 @_br2_store(i32 %147, i64 %110, i32 8)
%149 = add i32 %143, 12
%150 = tail call i32 @_br2_store(i32 %149, i64 %115, i32 8)
%151 = add i32 %143, 16
%152 = tail call i32 @_br2_store(i32 %151, i64 %119, i32 8)
%153 = add i32 %143, 20
%154 = tail call i32 @_br2_store(i32 %153, i64 %123, i32 8)
%155 = add i32 %143, 24
%156 = tail call i32 @_br2_store(i32 %155, i64 %128, i32 8)
%157 = add i32 %143, 28
%158 = tail call i32 @_br2_store(i32 %157, i64 %133, i32 8)
%159 = add i32 %143, 32
%160 = tail call i32 @_br2_store(i32 %159, i64 %138, i32 8)
%161 = add i32 %143, 36
%162 = tail call i32 @_br2_store(i32 %161, i64 %142, i32 8)
ret void
}