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;
86 (
static_cast<View
>(in.get(C::range_check_sel_keccak)) +
static_cast<View
>(in.get(C::range_check_sel_gt)) +
87 static_cast<View
>(in.get(C::range_check_sel_memory)) +
static_cast<View
>(in.get(C::range_check_sel_alu))) *
88 (
FF(1) -
static_cast<View
>(in.get(C::range_check_sel)));
92 using View =
typename std::tuple_element_t<6, ContainerOverSubrelations>::View;
93 auto tmp =
static_cast<View
>(in.get(C::range_check_is_lte_u16)) *
94 (
FF(1) -
static_cast<View
>(in.get(C::range_check_is_lte_u16)));
98 using View =
typename std::tuple_element_t<7, ContainerOverSubrelations>::View;
99 auto tmp =
static_cast<View
>(in.get(C::range_check_is_lte_u32)) *
100 (
FF(1) -
static_cast<View
>(in.get(C::range_check_is_lte_u32)));
104 using View =
typename std::tuple_element_t<8, ContainerOverSubrelations>::View;
105 auto tmp =
static_cast<View
>(in.get(C::range_check_is_lte_u48)) *
106 (
FF(1) -
static_cast<View
>(in.get(C::range_check_is_lte_u48)));
110 using View =
typename std::tuple_element_t<9, ContainerOverSubrelations>::View;
111 auto tmp =
static_cast<View
>(in.get(C::range_check_is_lte_u64)) *
112 (
FF(1) -
static_cast<View
>(in.get(C::range_check_is_lte_u64)));
116 using View =
typename std::tuple_element_t<10, ContainerOverSubrelations>::View;
117 auto tmp =
static_cast<View
>(in.get(C::range_check_is_lte_u80)) *
118 (
FF(1) -
static_cast<View
>(in.get(C::range_check_is_lte_u80)));
122 using View =
typename std::tuple_element_t<11, ContainerOverSubrelations>::View;
123 auto tmp =
static_cast<View
>(in.get(C::range_check_is_lte_u96)) *
124 (
FF(1) -
static_cast<View
>(in.get(C::range_check_is_lte_u96)));
128 using View =
typename std::tuple_element_t<12, ContainerOverSubrelations>::View;
129 auto tmp =
static_cast<View
>(in.get(C::range_check_is_lte_u112)) *
130 (
FF(1) -
static_cast<View
>(in.get(C::range_check_is_lte_u112)));
134 using View =
typename std::tuple_element_t<13, ContainerOverSubrelations>::View;
135 auto tmp =
static_cast<View
>(in.get(C::range_check_is_lte_u128)) *
136 (
FF(1) -
static_cast<View
>(in.get(C::range_check_is_lte_u128)));
140 using View =
typename std::tuple_element_t<14, ContainerOverSubrelations>::View;
141 auto tmp = ((
static_cast<View
>(in.get(C::range_check_is_lte_u16)) +
142 static_cast<View
>(in.get(C::range_check_is_lte_u32)) +
143 static_cast<View
>(in.get(C::range_check_is_lte_u48)) +
144 static_cast<View
>(in.get(C::range_check_is_lte_u64)) +
145 static_cast<View
>(in.get(C::range_check_is_lte_u80)) +
146 static_cast<View
>(in.get(C::range_check_is_lte_u96)) +
147 static_cast<View
>(in.get(C::range_check_is_lte_u112)) +
148 static_cast<View
>(in.get(C::range_check_is_lte_u128))) -
149 static_cast<View
>(in.get(C::range_check_sel)));
153 using View =
typename std::tuple_element_t<15, ContainerOverSubrelations>::View;
154 auto tmp =
static_cast<View
>(in.get(C::range_check_sel)) *
155 (
CView(range_check_RESULT) -
static_cast<View
>(in.get(C::range_check_value)));
159 using View =
typename std::tuple_element_t<16, ContainerOverSubrelations>::View;
160 auto tmp = (
static_cast<View
>(in.get(C::range_check_dyn_rng_chk_bits)) -
161 (((((((
static_cast<View
>(in.get(C::range_check_rng_chk_bits)) -
162 static_cast<View
>(in.get(C::range_check_is_lte_u32)) *
FF(16)) -
163 static_cast<View
>(in.get(C::range_check_is_lte_u48)) *
FF(32)) -
164 static_cast<View
>(in.get(C::range_check_is_lte_u64)) *
FF(48)) -
165 static_cast<View
>(in.get(C::range_check_is_lte_u80)) *
FF(64)) -
166 static_cast<View
>(in.get(C::range_check_is_lte_u96)) *
FF(80)) -
167 static_cast<View
>(in.get(C::range_check_is_lte_u112)) *
FF(96)) -
168 static_cast<View
>(in.get(C::range_check_is_lte_u128)) *
FF(112)));
172 using View =
typename std::tuple_element_t<17, ContainerOverSubrelations>::View;
173 auto tmp =
static_cast<View
>(in.get(C::range_check_sel)) *
174 (
static_cast<View
>(in.get(C::range_check_dyn_diff)) -
175 ((
static_cast<View
>(in.get(C::range_check_dyn_rng_chk_pow_2)) -
176 static_cast<View
>(in.get(C::range_check_u16_r7))) -
181 using View =
typename std::tuple_element_t<18, ContainerOverSubrelations>::View;
182 auto tmp = (
static_cast<View
>(in.get(C::range_check_sel_r0_16_bit_rng_lookup)) -
CView(range_check_CUM_LTE_32));
186 using View =
typename std::tuple_element_t<19, ContainerOverSubrelations>::View;
187 auto tmp = (
static_cast<View
>(in.get(C::range_check_sel_r1_16_bit_rng_lookup)) -
CView(range_check_CUM_LTE_48));
191 using View =
typename std::tuple_element_t<20, ContainerOverSubrelations>::View;
192 auto tmp = (
static_cast<View
>(in.get(C::range_check_sel_r2_16_bit_rng_lookup)) -
CView(range_check_CUM_LTE_64));
196 using View =
typename std::tuple_element_t<21, ContainerOverSubrelations>::View;
197 auto tmp = (
static_cast<View
>(in.get(C::range_check_sel_r3_16_bit_rng_lookup)) -
CView(range_check_CUM_LTE_80));
201 using View =
typename std::tuple_element_t<22, ContainerOverSubrelations>::View;
202 auto tmp = (
static_cast<View
>(in.get(C::range_check_sel_r4_16_bit_rng_lookup)) -
CView(range_check_CUM_LTE_96));
206 using View =
typename std::tuple_element_t<23, ContainerOverSubrelations>::View;
208 (
static_cast<View
>(in.get(C::range_check_sel_r5_16_bit_rng_lookup)) -
CView(range_check_CUM_LTE_112));
212 using View =
typename std::tuple_element_t<24, ContainerOverSubrelations>::View;
214 (
static_cast<View
>(in.get(C::range_check_sel_r6_16_bit_rng_lookup)) -
CView(range_check_CUM_LTE_128));