#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 int uint8_t;
typedef int uint64_t;

/* Variables and functions */
int UINT8_C(int);
void fiat_bls12_381_q_to_bytes(uint8_t out1[48], const uint64_t arg1[6]) {
  uint64_t x1 = (arg1[5]);
  uint64_t x2 = (arg1[4]);
  uint64_t x3 = (arg1[3]);
  uint64_t x4 = (arg1[2]);
  uint64_t x5 = (arg1[1]);
  uint64_t x6 = (arg1[0]);
  uint64_t x7 = (x6 >> 8);
  uint8_t x8 = (uint8_t)(x6 & UINT8_C(0xff));
  uint64_t x9 = (x7 >> 8);
  uint8_t x10 = (uint8_t)(x7 & UINT8_C(0xff));
  uint64_t x11 = (x9 >> 8);
  uint8_t x12 = (uint8_t)(x9 & UINT8_C(0xff));
  uint64_t x13 = (x11 >> 8);
  uint8_t x14 = (uint8_t)(x11 & UINT8_C(0xff));
  uint64_t x15 = (x13 >> 8);
  uint8_t x16 = (uint8_t)(x13 & UINT8_C(0xff));
  uint64_t x17 = (x15 >> 8);
  uint8_t x18 = (uint8_t)(x15 & UINT8_C(0xff));
  uint8_t x19 = (uint8_t)(x17 >> 8);
  uint8_t x20 = (uint8_t)(x17 & UINT8_C(0xff));
  uint8_t x21 = (uint8_t)(x19 & UINT8_C(0xff));
  uint64_t x22 = (x5 >> 8);
  uint8_t x23 = (uint8_t)(x5 & UINT8_C(0xff));
  uint64_t x24 = (x22 >> 8);
  uint8_t x25 = (uint8_t)(x22 & UINT8_C(0xff));
  uint64_t x26 = (x24 >> 8);
  uint8_t x27 = (uint8_t)(x24 & UINT8_C(0xff));
  uint64_t x28 = (x26 >> 8);
  uint8_t x29 = (uint8_t)(x26 & UINT8_C(0xff));
  uint64_t x30 = (x28 >> 8);
  uint8_t x31 = (uint8_t)(x28 & UINT8_C(0xff));
  uint64_t x32 = (x30 >> 8);
  uint8_t x33 = (uint8_t)(x30 & UINT8_C(0xff));
  uint8_t x34 = (uint8_t)(x32 >> 8);
  uint8_t x35 = (uint8_t)(x32 & UINT8_C(0xff));
  uint8_t x36 = (uint8_t)(x34 & UINT8_C(0xff));
  uint64_t x37 = (x4 >> 8);
  uint8_t x38 = (uint8_t)(x4 & UINT8_C(0xff));
  uint64_t x39 = (x37 >> 8);
  uint8_t x40 = (uint8_t)(x37 & UINT8_C(0xff));
  uint64_t x41 = (x39 >> 8);
  uint8_t x42 = (uint8_t)(x39 & UINT8_C(0xff));
  uint64_t x43 = (x41 >> 8);
  uint8_t x44 = (uint8_t)(x41 & UINT8_C(0xff));
  uint64_t x45 = (x43 >> 8);
  uint8_t x46 = (uint8_t)(x43 & UINT8_C(0xff));
  uint64_t x47 = (x45 >> 8);
  uint8_t x48 = (uint8_t)(x45 & UINT8_C(0xff));
  uint8_t x49 = (uint8_t)(x47 >> 8);
  uint8_t x50 = (uint8_t)(x47 & UINT8_C(0xff));
  uint8_t x51 = (uint8_t)(x49 & UINT8_C(0xff));
  uint64_t x52 = (x3 >> 8);
  uint8_t x53 = (uint8_t)(x3 & UINT8_C(0xff));
  uint64_t x54 = (x52 >> 8);
  uint8_t x55 = (uint8_t)(x52 & UINT8_C(0xff));
  uint64_t x56 = (x54 >> 8);
  uint8_t x57 = (uint8_t)(x54 & UINT8_C(0xff));
  uint64_t x58 = (x56 >> 8);
  uint8_t x59 = (uint8_t)(x56 & UINT8_C(0xff));
  uint64_t x60 = (x58 >> 8);
  uint8_t x61 = (uint8_t)(x58 & UINT8_C(0xff));
  uint64_t x62 = (x60 >> 8);
  uint8_t x63 = (uint8_t)(x60 & UINT8_C(0xff));
  uint8_t x64 = (uint8_t)(x62 >> 8);
  uint8_t x65 = (uint8_t)(x62 & UINT8_C(0xff));
  uint8_t x66 = (uint8_t)(x64 & UINT8_C(0xff));
  uint64_t x67 = (x2 >> 8);
  uint8_t x68 = (uint8_t)(x2 & UINT8_C(0xff));
  uint64_t x69 = (x67 >> 8);
  uint8_t x70 = (uint8_t)(x67 & UINT8_C(0xff));
  uint64_t x71 = (x69 >> 8);
  uint8_t x72 = (uint8_t)(x69 & UINT8_C(0xff));
  uint64_t x73 = (x71 >> 8);
  uint8_t x74 = (uint8_t)(x71 & UINT8_C(0xff));
  uint64_t x75 = (x73 >> 8);
  uint8_t x76 = (uint8_t)(x73 & UINT8_C(0xff));
  uint64_t x77 = (x75 >> 8);
  uint8_t x78 = (uint8_t)(x75 & UINT8_C(0xff));
  uint8_t x79 = (uint8_t)(x77 >> 8);
  uint8_t x80 = (uint8_t)(x77 & UINT8_C(0xff));
  uint8_t x81 = (uint8_t)(x79 & UINT8_C(0xff));
  uint64_t x82 = (x1 >> 8);
  uint8_t x83 = (uint8_t)(x1 & UINT8_C(0xff));
  uint64_t x84 = (x82 >> 8);
  uint8_t x85 = (uint8_t)(x82 & UINT8_C(0xff));
  uint64_t x86 = (x84 >> 8);
  uint8_t x87 = (uint8_t)(x84 & UINT8_C(0xff));
  uint64_t x88 = (x86 >> 8);
  uint8_t x89 = (uint8_t)(x86 & UINT8_C(0xff));
  uint64_t x90 = (x88 >> 8);
  uint8_t x91 = (uint8_t)(x88 & UINT8_C(0xff));
  uint64_t x92 = (x90 >> 8);
  uint8_t x93 = (uint8_t)(x90 & UINT8_C(0xff));
  uint8_t x94 = (uint8_t)(x92 >> 8);
  uint8_t x95 = (uint8_t)(x92 & UINT8_C(0xff));
  out1[0] = x8;
  out1[1] = x10;
  out1[2] = x12;
  out1[3] = x14;
  out1[4] = x16;
  out1[5] = x18;
  out1[6] = x20;
  out1[7] = x21;
  out1[8] = x23;
  out1[9] = x25;
  out1[10] = x27;
  out1[11] = x29;
  out1[12] = x31;
  out1[13] = x33;
  out1[14] = x35;
  out1[15] = x36;
  out1[16] = x38;
  out1[17] = x40;
  out1[18] = x42;
  out1[19] = x44;
  out1[20] = x46;
  out1[21] = x48;
  out1[22] = x50;
  out1[23] = x51;
  out1[24] = x53;
  out1[25] = x55;
  out1[26] = x57;
  out1[27] = x59;
  out1[28] = x61;
  out1[29] = x63;
  out1[30] = x65;
  out1[31] = x66;
  out1[32] = x68;
  out1[33] = x70;
  out1[34] = x72;
  out1[35] = x74;
  out1[36] = x76;
  out1[37] = x78;
  out1[38] = x80;
  out1[39] = x81;
  out1[40] = x83;
  out1[41] = x85;
  out1[42] = x87;
  out1[43] = x89;
  out1[44] = x91;
  out1[45] = x93;
  out1[46] = x95;
  out1[47] = x94;
}


x86 assembly (clang, -O0):
<fiat_bls12_381_q_to_bytes>:
push   %rbp
mov    %rsp,%rbp
sub    $0x250,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    -0x10(%rbp),%rax
mov    0x14(%rax),%eax
mov    %eax,-0x14(%rbp)
mov    -0x10(%rbp),%rax
mov    0x10(%rax),%eax
mov    %eax,-0x18(%rbp)
mov    -0x10(%rbp),%rax
mov    0xc(%rax),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%eax
mov    %eax,-0x20(%rbp)
mov    -0x10(%rbp),%rax
mov    0x4(%rax),%eax
mov    %eax,-0x24(%rbp)
mov    -0x10(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x28(%rbp)
mov    -0x28(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x28(%rbp),%eax
mov    %eax,-0x248(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x248(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x30(%rbp)
mov    -0x2c(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x34(%rbp)
mov    -0x2c(%rbp),%eax
mov    %eax,-0x244(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x244(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x38(%rbp)
mov    -0x34(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x3c(%rbp)
mov    -0x34(%rbp),%eax
mov    %eax,-0x240(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x240(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x40(%rbp)
mov    -0x3c(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x44(%rbp)
mov    -0x3c(%rbp),%eax
mov    %eax,-0x23c(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x23c(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x48(%rbp)
mov    -0x44(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x4c(%rbp)
mov    -0x44(%rbp),%eax
mov    %eax,-0x238(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x238(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x50(%rbp)
mov    -0x4c(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x54(%rbp)
mov    -0x4c(%rbp),%eax
mov    %eax,-0x234(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x234(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x58(%rbp)
mov    -0x54(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x5c(%rbp)
mov    -0x54(%rbp),%eax
mov    %eax,-0x230(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x230(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x60(%rbp)
mov    -0x5c(%rbp),%eax
mov    %eax,-0x22c(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x22c(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x64(%rbp)
mov    -0x24(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x68(%rbp)
mov    -0x24(%rbp),%eax
mov    %eax,-0x228(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x228(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x6c(%rbp)
mov    -0x68(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x70(%rbp)
mov    -0x68(%rbp),%eax
mov    %eax,-0x224(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x224(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x70(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x78(%rbp)
mov    -0x70(%rbp),%eax
mov    %eax,-0x220(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x220(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x78(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
mov    %eax,-0x21c(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x21c(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x80(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x88(%rbp)
mov    -0x80(%rbp),%eax
mov    %eax,-0x218(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x218(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x8c(%rbp)
mov    -0x88(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x90(%rbp)
mov    -0x88(%rbp),%eax
mov    %eax,-0x214(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x214(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x94(%rbp)
mov    -0x90(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x98(%rbp)
mov    -0x90(%rbp),%eax
mov    %eax,-0x210(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x210(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x9c(%rbp)
mov    -0x98(%rbp),%eax
mov    %eax,-0x20c(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x20c(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0xa0(%rbp)
mov    -0x20(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0xa4(%rbp)
mov    -0x20(%rbp),%eax
mov    %eax,-0x208(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x208(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0xa8(%rbp)
mov    -0xa4(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0xac(%rbp)
mov    -0xa4(%rbp),%eax
mov    %eax,-0x204(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x204(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0xb0(%rbp)
mov    -0xac(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0xb4(%rbp)
mov    -0xac(%rbp),%eax
mov    %eax,-0x200(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x200(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0xb8(%rbp)
mov    -0xb4(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0xbc(%rbp)
mov    -0xb4(%rbp),%eax
mov    %eax,-0x1fc(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1fc(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0xc0(%rbp)
mov    -0xbc(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0xc4(%rbp)
mov    -0xbc(%rbp),%eax
mov    %eax,-0x1f8(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1f8(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0xc8(%rbp)
mov    -0xc4(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0xcc(%rbp)
mov    -0xc4(%rbp),%eax
mov    %eax,-0x1f4(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1f4(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0xd0(%rbp)
mov    -0xcc(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0xd4(%rbp)
mov    -0xcc(%rbp),%eax
mov    %eax,-0x1f0(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1f0(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0xd8(%rbp)
mov    -0xd4(%rbp),%eax
mov    %eax,-0x1ec(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1ec(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0xdc(%rbp)
mov    -0x1c(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0xe0(%rbp)
mov    -0x1c(%rbp),%eax
mov    %eax,-0x1e8(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1e8(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe0(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0xe8(%rbp)
mov    -0xe0(%rbp),%eax
mov    %eax,-0x1e4(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1e4(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0xec(%rbp)
mov    -0xe8(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0xf0(%rbp)
mov    -0xe8(%rbp),%eax
mov    %eax,-0x1e0(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1e0(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0xf4(%rbp)
mov    -0xf0(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0xf8(%rbp)
mov    -0xf0(%rbp),%eax
mov    %eax,-0x1dc(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1dc(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0xfc(%rbp)
mov    -0xf8(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x100(%rbp)
mov    -0xf8(%rbp),%eax
mov    %eax,-0x1d8(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1d8(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x104(%rbp)
mov    -0x100(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x108(%rbp)
mov    -0x100(%rbp),%eax
mov    %eax,-0x1d4(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1d4(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x10c(%rbp)
mov    -0x108(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x110(%rbp)
mov    -0x108(%rbp),%eax
mov    %eax,-0x1d0(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1d0(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x114(%rbp)
mov    -0x110(%rbp),%eax
mov    %eax,-0x1cc(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1cc(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x118(%rbp)
mov    -0x18(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x11c(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0x1c8(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1c8(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x120(%rbp)
mov    -0x11c(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x124(%rbp)
mov    -0x11c(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1c4(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x128(%rbp)
mov    -0x124(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x12c(%rbp)
mov    -0x124(%rbp),%eax
mov    %eax,-0x1c0(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1c0(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x130(%rbp)
mov    -0x12c(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x134(%rbp)
mov    -0x12c(%rbp),%eax
mov    %eax,-0x1bc(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1bc(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x138(%rbp)
mov    -0x134(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x13c(%rbp)
mov    -0x134(%rbp),%eax
mov    %eax,-0x1b8(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1b8(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x140(%rbp)
mov    -0x13c(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x144(%rbp)
mov    -0x13c(%rbp),%eax
mov    %eax,-0x1b4(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1b4(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x148(%rbp)
mov    -0x144(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x14c(%rbp)
mov    -0x144(%rbp),%eax
mov    %eax,-0x1b0(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1b0(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x150(%rbp)
mov    -0x14c(%rbp),%eax
mov    %eax,-0x1ac(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1ac(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x154(%rbp)
mov    -0x14(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x158(%rbp)
mov    -0x14(%rbp),%eax
mov    %eax,-0x1a8(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1a8(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x15c(%rbp)
mov    -0x158(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x160(%rbp)
mov    -0x158(%rbp),%eax
mov    %eax,-0x1a4(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1a4(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x164(%rbp)
mov    -0x160(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x168(%rbp)
mov    -0x160(%rbp),%eax
mov    %eax,-0x1a0(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1a0(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x16c(%rbp)
mov    -0x168(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x170(%rbp)
mov    -0x168(%rbp),%eax
mov    %eax,-0x19c(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x19c(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x174(%rbp)
mov    -0x170(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x178(%rbp)
mov    -0x170(%rbp),%eax
mov    %eax,-0x198(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x198(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x17c(%rbp)
mov    -0x178(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x180(%rbp)
mov    -0x178(%rbp),%eax
mov    %eax,-0x194(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x194(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x184(%rbp)
mov    -0x180(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x188(%rbp)
mov    -0x180(%rbp),%eax
mov    %eax,-0x190(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x190(%rbp),%eax
and    %ecx,%eax
mov    %eax,-0x18c(%rbp)
mov    -0x30(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,(%rax)
mov    -0x38(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x4(%rax)
mov    -0x40(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x8(%rax)
mov    -0x48(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0xc(%rax)
mov    -0x50(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x10(%rax)
mov    -0x58(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x14(%rax)
mov    -0x60(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x18(%rax)
mov    -0x64(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x1c(%rax)
mov    -0x6c(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x20(%rax)
mov    -0x74(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x24(%rax)
mov    -0x7c(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x28(%rax)
mov    -0x84(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x2c(%rax)
mov    -0x8c(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x30(%rax)
mov    -0x94(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x34(%rax)
mov    -0x9c(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x38(%rax)
mov    -0xa0(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x3c(%rax)
mov    -0xa8(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x40(%rax)
mov    -0xb0(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x44(%rax)
mov    -0xb8(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x48(%rax)
mov    -0xc0(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x4c(%rax)
mov    -0xc8(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x50(%rax)
mov    -0xd0(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x54(%rax)
mov    -0xd8(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x58(%rax)
mov    -0xdc(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x5c(%rax)
mov    -0xe4(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x60(%rax)
mov    -0xec(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x64(%rax)
mov    -0xf4(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x68(%rax)
mov    -0xfc(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x6c(%rax)
mov    -0x104(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x70(%rax)
mov    -0x10c(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x74(%rax)
mov    -0x114(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x78(%rax)
mov    -0x118(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x7c(%rax)
mov    -0x120(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x80(%rax)
mov    -0x128(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x84(%rax)
mov    -0x130(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x88(%rax)
mov    -0x138(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x8c(%rax)
mov    -0x140(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x90(%rax)
mov    -0x148(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x94(%rax)
mov    -0x150(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x98(%rax)
mov    -0x154(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x9c(%rax)
mov    -0x15c(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0xa0(%rax)
mov    -0x164(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0xa4(%rax)
mov    -0x16c(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0xa8(%rax)
mov    -0x174(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0xac(%rax)
mov    -0x17c(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0xb0(%rax)
mov    -0x184(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0xb4(%rax)
mov    -0x18c(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0xb8(%rax)
mov    -0x188(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0xbc(%rax)
add    $0x250,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<fiat_bls12_381_q_to_bytes>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0xb8,%rsp
mov    %rdi,%rbx
mov    0x14(%rsi),%eax
mov    %eax,0x9c(%rsp)
mov    0x10(%rsi),%eax
mov    %eax,0x10(%rsp)
mov    0xc(%rsi),%eax
mov    %eax,0xc(%rsp)
mov    0x8(%rsi),%r12d
mov    (%rsi),%ebp
mov    0x4(%rsi),%r13d
mov    %ebp,%r14d
sar    $0x8,%r14d
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
mov    %eax,0xb4(%rsp)
mov    %ebp,%r15d
sar    $0x10,%r15d
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r14d,%eax
mov    %eax,0xb0(%rsp)
mov    %ebp,%r14d
sar    $0x18,%r14d
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r15d,%eax
mov    %eax,0xac(%rsp)
sar    $0x1f,%ebp
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r14d,%eax
mov    %eax,0xa8(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
mov    %eax,0xa4(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
mov    %eax,0xa0(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
mov    %eax,0x98(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
mov    %eax,0x94(%rsp)
mov    %r13d,%ebp
sar    $0x8,%ebp
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r13d,%eax
mov    %eax,0x90(%rsp)
mov    %r13d,%r14d
sar    $0x10,%r14d
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
mov    %eax,0x8c(%rsp)
mov    %r13d,%ebp
sar    $0x18,%ebp
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r14d,%eax
mov    %eax,0x88(%rsp)
sar    $0x1f,%r13d
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
mov    %eax,0x84(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r13d,%eax
mov    %eax,0x80(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r13d,%eax
mov    %eax,0x7c(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r13d,%eax
mov    %eax,0x78(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r13d,%eax
mov    %eax,0x74(%rsp)
mov    %r12d,%ebp
sar    $0x8,%ebp
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r12d,%eax
mov    %eax,0x70(%rsp)
mov    %r12d,%r14d
sar    $0x10,%r14d
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
mov    %eax,0x6c(%rsp)
mov    %r12d,%ebp
sar    $0x18,%ebp
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r14d,%eax
mov    %eax,0x68(%rsp)
sar    $0x1f,%r12d
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
mov    %eax,0x64(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r12d,%eax
mov    %eax,0x60(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r12d,%eax
mov    %eax,0x5c(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r12d,%eax
mov    %eax,0x58(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r12d,%eax
mov    %eax,0x54(%rsp)
mov    0xc(%rsp),%ebp
mov    %ebp,%r15d
sar    $0x8,%r15d
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
mov    %eax,0x50(%rsp)
mov    %ebp,%r14d
sar    $0x10,%r14d
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r15d,%eax
mov    %eax,0x4c(%rsp)
mov    %ebp,%r15d
sar    $0x18,%r15d
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r14d,%eax
mov    %eax,0x48(%rsp)
sar    $0x1f,%ebp
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r15d,%eax
mov    %eax,0xc(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
mov    %eax,0x44(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
mov    %eax,0x40(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
mov    %eax,0x3c(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
mov    %eax,0x38(%rsp)
mov    0x10(%rsp),%ebp
mov    %ebp,%r15d
sar    $0x8,%r15d
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
mov    %eax,0x34(%rsp)
mov    %ebp,%r14d
sar    $0x10,%r14d
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r15d,%eax
mov    %eax,0x30(%rsp)
mov    %ebp,%r15d
sar    $0x18,%r15d
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r14d,%eax
mov    %eax,0x2c(%rsp)
sar    $0x1f,%ebp
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r15d,%eax
mov    %eax,0x10(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
mov    %eax,0x28(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
mov    %eax,0x24(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
mov    %eax,0x20(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
mov    %eax,0x1c(%rsp)
mov    0x9c(%rsp),%r15d
mov    %r15d,%ebp
sar    $0x8,%ebp
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r15d,%eax
mov    %eax,0x18(%rsp)
mov    %r15d,%r14d
sar    $0x10,%r14d
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
mov    %eax,0x14(%rsp)
mov    %r15d,%ebp
sar    $0x18,%ebp
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%r12d
and    %r14d,%r12d
sar    $0x1f,%r15d
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%r13d
and    %ebp,%r13d
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ebp
and    %r15d,%ebp
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%r14d
and    %r15d,%r14d
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    0xb4(%rsp),%ecx
mov    %ecx,(%rbx)
mov    0xb0(%rsp),%ecx
mov    %ecx,0x4(%rbx)
mov    0xac(%rsp),%ecx
mov    %ecx,0x8(%rbx)
mov    0xa8(%rsp),%ecx
mov    %ecx,0xc(%rbx)
mov    0xa4(%rsp),%ecx
mov    %ecx,0x10(%rbx)
mov    0xa0(%rsp),%ecx
mov    %ecx,0x14(%rbx)
mov    0x98(%rsp),%ecx
mov    %ecx,0x18(%rbx)
mov    0x94(%rsp),%ecx
mov    %ecx,0x1c(%rbx)
mov    0x90(%rsp),%ecx
mov    %ecx,0x20(%rbx)
mov    0x8c(%rsp),%ecx
mov    %ecx,0x24(%rbx)
mov    0x88(%rsp),%ecx
mov    %ecx,0x28(%rbx)
mov    0x84(%rsp),%ecx
mov    %ecx,0x2c(%rbx)
mov    0x80(%rsp),%ecx
mov    %ecx,0x30(%rbx)
mov    0x7c(%rsp),%ecx
mov    %ecx,0x34(%rbx)
mov    0x78(%rsp),%ecx
mov    %ecx,0x38(%rbx)
mov    0x74(%rsp),%ecx
mov    %ecx,0x3c(%rbx)
mov    0x70(%rsp),%ecx
mov    %ecx,0x40(%rbx)
mov    0x6c(%rsp),%ecx
mov    %ecx,0x44(%rbx)
mov    0x68(%rsp),%ecx
mov    %ecx,0x48(%rbx)
mov    0x64(%rsp),%ecx
mov    %ecx,0x4c(%rbx)
mov    0x60(%rsp),%ecx
mov    %ecx,0x50(%rbx)
mov    0x5c(%rsp),%ecx
mov    %ecx,0x54(%rbx)
mov    0x58(%rsp),%ecx
mov    %ecx,0x58(%rbx)
mov    0x54(%rsp),%ecx
mov    %ecx,0x5c(%rbx)
mov    0x50(%rsp),%ecx
mov    %ecx,0x60(%rbx)
mov    0x4c(%rsp),%ecx
mov    %ecx,0x64(%rbx)
mov    0x48(%rsp),%ecx
mov    %ecx,0x68(%rbx)
mov    0xc(%rsp),%ecx
mov    %ecx,0x6c(%rbx)
mov    0x44(%rsp),%ecx
mov    %ecx,0x70(%rbx)
mov    0x40(%rsp),%ecx
mov    %ecx,0x74(%rbx)
mov    0x3c(%rsp),%ecx
mov    %ecx,0x78(%rbx)
mov    0x38(%rsp),%ecx
mov    %ecx,0x7c(%rbx)
mov    0x34(%rsp),%ecx
mov    %ecx,0x80(%rbx)
mov    0x30(%rsp),%ecx
mov    %ecx,0x84(%rbx)
mov    0x2c(%rsp),%ecx
mov    %ecx,0x88(%rbx)
mov    0x10(%rsp),%ecx
mov    %ecx,0x8c(%rbx)
mov    0x28(%rsp),%ecx
mov    %ecx,0x90(%rbx)
mov    0x24(%rsp),%ecx
mov    %ecx,0x94(%rbx)
mov    0x20(%rsp),%ecx
mov    %ecx,0x98(%rbx)
mov    0x1c(%rsp),%ecx
mov    %ecx,0x9c(%rbx)
mov    0x18(%rsp),%ecx
mov    %ecx,0xa0(%rbx)
mov    0x14(%rsp),%ecx
mov    %ecx,0xa4(%rbx)
mov    %r12d,0xa8(%rbx)
mov    %r13d,0xac(%rbx)
mov    %ebp,0xb0(%rbx)
mov    %r14d,0xb4(%rbx)
and    %r15d,%eax
mov    %eax,0xb8(%rbx)
mov    %r15d,0xbc(%rbx)
add    $0xb8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

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

LLVM IR (-O2):
define void @fiat_bls12_381_q_to_bytes(i32* writeonly %0, i32* nocapture %1) {
%3 = getelementptr inbounds i32, i32* %1, i64 5
%4 = load i32, i32* %3
%5 = getelementptr inbounds i32, i32* %1, i64 4
%6 = load i32, i32* %5
%7 = getelementptr inbounds i32, i32* %1, i64 3
%8 = load i32, i32* %7
%9 = getelementptr inbounds i32, i32* %1, i64 2
%10 = load i32, i32* %9
%11 = getelementptr inbounds i32, i32* %1, i64 1
%12 = load i32, i32* %11
%13 = load i32, i32* %1
%14 = ashr i32 %13, 8
%15 = tail call i32 @UINT8_C(i32 255)
%16 = and i32 %15, %13
%17 = ashr i32 %13, 16
%18 = tail call i32 @UINT8_C(i32 255)
%19 = and i32 %18, %14
%20 = ashr i32 %13, 24
%21 = tail call i32 @UINT8_C(i32 255)
%22 = and i32 %21, %17
%23 = ashr i32 %13, 31
%24 = tail call i32 @UINT8_C(i32 255)
%25 = and i32 %24, %20
%26 = tail call i32 @UINT8_C(i32 255)
%27 = and i32 %26, %23
%28 = tail call i32 @UINT8_C(i32 255)
%29 = and i32 %28, %23
%30 = tail call i32 @UINT8_C(i32 255)
%31 = and i32 %30, %23
%32 = tail call i32 @UINT8_C(i32 255)
%33 = and i32 %32, %23
%34 = ashr i32 %12, 8
%35 = tail call i32 @UINT8_C(i32 255)
%36 = and i32 %35, %12
%37 = ashr i32 %12, 16
%38 = tail call i32 @UINT8_C(i32 255)
%39 = and i32 %38, %34
%40 = ashr i32 %12, 24
%41 = tail call i32 @UINT8_C(i32 255)
%42 = and i32 %41, %37
%43 = ashr i32 %12, 31
%44 = tail call i32 @UINT8_C(i32 255)
%45 = and i32 %44, %40
%46 = tail call i32 @UINT8_C(i32 255)
%47 = and i32 %46, %43
%48 = tail call i32 @UINT8_C(i32 255)
%49 = and i32 %48, %43
%50 = tail call i32 @UINT8_C(i32 255)
%51 = and i32 %50, %43
%52 = tail call i32 @UINT8_C(i32 255)
%53 = and i32 %52, %43
%54 = ashr i32 %10, 8
%55 = tail call i32 @UINT8_C(i32 255)
%56 = and i32 %55, %10
%57 = ashr i32 %10, 16
%58 = tail call i32 @UINT8_C(i32 255)
%59 = and i32 %58, %54
%60 = ashr i32 %10, 24
%61 = tail call i32 @UINT8_C(i32 255)
%62 = and i32 %61, %57
%63 = ashr i32 %10, 31
%64 = tail call i32 @UINT8_C(i32 255)
%65 = and i32 %64, %60
%66 = tail call i32 @UINT8_C(i32 255)
%67 = and i32 %66, %63
%68 = tail call i32 @UINT8_C(i32 255)
%69 = and i32 %68, %63
%70 = tail call i32 @UINT8_C(i32 255)
%71 = and i32 %70, %63
%72 = tail call i32 @UINT8_C(i32 255)
%73 = and i32 %72, %63
%74 = ashr i32 %8, 8
%75 = tail call i32 @UINT8_C(i32 255)
%76 = and i32 %75, %8
%77 = ashr i32 %8, 16
%78 = tail call i32 @UINT8_C(i32 255)
%79 = and i32 %78, %74
%80 = ashr i32 %8, 24
%81 = tail call i32 @UINT8_C(i32 255)
%82 = and i32 %81, %77
%83 = ashr i32 %8, 31
%84 = tail call i32 @UINT8_C(i32 255)
%85 = and i32 %84, %80
%86 = tail call i32 @UINT8_C(i32 255)
%87 = and i32 %86, %83
%88 = tail call i32 @UINT8_C(i32 255)
%89 = and i32 %88, %83
%90 = tail call i32 @UINT8_C(i32 255)
%91 = and i32 %90, %83
%92 = tail call i32 @UINT8_C(i32 255)
%93 = and i32 %92, %83
%94 = ashr i32 %6, 8
%95 = tail call i32 @UINT8_C(i32 255)
%96 = and i32 %95, %6
%97 = ashr i32 %6, 16
%98 = tail call i32 @UINT8_C(i32 255)
%99 = and i32 %98, %94
%100 = ashr i32 %6, 24
%101 = tail call i32 @UINT8_C(i32 255)
%102 = and i32 %101, %97
%103 = ashr i32 %6, 31
%104 = tail call i32 @UINT8_C(i32 255)
%105 = and i32 %104, %100
%106 = tail call i32 @UINT8_C(i32 255)
%107 = and i32 %106, %103
%108 = tail call i32 @UINT8_C(i32 255)
%109 = and i32 %108, %103
%110 = tail call i32 @UINT8_C(i32 255)
%111 = and i32 %110, %103
%112 = tail call i32 @UINT8_C(i32 255)
%113 = and i32 %112, %103
%114 = ashr i32 %4, 8
%115 = tail call i32 @UINT8_C(i32 255)
%116 = and i32 %115, %4
%117 = ashr i32 %4, 16
%118 = tail call i32 @UINT8_C(i32 255)
%119 = and i32 %118, %114
%120 = ashr i32 %4, 24
%121 = tail call i32 @UINT8_C(i32 255)
%122 = and i32 %121, %117
%123 = ashr i32 %4, 31
%124 = tail call i32 @UINT8_C(i32 255)
%125 = and i32 %124, %120
%126 = tail call i32 @UINT8_C(i32 255)
%127 = and i32 %126, %123
%128 = tail call i32 @UINT8_C(i32 255)
%129 = and i32 %128, %123
%130 = tail call i32 @UINT8_C(i32 255)
%131 = and i32 %130, %123
store i32 %16, i32* %0
%132 = getelementptr inbounds i32, i32* %0, i64 1
store i32 %19, i32* %132
%133 = getelementptr inbounds i32, i32* %0, i64 2
store i32 %22, i32* %133
%134 = getelementptr inbounds i32, i32* %0, i64 3
store i32 %25, i32* %134
%135 = getelementptr inbounds i32, i32* %0, i64 4
store i32 %27, i32* %135
%136 = getelementptr inbounds i32, i32* %0, i64 5
store i32 %29, i32* %136
%137 = getelementptr inbounds i32, i32* %0, i64 6
store i32 %31, i32* %137
%138 = getelementptr inbounds i32, i32* %0, i64 7
store i32 %33, i32* %138
%139 = getelementptr inbounds i32, i32* %0, i64 8
store i32 %36, i32* %139
%140 = getelementptr inbounds i32, i32* %0, i64 9
store i32 %39, i32* %140
%141 = getelementptr inbounds i32, i32* %0, i64 10
store i32 %42, i32* %141
%142 = getelementptr inbounds i32, i32* %0, i64 11
store i32 %45, i32* %142
%143 = getelementptr inbounds i32, i32* %0, i64 12
store i32 %47, i32* %143
%144 = getelementptr inbounds i32, i32* %0, i64 13
store i32 %49, i32* %144
%145 = getelementptr inbounds i32, i32* %0, i64 14
store i32 %51, i32* %145
%146 = getelementptr inbounds i32, i32* %0, i64 15
store i32 %53, i32* %146
%147 = getelementptr inbounds i32, i32* %0, i64 16
store i32 %56, i32* %147
%148 = getelementptr inbounds i32, i32* %0, i64 17
store i32 %59, i32* %148
%149 = getelementptr inbounds i32, i32* %0, i64 18
store i32 %62, i32* %149
%150 = getelementptr inbounds i32, i32* %0, i64 19
store i32 %65, i32* %150
%151 = getelementptr inbounds i32, i32* %0, i64 20
store i32 %67, i32* %151
%152 = getelementptr inbounds i32, i32* %0, i64 21
store i32 %69, i32* %152
%153 = getelementptr inbounds i32, i32* %0, i64 22
store i32 %71, i32* %153
%154 = getelementptr inbounds i32, i32* %0, i64 23
store i32 %73, i32* %154
%155 = getelementptr inbounds i32, i32* %0, i64 24
store i32 %76, i32* %155
%156 = getelementptr inbounds i32, i32* %0, i64 25
store i32 %79, i32* %156
%157 = getelementptr inbounds i32, i32* %0, i64 26
store i32 %82, i32* %157
%158 = getelementptr inbounds i32, i32* %0, i64 27
store i32 %85, i32* %158
%159 = getelementptr inbounds i32, i32* %0, i64 28
store i32 %87, i32* %159
%160 = getelementptr inbounds i32, i32* %0, i64 29
store i32 %89, i32* %160
%161 = getelementptr inbounds i32, i32* %0, i64 30
store i32 %91, i32* %161
%162 = getelementptr inbounds i32, i32* %0, i64 31
store i32 %93, i32* %162
%163 = getelementptr inbounds i32, i32* %0, i64 32
store i32 %96, i32* %163
%164 = getelementptr inbounds i32, i32* %0, i64 33
store i32 %99, i32* %164
%165 = getelementptr inbounds i32, i32* %0, i64 34
store i32 %102, i32* %165
%166 = getelementptr inbounds i32, i32* %0, i64 35
store i32 %105, i32* %166
%167 = getelementptr inbounds i32, i32* %0, i64 36
store i32 %107, i32* %167
%168 = getelementptr inbounds i32, i32* %0, i64 37
store i32 %109, i32* %168
%169 = getelementptr inbounds i32, i32* %0, i64 38
store i32 %111, i32* %169
%170 = getelementptr inbounds i32, i32* %0, i64 39
store i32 %113, i32* %170
%171 = getelementptr inbounds i32, i32* %0, i64 40
store i32 %116, i32* %171
%172 = getelementptr inbounds i32, i32* %0, i64 41
store i32 %119, i32* %172
%173 = getelementptr inbounds i32, i32* %0, i64 42
store i32 %122, i32* %173
%174 = getelementptr inbounds i32, i32* %0, i64 43
store i32 %125, i32* %174
%175 = getelementptr inbounds i32, i32* %0, i64 44
store i32 %127, i32* %175
%176 = getelementptr inbounds i32, i32* %0, i64 45
store i32 %129, i32* %176
%177 = getelementptr inbounds i32, i32* %0, i64 46
store i32 %131, i32* %177
%178 = getelementptr inbounds i32, i32* %0, i64 47
store i32 %123, i32* %178
ret void
}