public static BoolToken sign(FloatToken term, TermContext context) {
   return BoolToken.of(term.bigFloatValue().sign());
 }
 public static BoolToken isNaN(FloatToken term, TermContext context) {
   return BoolToken.of(term.bigFloatValue().isNaN());
 }
 public static BoolToken gt(FloatToken term1, FloatToken term2, TermContext context) {
   return BoolToken.of(term1.bigFloatValue().greaterThan(term2.bigFloatValue()));
 }
 public static BoolToken le(FloatToken term1, FloatToken term2, TermContext context) {
   return BoolToken.of(term1.bigFloatValue().lessThanOrEqualTo(term2.bigFloatValue()));
 }
 /**
  * Floating point equality. Uses {@link BigFloat#equalTo(BigFloat)} and not {@link
  * BigFloat#equals(Object)} in order to preserve the behavior that -0.0 ==Float 0.0 and NaN
  * =/=Float NaN. ==K can be used to compare identity on floating point numbers.
  */
 public static BoolToken eq(FloatToken term1, FloatToken term2, TermContext context) {
   return BoolToken.of(term1.bigFloatValue().equalTo(term2.bigFloatValue()));
 }