code: func (c *curvePoint) IsOnCurve() bool {
  	c.MakeAffine()
  	if c.IsInfinity() {
  		return true
  	}
  
  	y2, x3 := &gfP{}, &gfP{}
  	gfpMul(y2, &c.y, &c.y)
  	gfpMul(x3, &c.x, &c.x)
  	gfpMul(x3, x3, &c.x)
  	gfpAdd(x3, x3, curveB)
  
  	return *y2 == *x3
  }
docs: // IsOnCurve returns true iff c is on the curve.