29 static_cast<View
>(in.get(C::ecc_add_mem_sel)) * (
FF(1) -
static_cast<View
>(in.get(C::ecc_add_mem_sel)));
33 using View =
typename std::tuple_element_t<1, ContainerOverSubrelations>::View;
34 auto tmp = (
static_cast<View
>(in.get(C::ecc_add_mem_dst_addr_1_)) -
35 static_cast<View
>(in.get(C::ecc_add_mem_sel)) *
36 (
static_cast<View
>(in.get(C::ecc_add_mem_dst_addr_0_)) +
FF(1)));
40 using View =
typename std::tuple_element_t<2, ContainerOverSubrelations>::View;
41 auto tmp = (
static_cast<View
>(in.get(C::ecc_add_mem_dst_addr_2_)) -
42 static_cast<View
>(in.get(C::ecc_add_mem_sel)) *
43 (
static_cast<View
>(in.get(C::ecc_add_mem_dst_addr_0_)) +
FF(2)));
47 using View =
typename std::tuple_element_t<3, ContainerOverSubrelations>::View;
48 auto tmp =
static_cast<View
>(in.get(C::ecc_add_mem_sel)) *
49 (
static_cast<View
>(in.get(C::ecc_add_mem_max_mem_addr)) -
CView(constants_AVM_HIGHEST_MEM_ADDRESS));
53 using View =
typename std::tuple_element_t<4, ContainerOverSubrelations>::View;
54 auto tmp =
static_cast<View
>(in.get(C::ecc_add_mem_sel_p_not_on_curve_err)) *
55 (
FF(1) -
static_cast<View
>(in.get(C::ecc_add_mem_sel_p_not_on_curve_err)));
59 using View =
typename std::tuple_element_t<5, ContainerOverSubrelations>::View;
60 auto tmp =
static_cast<View
>(in.get(C::ecc_add_mem_sel_q_not_on_curve_err)) *
61 (
FF(1) -
static_cast<View
>(in.get(C::ecc_add_mem_sel_q_not_on_curve_err)));
65 using View =
typename std::tuple_element_t<6, ContainerOverSubrelations>::View;
66 auto tmp = (
static_cast<View
>(in.get(C::ecc_add_mem_p_is_on_curve_eqn)) -
67 static_cast<View
>(in.get(C::ecc_add_mem_sel)) *
68 (
CView(ecc_add_mem_P_Y2) - (
CView(ecc_add_mem_P_X3) -
FF(17))) *
69 (
FF(1) -
static_cast<View
>(in.get(C::ecc_add_mem_p_is_inf))));
73 using View =
typename std::tuple_element_t<7, ContainerOverSubrelations>::View;
74 auto tmp =
static_cast<View
>(in.get(C::ecc_add_mem_sel)) *
75 (
static_cast<View
>(in.get(C::ecc_add_mem_p_is_on_curve_eqn)) *
76 ((
FF(1) -
static_cast<View
>(in.get(C::ecc_add_mem_sel_p_not_on_curve_err))) *
77 (
FF(1) -
static_cast<View
>(in.get(C::ecc_add_mem_p_is_on_curve_eqn_inv))) +
78 static_cast<View
>(in.get(C::ecc_add_mem_p_is_on_curve_eqn_inv))) -
79 static_cast<View
>(in.get(C::ecc_add_mem_sel_p_not_on_curve_err)));
83 using View =
typename std::tuple_element_t<8, ContainerOverSubrelations>::View;
84 auto tmp = (
static_cast<View
>(in.get(C::ecc_add_mem_q_is_on_curve_eqn)) -
85 static_cast<View
>(in.get(C::ecc_add_mem_sel)) *
86 (
CView(ecc_add_mem_Q_Y2) - (
CView(ecc_add_mem_Q_X3) -
FF(17))) *
87 (
FF(1) -
static_cast<View
>(in.get(C::ecc_add_mem_q_is_inf))));
91 using View =
typename std::tuple_element_t<9, ContainerOverSubrelations>::View;
92 auto tmp =
static_cast<View
>(in.get(C::ecc_add_mem_sel)) *
93 (
static_cast<View
>(in.get(C::ecc_add_mem_q_is_on_curve_eqn)) *
94 ((
FF(1) -
static_cast<View
>(in.get(C::ecc_add_mem_sel_q_not_on_curve_err))) *
95 (
FF(1) -
static_cast<View
>(in.get(C::ecc_add_mem_q_is_on_curve_eqn_inv))) +
96 static_cast<View
>(in.get(C::ecc_add_mem_q_is_on_curve_eqn_inv))) -
97 static_cast<View
>(in.get(C::ecc_add_mem_sel_q_not_on_curve_err)));
101 using View =
typename std::tuple_element_t<10, ContainerOverSubrelations>::View;
102 auto tmp = (
static_cast<View
>(in.get(C::ecc_add_mem_err)) -
103 (
FF(1) - (
FF(1) -
static_cast<View
>(in.get(C::ecc_add_mem_sel_dst_out_of_range_err))) *
104 (
FF(1) -
static_cast<View
>(in.get(C::ecc_add_mem_sel_p_not_on_curve_err))) *
105 (
FF(1) -
static_cast<View
>(in.get(C::ecc_add_mem_sel_q_not_on_curve_err)))));
109 using View =
typename std::tuple_element_t<11, ContainerOverSubrelations>::View;
111 (
static_cast<View
>(in.get(C::ecc_add_mem_sel_should_exec)) -
112 static_cast<View
>(in.get(C::ecc_add_mem_sel)) * (
FF(1) -
static_cast<View
>(in.get(C::ecc_add_mem_err))));
116 using View =
typename std::tuple_element_t<12, ContainerOverSubrelations>::View;
117 auto tmp =
static_cast<View
>(in.get(C::ecc_add_mem_sel_should_exec)) *
118 ((
static_cast<View
>(in.get(C::ecc_add_mem_p_x_n)) -
119 (
FF(1) -
static_cast<View
>(in.get(C::ecc_add_mem_p_is_inf))) *
120 static_cast<View
>(in.get(C::ecc_add_mem_p_x))) -
121 static_cast<View
>(in.get(C::ecc_add_mem_p_is_inf)) *
CView(ecc_INFINITY_X));
125 using View =
typename std::tuple_element_t<13, ContainerOverSubrelations>::View;
126 auto tmp =
static_cast<View
>(in.get(C::ecc_add_mem_sel_should_exec)) *
127 ((
static_cast<View
>(in.get(C::ecc_add_mem_p_y_n)) -
128 (
FF(1) -
static_cast<View
>(in.get(C::ecc_add_mem_p_is_inf))) *
129 static_cast<View
>(in.get(C::ecc_add_mem_p_y))) -
130 static_cast<View
>(in.get(C::ecc_add_mem_p_is_inf)) *
CView(ecc_INFINITY_Y));
134 using View =
typename std::tuple_element_t<14, ContainerOverSubrelations>::View;
135 auto tmp =
static_cast<View
>(in.get(C::ecc_add_mem_sel_should_exec)) *
136 ((
static_cast<View
>(in.get(C::ecc_add_mem_q_x_n)) -
137 (
FF(1) -
static_cast<View
>(in.get(C::ecc_add_mem_q_is_inf))) *
138 static_cast<View
>(in.get(C::ecc_add_mem_q_x))) -
139 static_cast<View
>(in.get(C::ecc_add_mem_q_is_inf)) *
CView(ecc_INFINITY_X));
143 using View =
typename std::tuple_element_t<15, ContainerOverSubrelations>::View;
144 auto tmp =
static_cast<View
>(in.get(C::ecc_add_mem_sel_should_exec)) *
145 ((
static_cast<View
>(in.get(C::ecc_add_mem_q_y_n)) -
146 (
FF(1) -
static_cast<View
>(in.get(C::ecc_add_mem_q_is_inf))) *
147 static_cast<View
>(in.get(C::ecc_add_mem_q_y))) -
148 static_cast<View
>(in.get(C::ecc_add_mem_q_is_inf)) *
CView(ecc_INFINITY_Y));