Narrowing conversion from
(double-to-float operand) → result
Function:
(defun double-to-float (operand) (declare (xargs :guard (double-valuep operand))) (b* ((x (double-value->double operand))) (float-value (double-to-float-abs x))))
Theorem:
(defthm float-valuep-of-double-to-float (b* ((result (double-to-float operand))) (float-valuep result)) :rule-classes :rewrite)
Theorem:
(defthm double-to-float-of-double-value-fix-operand (equal (double-to-float (double-value-fix operand)) (double-to-float operand)))
Theorem:
(defthm double-to-float-double-value-equiv-congruence-on-operand (implies (double-value-equiv operand operand-equiv) (equal (double-to-float operand) (double-to-float operand-equiv))) :rule-classes :congruence)