return new ECPoint.Fp(curve, x3, y3);
return new ECPoint.Fp(curve, x3, y3, this.withCompression);
        public ECPoint twice()        {            ECFieldElement TWO = this.curve.fromBigInteger(BigInteger.valueOf(2));            ECFieldElement THREE = this.curve.fromBigInteger(BigInteger.valueOf(3));            ECFieldElement gamma = this.x.multiply(this.x).multiply(THREE).add(curve.a).divide(y.multiply(TWO));            ECFieldElement x3 = gamma.multiply(gamma).subtract(this.x.multiply(TWO));            ECFieldElement y3 = gamma.multiply(this.x.subtract(x3)).subtract(this.y);                            return new ECPoint.Fp(curve, x3, y3);        }