Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

  • a3483c2
  • /
  • ntrulpr953
  • /
  • m4f
  • /
  • final_map.S
Raw File Download
Permalinks

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • content
  • directory
content badge Iframe embedding
swh:1:cnt:b5aa82edc52a92118a1ace5e6f5f40a97310154c
directory badge Iframe embedding
swh:1:dir:44be9ddb9504e88bf972d1897669f3ceb2eda5b8
Citations

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • content
  • directory
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
final_map.S

#include "macros.S"

.macro ldr_and_add a0, a1, ap, ap1, src0, src1, srcp, srcp1, mem0, mem1, memp, memp1
    ldr.w \a0, [\src0, \mem0]
    ldr.w \a1, [\src1, \mem1]
    ldr.w \ap, [\srcp, \memp]
    add \a0, \ap1
    add \a0, \ap
    ldr.w \ap1, [\srcp1, \memp1]
    add \a1, \ap
    add \a1, \ap1
.endm

.macro reduce_and_str des, a0, a1, twiddle, Qprime, Q, Qhalf, O_Mbar, O_M, tmp0, tmp1, tmp2
    montgomery_mul \a0, \twiddle, \tmp0, \a0, \Qprime, \Q, \tmp1
    montgomery_mul \a1, \twiddle, \tmp0, \a1, \Qprime, \Q, \tmp1
    central_reduce \a0, \Qhalf, \Q
    central_reduce \a1, \Qhalf, \Q
    vmov.w \tmp0, \tmp1, \O_Mbar, \O_M
    barrett \a0, \tmp0, \tmp1, \tmp2
    barrett \a1, \tmp0, \tmp1, \tmp2
    pkhbt \a0, \a0, \a1, lsl #16
    str.w \a0, [\des], #4
.endm

.syntax unified
.cpu cortex-m4

.align 2
.global __asm_final_map
.type __asm_final_map, %function
__asm_final_map:
    push {r4-r12, lr}

    ldr.w r11, [sp, #40]

    // invN_inv3_R2modM
    movw r12, #5545
    movt r12, #35
    neg.w r12, r12


    // O_Mbar
    movw r14, #21759
    movt r14, #10

    // O_M
    movw r7, #6343


    vmov.w s14, s15, r14, r7

    add.w r10, r0, #3840

    movw r8, #0

    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #0, #2584, #2432, #1176
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #1328, #72, #3740, #2484
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r0, #2656, #1380, #1228, #3812
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #124, #2708, #2556, #1280
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1452, #196, #24, #2608
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #2760, #1504, #1352, #96
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #248, #2832, #2660, #1404
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1576, #300, #148, #2732
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #2884, #1628, #1476, #200
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #372, #2956, #2784, #1528
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1680, #424, #272, #2856
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3008, #1752, #1580, #324
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #496, #3060, #2908, #1652
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1804, #548, #396, #2960
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3132, #1876, #1704, #448
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #600, #3184, #3032, #1776
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1928, #672, #500, #3084
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3256, #1980, #1828, #572
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #724, #3308, #3156, #1880
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2052, #796, #624, #3208
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3360, #2104, #1952, #696
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #848, #3432, #3260, #2004
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2176, #900, #748, #3332
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3484, #2228, #2076, #800
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #972, #3556, #3384, #2128
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2280, #1024, #872, #3456
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3608, #2352, #2180, #924
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #1096, #3660, #3508, #2252
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2404, #1148, #996, #3560
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3732, #2476, #2304, #1048
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #1200, #3784, #3632, #2376
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2528, #1272, #1100, #3684
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r10, #16, #2580, #2428, #1172
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1324, #68, #3756, #2480
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2652, #1396, #1224, #3808
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #120, #2704, #2552, #2576
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1448, #192, #1300, #44
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #2776, #1500, #2628, #1372
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #244, #2828, #116, #2680
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1572, #316, #1424, #168
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #2880, #1624, #2752, #1496
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #368, #2952, #220, #2804
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1696, #420, #1548, #292
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3004, #1748, #2876, #1600
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #492, #3076, #344, #2928
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1800, #544, #1672, #416
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3128, #1872, #2980, #1724
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #616, #3180, #468, #3052
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1924, #668, #1796, #520
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3252, #1996, #3104, #1848
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #720, #3304, #592, #3176
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2048, #792, #1900, #644
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3376, #2100, #3228, #1972
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #844, #3428, #716, #3280
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2172, #916, #2024, #768
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3480, #2224, #3352, #2096
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #968, #3552, #820, #3404
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2296, #1020, #2148, #892
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3604, #2348, #3476, #2200
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #1092, #3676, #944, #3528
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2400, #1144, #2272, #1016
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3728, #2472, #3580, #2324
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #1216, #3780, #1068, #3652
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2524, #1268, #2396, #1120
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #1292, #36, #3704, #2448
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r0, #2600, #1344, #1192, #3776
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #88, #2672, #2500, #1244
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #1416, #140, #3828, #2572
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #2724, #1468, #1316, #40
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #212, #2796, #2624, #1368
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1520, #264, #112, #2696
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #2848, #1592, #1420, #164
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #336, #2900, #2748, #1492
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1644, #388, #236, #2800
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #2972, #1716, #1544, #288
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #440, #3024, #2872, #1616
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1768, #512, #340, #2924
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3096, #1820, #1668, #412
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #564, #3148, #2996, #1720
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1892, #636, #464, #3048
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3200, #1944, #1792, #536
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #688, #3272, #3100, #1844
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2016, #740, #588, #3172
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3324, #2068, #1916, #640
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #812, #3396, #3224, #1968
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2120, #864, #712, #3296
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3448, #2192, #2020, #764
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #936, #3500, #3348, #2092
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2244, #988, #836, #3400
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3572, #2316, #2144, #888
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #1040, #3624, #3472, #2216
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2368, #1112, #940, #3524
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3696, #2420, #2268, #1012
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #1164, #3748, #3596, #2320
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2492, #1236, #1064, #3648
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3800, #2544, #2392, #1136
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1288, #32, #3700, #2444
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2616, #1340, #1188, #3772
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r10, #84, #2668, #2516, #1240
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1412, #156, #3824, #8
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #2720, #1464, #2592, #1336
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #208, #2792, #60, #2644
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1536, #260, #1388, #132
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #2844, #1588, #2716, #1440
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #332, #2916, #184, #2768
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1640, #384, #1512, #256
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #2968, #1712, #2820, #1564
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #456, #3020, #308, #2892
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1764, #508, #1636, #360
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3092, #1836, #2944, #1688
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #560, #3144, #432, #3016
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1888, #632, #1740, #484
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3216, #1940, #3068, #1812
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #684, #3268, #556, #3120
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2012, #756, #1864, #608
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3320, #2064, #3192, #1936
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #808, #3392, #660, #3244
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2136, #860, #1988, #732
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3444, #2188, #3316, #2040
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #932, #3516, #784, #3368
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2240, #984, #2112, #856
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3568, #2312, #3420, #2164
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #1056, #3620, #908, #3492
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2364, #1108, #2236, #960
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3692, #2436, #3544, #2288
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #1160, #3744, #1032, #3616
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2488, #1232, #2340, #1084
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3816, #2540, #3668, #2412
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r0, #2564, #1308, #1156, #3720
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #52, #2636, #2464, #1208
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #1360, #104, #3792, #2536
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #2688, #1432, #1260, #4
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #176, #2740, #2588, #1332
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1484, #228, #76, #2640
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #2812, #1556, #1384, #128
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #280, #2864, #2712, #1456
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1608, #352, #180, #2764
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #2936, #1660, #1508, #252
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #404, #2988, #2836, #1560
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1732, #476, #304, #2888
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3040, #1784, #1632, #376
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #528, #3112, #2940, #1684
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1856, #580, #428, #3012
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3164, #1908, #1756, #480
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #652, #3236, #3064, #1808
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1960, #704, #552, #3136
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3288, #2032, #1860, #604
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #776, #3340, #3188, #1932
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2084, #828, #676, #3240
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3412, #2156, #1984, #728
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #880, #3464, #3312, #2056
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2208, #952, #780, #3364
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3536, #2260, #2108, #852
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #1004, #3588, #3436, #2160
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2332, #1076, #904, #3488
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3640, #2384, #2232, #976
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #1128, #3712, #3540, #2284
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2456, #1180, #1028, #3612
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3764, #2508, #2356, #1080
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #1252, #3836, #3664, #2408
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2560, #1304, #1152, #3736
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r10, #48, #2632, #2460, #1204
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1376, #100, #3788, #2532
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2684, #1428, #1276, #1280
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #172, #2756, #24, #2608
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1480, #224, #1352, #96
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #2808, #1552, #2660, #1404
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #296, #2860, #148, #2732
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1604, #348, #1476, #200
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #2932, #1676, #2784, #1528
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #400, #2984, #272, #2856
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1728, #472, #1580, #324
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3056, #1780, #2908, #1652
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #524, #3108, #396, #2960
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1852, #596, #1704, #448
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3160, #1904, #3032, #1776
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #648, #3232, #500, #3084
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1976, #700, #1828, #572
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3284, #2028, #3156, #1880
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #772, #3356, #624, #3208
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2080, #824, #1952, #696
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3408, #2152, #3260, #2004
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #896, #3460, #748, #3332
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2204, #948, #2076, #800
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3532, #2276, #3384, #2128
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #1000, #3584, #872, #3456
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2328, #1072, #2180, #924
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3656, #2380, #3508, #2252
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #1124, #3708, #996, #3560
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2452, #1196, #2304, #1048
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3760, #2504, #3632, #2376
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #1248, #3832, #1100, #3684
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #16, #2580, #2428, #1172
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #1324, #68, #3756, #2480
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r0, #2652, #1396, #1224, #3808
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #120, #2704, #2552, #1296
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1448, #192, #20, #2604
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #2776, #1500, #1348, #92
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #244, #2828, #2676, #1400
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1572, #316, #144, #2728
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #2880, #1624, #1472, #216
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #368, #2952, #2780, #1524
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1696, #420, #268, #2852
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3004, #1748, #1596, #320
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #492, #3076, #2904, #1648
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1800, #544, #392, #2976
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3128, #1872, #1700, #444
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #616, #3180, #3028, #1772
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1924, #668, #516, #3080
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3252, #1996, #1824, #568
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #720, #3304, #3152, #1896
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2048, #792, #620, #3204
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3376, #2100, #1948, #692
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #844, #3428, #3276, #2000
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2172, #916, #744, #3328
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3480, #2224, #2072, #816
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #968, #3552, #3380, #2124
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2296, #1020, #868, #3452
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3604, #2348, #2196, #920
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #1092, #3676, #3504, #2248
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2400, #1144, #992, #3576
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3728, #2472, #2300, #1044
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #1216, #3780, #3628, #2372
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2524, #1268, #1116, #3680
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r10, #12, #2596, #2424, #1168
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1320, #64, #3752, #2496
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2648, #1392, #1220, #3804
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #136, #2700, #2548, #2572
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1444, #188, #1316, #40
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #2772, #1516, #2624, #1368
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #240, #2824, #112, #2696
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1568, #312, #1420, #164
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #2896, #1620, #2748, #1492
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #364, #2948, #236, #2800
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1692, #436, #1544, #288
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3000, #1744, #2872, #1616
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #488, #3072, #340, #2924
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1816, #540, #1668, #412
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3124, #1868, #2996, #1720
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #612, #3196, #464, #3048
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1920, #664, #1792, #536
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3248, #1992, #3100, #1844
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #736, #3300, #588, #3172
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2044, #788, #1916, #640
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3372, #2116, #3224, #1968
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #840, #3424, #712, #3296
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2168, #912, #2020, #764
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3496, #2220, #3348, #2092
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #964, #3548, #836, #3400
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2292, #1036, #2144, #888
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3600, #2344, #3472, #2216
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #1088, #3672, #940, #3524
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2416, #1140, #2268, #1012
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3724, #2468, #3596, #2320
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #1212, #3796, #1064, #3648
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2520, #1264, #2392, #1136
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #1288, #32, #3700, #2444
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r0, #2616, #1340, #1188, #3772
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #84, #2668, #2516, #1240
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #1412, #156, #3824, #2568
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #2720, #1464, #1312, #56
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #208, #2792, #2620, #1364
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1536, #260, #108, #2692
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #2844, #1588, #1436, #160
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #332, #2916, #2744, #1488
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1640, #384, #232, #2816
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #2968, #1712, #1540, #284
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #456, #3020, #2868, #1612
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1764, #508, #356, #2920
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3092, #1836, #1664, #408
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #560, #3144, #2992, #1736
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1888, #632, #460, #3044
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3216, #1940, #1788, #532
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #684, #3268, #3116, #1840
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2012, #756, #584, #3168
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3320, #2064, #1912, #656
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #808, #3392, #3220, #1964
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2136, #860, #708, #3292
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3444, #2188, #2036, #760
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #932, #3516, #3344, #2088
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2240, #984, #832, #3416
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3568, #2312, #2140, #884
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #1056, #3620, #3468, #2212
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2364, #1108, #956, #3520
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3692, #2436, #2264, #1008
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #1160, #3744, #3592, #2336
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2488, #1232, #1060, #3644
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3816, #2540, #2388, #1132
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1284, #28, #3716, #2440
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2612, #1356, #1184, #3768
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r10, #80, #2664, #2512, #1256
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1408, #152, #3820, #4
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #2736, #1460, #2588, #1332
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #204, #2788, #76, #2640
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1532, #276, #1384, #128
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #2840, #1584, #2712, #1456
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #328, #2912, #180, #2764
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1656, #380, #1508, #252
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #2964, #1708, #2836, #1560
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #452, #3036, #304, #2888
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1760, #504, #1632, #376
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3088, #1832, #2940, #1684
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #576, #3140, #428, #3012
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1884, #628, #1756, #480
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3212, #1956, #3064, #1808
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #680, #3264, #552, #3136
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2008, #752, #1860, #604
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3336, #2060, #3188, #1932
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #804, #3388, #676, #3240
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2132, #876, #1984, #728
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3440, #2184, #3312, #2056
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #928, #3512, #780, #3364
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2256, #980, #2108, #852
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3564, #2308, #3436, #2160
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #1052, #3636, #904, #3488
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2360, #1104, #2232, #976
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3688, #2432, #3540, #2284
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #1176, #3740, #1028, #3612
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2484, #1228, #2356, #1080
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3812, #2556, #3664, #2408
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r0, #2560, #1304, #1152, #3736
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #48, #2632, #2460, #1204
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #1376, #100, #3788, #2532
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #2684, #1428, #1276, #0
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #172, #2756, #2584, #1328
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1480, #224, #72, #2656
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #2808, #1552, #1380, #124
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #296, #2860, #2708, #1452
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1604, #348, #196, #2760
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #2932, #1676, #1504, #248
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #400, #2984, #2832, #1576
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1728, #472, #300, #2884
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3056, #1780, #1628, #372
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #524, #3108, #2956, #1680
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1852, #596, #424, #3008
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3160, #1904, #1752, #496
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #648, #3232, #3060, #1804
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1976, #700, #548, #3132
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3284, #2028, #1876, #600
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #772, #3356, #3184, #1928
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2080, #824, #672, #3256
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3408, #2152, #1980, #724
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #896, #3460, #3308, #2052
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2204, #948, #796, #3360
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3532, #2276, #2104, #848
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #1000, #3584, #3432, #2176
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2328, #1072, #900, #3484
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3656, #2380, #2228, #972
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #1124, #3708, #3556, #2280
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2452, #1196, #1024, #3608
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3760, #2504, #2352, #1096
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #1248, #3832, #3660, #2404
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2576, #1300, #1148, #3732
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r10, #44, #2628, #2476, #1200
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1372, #116, #3784, #2528
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2680, #1424, #1272, #1296
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #168, #2752, #20, #2604
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1496, #220, #1348, #92
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #2804, #1548, #2676, #1400
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #292, #2876, #144, #2728
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1600, #344, #1472, #216
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #2928, #1672, #2780, #1524
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #416, #2980, #268, #2852
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1724, #468, #1596, #320
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3052, #1796, #2904, #1648
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #520, #3104, #392, #2976
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1848, #592, #1700, #444
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3176, #1900, #3028, #1772
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #644, #3228, #516, #3080
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1972, #716, #1824, #568
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3280, #2024, #3152, #1896
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #768, #3352, #620, #3204
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2096, #820, #1948, #692
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3404, #2148, #3276, #2000
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #892, #3476, #744, #3328
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2200, #944, #2072, #816
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3528, #2272, #3380, #2124
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #1016, #3580, #868, #3452
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2324, #1068, #2196, #920
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3652, #2396, #3504, #2248
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #1120, #3704, #992, #3576
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2448, #1192, #2300, #1044
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3776, #2500, #3628, #2372
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #1244, #3828, #1116, #3680
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #12, #2596, #2424, #1168
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #1320, #64, #3752, #2496
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r0, #2648, #1392, #1220, #3804
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #136, #2700, #2548, #1292
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1444, #188, #36, #2600
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #2772, #1516, #1344, #88
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #240, #2824, #2672, #1416
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1568, #312, #140, #2724
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #2896, #1620, #1468, #212
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #364, #2948, #2796, #1520
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1692, #436, #264, #2848
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3000, #1744, #1592, #336
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #488, #3072, #2900, #1644
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1816, #540, #388, #2972
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3124, #1868, #1716, #440
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #612, #3196, #3024, #1768
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1920, #664, #512, #3096
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3248, #1992, #1820, #564
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #736, #3300, #3148, #1892
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2044, #788, #636, #3200
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3372, #2116, #1944, #688
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #840, #3424, #3272, #2016
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2168, #912, #740, #3324
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3496, #2220, #2068, #812
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #964, #3548, #3396, #2120
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2292, #1036, #864, #3448
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3600, #2344, #2192, #936
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #1088, #3672, #3500, #2244
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2416, #1140, #988, #3572
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3724, #2468, #2316, #1040
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #1212, #3796, #3624, #2368
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2520, #1264, #1112, #3696
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r10, #8, #2592, #2420, #1164
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1336, #60, #3748, #2492
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2644, #1388, #1236, #3800
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #132, #2716, #2544, #2568
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1440, #184, #1312, #56
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #2768, #1512, #2620, #1364
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #256, #2820, #108, #2692
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1564, #308, #1436, #160
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #2892, #1636, #2744, #1488
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #360, #2944, #232, #2816
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1688, #432, #1540, #284
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3016, #1740, #2868, #1612
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #484, #3068, #356, #2920
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1812, #556, #1664, #408
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3120, #1864, #2992, #1736
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #608, #3192, #460, #3044
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #1936, #660, #1788, #532
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3244, #1988, #3116, #1840
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #732, #3316, #584, #3168
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2040, #784, #1912, #656
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3368, #2112, #3220, #1964
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #856, #3420, #708, #3292
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2164, #908, #2036, #760
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3492, #2236, #3344, #2088
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #960, #3544, #832, #3416
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2288, #1032, #2140, #884
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3616, #2340, #3468, #2212
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #1084, #3668, #956, #3520
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2412, #1156, #2264, #1008
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #3720, #2464, #3592, #2336
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r10, r0, r0, #1208, #3792, #1060, #3644
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r10, r0, #2536, #1260, #2388, #1132
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #1284, #28, #3716, #2440
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r0, #2612, #1356, #1184, #3768
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #80, #2664, #2512, #1256
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r0, r10, #1408, #152, #3820, #2564
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #2736, #1460, #1308, #52
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #204, #2788, #2636, #1360
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1532, #276, #104, #2688
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #2840, #1584, #1432, #176
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #328, #2912, #2740, #1484
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1656, #380, #228, #2812
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #2964, #1708, #1556, #280
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #452, #3036, #2864, #1608
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1760, #504, #352, #2936
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3088, #1832, #1660, #404
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #576, #3140, #2988, #1732
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #1884, #628, #476, #3040
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3212, #1956, #1784, #528
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #680, #3264, #3112, #1856
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2008, #752, #580, #3164
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3336, #2060, #1908, #652
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #804, #3388, #3236, #1960
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2132, #876, #704, #3288
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3440, #2184, #2032, #776
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #928, #3512, #3340, #2084
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2256, #980, #828, #3412
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r10, r0, r10, #3564, #2308, #2156, #880
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r0, r0, r10, r0, #1052, #3636, #3464, #2208
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6
    ldr_and_add r4, r5, r7, r8, r10, r0, r10, r10, #2360, #1104, #952, #3536
    reduce_and_str r11, r4, r5, r12, r2, r3, r1, s14, s15, r14, r7, r6

    ldr.w r4, [r0, #3688]
    ldr.w r7, [r0, #2260]
    add r4, r8
    add r4, r7
    montgomery_mul r4, r12, r14, r4, r2, r3, r7
    central_reduce r4, r1, r3
    vmov.w r14, r7, s14, s15
    barrett r4, r14, r7, r6
    strh.w r4, [r11]

    pop {r4-r12, pc}














Software Heritage — Copyright (C) 2015–2025, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Contact— JavaScript license information— Web API

back to top