Profiling results ----------------- Total cpu time observed: 21886ms (out of 22512ms) Number of samples taken: 118 (once every 185ms) (Hiding functions with self<1.0% and local<2.0%: 2 of 104 hidden) ==================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ==================================================================== ??? [25] 100.0% [1] 21580(98.6%) 0(0.0%) profile-thunk16 ...t/pkgs/profile-lib/main.rkt:9:0 run [5] 100.0% -------------------------------------------------------------------- ??? [25] 100.0% [2] 3370(15.4%) 0(0.0%) run-improve50 ...ock/herbie/src/mainloop.rkt:234:0 for-loop [6] 85.2% loop [29] 8.5% setup-prog [9] 6.3% -------------------------------------------------------------------- ??? [25] 100.0% [3] 2132(9.7%) 0(0.0%) simplify ...lock/herbie/src/core/simplify.rkt:39:0 simplify-expr [7] 79.5% for-loop [8] 20.5% -------------------------------------------------------------------- hash-ref! [93] 100.0% [4] 132(0.6%) 0(0.0%) taylor-invert .../herbie/src/core/taylor.rkt:308:0 first-nonzero-exp [10] 100.0% -------------------------------------------------------------------- profile-thunk16 [1] 99.2% [5] 21754(99.4%) 0(0.0%) run ...share/racket/pkgs/profile-lib/main.rkt:39:2 ??? [25] 100.0% -------------------------------------------------------------------- run-improve50 [2] 100.0% [6] 2872(13.1%) 0(0.0%) for-loop ...ztatlock/herbie/src/mainloop.rkt:245:8 run-iter! [11] 100.0% -------------------------------------------------------------------- simplify [3] 100.0% [7] 1694(7.7%) 0(0.0%) simplify-expr ...herbie/src/core/simplify.rkt:68:0 iterate-egraph!5 [12] 100.0% -------------------------------------------------------------------- simplify [3] 100.0% [8] 438(2.0%) 0(0.0%) for-loop ...ock/herbie/src/core/simplify.rkt:61:12 iterate-egraph!5 [12] 100.0% -------------------------------------------------------------------- run-improve50 [2] 100.0% [9] 212(1.0%) 0(0.0%) setup-prog /home/ztatlock/herbie/src/glue.rkt:45:0 ??? [58] 100.0% -------------------------------------------------------------------- taylor-invert [4] 100.0% [10] 132(0.6%) 0(0.0%) first-nonzero-exp ...bie/src/core/taylor.rkt:256:0 hash-ref! [93] 100.0% -------------------------------------------------------------------- for-loop [6] 100.0% [11] 2872(13.1%) 0(0.0%) run-iter! ...tatlock/herbie/src/mainloop.rkt:215:0 simplify! [13] 69.6% finalize-iter! [15] 14.1% localize-error [16] 7.2% gen-series! [17] 4.6% gen-rewrites! [19] 4.5% -------------------------------------------------------------------- for-loop [8] 20.5% simplify-expr [7] 79.5% [12] 2132(9.7%) 0(0.0%) iterate-egraph!5 ...bie/src/core/simplify.rkt:95:0 one-iter [14] 93.8% map-enodes [18] 6.2% -------------------------------------------------------------------- run-iter! [11] 100.0% [13] 2000(9.1%) 0(0.0%) simplify! ...tatlock/herbie/src/mainloop.rkt:155:0 for-loop [20] 100.0% -------------------------------------------------------------------- iterate-egraph!5 [12] 100.0% [14] 2000(9.1%) 0(0.0%) one-iter ...ock/herbie/src/core/simplify.rkt:106:0 for-loop [21] 69.8% loop [22] 30.2% -------------------------------------------------------------------- run-iter! [11] 100.0% [15] 404(1.8%) 0(0.0%) finalize-iter! ...ck/herbie/src/mainloop.rkt:169:0 ??? [58] 100.0% -------------------------------------------------------------------- run-iter! [11] 100.0% [16] 206(0.9%) 0(0.0%) localize-error ...erbie/src/core/localize.rkt:47:0 hash-ref! [93] 100.0% -------------------------------------------------------------------- run-iter! [11] 100.0% [17] 132(0.6%) 0(0.0%) gen-series! ...tlock/herbie/src/mainloop.rkt:129:0 for-loop [23] 100.0% -------------------------------------------------------------------- iterate-egraph!5 [12] 100.0% [18] 132(0.6%) 0(0.0%) map-enodes ...ock/herbie/src/core/egraph.rkt:139:0 loop [56] 100.0% -------------------------------------------------------------------- run-iter! [11] 100.0% [19] 130(0.6%) 0(0.0%) gen-rewrites! ...ock/herbie/src/mainloop.rkt:142:0 for-loop [24] 100.0% -------------------------------------------------------------------- simplify! [13] 100.0% [20] 2000(9.1%) 0(0.0%) for-loop ...ztatlock/herbie/src/mainloop.rkt:159:6 ??? [25] 100.0% -------------------------------------------------------------------- for-loop [21] 50.0% one-iter [14] 50.0% [21] 1396(6.4%) 148(0.7%) for-loop ...ck/herbie/src/core/simplify.rkt:116:12 for-loop [21] 50.0% match-e [30] 44.7% -------------------------------------------------------------------- one-iter [14] 100.0% [22] 604(2.8%) 0(0.0%) loop ...cket/collects/racket/private/map.rkt:52:19 apply-match [26] 100.0% -------------------------------------------------------------------- gen-series! [17] 100.0% [23] 132(0.6%) 0(0.0%) for-loop ...ztatlock/herbie/src/mainloop.rkt:135:7 taylor-alt [27] 100.0% -------------------------------------------------------------------- gen-rewrites! [19] 100.0% [24] 130(0.6%) 0(0.0%) for-loop ...tatlock/herbie/src/mainloop.rkt:147:11 ??? [28] 100.0% -------------------------------------------------------------------- for-loop [20] 3.0% run [5] 48.6% [25] 21886(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 47.8% loop [29] 42.4% run-improve50 [2] 6.2% simplify [3] 3.6% -------------------------------------------------------------------- loop [22] 100.0% [26] 604(2.8%) 0(0.0%) apply-match .../herbie/src/core/simplify.rkt:122:2 match-e [30] 51.0% merge-egraph-nodes! [32] 24.5% for-loop [31] 24.5% -------------------------------------------------------------------- for-loop [23] 100.0% [27] 132(0.6%) 0(0.0%) taylor-alt ...e/ztatlock/herbie/src/glue.rkt:141:0 for-loop [33] 100.0% -------------------------------------------------------------------- for-loop [24] 100.0% [28] 130(0.6%) 0(0.0%) ??? /home/ztatlock/herbie/src/alternative.rkt:88:0 rewriter [34] 100.0% -------------------------------------------------------------------- run-improve50 [2] 1.5% ??? [25] 98.5% [29] 18670(85.3%) 0(0.0%) loop /home/ztatlock/herbie/src/points.rkt:159:2 make-exacts* [45] 61.1% loop [35] 34.0% for-loop [37] 2.9% loop [46] 1.5% filter-exacts [44] 0.4% -------------------------------------------------------------------- apply-match [26] 8.1% for-loop [47] 26.8% for-loop [21] 65.1% [30] 1556(7.1%) 596(2.7%) match-e ...tatlock/herbie/src/core/ematch.rkt:46:0 for-loop [36] 42.9% for-loop [47] 11.8% ??? [58] 6.9% variable? [41] 4.7% -------------------------------------------------------------------- apply-match [26] 100.0% [31] 148(0.7%) 0(0.0%) for-loop ...ck/herbie/src/core/simplify.rkt:136:10 mk-enode! [38] 100.0% -------------------------------------------------------------------- for-loop [39] 50.0% apply-match [26] 50.0% [32] 148(0.7%) 0(0.0%) merge-egraph-nodes! ...e/src/core/egraph.rkt:152:0 for-loop [39] 50.0% update-leader! [40] 50.0% -------------------------------------------------------------------- taylor-alt [27] 100.0% [33] 132(0.6%) 0(0.0%) for-loop /home/ztatlock/herbie/src/glue.rkt:143:2 ??? [84] 100.0% -------------------------------------------------------------------- matcher [50] 50.0% ??? [28] 50.0% [34] 130(0.6%) 0(0.0%) rewriter ...lock/herbie/src/core/matcher.rkt:127:2 for-loop [43] 50.0% *rules* [42] 50.0% -------------------------------------------------------------------- loop [29] 100.0% [35] 6350(29.0%) 0(0.0%) loop /home/ztatlock/herbie/src/points.rkt:119:2 loop [46] 62.6% make-exacts* [45] 32.5% eval-prog [75] 4.9% -------------------------------------------------------------------- match-e [30] 100.0% [36] 956(4.4%) 118(0.5%) for-loop ...tlock/herbie/src/core/ematch.rkt:59:11 for-loop [47] 74.9% list-cartesian-product [51] 12.8% -------------------------------------------------------------------- loop [29] 100.0% [37] 544(2.5%) 0(0.0%) for-loop .../ztatlock/herbie/src/points.rkt:166:24 for-loop [48] 100.0% -------------------------------------------------------------------- for-loop [31] 100.0% [38] 148(0.7%) 148(0.7%) mk-enode! ...lock/herbie/src/core/egraph.rkt:101:0 -------------------------------------------------------------------- merge-egraph-nodes! [32] 100.0% [39] 148(0.7%) 0(0.0%) for-loop ...lock/herbie/src/core/egraph.rkt:200:10 merge-egraph-nodes! [32] 100.0% -------------------------------------------------------------------- merge-egraph-nodes! [32] 100.0% [40] 148(0.7%) 0(0.0%) update-leader! ...herbie/src/core/egraph.rkt:217:0 hash-ref! [93] 100.0% -------------------------------------------------------------------- match-e [30] 100.0% [41] 146(0.7%) 0(0.0%) variable? ...ck/herbie/src/syntax/syntax.rkt:529:0 ??? [58] 100.0% -------------------------------------------------------------------- rewriter [34] 100.0% [42] 130(0.6%) 0(0.0%) *rules* ...tlock/herbie/src/syntax/rules.rkt:411:0 for-loop [49] 100.0% -------------------------------------------------------------------- rewriter [34] 100.0% [43] 130(0.6%) 0(0.0%) for-loop ...ock/herbie/src/core/matcher.rkt:130:10 matcher [50] 100.0% -------------------------------------------------------------------- loop [29] 100.0% [44] 74(0.3%) 0(0.0%) filter-exacts ...tlock/herbie/src/points.rkt:134:0 for-loop [52] 100.0% -------------------------------------------------------------------- loop [35] 15.3% loop [29] 84.7% [45] 13482(61.6%) 176(0.8%) make-exacts* ...atlock/herbie/src/points.rkt:106:0 loop [56] 61.3% map [53] 37.4% -------------------------------------------------------------------- loop [29] 6.7% loop [35] 93.3% [46] 4260(19.5%) 0(0.0%) loop /home/ztatlock/herbie/src/points.rkt:109:4 map [53] 100.0% -------------------------------------------------------------------- match-e [30] 32.7% for-loop [36] 67.3% [47] 862(3.9%) 116(0.5%) for-loop ...tlock/herbie/src/core/ematch.rkt:65:37 match-e [30] 77.5% ??? [55] 15.8% -------------------------------------------------------------------- for-loop [37] 100.0% [48] 544(2.5%) 0(0.0%) for-loop .../ztatlock/herbie/src/points.rkt:167:26 ??? [54] 100.0% -------------------------------------------------------------------- *rules* [42] 100.0% [49] 130(0.6%) 0(0.0%) for-loop /home/ztatlock/herbie/src/common.rkt:93:9 ??? [83] 100.0% -------------------------------------------------------------------- matcher [50] 50.0% for-loop [43] 50.0% [50] 130(0.6%) 0(0.0%) matcher ...tlock/herbie/src/core/matcher.rkt:163:2 matcher [50] 50.0% rewriter [34] 50.0% -------------------------------------------------------------------- for-loop [36] 100.0% [51] 122(0.6%) 122(0.6%) list-cartesian-product ...src/core/ematch.rkt:20:0 -------------------------------------------------------------------- filter-exacts [44] 100.0% [52] 74(0.3%) 74(0.3%) for-loop ...e/ztatlock/herbie/src/points.rkt:137:4 -------------------------------------------------------------------- loop [46] 45.8% make-exacts* [45] 54.2% [53] 9302(42.5%) 0(0.0%) map ...acket/collects/racket/private/map.rkt:20:13 loop [56] 100.0% -------------------------------------------------------------------- for-loop [48] 100.0% [54] 544(2.5%) 544(2.5%) ??? /home/ztatlock/herbie/src/points.rkt:156:9 -------------------------------------------------------------------- for-loop [47] 100.0% [55] 136(0.6%) 0(0.0%) ??? /home/ztatlock/herbie/src/core/ematch.rkt:50:5 for-loop [57] 100.0% -------------------------------------------------------------------- ??? [77] 0.0% map-enodes [18] 0.0% make-exacts* [45] 0.9% parse-loop12 [94] 1.2% map [53] 1.7% loop [56] 96.3% [56] 17904(81.8%) 354(1.6%) loop ...cket/collects/racket/private/map.rkt:25:19 loop [56] 96.3% ??? [77] 2.5% ??? [60] 1.2% for-loop [61] 0.0% ->flonum [59] 0.0% ??? [82] 0.0% -------------------------------------------------------------------- ??? [55] 100.0% [57] 136(0.6%) 0(0.0%) for-loop ...atlock/herbie/src/core/ematch.rkt:51:7 ??? [58] 100.0% -------------------------------------------------------------------- ??? [87] 4.9% f134 [78] 7.0% for-loop [57] 10.4% variable? [41] 11.1% setup-prog [9] 16.2% match-e [30] 24.5% finalize-iter! [15] 25.9% [58] 1312(6.0%) 448(2.0%) ??? ...contract/private/arrow-val-first.rkt:357:18 make-alt-table [64] 16.2% for-loop [62] 14.8% hash-has-key? [63] 11.9% ??? [87] 11.9% atab-add-altns [65] 11.1% -------------------------------------------------------------------- loop [56] 100.0% [59] 686(3.1%) 0(0.0%) ->flonum .../ztatlock/herbie/src/programs.rkt:34:0 ??? [83] 100.0% -------------------------------------------------------------------- loop [56] 100.0% [60] 206(0.9%) 0(0.0%) ??? ...ket/collects/racket/private/list.rkt:323:18 hash-ref! [93] 100.0% -------------------------------------------------------------------- loop [56] 100.0% [61] 132(0.6%) 0(0.0%) for-loop ...ock/herbie/src/core/simplify.rkt:161:2 setfindf [66] 100.0% -------------------------------------------------------------------- ??? [58] 100.0% [62] 258(1.2%) 0(0.0%) for-loop ...ock/herbie/src/core/alt-table.rkt:51:2 atab-add-altn [67] 100.0% -------------------------------------------------------------------- ??? [58] 100.0% [63] 220(1.0%) 0(0.0%) hash-has-key? ...et/private/more-scheme.rkt:368:13 ??? [68] 100.0% -------------------------------------------------------------------- ??? [58] 100.0% [64] 212(1.0%) 0(0.0%) make-alt-table ...rbie/src/core/alt-table.rkt:32:0 errors [73] 100.0% -------------------------------------------------------------------- ??? [58] 100.0% [65] 146(0.7%) 0(0.0%) atab-add-altns ...rbie/src/core/alt-table.rkt:50:0 atab-add-altn [67] 100.0% -------------------------------------------------------------------- for-loop [61] 100.0% [66] 132(0.6%) 0(0.0%) setfindf ...e/ztatlock/herbie/src/common.rkt:168:0 for-loop [69] 100.0% -------------------------------------------------------------------- atab-add-altns [65] 36.1% for-loop [62] 63.9% [67] 404(1.8%) 0(0.0%) atab-add-altn ...rbie/src/core/alt-table.rkt:208:0 best-and-tied-at-points [70]100.0% -------------------------------------------------------------------- hash-has-key? [63] 100.0% [68] 220(1.0%) 0(0.0%) ??? ...ects/racket/contract/private/list.rkt:737:4 for-loop [71] 58.2% do-chaperone-procedure [72] 41.8% -------------------------------------------------------------------- setfindf [66] 100.0% [69] 132(0.6%) 132(0.6%) for-loop ...e/ztatlock/herbie/src/common.rkt:169:2 -------------------------------------------------------------------- atab-add-altn [67] 100.0% [70] 404(1.8%) 0(0.0%) best-and-tied-at-points ...ore/alt-table.rkt:122:0 errors [73] 100.0% -------------------------------------------------------------------- ??? [68] 100.0% [71] 128(0.6%) 0(0.0%) for-loop ...acket/contract/private/list.rkt:743:12 ??? [74] 100.0% -------------------------------------------------------------------- ??? [68] 100.0% [72] 92(0.4%) 92(0.4%) do-chaperone-procedure ...et/private/kw.rkt:1616:2 -------------------------------------------------------------------- make-alt-table [64] 34.4% best-and-tied-at-points [70] 65.6% [73] 616(2.8%) 0(0.0%) errors /home/ztatlock/herbie/src/points.rkt:184:0 for-loop [76] 55.5% eval-prog [75] 44.5% -------------------------------------------------------------------- for-loop [71] 100.0% [74] 128(0.6%) 128(0.6%) ??? ...private/unconstrained-domain-arrow.rkt:74:4 -------------------------------------------------------------------- errors [73] 46.9% loop [35] 53.1% [75] 584(2.7%) 218(1.0%) eval-prog ...tatlock/herbie/src/programs.rkt:146:0 f134 [78] 37.7% ??? [80] 25.0% -------------------------------------------------------------------- errors [73] 100.0% [76] 342(1.6%) 0(0.0%) for-loop ...e/ztatlock/herbie/src/points.rkt:187:4 ulp-difference [79] 62.0% ??? [77] 38.0% -------------------------------------------------------------------- for-loop [76] 0.8% loop [56] 99.2% [77] 16772(76.6%) 2198(10.0%) ??? /home/ztatlock/herbie/src/programs.rkt:152:4 ??? [81] 51.5% ??? [82] 31.8% loop [56] 3.6% -------------------------------------------------------------------- f134 [78] 43.6% eval-prog [75] 56.4% [78] 220(1.0%) 0(0.0%) f134 .../collects/racket/match/compiler.rkt:507:40 f134 [78] 43.6% ??? [58] 41.8% ??? [84] 14.5% -------------------------------------------------------------------- for-loop [76] 100.0% [79] 212(1.0%) 0(0.0%) ulp-difference ...atlock/herbie/src/float.rkt:19:0 ??? [83] 100.0% -------------------------------------------------------------------- eval-prog [75] 100.0% [80] 146(0.7%) 146(0.7%) ??? ...cket/collects/racket/private/kw.rkt:1633:36 -------------------------------------------------------------------- ??? [77] 100.0% [81] 8640(39.5%) 654(3.0%) ??? ...acket/collects/racket/private/kw.rkt:444:14 bf* [97] 84.4% ??? [99] 5.7% -------------------------------------------------------------------- loop [56] 8.4% ??? [77] 91.6% [82] 5818(26.6%) 140(0.6%) ??? ...contract/private/../../private/kw.rkt:761:9 real->bigfloat [85] 97.6% -------------------------------------------------------------------- for-loop [49] 12.6% ulp-difference [79] 20.6% ->flonum [59] 66.7% [83] 1028(4.7%) 484(2.2%) ??? /home/ztatlock/herbie/src/config.rkt:48:0 ??? [86] 42.4% return/no-unsupplied [90] 10.5% -------------------------------------------------------------------- location-do [88] 25.4% for-loop [33] 25.4% f134 [78] 49.2% [84] 260(1.2%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:342:33 ??? [87] 49.2% location-do [88] 25.4% approximate9 [89] 25.4% -------------------------------------------------------------------- ??? [82] 100.0% [85] 5678(25.9%) 3134(14.3%) real->bigfloat .../private/bigfloat/mpfr.rkt:451:0 ??? [102] 44.8% -------------------------------------------------------------------- ??? [83] 100.0% [86] 436(2.0%) 212(1.0%) ??? ...racket/collects/racket/private/kw.rkt:761:9 ??? [91] 51.4% -------------------------------------------------------------------- ??? [84] 45.1% ??? [58] 54.9% [87] 284(1.3%) 156(0.7%) ??? ...ects/racket/contract/private/guts.rkt:644:8 ??? [58] 45.1% -------------------------------------------------------------------- ??? [84] 100.0% [88] 132(0.6%) 0(0.0%) location-do ...acket/private/norm-define.rkt:53:83 ??? [84] 100.0% -------------------------------------------------------------------- ??? [84] 100.0% [89] 132(0.6%) 0(0.0%) approximate9 ...ck/herbie/src/core/taylor.rkt:12:0 loop [92] 100.0% -------------------------------------------------------------------- ??? [83] 100.0% [90] 108(0.5%) 108(0.5%) return/no-unsupplied ...ct/private/arr-i.rkt:533:0 -------------------------------------------------------------------- ??? [86] 100.0% [91] 224(1.0%) 224(1.0%) ??? ...s/racket/contract/private/arr-i.rkt:1233:27 -------------------------------------------------------------------- approximate9 [89] 100.0% [92] 132(0.6%) 0(0.0%) loop ...e/ztatlock/herbie/src/core/taylor.rkt:83:4 hash-ref! [93] 100.0% -------------------------------------------------------------------- first-nonzero-exp [10] 6.8% loop [92] 6.8% ??? [96] 13.6% ??? [60] 21.2% localize-error [16] 21.2% update-leader! [40] 30.5% [93] 486(2.2%) 148(0.7%) hash-ref! ...racket/private/more-scheme.rkt:373:13 parse-loop12 [94] 42.4% ??? [96] 13.6% taylor-invert [4] 6.8% simplify [95] 6.8% -------------------------------------------------------------------- hash-ref! [93] 100.0% [94] 206(0.9%) 0(0.0%) parse-loop12 ...s/racket/match/compiler.rkt:418:15 loop [56] 50.0% bf* [97] 50.0% -------------------------------------------------------------------- hash-ref! [93] 100.0% [95] 132(0.6%) 0(0.0%) simplify ...atlock/herbie/src/core/reduce.rkt:15:0 debug-print [98] 100.0% -------------------------------------------------------------------- hash-ref! [93] 100.0% [96] 132(0.6%) 0(0.0%) ??? ...e/ztatlock/herbie/src/core/taylor.rkt:64:15 hash-ref! [93] 100.0% -------------------------------------------------------------------- parse-loop12 [94] 2.7% ??? [81] 97.3% [97] 7494(34.2%) 0(0.0%) bf* ...ath/private/bigfloat/bigfloat-mpfr.rkt:95:0 ??? [99] 100.0% -------------------------------------------------------------------- simplify [95] 100.0% [98] 132(0.6%) 0(0.0%) debug-print ...ztatlock/herbie/src/debug.rkt:107:0 for-loop [100] 100.0% -------------------------------------------------------------------- ??? [81] 6.2% bf* [97] 93.8% [99] 7990(36.5%) 1270(5.8%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bfmul [101] 84.1% -------------------------------------------------------------------- debug-print [98] 100.0% [100] 132(0.6%) 132(0.6%) for-loop /home/ztatlock/herbie/src/debug.rkt:113:2 -------------------------------------------------------------------- ??? [99] 100.0% [101] 6720(30.7%) 5420(24.8%) bfmul ...-lib/math/private/bigfloat/mpfr.rkt:819:4 ??? [102] 19.3% -------------------------------------------------------------------- bfmul [101] 33.8% real->bigfloat [85] 66.2% [102] 3844(17.6%) 3844(17.6%) ??? .../share/racket/collects/ffi/unsafe.rkt:861:4 --------------------------------------------------------------------