sig
  val ( + ) : float -> float -> float
  val ( - ) : float -> float -> float
  val ( * ) : float -> float -> float
  val ( / ) : float -> float -> float
  val ( % ) : float -> float -> float
  val ( ** ) : float -> float -> float
  val ( < ) : float -> float -> bool
  val ( > ) : float -> float -> bool
  val ( = ) : float -> float -> bool
  val ( <= ) : float -> float -> bool
  val ( >= ) : float -> float -> bool
end