(defun rfftb1 (n c ch wa ifac) (declare (type fixnum n)) (declare (type (simple-array float (*)) c)) (declare (type (simple-array float (*)) ch)) (declare (type (simple-array float (*)) wa)) (declare (type (simple-array float (*)) ifac)) (prog ((i 0) (ix4 0) (ix3 0) (ix2 0) (idl1 0) (ido 0) (l2 0) (ip 0) (k1 0) (iw 0) (l1 0) (na 0) (nf 0) ) (declare (type fixnum i)) (declare (type fixnum ix4)) (declare (type fixnum ix3)) (declare (type fixnum ix2)) (declare (type fixnum idl1)) (declare (type fixnum ido)) (declare (type fixnum l2)) (declare (type fixnum ip)) (declare (type fixnum k1)) (declare (type fixnum iw)) (declare (type fixnum l1)) (declare (type fixnum na)) (declare (type fixnum nf)) (setf nf (fref ifac 2)) (setf na 0) (setf l1 1) (setf iw 1) (fdo ((k1 1 (+ k1 1))) ((> k1 nf) nil) (tagbody (setf ip (fref ifac (+ k1 2))) (setf l2 (* ip l1)) (setf ido (/ n l2)) (setf idl1 (* ido l1)) (if (/= ip 4) (go label103)) (setf ix2 (+ iw ido)) (setf ix3 (+ ix2 ido)) (if (/= na 0) (go label101)) (multiple-value-setq (ido l1 c ch dummy_var dummy_var dummy_var) (radb4 ido l1 c ch (fref wa iw) (fref wa ix2) (fref wa ix3)) ) (go label102) label101 (multiple-value-setq (ido l1 ch c dummy_var dummy_var dummy_var) (radb4 ido l1 ch c (fref wa iw) (fref wa ix2) (fref wa ix3)) ) label102 (setf na (+ 1 (- na))) (go label115) label103 (if (/= ip 2) (go label106)) (if (/= na 0) (go label104)) (multiple-value-setq (ido l1 c ch dummy_var) (radb2 ido l1 c ch (fref wa iw)) ) (go label105) label104 (multiple-value-setq (ido l1 ch c dummy_var) (radb2 ido l1 ch c (fref wa iw)) ) label105 (setf na (+ 1 (- na))) (go label115) label106 (if (/= ip 3) (go label109)) (setf ix2 (+ iw ido)) (if (/= na 0) (go label107)) (multiple-value-setq (ido l1 c ch dummy_var dummy_var) (radb3 ido l1 c ch (fref wa iw) (fref wa ix2)) ) (go label108) label107 (multiple-value-setq (ido l1 ch c dummy_var dummy_var) (radb3 ido l1 ch c (fref wa iw) (fref wa ix2)) ) label108 (setf na (+ 1 (- na))) (go label115) label109 (if (/= ip 5) (go label112)) (setf ix2 (+ iw ido)) (setf ix3 (+ ix2 ido)) (setf ix4 (+ ix3 ido)) (if (/= na 0) (go label110)) (multiple-value-setq (ido l1 c ch dummy_var dummy_var dummy_var dummy_var) (radb5 ido l1 c ch (fref wa iw) (fref wa ix2) (fref wa ix3) (fref wa ix4)) ) (go label111) label110 (multiple-value-setq (ido l1 ch c dummy_var dummy_var dummy_var dummy_var) (radb5 ido l1 ch c (fref wa iw) (fref wa ix2) (fref wa ix3) (fref wa ix4)) ) label111 (setf na (+ 1 (- na))) (go label115) label112 (if (/= na 0) (go label113)) (multiple-value-setq (ido ip l1 idl1 c c c ch ch dummy_var) (radbg ido ip l1 idl1 c c c ch ch (fref wa iw)) ) (go label114) label113 (multiple-value-setq (ido ip l1 idl1 ch ch ch c c dummy_var) (radbg ido ip l1 idl1 ch ch ch c c (fref wa iw)) ) label114 (if (= ido 1) (setf na (+ 1 (- na)))) label115 (setf l1 l2) (setf iw (+ iw (* (+ ip (- 1)) ido))) )) (if (= na 0) (go end_label)) (fdo ((i 1 (+ i 1))) ((> i n) nil) (tagbody (fset (fref c i) (fref ch i)))) (go end_label) end_label (return (values n c ch wa ifac)) ))