code: func FuzzMul(data []byte) int {
  	// Ensure we have enough data in the first place
  	if len(data) != 96 {
  		return 0
  	}
  	// Ensure both libs can parse the curve point
  	pc := new(cloudflare.G1)
  	_, errc := pc.Unmarshal(data[:64])
  
  	pg := new(google.G1)
  	_, errg := pg.Unmarshal(data[:64])
  
  	if (errc == nil) != (errg == nil) {
  		panic("parse mismatch")
  	} else if errc != nil {
  		return 0
  	}
  	// Add the two points and ensure they result in the same output
  	rc := new(cloudflare.G1)
  	rc.ScalarMult(pc, new(big.Int).SetBytes(data[64:]))
  
  	rg := new(google.G1)
  	rg.ScalarMult(pg, new(big.Int).SetBytes(data[64:]))
  
  	if !bytes.Equal(rc.Marshal(), rg.Marshal()) {
  		panic("scalar mul mismatch")
  	}
  	return 0
  }
docs: // FuzzMul fuzzez bn256 scalar multiplication between the Google and Cloudflare
  // libraries.