s.x.toBigInteger().multiply(b.z)).mod(this.curve.q);

                if (BigInteger.ZERO.equals(v)) {
                    if (BigInteger.ZERO.equals(u)) {
                        return this.twice();
                    }
                    return this.curve.getInfinity();
                }

                var THREE = new BigInteger("3");
                var x1 = this.x.toBigInteger();
                var y1 = this.y.toBigInteger();
                var x2 = b.x.toBigInteger();
                var y2 = b.