(defun foo (z) (declare (double-float z)) (+ (complex 0 1) z)) o For now, don't convert real*complex to complex*real. Expand it out explicitly.