code: func gfPolyRemainder(numerator, denominator gfPoly) gfPoly {
  	if denominator.equals(gfPoly{}) {
  		log.Panicln("Remainder by zero")
  	}
  
  	remainder := numerator
  
  	for remainder.numTerms() >= denominator.numTerms() {
  		degree := remainder.numTerms() - denominator.numTerms()
  		coefficient := gfDivide(remainder.term[remainder.numTerms()-1],
  			denominator.term[denominator.numTerms()-1])
  
  		divisor := gfPolyMultiply(denominator,
  			newGFPolyMonomial(coefficient, degree))
  
  		remainder = gfPolyAdd(remainder, divisor)
  	}
  
  	return remainder.normalised()
  }
docs: // gfPolyRemainder return the remainder of numerator / denominator.