27 const auto range_check_R7_4 = range_check_R7_3 *
FF(65536);
28 const auto range_check_PX_5 =
29 range_check_PX_4 + in.get(C::range_check_u16_r4) *
FF(
uint256_t{ 0UL, 1UL, 0UL, 0UL });
30 const auto range_check_R7_5 = range_check_R7_4 *
FF(65536);
31 const auto range_check_PX_6 =
32 range_check_PX_5 + in.get(C::range_check_u16_r5) *
FF(
uint256_t{ 0UL, 65536UL, 0UL, 0UL });
33 const auto range_check_R7_6 = range_check_R7_5 *
FF(65536);
34 const auto range_check_PX_7 =
35 range_check_PX_6 + in.get(C::range_check_u16_r6) *
FF(
uint256_t{ 0UL, 4294967296UL, 0UL, 0UL });
36 const auto range_check_R7_7 = range_check_R7_6 *
FF(65536);
37 const auto range_check_RESULT = in.get(C::range_check_is_lte_u16) * (range_check_PX_0 + range_check_R7_0) +
38 in.get(C::range_check_is_lte_u32) * (range_check_PX_1 + range_check_R7_1) +
39 in.get(C::range_check_is_lte_u48) * (range_check_PX_2 + range_check_R7_2) +
40 in.get(C::range_check_is_lte_u64) * (range_check_PX_3 + range_check_R7_3) +
41 in.get(C::range_check_is_lte_u80) * (range_check_PX_4 + range_check_R7_4) +
42 in.get(C::range_check_is_lte_u96) * (range_check_PX_5 + range_check_R7_5) +
43 in.get(C::range_check_is_lte_u112) * (range_check_PX_6 + range_check_R7_6) +
44 in.get(C::range_check_is_lte_u128) * (range_check_PX_7 + range_check_R7_7);
45 const auto range_check_CUM_LTE_128 = in.get(C::range_check_is_lte_u128);
46 const auto range_check_CUM_LTE_112 = in.get(C::range_check_is_lte_u112) + range_check_CUM_LTE_128;
47 const auto range_check_CUM_LTE_96 = in.get(C::range_check_is_lte_u96) + range_check_CUM_LTE_112;
48 const auto range_check_CUM_LTE_80 = in.get(C::range_check_is_lte_u80) + range_check_CUM_LTE_96;
49 const auto range_check_CUM_LTE_64 = in.get(C::range_check_is_lte_u64) + range_check_CUM_LTE_80;
50 const auto range_check_CUM_LTE_48 = in.get(C::range_check_is_lte_u48) + range_check_CUM_LTE_64;
51 const auto range_check_CUM_LTE_32 = in.get(C::range_check_is_lte_u32) + range_check_CUM_LTE_48;
54 using View =
typename std::tuple_element_t<0, ContainerOverSubrelations>::View;
56 static_cast<View
>(in.get(C::range_check_sel)) * (
FF(1) -
static_cast<View
>(in.get(C::range_check_sel)));
60 using View =
typename std::tuple_element_t<1, ContainerOverSubrelations>::View;
61 auto tmp =
static_cast<View
>(in.get(C::range_check_sel_keccak)) *
62 (
FF(1) -
static_cast<View
>(in.get(C::range_check_sel_keccak)));
66 using View =
typename std::tuple_element_t<2, ContainerOverSubrelations>::View;
67 auto tmp =
static_cast<View
>(in.get(C::range_check_sel_gt)) *
68 (
FF(1) -
static_cast<View
>(in.get(C::range_check_sel_gt)));
72 using View =
typename std::tuple_element_t<3, ContainerOverSubrelations>::View;
73 auto tmp =
static_cast<View
>(in.get(C::range_check_sel_memory)) *
74 (
FF(1) -
static_cast<View
>(in.get(C::range_check_sel_memory)));
78 using View =
typename std::tuple_element_t<4, ContainerOverSubrelations>::View;
79 auto tmp =
static_cast<View
>(in.get(C::range_check_sel_alu)) *
80 (
FF(1) -
static_cast<View
>(in.get(C::range_check_sel_alu)));
84 using View =
typename std::tuple_element_t<5, ContainerOverSubrelations>::View;
85 auto tmp =
static_cast<View
>(in.get(C::range_check_sel_sha256)) *
86 (
FF(1) -
static_cast<View
>(in.get(C::range_check_sel_sha256)));
90 using View =
typename std::tuple_element_t<6, ContainerOverSubrelations>::View;
92 (
static_cast<View
>(in.get(C::range_check_sel_keccak)) +
static_cast<View
>(in.get(C::range_check_sel_gt)) +
93 static_cast<View
>(in.get(C::range_check_sel_memory)) +
static_cast<View
>(in.get(C::range_check_sel_alu)) +
94 static_cast<View
>(in.get(C::range_check_sel_sha256))) *
95 (
FF(1) -
static_cast<View
>(in.get(C::range_check_sel)));
99 using View =
typename std::tuple_element_t<7, ContainerOverSubrelations>::View;
100 auto tmp =
static_cast<View
>(in.get(C::range_check_is_lte_u16)) *
101 (
FF(1) -
static_cast<View
>(in.get(C::range_check_is_lte_u16)));
105 using View =
typename std::tuple_element_t<8, ContainerOverSubrelations>::View;
106 auto tmp =
static_cast<View
>(in.get(C::range_check_is_lte_u32)) *
107 (
FF(1) -
static_cast<View
>(in.get(C::range_check_is_lte_u32)));
111 using View =
typename std::tuple_element_t<9, ContainerOverSubrelations>::View;
112 auto tmp =
static_cast<View
>(in.get(C::range_check_is_lte_u48)) *
113 (
FF(1) -
static_cast<View
>(in.get(C::range_check_is_lte_u48)));
117 using View =
typename std::tuple_element_t<10, ContainerOverSubrelations>::View;
118 auto tmp =
static_cast<View
>(in.get(C::range_check_is_lte_u64)) *
119 (
FF(1) -
static_cast<View
>(in.get(C::range_check_is_lte_u64)));
123 using View =
typename std::tuple_element_t<11, ContainerOverSubrelations>::View;
124 auto tmp =
static_cast<View
>(in.get(C::range_check_is_lte_u80)) *
125 (
FF(1) -
static_cast<View
>(in.get(C::range_check_is_lte_u80)));
129 using View =
typename std::tuple_element_t<12, ContainerOverSubrelations>::View;
130 auto tmp =
static_cast<View
>(in.get(C::range_check_is_lte_u96)) *
131 (
FF(1) -
static_cast<View
>(in.get(C::range_check_is_lte_u96)));
135 using View =
typename std::tuple_element_t<13, ContainerOverSubrelations>::View;
136 auto tmp =
static_cast<View
>(in.get(C::range_check_is_lte_u112)) *
137 (
FF(1) -
static_cast<View
>(in.get(C::range_check_is_lte_u112)));
141 using View =
typename std::tuple_element_t<14, ContainerOverSubrelations>::View;
142 auto tmp =
static_cast<View
>(in.get(C::range_check_is_lte_u128)) *
143 (
FF(1) -
static_cast<View
>(in.get(C::range_check_is_lte_u128)));
147 using View =
typename std::tuple_element_t<15, ContainerOverSubrelations>::View;
148 auto tmp = ((
static_cast<View
>(in.get(C::range_check_is_lte_u16)) +
149 static_cast<View
>(in.get(C::range_check_is_lte_u32)) +
150 static_cast<View
>(in.get(C::range_check_is_lte_u48)) +
151 static_cast<View
>(in.get(C::range_check_is_lte_u64)) +
152 static_cast<View
>(in.get(C::range_check_is_lte_u80)) +
153 static_cast<View
>(in.get(C::range_check_is_lte_u96)) +
154 static_cast<View
>(in.get(C::range_check_is_lte_u112)) +
155 static_cast<View
>(in.get(C::range_check_is_lte_u128))) -
156 static_cast<View
>(in.get(C::range_check_sel)));
160 using View =
typename std::tuple_element_t<16, ContainerOverSubrelations>::View;
161 auto tmp =
static_cast<View
>(in.get(C::range_check_sel)) *
162 (
CView(range_check_RESULT) -
static_cast<View
>(in.get(C::range_check_value)));
166 using View =
typename std::tuple_element_t<17, ContainerOverSubrelations>::View;
167 auto tmp = (
static_cast<View
>(in.get(C::range_check_dyn_rng_chk_bits)) -
168 (((((((
static_cast<View
>(in.get(C::range_check_rng_chk_bits)) -
169 static_cast<View
>(in.get(C::range_check_is_lte_u32)) *
FF(16)) -
170 static_cast<View
>(in.get(C::range_check_is_lte_u48)) *
FF(32)) -
171 static_cast<View
>(in.get(C::range_check_is_lte_u64)) *
FF(48)) -
172 static_cast<View
>(in.get(C::range_check_is_lte_u80)) *
FF(64)) -
173 static_cast<View
>(in.get(C::range_check_is_lte_u96)) *
FF(80)) -
174 static_cast<View
>(in.get(C::range_check_is_lte_u112)) *
FF(96)) -
175 static_cast<View
>(in.get(C::range_check_is_lte_u128)) *
FF(112)));
179 using View =
typename std::tuple_element_t<18, ContainerOverSubrelations>::View;
180 auto tmp =
static_cast<View
>(in.get(C::range_check_sel)) *
181 (
static_cast<View
>(in.get(C::range_check_dyn_diff)) -
182 ((
static_cast<View
>(in.get(C::range_check_dyn_rng_chk_pow_2)) -
183 static_cast<View
>(in.get(C::range_check_u16_r7))) -
188 using View =
typename std::tuple_element_t<19, ContainerOverSubrelations>::View;
189 auto tmp = (
static_cast<View
>(in.get(C::range_check_sel_r0_16_bit_rng_lookup)) -
CView(range_check_CUM_LTE_32));
193 using View =
typename std::tuple_element_t<20, ContainerOverSubrelations>::View;
194 auto tmp = (
static_cast<View
>(in.get(C::range_check_sel_r1_16_bit_rng_lookup)) -
CView(range_check_CUM_LTE_48));
198 using View =
typename std::tuple_element_t<21, ContainerOverSubrelations>::View;
199 auto tmp = (
static_cast<View
>(in.get(C::range_check_sel_r2_16_bit_rng_lookup)) -
CView(range_check_CUM_LTE_64));
203 using View =
typename std::tuple_element_t<22, ContainerOverSubrelations>::View;
204 auto tmp = (
static_cast<View
>(in.get(C::range_check_sel_r3_16_bit_rng_lookup)) -
CView(range_check_CUM_LTE_80));
208 using View =
typename std::tuple_element_t<23, ContainerOverSubrelations>::View;
209 auto tmp = (
static_cast<View
>(in.get(C::range_check_sel_r4_16_bit_rng_lookup)) -
CView(range_check_CUM_LTE_96));
213 using View =
typename std::tuple_element_t<24, ContainerOverSubrelations>::View;
215 (
static_cast<View
>(in.get(C::range_check_sel_r5_16_bit_rng_lookup)) -
CView(range_check_CUM_LTE_112));
219 using View =
typename std::tuple_element_t<25, ContainerOverSubrelations>::View;
221 (
static_cast<View
>(in.get(C::range_check_sel_r6_16_bit_rng_lookup)) -
CView(range_check_CUM_LTE_128));