You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
template BabyAdd() { signal input x1; signal input y1; signal input x2; signal input y2; signal output xout; signal output yout;
signal beta; signal gamma; signal delta; signal epsilon; signal tau;
var a = 168700; var d = 168696;
beta <== x1*y2; gamma <== y1*x2; delta <== y1*y2; epsilon <== x1*x2; tau <== delta * epsilon;
xout <-- (beta + gamma) / (1+ d*tau); (1+ d*tau) * xout === (beta + gamma);
yout <-- (delta - a * epsilon) / (1-d*tau); (1-d*tau)*yout === (delta - a * epsilon); }
template BabyDbl() { signal input x; signal input y; signal output xout; signal output yout;
component adder = BabyAdd(); adder.x1 <== x; adder.y1 <== y; adder.x2 <== x; adder.y2 <== y;
adder.xout ==> xout; adder.yout ==> yout; }
template BabyCheck() { signal input x; signal input y;
signal x2; signal y2;
var a = 168700; var d = 168696;
x2 <== x*x; y2 <== y*y;
a*x2 + y2 === 1 + d*x2*y2; }
|