performance measurements

Each table row shows performance measurements for this Lisp SBCL program with a particular command-line input value N.

 N  CPU secs Elapsed secs Memory KB Code B ≈ CPU Load
250,0000.150.16?1579  0% 0% 0% 100%
2,500,0001.441.445,5361579  1% 0% 1% 100%
25,000,00011.6311.645,5361579  0% 1% 100% 0%

Read the ↓ make, command line, and program output logs to see how this program was run.

Read fasta benchmark to see what this program should do.

 notes

This is SBCL 1.2.0, an implementation of ANSI Common Lisp.

 fasta Lisp SBCL #3 program source code

;; The Computer Language Benchmarks Game
;; http://benchmarksgame.alioth.debian.org/
;;
;; Contributed by Lorenzo Bolla

(declaim (optimize (speed 3) (debug 0) (safety 0)))

(declaim (fixnum +line-length+ +buffer-size+ +im+))
(defconstant +line-length+ 60)
(defconstant +buffer-size+ 3000)
(defconstant +im+ 139968)

(declaim (simple-base-string *alu*))
(defparameter *alu* (concatenate 'simple-base-string
						"GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG"
						"GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA"
						"CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT"
						"ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA"
						"GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG"
						"AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC"
						"AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA"))

(defun cumsum (lst)
  (let ((c 0.0))
	(declare (type single-float c))
	(mapcar #'(lambda (x) 
				(declare (type single-float x)
						 (values fixnum))
				(the fixnum (ceiling (* +im+ (incf c x)))))
			lst)))

(defun make-cprob (probs)
  (make-array (length probs)
			   :element-type 'fixnum
			   :initial-contents (cumsum probs)))

(defparameter *amino-acids-syms* "acgtBDHKMNRSVWY")
(defparameter *amino-acids-cprobs* 
  (make-cprob '(0.27 0.12 0.12 0.27 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02)))

(defparameter *homo-sapiens-syms* "acgt")
(defparameter *homo-sapiens-cprobs* 
  (make-cprob '(0.3029549426680 0.1979883004921 0.1975473066391 0.3015094502008)))

(let ((r 42)
	  (ia 3877)
	  (ic 29573))
  (declare (type fixnum r ia ic))
  (defun reset-random () (setf r (the fixnum 42)))
  (declaim (inline next-random))
  (defun next-random ()
	(declare (values fixnum))
	(setf r (mod (+ (the (integer 0 542655936) (* r ia)) ic) +im+))))

(defun find-amino-acid (amino-acids-syms amino-acids-cprobs p)
  (declare (type (simple-array fixnum (*)) amino-acids-cprobs)
		   (type simple-string amino-acids-syms)
		   (type fixnum p))
  (let* ((i 0)
		 (j (length amino-acids-syms)))
	(declare (type fixnum i j))
	(loop
	  (when (<= j i) 
		(return (aref amino-acids-syms i)))
	  (let* ((mid (ash (+ i j) -1))
			 (c (aref amino-acids-cprobs mid)))
		(cond ((< p c)
			   (setf j mid))
			  (t
				(setf i (1+ mid))))))))

(declaim (inline output-line flush))
(defun output-line (line &key (start 0) (end nil))
  (write-line line *standard-output* :start start :end end))
(defun flush ()
  (finish-output *standard-output*))

(defun randomize (amino-acids-syms amino-acids-cprobs title n)
  (declare (type fixnum n))
  (output-line title)
  (loop
	with buf of-type simple-base-string = (make-string +buffer-size+ :element-type 'base-char)
	with i of-type fixnum = 0
	with max-j of-type fixnum = (1- +buffer-size+)
	for j of-type fixnum from 0
	for k of-type fixnum from 0
	while (< i n)
	if (= k +line-length+) do 
	(setf (aref buf j) #\Newline) 
	(setf k -1)
	else do 
	(incf i)
	(setf (aref buf j) 
		  (find-amino-acid amino-acids-syms amino-acids-cprobs (next-random)))
	end
	when (= j max-j) do 
	(write-string buf *standard-output*)
	(setf j -1)
	finally 
	(output-line buf :start 0 :end j)
	(flush)))

(defun repeat (alu title n)
  (declare (type simple-base-string alu) 
		   (type fixnum n))
  (let ((len (length alu))
		(buf (concatenate 'simple-base-string 
						  alu 
						  (subseq alu 0 +line-length+))))
	(declare (type fixnum len) 
			 (type simple-base-string buf))
	(output-line title)
	(do* ((pos-start 0 (mod pos-end len))
		  (m n (- m bytes))
		  (bytes (min n +line-length+) (min m +line-length+))
		  (pos-end (+ pos-start bytes) (+ pos-start bytes)))
	  ((<= m 0) (flush))
	  (declare (type fixnum pos-start pos-end m bytes))
	  (output-line buf :start pos-start :end pos-end))))

(defun main (&optional in-n)
  (let ((n (or in-n
			   (ignore-errors
				 (parse-integer (car (last #+sbcl sb-ext:*posix-argv*
										   #+cmu  extensions:*command-line-strings*
										   #+gcl  si::*command-args*
										   #+clisp nil))))
			   1000)))
	(declare (fixnum n))
	(reset-random)
	(repeat *alu* ">ONE Homo sapiens alu" (the fixnum (* n 2)))
	(randomize *amino-acids-syms* *amino-acids-cprobs* ">TWO IUB ambiguity codes" (the fixnum (* n 3)))
	(randomize *homo-sapiens-syms* *homo-sapiens-cprobs* ">THREE Homo sapiens frequency" (the fixnum (* n 5)))))

 make, command-line, and program output logs

Sat, 31 May 2014 16:00:27 GMT

MAKE:
cp: ‘fasta.sbcl-3.sbcl’ and ‘./fasta.sbcl-3.sbcl’ are the same file
SBCL built with: /usr/local/bin/sbcl --userinit /dev/null --batch --eval '(load "fasta.sbcl-3.sbcl_compile")'
### START fasta.sbcl-3.sbcl_compile
(handler-bind ((sb-ext:defconstant-uneql      (lambda (c) (abort c))))      (load (compile-file "fasta.sbcl-3.sbcl" ))) (save-lisp-and-die "sbcl.core" :purify t)
### END fasta.sbcl-3.sbcl_compile

; compiling file "/home/dunham/benchmarksgame/bench/fasta/fasta.sbcl-3.sbcl" (written 24 JAN 2013 02:01:15 PM):
; compiling (DECLAIM (OPTIMIZE # ...))
; compiling (DECLAIM (FIXNUM +LINE-LENGTH+ ...))
; compiling (DEFCONSTANT +LINE-LENGTH+ ...)
; compiling (DEFCONSTANT +BUFFER-SIZE+ ...)
; compiling (DEFCONSTANT +IM+ ...)
; compiling (DECLAIM (SIMPLE-BASE-STRING *ALU*))
; compiling (DEFPARAMETER *ALU* ...)
; compiling (DEFUN CUMSUM ...)
; file: /home/dunham/benchmarksgame/bench/fasta/fasta.sbcl-3.sbcl
; in: DEFUN CUMSUM
;     (CEILING (* +IM+ (INCF C X)))
; --> CEILING MULTIPLE-VALUE-BIND MULTIPLE-VALUE-CALL TRUNCATE LET 
; ==>
;   (SB-KERNEL:%UNARY-TRUNCATE/SINGLE-FLOAT SB-C::X)
; 
; note: forced to do full call
;       unable to do inline float truncate (cost 5) because:
;       The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES
;                                                          (SIGNED-BYTE 32) &REST
;                                                          T).
;       unable to do inline float truncate (cost 5) because:
;       The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES
;                                                          (UNSIGNED-BYTE 32)
;                                                          &REST T).

; --> CEILING MULTIPLE-VALUE-BIND MULTIPLE-VALUE-CALL TRUNCATE LET VALUES - 
; ==>
;   (SB-KERNEL:%SINGLE-FLOAT SB-C::RES)
; 
; note: forced to do full call
;       unable to do inline float coercion (cost 5) because:
;       The first argument is a INTEGER, not a (SIGNED-BYTE 32).
;       unable to do inline float coercion (cost 6) because:
;       The first argument is a INTEGER, not a (UNSIGNED-BYTE 32).

; --> CEILING MULTIPLE-VALUE-BIND MULTIPLE-VALUE-CALL FUNCTION IF VALUES 
; ==>
;   (+ SB-C::TRU 1)
; 
; note: forced to do GENERIC-+ (cost 10)
;       unable to do inline fixnum arithmetic (cost 1) because:
;       The first argument is a INTEGER, not a FIXNUM.
;       The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
;       unable to do inline fixnum arithmetic (cost 2) because:
;       The first argument is a INTEGER, not a FIXNUM.
;       The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T).
;       etc.

; --> CEILING MULTIPLE-VALUE-BIND MULTIPLE-VALUE-CALL TRUNCATE LET 
; ==>
;   (SB-KERNEL:%UNARY-TRUNCATE/SINGLE-FLOAT SB-C::X)
; 
; note: doing float to pointer coercion (cost 13) from NUMBER

; compiling (DEFUN MAKE-CPROB ...)
; file: /home/dunham/benchmarksgame/bench/fasta/fasta.sbcl-3.sbcl
; in: DEFUN MAKE-CPROB
;     (LENGTH PROBS)
; 
; note: unable to
;   optimize
; due to type uncertainty:
;   The first argument is a SEQUENCE, not a (SIMPLE-ARRAY * (*)).
; 
; note: unable to
;   optimize
; due to type uncertainty:
;   The first argument is a SEQUENCE, not a VECTOR.

; compiling (DEFPARAMETER *AMINO-ACIDS-SYMS* ...)
; compiling (DEFPARAMETER *AMINO-ACIDS-CPROBS* ...)
; compiling (DEFPARAMETER *HOMO-SAPIENS-SYMS* ...)
; compiling (DEFPARAMETER *HOMO-SAPIENS-CPROBS* ...)
; compiling (LET (# # ...) ...)
; compiling (DEFUN FIND-AMINO-ACID ...)
; compiling (DECLAIM (INLINE OUTPUT-LINE ...))
; compiling (DEFUN OUTPUT-LINE ...)
; compiling (DEFUN FLUSH ...)
; compiling (DEFUN RANDOMIZE ...)
; compiling (DEFUN REPEAT ...)
; file: /home/dunham/benchmarksgame/bench/fasta/fasta.sbcl-3.sbcl
; in: DEFUN REPEAT
;     (SUBSEQ ALU 0 +LINE-LENGTH+)
; --> LET* LET* LOCALLY REPLACE LET* FUNCALL SB-C::%FUNCALL 
; --> SB-KERNEL:UB8-BASH-COPY LET WHEN IF PROGN LET* 
; ==>
;   (ASH 4294967295 (* (- SB-C::EXTRA 4) 8))
; 
; note: forced to do full call
;       unable to do inline ASH (cost 4) because:
;       The second argument is a (INTEGER -32 24), not a (UNSIGNED-BYTE 29).
;       The result is a (VALUES (MOD 72057594021150721) &OPTIONAL), not a (VALUES
;                                                                          (UNSIGNED-BYTE
;                                                                           32)
;                                                                          &REST
;                                                                          T).
;       unable to do inline ASH (cost 4) because:
;       The second argument is a (INTEGER -32 24), not a (UNSIGNED-BYTE 29).
;       The result is a (VALUES (MOD 72057594021150721) &OPTIONAL), not a (VALUES
;                                                                          (UNSIGNED-BYTE
;                                                                           32)
;                                                                          &REST
;                                                                          T).
;       etc.

; --> LET* LET* LOCALLY REPLACE LET* FUNCALL SB-C::%FUNCALL 
; --> SB-KERNEL:UB8-BASH-COPY LET WHEN IF PROGN LET* SETF 
; --> SB-KERNEL:%SET-VECTOR-RAW-BITS LOGIOR LOGANDC2 LOGAND LOGNOT 
; ==>
;   (LOGAND 'SB-C::DUMMY 4294967295)
; 
; note: forced to do static-fun Two-arg-and (cost 53)
;       unable to do inline (unsigned-byte 32) arithmetic (cost 2) because:
;       The first argument is a (MOD 72057594021150721), not a (UNSIGNED-BYTE 32).
;       unable to do inline (unsigned-byte 32) arithmetic (cost 2) because:
;       The first argument is a (MOD 72057594021150721), not a (SIGNED-BYTE 32).
;       etc.

; --> LET* LET* LOCALLY REPLACE LET* FUNCALL SB-C::%FUNCALL 
; --> SB-KERNEL:UB8-BASH-COPY LET WHEN IF PROGN LET* SETF 
; --> SB-KERNEL:%SET-VECTOR-RAW-BITS LOGIOR LOGAND 
; ==>
;   (LOGAND 'SB-C::DUMMY 4294967295)
; 
; note: forced to do static-fun Two-arg-and (cost 53)
;       unable to do inline (unsigned-byte 32) arithmetic (cost 2) because:
;       The first argument is a (MOD 72057594021150721), not a (UNSIGNED-BYTE 32).
;       unable to do inline (unsigned-byte 32) arithmetic (cost 2) because:
;       The first argument is a (MOD 72057594021150721), not a (SIGNED-BYTE 32).
;       etc.

; compiling (DEFUN MAIN ...); 
; compilation unit finished
;   printed 9 notes


; /home/dunham/benchmarksgame_quadcore/fasta/tmp/fasta.sbcl-3.fasl written
; compilation finished in 0:00:00.120
[undoing binding stack and other enclosing state... done]
[saving current Lisp image into sbcl.core:
writing 3528 bytes from the read-only space at 0x0x1000000
writing 2240 bytes from the static space at 0x0x1100000
writing 30220288 bytes from the dynamic space at 0x0x9000000
done]
### START fasta.sbcl-3.sbcl_run
(main) (quit)
### END fasta.sbcl-3.sbcl_run

0.76s to complete and log all make actions

COMMAND LINE:
/usr/local/bin/sbcl  --noinform --core sbcl.core --userinit /dev/null --load fasta.sbcl-3.sbcl_run 25000000

(TRUNCATED) PROGRAM OUTPUT:
>ONE Homo sapiens alu
GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA
TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT
AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG
GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG
CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT
GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA
GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA
TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG
AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA
GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT
AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC
AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG
GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC
CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG
AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT
TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA
TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT
GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG
TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT
CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG
CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG
TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA
CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG
AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG
GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC
TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA
TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA
GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT
GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC
ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT
TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC
CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG
CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG
GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC
CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT
GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC
GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA
GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA
GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA
GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG
AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT
CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA
GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA
AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC
GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT
ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG
GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC
GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC
GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG
TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA
AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG
GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT
CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC
TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG
ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC
GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA
ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA
CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA
CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA
ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG
CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG
AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC
CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG
AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC
CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG
CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG
CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG
CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC
ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA
AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC
TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC
ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG
CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG
AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT
AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA
TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC
CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA
TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG
CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT
GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG
GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG
CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG
GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG
GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT
AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT
GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT
CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG
GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC
TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT
CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG
ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG
CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG
AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA
CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG
CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC
ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC
GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC
GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG
GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT
TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG
CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA
GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG
CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC
GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG
CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA
CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG
CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA
ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC
CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT
GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA
AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG
ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC
TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA
GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC
GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG
TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC
AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA
ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA
GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC
AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG
TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC
CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT
GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC
CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA
GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT
TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC
ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC
TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG
GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG
TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG
GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC
GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT
ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC
GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC
GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC
CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA
ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG
AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC
TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT
CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG
TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG
CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC
GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT
GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC
CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC
TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG
CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG
AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG
AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG
AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT
GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA
TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC
AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA
AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG
CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC
TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG
GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT
CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG
CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG
GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA
AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA
GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC
TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC
CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA
GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG
CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG
AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG
ACAGAGCGAGACTCCGTCTCAAAAAGGCCGG

Revised BSD license

  Home   Conclusions   License   Play