(Double-precision) floating point exponentiation.
(er-double-expt a b) is a lispfloat wrapper function.
In the logic this function does not have a definition, but
its ACL2::constraints say it returns
Theorem:
(defthm er-double-expt-mvtypes-0 (maybe-stringp (mv-nth 0 (er-double-expt a b))) :rule-classes :type-prescription)
Theorem:
(defthm er-double-expt-mvtypes-1 (rationalp (mv-nth 1 (er-double-expt a b))) :rule-classes :type-prescription)
Theorem:
(defthm er-double-expt-of-rfix-a (equal (er-double-expt (rfix a) b) (er-double-expt a b)))
Theorem:
(defthm er-double-expt-rational-equiv-congruence-on-a (implies (acl2::rational-equiv a a-equiv) (equal (er-double-expt a b) (er-double-expt a-equiv b))) :rule-classes :congruence)
Theorem:
(defthm er-double-expt-of-rfix-b (equal (er-double-expt a (rfix b)) (er-double-expt a b)))
Theorem:
(defthm er-double-expt-rational-equiv-congruence-on-b (implies (acl2::rational-equiv b b-equiv) (equal (er-double-expt a b) (er-double-expt a b-equiv))) :rule-classes :congruence)