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