docs: public BigFloat divide(BigFloat x) {
  		if (x.isSpecial()) {
  			if (x == NaN) {
  				return NaN;
  			} else {
  				return context.valueOf(0);
  			}
  		}
  		if (this.isZero() && !x.isZero()) {
  			return context.valueOf(0);
  		}
  		if (x.isZero()) {
  			if (this.isZero()) {
  				return NaN; // 0 or -0 / 0 = NaN
  			} else if (this.isNegative()) {
  				return NEGATIVE_INFINITY;// -N / 0 = -INF
  			} else {
  				return POSITIVE_INFINITY;// N / 0 = +INF
  			}
  		}
  
  		Context c = max(context, x.context);
  		return c.valueOf(value.divide(x.value, c.mathContext));
  	}