Test output for stalin [ok]

Testing time: 6s

'/usr/home/chicken/salmonella/build/salmonella-run-publish/chicken/bin/csi' -script run.scm < /dev/null 2>&1
  chicken-stalin -On -k -d1 hello.scm
Reading source
Expanding macros
Fast tree shake
Annotating expressions with their parents
Annotating variables with their environments
Annotating expressions with their environments
In-lining first-order calls to primitive procedures
Annotating expressions with their parents
Annotating variables with their environments
Annotating expressions with their environments
Annotating variables with their references
Performing flow analysis
Enumerating call sites
Determining which types and type sets are used
 16479 expressions
     0 internal symbol types
     0 external symbol types
    23 primitive procedure types
   215 non-called native procedure types
   245 called noop native procedure types
    26 called non-noop native procedure types
     0 foreign procedure types
     0 continuation types
     1 string type
     0 structure types
     8 headed vector types
     1 nonheaded vector type
     0 displaced vector types
 18566 type sets
   592 hunoz variables
  1486 non-hunoz variables
   469 noop environments
  1553 non-noop environments
0 call sites dispatch on clones
Maximal non-LET lexical nesting depth is 3
Maximal clone rate is 1
Determining which call sites to split
1 pass of flow analysis
Computing call graph
Determining which environments are called more than once
Determining which variables are referenced
Determining free variables
Determining necessarily-fictitious native procedure types
Annotating environments and continuation types
Inverting points-to relation
Determining escaping types
Determining which environments have unique call sites
Determining which environments are recursive
Determining which environments are reentrant
Asserting uniqueness
Performing lightweight closure conversion
Determining parents
Determining which expressions need conversion to CPS
  3117 expressions
     0 internal symbol types
     0 external symbol types
    23 primitive procedure types
   215 non-called native procedure types
   245 called noop native procedure types
    26 called non-noop native procedure types
     0 foreign procedure types
     0 continuation types
     1 string type
     0 structure types
     8 headed vector types
     1 nonheaded vector type
     0 displaced vector types
  3836 type sets
   245 hunoz variables
   465 non-hunoz variables
     0 noop environments
    26 non-noop environments
0 call sites dispatch on clones
Maximal non-LET lexical nesting depth is 3
Maximal clone rate is 1
Determining environment distances from root
Determining which environments have external self tail calls
Determining which environments have external continuation calls
Determining blocked environments
Determining which environments need to pass parameters globally
Determining allocations
Applying closed-world assumption
Determining indirect structure types
Determining which types are never allocated on the heap
Determining which types are atomic
Determining which environments have regions
Determining which type sets are squeezable
Determining which type sets are squishable
Determining alignments
Assigning global squish tags
W16480 is general case for the following reasons:
  nondegenerate nonheaded vector
Generating code
Removing unused declarations
Removing unused labels
Generating C code
Writing database
Compiling C code
Compilation time summary (in CPU seconds)
     0 - 17% - Reading source
     1 - 27% - Expanding macros
     0 -  0% - Fast tree shake
     0 -  3% - Annotating expressions with their parents
     0 -  0% - Annotating variables with their environments
     0 -  1% - Annotating expressions with their environments
     0 - 15% - In-lining first-order calls to primitive procedures
     0 -  0% - Annotating variables with their references
     0 - 15% - Performing flow analysis
     0 -  0% - Enumerating call sites
     0 -  1% - Determining which types and type sets are used
     0 -  1% - Determining which call sites to split
     0 -  0% - Computing call graph
     0 -  0% - Determining which environments are called more than once
     0 -  1% - Determining which variables are referenced
     0 -  0% - Determining free variables
     0 -  0% - Determining necessarily-fictitious native procedure types
     0 -  0% - Annotating environments and continuation types
     0 -  0% - Inverting points-to relation
     0 -  1% - Determining escaping types
     0 -  0% - Determining which environments have unique call sites
     0 -  0% - Determining which environments are recursive
     0 -  0% - Determining which environments are reentrant
     0 -  0% - Asserting uniqueness
     0 -  2% - Performing lightweight closure conversion
     0 -  0% - Determining parents
     0 -  2% - Determining which expressions need conversion to CPS
     0 -  0% - Determining environment distances from root
     0 -  0% - Determining which environments have external self tail calls
     0 -  0% - Determining which environments have external continuation calls
     0 -  0% - Determining blocked environments
     0 -  0% - Determining which environments need to pass parameters globally
     0 -  0% - Determining allocations
     0 -  5% - Applying closed-world assumption
     0 -  0% - Determining indirect structure types
     0 -  0% - Determining which types are never allocated on the heap
     0 -  0% - Determining which types are atomic
     0 -  0% - Determining which environments have regions
     0 -  0% - Determining which type sets are squeezable
     0 -  0% - Determining which type sets are squishable
     0 -  0% - Determining alignments
     0 -  0% - Assigning global squish tags
     0 -  3% - Generating code
     0 -  1% - Removing unused declarations
     0 -  1% - Removing unused labels
     0 -  2% - Generating C code
     0 -  1% - Writing database
     0 -  0% - Compiling C code
  ./hello
Hello, world!