32 using View =
typename std::tuple_element_t<1, ContainerOverSubrelations>::View;
34 static_cast<View
>(in.get(C::to_radix_found)) * (
FF(1) -
static_cast<View
>(in.get(C::to_radix_found)));
38 using View =
typename std::tuple_element_t<2, ContainerOverSubrelations>::View;
40 static_cast<View
>(in.get(C::to_radix_start)) * (
FF(1) -
static_cast<View
>(in.get(C::to_radix_start)));
44 using View =
typename std::tuple_element_t<3, ContainerOverSubrelations>::View;
45 auto tmp =
static_cast<View
>(in.get(C::to_radix_end)) * (
FF(1) -
static_cast<View
>(in.get(C::to_radix_end)));
49 using View =
typename std::tuple_element_t<4, ContainerOverSubrelations>::View;
50 auto tmp = (
static_cast<View
>(in.get(C::to_radix_start)) +
static_cast<View
>(in.get(C::to_radix_end))) *
51 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_sel)));
55 using View =
typename std::tuple_element_t<5, ContainerOverSubrelations>::View;
56 auto tmp = (
FF(1) -
CView(to_radix_LATCH_CONDITION)) *
57 (
static_cast<View
>(in.get(C::to_radix_sel)) -
static_cast<View
>(in.get(C::to_radix_sel_shift)));
61 using View =
typename std::tuple_element_t<6, ContainerOverSubrelations>::View;
62 auto tmp =
static_cast<View
>(in.get(C::to_radix_sel_shift)) *
63 (
static_cast<View
>(in.get(C::to_radix_start_shift)) -
CView(to_radix_LATCH_CONDITION));
67 using View =
typename std::tuple_element_t<7, ContainerOverSubrelations>::View;
68 auto tmp =
static_cast<View
>(in.get(C::to_radix_not_padding_limb)) *
69 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_not_padding_limb)));
73 using View =
typename std::tuple_element_t<8, ContainerOverSubrelations>::View;
74 auto tmp =
static_cast<View
>(in.get(C::to_radix_start)) *
75 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_not_padding_limb)));
79 using View =
typename std::tuple_element_t<9, ContainerOverSubrelations>::View;
80 auto tmp =
CView(to_radix_NOT_END) * (((
FF(0) -
static_cast<View
>(in.get(C::to_radix_not_padding_limb))) *
81 static_cast<View
>(in.get(C::to_radix_is_unsafe_limb)) +
82 static_cast<View
>(in.get(C::to_radix_not_padding_limb))) -
83 static_cast<View
>(in.get(C::to_radix_not_padding_limb_shift)));
87 using View =
typename std::tuple_element_t<10, ContainerOverSubrelations>::View;
89 static_cast<View
>(in.get(C::to_radix_start)) * (
static_cast<View
>(in.get(C::to_radix_power)) -
FF(1));
93 using View =
typename std::tuple_element_t<11, ContainerOverSubrelations>::View;
94 auto tmp =
CView(to_radix_NOT_END) *
static_cast<View
>(in.get(C::to_radix_not_padding_limb_shift)) *
95 (
static_cast<View
>(in.get(C::to_radix_power)) *
static_cast<View
>(in.get(C::to_radix_radix)) -
96 static_cast<View
>(in.get(C::to_radix_power_shift)));
100 using View =
typename std::tuple_element_t<12, ContainerOverSubrelations>::View;
101 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::to_radix_not_padding_limb))) *
102 static_cast<View
>(in.get(C::to_radix_power));
106 using View =
typename std::tuple_element_t<13, ContainerOverSubrelations>::View;
107 auto tmp =
static_cast<View
>(in.get(C::to_radix_start)) *
static_cast<View
>(in.get(C::to_radix_limb_index));
111 using View =
typename std::tuple_element_t<14, ContainerOverSubrelations>::View;
112 auto tmp =
CView(to_radix_NOT_END) * ((
static_cast<View
>(in.get(C::to_radix_limb_index)) +
FF(1)) -
113 static_cast<View
>(in.get(C::to_radix_limb_index_shift)));
117 using View =
typename std::tuple_element_t<15, ContainerOverSubrelations>::View;
119 static_cast<View
>(in.get(C::to_radix_sel)) *
120 (((
static_cast<View
>(in.get(C::to_radix_radix)) -
static_cast<View
>(in.get(C::to_radix_limb))) -
FF(1)) -
121 static_cast<View
>(in.get(C::to_radix_limb_radix_diff)));
125 using View =
typename std::tuple_element_t<16, ContainerOverSubrelations>::View;
126 auto tmp =
static_cast<View
>(in.get(C::to_radix_start)) *
127 (
static_cast<View
>(in.get(C::to_radix_acc)) -
static_cast<View
>(in.get(C::to_radix_limb)));
131 using View =
typename std::tuple_element_t<17, ContainerOverSubrelations>::View;
133 CView(to_radix_NOT_END) *
134 ((
static_cast<View
>(in.get(C::to_radix_acc)) +
135 static_cast<View
>(in.get(C::to_radix_power_shift)) *
static_cast<View
>(in.get(C::to_radix_limb_shift))) -
136 static_cast<View
>(in.get(C::to_radix_acc_shift)));
140 using View =
typename std::tuple_element_t<18, ContainerOverSubrelations>::View;
141 auto tmp =
static_cast<View
>(in.get(C::to_radix_sel)) *
142 ((
CView(to_radix_REM) * (
static_cast<View
>(in.get(C::to_radix_found)) *
143 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_rem_inverse))) +
144 static_cast<View
>(in.get(C::to_radix_rem_inverse))) -
146 static_cast<View
>(in.get(C::to_radix_found)));
150 using View =
typename std::tuple_element_t<19, ContainerOverSubrelations>::View;
151 auto tmp =
CView(to_radix_NOT_END) *
static_cast<View
>(in.get(C::to_radix_found)) *
152 static_cast<View
>(in.get(C::to_radix_limb_shift));
156 using View =
typename std::tuple_element_t<20, ContainerOverSubrelations>::View;
157 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::to_radix_found))) *
static_cast<View
>(in.get(C::to_radix_end));
161 using View =
typename std::tuple_element_t<21, ContainerOverSubrelations>::View;
162 auto tmp =
static_cast<View
>(in.get(C::to_radix_is_unsafe_limb)) *
163 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_is_unsafe_limb)));
167 using View =
typename std::tuple_element_t<22, ContainerOverSubrelations>::View;
169 static_cast<View
>(in.get(C::to_radix_sel)) *
170 ((
CView(to_radix_SAFETY_DIFF) * (
static_cast<View
>(in.get(C::to_radix_is_unsafe_limb)) *
171 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_safety_diff_inverse))) +
172 static_cast<View
>(in.get(C::to_radix_safety_diff_inverse))) -
174 static_cast<View
>(in.get(C::to_radix_is_unsafe_limb)));
178 using View =
typename std::tuple_element_t<23, ContainerOverSubrelations>::View;
179 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::to_radix_not_padding_limb))) *
180 static_cast<View
>(in.get(C::to_radix_limb));
184 using View =
typename std::tuple_element_t<24, ContainerOverSubrelations>::View;
185 auto tmp = (
FF(1) -
static_cast<View
>(in.get(C::to_radix_not_padding_limb))) *
186 static_cast<View
>(in.get(C::to_radix_p_limb));
190 using View =
typename std::tuple_element_t<25, ContainerOverSubrelations>::View;
191 auto tmp =
static_cast<View
>(in.get(C::to_radix_acc_under_p)) *
192 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_acc_under_p)));
196 using View =
typename std::tuple_element_t<26, ContainerOverSubrelations>::View;
197 auto tmp =
static_cast<View
>(in.get(C::to_radix_limb_lt_p)) *
198 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_limb_lt_p)));
202 using View =
typename std::tuple_element_t<27, ContainerOverSubrelations>::View;
203 auto tmp =
static_cast<View
>(in.get(C::to_radix_limb_eq_p)) *
204 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_limb_eq_p)));
208 using View =
typename std::tuple_element_t<28, ContainerOverSubrelations>::View;
209 auto tmp =
static_cast<View
>(in.get(C::to_radix_limb_eq_p)) *
static_cast<View
>(in.get(C::to_radix_limb_lt_p));
213 using View =
typename std::tuple_element_t<29, ContainerOverSubrelations>::View;
214 auto tmp =
static_cast<View
>(in.get(C::to_radix_limb_lt_p)) *
215 (
CView(to_radix_LIMB_LT_P) -
static_cast<View
>(in.get(C::to_radix_limb_p_diff)));
219 using View =
typename std::tuple_element_t<30, ContainerOverSubrelations>::View;
220 auto tmp =
static_cast<View
>(in.get(C::to_radix_sel)) *
221 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_limb_lt_p))) *
222 (((
CView(to_radix_LIMB_EQ_P) -
CView(to_radix_LIMB_GT_P)) *
223 static_cast<View
>(in.get(C::to_radix_limb_eq_p)) +
224 CView(to_radix_LIMB_GT_P)) -
225 static_cast<View
>(in.get(C::to_radix_limb_p_diff)));
229 using View =
typename std::tuple_element_t<31, ContainerOverSubrelations>::View;
230 auto tmp =
static_cast<View
>(in.get(C::to_radix_start)) * (
static_cast<View
>(in.get(C::to_radix_acc_under_p)) -
231 static_cast<View
>(in.get(C::to_radix_limb_lt_p)));
235 using View =
typename std::tuple_element_t<32, ContainerOverSubrelations>::View;
236 auto tmp =
CView(to_radix_NOT_END) * (((
static_cast<View
>(in.get(C::to_radix_acc_under_p)) -
237 static_cast<View
>(in.get(C::to_radix_limb_lt_p_shift))) *
238 static_cast<View
>(in.get(C::to_radix_limb_eq_p_shift)) +
239 static_cast<View
>(in.get(C::to_radix_limb_lt_p_shift))) -
240 static_cast<View
>(in.get(C::to_radix_acc_under_p_shift)));
244 using View =
typename std::tuple_element_t<33, ContainerOverSubrelations>::View;
245 auto tmp =
static_cast<View
>(in.get(C::to_radix_is_unsafe_limb)) *
246 (
FF(1) -
static_cast<View
>(in.get(C::to_radix_acc_under_p)));
250 using View =
typename std::tuple_element_t<34, ContainerOverSubrelations>::View;
251 auto tmp =
CView(to_radix_NOT_END) *
252 (
static_cast<View
>(in.get(C::to_radix_radix)) -
static_cast<View
>(in.get(C::to_radix_radix_shift)));
256 using View =
typename std::tuple_element_t<35, ContainerOverSubrelations>::View;
257 auto tmp =
CView(to_radix_NOT_END) *
258 (
static_cast<View
>(in.get(C::to_radix_value)) -
static_cast<View
>(in.get(C::to_radix_value_shift)));
262 using View =
typename std::tuple_element_t<36, ContainerOverSubrelations>::View;
263 auto tmp =
CView(to_radix_NOT_END) * (
static_cast<View
>(in.get(C::to_radix_safe_limbs)) -
264 static_cast<View
>(in.get(C::to_radix_safe_limbs_shift)));