Profiling results ----------------- Total cpu time observed: 5494ms (out of 5624ms) Number of samples taken: 36 (once every 153ms) ==================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ==================================================================== ??? [6] 100.0% [1] 5344(97.3%) 0(0.0%) profile-thunk14 ...t/pkgs/profile-lib/main.rkt:9:0 run [3] 100.0% -------------------------------------------------------------------- simplify-alt [24] 7.5% ??? [6] 92.5% [2] 2246(40.9%) 0(0.0%) simplify ...lock/herbie/src/core/simplify.rkt:39:0 simplify-expr [4] 69.6% for-loop [5] 16.1% iterate-egraph!5 [7] 14.2% -------------------------------------------------------------------- profile-thunk14 [1] 97.3% [3] 5494(100.0%) 0(0.0%) run ...share/racket/pkgs/profile-lib/main.rkt:31:2 ??? [6] 100.0% -------------------------------------------------------------------- simplify [2] 100.0% [4] 1564(28.5%) 0(0.0%) simplify-expr ...herbie/src/core/simplify.rkt:68:0 iterate-egraph!5 [7] 100.0% -------------------------------------------------------------------- simplify [2] 100.0% [5] 362(6.6%) 0(0.0%) for-loop ...ock/herbie/src/core/simplify.rkt:61:12 iterate-egraph!5 [7] 100.0% -------------------------------------------------------------------- for-loop [34] 12.6% run [3] 45.1% [6] 5494(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk14 [1] 42.3% run-improve58 [8] 25.5% loop [10] 19.6% simplify [2] 12.6% -------------------------------------------------------------------- simplify [2] 14.2% for-loop [5] 16.1% simplify-expr [4] 69.6% [7] 2246(40.9%) 0(0.0%) iterate-egraph!5 ...bie/src/core/simplify.rkt:95:0 one-iter [9] 93.4% debug-print [11] 6.6% -------------------------------------------------------------------- ??? [6] 100.0% [8] 3492(63.6%) 0(0.0%) run-improve58 ...ock/herbie/src/mainloop.rkt:242:0 for-loop [12] 64.1% get-final-combination [14] 31.1% setup-prog [17] 4.8% -------------------------------------------------------------------- iterate-egraph!5 [7] 100.0% [9] 2098(38.2%) 0(0.0%) one-iter ...ock/herbie/src/core/simplify.rkt:106:0 loop [13] 61.1% for-loop [16] 23.8% apply-match [20] 15.1% -------------------------------------------------------------------- ??? [6] 100.0% [10] 2002(36.4%) 0(0.0%) loop /home/ztatlock/herbie/src/points.rkt:122:2 loop [15] 44.3% make-exacts* [21] 40.9% for-loop [18] 7.5% loop [23] 7.4% -------------------------------------------------------------------- iterate-egraph!5 [7] 100.0% [11] 148(2.7%) 148(2.7%) debug-print ...ztatlock/herbie/src/debug.rkt:107:0 -------------------------------------------------------------------- run-improve58 [8] 100.0% [12] 2238(40.7%) 0(0.0%) for-loop ...ztatlock/herbie/src/mainloop.rkt:253:8 run-iter! [19] 100.0% -------------------------------------------------------------------- one-iter [9] 100.0% [13] 1282(23.3%) 0(0.0%) loop ...cket/collects/racket/private/map.rkt:53:19 apply-match [20] 100.0% -------------------------------------------------------------------- run-improve58 [8] 100.0% [14] 1086(19.8%) 0(0.0%) get-final-combination ...ie/src/mainloop.rkt:269:0 split-table [22] 100.0% -------------------------------------------------------------------- loop [10] 100.0% [15] 886(16.1%) 0(0.0%) loop /home/ztatlock/herbie/src/points.rkt:93:2 loop [23] 68.2% make-exacts* [21] 31.8% -------------------------------------------------------------------- for-loop [16] 50.0% one-iter [9] 50.0% [16] 500(9.1%) 180(3.3%) for-loop ...ck/herbie/src/core/simplify.rkt:116:12 for-loop [16] 50.0% match-e [28] 32.0% -------------------------------------------------------------------- run-improve58 [8] 100.0% [17] 168(3.1%) 0(0.0%) setup-prog /home/ztatlock/herbie/src/glue.rkt:46:0 simplify-alt [24] 100.0% -------------------------------------------------------------------- loop [10] 100.0% [18] 150(2.7%) 0(0.0%) for-loop .../ztatlock/herbie/src/points.rkt:128:18 for-loop [25] 100.0% -------------------------------------------------------------------- for-loop [12] 100.0% [19] 2238(40.7%) 0(0.0%) run-iter! ...tatlock/herbie/src/mainloop.rkt:223:0 simplify! [26] 92.9% localize-error [31] 7.1% -------------------------------------------------------------------- one-iter [9] 19.8% loop [13] 80.2% [20] 1598(29.1%) 166(3.0%) apply-match .../herbie/src/core/simplify.rkt:122:2 for-loop [29] 30.2% merge-egraph-nodes! [30] 29.3% match-e [28] 20.8% substitute-e [32] 9.4% -------------------------------------------------------------------- loop [15] 25.6% loop [10] 74.4% [21] 1100(20.0%) 0(0.0%) make-exacts* ...tatlock/herbie/src/points.rkt:80:0 map [49] 61.1% loop [53] 38.9% -------------------------------------------------------------------- get-final-combination [14] 100.0% [22] 1086(19.8%) 0(0.0%) split-table .../ztatlock/herbie/src/glue.rkt:171:0 infer-splitpoints4 [27] 100.0% -------------------------------------------------------------------- loop [10] 19.7% loop [15] 80.3% [23] 752(13.7%) 0(0.0%) loop /home/ztatlock/herbie/src/points.rkt:83:4 map [49] 100.0% -------------------------------------------------------------------- setup-prog [17] 100.0% [24] 168(3.1%) 0(0.0%) simplify-alt .../ztatlock/herbie/src/glue.rkt:84:0 simplify [2] 100.0% -------------------------------------------------------------------- for-loop [18] 100.0% [25] 150(2.7%) 0(0.0%) for-loop .../ztatlock/herbie/src/points.rkt:129:20 sample-double [33] 100.0% -------------------------------------------------------------------- run-iter! [19] 100.0% [26] 2078(37.8%) 0(0.0%) simplify! ...tatlock/herbie/src/mainloop.rkt:162:0 for-loop [34] 100.0% -------------------------------------------------------------------- split-table [22] 100.0% [27] 1086(19.8%) 0(0.0%) infer-splitpoints4 ...ie/src/core/regimes.rkt:19:0 option-on-expr [35] 100.0% -------------------------------------------------------------------- for-loop [38] 12.9% for-loop [16] 36.2% apply-match [20] 50.9% [28] 652(11.9%) 168(3.1%) match-e ...tatlock/herbie/src/core/ematch.rkt:46:0 for-loop [36] 74.2% for-loop [38] 12.9% -------------------------------------------------------------------- apply-match [20] 100.0% [29] 482(8.8%) 0(0.0%) for-loop ...ck/herbie/src/core/simplify.rkt:136:10 loop! [60] 68.5% mk-enode! [40] 31.5% -------------------------------------------------------------------- apply-match [20] 100.0% [30] 468(8.5%) 0(0.0%) merge-egraph-nodes! ...e/src/core/egraph.rkt:152:0 update-leader! [37] 100.0% -------------------------------------------------------------------- run-iter! [19] 100.0% [31] 160(2.9%) 0(0.0%) localize-error ...erbie/src/core/localize.rkt:47:0 hash-ref! [39] 100.0% -------------------------------------------------------------------- apply-match [20] 100.0% [32] 150(2.7%) 150(2.7%) substitute-e ...ck/herbie/src/core/ematch.rkt:71:0 -------------------------------------------------------------------- for-loop [25] 100.0% [33] 150(2.7%) 0(0.0%) sample-double .../src/syntax/distributions.rkt:8:0 random-exp [41] 100.0% -------------------------------------------------------------------- simplify! [26] 100.0% [34] 2078(37.8%) 0(0.0%) for-loop ...ztatlock/herbie/src/mainloop.rkt:166:6 ??? [6] 100.0% -------------------------------------------------------------------- infer-splitpoints4 [27] 100.0% [35] 1086(19.8%) 0(0.0%) option-on-expr ...erbie/src/core/regimes.rkt:106:0 sort-context-on-expr [42] 84.7% merge-err-lsts [45] 15.3% -------------------------------------------------------------------- match-e [28] 100.0% [36] 484(8.8%) 304(5.5%) for-loop ...tlock/herbie/src/core/ematch.rkt:59:11 list-cartesian-product [44] 37.2% -------------------------------------------------------------------- merge-egraph-nodes! [30] 100.0% [37] 468(8.5%) 0(0.0%) update-leader! ...herbie/src/core/egraph.rkt:217:0 for-loop [43] 100.0% -------------------------------------------------------------------- match-e [28] 100.0% [38] 168(3.1%) 0(0.0%) for-loop ...tlock/herbie/src/core/ematch.rkt:65:37 match-e [28] 100.0% -------------------------------------------------------------------- ??? [62] 50.0% localize-error [31] 50.0% [39] 160(2.9%) 0(0.0%) hash-ref! ...racket/private/more-scheme.rkt:373:13 parse-loop12 [47] 50.0% f6 [46] 50.0% -------------------------------------------------------------------- for-loop [29] 100.0% [40] 152(2.8%) 0(0.0%) mk-enode! ...lock/herbie/src/core/egraph.rkt:101:0 new-enode [48] 100.0% -------------------------------------------------------------------- sample-double [33] 100.0% [41] 150(2.7%) 150(2.7%) random-exp ...ztatlock/herbie/src/common.rkt:153:0 -------------------------------------------------------------------- option-on-expr [35] 100.0% [42] 920(16.7%) 0(0.0%) sort-context-on-expr ...herbie/src/points.rkt:50:0 sort [50] 100.0% -------------------------------------------------------------------- update-leader! [37] 100.0% [43] 468(8.5%) 0(0.0%) for-loop ...tlock/herbie/src/core/egraph.rkt:222:6 for-loop [51] 100.0% -------------------------------------------------------------------- list-cartesian-product [44] 50.0% for-loop [36] 50.0% [44] 180(3.3%) 180(3.3%) list-cartesian-product ...src/core/ematch.rkt:20:0 list-cartesian-product [44] 50.0% -------------------------------------------------------------------- option-on-expr [35] 100.0% [45] 166(3.0%) 166(3.0%) merge-err-lsts ...erbie/src/core/regimes.rkt:160:0 -------------------------------------------------------------------- hash-ref! [39] 100.0% [46] 160(2.9%) 0(0.0%) f6 ...et/collects/racket/match/compiler.rkt:499:40 map [49] 100.0% -------------------------------------------------------------------- hash-ref! [39] 100.0% [47] 160(2.9%) 0(0.0%) parse-loop12 ...s/racket/match/compiler.rkt:410:15 loop [53] 100.0% -------------------------------------------------------------------- mk-enode! [40] 100.0% [48] 152(2.8%) 0(0.0%) new-enode ...atlock/herbie/src/core/enode.rkt:68:0 mutable-set [52] 100.0% -------------------------------------------------------------------- f6 [46] 10.1% make-exacts* [21] 42.4% loop [23] 47.5% [49] 1584(28.8%) 0(0.0%) map ...acket/collects/racket/private/map.rkt:21:13 loop [53] 89.9% loop [56] 10.1% -------------------------------------------------------------------- sort-context-on-expr [42] 100.0% [50] 920(16.7%) 0(0.0%) sort ...ket/collects/racket/private/sort.rkt:213:0 copying-mergesort [54] 67.2% loop [58] 32.8% -------------------------------------------------------------------- for-loop [43] 100.0% [51] 468(8.5%) 0(0.0%) for-loop ...tlock/herbie/src/core/egraph.rkt:223:8 hash-update! [55] 100.0% -------------------------------------------------------------------- new-enode [48] 100.0% [52] 152(2.8%) 152(2.8%) mutable-set ...racket/private/set-types.rkt:1000:0 -------------------------------------------------------------------- make-exacts* [21] 0.0% loop! [60] 0.2% map [49] 2.0% parse-loop12 [47] 7.4% loop [53] 90.3% [53] 2160(39.3%) 0(0.0%) loop ...cket/collects/racket/private/map.rkt:26:19 loop [53] 90.3% ??? [62] 7.4% ??? [57] 2.0% loop! [60] 0.2% -------------------------------------------------------------------- sort [50] 33.1% copying-mergesort [54] 66.9% [54] 618(11.2%) 0(0.0%) copying-mergesort .../racket/private/sort.rkt:91:4 copying-mergesort [54] 66.9% loop [58] 20.3% jloop [61] 12.8% -------------------------------------------------------------------- for-loop [51] 100.0% [55] 468(8.5%) 0(0.0%) hash-update! ...ket/private/more-scheme.rkt:362:13 ??? [59] 100.0% -------------------------------------------------------------------- map [49] 12.5% loop [56] 87.5% [56] 160(2.9%) 160(2.9%) loop ...cket/collects/racket/private/map.rkt:37:19 loop [56] 87.5% -------------------------------------------------------------------- loop [53] 100.0% [57] 1852(33.7%) 174(3.2%) ??? /home/ztatlock/herbie/src/programs.rkt:168:4 ??? [63] 55.7% real->bigfloat [66] 21.0% ??? [75] 13.9% -------------------------------------------------------------------- sort [50] 50.0% copying-mergesort [54] 50.0% [58] 604(11.0%) 0(0.0%) loop ...cket/collects/racket/private/sort.rkt:64:8 ??? [64] 100.0% -------------------------------------------------------------------- hash-update! [55] 100.0% [59] 468(8.5%) 0(0.0%) ??? .../ztatlock/herbie/src/core/egraph.rkt:225:24 for-loop [65] 100.0% -------------------------------------------------------------------- loop [53] 22.4% for-loop [29] 77.6% [60] 330(6.0%) 0(0.0%) loop! .../ztatlock/herbie/src/core/enode.rkt:163:2 custom-set-union [67] 55.2% loop [53] 22.4% update-en-expr [69] 22.4% -------------------------------------------------------------------- copying-mergesort [54] 100.0% [61] 316(5.8%) 0(0.0%) jloop ...et/collects/racket/private/sort.rkt:85:19 ??? [64] 100.0% -------------------------------------------------------------------- loop [53] 100.0% [62] 160(2.9%) 0(0.0%) ??? ...ket/collects/racket/private/list.rkt:323:18 hash-ref! [39] 100.0% -------------------------------------------------------------------- ??? [57] 100.0% [63] 1032(18.8%) 0(0.0%) ??? ...acket/collects/racket/private/kw.rkt:400:14 ??? [72] 47.5% ...higher-order.rkt:373:33 [70] 28.5% bf* [71] 24.0% -------------------------------------------------------------------- jloop [61] 34.3% loop [58] 65.7% [64] 920(16.7%) 150(2.7%) ??? /home/ztatlock/herbie/src/points.rkt:52:27 eval-prog [68] 83.7% -------------------------------------------------------------------- ??? [59] 100.0% [65] 468(8.5%) 302(5.5%) for-loop ...lock/herbie/src/core/egraph.rkt:226:26 update-en-expr [69] 35.5% -------------------------------------------------------------------- ??? [57] 100.0% [66] 388(7.1%) 272(5.0%) real->bigfloat .../private/bigfloat/mpfr.rkt:451:0 ??? [79] 29.9% -------------------------------------------------------------------- loop! [60] 100.0% [67] 182(3.3%) 182(3.3%) custom-set-union ...et/private/set-types.rkt:168:0 -------------------------------------------------------------------- ??? [64] 100.0% [68] 770(14.0%) 620(11.3%) eval-prog ...tatlock/herbie/src/programs.rkt:162:0 ??? [74] 19.5% -------------------------------------------------------------------- loop! [60] 47.1% for-loop [65] 52.9% [69] 314(5.7%) 314(5.7%) update-en-expr ...herbie/src/core/egraph.rkt:211:0 -------------------------------------------------------------------- ??? [63] 100.0% [70] 294(5.4%) 0(0.0%) ...higher-order.rkt:373:33 (unknown source) ??? [73] 100.0% -------------------------------------------------------------------- ??? [63] 100.0% [71] 248(4.5%) 0(0.0%) bf* ...ath/private/bigfloat/bigfloat-mpfr.rkt:95:0 ??? [72] 100.0% -------------------------------------------------------------------- bf* [71] 33.6% ??? [63] 66.4% [72] 738(13.4%) 0(0.0%) ??? ...-racket/utils/simple-result-arrow.rkt:26:12 ??? [78] 66.4% bfmul [76] 33.6% -------------------------------------------------------------------- ...higher-order.rkt:373:33 [70]100.0% [73] 294(5.4%) 0(0.0%) ??? ...cts/racket/contract/private/list.rkt:187:10 ??? [75] 100.0% -------------------------------------------------------------------- eval-prog [68] 100.0% [74] 150(2.7%) 0(0.0%) ??? ...collects/racket/private/qq-and-or.rkt:155:9 ??? [77] 100.0% -------------------------------------------------------------------- ??? [57] 46.7% ??? [73] 53.3% [75] 552(10.0%) 0(0.0%) ??? ...ects/racket/contract/private/guts.rkt:638:8 ??? [78] 100.0% -------------------------------------------------------------------- ??? [72] 100.0% [76] 248(4.5%) 0(0.0%) bfmul ...-lib/math/private/bigfloat/mpfr.rkt:819:4 ??? [79] 100.0% -------------------------------------------------------------------- ??? [74] 100.0% [77] 150(2.7%) 150(2.7%) ??? ...ollects/racket/private/qq-and-or.rkt:164:21 -------------------------------------------------------------------- ??? [72] 47.0% ??? [75] 53.0% [78] 1042(19.0%) 760(13.8%) ??? ...tract/private/arrow-higher-order.rkt:373:33 ??? [80] 27.1% -------------------------------------------------------------------- real->bigfloat [66] 31.9% bfmul [76] 68.1% [79] 364(6.6%) 364(6.6%) ??? .../share/racket/collects/ffi/unsafe.rkt:861:4 -------------------------------------------------------------------- ??? [78] 100.0% [80] 282(5.1%) 0(0.0%) ??? ...llects/racket/contract/combinator.rkt:178:4 any-wrap/traverse [81] 100.0% -------------------------------------------------------------------- ??? [80] 100.0% [81] 282(5.1%) 282(5.1%) any-wrap/traverse ...cket/utils/any-wrap.rkt:106:2 --------------------------------------------------------------------