Profiling results ----------------- Total cpu time observed: 17406ms (out of 17628ms) Number of samples taken: 77 (once every 226ms) ==================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ==================================================================== ??? [27] 100.0% [1] 16762(96.3%) 0(0.0%) profile-thunk16 ...t/pkgs/profile-lib/main.rkt:9:0 run [6] 100.0% -------------------------------------------------------------------- ??? [27] 100.0% [2] 12944(74.4%) 0(0.0%) run-improve50 ...ock/herbie/src/mainloop.rkt:237:0 for-loop [7] 85.0% get-final-combination [9] 13.1% loop [35] 1.9% -------------------------------------------------------------------- ??? [27] 100.0% [3] 9940(57.1%) 0(0.0%) simplify ...lock/herbie/src/core/simplify.rkt:39:0 simplify-expr [8] 66.0% iterate-egraph!5 [12] 22.0% for-loop [10] 12.0% -------------------------------------------------------------------- hash-ref! [78] 100.0% [4] 618(3.6%) 0(0.0%) ??? /home/ztatlock/herbie/src/programs.rkt:287:5 loop [68] 100.0% -------------------------------------------------------------------- copying-mergesort [55] 100.0% [5] 432(2.5%) 0(0.0%) jloop ...t/collects/racket/private/sort.rkt:121:23 ??? [69] 100.0% -------------------------------------------------------------------- profile-thunk16 [1] 100.0% [6] 16762(96.3%) 0(0.0%) run ...share/racket/pkgs/profile-lib/main.rkt:39:2 ??? [27] 100.0% -------------------------------------------------------------------- run-improve50 [2] 100.0% [7] 11008(63.2%) 0(0.0%) for-loop ...ztatlock/herbie/src/mainloop.rkt:248:8 run-iter! [11] 100.0% -------------------------------------------------------------------- simplify [3] 100.0% [8] 6556(37.7%) 0(0.0%) simplify-expr ...herbie/src/core/simplify.rkt:68:0 iterate-egraph!5 [12] 100.0% -------------------------------------------------------------------- run-improve50 [2] 100.0% [9] 1696(9.7%) 0(0.0%) get-final-combination ...ie/src/mainloop.rkt:264:0 split-table [13] 100.0% -------------------------------------------------------------------- simplify [3] 100.0% [10] 1196(6.9%) 0(0.0%) for-loop ...ock/herbie/src/core/simplify.rkt:61:12 iterate-egraph!5 [12] 100.0% -------------------------------------------------------------------- for-loop [7] 100.0% [11] 11008(63.2%) 0(0.0%) run-iter! ...tatlock/herbie/src/mainloop.rkt:218:0 simplify! [14] 90.3% finalize-iter! [17] 5.7% gen-series! [18] 2.0% gen-rewrites! [19] 2.0% -------------------------------------------------------------------- for-loop [10] 12.0% simplify [3] 22.0% simplify-expr [8] 66.0% [12] 9940(57.1%) 0(0.0%) iterate-egraph!5 ...bie/src/core/simplify.rkt:95:0 one-iter [15] 100.0% -------------------------------------------------------------------- get-final-combination [9] 100.0% [13] 1696(9.7%) 0(0.0%) split-table .../ztatlock/herbie/src/glue.rkt:170:0 f12 [16] 100.0% -------------------------------------------------------------------- run-iter! [11] 100.0% [14] 9940(57.1%) 0(0.0%) simplify! ...tatlock/herbie/src/mainloop.rkt:157:0 for-loop [20] 100.0% -------------------------------------------------------------------- iterate-egraph!5 [12] 100.0% [15] 9940(57.1%) 844(4.8%) one-iter ...ock/herbie/src/core/simplify.rkt:106:0 for-loop [21] 59.6% loop [22] 31.9% -------------------------------------------------------------------- split-table [13] 100.0% [16] 1696(9.7%) 0(0.0%) f12 ...t/collects/racket/match/compiler.rkt:507:40 option-on-expr [23] 100.0% -------------------------------------------------------------------- run-iter! [11] 100.0% [17] 624(3.6%) 0(0.0%) finalize-iter! ...ck/herbie/src/mainloop.rkt:172:0 ??? [24] 100.0% -------------------------------------------------------------------- run-iter! [11] 100.0% [18] 224(1.3%) 0(0.0%) gen-series! ...tlock/herbie/src/mainloop.rkt:129:0 for-loop [25] 100.0% -------------------------------------------------------------------- run-iter! [11] 100.0% [19] 220(1.3%) 0(0.0%) gen-rewrites! ...ock/herbie/src/mainloop.rkt:143:0 for-loop [26] 100.0% -------------------------------------------------------------------- simplify! [14] 100.0% [20] 9940(57.1%) 0(0.0%) for-loop ...ztatlock/herbie/src/mainloop.rkt:161:6 ??? [27] 100.0% -------------------------------------------------------------------- for-loop [21] 46.3% one-iter [15] 53.7% [21] 5926(34.0%) 1444(8.3%) for-loop ...ck/herbie/src/core/simplify.rkt:116:12 for-loop [21] 46.3% match-e [34] 37.8% -------------------------------------------------------------------- one-iter [15] 100.0% [22] 3170(18.2%) 0(0.0%) loop ...cket/collects/racket/private/map.rkt:52:19 apply-match [28] 100.0% -------------------------------------------------------------------- f12 [16] 100.0% [23] 1696(9.7%) 0(0.0%) option-on-expr ...erbie/src/core/regimes.rkt:115:0 sort-context-on-expr [29] 86.8% pick-errors [31] 13.2% -------------------------------------------------------------------- finalize-iter! [17] 100.0% [24] 624(3.6%) 0(0.0%) ??? ...contract/private/arrow-val-first.rkt:357:18 for-loop [30] 100.0% -------------------------------------------------------------------- gen-series! [18] 100.0% [25] 224(1.3%) 0(0.0%) for-loop ...ztatlock/herbie/src/mainloop.rkt:135:7 taylor-alt [32] 100.0% -------------------------------------------------------------------- gen-rewrites! [19] 100.0% [26] 220(1.3%) 0(0.0%) for-loop ...tatlock/herbie/src/mainloop.rkt:148:11 ??? [33] 100.0% -------------------------------------------------------------------- for-loop [20] 19.7% run [6] 39.2% [27] 17406(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 39.2% run-improve50 [2] 28.3% simplify [3] 19.7% loop [35] 12.8% -------------------------------------------------------------------- loop [22] 100.0% [28] 3170(18.2%) 240(1.4%) apply-match .../herbie/src/core/simplify.rkt:122:2 match-e [34] 32.4% loop! [73] 20.3% for-loop [38] 19.5% merge-egraph-nodes! [39] 13.2% substitute-e [42] 7.0% -------------------------------------------------------------------- option-on-expr [23] 100.0% [29] 1472(8.5%) 0(0.0%) sort-context-on-expr ...herbie/src/points.rkt:79:0 ??? [36] 100.0% -------------------------------------------------------------------- ??? [24] 100.0% [30] 624(3.6%) 0(0.0%) for-loop ...ock/herbie/src/core/alt-table.rkt:51:2 atab-add-altn [37] 100.0% -------------------------------------------------------------------- option-on-expr [23] 100.0% [31] 224(1.3%) 0(0.0%) pick-errors ...k/herbie/src/core/regimes.rkt:180:0 for-loop [40] 100.0% -------------------------------------------------------------------- for-loop [25] 100.0% [32] 224(1.3%) 0(0.0%) taylor-alt ...e/ztatlock/herbie/src/glue.rkt:141:0 for-loop [41] 100.0% -------------------------------------------------------------------- for-loop [26] 100.0% [33] 220(1.3%) 0(0.0%) ??? /home/ztatlock/herbie/src/alternative.rkt:90:0 rewriter [43] 100.0% -------------------------------------------------------------------- apply-match [28] 15.0% for-loop [54] 15.4% for-loop [21] 69.6% [34] 5508(31.6%) 2540(14.6%) match-e ...tatlock/herbie/src/core/ematch.rkt:46:0 for-loop [44] 41.8% list-cartesian-product [56] 8.2% loop [68] 5.6% for-loop [54] 3.8% -------------------------------------------------------------------- run-improve50 [2] 5.1% ??? [27] 94.9% [35] 4702(27.0%) 0(0.0%) loop /home/ztatlock/herbie/src/points.rkt:159:2 make-exacts* [53] 56.5% loop [45] 38.4% loop [57] 5.1% -------------------------------------------------------------------- sort-context-on-expr [29] 100.0% [36] 1472(8.5%) 0(0.0%) ??? ...cket/collects/racket/private/sort.rkt:403:3 generic-sort/key [46] 86.4% loop [64] 13.6% -------------------------------------------------------------------- for-loop [30] 100.0% [37] 624(3.6%) 0(0.0%) atab-add-altn ...rbie/src/core/alt-table.rkt:208:0 best-and-tied-at-points [47]100.0% -------------------------------------------------------------------- apply-match [28] 100.0% [38] 618(3.6%) 0(0.0%) for-loop ...ck/herbie/src/core/simplify.rkt:136:10 loop! [73] 100.0% -------------------------------------------------------------------- for-loop [51] 13.1% merge-egraph-nodes! [39] 26.2% apply-match [28] 60.7% [39] 420(2.4%) 0(0.0%) merge-egraph-nodes! ...e/src/core/egraph.rkt:152:0 update-leader! [48] 60.7% merge-egraph-nodes! [39] 26.2% for-loop [51] 13.1% -------------------------------------------------------------------- pick-errors [31] 100.0% [40] 224(1.3%) 0(0.0%) for-loop ...lock/herbie/src/core/regimes.rkt:183:4 eval-prog [72] 100.0% -------------------------------------------------------------------- taylor-alt [32] 100.0% [41] 224(1.3%) 0(0.0%) for-loop /home/ztatlock/herbie/src/glue.rkt:143:2 location-do [49] 100.0% -------------------------------------------------------------------- apply-match [28] 100.0% [42] 222(1.3%) 0(0.0%) substitute-e ...ck/herbie/src/core/ematch.rkt:71:0 mk-enode! [50] 100.0% -------------------------------------------------------------------- ??? [33] 33.3% matcher [62] 66.7% [43] 220(1.3%) 0(0.0%) rewriter ...lock/herbie/src/core/matcher.rkt:127:2 for-loop [52] 100.0% -------------------------------------------------------------------- match-e [34] 100.0% [44] 2938(16.9%) 832(4.8%) for-loop ...tlock/herbie/src/core/ematch.rkt:59:11 for-loop [54] 43.4% list-cartesian-product [56] 18.1% loop [68] 7.4% filter [99] 6.6% -------------------------------------------------------------------- loop [35] 100.0% [45] 1804(10.4%) 0(0.0%) loop /home/ztatlock/herbie/src/points.rkt:119:2 make-exacts* [53] 49.9% loop [57] 37.8% eval-prog [72] 12.3% -------------------------------------------------------------------- ??? [36] 100.0% [46] 1272(7.3%) 0(0.0%) generic-sort/key .../racket/private/sort.rkt:185:2 copying-mergesort [55] 100.0% -------------------------------------------------------------------- atab-add-altn [37] 100.0% [47] 624(3.6%) 0(0.0%) best-and-tied-at-points ...ore/alt-table.rkt:122:0 errors [58] 100.0% -------------------------------------------------------------------- merge-egraph-nodes! [39] 100.0% [48] 420(2.4%) 0(0.0%) update-leader! ...herbie/src/core/egraph.rkt:217:0 for-loop [59] 100.0% -------------------------------------------------------------------- location-do [49] 50.0% for-loop [41] 50.0% [49] 224(1.3%) 0(0.0%) location-do ...tlock/herbie/src/programs.rkt:219:0 location-do [49] 50.0% approximate9 [60] 50.0% -------------------------------------------------------------------- substitute-e [42] 100.0% [50] 222(1.3%) 0(0.0%) mk-enode! ...lock/herbie/src/core/egraph.rkt:101:0 hash-has-key? [61] 100.0% -------------------------------------------------------------------- merge-egraph-nodes! [39] 100.0% [51] 220(1.3%) 0(0.0%) for-loop ...lock/herbie/src/core/egraph.rkt:200:10 merge-egraph-nodes! [39] 100.0% -------------------------------------------------------------------- rewriter [43] 100.0% [52] 220(1.3%) 0(0.0%) for-loop ...ock/herbie/src/core/matcher.rkt:130:10 matcher [62] 100.0% -------------------------------------------------------------------- loop [45] 25.3% loop [35] 74.7% [53] 3558(20.4%) 0(0.0%) make-exacts* ...atlock/herbie/src/points.rkt:106:0 loop [68] 54.6% map [63] 34.2% eval-prog [72] 11.1% -------------------------------------------------------------------- match-e [34] 18.6% for-loop [44] 81.4% [54] 1694(9.7%) 218(1.3%) for-loop ...tlock/herbie/src/core/ematch.rkt:65:37 match-e [34] 93.6% -------------------------------------------------------------------- copying-mergesort [55] 33.8% generic-sort/key [46] 66.2% [55] 1272(7.3%) 0(0.0%) copying-mergesort ...racket/private/sort.rkt:130:8 loop [64] 57.7% copying-mergesort [55] 33.8% jloop [5] 8.5% -------------------------------------------------------------------- for-loop [44] 29.1% match-e [34] 31.8% list-cartesian-product [56] 39.1% [56] 1086(6.2%) 1086(6.2%) list-cartesian-product ...src/core/ematch.rkt:20:0 list-cartesian-product [56] 39.1% -------------------------------------------------------------------- loop [35] 26.0% loop [45] 74.0% [57] 922(5.3%) 0(0.0%) loop /home/ztatlock/herbie/src/points.rkt:109:4 map [63] 100.0% -------------------------------------------------------------------- best-and-tied-at-points [47]100.0% [58] 624(3.6%) 0(0.0%) errors /home/ztatlock/herbie/src/points.rkt:184:0 eval-prog [72] 68.6% for-loop [67] 31.4% -------------------------------------------------------------------- update-leader! [48] 100.0% [59] 420(2.4%) 0(0.0%) for-loop ...tlock/herbie/src/core/egraph.rkt:222:6 for-loop [65] 100.0% -------------------------------------------------------------------- location-do [49] 100.0% [60] 224(1.3%) 0(0.0%) approximate9 ...ck/herbie/src/core/taylor.rkt:12:0 loop [66] 100.0% -------------------------------------------------------------------- mk-enode! [50] 100.0% [61] 222(1.3%) 222(1.3%) hash-has-key? ...et/private/more-scheme.rkt:368:13 -------------------------------------------------------------------- matcher [62] 40.0% for-loop [52] 60.0% [62] 220(1.3%) 220(1.3%) matcher ...tlock/herbie/src/core/matcher.rkt:163:2 matcher [62] 40.0% rewriter [43] 40.0% -------------------------------------------------------------------- loop [57] 43.1% make-exacts* [53] 56.9% [63] 2140(12.3%) 0(0.0%) map ...acket/collects/racket/private/map.rkt:20:13 loop [68] 100.0% -------------------------------------------------------------------- ??? [36] 19.2% copying-mergesort [55] 80.8% [64] 1040(6.0%) 0(0.0%) loop ...ket/collects/racket/private/sort.rkt:97:12 ??? [69] 100.0% -------------------------------------------------------------------- for-loop [59] 100.0% [65] 420(2.4%) 0(0.0%) for-loop ...tlock/herbie/src/core/egraph.rkt:223:8 hash-update! [70] 100.0% -------------------------------------------------------------------- approximate9 [60] 100.0% [66] 224(1.3%) 0(0.0%) loop ...e/ztatlock/herbie/src/core/taylor.rkt:83:4 hash-ref! [78] 100.0% -------------------------------------------------------------------- errors [58] 100.0% [67] 196(1.1%) 0(0.0%) for-loop ...e/ztatlock/herbie/src/points.rkt:187:4 ??? [71] 100.0% -------------------------------------------------------------------- make-exacts* [53] 0.2% map [63] 1.6% for-loop [44] 3.6% match-e [34] 7.1% loop! [73] 7.8% ??? [4] 10.3% loop [68] 69.5% [68] 5982(34.4%) 0(0.0%) loop ...cket/collects/racket/private/map.rkt:25:19 loop [68] 69.5% foldl [74] 10.7% hash-ref! [78] 10.3% loop! [73] 7.8% ??? [71] 1.7% ->flonum [77] 0.0% -------------------------------------------------------------------- jloop [5] 29.3% loop [64] 70.7% [69] 1472(8.5%) 0(0.0%) ??? /home/ztatlock/herbie/src/points.rkt:81:27 eval-prog [72] 100.0% -------------------------------------------------------------------- for-loop [65] 100.0% [70] 420(2.4%) 0(0.0%) hash-update! ...ket/private/more-scheme.rkt:362:13 ??? [75] 100.0% -------------------------------------------------------------------- for-loop [67] 6.3% loop [68] 93.7% [71] 3116(17.9%) 228(1.3%) ??? /home/ztatlock/herbie/src/programs.rkt:258:4 ??? [76] 78.2% ??? [83] 8.2% ->flonum [77] 6.3% -------------------------------------------------------------------- loop [45] 8.1% for-loop [40] 8.2% make-exacts* [53] 14.4% errors [58] 15.6% ??? [69] 53.7% [72] 2742(15.8%) 2124(12.2%) eval-prog ...tatlock/herbie/src/programs.rkt:252:0 hash-ref! [78] 22.5% -------------------------------------------------------------------- loop [68] 28.4% for-loop [38] 29.4% apply-match [28] 42.2% [73] 1262(7.3%) 400(2.3%) loop! .../ztatlock/herbie/src/core/enode.rkt:163:2 loop [68] 28.4% custom-set-union [79] 26.2% set [81] 13.7% -------------------------------------------------------------------- loop [68] 100.0% [74] 638(3.7%) 216(1.2%) foldl ...et/collects/racket/private/list.rkt:229:4 merge2 [80] 66.1% -------------------------------------------------------------------- hash-update! [70] 100.0% [75] 420(2.4%) 0(0.0%) ??? .../ztatlock/herbie/src/core/egraph.rkt:225:24 for-loop [82] 100.0% -------------------------------------------------------------------- ??? [71] 100.0% [76] 2438(14.0%) 170(1.0%) ??? ...acket/collects/racket/private/kw.rkt:444:14 bf* [85] 47.7% ??? [91] 45.4% -------------------------------------------------------------------- ??? [71] 14.4% loop [68] 85.6% [77] 1360(7.8%) 0(0.0%) ->flonum ...ock/herbie/src/syntax/syntax.rkt:230:0 ??? [84] 100.0% -------------------------------------------------------------------- ??? [89] 13.3% loop [66] 13.3% eval-prog [72] 29.3% loop [68] 44.1% [78] 842(4.8%) 0(0.0%) hash-ref! ...racket/private/more-scheme.rkt:373:13 ??? [4] 44.1% bigfloat-hash [86] 29.3% ??? [89] 13.3% simplify [88] 13.3% -------------------------------------------------------------------- loop! [73] 100.0% [79] 442(2.5%) 442(2.5%) custom-set-union ...et/private/set-types.rkt:168:0 -------------------------------------------------------------------- foldl [74] 100.0% [80] 422(2.4%) 422(2.4%) merge2 ...ztatlock/herbie/src/core/ematch.rkt:31:0 -------------------------------------------------------------------- loop! [73] 100.0% [81] 420(2.4%) 420(2.4%) set ...collects/racket/private/set-types.rkt:981:0 -------------------------------------------------------------------- ??? [75] 100.0% [82] 420(2.4%) 200(1.1%) for-loop ...lock/herbie/src/core/egraph.rkt:226:26 update-en-expr [90] 52.4% -------------------------------------------------------------------- ??? [71] 100.0% [83] 254(1.5%) 0(0.0%) ??? ...contract/private/../../private/kw.rkt:761:9 real->bigfloat [87] 100.0% -------------------------------------------------------------------- ->flonum [77] 100.0% [84] 1360(7.8%) 492(2.8%) ??? /home/ztatlock/herbie/src/config.rkt:48:0 ??? [92] 49.4% return/no-unsupplied [96] 14.4% -------------------------------------------------------------------- ??? [76] 100.0% [85] 1162(6.7%) 0(0.0%) bf* ...ath/private/bigfloat/bigfloat-mpfr.rkt:95:0 ??? [91] 100.0% -------------------------------------------------------------------- hash-ref! [78] 100.0% [86] 618(3.6%) 0(0.0%) bigfloat-hash ...h/private/bigfloat/mpfr.rkt:165:0 bfcanonicalize [93] 64.1% sig+exp->bigfloat [95] 35.9% -------------------------------------------------------------------- ??? [83] 100.0% [87] 254(1.5%) 254(1.5%) real->bigfloat .../private/bigfloat/mpfr.rkt:451:0 -------------------------------------------------------------------- hash-ref! [78] 100.0% [88] 224(1.3%) 0(0.0%) simplify ...atlock/herbie/src/core/reduce.rkt:15:0 parse-loop50 [94] 100.0% -------------------------------------------------------------------- hash-ref! [78] 100.0% [89] 224(1.3%) 0(0.0%) ??? ...e/ztatlock/herbie/src/core/taylor.rkt:43:15 hash-ref! [78] 100.0% -------------------------------------------------------------------- for-loop [82] 100.0% [90] 220(1.3%) 220(1.3%) update-en-expr ...herbie/src/core/egraph.rkt:211:0 -------------------------------------------------------------------- ??? [76] 48.8% bf* [85] 51.2% [91] 2268(13.0%) 240(1.4%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bfadd [97] 89.4% -------------------------------------------------------------------- ??? [84] 100.0% [92] 672(3.9%) 0(0.0%) ??? ...racket/collects/racket/private/kw.rkt:761:9 ??? [98] 100.0% -------------------------------------------------------------------- bigfloat-hash [86] 100.0% [93] 396(2.3%) 396(2.3%) bfcanonicalize .../private/bigfloat/mpfr.rkt:155:0 -------------------------------------------------------------------- simplify [88] 100.0% [94] 224(1.3%) 224(1.3%) parse-loop50 ...s/racket/match/compiler.rkt:418:15 -------------------------------------------------------------------- bigfloat-hash [86] 100.0% [95] 222(1.3%) 222(1.3%) sig+exp->bigfloat ...ivate/bigfloat/mpfr.rkt:385:0 -------------------------------------------------------------------- ??? [84] 100.0% [96] 196(1.1%) 0(0.0%) return/no-unsupplied ...ct/private/arr-i.rkt:533:0 filter [99] 100.0% -------------------------------------------------------------------- ??? [91] 100.0% [97] 2028(11.7%) 1598(9.2%) bfadd ...-lib/math/private/bigfloat/mpfr.rkt:819:4 ??? [100] 21.2% -------------------------------------------------------------------- ??? [92] 100.0% [98] 672(3.9%) 672(3.9%) ??? ...s/racket/contract/private/arr-i.rkt:1233:27 -------------------------------------------------------------------- for-loop [44] 49.7% return/no-unsupplied [96] 50.3% [99] 390(2.2%) 390(2.2%) filter ...t/collects/racket/private/list.rkt:256:2 -------------------------------------------------------------------- bfadd [97] 100.0% [100] 430(2.5%) 430(2.5%) ??? .../share/racket/collects/ffi/unsafe.rkt:861:4 --------------------------------------------------------------------