sig
  val ( + ) : float -> float -> float
  val ( - ) : float -> float -> float
  val ( * ) : float -> float -> float
  val ( / ) : float -> float -> float
  val ( ~- ) : float -> float
end