Profiling results ----------------- Total cpu time observed: 165468ms (out of 166192ms) Number of samples taken: 508 (once every 326ms) (Hiding functions with self<1.0% and local<2.0%: 5 of 291 hidden) ========================================================================================= Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ========================================================================================= ??? [126] 100.0% [1] 165468(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [16] 100.0% ----------------------------------------------------------------------------------------- ??? [126] 100.0% [2] 124462(75.2%) 0(0.0%) run-improve40 .../better-rr/src/mainloop.rkt:336:0 for-loop [17] 98.3% simplify! [37] 1.4% prepare-points-intervals [135] 0.2% ----------------------------------------------------------------------------------------- matcher [95] 100.0% [3] 50316(30.4%) 0(0.0%) ??? ...erbie/better-rr/src/core/matcher.rkt:130:11 for-loop [18] 90.1% for-loop [5] 9.2% foldl [19] 0.6% cp-2 [172] 0.1% ----------------------------------------------------------------------------------------- for-loop [79] 100.0% [4] 15382(9.3%) 322(0.2%) for-loop ...ie/better-rr/src/core/matcher.rkt:99:8 fix-up-variables [20] 97.9% ----------------------------------------------------------------------------------------- ??? [3] 100.0% [5] 14290(8.6%) 926(0.6%) for-loop ...e/better-rr/src/core/matcher.rkt:106:4 foldl [19] 93.5% ----------------------------------------------------------------------------------------- ??? [239] 100.0% [6] 9928(6.0%) 0(0.0%) approximate9 ...better-rr/src/core/taylor.rkt:12:0 loop [21] 71.2% for-loop [25] 19.5% taylor-sqrt [43] 3.4% simplify [49] 3.3% taylor [32] 2.6% ----------------------------------------------------------------------------------------- hash-ref! [244] 100.0% [7] 6236(3.8%) 0(0.0%) ??? .../herbie/better-rr/src/core/taylor.rkt:68:15 ??? [239] 60.0% hash-ref! [244] 40.0% ----------------------------------------------------------------------------------------- hash-ref! [244] 100.0% [8] 5520(3.3%) 0(0.0%) ??? .../herbie/better-rr/src/core/taylor.rkt:45:15 hash-ref! [244] 90.0% ??? [33] 10.0% ----------------------------------------------------------------------------------------- hash-ref! [244] 100.0% [9] 4090(2.5%) 0(0.0%) ??? ...herbie/better-rr/src/core/taylor.rkt:291:26 for-loop [22] 100.0% ----------------------------------------------------------------------------------------- hash-ref! [244] 100.0% [10] 2784(1.7%) 0(0.0%) ??? ...herbie/better-rr/src/core/taylor.rkt:363:30 hash-ref! [244] 88.0% ??? [33] 12.0% ----------------------------------------------------------------------------------------- for-loop [238] 100.0% [11] 2178(1.3%) 0(0.0%) syntax-e (unknown source) syntax-e/no-taint [23] 100.0% ----------------------------------------------------------------------------------------- hash-ref! [244] 100.0% [12] 2166(1.3%) 0(0.0%) ??? ...herbie/better-rr/src/core/taylor.rkt:301:23 for-loop [24] 100.0% ----------------------------------------------------------------------------------------- for-loop [238] 100.0% [13] 2088(1.3%) 0(0.0%) expand-implicit (unknown source) resolve+shift28 [229] 73.1% datum->syntax6 [26] 14.9% binding-lookup50 [27] 12.0% ----------------------------------------------------------------------------------------- loop [214] 21.4% for-loop [238] 78.6% [14] 1516(0.9%) 0(0.0%) expand-identifier (unknown source) resolve+shift28 [229] 100.0% ----------------------------------------------------------------------------------------- for-loop [79] 100.0% [15] 1322(0.8%) 0(0.0%) type-of ...erbie/better-rr/src/type-check.rkt:34:0 variable? [50] 50.1% table-ref [141] 49.9% ----------------------------------------------------------------------------------------- profile-thunk16 [1] 100.0% [16] 165468(100.0%) 0(0.0%) run ...et-7.0/share/pkgs/profile-lib/main.rkt:39:2 ??? [126] 100.0% ----------------------------------------------------------------------------------------- run-improve40 [2] 100.0% [17] 122374(74.0%) 0(0.0%) for-loop ...erbie/better-rr/src/mainloop.rkt:351:4 run-iter! [28] 100.0% ----------------------------------------------------------------------------------------- ??? [3] 100.0% [18] 49994(30.2%) 0(0.0%) for-loop .../better-rr/src/core/matcher.rkt:132:15 matcher [95] 100.0% ----------------------------------------------------------------------------------------- for-loop [136] 1.7% loop [192] 4.4% ??? [3] 7.6% for-loop [5] 86.3% [19] 15492(9.4%) 878(0.5%) foldl ....0/collects/racket/private/list.rkt:229:4 ??? [29] 89.9% merge2 [34] 4.4% ----------------------------------------------------------------------------------------- for-loop [4] 100.0% [20] 15060(9.1%) 636(0.4%) fix-up-variables ...-rr/src/core/matcher.rkt:111:2 pattern-match [40] 49.3% for-loop [30] 29.8% pattern-substitute [31] 16.6% ----------------------------------------------------------------------------------------- approximate9 [6] 100.0% [21] 7070(4.3%) 0(0.0%) loop .../herbie/better-rr/src/core/taylor.rkt:87:4 hash-ref! [244] 88.2% ??? [239] 11.8% ----------------------------------------------------------------------------------------- ??? [9] 100.0% [22] 4090(2.5%) 0(0.0%) for-loop ...e/better-rr/src/core/taylor.rkt:291:52 hash-ref! [244] 75.6% ??? [33] 24.4% ----------------------------------------------------------------------------------------- expand-id-application-form17 [225] 21.0% syntax-e [11] 79.0% [23] 2758(1.7%) 0(0.0%) syntax-e/no-taint (unknown source) loop [214] 100.0% ----------------------------------------------------------------------------------------- ??? [12] 100.0% [24] 2166(1.3%) 0(0.0%) for-loop ...e/better-rr/src/core/taylor.rkt:304:27 hash-ref! [244] 100.0% ----------------------------------------------------------------------------------------- approximate9 [6] 100.0% [25] 1938(1.2%) 0(0.0%) for-loop ...ie/better-rr/src/core/taylor.rkt:30:18 taylor [32] 49.4% taylor-quotient [35] 33.8% taylor-sqrt [43] 16.7% ----------------------------------------------------------------------------------------- expand-implicit [13] 100.0% [26] 312(0.2%) 0(0.0%) datum->syntax6 (unknown source) loop [214] 100.0% ----------------------------------------------------------------------------------------- expand-implicit [13] 100.0% [27] 250(0.2%) 250(0.2%) binding-lookup50 (unknown source) ----------------------------------------------------------------------------------------- for-loop [17] 100.0% [28] 122374(74.0%) 0(0.0%) run-iter! ...rbie/better-rr/src/mainloop.rkt:317:0 gen-rewrites! [36] 41.3% simplify! [37] 35.2% finalize-iter! [38] 12.7% gen-series! [39] 8.1% choose-best-alt! [41] 2.4% localize! [44] 0.3% ----------------------------------------------------------------------------------------- foldl [19] 100.0% [29] 13928(8.4%) 1284(0.8%) ??? .../herbie/better-rr/src/core/matcher.rkt:26:7 core651 [56] 82.2% fallback-update [61] 6.5% return/no-unsupplied [258] 2.1% ----------------------------------------------------------------------------------------- fix-up-variables [20] 100.0% [30] 4492(2.7%) 594(0.4%) for-loop ...ie/better-rr/src/core/matcher.rkt:42:9 for-loop [48] 79.5% pattern-match [40] 7.3% ----------------------------------------------------------------------------------------- pattern-substitute [31] 41.8% fix-up-variables [20] 58.2% [31] 2506(1.5%) 1232(0.7%) pattern-substitute ...rr/src/core/matcher.rkt:46:0 pattern-substitute [31] 41.8% variable? [50] 7.4% ??? [260] 7.2% return/no-unsupplied [258] 7.1% ----------------------------------------------------------------------------------------- approximate9 [6] 3.5% map [164] 5.1% for-loop [25] 19.3% hash-ref! [244] 26.8% taylor [32] 45.4% [32] 2432(1.5%) 0(0.0%) taylor ...rbie/better-rr/src/core/taylor.rkt:170:0 taylor [32] 45.4% taylor-invert [42] 32.7% taylor-sqrt [43] 13.4% map [164] 5.1% debug-print [62] 3.4% ----------------------------------------------------------------------------------------- ??? [10] 15.0% ??? [8] 24.7% for-loop [22] 60.3% [33] 2226(1.3%) 0(0.0%) ??? ...herbie/better-rr/src/core/taylor.rkt:294:19 hash-ref! [244] 100.0% ----------------------------------------------------------------------------------------- foldl [19] 100.0% [34] 686(0.4%) 686(0.4%) merge2 ...erbie/better-rr/src/core/ematch.rkt:24:0 ----------------------------------------------------------------------------------------- for-loop [25] 100.0% [35] 656(0.4%) 0(0.0%) taylor-quotient ...er-rr/src/core/taylor.rkt:334:0 first-nonzero-exp [51] 100.0% ----------------------------------------------------------------------------------------- run-iter! [28] 100.0% [36] 50592(30.6%) 0(0.0%) gen-rewrites! .../better-rr/src/mainloop.rkt:172:0 for-loop [45] 100.0% ----------------------------------------------------------------------------------------- run-improve40 [2] 4.0% run-iter! [28] 96.0% [37] 44808(27.1%) 0(0.0%) simplify! ...rbie/better-rr/src/mainloop.rkt:213:0 ??? [46] 98.0% for-loop [52] 2.0% ----------------------------------------------------------------------------------------- run-iter! [28] 100.0% [38] 15518(9.4%) 0(0.0%) finalize-iter! ...better-rr/src/mainloop.rkt:268:0 ??? [55] 98.1% errors-score [155] 1.9% ----------------------------------------------------------------------------------------- run-iter! [28] 100.0% [39] 9928(6.0%) 0(0.0%) gen-series! ...ie/better-rr/src/mainloop.rkt:149:0 for-loop [47] 100.0% ----------------------------------------------------------------------------------------- pattern-match [40] 1.9% for-loop [30] 4.2% fix-up-variables [20] 93.9% [40] 7752(4.7%) 982(0.6%) pattern-match ...tter-rr/src/core/matcher.rkt:30:0 for-loop [48] 79.3% ??? [55] 4.2% pattern-match [40] 1.9% variable? [50] 1.9% ----------------------------------------------------------------------------------------- run-iter! [28] 100.0% [41] 2978(1.8%) 0(0.0%) choose-best-alt! ...tter-rr/src/mainloop.rkt:107:0 ??? [55] 100.0% ----------------------------------------------------------------------------------------- taylor [32] 100.0% [42] 1774(1.1%) 0(0.0%) taylor-invert ...tter-rr/src/core/taylor.rkt:318:0 first-nonzero-exp [51] 50.3% simplify [49] 49.7% ----------------------------------------------------------------------------------------- for-loop [25] 32.9% taylor [32] 33.1% approximate9 [6] 33.9% [43] 984(0.6%) 0(0.0%) taylor-sqrt ...better-rr/src/core/taylor.rkt:352:0 hash-ref! [244] 66.9% first-nonzero-exp [51] 33.1% ----------------------------------------------------------------------------------------- run-iter! [28] 100.0% [44] 334(0.2%) 0(0.0%) localize! ...rbie/better-rr/src/mainloop.rkt:116:0 localize-error [53] 100.0% ----------------------------------------------------------------------------------------- gen-rewrites! [36] 100.0% [45] 50592(30.6%) 0(0.0%) for-loop ...rbie/better-rr/src/mainloop.rkt:180:11 rewrite-expression-head20 [54] 100.0% ----------------------------------------------------------------------------------------- simplify! [37] 100.0% [46] 43924(26.5%) 334(0.2%) ??? ...herbie/better-rr/src/core/simplify.rkt:26:0 one-iter [65] 51.4% for-loop [57] 27.0% loop [59] 20.0% loop [192] 0.8% ----------------------------------------------------------------------------------------- gen-series! [39] 100.0% [47] 9928(6.0%) 0(0.0%) for-loop ...erbie/better-rr/src/mainloop.rkt:156:7 taylor-alt [58] 100.0% ----------------------------------------------------------------------------------------- for-loop [30] 36.8% pattern-match [40] 63.2% [48] 9716(5.9%) 2574(1.6%) for-loop ...ie/better-rr/src/core/matcher.rkt:27:9 core651 [56] 57.9% fallback-update [61] 15.6% ----------------------------------------------------------------------------------------- approximate9 [6] 3.6% taylor-invert [42] 9.5% hash-ref! [244] 86.9% [49] 9266(5.6%) 0(0.0%) simplify ...bie/better-rr/src/core/reduce.rkt:16:0 f46 [148] 51.7% parse-loop80 [60] 37.6% debug-print [62] 7.1% make-multiplication-node [184] 3.6% ----------------------------------------------------------------------------------------- pattern-match [40] 14.2% pattern-substitute [31] 26.3% match-e [127] 28.2% type-of [15] 31.3% [50] 2114(1.3%) 316(0.2%) variable? ...etter-rr/src/syntax/syntax.rkt:1159:0 ??? [55] 85.1% ----------------------------------------------------------------------------------------- taylor-sqrt [43] 17.4% taylor-quotient [35] 35.0% taylor-invert [42] 47.6% [51] 1874(1.1%) 0(0.0%) first-nonzero-exp ...-rr/src/core/taylor.rkt:266:0 hash-ref! [244] 100.0% ----------------------------------------------------------------------------------------- simplify! [37] 100.0% [52] 884(0.5%) 0(0.0%) for-loop ...erbie/better-rr/src/mainloop.rkt:252:6 for-loop [63] 100.0% ----------------------------------------------------------------------------------------- localize! [44] 100.0% [53] 334(0.2%) 0(0.0%) localize-error ...er-rr/src/core/localize.rkt:52:0 hash-ref! [244] 100.0% ----------------------------------------------------------------------------------------- for-loop [45] 100.0% [54] 50592(30.6%) 0(0.0%) rewrite-expression-head20 ...core/matcher.rkt:87:0 rewriter [64] 100.0% ----------------------------------------------------------------------------------------- inductor [131] 0.7% substitute-e [142] 1.2% pattern-match [40] 1.5% match-e [127] 3.0% variable? [50] 8.5% choose-best-alt! [41] 14.0% finalize-iter! [38] 71.0% [55] 21210(12.8%) 3056(1.8%) ??? ...contract/private/arrow-val-first.rkt:388:18 for-loop [66] 71.0% ??? [72] 14.0% ??? [283] 1.2% ----------------------------------------------------------------------------------------- for-loop [48] 32.9% ??? [29] 67.1% [56] 17066(10.3%) 1920(1.2%) core651 ...acket/contract/private/arr-i.rkt:918:19 ??? [70] 38.8% un-dep/maybe-chaperone [71] 28.4% ??? [283] 10.7% arrow-higher-order:lnp [73] 5.5% successfully-got-the-right-kind-of-function [74] 5.3% ----------------------------------------------------------------------------------------- ??? [46] 100.0% [57] 11880(7.2%) 0(0.0%) for-loop ...e/better-rr/src/core/simplify.rkt:33:2 one-iter [65] 100.0% ----------------------------------------------------------------------------------------- for-loop [47] 100.0% [58] 9928(6.0%) 0(0.0%) taylor-alt ...bie/better-rr/src/mainloop.rkt:135:0 for-loop [67] 100.0% ----------------------------------------------------------------------------------------- ??? [46] 100.0% [59] 8792(5.3%) 298(0.2%) loop ...rbie/better-rr/src/core/simplify.rkt:143:2 for-loop [68] 96.6% ----------------------------------------------------------------------------------------- hash-ref! [244] 5.9% map [164] 33.1% simplify [49] 61.0% [60] 5708(3.4%) 254(0.2%) parse-loop80 ...s/racket/match/compiler.rkt:418:15 eval-const-expr [69] 89.7% loop [192] 2.9% loop [78] 2.9% ----------------------------------------------------------------------------------------- ??? [29] 37.5% for-loop [48] 62.5% [61] 2432(1.5%) 912(0.6%) fallback-update ...s/racket/private/dict.rkt:115:2 ??? [239] 39.7% dict-implements? [76] 22.8% ----------------------------------------------------------------------------------------- taylor [32] 33.4% simplify [49] 66.6% [62] 994(0.6%) 0(0.0%) debug-print ...erbie/better-rr/src/debug.rkt:110:0 for-loop [75] 66.4% ??? [77] 33.6% ----------------------------------------------------------------------------------------- for-loop [52] 100.0% [63] 884(0.5%) 0(0.0%) for-loop ...erbie/better-rr/src/mainloop.rkt:253:8 expression-cost [100] 71.3% for-loop [103] 28.7% ----------------------------------------------------------------------------------------- rewrite-expression-head20 [54] 24.7% matcher [95] 75.3% [64] 50592(30.6%) 2450(1.5%) rewriter ...ie/better-rr/src/core/matcher.rkt:89:2 for-loop [79] 95.8% *rules* [83] 3.3% ----------------------------------------------------------------------------------------- for-loop [57] 34.5% ??? [46] 65.5% [65] 34464(20.8%) 326(0.2%) one-iter ...e/better-rr/src/core/simplify.rkt:86:0 find-matches [80] 51.7% for-loop [82] 37.9% for-loop [85] 9.4% ----------------------------------------------------------------------------------------- ??? [55] 100.0% [66] 15218(9.2%) 0(0.0%) for-loop .../better-rr/src/core/alt-table.rkt:56:2 atab-add-altn [81] 94.0% loop [91] 6.0% ----------------------------------------------------------------------------------------- taylor-alt [58] 100.0% [67] 9928(6.0%) 0(0.0%) for-loop ...erbie/better-rr/src/mainloop.rkt:141:6 ??? [239] 100.0% ----------------------------------------------------------------------------------------- loop [59] 100.0% [68] 8494(5.1%) 564(0.3%) for-loop .../better-rr/src/core/simplify.rkt:149:4 argmin [86] 30.1% loop [87] 24.8% expression-cost [100] 20.6% for-loop [89] 14.3% for-loop [103] 3.5% ----------------------------------------------------------------------------------------- f46 [148] 9.8% ??? [126] 14.6% parse-loop80 [60] 75.5% [69] 6778(4.1%) 0(0.0%) eval-const-expr ...etter-rr/src/programs.rkt:149:0 eval-prog [113] 100.0% ----------------------------------------------------------------------------------------- core651 [56] 100.0% [70] 6628(4.0%) 332(0.2%) ??? ...s/racket/contract/private/arr-i.rkt:1249:27 or/c [84] 52.4% build-unary-very-simple--> [88] 28.1% build-nullary-very-simple--> [90] 14.5% ----------------------------------------------------------------------------------------- core651 [56] 100.0% [71] 4840(2.9%) 612(0.4%) un-dep/maybe-chaperone ...private/arr-i.rkt:1097:2 ??? [101] 60.9% get/build-late-neg-projection [121] 13.0% ??? [94] 7.3% ??? [276] 6.2% ----------------------------------------------------------------------------------------- ??? [55] 100.0% [72] 2978(1.8%) 0(0.0%) ??? ...erbie/better-rr/src/core/alt-table.rkt:59:0 ??? [239] 100.0% ----------------------------------------------------------------------------------------- core651 [56] 100.0% [73] 938(0.6%) 292(0.2%) arrow-higher-order:lnp ...w-higher-order.rkt:633:7 ??? [92] 68.9% ----------------------------------------------------------------------------------------- core651 [56] 100.0% [74] 906(0.5%) 282(0.2%) successfully-got-the-right-kind-of-function ...5:4 arity-checking-wrapper [93] 68.9% ----------------------------------------------------------------------------------------- debug-print [62] 100.0% [75] 660(0.4%) 660(0.4%) for-loop ...s/herbie/better-rr/src/debug.rkt:116:2 ----------------------------------------------------------------------------------------- fallback-update [61] 100.0% [76] 554(0.3%) 554(0.3%) dict-implements? ...ket/private/generic.rkt:152:11 ----------------------------------------------------------------------------------------- debug-print [62] 100.0% [77] 334(0.2%) 334(0.2%) ??? .../contract/private/arrow-val-first.rkt:428:3 ----------------------------------------------------------------------------------------- parse-loop80 [60] 3.4% loop [78] 96.6% [78] 334(0.2%) 0(0.0%) loop ...-7.0/collects/racket/private/map.rkt:54:19 loop [78] 96.6% ??? [239] 3.4% ----------------------------------------------------------------------------------------- rewriter [64] 100.0% [79] 50592(30.6%) 5184(3.1%) for-loop ...ie/better-rr/src/core/matcher.rkt:91:4 matcher [95] 90.4% for-loop [4] 6.5% type-of [15] 0.5% ??? [260] 0.2% ??? [283] 0.1% return/no-unsupplied [258] 0.1% ----------------------------------------------------------------------------------------- one-iter [65] 100.0% [80] 17832(10.8%) 0(0.0%) find-matches ...tter-rr/src/core/simplify.rkt:56:0 for-loop [97] 100.0% ----------------------------------------------------------------------------------------- for-loop [66] 100.0% [81] 14310(8.6%) 0(0.0%) atab-add-altn ...r-rr/src/core/alt-table.rkt:202:0 errors [96] 89.7% override-at-pnts [110] 4.1% best-and-tied-at-points [111] 3.8% map [164] 2.3% ----------------------------------------------------------------------------------------- one-iter [65] 100.0% [82] 13076(7.9%) 0(0.0%) for-loop ...e/better-rr/src/core/simplify.rkt:95:2 loop [98] 95.4% update-leader! [150] 4.6% ----------------------------------------------------------------------------------------- rewriter [64] 100.0% [83] 8242(5.0%) 640(0.4%) *rules* ...ie/better-rr/src/syntax/rules.rkt:783:0 for-loop [99] 92.2% ----------------------------------------------------------------------------------------- ??? [70] 100.0% [84] 3470(2.1%) 352(0.2%) or/c ...lects/racket/contract/private/orc.rkt:16:2 build-compound-type-name [104] 52.2% loop [105] 29.0% coerce-contracts [112] 8.6% ----------------------------------------------------------------------------------------- one-iter [65] 100.0% [85] 3230(2.0%) 0(0.0%) for-loop .../better-rr/src/core/simplify.rkt:111:2 set-precompute! [102] 100.0% ----------------------------------------------------------------------------------------- for-loop [68] 100.0% [86] 2558(1.5%) 0(0.0%) argmin ...acket-7.0/collects/racket/list.rkt:765:0 expression-cost [100] 63.8% for-loop [103] 36.2% ----------------------------------------------------------------------------------------- for-loop [68] 100.0% [87] 2106(1.3%) 0(0.0%) loop .../racket-7.0/collects/racket/list.rkt:751:4 expression-cost [100] 56.5% for-loop [103] 43.5% ----------------------------------------------------------------------------------------- ??? [70] 100.0% [88] 1864(1.1%) 958(0.6%) build-unary-very-simple--> ...val-first.rkt:1014:0 chaperone-contract? [106] 32.5% contract-struct-first-order [122] 16.1% ----------------------------------------------------------------------------------------- for-loop [68] 100.0% [89] 1218(0.7%) 584(0.4%) for-loop ...better-rr/src/core/simplify.rkt:153:16 for-loop [107] 52.1% ----------------------------------------------------------------------------------------- ??? [70] 100.0% [90] 962(0.6%) 636(0.4%) build-nullary-very-simple--> ...al-first.rkt:992:0 chaperone-contract? [106] 33.9% ----------------------------------------------------------------------------------------- for-loop [66] 100.0% [91] 908(0.5%) 298(0.2%) loop ...bie/better-rr/src/core/alt-table.rkt:176:2 loop [109] 67.2% ----------------------------------------------------------------------------------------- arrow-higher-order:lnp [73] 100.0% [92] 646(0.4%) 646(0.4%) ??? ...et/contract/private/arity-checking.rkt:19:2 ----------------------------------------------------------------------------------------- successfully-got-the-right-kind-of-function [74]100.0% [93] 624(0.4%) 0(0.0%) arity-checking-wrapper ...w-higher-order.rkt:425:0 matches-arity-exactly? [108] 100.0% ----------------------------------------------------------------------------------------- un-dep/maybe-chaperone [71] 100.0% [94] 352(0.2%) 0(0.0%) ??? ...llects/racket/contract/private/orc.rkt:88:2 ??? [101] 100.0% ----------------------------------------------------------------------------------------- for-loop [18] 46.7% for-loop [79] 53.3% [95] 50592(30.6%) 910(0.5%) matcher ...ie/better-rr/src/core/matcher.rkt:118:2 ??? [3] 52.9% rewriter [64] 46.4% ----------------------------------------------------------------------------------------- pred [206] 3.5% ??? [126] 3.6% for-loop [197] 5.2% ??? [271] 16.5% atab-add-altn [81] 71.2% [96] 18020(10.9%) 0(0.0%) errors ...es/herbie/better-rr/src/points.rkt:228:0 for-loop [115] 61.7% eval-prog [113] 38.3% ----------------------------------------------------------------------------------------- for-loop [97] 49.2% find-matches [80] 50.8% [97] 17832(10.8%) 5252(3.2%) for-loop ...e/better-rr/src/core/simplify.rkt:58:8 for-loop [97] 49.2% match-e [127] 35.3% ----------------------------------------------------------------------------------------- for-loop [82] 100.0% [98] 12478(7.5%) 0(0.0%) loop ...rbie/better-rr/src/core/simplify.rkt:100:4 apply-match [114] 100.0% ----------------------------------------------------------------------------------------- *rules* [83] 100.0% [99] 7602(4.6%) 1356(0.8%) for-loop ...s/herbie/better-rr/src/common.rkt:71:9 ormap [117] 58.3% flag-set? [130] 23.9% ----------------------------------------------------------------------------------------- for-loop [63] 12.1% loop [87] 22.9% argmin [86] 31.4% for-loop [68] 33.6% [100] 5200(3.1%) 324(0.2%) expression-cost ...etter-rr/src/programs.rkt:204:0 compile [116] 93.8% ----------------------------------------------------------------------------------------- ??? [94] 10.7% un-dep/maybe-chaperone [71] 89.3% [101] 3298(2.0%) 1670(1.0%) ??? ...ntract/private/arrow-higher-order.rkt:554:2 get-blame-party-info [120] 30.9% get/build-late-neg-projection [121] 10.9% blame-add-context7 [124] 7.6% ----------------------------------------------------------------------------------------- for-loop [85] 100.0% [102] 3230(2.0%) 0(0.0%) set-precompute! ...-rr/src/core/simplify.rkt:117:0 for-loop [118] 100.0% ----------------------------------------------------------------------------------------- for-loop [63] 10.6% for-loop [68] 12.5% loop [87] 38.2% argmin [86] 38.6% [103] 2396(1.4%) 254(0.2%) for-loop ...erbie/better-rr/src/programs.rkt:205:2 table-ref [141] 89.4% ----------------------------------------------------------------------------------------- or/c [84] 100.0% [104] 1812(1.1%) 326(0.2%) build-compound-type-name ...private/guts.rkt:515:0 contract-struct-name [119] 82.0% ----------------------------------------------------------------------------------------- or/c [84] 100.0% [105] 1006(0.6%) 692(0.4%) loop ...lects/racket/contract/private/orc.rkt:76:5 contract-struct-first-order [122] 31.2% ----------------------------------------------------------------------------------------- build-nullary-very-simple--> [90] 35.0% build-unary-very-simple--> [88] 65.0% [106] 932(0.6%) 932(0.6%) chaperone-contract? ...ract/private/guts.rkt:128:0 ----------------------------------------------------------------------------------------- for-loop [89] 100.0% [107] 634(0.4%) 634(0.4%) for-loop ...better-rr/src/core/simplify.rkt:157:23 ----------------------------------------------------------------------------------------- arity-checking-wrapper [93] 100.0% [108] 624(0.4%) 624(0.4%) matches-arity-exactly? ...te/arrow-common.rkt:70:0 ----------------------------------------------------------------------------------------- loop [91] 14.6% loop [109] 85.4% [109] 610(0.4%) 610(0.4%) loop ...racket-7.0/collects/racket/list.rkt:434:28 loop [109] 85.4% ----------------------------------------------------------------------------------------- atab-add-altn [81] 100.0% [110] 592(0.4%) 0(0.0%) override-at-pnts ...r/src/core/alt-table.rkt:138:0 for-loop [123] 100.0% ----------------------------------------------------------------------------------------- atab-add-altn [81] 100.0% [111] 550(0.3%) 300(0.2%) best-and-tied-at-points ...ore/alt-table.rkt:117:0 for-loop [125] 45.5% ----------------------------------------------------------------------------------------- or/c [84] 100.0% [112] 300(0.2%) 300(0.2%) coerce-contracts ...ontract/private/guts.rkt:295:0 ----------------------------------------------------------------------------------------- loop [192] 2.0% prepare-points-intervals [135] 10.6% eval-const-expr [69] 43.3% errors [96] 44.1% [113] 15664(9.5%) 0(0.0%) eval-prog ...rbie/better-rr/src/programs.rkt:130:0 temp68_2 [128] 74.9% loop [214] 11.5% inductor [131] 7.8% eval-one-top12 [133] 4.3% eval [134] 1.6% ----------------------------------------------------------------------------------------- loop [98] 100.0% [114] 12478(7.5%) 0(0.0%) apply-match ...etter-rr/src/core/simplify.rkt:65:0 for-loop [129] 77.7% match-e [127] 19.9% set [196] 2.4% ----------------------------------------------------------------------------------------- errors [96] 100.0% [115] 11114(6.7%) 896(0.5%) for-loop .../herbie/better-rr/src/points.rkt:230:2 ??? [235] 76.2% point-error [207] 7.8% ??? [239] 5.7% ulp-difference [216] 2.2% ----------------------------------------------------------------------------------------- expression-cost [100] 100.0% [116] 4876(2.9%) 248(0.1%) compile ...herbie/better-rr/src/programs.rkt:181:0 hash-ref! [244] 94.9% ----------------------------------------------------------------------------------------- for-loop [99] 100.0% [117] 4430(2.7%) 630(0.4%) ormap ....0/collects/racket/private/map.rkt:141:13 flag-set? [130] 85.8% ----------------------------------------------------------------------------------------- set-precompute! [102] 100.0% [118] 3230(2.0%) 0(0.0%) for-loop .../better-rr/src/core/simplify.rkt:119:2 merge-egraph-nodes! [138] 60.4% ??? [126] 39.6% ----------------------------------------------------------------------------------------- build-compound-type-name [104] 100.0% [119] 1486(0.9%) 570(0.3%) contract-struct-name ...ract/private/prop.rkt:87:0 ??? [132] 61.6% ----------------------------------------------------------------------------------------- ??? [101] 100.0% [120] 1018(0.6%) 1018(0.6%) get-blame-party-info ...ate/arrow-common.rkt:136:0 ----------------------------------------------------------------------------------------- ??? [101] 36.2% un-dep/maybe-chaperone [71] 63.8% [121] 988(0.6%) 988(0.6%) get/build-late-neg-projection ...te/guts.rkt:793:0 ----------------------------------------------------------------------------------------- build-unary-very-simple--> [88] 48.9% loop [105] 51.1% [122] 614(0.4%) 614(0.4%) contract-struct-first-order ...ivate/prop.rkt:93:0 ----------------------------------------------------------------------------------------- override-at-pnts [110] 100.0% [123] 592(0.4%) 592(0.4%) for-loop ...etter-rr/src/core/alt-table.rkt:139:22 ----------------------------------------------------------------------------------------- ??? [101] 100.0% [124] 252(0.2%) 252(0.2%) blame-add-context7 ...ract/private/blame.rkt:165:0 ----------------------------------------------------------------------------------------- best-and-tied-at-points [111] 100.0% [125] 250(0.2%) 250(0.2%) for-loop ...etter-rr/src/core/alt-table.rkt:119:16 ----------------------------------------------------------------------------------------- for-loop [118] 0.3% run [16] 49.9% [126] 165468(100.0%) 286(0.2%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 49.9% run-improve40 [2] 37.5% prepare-points-intervals [135] 8.5% oracle-error [139] 1.7% get-final-combination [140] 1.5% eval-const-expr [69] 0.2% errors [96] 0.2% eval-errors [143] 0.2% for-loop [144] 0.1% loop [192] 0.1% errors-score [155] 0.1% ----------------------------------------------------------------------------------------- apply-match [114] 10.0% for-loop [149] 24.1% for-loop [97] 65.9% [127] 15068(9.1%) 2184(1.3%) match-e ...rbie/better-rr/src/core/ematch.rkt:39:0 for-loop [136] 85.1% variable? [50] 2.0% ??? [55] 1.4% ----------------------------------------------------------------------------------------- eval-prog [113] 100.0% [128] 11734(7.1%) 0(0.0%) temp68_2 (unknown source) compile16 [137] 100.0% ----------------------------------------------------------------------------------------- apply-match [114] 100.0% [129] 9696(5.9%) 268(0.2%) for-loop ...e/better-rr/src/core/simplify.rkt:78:2 merge-egraph-nodes! [138] 68.7% dedup-children! [170] 9.9% mk-enode! [171] 9.6% substitute-e [142] 9.1% ----------------------------------------------------------------------------------------- for-loop [99] 32.3% ormap [117] 67.7% [130] 5616(3.4%) 4088(2.5%) flag-set? .../herbie/better-rr/src/config.rkt:28:0 return/no-unsupplied [258] 15.9% ??? [260] 5.8% ??? [283] 5.5% ----------------------------------------------------------------------------------------- eval-prog [113] 36.9% inductor [131] 63.1% [131] 1214(0.7%) 248(0.1%) inductor ...erbie/better-rr/src/programs.rkt:135:4 inductor [131] 63.1% table-ref [141] 30.0% ??? [55] 3.5% ----------------------------------------------------------------------------------------- contract-struct-name [119] 100.0% [132] 916(0.6%) 916(0.6%) ??? ...contract/private/arrow-val-first.rkt:1423:0 ----------------------------------------------------------------------------------------- eval-prog [113] 100.0% [133] 666(0.4%) 0(0.0%) eval-one-top12 (unknown source) for-loop [238] 100.0% ----------------------------------------------------------------------------------------- eval-prog [113] 100.0% [134] 248(0.1%) 0(0.0%) eval (unknown source) namespace-syntax-introduce3 [145] 100.0% ----------------------------------------------------------------------------------------- run-improve40 [2] 1.0% for-loop [176] 1.1% pred [206] 6.2% ??? [126] 91.8% [135] 30772(18.6%) 0(0.0%) prepare-points-intervals ...r/src/points.rkt:133:0 loop [146] 94.6% eval-prog [113] 5.4% ----------------------------------------------------------------------------------------- match-e [127] 100.0% [136] 13792(8.3%) 7760(4.7%) for-loop ...ie/better-rr/src/core/ematch.rkt:52:11 for-loop [149] 35.7% loop [192] 12.4% cartesian-product [159] 2.4% foldr [160] 1.2% cp-2 [172] 1.1% foldl [19] 0.9% ----------------------------------------------------------------------------------------- temp68_2 [128] 100.0% [137] 11734(7.1%) 0(0.0%) compile16 (unknown source) temp74_0 [147] 100.0% ----------------------------------------------------------------------------------------- for-loop [152] 9.9% for-loop [118] 13.6% merge-egraph-nodes! [138] 18.1% for-loop [129] 58.4% [138] 8616(5.2%) 0(0.0%) merge-egraph-nodes! ...r/src/core/egraph.rkt:145:0 update-leader! [150] 58.5% merge-egraph-nodes! [138] 18.1% for-loop [152] 13.7% loop! [154] 6.1% dedup-children! [170] 3.6% ----------------------------------------------------------------------------------------- ??? [126] 100.0% [139] 5536(3.3%) 0(0.0%) oracle-error ...bie/better-rr/src/points.rkt:212:0 for-loop [151] 100.0% ----------------------------------------------------------------------------------------- ??? [126] 100.0% [140] 5050(3.1%) 0(0.0%) get-final-combination ...rr/src/mainloop.rkt:357:0 f46 [148] 56.4% infer-splitpoints [153] 43.6% ----------------------------------------------------------------------------------------- type-of [15] 19.0% inductor [131] 19.3% for-loop [103] 61.7% [141] 3470(2.1%) 2512(1.5%) table-ref .../herbie/better-rr/src/common.rkt:42:0 for-loop [157] 18.0% dict? [286] 9.6% ----------------------------------------------------------------------------------------- for-loop [156] 36.7% for-loop [129] 63.3% [142] 878(0.5%) 0(0.0%) substitute-e ...better-rr/src/core/ematch.rkt:64:0 for-loop [156] 90.2% ??? [55] 9.8% ----------------------------------------------------------------------------------------- ??? [126] 100.0% [143] 602(0.4%) 0(0.0%) eval-errors ...rbie/better-rr/src/points.rkt:203:0 for-loop [158] 100.0% ----------------------------------------------------------------------------------------- ??? [126] 100.0% [144] 324(0.2%) 0(0.0%) for-loop .../herbie/better-rr/src/sandbox.rkt:70:8 errors-score [155] 100.0% ----------------------------------------------------------------------------------------- eval [134] 100.0% [145] 248(0.1%) 0(0.0%) namespace-syntax-introduce3 (unknown source) free-identifier=? [161] 100.0% ----------------------------------------------------------------------------------------- prepare-points-intervals [135] 100.0% [146] 29104(17.6%) 288(0.2%) loop ...lies/herbie/better-rr/src/points.rkt:145:4 loop [162] 88.8% ??? [166] 10.3% ----------------------------------------------------------------------------------------- compile16 [137] 100.0% [147] 11734(7.1%) 0(0.0%) temp74_0 (unknown source) expand-single [163] 80.4% compile-top9 [168] 19.6% ----------------------------------------------------------------------------------------- map [164] 11.0% get-final-combination [140] 37.3% simplify [49] 51.7% [148] 7640(4.6%) 0(0.0%) f46 ...0/collects/racket/match/compiler.rkt:507:40 map [164] 47.5% sindices->spoints [167] 37.3% eval-const-expr [69] 8.7% compose [179] 6.5% ----------------------------------------------------------------------------------------- for-loop [136] 100.0% [149] 7074(4.3%) 322(0.2%) for-loop ...ie/better-rr/src/core/ematch.rkt:58:37 match-e [127] 95.4% ----------------------------------------------------------------------------------------- for-loop [82] 8.6% merge-egraph-nodes! [138] 91.4% [150] 6934(4.2%) 0(0.0%) update-leader! ...ter-rr/src/core/egraph.rkt:213:0 for-loop [165] 100.0% ----------------------------------------------------------------------------------------- oracle-error [139] 100.0% [151] 5536(3.3%) 0(0.0%) for-loop .../herbie/better-rr/src/points.rkt:213:2 loop [192] 54.4% map [164] 45.6% ----------------------------------------------------------------------------------------- merge-egraph-nodes! [138] 100.0% [152] 2312(1.4%) 0(0.0%) for-loop ...ie/better-rr/src/core/egraph.rkt:199:4 merge-egraph-nodes! [138] 85.8% dedup-children! [170] 14.2% ----------------------------------------------------------------------------------------- get-final-combination [140] 100.0% [153] 2200(1.3%) 0(0.0%) infer-splitpoints ...-rr/src/core/regimes.rkt:34:0 for-loop [169] 100.0% ----------------------------------------------------------------------------------------- loop [192] 29.1% merge-egraph-nodes! [138] 70.9% [154] 1328(0.8%) 0(0.0%) loop! ...herbie/better-rr/src/core/enode.rkt:191:2 loop [192] 54.2% custom-set-union [173] 25.0% set [196] 20.8% ----------------------------------------------------------------------------------------- ??? [126] 31.6% finalize-iter! [38] 32.9% for-loop [144] 35.5% [155] 912(0.6%) 300(0.2%) errors-score ...bie/better-rr/src/points.rkt:220:0 loop [192] 35.5% loop [174] 31.6% ----------------------------------------------------------------------------------------- substitute-e [142] 100.0% [156] 878(0.5%) 0(0.0%) for-loop ...ie/better-rr/src/core/ematch.rkt:73:24 mk-enode! [171] 53.5% substitute-e [142] 46.5% ----------------------------------------------------------------------------------------- table-ref [141] 100.0% [157] 624(0.4%) 624(0.4%) for-loop ...s/herbie/better-rr/src/common.rkt:44:4 ----------------------------------------------------------------------------------------- eval-errors [143] 100.0% [158] 602(0.4%) 0(0.0%) for-loop .../herbie/better-rr/src/points.rkt:205:2 ??? [235] 100.0% ----------------------------------------------------------------------------------------- for-loop [136] 100.0% [159] 326(0.2%) 326(0.2%) cartesian-product ...ollects/racket/list.rkt:822:0 ----------------------------------------------------------------------------------------- for-loop [136] 100.0% [160] 326(0.2%) 0(0.0%) foldr ....0/collects/racket/private/list.rkt:242:4 cp-2 [172] 100.0% ----------------------------------------------------------------------------------------- namespace-syntax-introduce3 [145] 100.0% [161] 248(0.1%) 0(0.0%) free-identifier=? (unknown source) resolve+shift28 [229] 100.0% ----------------------------------------------------------------------------------------- loop [146] 100.0% [162] 25830(15.6%) 1320(0.8%) loop ...lies/herbie/better-rr/src/points.rkt:104:2 ??? [235] 93.4% ??? [239] 1.5% ----------------------------------------------------------------------------------------- temp74_0 [147] 100.0% [163] 9438(5.7%) 0(0.0%) expand-single (unknown source) expand-capturing-lifts [175] 100.0% ----------------------------------------------------------------------------------------- taylor [32] 4.4% atab-add-altn [81] 4.8% for-loop [151] 36.3% f46 [148] 54.5% [164] 6968(4.2%) 0(0.0%) map ...t-7.0/collects/racket/private/map.rkt:35:13 parse-loop80 [60] 22.2% loop [192] 17.7% f46 [148] 14.5% simplify* [182] 11.3% point-error [207] 9.5% ??? [208] 9.1% loop [187] 4.8% taylor [32] 4.4% make-multiplication-node [184] 4.2% simplify-node [189] 2.4% ----------------------------------------------------------------------------------------- update-leader! [150] 100.0% [165] 6934(4.2%) 302(0.2%) for-loop ...ie/better-rr/src/core/egraph.rkt:218:6 hash-update! [193] 59.6% for-loop [178] 31.2% update-en-expr [218] 4.8% ----------------------------------------------------------------------------------------- loop [146] 100.0% [166] 2986(1.8%) 638(0.4%) ??? ...tlies/herbie/better-rr/src/points.rkt:129:2 compose [179] 48.2% ??? [239] 30.5% ----------------------------------------------------------------------------------------- f46 [148] 100.0% [167] 2850(1.7%) 0(0.0%) sindices->spoints ...rr/src/core/regimes.rkt:215:0 for-loop [176] 100.0% ----------------------------------------------------------------------------------------- temp74_0 [147] 100.0% [168] 2296(1.4%) 658(0.4%) compile-top9 (unknown source) compile-forms31 [180] 71.3% ----------------------------------------------------------------------------------------- infer-splitpoints [153] 100.0% [169] 2200(1.3%) 0(0.0%) for-loop ...ie/better-rr/src/core/regimes.rkt:46:6 option-on-expr [177] 100.0% ----------------------------------------------------------------------------------------- for-loop [152] 17.2% merge-egraph-nodes! [138] 32.7% for-loop [129] 50.1% [170] 1908(1.2%) 0(0.0%) dedup-children! ...ter-rr/src/core/enode.rkt:199:0 loop [181] 68.6% loop [186] 31.4% ----------------------------------------------------------------------------------------- for-loop [156] 40.0% for-loop [129] 60.0% [171] 1550(0.9%) 930(0.6%) mk-enode! ...ie/better-rr/src/core/egraph.rkt:99:0 new-enode [185] 40.0% ----------------------------------------------------------------------------------------- ??? [3] 32.1% for-loop [136] 33.2% foldr [160] 34.7% [172] 940(0.6%) 312(0.2%) cp-2 .../racket-7.0/collects/racket/list.rkt:826:2 for-loop [183] 66.8% ----------------------------------------------------------------------------------------- loop! [154] 100.0% [173] 332(0.2%) 0(0.0%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [188] 100.0% ----------------------------------------------------------------------------------------- errors-score [155] 100.0% [174] 288(0.2%) 0(0.0%) loop .../racket-7.0/collects/racket/list.rkt:559:2 ordinary-value? [190] 100.0% ----------------------------------------------------------------------------------------- loop [214] 16.0% expand-single [163] 84.0% [175] 11240(6.8%) 0(0.0%) expand-capturing-lifts (unknown source) lambda-clause-expander [191] 79.1% dispatch-transformer41 [194] 18.6% loop [214] 2.4% ----------------------------------------------------------------------------------------- sindices->spoints [167] 100.0% [176] 2850(1.7%) 0(0.0%) for-loop ...e/better-rr/src/core/regimes.rkt:252:9 binary-search-floats [195] 55.3% pred [206] 33.3% prepare-points-intervals [135] 11.4% ----------------------------------------------------------------------------------------- for-loop [169] 100.0% [177] 2200(1.3%) 0(0.0%) option-on-expr ...er-rr/src/core/regimes.rkt:150:0 for-loop [197] 42.5% sort-context-on-expr [198] 28.8% err-lsts->split-indices [200] 15.1% loop [192] 13.6% ----------------------------------------------------------------------------------------- for-loop [165] 100.0% [178] 2166(1.3%) 0(0.0%) for-loop ...ie/better-rr/src/core/egraph.rkt:219:8 hash-update! [193] 100.0% ----------------------------------------------------------------------------------------- f46 [148] 31.5% ??? [166] 68.5% [179] 2098(1.3%) 2098(1.3%) compose ...collects/racket/private/list.rkt:385:12 ----------------------------------------------------------------------------------------- compile-top9 [168] 100.0% [180] 1638(1.0%) 640(0.4%) compile-forms31 (unknown source) for-loop [238] 60.9% ----------------------------------------------------------------------------------------- dedup-children! [170] 19.1% loop [181] 80.9% [181] 1308(0.8%) 1308(0.8%) loop ...racket-7.0/collects/racket/list.rkt:434:17 loop [181] 80.9% ----------------------------------------------------------------------------------------- map [164] 100.0% [182] 948(0.6%) 322(0.2%) simplify* ...ie/better-rr/src/core/reduce.rkt:31:0 hash-ref! [244] 66.0% ----------------------------------------------------------------------------------------- cp-2 [172] 100.0% [183] 628(0.4%) 628(0.4%) for-loop ...ket-7.0/collects/racket/list.rkt:827:4 ----------------------------------------------------------------------------------------- map [164] 47.1% simplify [49] 52.9% [184] 624(0.4%) 294(0.2%) make-multiplication-node .../core/reduce.rkt:234:0 make-multiplication-subnode [201] 52.9% ----------------------------------------------------------------------------------------- mk-enode! [171] 100.0% [185] 620(0.4%) 0(0.0%) new-enode ...bie/better-rr/src/core/enode.rkt:96:0 type-of-enode-expr [202] 50.3% set [196] 49.7% ----------------------------------------------------------------------------------------- dedup-children! [170] 22.5% loop [186] 77.5% [186] 600(0.4%) 0(0.0%) loop ...racket-7.0/collects/racket/list.rkt:417:34 loop [186] 77.5% loop [214] 22.5% ----------------------------------------------------------------------------------------- map [164] 0.7% loop [187] 99.3% [187] 336(0.2%) 336(0.2%) loop ...7.0/collects/racket/private/list.rkt:82:16 loop [187] 99.3% ----------------------------------------------------------------------------------------- custom-set-union [173] 100.0% [188] 332(0.2%) 332(0.2%) for-loop ...cts/racket/private/set-types.rkt:152:2 ----------------------------------------------------------------------------------------- map [164] 100.0% [189] 332(0.2%) 0(0.0%) simplify-node ...etter-rr/src/core/reduce.rkt:48:0 gather-additive-terms6 [199] 100.0% ----------------------------------------------------------------------------------------- loop [174] 100.0% [190] 288(0.2%) 288(0.2%) ordinary-value? ...ie/better-rr/src/float.rkt:54:0 ----------------------------------------------------------------------------------------- expand-capturing-lifts [175] 100.0% [191] 8888(5.4%) 0(0.0%) lambda-clause-expander (unknown source) finish-bodys [203] 85.4% loop [214] 10.9% for-loop [238] 3.7% ----------------------------------------------------------------------------------------- errors-score [155] 0.0% option-on-expr [177] 0.1% ??? [46] 0.4% ??? [126] 1.2% loop! [154] 1.3% for-loop [136] 3.6% parse-loop80 [60] 3.9% for-loop [151] 10.5% map [164] 10.7% loop [192] 68.4% [192] 8544(5.2%) 1628(1.0%) loop ...-7.0/collects/racket/private/map.rkt:40:19 loop [192] 68.4% ??? [208] 9.9% ??? [235] 6.8% hash-ref! [244] 3.9% point-error [207] 2.0% eval-prog [113] 1.2% loop! [154] 1.2% ulp-difference [216] 0.7% foldl [19] 0.0% ----------------------------------------------------------------------------------------- for-loop [178] 34.4% for-loop [165] 65.6% [193] 6298(3.8%) 0(0.0%) hash-update! ...cket/private/more-scheme.rkt:365:4 ??? [204] 100.0% ----------------------------------------------------------------------------------------- for-loop [238] 10.8% loop [214] 20.1% expand-capturing-lifts [175] 69.1% [194] 3020(1.8%) 0(0.0%) dispatch-transformer41 (unknown source) apply-transformer52 [205] 100.0% ----------------------------------------------------------------------------------------- for-loop [176] 100.0% [195] 1576(1.0%) 0(0.0%) binary-search-floats ...src/core/regimes.rkt:196:0 pred [206] 100.0% ----------------------------------------------------------------------------------------- apply-match [114] 23.3% new-enode [185] 24.4% loop! [154] 52.4% [196] 1264(0.8%) 970(0.6%) set ...collects/racket/private/set-types.rkt:981:0 for-loop [213] 23.3% ----------------------------------------------------------------------------------------- option-on-expr [177] 100.0% [197] 934(0.6%) 0(0.0%) for-loop ...e/better-rr/src/core/regimes.rkt:158:4 errors [96] 100.0% ----------------------------------------------------------------------------------------- option-on-expr [177] 100.0% [198] 634(0.4%) 0(0.0%) sort-context-on-expr ...src/core/regimes.rkt:145:0 ??? [209] 100.0% ----------------------------------------------------------------------------------------- gather-additive-terms6 [199] 50.0% simplify-node [189] 50.0% [199] 332(0.2%) 0(0.0%) gather-additive-terms6 ...src/core/reduce.rkt:70:0 gather-additive-terms6 [199] 50.0% make-keyword-procedure [210] 50.0% ----------------------------------------------------------------------------------------- option-on-expr [177] 100.0% [200] 332(0.2%) 0(0.0%) err-lsts->split-indices .../core/regimes.rkt:281:0 loop [211] 100.0% ----------------------------------------------------------------------------------------- make-multiplication-node [184] 100.0% [201] 330(0.2%) 0(0.0%) make-multiplication-subnode ...re/reduce.rkt:244:0 for-loop [212] 100.0% ----------------------------------------------------------------------------------------- new-enode [185] 100.0% [202] 312(0.2%) 312(0.2%) type-of-enode-expr ...r-rr/src/core/enode.rkt:69:0 ----------------------------------------------------------------------------------------- lambda-clause-expander [191] 20.7% for-loop [238] 79.3% [203] 7594(4.6%) 0(0.0%) finish-bodys (unknown source) for-loop [238] 100.0% ----------------------------------------------------------------------------------------- hash-update! [193] 100.0% [204] 6298(3.8%) 0(0.0%) ??? ...herbie/better-rr/src/core/egraph.rkt:221:24 for-loop [215] 95.2% update-en-expr [218] 4.8% ----------------------------------------------------------------------------------------- dispatch-transformer41 [194] 100.0% [205] 3020(1.8%) 498(0.3%) apply-transformer52 (unknown source) loop [214] 54.5% apply-transformer-in-context [217] 29.0% ----------------------------------------------------------------------------------------- for-loop [176] 37.6% binary-search-floats [195] 62.4% [206] 2524(1.5%) 0(0.0%) pred ...erbie/better-rr/src/core/regimes.rkt:224:4 prepare-points-intervals [135] 75.2% errors [96] 24.8% ----------------------------------------------------------------------------------------- loop [192] 18.0% map [164] 35.6% for-loop [115] 46.5% [207] 1860(1.1%) 0(0.0%) point-error ...rbie/better-rr/src/points.rkt:195:0 ulp-difference [216] 100.0% ----------------------------------------------------------------------------------------- map [164] 34.5% loop [192] 65.5% [208] 1838(1.1%) 0(0.0%) ??? ...lies/herbie/better-rr/src/points.rkt:214:26 ??? [235] 100.0% ----------------------------------------------------------------------------------------- sort-context-on-expr [198] 100.0% [209] 634(0.4%) 0(0.0%) ??? ...-7.0/collects/racket/private/sort.rkt:369:3 generic-sort/key [219] 100.0% ----------------------------------------------------------------------------------------- gather-additive-terms6 [199] 100.0% [210] 332(0.2%) 332(0.2%) make-keyword-procedure ...ket/private/kw.rkt:407:4 ----------------------------------------------------------------------------------------- err-lsts->split-indices [200] 100.0% [211] 332(0.2%) 0(0.0%) loop ...erbie/better-rr/src/core/regimes.rkt:332:4 for-loop [220] 100.0% ----------------------------------------------------------------------------------------- make-multiplication-subnode [201] 100.0% [212] 330(0.2%) 0(0.0%) for-loop ...ie/better-rr/src/core/reduce.rkt:246:3 make-multiplication-subsubsubnode [221] 100.0% ----------------------------------------------------------------------------------------- set [196] 100.0% [213] 294(0.2%) 294(0.2%) for-loop ...cts/racket/private/set-types.rkt:937:4 ----------------------------------------------------------------------------------------- expand-capturing-lifts [175] 1.9% datum->syntax6 [26] 4.4% loop [186] 8.5% lambda-clause-expander [191] 11.1% apply-transformer52 [205] 11.7% for-loop [238] 12.9% eval-prog [113] 14.5% syntax-e/no-taint [23] 35.0% [214] 7060(4.3%) 1536(0.9%) loop (unknown source) gf [222] 35.0% core-form-sym [223] 15.9% expand-capturing-lifts [175] 14.5% dispatch-transformer41 [194] 6.1% expand-identifier [14] 4.6% expand-id-application-form17 [225] 4.1% ----------------------------------------------------------------------------------------- ??? [204] 100.0% [215] 5998(3.6%) 5998(3.6%) for-loop ...e/better-rr/src/core/egraph.rkt:222:26 ----------------------------------------------------------------------------------------- for-loop [115] 10.3% loop [192] 12.5% point-error [207] 77.2% [216] 2410(1.5%) 2410(1.5%) ulp-difference ...bie/better-rr/src/float.rkt:14:0 ----------------------------------------------------------------------------------------- apply-transformer52 [205] 100.0% [217] 876(0.5%) 626(0.4%) apply-transformer-in-context (unknown source) parse-lambda [228] 28.5% ----------------------------------------------------------------------------------------- ??? [204] 47.3% for-loop [165] 52.7% [218] 634(0.4%) 634(0.4%) update-en-expr ...ter-rr/src/core/egraph.rkt:207:0 ----------------------------------------------------------------------------------------- ??? [209] 100.0% [219] 634(0.4%) 0(0.0%) generic-sort/key .../racket/private/sort.rkt:156:2 copying-mergesort [224] 100.0% ----------------------------------------------------------------------------------------- loop [211] 100.0% [220] 332(0.2%) 0(0.0%) for-loop ...e/better-rr/src/core/regimes.rkt:297:4 for-loop [226] 100.0% ----------------------------------------------------------------------------------------- for-loop [212] 100.0% [221] 330(0.2%) 0(0.0%) make-multiplication-subsubsubnode ...uce.rkt:266:0 mterm->expr [227] 100.0% ----------------------------------------------------------------------------------------- loop [214] 100.0% [222] 2758(1.7%) 310(0.2%) gf (unknown source) propagation-apply [230] 46.4% propagation-apply-shifted [232] 21.0% propagation-merge [233] 12.1% cache-or-reuse-hash [234] 9.2% ----------------------------------------------------------------------------------------- loop [214] 100.0% [223] 1944(1.2%) 0(0.0%) core-form-sym (unknown source) resolve+shift28 [229] 100.0% ----------------------------------------------------------------------------------------- copying-mergesort [224] 35.1% generic-sort/key [219] 64.9% [224] 634(0.4%) 0(0.0%) copying-mergesort ...racket/private/sort.rkt:129:8 loop [231] 64.9% copying-mergesort [224] 35.1% ----------------------------------------------------------------------------------------- loop [214] 100.0% [225] 580(0.4%) 0(0.0%) expand-id-application-form17 (unknown source) syntax-e/no-taint [23] 100.0% ----------------------------------------------------------------------------------------- for-loop [220] 100.0% [226] 332(0.2%) 332(0.2%) for-loop ...e/better-rr/src/core/regimes.rkt:301:8 ----------------------------------------------------------------------------------------- make-multiplication-subsubsubnode [221] 100.0% [227] 330(0.2%) 0(0.0%) mterm->expr ...better-rr/src/core/reduce.rkt:274:0 return/no-unsupplied [258] 100.0% ----------------------------------------------------------------------------------------- apply-transformer-in-context [217] 100.0% [228] 250(0.2%) 250(0.2%) parse-lambda ...llects/racket/private/kw.rkt:585:2 ----------------------------------------------------------------------------------------- free-identifier=? [161] 4.7% expand-identifier [14] 29.0% expand-implicit [13] 29.2% core-form-sym [223] 37.1% [229] 5234(3.2%) 880(0.5%) resolve+shift28 (unknown source) fallback-loop [236] 83.2% ----------------------------------------------------------------------------------------- gf [222] 100.0% [230] 1280(0.8%) 1280(0.8%) propagation-apply (unknown source) ----------------------------------------------------------------------------------------- copying-mergesort [224] 100.0% [231] 634(0.4%) 0(0.0%) loop ...7.0/collects/racket/private/sort.rkt:96:12 ??? [235] 100.0% ----------------------------------------------------------------------------------------- gf [222] 100.0% [232] 580(0.4%) 580(0.4%) propagation-apply-shifted (unknown source) ----------------------------------------------------------------------------------------- gf [222] 100.0% [233] 334(0.2%) 334(0.2%) propagation-merge (unknown source) ----------------------------------------------------------------------------------------- gf [222] 100.0% [234] 254(0.2%) 254(0.2%) cache-or-reuse-hash (unknown source) ----------------------------------------------------------------------------------------- for-loop [158] 1.6% loop [231] 1.7% ??? [208] 4.8% loop [192] 6.3% for-loop [115] 22.3% loop [162] 63.4% [235] 38076(23.0%) 1532(0.9%) ??? ...ies/herbie/better-rr/src/programs.rkt:146:2 ??? [237] 67.8% ??? [239] 28.2% ----------------------------------------------------------------------------------------- resolve+shift28 [229] 100.0% [236] 4354(2.6%) 974(0.6%) fallback-loop (unknown source) for-loop [238] 77.6% ----------------------------------------------------------------------------------------- ??? [235] 100.0% [237] 25812(15.6%) 870(0.5%) ??? ...t-7.0/collects/racket/private/kw.rkt:592:14 ??? [240] 58.4% ??? [239] 23.7% ??? [241] 10.8% double->posit16 [242] 3.7% ----------------------------------------------------------------------------------------- lambda-clause-expander [191] 3.0% eval-one-top12 [133] 6.1% compile-forms31 [180] 9.2% for-loop [238] 10.4% fallback-loop [236] 11.8% finish-bodys [203] 59.6% [238] 10906(6.6%) 5354(3.2%) for-loop (unknown source) finish-bodys [203] 49.1% for-loop [238] 10.4% add-local-binding!37 [243] 3.2% expand-implicit [13] 3.1% loop [214] 2.6% syntax-e [11] 2.5% expand-identifier [14] 0.8% dispatch-transformer41 [194] 0.3% ----------------------------------------------------------------------------------------- loop [21] 0.9% loop [78] 1.1% loop [162] 1.2% for-loop [115] 2.1% ??? [166] 3.0% fallback-update [61] 3.2% ??? [72] 5.9% ??? [7] 6.8% location-do [245] 12.4% for-loop [67] 12.4% ??? [237] 20.0% ??? [235] 31.2% [239] 30616(18.5%) 1938(1.2%) ??? ...tract/private/arrow-higher-order.rkt:357:33 ->flonum [246] 24.9% ival-mult [247] 19.0% location-do [245] 12.4% approximate9 [6] 12.4% mk-ival [252] 8.6% hash-ref! [244] 7.3% best-alt [250] 5.9% sample-multi-bounded [256] 3.0% loop [257] 1.0% ----------------------------------------------------------------------------------------- fold-binary-pred [273] 4.2% ??? [237] 95.8% [240] 15080(9.1%) 1578(1.0%) ??? ...tract/private/arrow-higher-order.rkt:361:33 ival-div [248] 28.5% ival-add [249] 23.7% ival-sqrt [251] 18.7% ival-sub [253] 16.3% ival-neg [254] 6.5% ----------------------------------------------------------------------------------------- ??? [237] 100.0% [241] 2794(1.7%) 1528(0.9%) ??? ...rbie/better-rr/src/syntax/syntax.rkt:317:17 return/no-unsupplied [258] 33.4% ??? [260] 12.0% ----------------------------------------------------------------------------------------- ??? [237] 100.0% [242] 946(0.6%) 0(0.0%) double->posit16 ...ftposit-rkt/softposit.rkt:248:0 get-ffi-obj* [255] 100.0% ----------------------------------------------------------------------------------------- for-loop [238] 100.0% [243] 626(0.4%) 626(0.4%) add-local-binding!37 (unknown source) ----------------------------------------------------------------------------------------- loop [192] 1.2% localize-error [53] 1.2% ??? [10] 2.4% simplify* [182] 3.0% for-loop [24] 3.5% taylor-sqrt [43] 3.6% ??? [33] 4.0% for-loop [22] 4.5% ??? [7] 6.6% first-nonzero-exp [51] 7.1% ??? [8] 7.1% loop [21] 9.2% ??? [239] 10.7% compile [116] 15.3% ??? [259] 18.7% [244] 13642(8.2%) 4080(2.5%) hash-ref! .../racket/private/more-scheme.rkt:376:2 ??? [259] 23.0% simplify [49] 19.2% ??? [7] 15.8% ??? [8] 8.5% ??? [9] 6.5% ??? [12] 3.5% ??? [10] 3.0% parse-loop80 [60] 2.4% taylor [32] 2.2% ----------------------------------------------------------------------------------------- ??? [239] 28.3% location-do [245] 71.7% [245] 9928(6.0%) 0(0.0%) location-do ...ie/better-rr/src/programs.rkt:111:0 location-do [245] 71.7% ??? [239] 28.3% ----------------------------------------------------------------------------------------- ??? [239] 100.0% [246] 8806(5.3%) 2930(1.8%) ->flonum ...herbie/better-rr/src/programs.rkt:38:0 return/no-unsupplied [258] 38.2% ??? [260] 17.3% ??? [283] 6.9% ??? [284] 4.3% ----------------------------------------------------------------------------------------- ??? [239] 100.0% [247] 5810(3.5%) 604(0.4%) ival-mult ...e/better-rr/src/biginterval.rkt:105:0 ...higher-order.rkt:361:33 [261] 50.0% bf* [265] 22.9% classify-ival [262] 16.7% ----------------------------------------------------------------------------------------- ??? [240] 100.0% [248] 4782(2.9%) 912(0.6%) ival-div ...ie/better-rr/src/biginterval.rkt:141:0 classify-ival [262] 32.8% ??? [270] 27.3% fold-binary-pred [273] 7.5% force [272] 7.0% ...higher-order.rkt:357:33 [275] 6.3% ----------------------------------------------------------------------------------------- ??? [240] 100.0% [249] 3578(2.2%) 0(0.0%) ival-add ...bie/better-rr/src/biginterval.rkt:87:0 ??? [270] 100.0% ----------------------------------------------------------------------------------------- ??? [239] 100.0% [250] 2978(1.8%) 0(0.0%) best-alt ...erbie/better-rr/src/mainloop.rkt:102:0 argmins [264] 60.0% loop [266] 40.0% ----------------------------------------------------------------------------------------- ??? [240] 100.0% [251] 2974(1.8%) 312(0.2%) ival-sqrt ...e/better-rr/src/biginterval.rkt:191:0 ??? [270] 68.3% fold-binary-pred [273] 10.7% force [272] 10.6% ----------------------------------------------------------------------------------------- ??? [239] 100.0% [252] 2630(1.6%) 374(0.2%) mk-ival ...rbie/better-rr/src/biginterval.rkt:59:0 bf [263] 85.8% ----------------------------------------------------------------------------------------- ??? [240] 100.0% [253] 2460(1.5%) 332(0.2%) ival-sub ...bie/better-rr/src/biginterval.rkt:93:0 ??? [270] 86.5% ----------------------------------------------------------------------------------------- ??? [240] 100.0% [254] 986(0.6%) 0(0.0%) ival-neg ...bie/better-rr/src/biginterval.rkt:83:0 ??? [270] 100.0% ----------------------------------------------------------------------------------------- double->posit16 [242] 100.0% [255] 946(0.6%) 310(0.2%) get-ffi-obj* ...-7.0/collects/ffi/unsafe.rkt:209:2 get-ffi-lib9 [267] 67.2% ----------------------------------------------------------------------------------------- ??? [239] 100.0% [256] 910(0.5%) 602(0.4%) sample-multi-bounded ...ter-rr/src/points.rkt:16:0 loop [269] 33.8% ----------------------------------------------------------------------------------------- ??? [239] 100.0% [257] 312(0.2%) 0(0.0%) loop ...herbie/better-rr/src/biginterval.rkt:442:9 ival-==2 [268] 100.0% ----------------------------------------------------------------------------------------- for-loop [79] 4.5% ??? [29] 4.5% mterm->expr [227] 5.1% pattern-substitute [31] 5.6% flag-set? [130] 13.8% ??? [241] 14.4% ->flonum [246] 52.1% [258] 6450(3.9%) 5224(3.2%) return/no-unsupplied ...ct/private/arr-i.rkt:534:0 filter [274] 19.0% ----------------------------------------------------------------------------------------- hash-ref! [244] 100.0% [259] 4328(2.6%) 1174(0.7%) ??? ...ies/herbie/better-rr/src/programs.rkt:189:5 hash-ref! [244] 86.4% ----------------------------------------------------------------------------------------- flag-set? [130] 10.1% ??? [241] 10.3% pattern-substitute [31] 11.1% for-loop [79] 21.2% ->flonum [246] 47.2% [260] 3230(2.0%) 2930(1.8%) ??? ...s/racket/contract/private/arr-i.rkt:1252:29 ??? [276] 9.3% ----------------------------------------------------------------------------------------- ival-mult [247] 100.0% [261] 2904(1.8%) 1634(1.0%) ...higher-order.rkt:361:33 (unknown source) ??? [281] 43.7% ----------------------------------------------------------------------------------------- ival-mult [247] 38.2% ival-div [248] 61.8% [262] 2540(1.5%) 936(0.6%) classify-ival ...tter-rr/src/biginterval.rkt:310:0 force [272] 26.4% fold-binary-pred [273] 23.6% ...higher-order.rkt:357:33 [275] 13.1% ----------------------------------------------------------------------------------------- mk-ival [252] 100.0% [263] 2256(1.4%) 0(0.0%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:601:2 new-mpfr [282] 86.6% ??? [284] 13.4% ----------------------------------------------------------------------------------------- best-alt [250] 100.0% [264] 1788(1.1%) 0(0.0%) argmins ...es/herbie/better-rr/src/common.rkt:93:0 ??? [271] 100.0% ----------------------------------------------------------------------------------------- ival-mult [247] 100.0% [265] 1332(0.8%) 0(0.0%) bf* ...ath/private/bigfloat/bigfloat-mpfr.rkt:95:0 ??? [270] 100.0% ----------------------------------------------------------------------------------------- best-alt [250] 100.0% [266] 1190(0.7%) 0(0.0%) loop ...tlies/herbie/better-rr/src/common.rkt:94:2 ??? [271] 100.0% ----------------------------------------------------------------------------------------- get-ffi-obj* [255] 100.0% [267] 636(0.4%) 326(0.2%) get-ffi-lib9 ...-7.0/collects/ffi/unsafe.rkt:121:0 get-cross-lib-search-dirs [277] 48.7% ----------------------------------------------------------------------------------------- loop [257] 100.0% [268] 312(0.2%) 0(0.0%) ival-==2 ...ie/better-rr/src/biginterval.rkt:433:0 ...higher-order.rkt:357:33 [275] 100.0% ----------------------------------------------------------------------------------------- sample-multi-bounded [256] 100.0% [269] 308(0.2%) 0(0.0%) loop ...tlies/herbie/better-rr/src/points.rkt:45:6 random-exp [278] 100.0% ----------------------------------------------------------------------------------------- ival-neg [254] 8.7% ival-div [248] 11.5% bf* [265] 11.7% ival-sqrt [251] 17.9% ival-sub [253] 18.7% ival-add [249] 31.5% [270] 11360(6.9%) 964(0.6%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bfsub [279] 65.0% bfsqrt [280] 26.5% ----------------------------------------------------------------------------------------- loop [266] 40.0% argmins [264] 60.0% [271] 2978(1.8%) 0(0.0%) ??? ...es/herbie/better-rr/src/mainloop.rkt:104:19 errors [96] 100.0% ----------------------------------------------------------------------------------------- ival-sqrt [251] 23.8% ival-div [248] 25.3% classify-ival [262] 50.8% [272] 1318(0.8%) 1318(0.8%) force ...collects/racket/private/promise.rkt:109:0 ----------------------------------------------------------------------------------------- ival-sqrt [251] 24.9% ival-div [248] 28.2% classify-ival [262] 46.9% [273] 1278(0.8%) 0(0.0%) fold-binary-pred ...gfloat/bigfloat-mpfr.rkt:117:0 ??? [240] 100.0% ----------------------------------------------------------------------------------------- return/no-unsupplied [258] 100.0% [274] 1226(0.7%) 1226(0.7%) filter ...0/collects/racket/private/list.rkt:256:2 ----------------------------------------------------------------------------------------- ival-div [248] 31.7% ival-==2 [268] 33.0% classify-ival [262] 35.3% [275] 946(0.6%) 0(0.0%) ...higher-order.rkt:357:33 (unknown source) ??? [281] 67.0% ??? [283] 33.0% ----------------------------------------------------------------------------------------- un-dep/maybe-chaperone [71] 50.0% ??? [260] 50.0% [276] 600(0.4%) 600(0.4%) ??? ...ects/racket/contract/private/prop.rkt:274:4 ----------------------------------------------------------------------------------------- get-ffi-lib9 [267] 100.0% [277] 310(0.2%) 310(0.2%) get-cross-lib-search-dirs ...rivate/dirs.rkt:168:7 ----------------------------------------------------------------------------------------- loop [269] 100.0% [278] 308(0.2%) 308(0.2%) random-exp ...erbie/better-rr/src/common.rkt:173:0 ----------------------------------------------------------------------------------------- ??? [270] 100.0% [279] 7380(4.5%) 0(0.0%) bfsub ...-lib/math/private/bigfloat/mpfr.rkt:821:4 new-mpfr [282] 81.6% ??? [284] 18.4% ----------------------------------------------------------------------------------------- ??? [270] 100.0% [280] 3016(1.8%) 0(0.0%) bfsqrt ...lib/math/private/bigfloat/mpfr.rkt:618:4 new-mpfr [282] 78.8% ??? [284] 21.2% ----------------------------------------------------------------------------------------- ...higher-order.rkt:357:33 [275] 33.3% ...higher-order.rkt:361:33 [261] 66.7% [281] 1904(1.2%) 1604(1.0%) ??? ...cts/racket/contract/private/list.rkt:209:10 ??? [283] 15.8% ----------------------------------------------------------------------------------------- bf [263] 18.9% bfsqrt [280] 23.0% bfsub [279] 58.2% [282] 10354(6.3%) 10354(6.3%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:335:0 ----------------------------------------------------------------------------------------- ??? [55] 6.4% ??? [281] 7.5% flag-set? [130] 7.8% ...higher-order.rkt:357:33 [275] 7.8% for-loop [79] 9.0% ->flonum [246] 15.3% core651 [56] 46.1% [283] 3978(2.4%) 1786(1.1%) ??? ...ects/racket/contract/private/guts.rkt:746:8 ??? [285] 46.1% dict? [286] 9.0% ----------------------------------------------------------------------------------------- bf [263] 11.3% ->flonum [246] 14.2% bfsqrt [280] 23.8% bfsub [279] 50.7% [284] 2678(1.6%) 2678(1.6%) ??? /opt/racket-7.0/collects/ffi/unsafe.rkt:898:4 ----------------------------------------------------------------------------------------- ??? [283] 100.0% [285] 1834(1.1%) 1834(1.1%) ??? /opt/racket-7.0/collects/racket/dict.rkt:11:8 ----------------------------------------------------------------------------------------- table-ref [141] 48.3% ??? [283] 51.7% [286] 692(0.4%) 692(0.4%) dict? ...ollects/racket/private/generic.rkt:146:11 -----------------------------------------------------------------------------------------