code: public BigFloat remainder(BigFloat x) {
  		if (x.isSpecial()) {
  			if (x == NaN) {
  				return NaN;
  			} else {
  				return this;
  			}
  		}
  		if (this.isZero() && !x.isZero()) {
  			return context.valueOf(0);
  		}
  		if (x.isZero()) {
  			return NaN;
  		}
  
  		Context c = max(context, x.context);
  		return c.valueOf(value.remainder(x.value, c.mathContext));
  	}
docs: Returns the {@link BigFloat} that is the remainder when dividing <code>this</code> by <code>x</code>.
  
  <p>If the two values do not have the same {@link Context}, the result will contain the {@link Context} with the larger precision.</p>
  
  @param x the value to divide with
  
  @return the resulting {@link BigFloat}
  
  @see BigDecimal#remainder(BigDecimal, MathContext)