-(comment
-user> (use 'clojure.contrib.trace)
-nil
-user> (dotrace [count-change cc] (count-change 11))
-TRACE t2609: (count-change 11)
-TRACE t2610: | (cc 11 5)
-TRACE t2611: | | (cc 11 4)
-TRACE t2612: | | | (cc 11 3)
-TRACE t2613: | | | | (cc 11 2)
-TRACE t2614: | | | | | (cc 11 1)
-TRACE t2615: | | | | | | (cc 11 0)
-TRACE t2615: | | | | | | => 0
-TRACE t2616: | | | | | | (cc 10 1)
-TRACE t2617: | | | | | | | (cc 10 0)
-TRACE t2617: | | | | | | | => 0
-TRACE t2618: | | | | | | | (cc 9 1)
-TRACE t2619: | | | | | | | | (cc 9 0)
-TRACE t2619: | | | | | | | | => 0
-TRACE t2620: | | | | | | | | (cc 8 1)
-TRACE t2621: | | | | | | | | | (cc 8 0)
-TRACE t2621: | | | | | | | | | => 0
-TRACE t2622: | | | | | | | | | (cc 7 1)
-TRACE t2623: | | | | | | | | | | (cc 7 0)
-TRACE t2623: | | | | | | | | | | => 0
-TRACE t2624: | | | | | | | | | | (cc 6 1)
-TRACE t2625: | | | | | | | | | | | (cc 6 0)
-TRACE t2625: | | | | | | | | | | | => 0
-TRACE t2626: | | | | | | | | | | | (cc 5 1)
-TRACE t2627: | | | | | | | | | | | | (cc 5 0)
-TRACE t2627: | | | | | | | | | | | | => 0
-TRACE t2628: | | | | | | | | | | | | (cc 4 1)
-TRACE t2629: | | | | | | | | | | | | | (cc 4 0)
-TRACE t2629: | | | | | | | | | | | | | => 0
-TRACE t2630: | | | | | | | | | | | | | (cc 3 1)
-TRACE t2631: | | | | | | | | | | | | | | (cc 3 0)
-TRACE t2631: | | | | | | | | | | | | | | => 0
-TRACE t2632: | | | | | | | | | | | | | | (cc 2 1)
-TRACE t2633: | | | | | | | | | | | | | | | (cc 2 0)
-TRACE t2633: | | | | | | | | | | | | | | | => 0
-TRACE t2634: | | | | | | | | | | | | | | | (cc 1 1)
-TRACE t2635: | | | | | | | | | | | | | | | | (cc 1 0)
-TRACE t2635: | | | | | | | | | | | | | | | | => 0
-TRACE t2636: | | | | | | | | | | | | | | | | (cc 0 1)
-TRACE t2636: | | | | | | | | | | | | | | | | => 1
-TRACE t2634: | | | | | | | | | | | | | | | => 1
-TRACE t2632: | | | | | | | | | | | | | | => 1
-TRACE t2630: | | | | | | | | | | | | | => 1
-TRACE t2628: | | | | | | | | | | | | => 1
-TRACE t2626: | | | | | | | | | | | => 1
-TRACE t2624: | | | | | | | | | | => 1
-TRACE t2622: | | | | | | | | | => 1
-TRACE t2620: | | | | | | | | => 1
-TRACE t2618: | | | | | | | => 1
-TRACE t2616: | | | | | | => 1
-TRACE t2614: | | | | | => 1
-TRACE t2637: | | | | | (cc 6 2)
-TRACE t2638: | | | | | | (cc 6 1)
-TRACE t2639: | | | | | | | (cc 6 0)
-TRACE t2639: | | | | | | | => 0
-TRACE t2640: | | | | | | | (cc 5 1)
-TRACE t2641: | | | | | | | | (cc 5 0)
-TRACE t2641: | | | | | | | | => 0
-TRACE t2642: | | | | | | | | (cc 4 1)
-TRACE t2643: | | | | | | | | | (cc 4 0)
-TRACE t2643: | | | | | | | | | => 0
-TRACE t2644: | | | | | | | | | (cc 3 1)
-TRACE t2645: | | | | | | | | | | (cc 3 0)
-TRACE t2645: | | | | | | | | | | => 0
-TRACE t2646: | | | | | | | | | | (cc 2 1)
-TRACE t2647: | | | | | | | | | | | (cc 2 0)
-TRACE t2647: | | | | | | | | | | | => 0
-TRACE t2648: | | | | | | | | | | | (cc 1 1)
-TRACE t2649: | | | | | | | | | | | | (cc 1 0)
-TRACE t2649: | | | | | | | | | | | | => 0
-TRACE t2650: | | | | | | | | | | | | (cc 0 1)
-TRACE t2650: | | | | | | | | | | | | => 1
-TRACE t2648: | | | | | | | | | | | => 1
-TRACE t2646: | | | | | | | | | | => 1
-TRACE t2644: | | | | | | | | | => 1
-TRACE t2642: | | | | | | | | => 1
-TRACE t2640: | | | | | | | => 1
-TRACE t2638: | | | | | | => 1
-TRACE t2651: | | | | | | (cc 1 2)
-TRACE t2652: | | | | | | | (cc 1 1)
-TRACE t2653: | | | | | | | | (cc 1 0)
-TRACE t2653: | | | | | | | | => 0
-TRACE t2654: | | | | | | | | (cc 0 1)
-TRACE t2654: | | | | | | | | => 1
-TRACE t2652: | | | | | | | => 1
-TRACE t2655: | | | | | | | (cc -4 2)
-TRACE t2655: | | | | | | | => 0
-TRACE t2651: | | | | | | => 1
-TRACE t2637: | | | | | => 2
-TRACE t2613: | | | | => 3
-TRACE t2656: | | | | (cc 1 3)
-TRACE t2657: | | | | | (cc 1 2)
-TRACE t2658: | | | | | | (cc 1 1)
-TRACE t2659: | | | | | | | (cc 1 0)
-TRACE t2659: | | | | | | | => 0
-TRACE t2660: | | | | | | | (cc 0 1)
-TRACE t2660: | | | | | | | => 1
-TRACE t2658: | | | | | | => 1
-TRACE t2661: | | | | | | (cc -4 2)
-TRACE t2661: | | | | | | => 0
-TRACE t2657: | | | | | => 1
-TRACE t2662: | | | | | (cc -9 3)
-TRACE t2662: | | | | | => 0
-TRACE t2656: | | | | => 1
-TRACE t2612: | | | => 4
-TRACE t2663: | | | (cc -14 4)
-TRACE t2663: | | | => 0
-TRACE t2611: | | => 4
-TRACE t2664: | | (cc -39 5)
-TRACE t2664: | | => 0
-TRACE t2610: | => 4
-TRACE t2609: => 4
-4
-)
-;; TODO: orders of growth in space and number of steps.
+;; (comment
+;; user> (use 'clojure.contrib.trace)
+;; nil
+;; user> (dotrace [count-change cc] (count-change 11))
+;; TRACE t2609: (count-change 11)
+;; TRACE t2610: | (cc 11 5)
+;; TRACE t2611: | | (cc 11 4)
+;; TRACE t2612: | | | (cc 11 3)
+;; TRACE t2613: | | | | (cc 11 2)
+;; TRACE t2614: | | | | | (cc 11 1)
+;; TRACE t2615: | | | | | | (cc 11 0)
+;; TRACE t2615: | | | | | | => 0
+;; TRACE t2616: | | | | | | (cc 10 1)
+;; TRACE t2617: | | | | | | | (cc 10 0)
+;; TRACE t2617: | | | | | | | => 0
+;; TRACE t2618: | | | | | | | (cc 9 1)
+;; TRACE t2619: | | | | | | | | (cc 9 0)
+;; TRACE t2619: | | | | | | | | => 0
+;; TRACE t2620: | | | | | | | | (cc 8 1)
+;; TRACE t2621: | | | | | | | | | (cc 8 0)
+;; TRACE t2621: | | | | | | | | | => 0
+;; TRACE t2622: | | | | | | | | | (cc 7 1)
+;; TRACE t2623: | | | | | | | | | | (cc 7 0)
+;; TRACE t2623: | | | | | | | | | | => 0
+;; TRACE t2624: | | | | | | | | | | (cc 6 1)
+;; TRACE t2625: | | | | | | | | | | | (cc 6 0)
+;; TRACE t2625: | | | | | | | | | | | => 0
+;; TRACE t2626: | | | | | | | | | | | (cc 5 1)
+;; TRACE t2627: | | | | | | | | | | | | (cc 5 0)
+;; TRACE t2627: | | | | | | | | | | | | => 0
+;; TRACE t2628: | | | | | | | | | | | | (cc 4 1)
+;; TRACE t2629: | | | | | | | | | | | | | (cc 4 0)
+;; TRACE t2629: | | | | | | | | | | | | | => 0
+;; TRACE t2630: | | | | | | | | | | | | | (cc 3 1)
+;; TRACE t2631: | | | | | | | | | | | | | | (cc 3 0)
+;; TRACE t2631: | | | | | | | | | | | | | | => 0
+;; TRACE t2632: | | | | | | | | | | | | | | (cc 2 1)
+;; TRACE t2633: | | | | | | | | | | | | | | | (cc 2 0)
+;; TRACE t2633: | | | | | | | | | | | | | | | => 0
+;; TRACE t2634: | | | | | | | | | | | | | | | (cc 1 1)
+;; TRACE t2635: | | | | | | | | | | | | | | | | (cc 1 0)
+;; TRACE t2635: | | | | | | | | | | | | | | | | => 0
+;; TRACE t2636: | | | | | | | | | | | | | | | | (cc 0 1)
+;; TRACE t2636: | | | | | | | | | | | | | | | | => 1
+;; TRACE t2634: | | | | | | | | | | | | | | | => 1
+;; TRACE t2632: | | | | | | | | | | | | | | => 1
+;; TRACE t2630: | | | | | | | | | | | | | => 1
+;; TRACE t2628: | | | | | | | | | | | | => 1
+;; TRACE t2626: | | | | | | | | | | | => 1
+;; TRACE t2624: | | | | | | | | | | => 1
+;; TRACE t2622: | | | | | | | | | => 1
+;; TRACE t2620: | | | | | | | | => 1
+;; TRACE t2618: | | | | | | | => 1
+;; TRACE t2616: | | | | | | => 1
+;; TRACE t2614: | | | | | => 1
+;; TRACE t2637: | | | | | (cc 6 2)
+;; TRACE t2638: | | | | | | (cc 6 1)
+;; TRACE t2639: | | | | | | | (cc 6 0)
+;; TRACE t2639: | | | | | | | => 0
+;; TRACE t2640: | | | | | | | (cc 5 1)
+;; TRACE t2641: | | | | | | | | (cc 5 0)
+;; TRACE t2641: | | | | | | | | => 0
+;; TRACE t2642: | | | | | | | | (cc 4 1)
+;; TRACE t2643: | | | | | | | | | (cc 4 0)
+;; TRACE t2643: | | | | | | | | | => 0
+;; TRACE t2644: | | | | | | | | | (cc 3 1)
+;; TRACE t2645: | | | | | | | | | | (cc 3 0)
+;; TRACE t2645: | | | | | | | | | | => 0
+;; TRACE t2646: | | | | | | | | | | (cc 2 1)
+;; TRACE t2647: | | | | | | | | | | | (cc 2 0)
+;; TRACE t2647: | | | | | | | | | | | => 0
+;; TRACE t2648: | | | | | | | | | | | (cc 1 1)
+;; TRACE t2649: | | | | | | | | | | | | (cc 1 0)
+;; TRACE t2649: | | | | | | | | | | | | => 0
+;; TRACE t2650: | | | | | | | | | | | | (cc 0 1)
+;; TRACE t2650: | | | | | | | | | | | | => 1
+;; TRACE t2648: | | | | | | | | | | | => 1
+;; TRACE t2646: | | | | | | | | | | => 1
+;; TRACE t2644: | | | | | | | | | => 1
+;; TRACE t2642: | | | | | | | | => 1
+;; TRACE t2640: | | | | | | | => 1
+;; TRACE t2638: | | | | | | => 1
+;; TRACE t2651: | | | | | | (cc 1 2)
+;; TRACE t2652: | | | | | | | (cc 1 1)
+;; TRACE t2653: | | | | | | | | (cc 1 0)
+;; TRACE t2653: | | | | | | | | => 0
+;; TRACE t2654: | | | | | | | | (cc 0 1)
+;; TRACE t2654: | | | | | | | | => 1
+;; TRACE t2652: | | | | | | | => 1
+;; TRACE t2655: | | | | | | | (cc -4 2)
+;; TRACE t2655: | | | | | | | => 0
+;; TRACE t2651: | | | | | | => 1
+;; TRACE t2637: | | | | | => 2
+;; TRACE t2613: | | | | => 3
+;; TRACE t2656: | | | | (cc 1 3)
+;; TRACE t2657: | | | | | (cc 1 2)
+;; TRACE t2658: | | | | | | (cc 1 1)
+;; TRACE t2659: | | | | | | | (cc 1 0)
+;; TRACE t2659: | | | | | | | => 0
+;; TRACE t2660: | | | | | | | (cc 0 1)
+;; TRACE t2660: | | | | | | | => 1
+;; TRACE t2658: | | | | | | => 1
+;; TRACE t2661: | | | | | | (cc -4 2)
+;; TRACE t2661: | | | | | | => 0
+;; TRACE t2657: | | | | | => 1
+;; TRACE t2662: | | | | | (cc -9 3)
+;; TRACE t2662: | | | | | => 0
+;; TRACE t2656: | | | | => 1
+;; TRACE t2612: | | | => 4
+;; TRACE t2663: | | | (cc -14 4)
+;; TRACE t2663: | | | => 0
+;; TRACE t2611: | | => 4
+;; TRACE t2664: | | (cc -39 5)
+;; TRACE t2664: | | => 0
+;; TRACE t2610: | => 4
+;; TRACE t2609: => 4
+;; 4
+;; )
+