code: private static final void mont_add(long10 t1, long10 t2, long10 t3, long10 t4,long10 ax, long10 az, long10 dx) {
  		mul(ax, t2, t3);
  		mul(az, t1, t4);
  		add(t1, ax, az);
  		sub(t2, ax, az);
  		sqr(ax, t1);
  		sqr(t1, t2);
  		mul(az, t1, dx);
  	}
docs: /* A = P + Q   where
  X(A) = ax/az
  X(P) = (t1+t2)/(t1-t2)
  X(Q) = (t3+t4)/(t3-t4)
  X(P-Q) = dx
  clobbers t1 and t2, preserves t3 and t4