Profiling results ----------------- Total cpu time observed: 22600ms (out of 23004ms) Number of samples taken: 72 (once every 314ms) ======================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ======================================================================== ??? [38] 100.0% [1] 22600(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [6] 100.0% ------------------------------------------------------------------------ ??? [38] 100.0% [2] 13670(60.5%) 0(0.0%) run-improve47 ...bie/master/src/mainloop.rkt:342:0 for-loop [7] 100.0% ------------------------------------------------------------------------ hash-ref! [90] 100.0% [3] 364(1.6%) 0(0.0%) ??? ...ies/herbie/master/src/core/taylor.rkt:68:15 hash-ref! [90] 66.7% ??? [79] 33.3% ------------------------------------------------------------------------ ??? [79] 100.0% [4] 364(1.6%) 0(0.0%) approximate9 ...ie/master/src/core/taylor.rkt:12:0 loop [8] 100.0% ------------------------------------------------------------------------ ??? [38] 100.0% [5] 300(1.3%) 0(0.0%) eval-const-expr ...e/master/src/programs.rkt:111:0 eval-prog [9] 100.0% ------------------------------------------------------------------------ profile-thunk16 [1] 100.0% [6] 22600(100.0%) 0(0.0%) run ...et-7.0/share/pkgs/profile-lib/main.rkt:39:2 ??? [38] 100.0% ------------------------------------------------------------------------ run-improve47 [2] 100.0% [7] 13670(60.5%) 0(0.0%) for-loop ...s/herbie/master/src/mainloop.rkt:359:4 run-iter! [10] 100.0% ------------------------------------------------------------------------ approximate9 [4] 100.0% [8] 364(1.6%) 0(0.0%) loop ...ies/herbie/master/src/core/taylor.rkt:87:4 hash-ref! [90] 100.0% ------------------------------------------------------------------------ eval-const-expr [5] 100.0% [9] 300(1.3%) 0(0.0%) eval-prog ...s/herbie/master/src/programs.rkt:83:0 temp68_2 [11] 100.0% ------------------------------------------------------------------------ for-loop [7] 100.0% [10] 13670(60.5%) 0(0.0%) run-iter! .../herbie/master/src/mainloop.rkt:323:0 simplify! [12] 92.3% finalize-iter! [13] 5.0% gen-series! [14] 2.7% ------------------------------------------------------------------------ eval-prog [9] 100.0% [11] 300(1.3%) 0(0.0%) temp68_2 (unknown source) compile16 [15] 100.0% ------------------------------------------------------------------------ run-iter! [10] 100.0% [12] 12618(55.8%) 0(0.0%) simplify! .../herbie/master/src/mainloop.rkt:220:0 ??? [16] 100.0% ------------------------------------------------------------------------ run-iter! [10] 100.0% [13] 688(3.0%) 0(0.0%) finalize-iter! ...ie/master/src/mainloop.rkt:274:0 ??? [49] 100.0% ------------------------------------------------------------------------ run-iter! [10] 100.0% [14] 364(1.6%) 0(0.0%) gen-series! ...erbie/master/src/mainloop.rkt:156:0 for-loop [17] 100.0% ------------------------------------------------------------------------ temp68_2 [11] 100.0% [15] 300(1.3%) 0(0.0%) compile16 (unknown source) temp74_0 [18] 100.0% ------------------------------------------------------------------------ simplify! [12] 100.0% [16] 12618(55.8%) 0(0.0%) ??? ...es/herbie/master/src/core/simplify.rkt:26:0 for-loop [19] 72.7% one-iter [22] 27.3% ------------------------------------------------------------------------ gen-series! [14] 100.0% [17] 364(1.6%) 0(0.0%) for-loop ...s/herbie/master/src/mainloop.rkt:163:7 taylor-alt [20] 100.0% ------------------------------------------------------------------------ compile16 [15] 100.0% [18] 300(1.3%) 0(0.0%) temp74_0 (unknown source) expand-single [21] 100.0% ------------------------------------------------------------------------ ??? [16] 100.0% [19] 9176(40.6%) 0(0.0%) for-loop ...rbie/master/src/core/simplify.rkt:33:2 one-iter [22] 100.0% ------------------------------------------------------------------------ for-loop [17] 100.0% [20] 364(1.6%) 0(0.0%) taylor-alt ...herbie/master/src/mainloop.rkt:142:0 for-loop [23] 100.0% ------------------------------------------------------------------------ temp74_0 [18] 100.0% [21] 300(1.3%) 0(0.0%) expand-single (unknown source) expand-capturing-lifts [24] 100.0% ------------------------------------------------------------------------ ??? [16] 27.3% for-loop [19] 72.7% [22] 12618(55.8%) 0(0.0%) one-iter ...rbie/master/src/core/simplify.rkt:65:0 for-loop [25] 61.9% find-matches [26] 35.7% for-loop [27] 2.4% ------------------------------------------------------------------------ taylor-alt [20] 100.0% [23] 364(1.6%) 0(0.0%) for-loop ...s/herbie/master/src/mainloop.rkt:148:6 ??? [79] 100.0% ------------------------------------------------------------------------ expand-single [21] 100.0% [24] 300(1.3%) 0(0.0%) expand-capturing-lifts (unknown source) lambda-clause-expander [28] 100.0% ------------------------------------------------------------------------ one-iter [22] 100.0% [25] 7812(34.6%) 0(0.0%) for-loop ...rbie/master/src/core/simplify.rkt:67:2 for-loop [29] 100.0% ------------------------------------------------------------------------ one-iter [22] 100.0% [26] 4506(19.9%) 0(0.0%) find-matches .../master/src/core/simplify.rkt:55:0 for-loop [30] 100.0% ------------------------------------------------------------------------ one-iter [22] 100.0% [27] 300(1.3%) 0(0.0%) for-loop ...rbie/master/src/core/simplify.rkt:72:2 set-precompute! [32] 100.0% ------------------------------------------------------------------------ expand-capturing-lifts [24] 100.0% [28] 300(1.3%) 0(0.0%) lambda-clause-expander (unknown source) finish-bodys [31] 100.0% ------------------------------------------------------------------------ for-loop [25] 100.0% [29] 7812(34.6%) 0(0.0%) for-loop ...rbie/master/src/core/simplify.rkt:70:4 merge-egraph-nodes! [33] 72.4% dedup-children! [47] 19.2% substitute-e [35] 4.2% mk-enode! [52] 4.2% ------------------------------------------------------------------------ for-loop [30] 50.0% find-matches [26] 50.0% [30] 4506(19.9%) 0(0.0%) for-loop ...rbie/master/src/core/simplify.rkt:57:8 for-loop [30] 50.0% match-e [34] 50.0% ------------------------------------------------------------------------ lambda-clause-expander [28] 33.3% for-loop [36] 66.7% [31] 300(1.3%) 0(0.0%) finish-bodys (unknown source) for-loop [36] 100.0% ------------------------------------------------------------------------ for-loop [27] 100.0% [32] 300(1.3%) 0(0.0%) set-precompute! ...ster/src/core/simplify.rkt:79:0 for-loop [37] 100.0% ------------------------------------------------------------------------ merge-egraph-nodes! [33] 5.3% for-loop [41] 8.8% for-loop [29] 85.9% [33] 5658(25.0%) 0(0.0%) merge-egraph-nodes! ...r/src/core/egraph.rkt:143:0 update-leader! [40] 48.1% for-loop [41] 22.2% loop! [80] 21.7% merge-egraph-nodes! [33] 5.3% dedup-children! [47] 2.7% ------------------------------------------------------------------------ for-loop [46] 37.7% for-loop [30] 62.3% [34] 4506(19.9%) 1512(6.7%) match-e .../herbie/master/src/core/ematch.rkt:39:0 for-loop [39] 57.6% variable? [42] 11.1% constant? [44] 2.2% ??? [49] 2.2% ------------------------------------------------------------------------ for-loop [29] 100.0% [35] 330(1.5%) 0(0.0%) substitute-e ...ie/master/src/core/ematch.rkt:64:0 for-loop [43] 100.0% ------------------------------------------------------------------------ finish-bodys [31] 100.0% [36] 300(1.3%) 300(1.3%) for-loop (unknown source) finish-bodys [31] 66.7% ------------------------------------------------------------------------ set-precompute! [32] 100.0% [37] 300(1.3%) 0(0.0%) for-loop ...rbie/master/src/core/simplify.rkt:81:2 ??? [38] 100.0% ------------------------------------------------------------------------ for-loop [37] 0.4% for-loop [77] 1.9% run [6] 48.8% [38] 22600(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 48.8% run-improve47 [2] 29.5% prepare-points [45] 14.1% eval-errors [50] 2.0% ??? [72] 1.9% oracle-error [51] 1.5% errors [74] 0.9% ??? [82] 0.7% eval-const-expr [5] 0.4% ------------------------------------------------------------------------ match-e [34] 100.0% [39] 3594(15.9%) 600(2.7%) for-loop ...erbie/master/src/core/ematch.rkt:52:11 for-loop [46] 75.1% foldl [54] 8.3% curry* [55] 4.1% ------------------------------------------------------------------------ merge-egraph-nodes! [33] 100.0% [40] 2890(12.8%) 0(0.0%) update-leader! ...master/src/core/egraph.rkt:211:0 for-loop [48] 89.7% hash-ref! [90] 10.3% ------------------------------------------------------------------------ merge-egraph-nodes! [33] 100.0% [41] 1902(8.4%) 0(0.0%) for-loop ...erbie/master/src/core/egraph.rkt:197:4 merge-egraph-nodes! [33] 52.3% dedup-children! [47] 47.7% ------------------------------------------------------------------------ match-e [34] 100.0% [42] 1198(5.3%) 0(0.0%) variable? ...ie/master/src/syntax/syntax.rkt:722:0 ??? [49] 75.1% value? [53] 24.9% ------------------------------------------------------------------------ substitute-e [35] 100.0% [43] 330(1.5%) 0(0.0%) for-loop ...erbie/master/src/core/ematch.rkt:73:24 mk-enode! [52] 100.0% ------------------------------------------------------------------------ match-e [34] 100.0% [44] 302(1.3%) 0(0.0%) constant? ...ie/master/src/syntax/syntax.rkt:719:0 value? [53] 100.0% ------------------------------------------------------------------------ ??? [38] 100.0% [45] 6388(28.3%) 0(0.0%) prepare-points ...rbie/master/src/points.rkt:146:0 loop [56] 100.0% ------------------------------------------------------------------------ for-loop [39] 100.0% [46] 3000(13.3%) 0(0.0%) for-loop ...erbie/master/src/core/ematch.rkt:58:37 match-e [34] 100.0% ------------------------------------------------------------------------ merge-egraph-nodes! [33] 11.1% for-loop [41] 33.6% for-loop [29] 55.4% [47] 2706(12.0%) 0(0.0%) dedup-children! ...master/src/core/enode.rkt:195:0 loop [57] 66.8% loop [59] 33.2% ------------------------------------------------------------------------ update-leader! [40] 100.0% [48] 2592(11.5%) 0(0.0%) for-loop ...erbie/master/src/core/egraph.rkt:216:6 hash-update! [68] 62.8% for-loop [58] 37.2% ------------------------------------------------------------------------ match-e [34] 15.8% finalize-iter! [13] 36.5% variable? [42] 47.7% [49] 1886(8.3%) 1198(5.3%) ??? ...contract/private/arrow-val-first.rkt:388:18 for-loop [62] 18.8% atab-add-altns [63] 17.7% ------------------------------------------------------------------------ ??? [38] 100.0% [50] 896(4.0%) 0(0.0%) eval-errors .../herbie/master/src/points.rkt:179:0 for-loop [60] 100.0% ------------------------------------------------------------------------ ??? [38] 100.0% [51] 700(3.1%) 0(0.0%) oracle-error ...herbie/master/src/points.rkt:188:0 for-loop [61] 100.0% ------------------------------------------------------------------------ for-loop [29] 49.7% for-loop [43] 50.3% [52] 656(2.9%) 330(1.5%) mk-enode! ...erbie/master/src/core/egraph.rkt:97:0 hash-has-key? [64] 49.7% ------------------------------------------------------------------------ variable? [42] 49.7% constant? [44] 50.3% [53] 600(2.7%) 600(2.7%) value? .../herbie/master/src/syntax/types.rkt:18:0 ------------------------------------------------------------------------ for-loop [39] 100.0% [54] 300(1.3%) 0(0.0%) foldl ....0/collects/racket/private/list.rkt:229:4 merge2 [65] 100.0% ------------------------------------------------------------------------ for-loop [39] 100.0% [55] 296(1.3%) 0(0.0%) curry* ...et-7.0/collects/racket/function.rkt:44:2 procedure-arity [66] 100.0% ------------------------------------------------------------------------ prepare-points [45] 100.0% [56] 6388(28.3%) 658(2.9%) loop ...ghtlies/herbie/master/src/points.rkt:122:4 loop [67] 45.6% ??? [69] 39.2% infer-representation [87] 5.0% ------------------------------------------------------------------------ dedup-children! [47] 24.5% loop [57] 75.5% [57] 1808(8.0%) 1808(8.0%) loop ...racket-7.0/collects/racket/list.rkt:434:17 loop [57] 75.5% ------------------------------------------------------------------------ for-loop [48] 100.0% [58] 964(4.3%) 0(0.0%) for-loop ...erbie/master/src/core/egraph.rkt:217:8 hash-update! [68] 100.0% ------------------------------------------------------------------------ dedup-children! [47] 40.1% loop [59] 59.9% [59] 898(4.0%) 300(1.3%) loop ...racket-7.0/collects/racket/list.rkt:417:34 loop [59] 59.9% loop [70] 6.7% ------------------------------------------------------------------------ eval-errors [50] 100.0% [60] 896(4.0%) 0(0.0%) for-loop ...ies/herbie/master/src/points.rkt:181:2 ??? [72] 100.0% ------------------------------------------------------------------------ oracle-error [51] 100.0% [61] 700(3.1%) 0(0.0%) for-loop ...ies/herbie/master/src/points.rkt:189:2 loop [75] 100.0% ------------------------------------------------------------------------ ??? [49] 100.0% [62] 354(1.6%) 0(0.0%) for-loop ...bie/master/src/core/alt-table.rkt:56:2 errors [74] 100.0% ------------------------------------------------------------------------ ??? [49] 100.0% [63] 334(1.5%) 0(0.0%) atab-add-altns ...ster/src/core/alt-table.rkt:50:0 atab-add-altn [71] 100.0% ------------------------------------------------------------------------ mk-enode! [52] 100.0% [64] 326(1.4%) 326(1.4%) hash-has-key? ...ket/private/more-scheme.rkt:371:2 ------------------------------------------------------------------------ foldl [54] 100.0% [65] 300(1.3%) 300(1.3%) merge2 ...s/herbie/master/src/core/ematch.rkt:24:0 ------------------------------------------------------------------------ curry* [55] 100.0% [66] 296(1.3%) 296(1.3%) procedure-arity ...ket/private/norm-arity.rkt:7:27 ------------------------------------------------------------------------ loop [56] 100.0% [67] 2910(12.9%) 336(1.5%) loop ...ightlies/herbie/master/src/points.rkt:81:2 ??? [72] 88.5% ------------------------------------------------------------------------ for-loop [58] 37.2% for-loop [48] 62.8% [68] 2592(11.5%) 0(0.0%) hash-update! ...cket/private/more-scheme.rkt:365:4 ??? [73] 100.0% ------------------------------------------------------------------------ loop [56] 100.0% [69] 2502(11.1%) 0(0.0%) ??? ...ightlies/herbie/master/src/points.rkt:106:2 ??? [79] 50.1% loop [75] 49.9% ------------------------------------------------------------------------ loop [59] 100.0% [70] 598(2.6%) 598(2.6%) loop (unknown source) ------------------------------------------------------------------------ atab-add-altns [63] 100.0% [71] 334(1.5%) 0(0.0%) atab-add-altn ...ster/src/core/alt-table.rkt:203:0 errors [74] 100.0% ------------------------------------------------------------------------ for-loop [60] 18.8% ??? [38] 27.3% loop [67] 54.0% [72] 4770(21.1%) 298(1.3%) ??? ...htlies/herbie/master/src/programs.rkt:108:2 ??? [79] 33.5% ??? [78] 20.4% loop [75] 19.8% real->precision [81] 13.7% ??? [82] 6.2% ------------------------------------------------------------------------ hash-update! [68] 100.0% [73] 2592(11.5%) 0(0.0%) ??? ...es/herbie/master/src/core/egraph.rkt:219:24 for-loop [76] 100.0% ------------------------------------------------------------------------ atab-add-altn [71] 25.7% for-loop [62] 27.2% ??? [38] 47.1% [74] 1300(5.8%) 0(0.0%) errors ...tlies/herbie/master/src/points.rkt:205:0 for-loop [77] 100.0% ------------------------------------------------------------------------ loop! [80] 4.6% for-loop [61] 15.7% ??? [72] 21.2% ??? [69] 28.0% loop [75] 30.4% [75] 4454(19.7%) 332(1.5%) loop ...-7.0/collects/racket/private/map.rkt:40:19 loop [75] 30.4% ??? [79] 28.0% real->precision [81] 14.2% infer-double-representation [89] 8.2% ??? [83] 7.5% ??? [82] 7.0% loop! [80] 4.2% ------------------------------------------------------------------------ ??? [73] 100.0% [76] 2592(11.5%) 2258(10.0%) for-loop ...rbie/master/src/core/egraph.rkt:220:26 update-en-expr [84] 12.9% ------------------------------------------------------------------------ errors [74] 100.0% [77] 1300(5.8%) 0(0.0%) for-loop ...ies/herbie/master/src/points.rkt:207:2 ??? [38] 100.0% ------------------------------------------------------------------------ ??? [72] 100.0% [78] 974(4.3%) 0(0.0%) ??? ...t-7.0/collects/racket/private/kw.rkt:592:14 ??? [79] 65.3% ??? [82] 34.7% ------------------------------------------------------------------------ ??? [3] 2.4% location-do [92] 2.4% for-loop [23] 2.4% ??? [78] 12.5% loop [75] 24.5% ??? [69] 24.6% ??? [72] 31.4% [79] 5102(22.6%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:357:33 sample-multi-bounded [85] 49.0% mk-ival [86] 31.4% ival-mult [91] 12.5% location-do [92] 2.4% approximate9 [4] 2.4% hash-ref! [90] 2.4% ------------------------------------------------------------------------ loop [75] 39.4% merge-egraph-nodes! [33] 60.6% [80] 1560(6.9%) 298(1.3%) loop! ...es/herbie/master/src/core/enode.rkt:187:2 loop [75] 60.6% set [88] 29.8% ------------------------------------------------------------------------ loop [75] 49.2% ??? [72] 50.8% [81] 1288(5.7%) 300(1.3%) real->precision ...e/master/src/programs.rkt:87:33 infer-representation [87] 76.7% ------------------------------------------------------------------------ ??? [72] 23.2% loop [75] 24.3% ??? [38] 26.1% ??? [78] 26.4% [82] 1282(5.7%) 610(2.7%) ??? ...tract/private/arrow-higher-order.rkt:361:33 ival-add [93] 26.4% ??? [94] 26.1% ------------------------------------------------------------------------ loop [75] 100.0% [83] 336(1.5%) 0(0.0%) ??? ...ghtlies/herbie/master/src/points.rkt:190:26 infer-double-representation [89]100.0% ------------------------------------------------------------------------ for-loop [76] 100.0% [84] 334(1.5%) 334(1.5%) update-en-expr ...master/src/core/egraph.rkt:205:0 ------------------------------------------------------------------------ ??? [79] 100.0% [85] 2502(11.1%) 0(0.0%) sample-multi-bounded ...master/src/points.rkt:15:0 random-ranges [95] 73.2% ??? [99] 13.9% for-loop [101] 12.9% ------------------------------------------------------------------------ ??? [79] 100.0% [86] 1600(7.1%) 0(0.0%) mk-ival .../herbie/master/src/biginterval.rkt:57:0 bf [96] 100.0% ------------------------------------------------------------------------ loop [56] 24.3% real->precision [81] 75.7% [87] 1306(5.8%) 1306(5.8%) infer-representation .../master/src/float.rkt:15:0 ------------------------------------------------------------------------ loop! [80] 100.0% [88] 930(4.1%) 930(4.1%) set ...collects/racket/private/set-types.rkt:981:0 ------------------------------------------------------------------------ ??? [83] 48.0% loop [75] 52.0% [89] 700(3.1%) 0(0.0%) infer-double-representation .../src/float.rkt:22:0 for-loop [97] 100.0% ------------------------------------------------------------------------ ??? [79] 13.7% loop [8] 13.7% ??? [3] 27.5% update-leader! [40] 45.0% [90] 662(2.9%) 662(2.9%) hash-ref! .../racket/private/more-scheme.rkt:376:2 ??? [3] 41.2% ------------------------------------------------------------------------ ??? [79] 100.0% [91] 636(2.8%) 336(1.5%) ival-mult ...rbie/master/src/biginterval.rkt:112:0 bfmul [98] 47.2% ------------------------------------------------------------------------ ??? [79] 100.0% [92] 364(1.6%) 0(0.0%) location-do ...herbie/master/src/programs.rkt:64:0 ??? [79] 100.0% ------------------------------------------------------------------------ ??? [82] 100.0% [93] 338(1.5%) 0(0.0%) ival-add ...herbie/master/src/biginterval.rkt:94:0 bfmul [98] 100.0% ------------------------------------------------------------------------ for-loop [100] 50.0% ??? [82] 50.0% [94] 334(1.5%) 334(1.5%) ??? ...cts/racket/contract/private/list.rkt:209:10 for-loop [100] 50.0% ------------------------------------------------------------------------ sample-multi-bounded [85] 100.0% [95] 1832(8.1%) 930(4.1%) random-ranges ...erbie/master/src/common.rkt:183:0 cons/c [104] 32.6% build--> [105] 16.6% ------------------------------------------------------------------------ mk-ival [86] 100.0% [96] 1600(7.1%) 298(1.3%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:601:2 ??? [102] 61.4% new-mpfr [103] 20.0% ------------------------------------------------------------------------ infer-double-representation [89]100.0% [97] 700(3.1%) 700(3.1%) for-loop ...tlies/herbie/master/src/float.rkt:17:3 ------------------------------------------------------------------------ ival-mult [91] 47.0% ival-add [93] 53.0% [98] 638(2.8%) 300(1.3%) bfmul ...-lib/math/private/bigfloat/mpfr.rkt:821:4 new-mpfr [103] 53.0% ------------------------------------------------------------------------ sample-multi-bounded [85] 100.0% [99] 348(1.5%) 348(1.5%) ??? ...s/racket/contract/private/arr-i.rkt:1252:29 ------------------------------------------------------------------------ ??? [94] 100.0% [100] 334(1.5%) 0(0.0%) for-loop ...acket/contract/private/list.rkt:212:15 ??? [94] 100.0% ------------------------------------------------------------------------ sample-multi-bounded [85] 100.0% [101] 322(1.4%) 322(1.4%) for-loop ...lies/herbie/master/src/points.rkt:23:4 ------------------------------------------------------------------------ bf [96] 100.0% [102] 982(4.3%) 982(4.3%) ??? /opt/racket-7.0/collects/ffi/unsafe.rkt:898:4 ------------------------------------------------------------------------ bf [96] 48.6% bfmul [98] 51.4% [103] 658(2.9%) 658(2.9%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:335:0 ------------------------------------------------------------------------ random-ranges [95] 100.0% [104] 598(2.6%) 300(1.3%) cons/c .../racket/contract/private/guts.rkt:478:15 coerce-contract [106] 49.8% ------------------------------------------------------------------------ random-ranges [95] 100.0% [105] 304(1.3%) 304(1.3%) build--> ...act/private/arrow-val-first.rkt:1086:0 ------------------------------------------------------------------------ cons/c [104] 100.0% [106] 298(1.3%) 0(0.0%) coerce-contract ...contract/private/guts.rkt:285:0 coerce-contract/f [107] 100.0% ------------------------------------------------------------------------ coerce-contract [106] 100.0% [107] 298(1.3%) 0(0.0%) coerce-contract/f ...ntract/private/guts.rkt:350:0 coerce-simple-value [108] 100.0% ------------------------------------------------------------------------ coerce-contract/f [107] 100.0% [108] 298(1.3%) 298(1.3%) coerce-simple-value ...ract/private/guts.rkt:363:0 ------------------------------------------------------------------------