notes, command-line, and program output
NOTES:
64-bit Ubuntu quad core
SBCL 1.4.0
Thu, 26 Oct 2017 17:46:07 GMT
MAKE:
cp: 'spectralnorm.sbcl-4.sbcl' and './spectralnorm.sbcl-4.sbcl' are the same file
SBCL built with: /opt/src/sbcl-1.4.0/bin/sbcl --userinit /dev/null --batch --eval '(load "spectralnorm.sbcl-4.sbcl_compile")'
### START spectralnorm.sbcl-4.sbcl_compile
(handler-bind ((sb-ext:defconstant-uneql (lambda (c) (abort c)))) (load (compile-file "spectralnorm.sbcl-4.sbcl" ))) (save-lisp-and-die "sbcl.core" :purify t)
### END spectralnorm.sbcl-4.sbcl_compile
; compiling file "/home/dunham/benchmarksgame/bench/spectralnorm/spectralnorm.sbcl-4.sbcl" (written 17 SEP 2017 12:50:56 PM):
; compiling (DECLAIM (OPTIMIZE # ...))
; compiling (DEFUN EVAL-A ...)
; file: /home/dunham/benchmarksgame/bench/spectralnorm/spectralnorm.sbcl-4.sbcl
; in: DEFUN EVAL-A
; (DEFUN EVAL-A (I J)
; (DECLARE (TYPE FIXNUM I J))
; (LET* ((N (+ I J)) (N+1 (1+ N)))
; (DECLARE (FIXNUM N N+1))
; (/ (FLOAT (+ # I 1) 0.0d0))))
; --> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA
; ==>
; #'(SB-INT:NAMED-LAMBDA EVAL-A
; (I J)
; (DECLARE (TYPE FIXNUM I J))
; (BLOCK EVAL-A
; (LET* ((N #) (N+1 #))
; (DECLARE (FIXNUM N N+1))
; (/ (FLOAT # 0.0d0)))))
;
; note: doing float to pointer coercion (cost 13) to "<return value>"
; compiling (DEFUN EVAL-AT-TIMES-U ...)
; compiling (DEFUN EVAL-A-TIMES-U ...)
; compiling (DEFUN EXECUTE-PARALLEL ...)
; compiling (DEFUN EVAL-ATA-TIMES-U ...)
; compiling (DEFUN MAIN ...)
; file: /home/dunham/benchmarksgame/bench/spectralnorm/spectralnorm.sbcl-4.sbcl
; in: DEFUN MAIN
; (/ VBV VV)
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a NUMBER, not a (COMPLEX SINGLE-FLOAT).
; The second argument is a NUMBER, not a (COMPLEX SINGLE-FLOAT).
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a NUMBER, not a SINGLE-FLOAT.
; The second argument is a NUMBER, not a (COMPLEX SINGLE-FLOAT).
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a NUMBER, not a (COMPLEX DOUBLE-FLOAT).
; The second argument is a NUMBER, not a (COMPLEX DOUBLE-FLOAT).
;
; note: unable to
; optimize
; due to type uncertainty:
; The first argument is a NUMBER, not a DOUBLE-FLOAT.
; The second argument is a NUMBER, not a (COMPLEX DOUBLE-FLOAT).
;
; note: unable to
; convert x/2^k to shift
; due to type uncertainty:
; The first argument is a NUMBER, not a INTEGER.
; The second argument is a NUMBER, not a INTEGER.
; (- (* 2 N) 1)
;
; note: forced to do GENERIC-- (cost 10)
; unable to do inline fixnum arithmetic (cost 1) because:
; The first argument is a (INTEGER -9223372036854775808 9223372036854775806), not a FIXNUM.
; The result is a (VALUES
; (INTEGER -9223372036854775809 9223372036854775805)
; &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline fixnum arithmetic (cost 2) because:
; The first argument is a (INTEGER -9223372036854775808 9223372036854775806), not a FIXNUM.
; The result is a (VALUES
; (INTEGER -9223372036854775809 9223372036854775805)
; &OPTIONAL), not a (VALUES FIXNUM &REST T).
; etc.
; (- (* 2 N) 2)
;
; note: forced to do GENERIC-- (cost 10)
; unable to do inline fixnum arithmetic (cost 1) because:
; The first argument is a (INTEGER -9223372036854775808 9223372036854775806), not a FIXNUM.
; The result is a (VALUES
; (INTEGER -9223372036854775810 9223372036854775804)
; &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline fixnum arithmetic (cost 2) because:
; The first argument is a (INTEGER -9223372036854775808 9223372036854775806), not a FIXNUM.
; The result is a (VALUES
; (INTEGER -9223372036854775810 9223372036854775804)
; &OPTIONAL), not a (VALUES FIXNUM &REST T).
; etc.
; (* (- (* 2 N) 1) (- (* 2 N) 2))
;
; note: forced to do GENERIC-* (cost 30)
; unable to do inline fixnum arithmetic (cost 4) because:
; The first argument is a (INTEGER -9223372036854775809 9223372036854775805), not a FIXNUM.
; The second argument is a (INTEGER -9223372036854775810
; 9223372036854775804), not a FIXNUM.
; The result is a (VALUES
; (INTEGER -85070591730234615856620279821087277050
; 85070591730234615893513767968506380290)
; &OPTIONAL), not a (VALUES FIXNUM &REST T).
; unable to do inline (signed-byte 64) arithmetic (cost 5) because:
; The first argument is a (INTEGER -9223372036854775809 9223372036854775805), not a (SIGNED-BYTE
; 64).
; The second argument is a (INTEGER -9223372036854775810
; 9223372036854775804), not a (SIGNED-BYTE 64).
; The result is a (VALUES
; (INTEGER -85070591730234615856620279821087277050
; 85070591730234615893513767968506380290)
; &OPTIONAL), not a (VALUES (SIGNED-BYTE 64) &REST T).
; etc.
; (INCF VBV (* (AREF U I) (AREF V I)))
; --> SETQ THE
; ==>
; (+ (* (AREF U I) (AREF V I)) VBV)
;
; note: forced to do GENERIC-+ (cost 10)
; unable to do inline float arithmetic (cost 2) because:
; The second argument is a NUMBER, not a DOUBLE-FLOAT.
; The result is a (VALUES NUMBER &OPTIONAL), not a (VALUES DOUBLE-FLOAT
; &REST T).
; unable to do inline float arithmetic (cost 4) because:
; The second argument is a NUMBER, not a (COMPLEX DOUBLE-FLOAT).
; The result is a (VALUES NUMBER &OPTIONAL), not a (VALUES
; (COMPLEX DOUBLE-FLOAT)
; &REST T).
; (INCF VV (* (AREF V I) (AREF V I)))
; --> SETQ THE
; ==>
; (+ (* (AREF V I) (AREF V I)) VV)
;
; note: forced to do GENERIC-+ (cost 10)
; unable to do inline float arithmetic (cost 2) because:
; The second argument is a NUMBER, not a DOUBLE-FLOAT.
; The result is a (VALUES NUMBER &OPTIONAL), not a (VALUES DOUBLE-FLOAT
; &REST T).
; unable to do inline float arithmetic (cost 4) because:
; The second argument is a NUMBER, not a (COMPLEX DOUBLE-FLOAT).
; The result is a (VALUES NUMBER &OPTIONAL), not a (VALUES
; (COMPLEX DOUBLE-FLOAT)
; &REST T).
; (/ VBV VV)
;
; note: forced to do full call
; unable to do inline float arithmetic (cost 19) because:
; The first argument is a NUMBER, not a DOUBLE-FLOAT.
; The second argument is a NUMBER, not a DOUBLE-FLOAT.
; (- (* 2 N) 1)
;
; note: doing signed word to integer coercion (cost 20), for:
; the first argument of GENERIC--
; (- (* 2 N) 2)
;
; note: doing signed word to integer coercion (cost 20), for:
; the first argument of GENERIC--
; (INCF VBV (* (AREF U I) (AREF V I)))
; --> SETQ THE
; ==>
; (+ (* (AREF U I) (AREF V I)) VBV)
;
; note: doing float to pointer coercion (cost 13), for:
; the first argument of GENERIC-+
; (INCF VV (* (AREF V I) (AREF V I)))
; --> SETQ THE
; ==>
; (+ (* (AREF V I) (AREF V I)) VV)
;
; note: doing float to pointer coercion (cost 13), for:
; the first argument of GENERIC-+
; (FORMAT T "~11,9F~%" (SQRT (THE (DOUBLE-FLOAT 0.0d0) (/ VBV VV))))
; --> FORMAT SB-INT:NAMED-LAMBDA FUNCTION BLOCK LET
; ==>
; (SB-FORMAT::FORMAT-FIXED STREAM SB-FORMAT::FORMAT-ARG1 #:FVAR3 #:FVAR4
; #:FVAR5 #:FVAR6 #:FVAR7 NIL)
;
; note: doing float to pointer coercion (cost 13)
;
; compilation unit finished
; printed 17 notes
; /home/dunham/benchmarksgame_quadcore/spectralnorm/tmp/spectralnorm.sbcl-4.fasl written
; compilation finished in 0:00:00.034
### START spectralnorm.sbcl-4.sbcl_run
(main) (quit)
### END spectralnorm.sbcl-4.sbcl_run
3.51s to complete and log all make actions
COMMAND LINE:
/opt/src/sbcl-1.4.0/bin/sbcl --dynamic-space-size 500 --noinform --core sbcl.core --userinit /dev/null --load spectralnorm.sbcl-4.sbcl_run 5500
PROGRAM OUTPUT:
1.274224153