Function: byte-optimize-multiply
byte-optimize-multiply is a byte-compiled function defined in
byte-opt.el.gz.
Signature
(byte-optimize-multiply FORM)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/byte-opt.el.gz
(defun byte-optimize-multiply (form)
(let* ((args (remq 1 (byte-opt--arith-reduce #'* 1 (cdr form)))))
(cond
;; (*) -> 1
((null args) 1)
;; (* n) -> n, where n is a number
((and (null (cdr args)) (numberp (car args))) (car args))
;; (* x y z) -> (* (* x y) z)
((= (length args) 3)
`(* ,(byte-optimize-multiply `(* ,(car args) ,(cadr args)))
,@(cddr args)))
;; not further optimized
((equal args (cdr form)) form)
(t (cons '* args)))))