Profiling results ----------------- Total cpu time observed: 19696ms (out of 19896ms) Number of samples taken: 86 (once every 229ms) (Hiding functions with self<1.0% and local<2.0%: 1 of 102 hidden) ======================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ======================================================================== ??? [26] 100.0% [1] 18462(93.7%) 0(0.0%) profile-thunk14 ...t/pkgs/profile-lib/main.rkt:9:0 run [4] 100.0% ------------------------------------------------------------------------ ??? [26] 100.0% [2] 12822(65.1%) 0(0.0%) run-improve58 ...ock/herbie/src/mainloop.rkt:242:0 for-loop [5] 92.2% get-final-combination [8] 4.7% setup-prog [9] 3.2% ------------------------------------------------------------------------ simplify-alt [14] 3.5% loop [73] 5.2% ??? [26] 91.3% [3] 11570(58.7%) 0(0.0%) simplify ...lock/herbie/src/core/simplify.rkt:39:0 simplify-expr [6] 78.6% for-loop [7] 14.4% iterate-egraph!5 [11] 6.9% ------------------------------------------------------------------------ profile-thunk14 [1] 100.0% [4] 18462(93.7%) 0(0.0%) run ...share/racket/pkgs/profile-lib/main.rkt:31:2 ??? [26] 100.0% ------------------------------------------------------------------------ run-improve58 [2] 100.0% [5] 11818(60.0%) 0(0.0%) for-loop ...ztatlock/herbie/src/mainloop.rkt:253:8 run-iter! [10] 100.0% ------------------------------------------------------------------------ simplify [3] 100.0% [6] 9098(46.2%) 0(0.0%) simplify-expr ...herbie/src/core/simplify.rkt:68:0 iterate-egraph!5 [11] 95.4% loop [13] 4.6% ------------------------------------------------------------------------ simplify [3] 100.0% [7] 1670(8.5%) 0(0.0%) for-loop ...ock/herbie/src/core/simplify.rkt:61:12 iterate-egraph!5 [11] 100.0% ------------------------------------------------------------------------ run-improve58 [2] 100.0% [8] 600(3.0%) 0(0.0%) get-final-combination ...ie/src/mainloop.rkt:269:0 extract-alt [12] 100.0% ------------------------------------------------------------------------ run-improve58 [2] 100.0% [9] 404(2.1%) 0(0.0%) setup-prog /home/ztatlock/herbie/src/glue.rkt:46:0 simplify-alt [14] 100.0% ------------------------------------------------------------------------ for-loop [5] 100.0% [10] 11818(60.0%) 0(0.0%) run-iter! ...tatlock/herbie/src/mainloop.rkt:223:0 simplify! [16] 91.1% finalize-iter! [17] 5.2% gen-series! [18] 3.7% ------------------------------------------------------------------------ simplify [3] 7.2% for-loop [7] 15.0% simplify-expr [6] 77.8% [11] 11156(56.6%) 0(0.0%) iterate-egraph!5 ...bie/src/core/simplify.rkt:95:0 one-iter [15] 98.2% ------------------------------------------------------------------------ get-final-combination [8] 100.0% [12] 600(3.0%) 0(0.0%) extract-alt ...e/ztatlock/herbie/src/glue.rkt:57:0 loop [73] 100.0% ------------------------------------------------------------------------ simplify-expr [6] 100.0% [13] 414(2.1%) 0(0.0%) loop ...tatlock/herbie/src/core/simplify.rkt:203:2 pass [19] 100.0% ------------------------------------------------------------------------ setup-prog [9] 100.0% [14] 404(2.1%) 0(0.0%) simplify-alt .../ztatlock/herbie/src/glue.rkt:84:0 simplify [3] 100.0% ------------------------------------------------------------------------ iterate-egraph!5 [11] 100.0% [15] 10956(55.6%) 870(4.4%) one-iter ...ock/herbie/src/core/simplify.rkt:106:0 for-loop [21] 55.0% loop [22] 35.2% apply-match [27] 1.8% ------------------------------------------------------------------------ run-iter! [10] 100.0% [16] 10766(54.7%) 0(0.0%) simplify! ...tatlock/herbie/src/mainloop.rkt:162:0 for-loop [20] 100.0% ------------------------------------------------------------------------ run-iter! [10] 100.0% [17] 618(3.1%) 0(0.0%) finalize-iter! ...ck/herbie/src/mainloop.rkt:177:0 ??? [23] 100.0% ------------------------------------------------------------------------ run-iter! [10] 100.0% [18] 434(2.2%) 0(0.0%) gen-series! ...tlock/herbie/src/mainloop.rkt:134:0 for-loop [24] 100.0% ------------------------------------------------------------------------ loop [13] 100.0% [19] 414(2.1%) 0(0.0%) pass ...tatlock/herbie/src/core/simplify.rkt:193:2 for-loop [25] 100.0% ------------------------------------------------------------------------ simplify! [16] 100.0% [20] 10766(54.7%) 0(0.0%) for-loop ...ztatlock/herbie/src/mainloop.rkt:166:6 ??? [26] 98.1% debug-print [32] 1.9% ------------------------------------------------------------------------ for-loop [21] 48.3% one-iter [15] 51.7% [21] 6030(30.6%) 660(3.4%) for-loop ...ck/herbie/src/core/simplify.rkt:116:12 for-loop [21] 48.3% match-e [34] 42.7% ??? [67] 1.8% ------------------------------------------------------------------------ one-iter [15] 100.0% [22] 3856(19.6%) 0(0.0%) loop ...cket/collects/racket/private/map.rkt:53:19 apply-match [27] 100.0% ------------------------------------------------------------------------ finalize-iter! [17] 100.0% [23] 618(3.1%) 0(0.0%) ??? ...contract/private/arrow-val-first.rkt:357:18 for-loop [28] 100.0% ------------------------------------------------------------------------ gen-series! [18] 100.0% [24] 434(2.2%) 0(0.0%) for-loop ...ztatlock/herbie/src/mainloop.rkt:140:7 taylor-alt [29] 100.0% ------------------------------------------------------------------------ pass [19] 100.0% [25] 414(2.1%) 0(0.0%) for-loop ...ck/herbie/src/core/simplify.rkt:196:29 argmin [30] 51.7% for-loop [31] 48.3% ------------------------------------------------------------------------ for-loop [20] 18.8% run [4] 38.8% [26] 19696(100.0%) 244(1.2%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk14 [1] 38.8% run-improve58 [2] 24.5% simplify [3] 18.8% loop [33] 17.3% ------------------------------------------------------------------------ one-iter [15] 4.9% loop [22] 95.1% [27] 4056(20.6%) 0(0.0%) apply-match .../herbie/src/core/simplify.rkt:122:2 merge-egraph-nodes! [35] 30.2% substitute-e [36] 24.9% match-e [34] 19.8% mk-enode! [44] 10.4% loop! [81] 9.9% reduce-to-single! [40] 4.9% ------------------------------------------------------------------------ ??? [23] 100.0% [28] 618(3.1%) 0(0.0%) for-loop ...ock/herbie/src/core/alt-table.rkt:51:2 atab-add-altn [37] 100.0% ------------------------------------------------------------------------ for-loop [24] 100.0% [29] 434(2.2%) 0(0.0%) taylor-alt ...e/ztatlock/herbie/src/glue.rkt:142:0 for-loop [38] 100.0% ------------------------------------------------------------------------ for-loop [25] 100.0% [30] 214(1.1%) 0(0.0%) argmin ...re/racket/collects/racket/list.rkt:743:0 expression-cost [39] 100.0% ------------------------------------------------------------------------ for-loop [25] 100.0% [31] 200(1.0%) 200(1.0%) for-loop ...ck/herbie/src/core/simplify.rkt:183:13 ------------------------------------------------------------------------ for-loop [20] 100.0% [32] 200(1.0%) 200(1.0%) debug-print ...ztatlock/herbie/src/debug.rkt:107:0 ------------------------------------------------------------------------ ??? [26] 100.0% [33] 6630(33.7%) 0(0.0%) loop /home/ztatlock/herbie/src/points.rkt:122:2 make-exacts* [54] 60.5% loop [42] 36.4% for-loop [50] 3.0% ------------------------------------------------------------------------ apply-match [27] 10.1% for-loop [55] 12.1% for-loop [21] 77.8% [34] 5956(30.2%) 3508(17.8%) match-e ...tatlock/herbie/src/core/ematch.rkt:46:0 for-loop [41] 37.5% loop [73] 5.2% for-loop [55] 1.8% constant? [46] 1.7% list-cartesian-product [52] 1.7% ------------------------------------------------------------------------ merge-egraph-nodes! [35] 8.3% apply-match [27] 91.7% [35] 1224(6.2%) 0(0.0%) merge-egraph-nodes! ...e/src/core/egraph.rkt:152:0 update-leader! [43] 75.6% for-loop [53] 16.2% merge-egraph-nodes! [35] 8.3% ------------------------------------------------------------------------ apply-match [27] 100.0% [36] 1008(5.1%) 400(2.0%) substitute-e ...ck/herbie/src/core/ematch.rkt:71:0 mk-enode! [44] 40.3% constant? [46] 20.0% ------------------------------------------------------------------------ for-loop [28] 100.0% [37] 618(3.1%) 0(0.0%) atab-add-altn ...rbie/src/core/alt-table.rkt:208:0 override-at-pnts [47] 64.7% best-and-tied-at-points [48] 35.3% ------------------------------------------------------------------------ taylor-alt [29] 100.0% [38] 434(2.2%) 0(0.0%) for-loop /home/ztatlock/herbie/src/glue.rkt:144:2 location-do [45] 100.0% ------------------------------------------------------------------------ argmin [30] 100.0% [39] 214(1.1%) 0(0.0%) expression-cost ...k/herbie/src/programs.rkt:212:0 compile [49] 100.0% ------------------------------------------------------------------------ apply-match [27] 100.0% [40] 200(1.0%) 0(0.0%) reduce-to-single! ...bie/src/core/egraph.rkt:324:0 for-loop [51] 100.0% ------------------------------------------------------------------------ match-e [34] 100.0% [41] 2846(14.4%) 1222(6.2%) for-loop ...tlock/herbie/src/core/ematch.rkt:59:11 for-loop [55] 57.1% ------------------------------------------------------------------------ loop [33] 100.0% [42] 2414(12.3%) 0(0.0%) loop /home/ztatlock/herbie/src/points.rkt:93:2 loop [56] 70.6% make-exacts* [54] 29.4% ------------------------------------------------------------------------ merge-egraph-nodes! [35] 100.0% [43] 1026(5.2%) 0(0.0%) update-leader! ...herbie/src/core/egraph.rkt:217:0 for-loop [57] 80.3% mutable-set [62] 19.7% ------------------------------------------------------------------------ substitute-e [36] 49.2% apply-match [27] 50.8% [44] 826(4.2%) 404(2.1%) mk-enode! ...lock/herbie/src/core/egraph.rkt:101:0 new-enode [60] 26.4% hash-has-key? [61] 24.7% ------------------------------------------------------------------------ location-do [45] 27.4% for-loop [38] 72.6% [45] 434(2.2%) 0(0.0%) location-do ...tlock/herbie/src/programs.rkt:129:0 approximate9 [58] 72.6% location-do [45] 27.4% ------------------------------------------------------------------------ match-e [34] 50.0% substitute-e [36] 50.0% [46] 404(2.1%) 404(2.1%) constant? ...ck/herbie/src/syntax/syntax.rkt:221:0 ------------------------------------------------------------------------ atab-add-altn [37] 100.0% [47] 400(2.0%) 200(1.0%) override-at-pnts ...e/src/core/alt-table.rkt:145:0 errors [59] 50.0% ------------------------------------------------------------------------ atab-add-altn [37] 100.0% [48] 218(1.1%) 0(0.0%) best-and-tied-at-points ...ore/alt-table.rkt:122:0 errors [59] 100.0% ------------------------------------------------------------------------ expression-cost [39] 100.0% [49] 214(1.1%) 0(0.0%) compile .../ztatlock/herbie/src/programs.rkt:189:0 hash-ref! [75] 100.0% ------------------------------------------------------------------------ loop [33] 100.0% [50] 202(1.0%) 0(0.0%) for-loop .../ztatlock/herbie/src/points.rkt:128:18 for-loop [63] 100.0% ------------------------------------------------------------------------ reduce-to-single! [40] 100.0% [51] 200(1.0%) 200(1.0%) for-loop ...tlock/herbie/src/core/egraph.rkt:325:8 ------------------------------------------------------------------------ list-cartesian-product [52] 50.0% match-e [34] 50.0% [52] 200(1.0%) 200(1.0%) list-cartesian-product ...src/core/ematch.rkt:20:0 list-cartesian-product [52] 50.0% ------------------------------------------------------------------------ merge-egraph-nodes! [35] 100.0% [53] 198(1.0%) 0(0.0%) for-loop ...tlock/herbie/src/core/egraph.rkt:232:6 update-en-expr [64] 100.0% ------------------------------------------------------------------------ loop [42] 15.0% loop [33] 85.0% [54] 4724(24.0%) 0(0.0%) make-exacts* ...tatlock/herbie/src/points.rkt:80:0 map [65] 56.3% loop [73] 43.7% ------------------------------------------------------------------------ match-e [34] 11.9% for-loop [41] 88.1% [55] 1844(9.4%) 0(0.0%) for-loop ...tlock/herbie/src/core/ematch.rkt:65:37 match-e [34] 78.1% ??? [67] 21.9% ------------------------------------------------------------------------ loop [42] 100.0% [56] 1704(8.7%) 0(0.0%) loop /home/ztatlock/herbie/src/points.rkt:83:4 map [65] 100.0% ------------------------------------------------------------------------ update-leader! [43] 100.0% [57] 824(4.2%) 0(0.0%) for-loop ...tlock/herbie/src/core/egraph.rkt:222:6 for-loop [66] 100.0% ------------------------------------------------------------------------ location-do [45] 100.0% [58] 434(2.2%) 0(0.0%) approximate9 ...ck/herbie/src/core/taylor.rkt:11:0 loop [68] 54.8% taylor-quotient [72] 45.2% ------------------------------------------------------------------------ override-at-pnts [47] 47.8% best-and-tied-at-points [48] 52.2% [59] 418(2.1%) 0(0.0%) errors /home/ztatlock/herbie/src/points.rkt:144:0 eval-prog [69] 52.2% for-loop [71] 47.8% ------------------------------------------------------------------------ mk-enode! [44] 100.0% [60] 218(1.1%) 0(0.0%) new-enode ...atlock/herbie/src/core/enode.rkt:68:0 set [89] 100.0% ------------------------------------------------------------------------ mk-enode! [44] 100.0% [61] 204(1.0%) 204(1.0%) hash-has-key? ...et/private/more-scheme.rkt:368:13 ------------------------------------------------------------------------ update-leader! [43] 100.0% [62] 202(1.0%) 202(1.0%) mutable-set ...racket/private/set-types.rkt:1000:0 ------------------------------------------------------------------------ for-loop [50] 100.0% [63] 202(1.0%) 0(0.0%) for-loop .../ztatlock/herbie/src/points.rkt:129:20 sample-default [70] 100.0% ------------------------------------------------------------------------ for-loop [53] 100.0% [64] 198(1.0%) 198(1.0%) update-en-expr ...herbie/src/core/egraph.rkt:211:0 ------------------------------------------------------------------------ loop [56] 39.1% make-exacts* [54] 60.9% [65] 4362(22.1%) 0(0.0%) map ...acket/collects/racket/private/map.rkt:21:13 loop [73] 100.0% ------------------------------------------------------------------------ for-loop [57] 100.0% [66] 824(4.2%) 0(0.0%) for-loop ...tlock/herbie/src/core/egraph.rkt:223:8 hash-update! [74] 100.0% ------------------------------------------------------------------------ for-loop [21] 35.0% for-loop [55] 65.0% [67] 622(3.2%) 218(1.1%) ??? /home/ztatlock/herbie/src/core/ematch.rkt:50:5 for-loop [76] 65.0% ------------------------------------------------------------------------ approximate9 [58] 100.0% [68] 238(1.2%) 0(0.0%) loop ...e/ztatlock/herbie/src/core/taylor.rkt:82:4 hash-ref! [75] 100.0% ------------------------------------------------------------------------ errors [59] 100.0% [69] 218(1.1%) 218(1.1%) eval-prog ...tatlock/herbie/src/programs.rkt:162:0 ------------------------------------------------------------------------ for-loop [63] 100.0% [70] 202(1.0%) 0(0.0%) sample-default ...rc/syntax/distributions.rkt:11:0 ??? [77] 100.0% ------------------------------------------------------------------------ errors [59] 100.0% [71] 200(1.0%) 200(1.0%) for-loop ...e/ztatlock/herbie/src/points.rkt:147:4 ------------------------------------------------------------------------ approximate9 [58] 100.0% [72] 196(1.0%) 0(0.0%) taylor-quotient ...erbie/src/core/taylor.rkt:328:0 simplify [80] 100.0% ------------------------------------------------------------------------ make-exacts* [54] 0.2% map [65] 0.4% loop! [81] 0.8% extract-alt [12] 2.1% match-e [34] 4.3% loop [73] 92.0% [73] 7448(37.8%) 420(2.1%) loop ...cket/collects/racket/private/map.rkt:26:19 loop [73] 92.0% simplify [3] 2.1% loop! [81] 0.8% ??? [78] 0.6% for-loop [84] 0.2% ------------------------------------------------------------------------ for-loop [66] 100.0% [74] 824(4.2%) 0(0.0%) hash-update! ...ket/private/more-scheme.rkt:362:13 ??? [79] 100.0% ------------------------------------------------------------------------ compile [49] 11.8% ??? [82] 26.3% loop [68] 26.3% ??? [83] 35.5% [75] 452(2.3%) 0(0.0%) hash-ref! ...racket/private/more-scheme.rkt:373:13 ??? [83] 47.3% ??? [82] 26.3% simplify [80] 26.3% ------------------------------------------------------------------------ ??? [67] 100.0% [76] 404(2.1%) 404(2.1%) for-loop ...atlock/herbie/src/core/ematch.rkt:51:7 ------------------------------------------------------------------------ sample-default [70] 100.0% [77] 202(1.0%) 202(1.0%) ??? /home/ztatlock/herbie/src/config.rkt:29:0 ------------------------------------------------------------------------ loop [73] 100.0% [78] 6428(32.6%) 0(0.0%) ??? /home/ztatlock/herbie/src/programs.rkt:168:4 ??? [85] 56.0% real->bigfloat [86] 40.3% ??? [97] 3.7% ------------------------------------------------------------------------ hash-update! [74] 100.0% [79] 824(4.2%) 0(0.0%) ??? .../ztatlock/herbie/src/core/egraph.rkt:225:24 for-loop [87] 100.0% ------------------------------------------------------------------------ taylor-quotient [72] 45.2% hash-ref! [75] 54.8% [80] 434(2.2%) 0(0.0%) simplify ...atlock/herbie/src/core/reduce.rkt:18:0 f143 [88] 100.0% ------------------------------------------------------------------------ loop [73] 50.0% apply-match [27] 50.0% [81] 400(2.0%) 200(1.0%) loop! .../ztatlock/herbie/src/core/enode.rkt:163:2 loop [73] 50.0% set [89] 25.0% ------------------------------------------------------------------------ hash-ref! [75] 100.0% [82] 238(1.2%) 0(0.0%) ??? ...e/ztatlock/herbie/src/core/taylor.rkt:42:15 hash-ref! [75] 100.0% ------------------------------------------------------------------------ hash-ref! [75] 100.0% [83] 214(1.1%) 214(1.1%) ??? /home/ztatlock/herbie/src/programs.rkt:197:5 hash-ref! [75] 75.0% ------------------------------------------------------------------------ loop [73] 100.0% [84] 200(1.0%) 0(0.0%) for-loop ...ock/herbie/src/core/simplify.rkt:161:2 setfindf [90] 100.0% ------------------------------------------------------------------------ ??? [78] 100.0% [85] 3600(18.3%) 0(0.0%) ??? ...acket/collects/racket/private/kw.rkt:400:14 ??? [94] 57.9% bf* [91] 28.3% ...higher-order.rkt:373:33 [92] 13.8% ------------------------------------------------------------------------ ??? [78] 100.0% [86] 2590(13.1%) 1902(9.7%) real->bigfloat .../private/bigfloat/mpfr.rkt:451:0 ??? [99] 26.6% ------------------------------------------------------------------------ ??? [79] 100.0% [87] 824(4.2%) 824(4.2%) for-loop ...lock/herbie/src/core/egraph.rkt:226:26 ------------------------------------------------------------------------ simplify [80] 100.0% [88] 434(2.2%) 238(1.2%) f143 .../collects/racket/match/compiler.rkt:499:40 gather-multiplicative-terms [93] 45.2% ------------------------------------------------------------------------ loop! [81] 47.8% new-enode [60] 52.2% [89] 418(2.1%) 418(2.1%) set ...collects/racket/private/set-types.rkt:982:0 ------------------------------------------------------------------------ for-loop [84] 100.0% [90] 200(1.0%) 200(1.0%) setfindf ...e/ztatlock/herbie/src/common.rkt:173:0 ------------------------------------------------------------------------ ??? [85] 100.0% [91] 1020(5.2%) 0(0.0%) bf* ...ath/private/bigfloat/bigfloat-mpfr.rkt:95:0 ??? [94] 100.0% ------------------------------------------------------------------------ ??? [85] 100.0% [92] 496(2.5%) 0(0.0%) ...higher-order.rkt:373:33 (unknown source) ??? [95] 100.0% ------------------------------------------------------------------------ f143 [88] 100.0% [93] 196(1.0%) 196(1.0%) gather-multiplicative-terms ...re/reduce.rkt:107:0 ------------------------------------------------------------------------ bf* [91] 32.9% ??? [85] 67.1% [94] 3104(15.8%) 0(0.0%) ??? ...-racket/utils/simple-result-arrow.rkt:26:12 bfmul [96] 67.3% ??? [100] 16.6% bfneg [98] 16.2% ------------------------------------------------------------------------ ...higher-order.rkt:373:33 [92] 100.0% [95] 496(2.5%) 0(0.0%) ??? ...cts/racket/contract/private/list.rkt:187:10 ??? [97] 100.0% ------------------------------------------------------------------------ ??? [94] 100.0% [96] 2088(10.6%) 1602(8.1%) bfmul ...-lib/math/private/bigfloat/mpfr.rkt:819:4 ??? [99] 23.3% ------------------------------------------------------------------------ ??? [78] 32.4% ??? [95] 67.6% [97] 734(3.7%) 0(0.0%) ??? ...ects/racket/contract/private/guts.rkt:638:8 ??? [100] 100.0% ------------------------------------------------------------------------ ??? [94] 100.0% [98] 502(2.5%) 236(1.2%) bfneg ...-lib/math/private/bigfloat/mpfr.rkt:616:4 ??? [99] 53.0% ------------------------------------------------------------------------ bfneg [98] 18.5% bfmul [96] 33.8% real->bigfloat [86] 47.8% [99] 1440(7.3%) 1440(7.3%) ??? .../share/racket/collects/ffi/unsafe.rkt:861:4 ------------------------------------------------------------------------ ??? [94] 41.2% ??? [97] 58.8% [100] 1248(6.3%) 262(1.3%) ??? ...tract/private/arrow-higher-order.rkt:373:33 ??? [101] 79.0% ------------------------------------------------------------------------ ??? [100] 100.0% [101] 986(5.0%) 986(5.0%) ??? ...llects/racket/contract/combinator.rkt:178:4 ------------------------------------------------------------------------