Profiling results ----------------- Total cpu time observed: 224494ms (out of 225228ms) Number of samples taken: 706 (once every 318ms) (Hiding functions with self<1.0% and local<2.0%: 13 of 197 hidden) ============================================================================ Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ============================================================================ run [23] 50.0% [1] 224494(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [10] 50.0% run-improve39 [11] 49.9% get-final-combination [20] 0.1% ---------------------------------------------------------------------------- map-enodes [78] 16.5% loop [125] 83.5% [2] 5638(2.5%) 0(0.0%) set-precompute! ...lop/src/core/simplify.rkt:151:0 for-loop [12] 100.0% ---------------------------------------------------------------------------- loop [177] 15.0% for-loop [176] 85.0% [3] 4444(2.0%) 0(0.0%) syntax-e (unknown source) syntax-e/no-taint [13] 100.0% ---------------------------------------------------------------------------- for-loop [176] 100.0% [4] 3506(1.6%) 312(0.1%) expand-implicit (unknown source) resolve+shift28 [14] 73.6% datum->syntax6 [21] 8.9% syntax-disarm3 [22] 8.6% ---------------------------------------------------------------------------- expand-capturing-lifts [172] 19.2% loop [177] 20.4% for-loop [176] 60.4% [5] 3164(1.4%) 298(0.1%) dispatch-transformer41 (unknown source) apply-transformer52 [15] 90.6% ---------------------------------------------------------------------------- ??? [58] 100.0% [6] 1798(0.8%) 0(0.0%) approximate9 ...e/develop/src/core/taylor.rkt:12:0 loop [16] 67.2% taylor [18] 32.8% ---------------------------------------------------------------------------- for-loop [176] 100.0% [7] 968(0.4%) 0(0.0%) expand-identifier (unknown source) resolve+shift28 [14] 100.0% ---------------------------------------------------------------------------- hash-ref! [104] 100.0% [8] 904(0.4%) 0(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:290:26 for-loop [17] 100.0% ---------------------------------------------------------------------------- hash-ref! [104] 100.0% [9] 606(0.3%) 0(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:300:23 for-loop [19] 100.0% ---------------------------------------------------------------------------- ??? [1] 100.0% [10] 224494(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [23] 100.0% ---------------------------------------------------------------------------- ??? [1] 100.0% [11] 223898(99.7%) 0(0.0%) run-improve39 ...ie/develop/src/mainloop.rkt:322:0 for-loop [24] 100.0% ---------------------------------------------------------------------------- set-precompute! [2] 100.0% [12] 5638(2.5%) 0(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:153:2 eval-const-expr [26] 55.3% reduce-to-new! [27] 17.5% setfindf [28] 16.1% composed [31] 5.7% compose [32] 5.4% ---------------------------------------------------------------------------- expand-id-application-form17 [179] 12.3% syntax-e [3] 87.7% [13] 5066(2.3%) 0(0.0%) syntax-e/no-taint (unknown source) loop [177] 100.0% ---------------------------------------------------------------------------- core-form-sym [180] 21.2% expand-identifier [7] 21.5% expand-implicit [4] 57.3% [14] 4506(2.0%) 664(0.3%) resolve+shift28 (unknown source) fallback-loop [25] 85.3% ---------------------------------------------------------------------------- dispatch-transformer41 [5] 100.0% [15] 2866(1.3%) 932(0.4%) apply-transformer52 (unknown source) loop [177] 45.4% apply-transformer-in-context [29] 22.1% ---------------------------------------------------------------------------- approximate9 [6] 100.0% [16] 1208(0.5%) 0(0.0%) loop ...es/herbie/develop/src/core/taylor.rkt:87:4 hash-ref! [104] 75.2% ??? [58] 24.8% ---------------------------------------------------------------------------- ??? [8] 100.0% [17] 904(0.4%) 0(0.0%) for-loop ...bie/develop/src/core/taylor.rkt:290:52 hash-ref! [104] 34.1% ??? [34] 33.0% simplify [142] 33.0% ---------------------------------------------------------------------------- taylor [18] 24.6% hash-ref! [104] 33.9% approximate9 [6] 41.6% [18] 892(0.4%) 0(0.0%) taylor ...herbie/develop/src/core/taylor.rkt:169:0 taylor-invert [30] 67.3% taylor [18] 24.6% loop [125] 8.2% ---------------------------------------------------------------------------- ??? [9] 100.0% [19] 606(0.3%) 0(0.0%) for-loop ...bie/develop/src/core/taylor.rkt:303:27 hash-ref! [104] 100.0% ---------------------------------------------------------------------------- ??? [1] 100.0% [20] 596(0.3%) 0(0.0%) get-final-combination ...op/src/mainloop.rkt:345:0 infer-splitpoints [33] 50.3% ??? [62] 49.7% ---------------------------------------------------------------------------- expand-implicit [4] 100.0% [21] 312(0.1%) 312(0.1%) datum->syntax6 (unknown source) ---------------------------------------------------------------------------- expand-implicit [4] 100.0% [22] 300(0.1%) 300(0.1%) syntax-disarm3 (unknown source) ---------------------------------------------------------------------------- profile-thunk16 [10] 100.0% [23] 224494(100.0%) 0(0.0%) run ...racket/share/pkgs/profile-lib/main.rkt:39:2 ??? [1] 100.0% ---------------------------------------------------------------------------- run-improve39 [11] 100.0% [24] 223898(99.7%) 0(0.0%) for-loop ...herbie/develop/src/mainloop.rkt:339:10 run-iter! [35] 100.0% ---------------------------------------------------------------------------- resolve+shift28 [14] 100.0% [25] 3842(1.7%) 0(0.0%) fallback-loop (unknown source) for-loop [176] 100.0% ---------------------------------------------------------------------------- for-loop [12] 100.0% [26] 3118(1.4%) 0(0.0%) eval-const-expr .../develop/src/programs.rkt:127:0 eval-prog [157] 100.0% ---------------------------------------------------------------------------- for-loop [12] 100.0% [27] 988(0.4%) 0(0.0%) reduce-to-new! ...evelop/src/core/egraph.rkt:334:0 merge-egraph-nodes! [94] 100.0% ---------------------------------------------------------------------------- for-loop [12] 100.0% [28] 908(0.4%) 0(0.0%) setfindf ...es/herbie/develop/src/common.rkt:163:0 for-loop [36] 100.0% ---------------------------------------------------------------------------- apply-transformer52 [15] 100.0% [29] 634(0.3%) 0(0.0%) apply-transformer-in-context (unknown source) ??? [37] 50.8% parse-app [38] 49.2% ---------------------------------------------------------------------------- taylor [18] 100.0% [30] 600(0.3%) 0(0.0%) taylor-invert ...develop/src/core/taylor.rkt:317:0 simplify [142] 50.3% first-nonzero-exp [40] 49.7% ---------------------------------------------------------------------------- for-loop [12] 100.0% [31] 322(0.1%) 322(0.1%) composed ...ollects/racket/private/list.rkt:321:16 ---------------------------------------------------------------------------- for-loop [12] 100.0% [32] 302(0.1%) 302(0.1%) compose ...collects/racket/private/list.rkt:385:12 ---------------------------------------------------------------------------- get-final-combination [20] 100.0% [33] 300(0.1%) 0(0.0%) infer-splitpoints ...lop/src/core/regimes.rkt:32:0 for-loop [39] 100.0% ---------------------------------------------------------------------------- for-loop [17] 100.0% [34] 298(0.1%) 0(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:293:19 hash-ref! [104] 100.0% ---------------------------------------------------------------------------- for-loop [24] 100.0% [35] 223898(99.7%) 0(0.0%) run-iter! ...herbie/develop/src/mainloop.rkt:303:0 simplify! [41] 94.2% finalize-iter! [42] 4.3% gen-series! [43] 0.8% gen-rewrites! [44] 0.5% ---------------------------------------------------------------------------- setfindf [28] 100.0% [36] 908(0.4%) 606(0.3%) for-loop ...es/herbie/develop/src/common.rkt:164:2 ??? [113] 33.3% ---------------------------------------------------------------------------- apply-transformer-in-context [29] 100.0% [37] 322(0.1%) 0(0.0%) ??? ...collects/racket/private/qq-and-or.rkt:155:9 ??? [45] 100.0% ---------------------------------------------------------------------------- apply-transformer-in-context [29] 100.0% [38] 312(0.1%) 0(0.0%) parse-app ...collects/racket/private/kw.rkt:1105:2 datum->syntax [46] 100.0% ---------------------------------------------------------------------------- infer-splitpoints [33] 100.0% [39] 300(0.1%) 0(0.0%) for-loop ...rbie/develop/src/core/regimes.rkt:44:6 option-on-expr [47] 100.0% ---------------------------------------------------------------------------- taylor-invert [30] 100.0% [40] 298(0.1%) 0(0.0%) first-nonzero-exp ...lop/src/core/taylor.rkt:265:0 hash-ref! [104] 100.0% ---------------------------------------------------------------------------- run-iter! [35] 100.0% [41] 211002(94.0%) 0(0.0%) simplify! ...herbie/develop/src/mainloop.rkt:206:0 for-loop [48] 100.0% ---------------------------------------------------------------------------- run-iter! [35] 100.0% [42] 9556(4.3%) 0(0.0%) finalize-iter! ...e/develop/src/mainloop.rkt:257:0 ??? [113] 100.0% ---------------------------------------------------------------------------- run-iter! [35] 100.0% [43] 1798(0.8%) 0(0.0%) gen-series! ...rbie/develop/src/mainloop.rkt:152:0 for-loop [49] 100.0% ---------------------------------------------------------------------------- run-iter! [35] 100.0% [44] 1206(0.5%) 0(0.0%) gen-rewrites! ...ie/develop/src/mainloop.rkt:177:0 for-loop [50] 100.0% ---------------------------------------------------------------------------- ??? [37] 100.0% [45] 322(0.1%) 0(0.0%) ??? ...ollects/racket/private/qq-and-or.rkt:164:21 syntax->list [51] 100.0% ---------------------------------------------------------------------------- parse-app [38] 100.0% [46] 312(0.1%) 312(0.1%) datum->syntax (unknown source) ---------------------------------------------------------------------------- for-loop [39] 100.0% [47] 300(0.1%) 0(0.0%) option-on-expr ...velop/src/core/regimes.rkt:112:0 for-loop [52] 100.0% ---------------------------------------------------------------------------- simplify! [41] 100.0% [48] 211002(94.0%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:213:6 for-loop [53] 100.0% ---------------------------------------------------------------------------- gen-series! [43] 100.0% [49] 1798(0.8%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:160:7 taylor-alt [54] 100.0% ---------------------------------------------------------------------------- gen-rewrites! [44] 100.0% [50] 1206(0.5%) 0(0.0%) for-loop ...herbie/develop/src/mainloop.rkt:184:11 ??? [55] 100.0% ---------------------------------------------------------------------------- ??? [45] 100.0% [51] 322(0.1%) 0(0.0%) syntax->list (unknown source) loop [177] 100.0% ---------------------------------------------------------------------------- option-on-expr [47] 100.0% [52] 300(0.1%) 0(0.0%) for-loop ...bie/develop/src/core/regimes.rkt:120:4 eval-prog [157] 100.0% ---------------------------------------------------------------------------- for-loop [48] 100.0% [53] 211002(94.0%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:237:8 ??? [58] 100.0% ---------------------------------------------------------------------------- for-loop [49] 100.0% [54] 1798(0.8%) 0(0.0%) taylor-alt ...erbie/develop/src/mainloop.rkt:138:0 for-loop [56] 100.0% ---------------------------------------------------------------------------- for-loop [50] 100.0% [55] 1206(0.5%) 0(0.0%) ??? ...ies/herbie/develop/src/alternative.rkt:54:0 rewriter [57] 75.3% foldl [141] 24.7% ---------------------------------------------------------------------------- taylor-alt [54] 100.0% [56] 1798(0.8%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:144:6 ??? [58] 100.0% ---------------------------------------------------------------------------- ??? [55] 47.9% matcher [63] 52.1% [57] 908(0.4%) 0(0.0%) rewriter ...bie/develop/src/core/matcher.rkt:131:2 for-loop [59] 94.5% *rules* [60] 5.5% ---------------------------------------------------------------------------- loop [16] 0.0% ??? [155] 0.1% ??? [120] 0.1% for-loop [56] 0.3% for-loop [53] 49.4% location-do [61] 49.8% [58] 213434(95.1%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:357:33 location-do [61] 49.9% ??? [62] 49.4% approximate9 [6] 0.3% hash-ref! [104] 0.2% best-alt [64] 0.2% ---------------------------------------------------------------------------- rewriter [57] 100.0% [59] 908(0.4%) 300(0.1%) for-loop ...ie/develop/src/core/matcher.rkt:134:10 matcher [63] 91.7% ---------------------------------------------------------------------------- rewriter [57] 100.0% [60] 298(0.1%) 0(0.0%) *rules* ...rbie/develop/src/syntax/rules.rkt:643:0 for-loop [110] 100.0% ---------------------------------------------------------------------------- ??? [58] 42.1% location-do [61] 57.9% [61] 213098(94.9%) 0(0.0%) location-do ...erbie/develop/src/programs.rkt:89:0 location-do [61] 57.9% ??? [58] 42.1% ??? [70] 0.0% ---------------------------------------------------------------------------- get-final-combination [20] 0.1% ??? [58] 99.9% [62] 211298(94.1%) 0(0.0%) ??? ...s/herbie/develop/src/core/simplify.rkt:31:0 iterate-egraph!7 [65] 96.9% loop [66] 3.1% ---------------------------------------------------------------------------- for-loop [67] 50.0% for-loop [59] 50.0% [63] 908(0.4%) 0(0.0%) matcher ...rbie/develop/src/core/matcher.rkt:168:2 for-loop [67] 50.0% rewriter [57] 32.9% for-loop [69] 17.1% ---------------------------------------------------------------------------- ??? [58] 100.0% [64] 336(0.1%) 0(0.0%) best-alt .../herbie/develop/src/mainloop.rkt:110:0 argmins [68] 100.0% ---------------------------------------------------------------------------- ??? [62] 100.0% [65] 204764(91.2%) 952(0.4%) iterate-egraph!7 ...lop/src/core/simplify.rkt:61:0 one-iter [71] 99.2% debug-print [151] 0.2% ---------------------------------------------------------------------------- ??? [62] 100.0% [66] 6534(2.9%) 308(0.1%) loop ...herbie/develop/src/core/simplify.rkt:195:2 for-loop [72] 95.3% ---------------------------------------------------------------------------- matcher [63] 100.0% [67] 908(0.4%) 0(0.0%) for-loop ...ie/develop/src/core/matcher.rkt:184:21 matcher [63] 100.0% ---------------------------------------------------------------------------- best-alt [64] 100.0% [68] 336(0.1%) 0(0.0%) argmins ...ies/herbie/develop/src/common.rkt:129:0 ??? [73] 100.0% ---------------------------------------------------------------------------- matcher [63] 100.0% [69] 310(0.1%) 0(0.0%) for-loop ...bie/develop/src/core/matcher.rkt:160:6 pattern-substitute [74] 100.0% ---------------------------------------------------------------------------- location-do [61] 100.0% [70] 298(0.1%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:361:33 ??? [75] 100.0% ---------------------------------------------------------------------------- iterate-egraph!7 [65] 100.0% [71] 203160(90.5%) 3744(1.7%) one-iter ...bie/develop/src/core/simplify.rkt:72:0 for-loop [76] 57.0% for-loop [77] 38.0% map-enodes [78] 2.8% ---------------------------------------------------------------------------- loop [66] 100.0% [72] 6226(2.8%) 646(0.3%) for-loop ...e/develop/src/core/simplify.rkt:188:29 argmin [79] 44.3% for-loop [80] 24.6% loop [81] 15.1% make-sequence [96] 5.6% ---------------------------------------------------------------------------- argmins [68] 100.0% [73] 336(0.1%) 0(0.0%) ??? ...lies/herbie/develop/src/mainloop.rkt:112:19 eval-prog [157] 100.0% ---------------------------------------------------------------------------- for-loop [69] 100.0% [74] 310(0.1%) 0(0.0%) pattern-substitute ...op/src/core/matcher.rkt:73:0 for-loop [82] 100.0% ---------------------------------------------------------------------------- ??? [70] 100.0% [75] 298(0.1%) 0(0.0%) ??? ...ects/racket/contract/private/prop.rkt:519:4 ??? [83] 100.0% ---------------------------------------------------------------------------- one-iter [71] 100.0% [76] 115866(51.6%) 916(0.4%) for-loop ...ie/develop/src/core/simplify.rkt:123:2 for-loop [84] 69.8% match-e [85] 15.2% set [137] 5.6% custom-set-intersect [86] 3.5% update-leader! [100] 3.2% reduce-to-single! [89] 0.8% make-sequence [96] 0.6% ---------------------------------------------------------------------------- for-loop [77] 47.8% one-iter [71] 52.2% [77] 77292(34.4%) 18386(8.2%) for-loop ...ie/develop/src/core/simplify.rkt:83:12 for-loop [77] 47.8% match-e [85] 37.9% ??? [119] 0.2% ---------------------------------------------------------------------------- one-iter [71] 100.0% [78] 5638(2.5%) 0(0.0%) map-enodes ...ie/develop/src/core/egraph.rkt:140:0 loop [125] 83.5% set-precompute! [2] 16.5% ---------------------------------------------------------------------------- for-loop [72] 100.0% [79] 2760(1.2%) 0(0.0%) argmin ...92/racket/collects/racket/list.rkt:765:0 expression-cost [87] 56.4% for-loop [88] 43.6% ---------------------------------------------------------------------------- for-loop [72] 100.0% [80] 1532(0.7%) 912(0.4%) for-loop ...e/develop/src/core/simplify.rkt:175:13 for-loop [90] 20.9% andmap [91] 19.6% ---------------------------------------------------------------------------- for-loop [72] 100.0% [81] 940(0.4%) 0(0.0%) loop .../p92/racket/collects/racket/list.rkt:751:4 expression-cost [87] 100.0% ---------------------------------------------------------------------------- pattern-substitute [74] 100.0% [82] 310(0.1%) 310(0.1%) for-loop ...bie/develop/src/core/matcher.rkt:81:10 ---------------------------------------------------------------------------- ??? [75] 100.0% [83] 298(0.1%) 0(0.0%) ??? ...lects/racket/contract/private/orc.rkt:83:14 ??? [92] 100.0% ---------------------------------------------------------------------------- for-loop [76] 100.0% [84] 80876(36.0%) 316(0.1%) for-loop ...ie/develop/src/core/simplify.rkt:106:4 merge-egraph-nodes! [94] 55.1% loop! [111] 31.1% substitute-e [95] 8.1% mk-enode! [114] 5.4% ---------------------------------------------------------------------------- for-loop [76] 14.4% for-loop [101] 22.3% for-loop [77] 63.3% [85] 76164(33.9%) 18912(8.4%) match-e ...herbie/develop/src/core/ematch.rkt:39:0 for-loop [93] 69.8% ??? [113] 4.2% make-sequence [96] 2.8% variable? [105] 1.8% ---------------------------------------------------------------------------- for-loop [76] 100.0% [86] 4032(1.8%) 1894(0.8%) custom-set-intersect ...rivate/set-types.rkt:195:0 for-loop [98] 45.6% for-loop [143] 7.4% ---------------------------------------------------------------------------- loop [81] 37.6% argmin [79] 62.4% [87] 2498(1.1%) 300(0.1%) expression-cost .../develop/src/programs.rkt:182:0 compile [97] 88.0% ---------------------------------------------------------------------------- argmin [79] 100.0% [88] 1202(0.5%) 0(0.0%) for-loop .../herbie/develop/src/programs.rkt:183:2 table-ref [150] 100.0% ---------------------------------------------------------------------------- for-loop [76] 100.0% [89] 932(0.4%) 0(0.0%) reduce-to-single! ...lop/src/core/egraph.rkt:322:0 for-loop [99] 100.0% ---------------------------------------------------------------------------- for-loop [80] 100.0% [90] 320(0.1%) 320(0.1%) for-loop ...e/develop/src/core/simplify.rkt:178:37 ---------------------------------------------------------------------------- for-loop [80] 100.0% [91] 300(0.1%) 300(0.1%) andmap ...t/collects/racket/private/map.rkt:102:13 ---------------------------------------------------------------------------- ??? [83] 100.0% [92] 298(0.1%) 298(0.1%) ??? ...ects/racket/contract/private/list.rkt:163:5 ---------------------------------------------------------------------------- match-e [85] 100.0% [93] 60600(27.0%) 31210(13.9%) for-loop ...rbie/develop/src/core/ematch.rkt:52:11 for-loop [101] 46.1% foldr [106] 2.9% cartesian-product [108] 2.5% foldl [141] 1.8% cp-2 [116] 1.2% loop [125] 0.5% ---------------------------------------------------------------------------- reduce-to-new! [27] 1.8% for-loop [102] 8.3% for-loop [84] 89.9% [94] 45514(20.3%) 1296(0.6%) merge-egraph-nodes! ...p/src/core/egraph.rkt:153:0 update-leader! [100] 69.2% for-loop [102] 22.8% enode-merge! [107] 3.7% for-loop [110] 1.1% update-en-expr [163] 0.4% ---------------------------------------------------------------------------- for-loop [103] 16.7% for-loop [84] 83.3% [95] 6574(2.9%) 1274(0.6%) substitute-e ...e/develop/src/core/ematch.rkt:64:0 for-loop [103] 83.2% ??? [113] 3.8% variable? [105] 1.7% ---------------------------------------------------------------------------- for-loop [72] 10.6% for-loop [76] 20.2% match-e [85] 69.1% [96] 3270(1.5%) 3270(1.5%) make-sequence ...ects/racket/private/for.rkt:528:2 ---------------------------------------------------------------------------- expression-cost [87] 100.0% [97] 2198(1.0%) 0(0.0%) compile ...s/herbie/develop/src/programs.rkt:159:0 hash-ref! [104] 100.0% ---------------------------------------------------------------------------- custom-set-intersect [86] 100.0% [98] 1838(0.8%) 310(0.1%) for-loop ...cts/racket/private/set-types.rkt:207:3 for-loop [109] 83.1% ---------------------------------------------------------------------------- reduce-to-single! [89] 100.0% [99] 932(0.4%) 932(0.4%) for-loop ...rbie/develop/src/core/egraph.rkt:323:8 ---------------------------------------------------------------------------- for-loop [76] 9.9% merge-egraph-nodes! [94] 90.1% [100] 37618(16.8%) 926(0.4%) update-leader! ...evelop/src/core/egraph.rkt:215:0 for-loop [112] 76.7% for-loop [115] 19.2% custom-set-union! [122] 1.7% ---------------------------------------------------------------------------- for-loop [93] 100.0% [101] 35138(15.7%) 2838(1.3%) for-loop ...rbie/develop/src/core/ematch.rkt:58:37 match-e [85] 90.1% ??? [119] 1.8% ---------------------------------------------------------------------------- merge-egraph-nodes! [94] 100.0% [102] 13240(5.9%) 0(0.0%) for-loop ...bie/develop/src/core/egraph.rkt:201:10 merge-egraph-nodes! [94] 50.3% loop! [111] 49.7% ---------------------------------------------------------------------------- substitute-e [95] 100.0% [103] 6252(2.8%) 0(0.0%) for-loop ...rbie/develop/src/core/ematch.rkt:73:24 mk-enode! [114] 69.9% substitute-e [95] 30.1% ---------------------------------------------------------------------------- for-loop [17] 1.4% ??? [34] 1.6% ??? [121] 3.0% first-nonzero-exp [40] 4.0% for-loop [19] 5.4% loop [16] 7.1% ??? [58] 15.2% ??? [118] 23.0% compile [97] 36.3% [104] 3704(1.6%) 2198(1.0%) hash-ref! .../racket/private/more-scheme.rkt:376:2 ??? [118] 23.0% ??? [121] 11.1% ??? [120] 7.1% ??? [8] 7.0% ??? [9] 5.4% taylor [18] 4.1% simplify [142] 3.0% ---------------------------------------------------------------------------- substitute-e [95] 9.6% match-e [85] 90.4% [105] 3474(1.5%) 610(0.3%) variable? ...e/develop/src/syntax/syntax.rkt:716:0 ??? [113] 82.4% ---------------------------------------------------------------------------- for-loop [93] 100.0% [106] 2550(1.1%) 1230(0.5%) foldr ...et/collects/racket/private/list.rkt:242:4 cp-2 [116] 51.8% ---------------------------------------------------------------------------- merge-egraph-nodes! [94] 100.0% [107] 1844(0.8%) 0(0.0%) enode-merge! ...e/develop/src/core/enode.rkt:127:0 adopt-enode! [117] 100.0% ---------------------------------------------------------------------------- for-loop [93] 100.0% [108] 1828(0.8%) 1828(0.8%) cartesian-product ...ollects/racket/list.rkt:822:0 ---------------------------------------------------------------------------- for-loop [98] 100.0% [109] 1528(0.7%) 1528(0.7%) for-loop ...cts/racket/private/set-types.rkt:201:4 ---------------------------------------------------------------------------- *rules* [60] 31.5% merge-egraph-nodes! [94] 68.5% [110] 946(0.4%) 648(0.3%) for-loop ...ies/herbie/develop/src/common.rkt:79:9 ormap [123] 31.5% ---------------------------------------------------------------------------- for-loop [102] 14.6% loop [125] 30.5% for-loop [84] 54.9% [111] 32626(14.5%) 5874(2.6%) loop! ...s/herbie/develop/src/core/enode.rkt:190:2 custom-set-union [126] 37.8% loop [125] 33.8% set [137] 11.1% update-en-expr [163] 7.7% ---------------------------------------------------------------------------- update-leader! [100] 100.0% [112] 28852(12.9%) 962(0.4%) for-loop ...rbie/develop/src/core/egraph.rkt:220:6 for-loop [124] 96.7% ---------------------------------------------------------------------------- for-loop [36] 1.4% substitute-e [95] 2.8% variable? [105] 13.5% match-e [85] 35.5% finalize-iter! [42] 45.1% [113] 21178(9.4%) 10392(4.6%) ??? ...contract/private/arrow-val-first.rkt:388:18 for-loop [127] 45.1% ??? [130] 4.2% ---------------------------------------------------------------------------- for-loop [84] 49.8% for-loop [103] 50.2% [114] 8700(3.9%) 1890(0.8%) mk-enode! ...bie/develop/src/core/egraph.rkt:102:0 new-enode [128] 49.5% for-loop [129] 21.6% hash-has-key? [132] 7.1% ---------------------------------------------------------------------------- update-leader! [100] 100.0% [115] 7206(3.2%) 5014(2.2%) for-loop ...rbie/develop/src/core/egraph.rkt:230:6 update-en-expr [163] 30.4% ---------------------------------------------------------------------------- for-loop [93] 40.7% foldr [106] 59.3% [116] 2226(1.0%) 1604(0.7%) cp-2 .../p92/racket/collects/racket/list.rkt:826:2 for-loop [133] 27.9% ---------------------------------------------------------------------------- enode-merge! [107] 100.0% [117] 1844(0.8%) 596(0.3%) adopt-enode! ...e/develop/src/core/enode.rkt:103:0 custom-set-union [126] 67.7% ---------------------------------------------------------------------------- hash-ref! [104] 100.0% [118] 1284(0.6%) 0(0.0%) ??? ...tlies/herbie/develop/src/programs.rkt:167:5 hash-ref! [104] 100.0% ---------------------------------------------------------------------------- for-loop [77] 24.7% for-loop [101] 75.3% [119] 1262(0.6%) 950(0.4%) ??? ...ies/herbie/develop/src/core/ematch.rkt:43:5 for-loop [134] 24.7% ---------------------------------------------------------------------------- hash-ref! [104] 100.0% [120] 908(0.4%) 0(0.0%) ??? ...es/herbie/develop/src/core/taylor.rkt:68:15 ??? [58] 100.0% ---------------------------------------------------------------------------- hash-ref! [104] 100.0% [121] 906(0.4%) 0(0.0%) ??? ...es/herbie/develop/src/core/taylor.rkt:45:15 hash-ref! [104] 66.9% simplify [142] 33.1% ---------------------------------------------------------------------------- update-leader! [100] 100.0% [122] 634(0.3%) 0(0.0%) custom-set-union! ...t/private/set-types.rkt:245:0 for-loop [131] 100.0% ---------------------------------------------------------------------------- for-loop [110] 100.0% [123] 298(0.1%) 0(0.0%) ormap ...et/collects/racket/private/map.rkt:141:13 flag-set? [135] 100.0% ---------------------------------------------------------------------------- for-loop [112] 100.0% [124] 27890(12.4%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:221:8 hash-update! [136] 100.0% ---------------------------------------------------------------------------- taylor [18] 1.1% for-loop [93] 1.3% map-enodes [78] 5.4% loop! [111] 21.9% loop [125] 70.3% [125] 25408(11.3%) 1220(0.5%) loop ...cket/collects/racket/private/map.rkt:40:19 loop [125] 70.3% loop! [111] 20.5% set-precompute! [2] 5.4% foldl [141] 1.3% simplify [142] 1.1% ---------------------------------------------------------------------------- adopt-enode! [117] 8.6% loop! [111] 91.4% [126] 14510(6.5%) 4202(1.9%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [138] 66.8% for-loop [143] 4.3% ---------------------------------------------------------------------------- ??? [113] 100.0% [127] 9556(4.3%) 0(0.0%) for-loop ...ie/develop/src/core/alt-table.rkt:51:2 atab-add-altn [139] 100.0% ---------------------------------------------------------------------------- mk-enode! [114] 100.0% [128] 4310(1.9%) 926(0.4%) new-enode ...erbie/develop/src/core/enode.rkt:95:0 type-of-enode-expr [140] 56.8% set [137] 14.2% mutable-set [144] 7.5% ---------------------------------------------------------------------------- mk-enode! [114] 100.0% [129] 1878(0.8%) 1878(0.8%) for-loop ...bie/develop/src/core/egraph.rkt:114:10 ---------------------------------------------------------------------------- ??? [113] 100.0% [130] 894(0.4%) 894(0.4%) ??? ...ects/racket/contract/private/guts.rkt:746:8 ---------------------------------------------------------------------------- custom-set-union! [122] 100.0% [131] 634(0.3%) 634(0.3%) for-loop ...cts/racket/private/set-types.rkt:253:4 ---------------------------------------------------------------------------- mk-enode! [114] 100.0% [132] 622(0.3%) 622(0.3%) hash-has-key? ...ket/private/more-scheme.rkt:371:2 ---------------------------------------------------------------------------- cp-2 [116] 100.0% [133] 622(0.3%) 622(0.3%) for-loop .../racket/collects/racket/list.rkt:827:4 ---------------------------------------------------------------------------- ??? [119] 100.0% [134] 312(0.1%) 312(0.1%) for-loop ...erbie/develop/src/core/ematch.rkt:44:7 ---------------------------------------------------------------------------- ormap [123] 100.0% [135] 298(0.1%) 298(0.1%) flag-set? ...es/herbie/develop/src/config.rkt:31:0 ---------------------------------------------------------------------------- for-loop [124] 100.0% [136] 27890(12.4%) 0(0.0%) hash-update! ...cket/private/more-scheme.rkt:365:4 ??? [145] 100.0% ---------------------------------------------------------------------------- new-enode [128] 4.2% for-loop [76] 44.5% loop! [111] 51.4% [137] 14706(6.6%) 10664(4.8%) set ...collects/racket/private/set-types.rkt:981:0 for-loop [148] 27.5% ---------------------------------------------------------------------------- custom-set-union [126] 100.0% [138] 9690(4.3%) 1610(0.7%) for-loop ...cts/racket/private/set-types.rkt:174:3 for-loop [146] 83.4% ---------------------------------------------------------------------------- for-loop [127] 100.0% [139] 9556(4.3%) 0(0.0%) atab-add-altn ...elop/src/core/alt-table.rkt:210:0 best-and-tied-at-points [147] 67.4% override-at-pnts [149] 32.6% ---------------------------------------------------------------------------- new-enode [128] 100.0% [140] 2448(1.1%) 1200(0.5%) type-of-enode-expr ...elop/src/core/enode.rkt:68:0 table-ref [150] 51.0% ---------------------------------------------------------------------------- ??? [55] 15.8% loop [125] 16.8% for-loop [93] 67.4% [141] 1888(0.8%) 1272(0.6%) foldl ...et/collects/racket/private/list.rkt:229:4 merge2 [154] 16.8% ??? [155] 15.8% ---------------------------------------------------------------------------- loop [125] 16.2% for-loop [17] 16.6% ??? [121] 16.7% taylor-invert [30] 16.8% hash-ref! [104] 33.7% [142] 1798(0.8%) 0(0.0%) simplify ...erbie/develop/src/core/reduce.rkt:16:0 parse-loop80 [152] 33.4% debug-print [151] 33.4% f67 [153] 33.3% ---------------------------------------------------------------------------- custom-set-intersect [86] 32.7% custom-set-union [126] 67.3% [143] 918(0.4%) 918(0.4%) for-loop ...cts/racket/private/set-types.rkt:152:2 ---------------------------------------------------------------------------- new-enode [128] 100.0% [144] 322(0.1%) 322(0.1%) mutable-set .../racket/private/set-types.rkt:999:0 ---------------------------------------------------------------------------- hash-update! [136] 100.0% [145] 27890(12.4%) 912(0.4%) ??? ...s/herbie/develop/src/core/egraph.rkt:223:24 for-loop [156] 96.7% ---------------------------------------------------------------------------- for-loop [138] 100.0% [146] 8080(3.6%) 8080(3.6%) for-loop ...cts/racket/private/set-types.rkt:178:5 ---------------------------------------------------------------------------- atab-add-altn [139] 100.0% [147] 6444(2.9%) 0(0.0%) best-and-tied-at-points ...ore/alt-table.rkt:122:0 eval-prog [157] 100.0% ---------------------------------------------------------------------------- set [137] 100.0% [148] 4042(1.8%) 4042(1.8%) for-loop ...cts/racket/private/set-types.rkt:937:4 ---------------------------------------------------------------------------- atab-add-altn [139] 100.0% [149] 3112(1.4%) 0(0.0%) override-at-pnts ...p/src/core/alt-table.rkt:145:0 eval-prog [157] 100.0% ---------------------------------------------------------------------------- for-loop [88] 49.1% type-of-enode-expr [140] 50.9% [150] 2450(1.1%) 294(0.1%) table-ref ...es/herbie/develop/src/common.rkt:46:0 for-loop [158] 62.8% dict? [160] 13.1% assoc-iterate-first [161] 12.1% ---------------------------------------------------------------------------- iterate-egraph!7 [65] 35.8% simplify [142] 64.2% [151] 934(0.4%) 292(0.1%) debug-print .../herbie/develop/src/debug.rkt:107:0 ??? [159] 68.7% ---------------------------------------------------------------------------- simplify [142] 100.0% [152] 600(0.3%) 0(0.0%) parse-loop80 ...s/racket/match/compiler.rkt:418:15 temp68_2 [162] 100.0% ---------------------------------------------------------------------------- simplify [142] 100.0% [153] 598(0.3%) 0(0.0%) f67 ...t/collects/racket/match/compiler.rkt:507:40 temp68_2 [162] 100.0% ---------------------------------------------------------------------------- foldl [141] 100.0% [154] 318(0.1%) 318(0.1%) merge2 .../herbie/develop/src/core/ematch.rkt:24:0 ---------------------------------------------------------------------------- foldl [141] 100.0% [155] 298(0.1%) 0(0.0%) ??? ...ies/herbie/develop/src/alternative.rkt:45:9 ??? [58] 100.0% ---------------------------------------------------------------------------- ??? [145] 100.0% [156] 26978(12.0%) 23878(10.6%) for-loop ...bie/develop/src/core/egraph.rkt:224:26 update-en-expr [163] 11.5% ---------------------------------------------------------------------------- for-loop [52] 2.3% ??? [73] 2.5% override-at-pnts [149] 23.4% eval-const-expr [26] 23.4% best-and-tied-at-points [147] 48.4% [157] 13310(5.9%) 0(0.0%) eval-prog ...herbie/develop/src/programs.rkt:108:0 temp68_2 [162] 95.4% loop [177] 4.6% ---------------------------------------------------------------------------- table-ref [150] 100.0% [158] 1538(0.7%) 1538(0.7%) for-loop ...ies/herbie/develop/src/common.rkt:48:4 ---------------------------------------------------------------------------- debug-print [151] 100.0% [159] 642(0.3%) 0(0.0%) ??? .../contract/private/arrow-val-first.rkt:428:3 mk-call [164] 52.0% ~r78 [165] 48.0% ---------------------------------------------------------------------------- table-ref [150] 100.0% [160] 322(0.1%) 322(0.1%) dict? ...ollects/racket/private/generic.rkt:146:11 ---------------------------------------------------------------------------- table-ref [150] 100.0% [161] 296(0.1%) 296(0.1%) assoc-iterate-first ...cket/private/dict.rkt:166:0 ---------------------------------------------------------------------------- f67 [153] 4.3% parse-loop80 [152] 4.3% eval-prog [157] 91.4% [162] 13900(6.2%) 0(0.0%) temp68_2 (unknown source) compile16 [166] 100.0% ---------------------------------------------------------------------------- merge-egraph-nodes! [94] 3.3% for-loop [115] 21.2% for-loop [156] 29.9% loop! [111] 45.6% [163] 10352(4.6%) 2520(1.1%) update-en-expr ...evelop/src/core/egraph.rkt:209:0 for-loop [167] 75.7% ---------------------------------------------------------------------------- ??? [159] 100.0% [164] 334(0.1%) 334(0.1%) mk-call ...tract/private/arrow-val-first.rkt:431:5 ---------------------------------------------------------------------------- ??? [159] 100.0% [165] 308(0.1%) 308(0.1%) ~r78 ...92/racket/collects/racket/format.rkt:189:0 ---------------------------------------------------------------------------- temp68_2 [162] 100.0% [166] 13900(6.2%) 0(0.0%) compile16 (unknown source) temp74_0 [168] 100.0% ---------------------------------------------------------------------------- update-en-expr [163] 100.0% [167] 7832(3.5%) 7832(3.5%) for-loop ...rbie/develop/src/core/egraph.rkt:211:6 ---------------------------------------------------------------------------- compile16 [166] 100.0% [168] 13900(6.2%) 300(0.1%) temp74_0 (unknown source) expand-single [169] 93.5% expand [170] 2.2% compile-top9 [171] 2.2% ---------------------------------------------------------------------------- temp74_0 [168] 100.0% [169] 12996(5.8%) 0(0.0%) expand-single (unknown source) expand-capturing-lifts [172] 100.0% ---------------------------------------------------------------------------- temp74_0 [168] 100.0% [170] 302(0.1%) 302(0.1%) expand (unknown source) ---------------------------------------------------------------------------- temp74_0 [168] 100.0% [171] 302(0.1%) 0(0.0%) compile-top9 (unknown source) compile-forms31 [173] 100.0% ---------------------------------------------------------------------------- loop [177] 4.5% expand-single [169] 95.5% [172] 13604(6.1%) 298(0.1%) expand-capturing-lifts (unknown source) lambda-clause-expander [174] 91.1% dispatch-transformer41 [5] 4.5% for-loop [176] 2.2% ---------------------------------------------------------------------------- compile-top9 [171] 100.0% [173] 302(0.1%) 302(0.1%) compile-forms31 (unknown source) ---------------------------------------------------------------------------- expand-capturing-lifts [172] 100.0% [174] 12400(5.5%) 0(0.0%) lambda-clause-expander (unknown source) finish-bodys [175] 92.0% loop [177] 8.0% ---------------------------------------------------------------------------- lambda-clause-expander [174] 16.2% for-loop [176] 83.8% [175] 11414(5.1%) 0(0.0%) finish-bodys (unknown source) for-loop [176] 100.0% ---------------------------------------------------------------------------- expand-capturing-lifts [172] 1.2% fallback-loop [25] 4.6% for-loop [176] 11.7% finish-bodys [175] 82.4% [176] 12034(5.4%) 4466(2.0%) for-loop (unknown source) finish-bodys [175] 71.8% for-loop [176] 11.7% expand-implicit [4] 5.5% syntax-e [3] 3.7% dispatch-transformer41 [5] 1.3% loop [177] 0.4% expand-identifier [7] 0.3% ---------------------------------------------------------------------------- syntax->list [51] 1.5% for-loop [176] 4.5% eval-prog [157] 8.7% lambda-clause-expander [174] 8.8% apply-transformer52 [15] 13.9% syntax-e/no-taint [13] 62.7% [177] 6972(3.1%) 322(0.1%) loop (unknown source) gf [178] 61.1% core-form-sym [180] 11.4% expand-id-application-form17 [179] 9.4% expand-capturing-lifts [172] 8.7% syntax-e [3] 4.0% dispatch-transformer41 [5] 3.8% ---------------------------------------------------------------------------- loop [177] 100.0% [178] 4744(2.1%) 980(0.4%) gf (unknown source) propagation-apply [181] 60.6% propagation-merge [182] 12.5% propagation-apply-shifted [184] 6.2% ---------------------------------------------------------------------------- loop [177] 100.0% [179] 964(0.4%) 0(0.0%) expand-id-application-form17 (unknown source) syntax-e/no-taint [13] 64.5% binding-lookup50 [183] 35.5% ---------------------------------------------------------------------------- loop [177] 100.0% [180] 956(0.4%) 0(0.0%) core-form-sym (unknown source) resolve+shift28 [14] 100.0% ---------------------------------------------------------------------------- gf [178] 100.0% [181] 2874(1.3%) 2874(1.3%) propagation-apply (unknown source) ---------------------------------------------------------------------------- gf [178] 100.0% [182] 594(0.3%) 594(0.3%) propagation-merge (unknown source) ---------------------------------------------------------------------------- expand-id-application-form17 [179]100.0% [183] 342(0.2%) 342(0.2%) binding-lookup50 (unknown source) ---------------------------------------------------------------------------- gf [178] 100.0% [184] 296(0.1%) 296(0.1%) propagation-apply-shifted (unknown source) ----------------------------------------------------------------------------