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