Transform a code ensemble.
(copy-fn-code-ensemble code target-fn new-fn) → new-code
Function:
(defun copy-fn-code-ensemble (code target-fn new-fn) (declare (xargs :guard (and (code-ensemblep code) (identp target-fn) (identp new-fn)))) (declare (xargs :guard (code-ensemble-annop code))) (let ((__function__ 'copy-fn-code-ensemble)) (declare (ignorable __function__)) (b* (((code-ensemble code) code)) (change-code-ensemble code :transunits (copy-fn-transunit-ensemble code.transunits target-fn new-fn)))))
Theorem:
(defthm code-ensemblep-of-copy-fn-code-ensemble (b* ((new-code (copy-fn-code-ensemble code target-fn new-fn))) (code-ensemblep new-code)) :rule-classes :rewrite)