code: func (c *twistPoint) IsOnCurve() bool {
  	c.MakeAffine()
  	if c.IsInfinity() {
  		return true
  	}
  
  	y2, x3 := &gfP2{}, &gfP2{}
  	y2.Square(&c.y)
  	x3.Square(&c.x).Mul(x3, &c.x).Add(x3, twistB)
  
  	if *y2 != *x3 {
  		return false
  	}
  	cneg := &twistPoint{}
  	cneg.Mul(c, Order)
  	return cneg.z.IsZero()
  }
docs: // IsOnCurve returns true iff c is on the curve.