source: icGREP/icgrep-devel/icgrep/categories_Nd.h @ 3969

Last change on this file since 3969 was 3969, checked in by daled, 5 years ago

A change to the way unicode categories are handled. This version supports the unicode categlry 'Nd'.

File size: 85.3 KB
Line 
1// Stream struct and function headers and definitions
2#include "icgrep.h"
3
4#include <simd-lib/bitblock.hpp>
5#include <simd-lib/carryQ.hpp>
6#include <simd-lib/pabloSupport.hpp>
7
8#define LocalCarryDeclare(name, count)\
9CarryArray<count, 0> name;\
10
11//BitBlock EOF_mask = simd<1>::constant<1>();
12
13
14  struct Struct_Nd {
15  BitBlock cc;
16};
17
18struct Nd {
19  Nd() { 
20     // std::cout << "struct Nd constructor!" << std::endl;
21 }
22  ~Nd(){
23     // std::cout << "struct Nd deconstruted!" << std::endl;
24  }
25
26  IDISA_INLINE void do_block(Basis_bits & basis_bits, Struct_Nd & struct_Nd) {
27                BitBlock tmp1, tmp2, tmp3, tmp4, tmp5, CC_Nd_30_39, tmp6, tmp7, tmp8, tmp9;
28                BitBlock tmp10, bytetest_c2_df, tmp11, tmp12, tmp13, tmp14, tmp15;
29                BitBlock bytetest_e1_ef, tmp16, bytetest_a0_bf, tmp17, bytetest_e0, tmp18;
30                BitBlock bytetest_e0_adv, range_test_800_ffff_1, test_80_ffff, tmp19;
31                BitBlock bytetest_80_8f, tmp20, tmp21, tmp22, bytetest_f4, tmp23;
32                BitBlock bytetest_f4_adv, tmp24, bytetest_f1_f3, bytetest_90_bf, bytetest_f0;
33                BitBlock tmp25, bytetest_f0_adv, range_test_10000_fffff_1;
34                BitBlock range_test_10000_10ffff_1, test_80_10ffff, r80_10ffff_tmp1;
35                BitBlock r80_10ffff_tmp2, r80_10ffff_tmp3, r80_10ffff_tmp4, r80_10ffff_tmp5;
36                BitBlock r80_7ff_tmp1, r80_7ff_tmp2, bytetest_d0_df, r400_7ff_tmp1;
37                BitBlock r400_7ff_tmp2, r400_7ff_tmp3, r400_7ff_tmp4, bytetest_d8_db;
38                BitBlock r600_6ff_tmp1, r600_6ff_tmp2, r600_6ff_tmp3, CC_Nd_660_669_sfx;
39                BitBlock r600_6ff_tmp4, r600_6ff_tmp5, r600_6ff_tmp6, r600_6ff_tmp7;
40                BitBlock r600_6ff_tmp8, r600_6ff_tmp9, CC_d9, r600_6ff_tmp10, CC_Nd_660_669;
41                BitBlock r600_6ff_tmp11, CC_Nd_6f0_6f9_sfx, r600_6ff_tmp12, r600_6ff_tmp13;
42                BitBlock CC_db, r600_6ff_tmp14, CC_Nd_6f0_6f9, r400_7ff_tmp5, bytetest_dc_df;
43                BitBlock bytetest_80_bf, r700_7ff_tmp1, r700_7ff_tmp2, r700_7ff_tmp3;
44                BitBlock bytetest_df, r700_7ff_tmp4, bytetest_df_adv, r7c0_7ff_tmp1;
45                BitBlock r7c0_7ff_tmp2, r7c0_7ff_tmp3, CC_Nd_7c0_7c9_sfx, r7c0_7ff_tmp4;
46                BitBlock r7c0_7ff_tmp5, r7c0_7ff_tmp6, CC_df, r7c0_7ff_tmp7, CC_Nd_7c0_7c9;
47                BitBlock r80_10ffff_tmp6, r80_10ffff_tmp7, r80_10ffff_tmp8, r80_10ffff_tmp9;
48                BitBlock r80_10ffff_tmp10, r80_10ffff_tmp11, r80_10ffff_tmp12;
49                BitBlock r80_10ffff_tmp13, r800_ffff_tmp1, r800_ffff_tmp2, r800_ffff_tmp3;
50                BitBlock r800_ffff_tmp4, r800_ffff_tmp5, CC_Nd_966_96f_sfx_sfx, r800_ffff_tmp6;
51                BitBlock r800_ffff_tmp7, r800_ffff_tmp8, CC_a5, r800_ffff_tmp9;
52                BitBlock CC_Nd_966_96f_sfx, r800_ffff_tmp10, r800_ffff_tmp11, r800_ffff_tmp12;
53                BitBlock CC_e0, r800_ffff_tmp13, CC_Nd_966_96f, CC_Nd_9e6_9ef_sfx_sfx;
54                BitBlock r800_ffff_tmp14, r800_ffff_tmp15, CC_a7, r800_ffff_tmp16;
55                BitBlock CC_Nd_9e6_9ef_sfx, CC_Nd_9e6_9ef, CC_Nd_a66_a6f_sfx_sfx;
56                BitBlock r800_ffff_tmp17, r800_ffff_tmp18, CC_a9, r800_ffff_tmp19;
57                BitBlock CC_Nd_a66_a6f_sfx, CC_Nd_a66_a6f, CC_Nd_ae6_aef_sfx_sfx;
58                BitBlock r800_ffff_tmp20, CC_ab, r800_ffff_tmp21, CC_Nd_ae6_aef_sfx;
59                BitBlock CC_Nd_ae6_aef, CC_Nd_b66_b6f_sfx_sfx, r800_ffff_tmp22;
60                BitBlock r800_ffff_tmp23, CC_ad, r800_ffff_tmp24, CC_Nd_b66_b6f_sfx;
61                BitBlock CC_Nd_b66_b6f, CC_Nd_be6_bef_sfx_sfx, r800_ffff_tmp25, CC_af;
62                BitBlock r800_ffff_tmp26, CC_Nd_be6_bef_sfx, CC_Nd_be6_bef;
63                BitBlock CC_Nd_c66_c6f_sfx_sfx, r800_ffff_tmp27, r800_ffff_tmp28, CC_b1;
64                BitBlock r800_ffff_tmp29, CC_Nd_c66_c6f_sfx, CC_Nd_c66_c6f;
65                BitBlock CC_Nd_ce6_cef_sfx_sfx, r800_ffff_tmp30, CC_b3, r800_ffff_tmp31;
66                BitBlock CC_Nd_ce6_cef_sfx, CC_Nd_ce6_cef, CC_Nd_d66_d6f_sfx_sfx, CC_b5;
67                BitBlock r800_ffff_tmp32, CC_Nd_d66_d6f_sfx, CC_Nd_d66_d6f, r800_ffff_tmp33;
68                BitBlock r800_ffff_tmp34, CC_Nd_e50_e59_sfx_sfx, CC_b9, r800_ffff_tmp35;
69                BitBlock CC_Nd_e50_e59_sfx, CC_Nd_e50_e59, CC_Nd_ed0_ed9_sfx_sfx, CC_bb;
70                BitBlock r800_ffff_tmp36, CC_Nd_ed0_ed9_sfx, CC_Nd_ed0_ed9;
71                BitBlock CC_Nd_f20_f29_sfx_sfx, r800_ffff_tmp37, CC_bc, r800_ffff_tmp38;
72                BitBlock CC_Nd_f20_f29_sfx, CC_Nd_f20_f29, r800_ffff_tmp39, r800_ffff_tmp40;
73                BitBlock CC_Nd_1040_1049_sfx_sfx, CC_81, r800_ffff_tmp41, CC_Nd_1040_1049_sfx;
74                BitBlock CC_e1, r800_ffff_tmp42, CC_Nd_1040_1049, CC_Nd_1090_1099_sfx_sfx;
75                BitBlock r800_ffff_tmp43, r800_ffff_tmp44, CC_82, r800_ffff_tmp45;
76                BitBlock CC_Nd_1090_1099_sfx, CC_Nd_1090_1099, CC_Nd_17e0_17e9_sfx_sfx, CC_9f;
77                BitBlock r800_ffff_tmp46, CC_Nd_17e0_17e9_sfx, CC_Nd_17e0_17e9;
78                BitBlock CC_Nd_1810_1819_sfx_sfx, CC_a0, r800_ffff_tmp47, CC_Nd_1810_1819_sfx;
79                BitBlock CC_Nd_1810_1819, CC_Nd_1946_194f_sfx_sfx, CC_Nd_1946_194f_sfx;
80                BitBlock CC_Nd_1946_194f, CC_Nd_19d0_19d9_sfx_sfx, CC_Nd_19d0_19d9_sfx;
81                BitBlock CC_Nd_19d0_19d9, CC_Nd_1a80_1a89_sfx_sfx, r800_ffff_tmp48, CC_aa;
82                BitBlock r800_ffff_tmp49, CC_Nd_1a80_1a89_sfx, CC_Nd_1a80_1a89;
83                BitBlock CC_Nd_1a90_1a99_sfx_sfx, CC_Nd_1a90_1a99_sfx, CC_Nd_1a90_1a99;
84                BitBlock CC_Nd_1b50_1b59_sfx_sfx, CC_Nd_1b50_1b59_sfx, CC_Nd_1b50_1b59;
85                BitBlock CC_Nd_1bb0_1bb9_sfx_sfx, r800_ffff_tmp50, CC_ae, r800_ffff_tmp51;
86                BitBlock CC_Nd_1bb0_1bb9_sfx, CC_Nd_1bb0_1bb9, CC_Nd_1c40_1c49_sfx_sfx;
87                BitBlock CC_Nd_1c40_1c49_sfx, CC_Nd_1c40_1c49, CC_Nd_1c50_1c59_sfx_sfx;
88                BitBlock CC_Nd_1c50_1c59_sfx, CC_Nd_1c50_1c59, CC_Nd_a620_a629_sfx_sfx;
89                BitBlock r800_ffff_tmp52, CC_98, r800_ffff_tmp53, CC_Nd_a620_a629_sfx, CC_ea;
90                BitBlock r800_ffff_tmp54, CC_Nd_a620_a629, CC_Nd_a8d0_a8d9_sfx_sfx, CC_a3;
91                BitBlock r800_ffff_tmp55, CC_Nd_a8d0_a8d9_sfx, CC_Nd_a8d0_a8d9;
92                BitBlock CC_Nd_a900_a909_sfx_sfx, r800_ffff_tmp56, CC_a4, r800_ffff_tmp57;
93                BitBlock CC_Nd_a900_a909_sfx, CC_Nd_a900_a909, CC_Nd_a9d0_a9d9_sfx_sfx;
94                BitBlock CC_Nd_a9d0_a9d9_sfx, CC_Nd_a9d0_a9d9, CC_Nd_aa50_aa59_sfx_sfx;
95                BitBlock CC_Nd_aa50_aa59_sfx, CC_Nd_aa50_aa59, CC_Nd_abf0_abf9_sfx_sfx;
96                BitBlock CC_Nd_abf0_abf9_sfx, CC_Nd_abf0_abf9, CC_Nd_ff10_ff19_sfx_sfx;
97                BitBlock CC_Nd_ff10_ff19_sfx, CC_ef, r800_ffff_tmp58, CC_Nd_ff10_ff19;
98                BitBlock r80_10ffff_tmp14, r80_10ffff_tmp15, r80_10ffff_tmp16;
99                BitBlock r80_10ffff_tmp17, r80_10ffff_tmp18, r80_10ffff_tmp19;
100                BitBlock r80_10ffff_tmp20, r10000_10ffff_tmp1, CC_Nd_104a0_104a9_sfx_sfx_sfx;
101                BitBlock r10000_10ffff_tmp2, r10000_10ffff_tmp3, r10000_10ffff_tmp4;
102                BitBlock r10000_10ffff_tmp5, CC_92, r10000_10ffff_tmp6;
103                BitBlock CC_Nd_104a0_104a9_sfx_sfx, CC_90, r10000_10ffff_tmp7;
104                BitBlock CC_Nd_104a0_104a9_sfx, r10000_10ffff_tmp8, CC_f0, r10000_10ffff_tmp9;
105                BitBlock CC_Nd_104a0_104a9, r10000_10ffff_tmp10, r10000_10ffff_tmp11;
106                BitBlock CC_Nd_11066_1106f_sfx_sfx_sfx, r10000_10ffff_tmp12;
107                BitBlock r10000_10ffff_tmp13, r10000_10ffff_tmp14, r10000_10ffff_tmp15;
108                BitBlock r10000_10ffff_tmp16, CC_Nd_11066_1106f_sfx_sfx, CC_91;
109                BitBlock r10000_10ffff_tmp17, CC_Nd_11066_1106f_sfx, CC_Nd_11066_1106f;
110                BitBlock r10000_10ffff_tmp18, CC_Nd_110f0_110f9_sfx_sfx_sfx;
111                BitBlock r10000_10ffff_tmp19, r10000_10ffff_tmp20, CC_83, r10000_10ffff_tmp21;
112                BitBlock CC_Nd_110f0_110f9_sfx_sfx, CC_Nd_110f0_110f9_sfx, CC_Nd_110f0_110f9;
113                BitBlock CC_Nd_11136_1113f_sfx_sfx_sfx, r10000_10ffff_tmp22;
114                BitBlock r10000_10ffff_tmp23, CC_84, r10000_10ffff_tmp24;
115                BitBlock CC_Nd_11136_1113f_sfx_sfx, CC_Nd_11136_1113f_sfx, CC_Nd_11136_1113f;
116                BitBlock CC_Nd_111d0_111d9_sfx_sfx_sfx, r10000_10ffff_tmp25, CC_87;
117                BitBlock r10000_10ffff_tmp26, CC_Nd_111d0_111d9_sfx_sfx, CC_Nd_111d0_111d9_sfx;
118                BitBlock CC_Nd_111d0_111d9, CC_Nd_116c0_116c9_sfx_sfx_sfx, r10000_10ffff_tmp27;
119                BitBlock r10000_10ffff_tmp28, CC_9b, r10000_10ffff_tmp29;
120                BitBlock CC_Nd_116c0_116c9_sfx_sfx, CC_Nd_116c0_116c9_sfx, CC_Nd_116c0_116c9;
121                BitBlock r10000_10ffff_tmp30, r10000_10ffff_tmp31, r10000_10ffff_tmp32;
122                BitBlock r10000_10ffff_tmp33, CC_Nd_1d7ce_1d7ff_sfx_sfx_sfx;
123                BitBlock r10000_10ffff_tmp34, r10000_10ffff_tmp35, CC_Nd_1d7ce_1d7ff_sfx_sfx;
124                BitBlock r10000_10ffff_tmp36, CC_9d, r10000_10ffff_tmp37;
125                BitBlock CC_Nd_1d7ce_1d7ff_sfx, CC_Nd_1d7ce_1d7ff;
126
127
128
129
130        struct_Nd.cc = simd<1>::constant<0>();
131        tmp1 = simd_or(basis_bits.bit_0, basis_bits.bit_1);
132        tmp2 = simd_and(basis_bits.bit_2, basis_bits.bit_3);
133        tmp3 = simd_andc(tmp2, tmp1);
134        tmp4 = simd_or(basis_bits.bit_5, basis_bits.bit_6);
135        tmp5 = simd_and(basis_bits.bit_4, tmp4);
136        CC_Nd_30_39 = simd_andc(tmp3, tmp5);
137        struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_30_39);
138        tmp6 = simd_and(basis_bits.bit_0, basis_bits.bit_1);
139        tmp7 = simd_andc(tmp6, basis_bits.bit_2);
140        tmp8 = simd_or(basis_bits.bit_4, basis_bits.bit_5);
141        tmp9 = simd_or(tmp8, basis_bits.bit_6);
142        tmp10 = simd_or(basis_bits.bit_3, tmp9);
143        bytetest_c2_df = simd_and(tmp7, tmp10);
144        tmp11 = simd_andc(basis_bits.bit_2, basis_bits.bit_3);
145        tmp12 = simd_and(tmp6, tmp11);
146        tmp13 = simd_or(basis_bits.bit_6, basis_bits.bit_7);
147        tmp14 = simd_or(basis_bits.bit_5, tmp13);
148        tmp15 = simd_or(basis_bits.bit_4, tmp14);
149        bytetest_e1_ef = simd_and(tmp12, tmp15);
150        tmp16 = simd_andc(basis_bits.bit_0, basis_bits.bit_1);
151        bytetest_a0_bf = simd_and(tmp16, basis_bits.bit_2);
152        tmp17 = simd_or(tmp8, tmp13);
153        bytetest_e0 = simd_andc(tmp12, tmp17);
154        carryQ.cq[0] = carryout2carry(pablo_blk_Advance(bytetest_e0, carryQ.get_carry_in(0), tmp18));
155        bytetest_e0_adv = simd_and(tmp18, bytetest_a0_bf);
156        range_test_800_ffff_1 = simd_or(bytetest_e1_ef, bytetest_e0_adv);
157        test_80_ffff = simd_or(bytetest_c2_df, range_test_800_ffff_1);
158        tmp19 = simd_or(basis_bits.bit_2, basis_bits.bit_3);
159        bytetest_80_8f = simd_andc(tmp16, tmp19);
160        tmp20 = simd_and(tmp6, tmp2);
161        tmp21 = simd_andc(basis_bits.bit_5, basis_bits.bit_4);
162        tmp22 = simd_andc(tmp21, tmp13);
163        bytetest_f4 = simd_and(tmp20, tmp22);
164        carryQ.cq[1] = carryout2carry(pablo_blk_Advance(bytetest_f4, carryQ.get_carry_in(1), tmp23));
165        bytetest_f4_adv = simd_and(tmp23, bytetest_80_8f);
166        tmp24 = simd_andc(tmp20, tmp8);
167        bytetest_f1_f3 = simd_and(tmp24, tmp13);
168        bytetest_90_bf = simd_and(tmp16, tmp19);
169        bytetest_f0 = simd_andc(tmp20, tmp17);
170        carryQ.cq[2] = carryout2carry(pablo_blk_Advance(bytetest_f0, carryQ.get_carry_in(2), tmp25));
171        bytetest_f0_adv = simd_and(tmp25, bytetest_90_bf);
172        range_test_10000_fffff_1 = simd_or(bytetest_f1_f3, bytetest_f0_adv);
173        range_test_10000_10ffff_1 = simd_or(bytetest_f4_adv, range_test_10000_fffff_1);
174        test_80_10ffff = simd_or(test_80_ffff, range_test_10000_10ffff_1);
175        if (bitblock::any(test_80_10ffff)) {
176          r80_10ffff_tmp1 = simd_and(basis_bits.bit_0, basis_bits.bit_1);
177          r80_10ffff_tmp2 = simd_andc(r80_10ffff_tmp1, basis_bits.bit_2);
178          r80_10ffff_tmp3 = simd_or(basis_bits.bit_4, basis_bits.bit_5);
179          r80_10ffff_tmp4 = simd_or(r80_10ffff_tmp3, basis_bits.bit_6);
180          r80_10ffff_tmp5 = simd_or(basis_bits.bit_3, r80_10ffff_tmp4);
181          bytetest_c2_df = simd_and(r80_10ffff_tmp2, r80_10ffff_tmp5);
182          if (bitblock::any(bytetest_c2_df)) {
183            r80_7ff_tmp1 = simd_and(basis_bits.bit_0, basis_bits.bit_1);
184            r80_7ff_tmp2 = simd_andc(basis_bits.bit_3, basis_bits.bit_2);
185            bytetest_d0_df = simd_and(r80_7ff_tmp1, r80_7ff_tmp2);
186            if (bitblock::any(bytetest_d0_df)) {
187              r400_7ff_tmp1 = simd_and(basis_bits.bit_0, basis_bits.bit_1);
188              r400_7ff_tmp2 = simd_andc(basis_bits.bit_3, basis_bits.bit_2);
189              r400_7ff_tmp3 = simd_and(r400_7ff_tmp1, r400_7ff_tmp2);
190              r400_7ff_tmp4 = simd_andc(basis_bits.bit_4, basis_bits.bit_5);
191              bytetest_d8_db = simd_and(r400_7ff_tmp3, r400_7ff_tmp4);
192              if (bitblock::any(bytetest_d8_db)) {
193                r600_6ff_tmp1 = simd_andc(basis_bits.bit_0, basis_bits.bit_1);
194                r600_6ff_tmp2 = simd_andc(basis_bits.bit_2, basis_bits.bit_3);
195                r600_6ff_tmp3 = simd_and(r600_6ff_tmp1, r600_6ff_tmp2);
196                CC_Nd_660_669_sfx = simd_andc(r600_6ff_tmp3, tmp5);
197                r600_6ff_tmp4 = simd_and(basis_bits.bit_0, basis_bits.bit_1);
198                r600_6ff_tmp5 = simd_andc(basis_bits.bit_3, basis_bits.bit_2);
199                r600_6ff_tmp6 = simd_and(r600_6ff_tmp4, r600_6ff_tmp5);
200                r600_6ff_tmp7 = simd_andc(basis_bits.bit_4, basis_bits.bit_5);
201                r600_6ff_tmp8 = simd_andc(basis_bits.bit_7, basis_bits.bit_6);
202                r600_6ff_tmp9 = simd_and(r600_6ff_tmp7, r600_6ff_tmp8);
203                CC_d9 = simd_and(r600_6ff_tmp6, r600_6ff_tmp9);
204                carryQ.cq[3] = carryout2carry(pablo_blk_Advance(CC_d9, carryQ.get_carry_in(3), r600_6ff_tmp10));
205                CC_Nd_660_669 = simd_and(r600_6ff_tmp10, CC_Nd_660_669_sfx);
206                struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_660_669);
207                r600_6ff_tmp11 = simd_and(r600_6ff_tmp1, tmp2);
208                CC_Nd_6f0_6f9_sfx = simd_andc(r600_6ff_tmp11, tmp5);
209                r600_6ff_tmp12 = simd_and(basis_bits.bit_6, basis_bits.bit_7);
210                r600_6ff_tmp13 = simd_and(r600_6ff_tmp7, r600_6ff_tmp12);
211                CC_db = simd_and(r600_6ff_tmp6, r600_6ff_tmp13);
212                carryQ.cq[4] = carryout2carry(pablo_blk_Advance(CC_db, carryQ.get_carry_in(4), r600_6ff_tmp14));
213                CC_Nd_6f0_6f9 = simd_and(r600_6ff_tmp14, CC_Nd_6f0_6f9_sfx);
214                struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_6f0_6f9);
215              }
216              r400_7ff_tmp5 = simd_and(basis_bits.bit_4, basis_bits.bit_5);
217              bytetest_dc_df = simd_and(r400_7ff_tmp3, r400_7ff_tmp5);
218              if (bitblock::any(bytetest_dc_df)) {
219                bytetest_80_bf = simd_andc(basis_bits.bit_0, basis_bits.bit_1);
220                r700_7ff_tmp1 = simd_and(basis_bits.bit_4, basis_bits.bit_5);
221                r700_7ff_tmp2 = simd_and(basis_bits.bit_6, basis_bits.bit_7);
222                r700_7ff_tmp3 = simd_and(r700_7ff_tmp1, r700_7ff_tmp2);
223                bytetest_df = simd_and(r400_7ff_tmp3, r700_7ff_tmp3);
224                carryQ.cq[5] = carryout2carry(pablo_blk_Advance(bytetest_df, carryQ.get_carry_in(5), r700_7ff_tmp4));
225                bytetest_df_adv = simd_and(r700_7ff_tmp4, bytetest_80_bf);
226                if (bitblock::any(bytetest_df_adv)) {
227                  r7c0_7ff_tmp1 = simd_andc(basis_bits.bit_0, basis_bits.bit_1);
228                  r7c0_7ff_tmp2 = simd_or(basis_bits.bit_2, basis_bits.bit_3);
229                  r7c0_7ff_tmp3 = simd_andc(r7c0_7ff_tmp1, r7c0_7ff_tmp2);
230                  CC_Nd_7c0_7c9_sfx = simd_andc(r7c0_7ff_tmp3, tmp5);
231                  r7c0_7ff_tmp4 = simd_and(basis_bits.bit_4, basis_bits.bit_5);
232                  r7c0_7ff_tmp5 = simd_and(basis_bits.bit_6, basis_bits.bit_7);
233                  r7c0_7ff_tmp6 = simd_and(r7c0_7ff_tmp4, r7c0_7ff_tmp5);
234                  CC_df = simd_and(r400_7ff_tmp3, r7c0_7ff_tmp6);
235                  carryQ.cq[6] = carryout2carry(pablo_blk_Advance(CC_df, carryQ.get_carry_in(6), r7c0_7ff_tmp7));
236                  CC_Nd_7c0_7c9 = simd_and(r7c0_7ff_tmp7, CC_Nd_7c0_7c9_sfx);
237                  struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_7c0_7c9);
238                }
239              }
240            }
241          }
242          r80_10ffff_tmp6 = simd_andc(basis_bits.bit_2, basis_bits.bit_3);
243          r80_10ffff_tmp7 = simd_and(r80_10ffff_tmp1, r80_10ffff_tmp6);
244          r80_10ffff_tmp8 = simd_or(basis_bits.bit_6, basis_bits.bit_7);
245          r80_10ffff_tmp9 = simd_or(basis_bits.bit_5, r80_10ffff_tmp8);
246          r80_10ffff_tmp10 = simd_or(basis_bits.bit_4, r80_10ffff_tmp9);
247          bytetest_e1_ef = simd_and(r80_10ffff_tmp7, r80_10ffff_tmp10);
248          r80_10ffff_tmp11 = simd_andc(basis_bits.bit_0, basis_bits.bit_1);
249          bytetest_a0_bf = simd_and(r80_10ffff_tmp11, basis_bits.bit_2);
250          r80_10ffff_tmp12 = simd_or(r80_10ffff_tmp3, r80_10ffff_tmp8);
251          bytetest_e0 = simd_andc(r80_10ffff_tmp7, r80_10ffff_tmp12);
252          carryQ.cq[7] = carryout2carry(pablo_blk_Advance(bytetest_e0, carryQ.get_carry_in(7), r80_10ffff_tmp13));
253          bytetest_e0_adv = simd_and(r80_10ffff_tmp13, bytetest_a0_bf);
254          range_test_800_ffff_1 = simd_or(bytetest_e1_ef, bytetest_e0_adv);
255          if (bitblock::any(range_test_800_ffff_1)) {
256            r800_ffff_tmp1 = simd_andc(basis_bits.bit_0, basis_bits.bit_1);
257            r800_ffff_tmp2 = simd_andc(basis_bits.bit_2, basis_bits.bit_3);
258            r800_ffff_tmp3 = simd_and(r800_ffff_tmp1, r800_ffff_tmp2);
259            r800_ffff_tmp4 = simd_and(basis_bits.bit_5, basis_bits.bit_6);
260            r800_ffff_tmp5 = simd_or(basis_bits.bit_4, r800_ffff_tmp4);
261            CC_Nd_966_96f_sfx_sfx = simd_and(r800_ffff_tmp3, r800_ffff_tmp5);
262            r800_ffff_tmp6 = simd_andc(basis_bits.bit_5, basis_bits.bit_4);
263            r800_ffff_tmp7 = simd_andc(basis_bits.bit_7, basis_bits.bit_6);
264            r800_ffff_tmp8 = simd_and(r800_ffff_tmp6, r800_ffff_tmp7);
265            CC_a5 = simd_and(r800_ffff_tmp3, r800_ffff_tmp8);
266            carryQ.cq[8] = carryout2carry(pablo_blk_Advance(CC_a5, carryQ.get_carry_in(8), r800_ffff_tmp9));
267            CC_Nd_966_96f_sfx = simd_and(r800_ffff_tmp9, CC_Nd_966_96f_sfx_sfx);
268            r800_ffff_tmp10 = simd_and(r80_10ffff_tmp1, r800_ffff_tmp2);
269            r800_ffff_tmp11 = simd_or(basis_bits.bit_6, basis_bits.bit_7);
270            r800_ffff_tmp12 = simd_or(r80_10ffff_tmp3, r800_ffff_tmp11);
271            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
272            carryQ.cq[9] = carryout2carry(pablo_blk_Advance(CC_e0, carryQ.get_carry_in(9), r800_ffff_tmp13));
273            CC_Nd_966_96f = simd_and(r800_ffff_tmp13, CC_Nd_966_96f_sfx);
274            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_966_96f);
275            CC_Nd_9e6_9ef_sfx_sfx = simd_and(r800_ffff_tmp3, r800_ffff_tmp5);
276            r800_ffff_tmp14 = simd_and(basis_bits.bit_6, basis_bits.bit_7);
277            r800_ffff_tmp15 = simd_and(r800_ffff_tmp6, r800_ffff_tmp14);
278            CC_a7 = simd_and(r800_ffff_tmp3, r800_ffff_tmp15);
279            carryQ.cq[10] = carryout2carry(pablo_blk_Advance(CC_a7, carryQ.get_carry_in(10), r800_ffff_tmp16));
280            CC_Nd_9e6_9ef_sfx = simd_and(r800_ffff_tmp16, CC_Nd_9e6_9ef_sfx_sfx);
281            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
282            CC_Nd_9e6_9ef = simd_and(r800_ffff_tmp13, CC_Nd_9e6_9ef_sfx);
283            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_9e6_9ef);
284            CC_Nd_a66_a6f_sfx_sfx = simd_and(r800_ffff_tmp3, r800_ffff_tmp5);
285            r800_ffff_tmp17 = simd_andc(basis_bits.bit_4, basis_bits.bit_5);
286            r800_ffff_tmp18 = simd_and(r800_ffff_tmp17, r800_ffff_tmp7);
287            CC_a9 = simd_and(r800_ffff_tmp3, r800_ffff_tmp18);
288            carryQ.cq[11] = carryout2carry(pablo_blk_Advance(CC_a9, carryQ.get_carry_in(11), r800_ffff_tmp19));
289            CC_Nd_a66_a6f_sfx = simd_and(r800_ffff_tmp19, CC_Nd_a66_a6f_sfx_sfx);
290            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
291            CC_Nd_a66_a6f = simd_and(r800_ffff_tmp13, CC_Nd_a66_a6f_sfx);
292            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_a66_a6f);
293            CC_Nd_ae6_aef_sfx_sfx = simd_and(r800_ffff_tmp3, r800_ffff_tmp5);
294            r800_ffff_tmp20 = simd_and(r800_ffff_tmp17, r800_ffff_tmp14);
295            CC_ab = simd_and(r800_ffff_tmp3, r800_ffff_tmp20);
296            carryQ.cq[12] = carryout2carry(pablo_blk_Advance(CC_ab, carryQ.get_carry_in(12), r800_ffff_tmp21));
297            CC_Nd_ae6_aef_sfx = simd_and(r800_ffff_tmp21, CC_Nd_ae6_aef_sfx_sfx);
298            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
299            CC_Nd_ae6_aef = simd_and(r800_ffff_tmp13, CC_Nd_ae6_aef_sfx);
300            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_ae6_aef);
301            CC_Nd_b66_b6f_sfx_sfx = simd_and(r800_ffff_tmp3, r800_ffff_tmp5);
302            r800_ffff_tmp22 = simd_and(basis_bits.bit_4, basis_bits.bit_5);
303            r800_ffff_tmp23 = simd_and(r800_ffff_tmp22, r800_ffff_tmp7);
304            CC_ad = simd_and(r800_ffff_tmp3, r800_ffff_tmp23);
305            carryQ.cq[13] = carryout2carry(pablo_blk_Advance(CC_ad, carryQ.get_carry_in(13), r800_ffff_tmp24));
306            CC_Nd_b66_b6f_sfx = simd_and(r800_ffff_tmp24, CC_Nd_b66_b6f_sfx_sfx);
307            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
308            CC_Nd_b66_b6f = simd_and(r800_ffff_tmp13, CC_Nd_b66_b6f_sfx);
309            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_b66_b6f);
310            CC_Nd_be6_bef_sfx_sfx = simd_and(r800_ffff_tmp3, r800_ffff_tmp5);
311            r800_ffff_tmp25 = simd_and(r800_ffff_tmp22, r800_ffff_tmp14);
312            CC_af = simd_and(r800_ffff_tmp3, r800_ffff_tmp25);
313            carryQ.cq[14] = carryout2carry(pablo_blk_Advance(CC_af, carryQ.get_carry_in(14), r800_ffff_tmp26));
314            CC_Nd_be6_bef_sfx = simd_and(r800_ffff_tmp26, CC_Nd_be6_bef_sfx_sfx);
315            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
316            CC_Nd_be6_bef = simd_and(r800_ffff_tmp13, CC_Nd_be6_bef_sfx);
317            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_be6_bef);
318            CC_Nd_c66_c6f_sfx_sfx = simd_and(r800_ffff_tmp3, r800_ffff_tmp5);
319            r800_ffff_tmp27 = simd_and(r800_ffff_tmp1, tmp2);
320            r800_ffff_tmp28 = simd_andc(r800_ffff_tmp7, r80_10ffff_tmp3);
321            CC_b1 = simd_and(r800_ffff_tmp27, r800_ffff_tmp28);
322            carryQ.cq[15] = carryout2carry(pablo_blk_Advance(CC_b1, carryQ.get_carry_in(15), r800_ffff_tmp29));
323            CC_Nd_c66_c6f_sfx = simd_and(r800_ffff_tmp29, CC_Nd_c66_c6f_sfx_sfx);
324            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
325            CC_Nd_c66_c6f = simd_and(r800_ffff_tmp13, CC_Nd_c66_c6f_sfx);
326            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_c66_c6f);
327            CC_Nd_ce6_cef_sfx_sfx = simd_and(r800_ffff_tmp3, r800_ffff_tmp5);
328            r800_ffff_tmp30 = simd_andc(r800_ffff_tmp14, r80_10ffff_tmp3);
329            CC_b3 = simd_and(r800_ffff_tmp27, r800_ffff_tmp30);
330            carryQ.cq[16] = carryout2carry(pablo_blk_Advance(CC_b3, carryQ.get_carry_in(16), r800_ffff_tmp31));
331            CC_Nd_ce6_cef_sfx = simd_and(r800_ffff_tmp31, CC_Nd_ce6_cef_sfx_sfx);
332            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
333            CC_Nd_ce6_cef = simd_and(r800_ffff_tmp13, CC_Nd_ce6_cef_sfx);
334            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_ce6_cef);
335            CC_Nd_d66_d6f_sfx_sfx = simd_and(r800_ffff_tmp3, r800_ffff_tmp5);
336            CC_b5 = simd_and(r800_ffff_tmp27, r800_ffff_tmp8);
337            carryQ.cq[17] = carryout2carry(pablo_blk_Advance(CC_b5, carryQ.get_carry_in(17), r800_ffff_tmp32));
338            CC_Nd_d66_d6f_sfx = simd_and(r800_ffff_tmp32, CC_Nd_d66_d6f_sfx_sfx);
339            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
340            CC_Nd_d66_d6f = simd_and(r800_ffff_tmp13, CC_Nd_d66_d6f_sfx);
341            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_d66_d6f);
342            r800_ffff_tmp33 = simd_andc(basis_bits.bit_3, basis_bits.bit_2);
343            r800_ffff_tmp34 = simd_and(r800_ffff_tmp1, r800_ffff_tmp33);
344            CC_Nd_e50_e59_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
345            CC_b9 = simd_and(r800_ffff_tmp27, r800_ffff_tmp18);
346            carryQ.cq[18] = carryout2carry(pablo_blk_Advance(CC_b9, carryQ.get_carry_in(18), r800_ffff_tmp35));
347            CC_Nd_e50_e59_sfx = simd_and(r800_ffff_tmp35, CC_Nd_e50_e59_sfx_sfx);
348            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
349            CC_Nd_e50_e59 = simd_and(r800_ffff_tmp13, CC_Nd_e50_e59_sfx);
350            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_e50_e59);
351            CC_Nd_ed0_ed9_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
352            CC_bb = simd_and(r800_ffff_tmp27, r800_ffff_tmp20);
353            carryQ.cq[19] = carryout2carry(pablo_blk_Advance(CC_bb, carryQ.get_carry_in(19), r800_ffff_tmp36));
354            CC_Nd_ed0_ed9_sfx = simd_and(r800_ffff_tmp36, CC_Nd_ed0_ed9_sfx_sfx);
355            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
356            CC_Nd_ed0_ed9 = simd_and(r800_ffff_tmp13, CC_Nd_ed0_ed9_sfx);
357            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_ed0_ed9);
358            CC_Nd_f20_f29_sfx_sfx = simd_andc(r800_ffff_tmp3, tmp5);
359            r800_ffff_tmp37 = simd_andc(r800_ffff_tmp22, r800_ffff_tmp11);
360            CC_bc = simd_and(r800_ffff_tmp27, r800_ffff_tmp37);
361            carryQ.cq[20] = carryout2carry(pablo_blk_Advance(CC_bc, carryQ.get_carry_in(20), r800_ffff_tmp38));
362            CC_Nd_f20_f29_sfx = simd_and(r800_ffff_tmp38, CC_Nd_f20_f29_sfx_sfx);
363            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
364            CC_Nd_f20_f29 = simd_and(r800_ffff_tmp13, CC_Nd_f20_f29_sfx);
365            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_f20_f29);
366            r800_ffff_tmp39 = simd_or(basis_bits.bit_2, basis_bits.bit_3);
367            r800_ffff_tmp40 = simd_andc(r800_ffff_tmp1, r800_ffff_tmp39);
368            CC_Nd_1040_1049_sfx_sfx = simd_andc(r800_ffff_tmp40, tmp5);
369            CC_81 = simd_and(r800_ffff_tmp40, r800_ffff_tmp28);
370            carryQ.cq[21] = carryout2carry(pablo_blk_Advance(CC_81, carryQ.get_carry_in(21), r800_ffff_tmp41));
371            CC_Nd_1040_1049_sfx = simd_and(r800_ffff_tmp41, CC_Nd_1040_1049_sfx_sfx);
372            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
373            carryQ.cq[22] = carryout2carry(pablo_blk_Advance(CC_e1, carryQ.get_carry_in(22), r800_ffff_tmp42));
374            CC_Nd_1040_1049 = simd_and(r800_ffff_tmp42, CC_Nd_1040_1049_sfx);
375            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_1040_1049);
376            CC_Nd_1090_1099_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
377            r800_ffff_tmp43 = simd_andc(basis_bits.bit_6, basis_bits.bit_7);
378            r800_ffff_tmp44 = simd_andc(r800_ffff_tmp43, r80_10ffff_tmp3);
379            CC_82 = simd_and(r800_ffff_tmp40, r800_ffff_tmp44);
380            carryQ.cq[23] = carryout2carry(pablo_blk_Advance(CC_82, carryQ.get_carry_in(23), r800_ffff_tmp45));
381            CC_Nd_1090_1099_sfx = simd_and(r800_ffff_tmp45, CC_Nd_1090_1099_sfx_sfx);
382            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
383            CC_Nd_1090_1099 = simd_and(r800_ffff_tmp42, CC_Nd_1090_1099_sfx);
384            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_1090_1099);
385            CC_Nd_17e0_17e9_sfx_sfx = simd_andc(r800_ffff_tmp3, tmp5);
386            CC_9f = simd_and(r800_ffff_tmp34, r800_ffff_tmp25);
387            carryQ.cq[24] = carryout2carry(pablo_blk_Advance(CC_9f, carryQ.get_carry_in(24), r800_ffff_tmp46));
388            CC_Nd_17e0_17e9_sfx = simd_and(r800_ffff_tmp46, CC_Nd_17e0_17e9_sfx_sfx);
389            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
390            CC_Nd_17e0_17e9 = simd_and(r800_ffff_tmp42, CC_Nd_17e0_17e9_sfx);
391            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_17e0_17e9);
392            CC_Nd_1810_1819_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
393            CC_a0 = simd_andc(r800_ffff_tmp3, r800_ffff_tmp12);
394            carryQ.cq[25] = carryout2carry(pablo_blk_Advance(CC_a0, carryQ.get_carry_in(25), r800_ffff_tmp47));
395            CC_Nd_1810_1819_sfx = simd_and(r800_ffff_tmp47, CC_Nd_1810_1819_sfx_sfx);
396            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
397            CC_Nd_1810_1819 = simd_and(r800_ffff_tmp42, CC_Nd_1810_1819_sfx);
398            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_1810_1819);
399            CC_Nd_1946_194f_sfx_sfx = simd_and(r800_ffff_tmp40, r800_ffff_tmp5);
400            CC_a5 = simd_and(r800_ffff_tmp3, r800_ffff_tmp8);
401            CC_Nd_1946_194f_sfx = simd_and(r800_ffff_tmp9, CC_Nd_1946_194f_sfx_sfx);
402            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
403            CC_Nd_1946_194f = simd_and(r800_ffff_tmp42, CC_Nd_1946_194f_sfx);
404            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_1946_194f);
405            CC_Nd_19d0_19d9_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
406            CC_a7 = simd_and(r800_ffff_tmp3, r800_ffff_tmp15);
407            CC_Nd_19d0_19d9_sfx = simd_and(r800_ffff_tmp16, CC_Nd_19d0_19d9_sfx_sfx);
408            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
409            CC_Nd_19d0_19d9 = simd_and(r800_ffff_tmp42, CC_Nd_19d0_19d9_sfx);
410            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_19d0_19d9);
411            CC_Nd_1a80_1a89_sfx_sfx = simd_andc(r800_ffff_tmp40, tmp5);
412            r800_ffff_tmp48 = simd_and(r800_ffff_tmp17, r800_ffff_tmp43);
413            CC_aa = simd_and(r800_ffff_tmp3, r800_ffff_tmp48);
414            carryQ.cq[26] = carryout2carry(pablo_blk_Advance(CC_aa, carryQ.get_carry_in(26), r800_ffff_tmp49));
415            CC_Nd_1a80_1a89_sfx = simd_and(r800_ffff_tmp49, CC_Nd_1a80_1a89_sfx_sfx);
416            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
417            CC_Nd_1a80_1a89 = simd_and(r800_ffff_tmp42, CC_Nd_1a80_1a89_sfx);
418            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_1a80_1a89);
419            CC_Nd_1a90_1a99_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
420            CC_aa = simd_and(r800_ffff_tmp3, r800_ffff_tmp48);
421            CC_Nd_1a90_1a99_sfx = simd_and(r800_ffff_tmp49, CC_Nd_1a90_1a99_sfx_sfx);
422            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
423            CC_Nd_1a90_1a99 = simd_and(r800_ffff_tmp42, CC_Nd_1a90_1a99_sfx);
424            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_1a90_1a99);
425            CC_Nd_1b50_1b59_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
426            CC_ad = simd_and(r800_ffff_tmp3, r800_ffff_tmp23);
427            CC_Nd_1b50_1b59_sfx = simd_and(r800_ffff_tmp24, CC_Nd_1b50_1b59_sfx_sfx);
428            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
429            CC_Nd_1b50_1b59 = simd_and(r800_ffff_tmp42, CC_Nd_1b50_1b59_sfx);
430            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_1b50_1b59);
431            CC_Nd_1bb0_1bb9_sfx_sfx = simd_andc(r800_ffff_tmp27, tmp5);
432            r800_ffff_tmp50 = simd_and(r800_ffff_tmp22, r800_ffff_tmp43);
433            CC_ae = simd_and(r800_ffff_tmp3, r800_ffff_tmp50);
434            carryQ.cq[27] = carryout2carry(pablo_blk_Advance(CC_ae, carryQ.get_carry_in(27), r800_ffff_tmp51));
435            CC_Nd_1bb0_1bb9_sfx = simd_and(r800_ffff_tmp51, CC_Nd_1bb0_1bb9_sfx_sfx);
436            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
437            CC_Nd_1bb0_1bb9 = simd_and(r800_ffff_tmp42, CC_Nd_1bb0_1bb9_sfx);
438            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_1bb0_1bb9);
439            CC_Nd_1c40_1c49_sfx_sfx = simd_andc(r800_ffff_tmp40, tmp5);
440            CC_b1 = simd_and(r800_ffff_tmp27, r800_ffff_tmp28);
441            CC_Nd_1c40_1c49_sfx = simd_and(r800_ffff_tmp29, CC_Nd_1c40_1c49_sfx_sfx);
442            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
443            CC_Nd_1c40_1c49 = simd_and(r800_ffff_tmp42, CC_Nd_1c40_1c49_sfx);
444            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_1c40_1c49);
445            CC_Nd_1c50_1c59_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
446            CC_b1 = simd_and(r800_ffff_tmp27, r800_ffff_tmp28);
447            CC_Nd_1c50_1c59_sfx = simd_and(r800_ffff_tmp29, CC_Nd_1c50_1c59_sfx_sfx);
448            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
449            CC_Nd_1c50_1c59 = simd_and(r800_ffff_tmp42, CC_Nd_1c50_1c59_sfx);
450            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_1c50_1c59);
451            CC_Nd_a620_a629_sfx_sfx = simd_andc(r800_ffff_tmp3, tmp5);
452            r800_ffff_tmp52 = simd_andc(r800_ffff_tmp17, r800_ffff_tmp11);
453            CC_98 = simd_and(r800_ffff_tmp34, r800_ffff_tmp52);
454            carryQ.cq[28] = carryout2carry(pablo_blk_Advance(CC_98, carryQ.get_carry_in(28), r800_ffff_tmp53));
455            CC_Nd_a620_a629_sfx = simd_and(r800_ffff_tmp53, CC_Nd_a620_a629_sfx_sfx);
456            CC_ea = simd_and(r800_ffff_tmp10, r800_ffff_tmp48);
457            carryQ.cq[29] = carryout2carry(pablo_blk_Advance(CC_ea, carryQ.get_carry_in(29), r800_ffff_tmp54));
458            CC_Nd_a620_a629 = simd_and(r800_ffff_tmp54, CC_Nd_a620_a629_sfx);
459            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_a620_a629);
460            CC_Nd_a8d0_a8d9_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
461            CC_a3 = simd_and(r800_ffff_tmp3, r800_ffff_tmp30);
462            carryQ.cq[30] = carryout2carry(pablo_blk_Advance(CC_a3, carryQ.get_carry_in(30), r800_ffff_tmp55));
463            CC_Nd_a8d0_a8d9_sfx = simd_and(r800_ffff_tmp55, CC_Nd_a8d0_a8d9_sfx_sfx);
464            CC_ea = simd_and(r800_ffff_tmp10, r800_ffff_tmp48);
465            CC_Nd_a8d0_a8d9 = simd_and(r800_ffff_tmp54, CC_Nd_a8d0_a8d9_sfx);
466            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_a8d0_a8d9);
467            CC_Nd_a900_a909_sfx_sfx = simd_andc(r800_ffff_tmp40, tmp5);
468            r800_ffff_tmp56 = simd_andc(r800_ffff_tmp6, r800_ffff_tmp11);
469            CC_a4 = simd_and(r800_ffff_tmp3, r800_ffff_tmp56);
470            carryQ.cq[31] = carryout2carry(pablo_blk_Advance(CC_a4, carryQ.get_carry_in(31), r800_ffff_tmp57));
471            CC_Nd_a900_a909_sfx = simd_and(r800_ffff_tmp57, CC_Nd_a900_a909_sfx_sfx);
472            CC_ea = simd_and(r800_ffff_tmp10, r800_ffff_tmp48);
473            CC_Nd_a900_a909 = simd_and(r800_ffff_tmp54, CC_Nd_a900_a909_sfx);
474            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_a900_a909);
475            CC_Nd_a9d0_a9d9_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
476            CC_a7 = simd_and(r800_ffff_tmp3, r800_ffff_tmp15);
477            CC_Nd_a9d0_a9d9_sfx = simd_and(r800_ffff_tmp16, CC_Nd_a9d0_a9d9_sfx_sfx);
478            CC_ea = simd_and(r800_ffff_tmp10, r800_ffff_tmp48);
479            CC_Nd_a9d0_a9d9 = simd_and(r800_ffff_tmp54, CC_Nd_a9d0_a9d9_sfx);
480            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_a9d0_a9d9);
481            CC_Nd_aa50_aa59_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
482            CC_a9 = simd_and(r800_ffff_tmp3, r800_ffff_tmp18);
483            CC_Nd_aa50_aa59_sfx = simd_and(r800_ffff_tmp19, CC_Nd_aa50_aa59_sfx_sfx);
484            CC_ea = simd_and(r800_ffff_tmp10, r800_ffff_tmp48);
485            CC_Nd_aa50_aa59 = simd_and(r800_ffff_tmp54, CC_Nd_aa50_aa59_sfx);
486            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_aa50_aa59);
487            CC_Nd_abf0_abf9_sfx_sfx = simd_andc(r800_ffff_tmp27, tmp5);
488            CC_af = simd_and(r800_ffff_tmp3, r800_ffff_tmp25);
489            CC_Nd_abf0_abf9_sfx = simd_and(r800_ffff_tmp26, CC_Nd_abf0_abf9_sfx_sfx);
490            CC_ea = simd_and(r800_ffff_tmp10, r800_ffff_tmp48);
491            CC_Nd_abf0_abf9 = simd_and(r800_ffff_tmp54, CC_Nd_abf0_abf9_sfx);
492            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_abf0_abf9);
493            CC_Nd_ff10_ff19_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
494            CC_bc = simd_and(r800_ffff_tmp27, r800_ffff_tmp37);
495            CC_Nd_ff10_ff19_sfx = simd_and(r800_ffff_tmp38, CC_Nd_ff10_ff19_sfx_sfx);
496            CC_ef = simd_and(r800_ffff_tmp10, r800_ffff_tmp25);
497            carryQ.cq[32] = carryout2carry(pablo_blk_Advance(CC_ef, carryQ.get_carry_in(32), r800_ffff_tmp58));
498            CC_Nd_ff10_ff19 = simd_and(r800_ffff_tmp58, CC_Nd_ff10_ff19_sfx);
499            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_ff10_ff19);
500          }
501          r80_10ffff_tmp14 = simd_or(basis_bits.bit_2, basis_bits.bit_3);
502          bytetest_80_8f = simd_andc(r80_10ffff_tmp11, r80_10ffff_tmp14);
503          r80_10ffff_tmp15 = simd_and(r80_10ffff_tmp1, tmp2);
504          r80_10ffff_tmp16 = simd_andc(basis_bits.bit_5, basis_bits.bit_4);
505          r80_10ffff_tmp17 = simd_andc(r80_10ffff_tmp16, r80_10ffff_tmp8);
506          bytetest_f4 = simd_and(r80_10ffff_tmp15, r80_10ffff_tmp17);
507          carryQ.cq[33] = carryout2carry(pablo_blk_Advance(bytetest_f4, carryQ.get_carry_in(33), r80_10ffff_tmp18));
508          bytetest_f4_adv = simd_and(r80_10ffff_tmp18, bytetest_80_8f);
509          r80_10ffff_tmp19 = simd_andc(r80_10ffff_tmp15, r80_10ffff_tmp3);
510          bytetest_f1_f3 = simd_and(r80_10ffff_tmp19, r80_10ffff_tmp8);
511          bytetest_90_bf = simd_and(r80_10ffff_tmp11, r80_10ffff_tmp14);
512          bytetest_f0 = simd_andc(r80_10ffff_tmp15, r80_10ffff_tmp12);
513          carryQ.cq[34] = carryout2carry(pablo_blk_Advance(bytetest_f0, carryQ.get_carry_in(34), r80_10ffff_tmp20));
514          bytetest_f0_adv = simd_and(r80_10ffff_tmp20, bytetest_90_bf);
515          range_test_10000_fffff_1 = simd_or(bytetest_f1_f3, bytetest_f0_adv);
516          range_test_10000_10ffff_1 = simd_or(bytetest_f4_adv, range_test_10000_fffff_1);
517          if (bitblock::any(range_test_10000_10ffff_1)) {
518            r10000_10ffff_tmp1 = simd_and(r80_10ffff_tmp11, r80_10ffff_tmp6);
519            CC_Nd_104a0_104a9_sfx_sfx_sfx = simd_andc(r10000_10ffff_tmp1, tmp5);
520            r10000_10ffff_tmp2 = simd_andc(basis_bits.bit_3, basis_bits.bit_2);
521            r10000_10ffff_tmp3 = simd_and(r80_10ffff_tmp11, r10000_10ffff_tmp2);
522            r10000_10ffff_tmp4 = simd_andc(basis_bits.bit_6, basis_bits.bit_7);
523            r10000_10ffff_tmp5 = simd_andc(r10000_10ffff_tmp4, r80_10ffff_tmp3);
524            CC_92 = simd_and(r10000_10ffff_tmp3, r10000_10ffff_tmp5);
525            carryQ.cq[35] = carryout2carry(pablo_blk_Advance(CC_92, carryQ.get_carry_in(35), r10000_10ffff_tmp6));
526            CC_Nd_104a0_104a9_sfx_sfx = simd_and(r10000_10ffff_tmp6, CC_Nd_104a0_104a9_sfx_sfx_sfx);
527            CC_90 = simd_andc(r10000_10ffff_tmp3, r80_10ffff_tmp12);
528            carryQ.cq[36] = carryout2carry(pablo_blk_Advance(CC_90, carryQ.get_carry_in(36), r10000_10ffff_tmp7));
529            CC_Nd_104a0_104a9_sfx = simd_and(r10000_10ffff_tmp7, CC_Nd_104a0_104a9_sfx_sfx);
530            r10000_10ffff_tmp8 = simd_and(r80_10ffff_tmp1, tmp2);
531            CC_f0 = simd_andc(r10000_10ffff_tmp8, r80_10ffff_tmp12);
532            carryQ.cq[37] = carryout2carry(pablo_blk_Advance(CC_f0, carryQ.get_carry_in(37), r10000_10ffff_tmp9));
533            CC_Nd_104a0_104a9 = simd_and(r10000_10ffff_tmp9, CC_Nd_104a0_104a9_sfx);
534            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_104a0_104a9);
535            r10000_10ffff_tmp10 = simd_and(basis_bits.bit_5, basis_bits.bit_6);
536            r10000_10ffff_tmp11 = simd_or(basis_bits.bit_4, r10000_10ffff_tmp10);
537            CC_Nd_11066_1106f_sfx_sfx_sfx = simd_and(r10000_10ffff_tmp1, r10000_10ffff_tmp11);
538            r10000_10ffff_tmp12 = simd_or(basis_bits.bit_2, basis_bits.bit_3);
539            r10000_10ffff_tmp13 = simd_andc(r80_10ffff_tmp11, r10000_10ffff_tmp12);
540            r10000_10ffff_tmp14 = simd_andc(basis_bits.bit_7, basis_bits.bit_6);
541            r10000_10ffff_tmp15 = simd_andc(r10000_10ffff_tmp14, r80_10ffff_tmp3);
542            CC_81 = simd_and(r10000_10ffff_tmp13, r10000_10ffff_tmp15);
543            carryQ.cq[38] = carryout2carry(pablo_blk_Advance(CC_81, carryQ.get_carry_in(38), r10000_10ffff_tmp16));
544            CC_Nd_11066_1106f_sfx_sfx = simd_and(r10000_10ffff_tmp16, CC_Nd_11066_1106f_sfx_sfx_sfx);
545            CC_91 = simd_and(r10000_10ffff_tmp3, r10000_10ffff_tmp15);
546            carryQ.cq[39] = carryout2carry(pablo_blk_Advance(CC_91, carryQ.get_carry_in(39), r10000_10ffff_tmp17));
547            CC_Nd_11066_1106f_sfx = simd_and(r10000_10ffff_tmp17, CC_Nd_11066_1106f_sfx_sfx);
548            CC_f0 = simd_andc(r10000_10ffff_tmp8, r80_10ffff_tmp12);
549            CC_Nd_11066_1106f = simd_and(r10000_10ffff_tmp9, CC_Nd_11066_1106f_sfx);
550            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_11066_1106f);
551            r10000_10ffff_tmp18 = simd_and(r80_10ffff_tmp11, tmp2);
552            CC_Nd_110f0_110f9_sfx_sfx_sfx = simd_andc(r10000_10ffff_tmp18, tmp5);
553            r10000_10ffff_tmp19 = simd_and(basis_bits.bit_6, basis_bits.bit_7);
554            r10000_10ffff_tmp20 = simd_andc(r10000_10ffff_tmp19, r80_10ffff_tmp3);
555            CC_83 = simd_and(r10000_10ffff_tmp13, r10000_10ffff_tmp20);
556            carryQ.cq[40] = carryout2carry(pablo_blk_Advance(CC_83, carryQ.get_carry_in(40), r10000_10ffff_tmp21));
557            CC_Nd_110f0_110f9_sfx_sfx = simd_and(r10000_10ffff_tmp21, CC_Nd_110f0_110f9_sfx_sfx_sfx);
558            CC_91 = simd_and(r10000_10ffff_tmp3, r10000_10ffff_tmp15);
559            CC_Nd_110f0_110f9_sfx = simd_and(r10000_10ffff_tmp17, CC_Nd_110f0_110f9_sfx_sfx);
560            CC_f0 = simd_andc(r10000_10ffff_tmp8, r80_10ffff_tmp12);
561            CC_Nd_110f0_110f9 = simd_and(r10000_10ffff_tmp9, CC_Nd_110f0_110f9_sfx);
562            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_110f0_110f9);
563            CC_Nd_11136_1113f_sfx_sfx_sfx = simd_and(r10000_10ffff_tmp18, r10000_10ffff_tmp11);
564            r10000_10ffff_tmp22 = simd_andc(basis_bits.bit_5, basis_bits.bit_4);
565            r10000_10ffff_tmp23 = simd_andc(r10000_10ffff_tmp22, r80_10ffff_tmp8);
566            CC_84 = simd_and(r10000_10ffff_tmp13, r10000_10ffff_tmp23);
567            carryQ.cq[41] = carryout2carry(pablo_blk_Advance(CC_84, carryQ.get_carry_in(41), r10000_10ffff_tmp24));
568            CC_Nd_11136_1113f_sfx_sfx = simd_and(r10000_10ffff_tmp24, CC_Nd_11136_1113f_sfx_sfx_sfx);
569            CC_91 = simd_and(r10000_10ffff_tmp3, r10000_10ffff_tmp15);
570            CC_Nd_11136_1113f_sfx = simd_and(r10000_10ffff_tmp17, CC_Nd_11136_1113f_sfx_sfx);
571            CC_f0 = simd_andc(r10000_10ffff_tmp8, r80_10ffff_tmp12);
572            CC_Nd_11136_1113f = simd_and(r10000_10ffff_tmp9, CC_Nd_11136_1113f_sfx);
573            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_11136_1113f);
574            CC_Nd_111d0_111d9_sfx_sfx_sfx = simd_andc(r10000_10ffff_tmp3, tmp5);
575            r10000_10ffff_tmp25 = simd_and(r10000_10ffff_tmp22, r10000_10ffff_tmp19);
576            CC_87 = simd_and(r10000_10ffff_tmp13, r10000_10ffff_tmp25);
577            carryQ.cq[42] = carryout2carry(pablo_blk_Advance(CC_87, carryQ.get_carry_in(42), r10000_10ffff_tmp26));
578            CC_Nd_111d0_111d9_sfx_sfx = simd_and(r10000_10ffff_tmp26, CC_Nd_111d0_111d9_sfx_sfx_sfx);
579            CC_91 = simd_and(r10000_10ffff_tmp3, r10000_10ffff_tmp15);
580            CC_Nd_111d0_111d9_sfx = simd_and(r10000_10ffff_tmp17, CC_Nd_111d0_111d9_sfx_sfx);
581            CC_f0 = simd_andc(r10000_10ffff_tmp8, r80_10ffff_tmp12);
582            CC_Nd_111d0_111d9 = simd_and(r10000_10ffff_tmp9, CC_Nd_111d0_111d9_sfx);
583            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_111d0_111d9);
584            CC_Nd_116c0_116c9_sfx_sfx_sfx = simd_andc(r10000_10ffff_tmp13, tmp5);
585            r10000_10ffff_tmp27 = simd_andc(basis_bits.bit_4, basis_bits.bit_5);
586            r10000_10ffff_tmp28 = simd_and(r10000_10ffff_tmp27, r10000_10ffff_tmp19);
587            CC_9b = simd_and(r10000_10ffff_tmp3, r10000_10ffff_tmp28);
588            carryQ.cq[43] = carryout2carry(pablo_blk_Advance(CC_9b, carryQ.get_carry_in(43), r10000_10ffff_tmp29));
589            CC_Nd_116c0_116c9_sfx_sfx = simd_and(r10000_10ffff_tmp29, CC_Nd_116c0_116c9_sfx_sfx_sfx);
590            CC_91 = simd_and(r10000_10ffff_tmp3, r10000_10ffff_tmp15);
591            CC_Nd_116c0_116c9_sfx = simd_and(r10000_10ffff_tmp17, CC_Nd_116c0_116c9_sfx_sfx);
592            CC_f0 = simd_andc(r10000_10ffff_tmp8, r80_10ffff_tmp12);
593            CC_Nd_116c0_116c9 = simd_and(r10000_10ffff_tmp9, CC_Nd_116c0_116c9_sfx);
594            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_116c0_116c9);
595            r10000_10ffff_tmp30 = simd_and(basis_bits.bit_4, basis_bits.bit_5);
596            r10000_10ffff_tmp31 = simd_and(r10000_10ffff_tmp30, basis_bits.bit_6);
597            r10000_10ffff_tmp32 = simd_or(basis_bits.bit_3, r10000_10ffff_tmp31);
598            r10000_10ffff_tmp33 = simd_or(basis_bits.bit_2, r10000_10ffff_tmp32);
599            CC_Nd_1d7ce_1d7ff_sfx_sfx_sfx = simd_and(r80_10ffff_tmp11, r10000_10ffff_tmp33);
600            r10000_10ffff_tmp34 = simd_and(r10000_10ffff_tmp30, r10000_10ffff_tmp19);
601            CC_9f = simd_and(r10000_10ffff_tmp3, r10000_10ffff_tmp34);
602            carryQ.cq[44] = carryout2carry(pablo_blk_Advance(CC_9f, carryQ.get_carry_in(44), r10000_10ffff_tmp35));
603            CC_Nd_1d7ce_1d7ff_sfx_sfx = simd_and(r10000_10ffff_tmp35, CC_Nd_1d7ce_1d7ff_sfx_sfx_sfx);
604            r10000_10ffff_tmp36 = simd_and(r10000_10ffff_tmp30, r10000_10ffff_tmp14);
605            CC_9d = simd_and(r10000_10ffff_tmp3, r10000_10ffff_tmp36);
606            carryQ.cq[45] = carryout2carry(pablo_blk_Advance(CC_9d, carryQ.get_carry_in(45), r10000_10ffff_tmp37));
607            CC_Nd_1d7ce_1d7ff_sfx = simd_and(r10000_10ffff_tmp37, CC_Nd_1d7ce_1d7ff_sfx_sfx);
608            CC_f0 = simd_andc(r10000_10ffff_tmp8, r80_10ffff_tmp12);
609            CC_Nd_1d7ce_1d7ff = simd_and(r10000_10ffff_tmp9, CC_Nd_1d7ce_1d7ff_sfx);
610            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_1d7ce_1d7ff);
611          }
612        }
613  }
614  IDISA_INLINE void clear() { 
615 }
616  void do_final_block(Basis_bits & basis_bits, Struct_Nd & struct_Nd, BitBlock EOF_mask) {
617                BitBlock tmp1, tmp2, tmp3, tmp4, tmp5, CC_Nd_30_39, tmp6, tmp7, tmp8, tmp9;
618                BitBlock tmp10, bytetest_c2_df, tmp11, tmp12, tmp13, tmp14, tmp15;
619                BitBlock bytetest_e1_ef, tmp16, bytetest_a0_bf, tmp17, bytetest_e0, tmp18;
620                BitBlock bytetest_e0_adv, range_test_800_ffff_1, test_80_ffff, tmp19;
621                BitBlock bytetest_80_8f, tmp20, tmp21, tmp22, bytetest_f4, tmp23;
622                BitBlock bytetest_f4_adv, tmp24, bytetest_f1_f3, bytetest_90_bf, bytetest_f0;
623                BitBlock tmp25, bytetest_f0_adv, range_test_10000_fffff_1;
624                BitBlock range_test_10000_10ffff_1, test_80_10ffff, r80_10ffff_tmp1;
625                BitBlock r80_10ffff_tmp2, r80_10ffff_tmp3, r80_10ffff_tmp4, r80_10ffff_tmp5;
626                BitBlock r80_7ff_tmp1, r80_7ff_tmp2, bytetest_d0_df, r400_7ff_tmp1;
627                BitBlock r400_7ff_tmp2, r400_7ff_tmp3, r400_7ff_tmp4, bytetest_d8_db;
628                BitBlock r600_6ff_tmp1, r600_6ff_tmp2, r600_6ff_tmp3, CC_Nd_660_669_sfx;
629                BitBlock r600_6ff_tmp4, r600_6ff_tmp5, r600_6ff_tmp6, r600_6ff_tmp7;
630                BitBlock r600_6ff_tmp8, r600_6ff_tmp9, CC_d9, r600_6ff_tmp10, CC_Nd_660_669;
631                BitBlock r600_6ff_tmp11, CC_Nd_6f0_6f9_sfx, r600_6ff_tmp12, r600_6ff_tmp13;
632                BitBlock CC_db, r600_6ff_tmp14, CC_Nd_6f0_6f9, r400_7ff_tmp5, bytetest_dc_df;
633                BitBlock bytetest_80_bf, r700_7ff_tmp1, r700_7ff_tmp2, r700_7ff_tmp3;
634                BitBlock bytetest_df, r700_7ff_tmp4, bytetest_df_adv, r7c0_7ff_tmp1;
635                BitBlock r7c0_7ff_tmp2, r7c0_7ff_tmp3, CC_Nd_7c0_7c9_sfx, r7c0_7ff_tmp4;
636                BitBlock r7c0_7ff_tmp5, r7c0_7ff_tmp6, CC_df, r7c0_7ff_tmp7, CC_Nd_7c0_7c9;
637                BitBlock r80_10ffff_tmp6, r80_10ffff_tmp7, r80_10ffff_tmp8, r80_10ffff_tmp9;
638                BitBlock r80_10ffff_tmp10, r80_10ffff_tmp11, r80_10ffff_tmp12;
639                BitBlock r80_10ffff_tmp13, r800_ffff_tmp1, r800_ffff_tmp2, r800_ffff_tmp3;
640                BitBlock r800_ffff_tmp4, r800_ffff_tmp5, CC_Nd_966_96f_sfx_sfx, r800_ffff_tmp6;
641                BitBlock r800_ffff_tmp7, r800_ffff_tmp8, CC_a5, r800_ffff_tmp9;
642                BitBlock CC_Nd_966_96f_sfx, r800_ffff_tmp10, r800_ffff_tmp11, r800_ffff_tmp12;
643                BitBlock CC_e0, r800_ffff_tmp13, CC_Nd_966_96f, CC_Nd_9e6_9ef_sfx_sfx;
644                BitBlock r800_ffff_tmp14, r800_ffff_tmp15, CC_a7, r800_ffff_tmp16;
645                BitBlock CC_Nd_9e6_9ef_sfx, CC_Nd_9e6_9ef, CC_Nd_a66_a6f_sfx_sfx;
646                BitBlock r800_ffff_tmp17, r800_ffff_tmp18, CC_a9, r800_ffff_tmp19;
647                BitBlock CC_Nd_a66_a6f_sfx, CC_Nd_a66_a6f, CC_Nd_ae6_aef_sfx_sfx;
648                BitBlock r800_ffff_tmp20, CC_ab, r800_ffff_tmp21, CC_Nd_ae6_aef_sfx;
649                BitBlock CC_Nd_ae6_aef, CC_Nd_b66_b6f_sfx_sfx, r800_ffff_tmp22;
650                BitBlock r800_ffff_tmp23, CC_ad, r800_ffff_tmp24, CC_Nd_b66_b6f_sfx;
651                BitBlock CC_Nd_b66_b6f, CC_Nd_be6_bef_sfx_sfx, r800_ffff_tmp25, CC_af;
652                BitBlock r800_ffff_tmp26, CC_Nd_be6_bef_sfx, CC_Nd_be6_bef;
653                BitBlock CC_Nd_c66_c6f_sfx_sfx, r800_ffff_tmp27, r800_ffff_tmp28, CC_b1;
654                BitBlock r800_ffff_tmp29, CC_Nd_c66_c6f_sfx, CC_Nd_c66_c6f;
655                BitBlock CC_Nd_ce6_cef_sfx_sfx, r800_ffff_tmp30, CC_b3, r800_ffff_tmp31;
656                BitBlock CC_Nd_ce6_cef_sfx, CC_Nd_ce6_cef, CC_Nd_d66_d6f_sfx_sfx, CC_b5;
657                BitBlock r800_ffff_tmp32, CC_Nd_d66_d6f_sfx, CC_Nd_d66_d6f, r800_ffff_tmp33;
658                BitBlock r800_ffff_tmp34, CC_Nd_e50_e59_sfx_sfx, CC_b9, r800_ffff_tmp35;
659                BitBlock CC_Nd_e50_e59_sfx, CC_Nd_e50_e59, CC_Nd_ed0_ed9_sfx_sfx, CC_bb;
660                BitBlock r800_ffff_tmp36, CC_Nd_ed0_ed9_sfx, CC_Nd_ed0_ed9;
661                BitBlock CC_Nd_f20_f29_sfx_sfx, r800_ffff_tmp37, CC_bc, r800_ffff_tmp38;
662                BitBlock CC_Nd_f20_f29_sfx, CC_Nd_f20_f29, r800_ffff_tmp39, r800_ffff_tmp40;
663                BitBlock CC_Nd_1040_1049_sfx_sfx, CC_81, r800_ffff_tmp41, CC_Nd_1040_1049_sfx;
664                BitBlock CC_e1, r800_ffff_tmp42, CC_Nd_1040_1049, CC_Nd_1090_1099_sfx_sfx;
665                BitBlock r800_ffff_tmp43, r800_ffff_tmp44, CC_82, r800_ffff_tmp45;
666                BitBlock CC_Nd_1090_1099_sfx, CC_Nd_1090_1099, CC_Nd_17e0_17e9_sfx_sfx, CC_9f;
667                BitBlock r800_ffff_tmp46, CC_Nd_17e0_17e9_sfx, CC_Nd_17e0_17e9;
668                BitBlock CC_Nd_1810_1819_sfx_sfx, CC_a0, r800_ffff_tmp47, CC_Nd_1810_1819_sfx;
669                BitBlock CC_Nd_1810_1819, CC_Nd_1946_194f_sfx_sfx, CC_Nd_1946_194f_sfx;
670                BitBlock CC_Nd_1946_194f, CC_Nd_19d0_19d9_sfx_sfx, CC_Nd_19d0_19d9_sfx;
671                BitBlock CC_Nd_19d0_19d9, CC_Nd_1a80_1a89_sfx_sfx, r800_ffff_tmp48, CC_aa;
672                BitBlock r800_ffff_tmp49, CC_Nd_1a80_1a89_sfx, CC_Nd_1a80_1a89;
673                BitBlock CC_Nd_1a90_1a99_sfx_sfx, CC_Nd_1a90_1a99_sfx, CC_Nd_1a90_1a99;
674                BitBlock CC_Nd_1b50_1b59_sfx_sfx, CC_Nd_1b50_1b59_sfx, CC_Nd_1b50_1b59;
675                BitBlock CC_Nd_1bb0_1bb9_sfx_sfx, r800_ffff_tmp50, CC_ae, r800_ffff_tmp51;
676                BitBlock CC_Nd_1bb0_1bb9_sfx, CC_Nd_1bb0_1bb9, CC_Nd_1c40_1c49_sfx_sfx;
677                BitBlock CC_Nd_1c40_1c49_sfx, CC_Nd_1c40_1c49, CC_Nd_1c50_1c59_sfx_sfx;
678                BitBlock CC_Nd_1c50_1c59_sfx, CC_Nd_1c50_1c59, CC_Nd_a620_a629_sfx_sfx;
679                BitBlock r800_ffff_tmp52, CC_98, r800_ffff_tmp53, CC_Nd_a620_a629_sfx, CC_ea;
680                BitBlock r800_ffff_tmp54, CC_Nd_a620_a629, CC_Nd_a8d0_a8d9_sfx_sfx, CC_a3;
681                BitBlock r800_ffff_tmp55, CC_Nd_a8d0_a8d9_sfx, CC_Nd_a8d0_a8d9;
682                BitBlock CC_Nd_a900_a909_sfx_sfx, r800_ffff_tmp56, CC_a4, r800_ffff_tmp57;
683                BitBlock CC_Nd_a900_a909_sfx, CC_Nd_a900_a909, CC_Nd_a9d0_a9d9_sfx_sfx;
684                BitBlock CC_Nd_a9d0_a9d9_sfx, CC_Nd_a9d0_a9d9, CC_Nd_aa50_aa59_sfx_sfx;
685                BitBlock CC_Nd_aa50_aa59_sfx, CC_Nd_aa50_aa59, CC_Nd_abf0_abf9_sfx_sfx;
686                BitBlock CC_Nd_abf0_abf9_sfx, CC_Nd_abf0_abf9, CC_Nd_ff10_ff19_sfx_sfx;
687                BitBlock CC_Nd_ff10_ff19_sfx, CC_ef, r800_ffff_tmp58, CC_Nd_ff10_ff19;
688                BitBlock r80_10ffff_tmp14, r80_10ffff_tmp15, r80_10ffff_tmp16;
689                BitBlock r80_10ffff_tmp17, r80_10ffff_tmp18, r80_10ffff_tmp19;
690                BitBlock r80_10ffff_tmp20, r10000_10ffff_tmp1, CC_Nd_104a0_104a9_sfx_sfx_sfx;
691                BitBlock r10000_10ffff_tmp2, r10000_10ffff_tmp3, r10000_10ffff_tmp4;
692                BitBlock r10000_10ffff_tmp5, CC_92, r10000_10ffff_tmp6;
693                BitBlock CC_Nd_104a0_104a9_sfx_sfx, CC_90, r10000_10ffff_tmp7;
694                BitBlock CC_Nd_104a0_104a9_sfx, r10000_10ffff_tmp8, CC_f0, r10000_10ffff_tmp9;
695                BitBlock CC_Nd_104a0_104a9, r10000_10ffff_tmp10, r10000_10ffff_tmp11;
696                BitBlock CC_Nd_11066_1106f_sfx_sfx_sfx, r10000_10ffff_tmp12;
697                BitBlock r10000_10ffff_tmp13, r10000_10ffff_tmp14, r10000_10ffff_tmp15;
698                BitBlock r10000_10ffff_tmp16, CC_Nd_11066_1106f_sfx_sfx, CC_91;
699                BitBlock r10000_10ffff_tmp17, CC_Nd_11066_1106f_sfx, CC_Nd_11066_1106f;
700                BitBlock r10000_10ffff_tmp18, CC_Nd_110f0_110f9_sfx_sfx_sfx;
701                BitBlock r10000_10ffff_tmp19, r10000_10ffff_tmp20, CC_83, r10000_10ffff_tmp21;
702                BitBlock CC_Nd_110f0_110f9_sfx_sfx, CC_Nd_110f0_110f9_sfx, CC_Nd_110f0_110f9;
703                BitBlock CC_Nd_11136_1113f_sfx_sfx_sfx, r10000_10ffff_tmp22;
704                BitBlock r10000_10ffff_tmp23, CC_84, r10000_10ffff_tmp24;
705                BitBlock CC_Nd_11136_1113f_sfx_sfx, CC_Nd_11136_1113f_sfx, CC_Nd_11136_1113f;
706                BitBlock CC_Nd_111d0_111d9_sfx_sfx_sfx, r10000_10ffff_tmp25, CC_87;
707                BitBlock r10000_10ffff_tmp26, CC_Nd_111d0_111d9_sfx_sfx, CC_Nd_111d0_111d9_sfx;
708                BitBlock CC_Nd_111d0_111d9, CC_Nd_116c0_116c9_sfx_sfx_sfx, r10000_10ffff_tmp27;
709                BitBlock r10000_10ffff_tmp28, CC_9b, r10000_10ffff_tmp29;
710                BitBlock CC_Nd_116c0_116c9_sfx_sfx, CC_Nd_116c0_116c9_sfx, CC_Nd_116c0_116c9;
711                BitBlock r10000_10ffff_tmp30, r10000_10ffff_tmp31, r10000_10ffff_tmp32;
712                BitBlock r10000_10ffff_tmp33, CC_Nd_1d7ce_1d7ff_sfx_sfx_sfx;
713                BitBlock r10000_10ffff_tmp34, r10000_10ffff_tmp35, CC_Nd_1d7ce_1d7ff_sfx_sfx;
714                BitBlock r10000_10ffff_tmp36, CC_9d, r10000_10ffff_tmp37;
715                BitBlock CC_Nd_1d7ce_1d7ff_sfx, CC_Nd_1d7ce_1d7ff;
716
717
718
719
720        struct_Nd.cc = simd<1>::constant<0>();
721        tmp1 = simd_or(basis_bits.bit_0, basis_bits.bit_1);
722        tmp2 = simd_and(basis_bits.bit_2, basis_bits.bit_3);
723        tmp3 = simd_andc(tmp2, tmp1);
724        tmp4 = simd_or(basis_bits.bit_5, basis_bits.bit_6);
725        tmp5 = simd_and(basis_bits.bit_4, tmp4);
726        CC_Nd_30_39 = simd_andc(tmp3, tmp5);
727        struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_30_39);
728        tmp6 = simd_and(basis_bits.bit_0, basis_bits.bit_1);
729        tmp7 = simd_andc(tmp6, basis_bits.bit_2);
730        tmp8 = simd_or(basis_bits.bit_4, basis_bits.bit_5);
731        tmp9 = simd_or(tmp8, basis_bits.bit_6);
732        tmp10 = simd_or(basis_bits.bit_3, tmp9);
733        bytetest_c2_df = simd_and(tmp7, tmp10);
734        tmp11 = simd_andc(basis_bits.bit_2, basis_bits.bit_3);
735        tmp12 = simd_and(tmp6, tmp11);
736        tmp13 = simd_or(basis_bits.bit_6, basis_bits.bit_7);
737        tmp14 = simd_or(basis_bits.bit_5, tmp13);
738        tmp15 = simd_or(basis_bits.bit_4, tmp14);
739        bytetest_e1_ef = simd_and(tmp12, tmp15);
740        tmp16 = simd_andc(basis_bits.bit_0, basis_bits.bit_1);
741        bytetest_a0_bf = simd_and(tmp16, basis_bits.bit_2);
742        tmp17 = simd_or(tmp8, tmp13);
743        bytetest_e0 = simd_andc(tmp12, tmp17);
744        carryQ.cq[0] = carryout2carry(pablo_blk_Advance(bytetest_e0, carryQ.get_carry_in(0), tmp18));
745        bytetest_e0_adv = simd_and(tmp18, bytetest_a0_bf);
746        range_test_800_ffff_1 = simd_or(bytetest_e1_ef, bytetest_e0_adv);
747        test_80_ffff = simd_or(bytetest_c2_df, range_test_800_ffff_1);
748        tmp19 = simd_or(basis_bits.bit_2, basis_bits.bit_3);
749        bytetest_80_8f = simd_andc(tmp16, tmp19);
750        tmp20 = simd_and(tmp6, tmp2);
751        tmp21 = simd_andc(basis_bits.bit_5, basis_bits.bit_4);
752        tmp22 = simd_andc(tmp21, tmp13);
753        bytetest_f4 = simd_and(tmp20, tmp22);
754        carryQ.cq[1] = carryout2carry(pablo_blk_Advance(bytetest_f4, carryQ.get_carry_in(1), tmp23));
755        bytetest_f4_adv = simd_and(tmp23, bytetest_80_8f);
756        tmp24 = simd_andc(tmp20, tmp8);
757        bytetest_f1_f3 = simd_and(tmp24, tmp13);
758        bytetest_90_bf = simd_and(tmp16, tmp19);
759        bytetest_f0 = simd_andc(tmp20, tmp17);
760        carryQ.cq[2] = carryout2carry(pablo_blk_Advance(bytetest_f0, carryQ.get_carry_in(2), tmp25));
761        bytetest_f0_adv = simd_and(tmp25, bytetest_90_bf);
762        range_test_10000_fffff_1 = simd_or(bytetest_f1_f3, bytetest_f0_adv);
763        range_test_10000_10ffff_1 = simd_or(bytetest_f4_adv, range_test_10000_fffff_1);
764        test_80_10ffff = simd_or(test_80_ffff, range_test_10000_10ffff_1);
765        if (bitblock::any(test_80_10ffff)) {
766          r80_10ffff_tmp1 = simd_and(basis_bits.bit_0, basis_bits.bit_1);
767          r80_10ffff_tmp2 = simd_andc(r80_10ffff_tmp1, basis_bits.bit_2);
768          r80_10ffff_tmp3 = simd_or(basis_bits.bit_4, basis_bits.bit_5);
769          r80_10ffff_tmp4 = simd_or(r80_10ffff_tmp3, basis_bits.bit_6);
770          r80_10ffff_tmp5 = simd_or(basis_bits.bit_3, r80_10ffff_tmp4);
771          bytetest_c2_df = simd_and(r80_10ffff_tmp2, r80_10ffff_tmp5);
772          if (bitblock::any(bytetest_c2_df)) {
773            r80_7ff_tmp1 = simd_and(basis_bits.bit_0, basis_bits.bit_1);
774            r80_7ff_tmp2 = simd_andc(basis_bits.bit_3, basis_bits.bit_2);
775            bytetest_d0_df = simd_and(r80_7ff_tmp1, r80_7ff_tmp2);
776            if (bitblock::any(bytetest_d0_df)) {
777              r400_7ff_tmp1 = simd_and(basis_bits.bit_0, basis_bits.bit_1);
778              r400_7ff_tmp2 = simd_andc(basis_bits.bit_3, basis_bits.bit_2);
779              r400_7ff_tmp3 = simd_and(r400_7ff_tmp1, r400_7ff_tmp2);
780              r400_7ff_tmp4 = simd_andc(basis_bits.bit_4, basis_bits.bit_5);
781              bytetest_d8_db = simd_and(r400_7ff_tmp3, r400_7ff_tmp4);
782              if (bitblock::any(bytetest_d8_db)) {
783                r600_6ff_tmp1 = simd_andc(basis_bits.bit_0, basis_bits.bit_1);
784                r600_6ff_tmp2 = simd_andc(basis_bits.bit_2, basis_bits.bit_3);
785                r600_6ff_tmp3 = simd_and(r600_6ff_tmp1, r600_6ff_tmp2);
786                CC_Nd_660_669_sfx = simd_andc(r600_6ff_tmp3, tmp5);
787                r600_6ff_tmp4 = simd_and(basis_bits.bit_0, basis_bits.bit_1);
788                r600_6ff_tmp5 = simd_andc(basis_bits.bit_3, basis_bits.bit_2);
789                r600_6ff_tmp6 = simd_and(r600_6ff_tmp4, r600_6ff_tmp5);
790                r600_6ff_tmp7 = simd_andc(basis_bits.bit_4, basis_bits.bit_5);
791                r600_6ff_tmp8 = simd_andc(basis_bits.bit_7, basis_bits.bit_6);
792                r600_6ff_tmp9 = simd_and(r600_6ff_tmp7, r600_6ff_tmp8);
793                CC_d9 = simd_and(r600_6ff_tmp6, r600_6ff_tmp9);
794                carryQ.cq[3] = carryout2carry(pablo_blk_Advance(CC_d9, carryQ.get_carry_in(3), r600_6ff_tmp10));
795                CC_Nd_660_669 = simd_and(r600_6ff_tmp10, CC_Nd_660_669_sfx);
796                struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_660_669);
797                r600_6ff_tmp11 = simd_and(r600_6ff_tmp1, tmp2);
798                CC_Nd_6f0_6f9_sfx = simd_andc(r600_6ff_tmp11, tmp5);
799                r600_6ff_tmp12 = simd_and(basis_bits.bit_6, basis_bits.bit_7);
800                r600_6ff_tmp13 = simd_and(r600_6ff_tmp7, r600_6ff_tmp12);
801                CC_db = simd_and(r600_6ff_tmp6, r600_6ff_tmp13);
802                carryQ.cq[4] = carryout2carry(pablo_blk_Advance(CC_db, carryQ.get_carry_in(4), r600_6ff_tmp14));
803                CC_Nd_6f0_6f9 = simd_and(r600_6ff_tmp14, CC_Nd_6f0_6f9_sfx);
804                struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_6f0_6f9);
805              }
806              r400_7ff_tmp5 = simd_and(basis_bits.bit_4, basis_bits.bit_5);
807              bytetest_dc_df = simd_and(r400_7ff_tmp3, r400_7ff_tmp5);
808              if (bitblock::any(bytetest_dc_df)) {
809                bytetest_80_bf = simd_andc(basis_bits.bit_0, basis_bits.bit_1);
810                r700_7ff_tmp1 = simd_and(basis_bits.bit_4, basis_bits.bit_5);
811                r700_7ff_tmp2 = simd_and(basis_bits.bit_6, basis_bits.bit_7);
812                r700_7ff_tmp3 = simd_and(r700_7ff_tmp1, r700_7ff_tmp2);
813                bytetest_df = simd_and(r400_7ff_tmp3, r700_7ff_tmp3);
814                carryQ.cq[5] = carryout2carry(pablo_blk_Advance(bytetest_df, carryQ.get_carry_in(5), r700_7ff_tmp4));
815                bytetest_df_adv = simd_and(r700_7ff_tmp4, bytetest_80_bf);
816                if (bitblock::any(bytetest_df_adv)) {
817                  r7c0_7ff_tmp1 = simd_andc(basis_bits.bit_0, basis_bits.bit_1);
818                  r7c0_7ff_tmp2 = simd_or(basis_bits.bit_2, basis_bits.bit_3);
819                  r7c0_7ff_tmp3 = simd_andc(r7c0_7ff_tmp1, r7c0_7ff_tmp2);
820                  CC_Nd_7c0_7c9_sfx = simd_andc(r7c0_7ff_tmp3, tmp5);
821                  r7c0_7ff_tmp4 = simd_and(basis_bits.bit_4, basis_bits.bit_5);
822                  r7c0_7ff_tmp5 = simd_and(basis_bits.bit_6, basis_bits.bit_7);
823                  r7c0_7ff_tmp6 = simd_and(r7c0_7ff_tmp4, r7c0_7ff_tmp5);
824                  CC_df = simd_and(r400_7ff_tmp3, r7c0_7ff_tmp6);
825                  carryQ.cq[6] = carryout2carry(pablo_blk_Advance(CC_df, carryQ.get_carry_in(6), r7c0_7ff_tmp7));
826                  CC_Nd_7c0_7c9 = simd_and(r7c0_7ff_tmp7, CC_Nd_7c0_7c9_sfx);
827                  struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_7c0_7c9);
828                }
829              }
830            }
831          }
832          r80_10ffff_tmp6 = simd_andc(basis_bits.bit_2, basis_bits.bit_3);
833          r80_10ffff_tmp7 = simd_and(r80_10ffff_tmp1, r80_10ffff_tmp6);
834          r80_10ffff_tmp8 = simd_or(basis_bits.bit_6, basis_bits.bit_7);
835          r80_10ffff_tmp9 = simd_or(basis_bits.bit_5, r80_10ffff_tmp8);
836          r80_10ffff_tmp10 = simd_or(basis_bits.bit_4, r80_10ffff_tmp9);
837          bytetest_e1_ef = simd_and(r80_10ffff_tmp7, r80_10ffff_tmp10);
838          r80_10ffff_tmp11 = simd_andc(basis_bits.bit_0, basis_bits.bit_1);
839          bytetest_a0_bf = simd_and(r80_10ffff_tmp11, basis_bits.bit_2);
840          r80_10ffff_tmp12 = simd_or(r80_10ffff_tmp3, r80_10ffff_tmp8);
841          bytetest_e0 = simd_andc(r80_10ffff_tmp7, r80_10ffff_tmp12);
842          carryQ.cq[7] = carryout2carry(pablo_blk_Advance(bytetest_e0, carryQ.get_carry_in(7), r80_10ffff_tmp13));
843          bytetest_e0_adv = simd_and(r80_10ffff_tmp13, bytetest_a0_bf);
844          range_test_800_ffff_1 = simd_or(bytetest_e1_ef, bytetest_e0_adv);
845          if (bitblock::any(range_test_800_ffff_1)) {
846            r800_ffff_tmp1 = simd_andc(basis_bits.bit_0, basis_bits.bit_1);
847            r800_ffff_tmp2 = simd_andc(basis_bits.bit_2, basis_bits.bit_3);
848            r800_ffff_tmp3 = simd_and(r800_ffff_tmp1, r800_ffff_tmp2);
849            r800_ffff_tmp4 = simd_and(basis_bits.bit_5, basis_bits.bit_6);
850            r800_ffff_tmp5 = simd_or(basis_bits.bit_4, r800_ffff_tmp4);
851            CC_Nd_966_96f_sfx_sfx = simd_and(r800_ffff_tmp3, r800_ffff_tmp5);
852            r800_ffff_tmp6 = simd_andc(basis_bits.bit_5, basis_bits.bit_4);
853            r800_ffff_tmp7 = simd_andc(basis_bits.bit_7, basis_bits.bit_6);
854            r800_ffff_tmp8 = simd_and(r800_ffff_tmp6, r800_ffff_tmp7);
855            CC_a5 = simd_and(r800_ffff_tmp3, r800_ffff_tmp8);
856            carryQ.cq[8] = carryout2carry(pablo_blk_Advance(CC_a5, carryQ.get_carry_in(8), r800_ffff_tmp9));
857            CC_Nd_966_96f_sfx = simd_and(r800_ffff_tmp9, CC_Nd_966_96f_sfx_sfx);
858            r800_ffff_tmp10 = simd_and(r80_10ffff_tmp1, r800_ffff_tmp2);
859            r800_ffff_tmp11 = simd_or(basis_bits.bit_6, basis_bits.bit_7);
860            r800_ffff_tmp12 = simd_or(r80_10ffff_tmp3, r800_ffff_tmp11);
861            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
862            carryQ.cq[9] = carryout2carry(pablo_blk_Advance(CC_e0, carryQ.get_carry_in(9), r800_ffff_tmp13));
863            CC_Nd_966_96f = simd_and(r800_ffff_tmp13, CC_Nd_966_96f_sfx);
864            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_966_96f);
865            CC_Nd_9e6_9ef_sfx_sfx = simd_and(r800_ffff_tmp3, r800_ffff_tmp5);
866            r800_ffff_tmp14 = simd_and(basis_bits.bit_6, basis_bits.bit_7);
867            r800_ffff_tmp15 = simd_and(r800_ffff_tmp6, r800_ffff_tmp14);
868            CC_a7 = simd_and(r800_ffff_tmp3, r800_ffff_tmp15);
869            carryQ.cq[10] = carryout2carry(pablo_blk_Advance(CC_a7, carryQ.get_carry_in(10), r800_ffff_tmp16));
870            CC_Nd_9e6_9ef_sfx = simd_and(r800_ffff_tmp16, CC_Nd_9e6_9ef_sfx_sfx);
871            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
872            CC_Nd_9e6_9ef = simd_and(r800_ffff_tmp13, CC_Nd_9e6_9ef_sfx);
873            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_9e6_9ef);
874            CC_Nd_a66_a6f_sfx_sfx = simd_and(r800_ffff_tmp3, r800_ffff_tmp5);
875            r800_ffff_tmp17 = simd_andc(basis_bits.bit_4, basis_bits.bit_5);
876            r800_ffff_tmp18 = simd_and(r800_ffff_tmp17, r800_ffff_tmp7);
877            CC_a9 = simd_and(r800_ffff_tmp3, r800_ffff_tmp18);
878            carryQ.cq[11] = carryout2carry(pablo_blk_Advance(CC_a9, carryQ.get_carry_in(11), r800_ffff_tmp19));
879            CC_Nd_a66_a6f_sfx = simd_and(r800_ffff_tmp19, CC_Nd_a66_a6f_sfx_sfx);
880            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
881            CC_Nd_a66_a6f = simd_and(r800_ffff_tmp13, CC_Nd_a66_a6f_sfx);
882            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_a66_a6f);
883            CC_Nd_ae6_aef_sfx_sfx = simd_and(r800_ffff_tmp3, r800_ffff_tmp5);
884            r800_ffff_tmp20 = simd_and(r800_ffff_tmp17, r800_ffff_tmp14);
885            CC_ab = simd_and(r800_ffff_tmp3, r800_ffff_tmp20);
886            carryQ.cq[12] = carryout2carry(pablo_blk_Advance(CC_ab, carryQ.get_carry_in(12), r800_ffff_tmp21));
887            CC_Nd_ae6_aef_sfx = simd_and(r800_ffff_tmp21, CC_Nd_ae6_aef_sfx_sfx);
888            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
889            CC_Nd_ae6_aef = simd_and(r800_ffff_tmp13, CC_Nd_ae6_aef_sfx);
890            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_ae6_aef);
891            CC_Nd_b66_b6f_sfx_sfx = simd_and(r800_ffff_tmp3, r800_ffff_tmp5);
892            r800_ffff_tmp22 = simd_and(basis_bits.bit_4, basis_bits.bit_5);
893            r800_ffff_tmp23 = simd_and(r800_ffff_tmp22, r800_ffff_tmp7);
894            CC_ad = simd_and(r800_ffff_tmp3, r800_ffff_tmp23);
895            carryQ.cq[13] = carryout2carry(pablo_blk_Advance(CC_ad, carryQ.get_carry_in(13), r800_ffff_tmp24));
896            CC_Nd_b66_b6f_sfx = simd_and(r800_ffff_tmp24, CC_Nd_b66_b6f_sfx_sfx);
897            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
898            CC_Nd_b66_b6f = simd_and(r800_ffff_tmp13, CC_Nd_b66_b6f_sfx);
899            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_b66_b6f);
900            CC_Nd_be6_bef_sfx_sfx = simd_and(r800_ffff_tmp3, r800_ffff_tmp5);
901            r800_ffff_tmp25 = simd_and(r800_ffff_tmp22, r800_ffff_tmp14);
902            CC_af = simd_and(r800_ffff_tmp3, r800_ffff_tmp25);
903            carryQ.cq[14] = carryout2carry(pablo_blk_Advance(CC_af, carryQ.get_carry_in(14), r800_ffff_tmp26));
904            CC_Nd_be6_bef_sfx = simd_and(r800_ffff_tmp26, CC_Nd_be6_bef_sfx_sfx);
905            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
906            CC_Nd_be6_bef = simd_and(r800_ffff_tmp13, CC_Nd_be6_bef_sfx);
907            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_be6_bef);
908            CC_Nd_c66_c6f_sfx_sfx = simd_and(r800_ffff_tmp3, r800_ffff_tmp5);
909            r800_ffff_tmp27 = simd_and(r800_ffff_tmp1, tmp2);
910            r800_ffff_tmp28 = simd_andc(r800_ffff_tmp7, r80_10ffff_tmp3);
911            CC_b1 = simd_and(r800_ffff_tmp27, r800_ffff_tmp28);
912            carryQ.cq[15] = carryout2carry(pablo_blk_Advance(CC_b1, carryQ.get_carry_in(15), r800_ffff_tmp29));
913            CC_Nd_c66_c6f_sfx = simd_and(r800_ffff_tmp29, CC_Nd_c66_c6f_sfx_sfx);
914            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
915            CC_Nd_c66_c6f = simd_and(r800_ffff_tmp13, CC_Nd_c66_c6f_sfx);
916            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_c66_c6f);
917            CC_Nd_ce6_cef_sfx_sfx = simd_and(r800_ffff_tmp3, r800_ffff_tmp5);
918            r800_ffff_tmp30 = simd_andc(r800_ffff_tmp14, r80_10ffff_tmp3);
919            CC_b3 = simd_and(r800_ffff_tmp27, r800_ffff_tmp30);
920            carryQ.cq[16] = carryout2carry(pablo_blk_Advance(CC_b3, carryQ.get_carry_in(16), r800_ffff_tmp31));
921            CC_Nd_ce6_cef_sfx = simd_and(r800_ffff_tmp31, CC_Nd_ce6_cef_sfx_sfx);
922            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
923            CC_Nd_ce6_cef = simd_and(r800_ffff_tmp13, CC_Nd_ce6_cef_sfx);
924            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_ce6_cef);
925            CC_Nd_d66_d6f_sfx_sfx = simd_and(r800_ffff_tmp3, r800_ffff_tmp5);
926            CC_b5 = simd_and(r800_ffff_tmp27, r800_ffff_tmp8);
927            carryQ.cq[17] = carryout2carry(pablo_blk_Advance(CC_b5, carryQ.get_carry_in(17), r800_ffff_tmp32));
928            CC_Nd_d66_d6f_sfx = simd_and(r800_ffff_tmp32, CC_Nd_d66_d6f_sfx_sfx);
929            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
930            CC_Nd_d66_d6f = simd_and(r800_ffff_tmp13, CC_Nd_d66_d6f_sfx);
931            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_d66_d6f);
932            r800_ffff_tmp33 = simd_andc(basis_bits.bit_3, basis_bits.bit_2);
933            r800_ffff_tmp34 = simd_and(r800_ffff_tmp1, r800_ffff_tmp33);
934            CC_Nd_e50_e59_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
935            CC_b9 = simd_and(r800_ffff_tmp27, r800_ffff_tmp18);
936            carryQ.cq[18] = carryout2carry(pablo_blk_Advance(CC_b9, carryQ.get_carry_in(18), r800_ffff_tmp35));
937            CC_Nd_e50_e59_sfx = simd_and(r800_ffff_tmp35, CC_Nd_e50_e59_sfx_sfx);
938            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
939            CC_Nd_e50_e59 = simd_and(r800_ffff_tmp13, CC_Nd_e50_e59_sfx);
940            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_e50_e59);
941            CC_Nd_ed0_ed9_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
942            CC_bb = simd_and(r800_ffff_tmp27, r800_ffff_tmp20);
943            carryQ.cq[19] = carryout2carry(pablo_blk_Advance(CC_bb, carryQ.get_carry_in(19), r800_ffff_tmp36));
944            CC_Nd_ed0_ed9_sfx = simd_and(r800_ffff_tmp36, CC_Nd_ed0_ed9_sfx_sfx);
945            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
946            CC_Nd_ed0_ed9 = simd_and(r800_ffff_tmp13, CC_Nd_ed0_ed9_sfx);
947            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_ed0_ed9);
948            CC_Nd_f20_f29_sfx_sfx = simd_andc(r800_ffff_tmp3, tmp5);
949            r800_ffff_tmp37 = simd_andc(r800_ffff_tmp22, r800_ffff_tmp11);
950            CC_bc = simd_and(r800_ffff_tmp27, r800_ffff_tmp37);
951            carryQ.cq[20] = carryout2carry(pablo_blk_Advance(CC_bc, carryQ.get_carry_in(20), r800_ffff_tmp38));
952            CC_Nd_f20_f29_sfx = simd_and(r800_ffff_tmp38, CC_Nd_f20_f29_sfx_sfx);
953            CC_e0 = simd_andc(r800_ffff_tmp10, r800_ffff_tmp12);
954            CC_Nd_f20_f29 = simd_and(r800_ffff_tmp13, CC_Nd_f20_f29_sfx);
955            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_f20_f29);
956            r800_ffff_tmp39 = simd_or(basis_bits.bit_2, basis_bits.bit_3);
957            r800_ffff_tmp40 = simd_andc(r800_ffff_tmp1, r800_ffff_tmp39);
958            CC_Nd_1040_1049_sfx_sfx = simd_andc(r800_ffff_tmp40, tmp5);
959            CC_81 = simd_and(r800_ffff_tmp40, r800_ffff_tmp28);
960            carryQ.cq[21] = carryout2carry(pablo_blk_Advance(CC_81, carryQ.get_carry_in(21), r800_ffff_tmp41));
961            CC_Nd_1040_1049_sfx = simd_and(r800_ffff_tmp41, CC_Nd_1040_1049_sfx_sfx);
962            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
963            carryQ.cq[22] = carryout2carry(pablo_blk_Advance(CC_e1, carryQ.get_carry_in(22), r800_ffff_tmp42));
964            CC_Nd_1040_1049 = simd_and(r800_ffff_tmp42, CC_Nd_1040_1049_sfx);
965            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_1040_1049);
966            CC_Nd_1090_1099_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
967            r800_ffff_tmp43 = simd_andc(basis_bits.bit_6, basis_bits.bit_7);
968            r800_ffff_tmp44 = simd_andc(r800_ffff_tmp43, r80_10ffff_tmp3);
969            CC_82 = simd_and(r800_ffff_tmp40, r800_ffff_tmp44);
970            carryQ.cq[23] = carryout2carry(pablo_blk_Advance(CC_82, carryQ.get_carry_in(23), r800_ffff_tmp45));
971            CC_Nd_1090_1099_sfx = simd_and(r800_ffff_tmp45, CC_Nd_1090_1099_sfx_sfx);
972            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
973            CC_Nd_1090_1099 = simd_and(r800_ffff_tmp42, CC_Nd_1090_1099_sfx);
974            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_1090_1099);
975            CC_Nd_17e0_17e9_sfx_sfx = simd_andc(r800_ffff_tmp3, tmp5);
976            CC_9f = simd_and(r800_ffff_tmp34, r800_ffff_tmp25);
977            carryQ.cq[24] = carryout2carry(pablo_blk_Advance(CC_9f, carryQ.get_carry_in(24), r800_ffff_tmp46));
978            CC_Nd_17e0_17e9_sfx = simd_and(r800_ffff_tmp46, CC_Nd_17e0_17e9_sfx_sfx);
979            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
980            CC_Nd_17e0_17e9 = simd_and(r800_ffff_tmp42, CC_Nd_17e0_17e9_sfx);
981            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_17e0_17e9);
982            CC_Nd_1810_1819_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
983            CC_a0 = simd_andc(r800_ffff_tmp3, r800_ffff_tmp12);
984            carryQ.cq[25] = carryout2carry(pablo_blk_Advance(CC_a0, carryQ.get_carry_in(25), r800_ffff_tmp47));
985            CC_Nd_1810_1819_sfx = simd_and(r800_ffff_tmp47, CC_Nd_1810_1819_sfx_sfx);
986            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
987            CC_Nd_1810_1819 = simd_and(r800_ffff_tmp42, CC_Nd_1810_1819_sfx);
988            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_1810_1819);
989            CC_Nd_1946_194f_sfx_sfx = simd_and(r800_ffff_tmp40, r800_ffff_tmp5);
990            CC_a5 = simd_and(r800_ffff_tmp3, r800_ffff_tmp8);
991            CC_Nd_1946_194f_sfx = simd_and(r800_ffff_tmp9, CC_Nd_1946_194f_sfx_sfx);
992            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
993            CC_Nd_1946_194f = simd_and(r800_ffff_tmp42, CC_Nd_1946_194f_sfx);
994            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_1946_194f);
995            CC_Nd_19d0_19d9_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
996            CC_a7 = simd_and(r800_ffff_tmp3, r800_ffff_tmp15);
997            CC_Nd_19d0_19d9_sfx = simd_and(r800_ffff_tmp16, CC_Nd_19d0_19d9_sfx_sfx);
998            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
999            CC_Nd_19d0_19d9 = simd_and(r800_ffff_tmp42, CC_Nd_19d0_19d9_sfx);
1000            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_19d0_19d9);
1001            CC_Nd_1a80_1a89_sfx_sfx = simd_andc(r800_ffff_tmp40, tmp5);
1002            r800_ffff_tmp48 = simd_and(r800_ffff_tmp17, r800_ffff_tmp43);
1003            CC_aa = simd_and(r800_ffff_tmp3, r800_ffff_tmp48);
1004            carryQ.cq[26] = carryout2carry(pablo_blk_Advance(CC_aa, carryQ.get_carry_in(26), r800_ffff_tmp49));
1005            CC_Nd_1a80_1a89_sfx = simd_and(r800_ffff_tmp49, CC_Nd_1a80_1a89_sfx_sfx);
1006            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
1007            CC_Nd_1a80_1a89 = simd_and(r800_ffff_tmp42, CC_Nd_1a80_1a89_sfx);
1008            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_1a80_1a89);
1009            CC_Nd_1a90_1a99_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
1010            CC_aa = simd_and(r800_ffff_tmp3, r800_ffff_tmp48);
1011            CC_Nd_1a90_1a99_sfx = simd_and(r800_ffff_tmp49, CC_Nd_1a90_1a99_sfx_sfx);
1012            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
1013            CC_Nd_1a90_1a99 = simd_and(r800_ffff_tmp42, CC_Nd_1a90_1a99_sfx);
1014            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_1a90_1a99);
1015            CC_Nd_1b50_1b59_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
1016            CC_ad = simd_and(r800_ffff_tmp3, r800_ffff_tmp23);
1017            CC_Nd_1b50_1b59_sfx = simd_and(r800_ffff_tmp24, CC_Nd_1b50_1b59_sfx_sfx);
1018            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
1019            CC_Nd_1b50_1b59 = simd_and(r800_ffff_tmp42, CC_Nd_1b50_1b59_sfx);
1020            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_1b50_1b59);
1021            CC_Nd_1bb0_1bb9_sfx_sfx = simd_andc(r800_ffff_tmp27, tmp5);
1022            r800_ffff_tmp50 = simd_and(r800_ffff_tmp22, r800_ffff_tmp43);
1023            CC_ae = simd_and(r800_ffff_tmp3, r800_ffff_tmp50);
1024            carryQ.cq[27] = carryout2carry(pablo_blk_Advance(CC_ae, carryQ.get_carry_in(27), r800_ffff_tmp51));
1025            CC_Nd_1bb0_1bb9_sfx = simd_and(r800_ffff_tmp51, CC_Nd_1bb0_1bb9_sfx_sfx);
1026            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
1027            CC_Nd_1bb0_1bb9 = simd_and(r800_ffff_tmp42, CC_Nd_1bb0_1bb9_sfx);
1028            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_1bb0_1bb9);
1029            CC_Nd_1c40_1c49_sfx_sfx = simd_andc(r800_ffff_tmp40, tmp5);
1030            CC_b1 = simd_and(r800_ffff_tmp27, r800_ffff_tmp28);
1031            CC_Nd_1c40_1c49_sfx = simd_and(r800_ffff_tmp29, CC_Nd_1c40_1c49_sfx_sfx);
1032            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
1033            CC_Nd_1c40_1c49 = simd_and(r800_ffff_tmp42, CC_Nd_1c40_1c49_sfx);
1034            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_1c40_1c49);
1035            CC_Nd_1c50_1c59_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
1036            CC_b1 = simd_and(r800_ffff_tmp27, r800_ffff_tmp28);
1037            CC_Nd_1c50_1c59_sfx = simd_and(r800_ffff_tmp29, CC_Nd_1c50_1c59_sfx_sfx);
1038            CC_e1 = simd_and(r800_ffff_tmp10, r800_ffff_tmp28);
1039            CC_Nd_1c50_1c59 = simd_and(r800_ffff_tmp42, CC_Nd_1c50_1c59_sfx);
1040            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_1c50_1c59);
1041            CC_Nd_a620_a629_sfx_sfx = simd_andc(r800_ffff_tmp3, tmp5);
1042            r800_ffff_tmp52 = simd_andc(r800_ffff_tmp17, r800_ffff_tmp11);
1043            CC_98 = simd_and(r800_ffff_tmp34, r800_ffff_tmp52);
1044            carryQ.cq[28] = carryout2carry(pablo_blk_Advance(CC_98, carryQ.get_carry_in(28), r800_ffff_tmp53));
1045            CC_Nd_a620_a629_sfx = simd_and(r800_ffff_tmp53, CC_Nd_a620_a629_sfx_sfx);
1046            CC_ea = simd_and(r800_ffff_tmp10, r800_ffff_tmp48);
1047            carryQ.cq[29] = carryout2carry(pablo_blk_Advance(CC_ea, carryQ.get_carry_in(29), r800_ffff_tmp54));
1048            CC_Nd_a620_a629 = simd_and(r800_ffff_tmp54, CC_Nd_a620_a629_sfx);
1049            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_a620_a629);
1050            CC_Nd_a8d0_a8d9_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
1051            CC_a3 = simd_and(r800_ffff_tmp3, r800_ffff_tmp30);
1052            carryQ.cq[30] = carryout2carry(pablo_blk_Advance(CC_a3, carryQ.get_carry_in(30), r800_ffff_tmp55));
1053            CC_Nd_a8d0_a8d9_sfx = simd_and(r800_ffff_tmp55, CC_Nd_a8d0_a8d9_sfx_sfx);
1054            CC_ea = simd_and(r800_ffff_tmp10, r800_ffff_tmp48);
1055            CC_Nd_a8d0_a8d9 = simd_and(r800_ffff_tmp54, CC_Nd_a8d0_a8d9_sfx);
1056            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_a8d0_a8d9);
1057            CC_Nd_a900_a909_sfx_sfx = simd_andc(r800_ffff_tmp40, tmp5);
1058            r800_ffff_tmp56 = simd_andc(r800_ffff_tmp6, r800_ffff_tmp11);
1059            CC_a4 = simd_and(r800_ffff_tmp3, r800_ffff_tmp56);
1060            carryQ.cq[31] = carryout2carry(pablo_blk_Advance(CC_a4, carryQ.get_carry_in(31), r800_ffff_tmp57));
1061            CC_Nd_a900_a909_sfx = simd_and(r800_ffff_tmp57, CC_Nd_a900_a909_sfx_sfx);
1062            CC_ea = simd_and(r800_ffff_tmp10, r800_ffff_tmp48);
1063            CC_Nd_a900_a909 = simd_and(r800_ffff_tmp54, CC_Nd_a900_a909_sfx);
1064            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_a900_a909);
1065            CC_Nd_a9d0_a9d9_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
1066            CC_a7 = simd_and(r800_ffff_tmp3, r800_ffff_tmp15);
1067            CC_Nd_a9d0_a9d9_sfx = simd_and(r800_ffff_tmp16, CC_Nd_a9d0_a9d9_sfx_sfx);
1068            CC_ea = simd_and(r800_ffff_tmp10, r800_ffff_tmp48);
1069            CC_Nd_a9d0_a9d9 = simd_and(r800_ffff_tmp54, CC_Nd_a9d0_a9d9_sfx);
1070            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_a9d0_a9d9);
1071            CC_Nd_aa50_aa59_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
1072            CC_a9 = simd_and(r800_ffff_tmp3, r800_ffff_tmp18);
1073            CC_Nd_aa50_aa59_sfx = simd_and(r800_ffff_tmp19, CC_Nd_aa50_aa59_sfx_sfx);
1074            CC_ea = simd_and(r800_ffff_tmp10, r800_ffff_tmp48);
1075            CC_Nd_aa50_aa59 = simd_and(r800_ffff_tmp54, CC_Nd_aa50_aa59_sfx);
1076            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_aa50_aa59);
1077            CC_Nd_abf0_abf9_sfx_sfx = simd_andc(r800_ffff_tmp27, tmp5);
1078            CC_af = simd_and(r800_ffff_tmp3, r800_ffff_tmp25);
1079            CC_Nd_abf0_abf9_sfx = simd_and(r800_ffff_tmp26, CC_Nd_abf0_abf9_sfx_sfx);
1080            CC_ea = simd_and(r800_ffff_tmp10, r800_ffff_tmp48);
1081            CC_Nd_abf0_abf9 = simd_and(r800_ffff_tmp54, CC_Nd_abf0_abf9_sfx);
1082            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_abf0_abf9);
1083            CC_Nd_ff10_ff19_sfx_sfx = simd_andc(r800_ffff_tmp34, tmp5);
1084            CC_bc = simd_and(r800_ffff_tmp27, r800_ffff_tmp37);
1085            CC_Nd_ff10_ff19_sfx = simd_and(r800_ffff_tmp38, CC_Nd_ff10_ff19_sfx_sfx);
1086            CC_ef = simd_and(r800_ffff_tmp10, r800_ffff_tmp25);
1087            carryQ.cq[32] = carryout2carry(pablo_blk_Advance(CC_ef, carryQ.get_carry_in(32), r800_ffff_tmp58));
1088            CC_Nd_ff10_ff19 = simd_and(r800_ffff_tmp58, CC_Nd_ff10_ff19_sfx);
1089            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_ff10_ff19);
1090          }
1091          r80_10ffff_tmp14 = simd_or(basis_bits.bit_2, basis_bits.bit_3);
1092          bytetest_80_8f = simd_andc(r80_10ffff_tmp11, r80_10ffff_tmp14);
1093          r80_10ffff_tmp15 = simd_and(r80_10ffff_tmp1, tmp2);
1094          r80_10ffff_tmp16 = simd_andc(basis_bits.bit_5, basis_bits.bit_4);
1095          r80_10ffff_tmp17 = simd_andc(r80_10ffff_tmp16, r80_10ffff_tmp8);
1096          bytetest_f4 = simd_and(r80_10ffff_tmp15, r80_10ffff_tmp17);
1097          carryQ.cq[33] = carryout2carry(pablo_blk_Advance(bytetest_f4, carryQ.get_carry_in(33), r80_10ffff_tmp18));
1098          bytetest_f4_adv = simd_and(r80_10ffff_tmp18, bytetest_80_8f);
1099          r80_10ffff_tmp19 = simd_andc(r80_10ffff_tmp15, r80_10ffff_tmp3);
1100          bytetest_f1_f3 = simd_and(r80_10ffff_tmp19, r80_10ffff_tmp8);
1101          bytetest_90_bf = simd_and(r80_10ffff_tmp11, r80_10ffff_tmp14);
1102          bytetest_f0 = simd_andc(r80_10ffff_tmp15, r80_10ffff_tmp12);
1103          carryQ.cq[34] = carryout2carry(pablo_blk_Advance(bytetest_f0, carryQ.get_carry_in(34), r80_10ffff_tmp20));
1104          bytetest_f0_adv = simd_and(r80_10ffff_tmp20, bytetest_90_bf);
1105          range_test_10000_fffff_1 = simd_or(bytetest_f1_f3, bytetest_f0_adv);
1106          range_test_10000_10ffff_1 = simd_or(bytetest_f4_adv, range_test_10000_fffff_1);
1107          if (bitblock::any(range_test_10000_10ffff_1)) {
1108            r10000_10ffff_tmp1 = simd_and(r80_10ffff_tmp11, r80_10ffff_tmp6);
1109            CC_Nd_104a0_104a9_sfx_sfx_sfx = simd_andc(r10000_10ffff_tmp1, tmp5);
1110            r10000_10ffff_tmp2 = simd_andc(basis_bits.bit_3, basis_bits.bit_2);
1111            r10000_10ffff_tmp3 = simd_and(r80_10ffff_tmp11, r10000_10ffff_tmp2);
1112            r10000_10ffff_tmp4 = simd_andc(basis_bits.bit_6, basis_bits.bit_7);
1113            r10000_10ffff_tmp5 = simd_andc(r10000_10ffff_tmp4, r80_10ffff_tmp3);
1114            CC_92 = simd_and(r10000_10ffff_tmp3, r10000_10ffff_tmp5);
1115            carryQ.cq[35] = carryout2carry(pablo_blk_Advance(CC_92, carryQ.get_carry_in(35), r10000_10ffff_tmp6));
1116            CC_Nd_104a0_104a9_sfx_sfx = simd_and(r10000_10ffff_tmp6, CC_Nd_104a0_104a9_sfx_sfx_sfx);
1117            CC_90 = simd_andc(r10000_10ffff_tmp3, r80_10ffff_tmp12);
1118            carryQ.cq[36] = carryout2carry(pablo_blk_Advance(CC_90, carryQ.get_carry_in(36), r10000_10ffff_tmp7));
1119            CC_Nd_104a0_104a9_sfx = simd_and(r10000_10ffff_tmp7, CC_Nd_104a0_104a9_sfx_sfx);
1120            r10000_10ffff_tmp8 = simd_and(r80_10ffff_tmp1, tmp2);
1121            CC_f0 = simd_andc(r10000_10ffff_tmp8, r80_10ffff_tmp12);
1122            carryQ.cq[37] = carryout2carry(pablo_blk_Advance(CC_f0, carryQ.get_carry_in(37), r10000_10ffff_tmp9));
1123            CC_Nd_104a0_104a9 = simd_and(r10000_10ffff_tmp9, CC_Nd_104a0_104a9_sfx);
1124            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_104a0_104a9);
1125            r10000_10ffff_tmp10 = simd_and(basis_bits.bit_5, basis_bits.bit_6);
1126            r10000_10ffff_tmp11 = simd_or(basis_bits.bit_4, r10000_10ffff_tmp10);
1127            CC_Nd_11066_1106f_sfx_sfx_sfx = simd_and(r10000_10ffff_tmp1, r10000_10ffff_tmp11);
1128            r10000_10ffff_tmp12 = simd_or(basis_bits.bit_2, basis_bits.bit_3);
1129            r10000_10ffff_tmp13 = simd_andc(r80_10ffff_tmp11, r10000_10ffff_tmp12);
1130            r10000_10ffff_tmp14 = simd_andc(basis_bits.bit_7, basis_bits.bit_6);
1131            r10000_10ffff_tmp15 = simd_andc(r10000_10ffff_tmp14, r80_10ffff_tmp3);
1132            CC_81 = simd_and(r10000_10ffff_tmp13, r10000_10ffff_tmp15);
1133            carryQ.cq[38] = carryout2carry(pablo_blk_Advance(CC_81, carryQ.get_carry_in(38), r10000_10ffff_tmp16));
1134            CC_Nd_11066_1106f_sfx_sfx = simd_and(r10000_10ffff_tmp16, CC_Nd_11066_1106f_sfx_sfx_sfx);
1135            CC_91 = simd_and(r10000_10ffff_tmp3, r10000_10ffff_tmp15);
1136            carryQ.cq[39] = carryout2carry(pablo_blk_Advance(CC_91, carryQ.get_carry_in(39), r10000_10ffff_tmp17));
1137            CC_Nd_11066_1106f_sfx = simd_and(r10000_10ffff_tmp17, CC_Nd_11066_1106f_sfx_sfx);
1138            CC_f0 = simd_andc(r10000_10ffff_tmp8, r80_10ffff_tmp12);
1139            CC_Nd_11066_1106f = simd_and(r10000_10ffff_tmp9, CC_Nd_11066_1106f_sfx);
1140            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_11066_1106f);
1141            r10000_10ffff_tmp18 = simd_and(r80_10ffff_tmp11, tmp2);
1142            CC_Nd_110f0_110f9_sfx_sfx_sfx = simd_andc(r10000_10ffff_tmp18, tmp5);
1143            r10000_10ffff_tmp19 = simd_and(basis_bits.bit_6, basis_bits.bit_7);
1144            r10000_10ffff_tmp20 = simd_andc(r10000_10ffff_tmp19, r80_10ffff_tmp3);
1145            CC_83 = simd_and(r10000_10ffff_tmp13, r10000_10ffff_tmp20);
1146            carryQ.cq[40] = carryout2carry(pablo_blk_Advance(CC_83, carryQ.get_carry_in(40), r10000_10ffff_tmp21));
1147            CC_Nd_110f0_110f9_sfx_sfx = simd_and(r10000_10ffff_tmp21, CC_Nd_110f0_110f9_sfx_sfx_sfx);
1148            CC_91 = simd_and(r10000_10ffff_tmp3, r10000_10ffff_tmp15);
1149            CC_Nd_110f0_110f9_sfx = simd_and(r10000_10ffff_tmp17, CC_Nd_110f0_110f9_sfx_sfx);
1150            CC_f0 = simd_andc(r10000_10ffff_tmp8, r80_10ffff_tmp12);
1151            CC_Nd_110f0_110f9 = simd_and(r10000_10ffff_tmp9, CC_Nd_110f0_110f9_sfx);
1152            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_110f0_110f9);
1153            CC_Nd_11136_1113f_sfx_sfx_sfx = simd_and(r10000_10ffff_tmp18, r10000_10ffff_tmp11);
1154            r10000_10ffff_tmp22 = simd_andc(basis_bits.bit_5, basis_bits.bit_4);
1155            r10000_10ffff_tmp23 = simd_andc(r10000_10ffff_tmp22, r80_10ffff_tmp8);
1156            CC_84 = simd_and(r10000_10ffff_tmp13, r10000_10ffff_tmp23);
1157            carryQ.cq[41] = carryout2carry(pablo_blk_Advance(CC_84, carryQ.get_carry_in(41), r10000_10ffff_tmp24));
1158            CC_Nd_11136_1113f_sfx_sfx = simd_and(r10000_10ffff_tmp24, CC_Nd_11136_1113f_sfx_sfx_sfx);
1159            CC_91 = simd_and(r10000_10ffff_tmp3, r10000_10ffff_tmp15);
1160            CC_Nd_11136_1113f_sfx = simd_and(r10000_10ffff_tmp17, CC_Nd_11136_1113f_sfx_sfx);
1161            CC_f0 = simd_andc(r10000_10ffff_tmp8, r80_10ffff_tmp12);
1162            CC_Nd_11136_1113f = simd_and(r10000_10ffff_tmp9, CC_Nd_11136_1113f_sfx);
1163            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_11136_1113f);
1164            CC_Nd_111d0_111d9_sfx_sfx_sfx = simd_andc(r10000_10ffff_tmp3, tmp5);
1165            r10000_10ffff_tmp25 = simd_and(r10000_10ffff_tmp22, r10000_10ffff_tmp19);
1166            CC_87 = simd_and(r10000_10ffff_tmp13, r10000_10ffff_tmp25);
1167            carryQ.cq[42] = carryout2carry(pablo_blk_Advance(CC_87, carryQ.get_carry_in(42), r10000_10ffff_tmp26));
1168            CC_Nd_111d0_111d9_sfx_sfx = simd_and(r10000_10ffff_tmp26, CC_Nd_111d0_111d9_sfx_sfx_sfx);
1169            CC_91 = simd_and(r10000_10ffff_tmp3, r10000_10ffff_tmp15);
1170            CC_Nd_111d0_111d9_sfx = simd_and(r10000_10ffff_tmp17, CC_Nd_111d0_111d9_sfx_sfx);
1171            CC_f0 = simd_andc(r10000_10ffff_tmp8, r80_10ffff_tmp12);
1172            CC_Nd_111d0_111d9 = simd_and(r10000_10ffff_tmp9, CC_Nd_111d0_111d9_sfx);
1173            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_111d0_111d9);
1174            CC_Nd_116c0_116c9_sfx_sfx_sfx = simd_andc(r10000_10ffff_tmp13, tmp5);
1175            r10000_10ffff_tmp27 = simd_andc(basis_bits.bit_4, basis_bits.bit_5);
1176            r10000_10ffff_tmp28 = simd_and(r10000_10ffff_tmp27, r10000_10ffff_tmp19);
1177            CC_9b = simd_and(r10000_10ffff_tmp3, r10000_10ffff_tmp28);
1178            carryQ.cq[43] = carryout2carry(pablo_blk_Advance(CC_9b, carryQ.get_carry_in(43), r10000_10ffff_tmp29));
1179            CC_Nd_116c0_116c9_sfx_sfx = simd_and(r10000_10ffff_tmp29, CC_Nd_116c0_116c9_sfx_sfx_sfx);
1180            CC_91 = simd_and(r10000_10ffff_tmp3, r10000_10ffff_tmp15);
1181            CC_Nd_116c0_116c9_sfx = simd_and(r10000_10ffff_tmp17, CC_Nd_116c0_116c9_sfx_sfx);
1182            CC_f0 = simd_andc(r10000_10ffff_tmp8, r80_10ffff_tmp12);
1183            CC_Nd_116c0_116c9 = simd_and(r10000_10ffff_tmp9, CC_Nd_116c0_116c9_sfx);
1184            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_116c0_116c9);
1185            r10000_10ffff_tmp30 = simd_and(basis_bits.bit_4, basis_bits.bit_5);
1186            r10000_10ffff_tmp31 = simd_and(r10000_10ffff_tmp30, basis_bits.bit_6);
1187            r10000_10ffff_tmp32 = simd_or(basis_bits.bit_3, r10000_10ffff_tmp31);
1188            r10000_10ffff_tmp33 = simd_or(basis_bits.bit_2, r10000_10ffff_tmp32);
1189            CC_Nd_1d7ce_1d7ff_sfx_sfx_sfx = simd_and(r80_10ffff_tmp11, r10000_10ffff_tmp33);
1190            r10000_10ffff_tmp34 = simd_and(r10000_10ffff_tmp30, r10000_10ffff_tmp19);
1191            CC_9f = simd_and(r10000_10ffff_tmp3, r10000_10ffff_tmp34);
1192            carryQ.cq[44] = carryout2carry(pablo_blk_Advance(CC_9f, carryQ.get_carry_in(44), r10000_10ffff_tmp35));
1193            CC_Nd_1d7ce_1d7ff_sfx_sfx = simd_and(r10000_10ffff_tmp35, CC_Nd_1d7ce_1d7ff_sfx_sfx_sfx);
1194            r10000_10ffff_tmp36 = simd_and(r10000_10ffff_tmp30, r10000_10ffff_tmp14);
1195            CC_9d = simd_and(r10000_10ffff_tmp3, r10000_10ffff_tmp36);
1196            carryQ.cq[45] = carryout2carry(pablo_blk_Advance(CC_9d, carryQ.get_carry_in(45), r10000_10ffff_tmp37));
1197            CC_Nd_1d7ce_1d7ff_sfx = simd_and(r10000_10ffff_tmp37, CC_Nd_1d7ce_1d7ff_sfx_sfx);
1198            CC_f0 = simd_andc(r10000_10ffff_tmp8, r80_10ffff_tmp12);
1199            CC_Nd_1d7ce_1d7ff = simd_and(r10000_10ffff_tmp9, CC_Nd_1d7ce_1d7ff_sfx);
1200            struct_Nd.cc = simd_or(struct_Nd.cc, CC_Nd_1d7ce_1d7ff);
1201          }
1202        }
1203  }
1204
1205    CarryArray<46, 0> carryQ;
1206  };
1207
1208
1209
1210
Note: See TracBrowser for help on using the repository browser.