@@ -213,25 +213,22 @@ static void secp256k1_ecmult_const(secp256k1_gej *r, const secp256k1_ge *a, cons
213213 }
214214 }
215215
216- secp256k1_fe_mul (& r -> z , & r -> z , & Z );
217-
218216 {
219217 /* Correct for wNAF skew */
220- secp256k1_gej tmp ;
221- secp256k1_ge a_1 ;
222- secp256k1_ge_neg (& a_1 , a );
218+ secp256k1_gej tmpj ;
223219
224- secp256k1_gej_add_ge (& tmp , r , & a_1 );
225- secp256k1_gej_cmov (r , & tmp , skew_1 );
220+ secp256k1_ge_neg (& tmpa , & pre_a [0 ]);
221+ secp256k1_gej_add_ge (& tmpj , r , & tmpa );
222+ secp256k1_gej_cmov (r , & tmpj , skew_1 );
226223
227224 if (size > 128 ) {
228- secp256k1_ge a_lam ;
229- secp256k1_ge_mul_lambda (& a_lam , & a_1 );
230-
231- secp256k1_gej_add_ge (& tmp , r , & a_lam );
232- secp256k1_gej_cmov (r , & tmp , skew_lam );
225+ secp256k1_ge_neg (& tmpa , & pre_a_lam [0 ]);
226+ secp256k1_gej_add_ge (& tmpj , r , & tmpa );
227+ secp256k1_gej_cmov (r , & tmpj , skew_lam );
233228 }
234229 }
230+
231+ secp256k1_fe_mul (& r -> z , & r -> z , & Z );
235232}
236233
237234#endif /* SECP256K1_ECMULT_CONST_IMPL_H */
0 commit comments