[(if ,test ,conseq ,altern) (let-values ([(new-test test-offset) (Pred test fp-offset)]) (let-values ([(new-conseq conseq-offset) (Tail conseq test-offset)] [(new-altern altern-offset) (Tail altern test-offset)]) (values `(if ,new-test ,new-conseq ,new-altern) fp-offset)))]