Profiling results ----------------- Total cpu time observed: 30648ms (out of 30928ms) Number of samples taken: 99 (once every 310ms) ================================================================================= Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ================================================================================= ??? [6] 100.0% [1] 30648(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [4] 100.0% --------------------------------------------------------------------------------- match-e [49] 100.0% [2] 590(1.9%) 0(0.0%) variable? ...nterface2/src/syntax/syntax.rkt:722:0 ??? [23] 100.0% --------------------------------------------------------------------------------- matcher [47] 100.0% [3] 324(1.1%) 0(0.0%) ??? ...rbie/interface2/src/core/matcher.rkt:130:11 for-loop [5] 100.0% --------------------------------------------------------------------------------- profile-thunk16 [1] 100.0% [4] 30648(100.0%) 0(0.0%) run ...et-7.2/share/pkgs/profile-lib/main.rkt:39:2 ??? [6] 100.0% --------------------------------------------------------------------------------- ??? [3] 100.0% [5] 324(1.1%) 0(0.0%) for-loop ...interface2/src/core/matcher.rkt:132:15 matcher [47] 100.0% --------------------------------------------------------------------------------- for-loop [50] 0.7% run [4] 49.6% [6] 30648(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 49.6% run-improve47 [7] 41.1% prepare-points [8] 7.2% ??? [75] 0.7% eval-errors [9] 0.5% oracle-error [10] 0.5% errors [44] 0.4% --------------------------------------------------------------------------------- ??? [6] 100.0% [7] 25296(82.5%) 0(0.0%) run-improve47 ...interface2/src/mainloop.rkt:345:0 simplify! [18] 53.1% for-loop [11] 46.9% --------------------------------------------------------------------------------- ??? [6] 100.0% [8] 4412(14.4%) 0(0.0%) prepare-points .../interface2/src/points.rkt:146:0 loop [12] 100.0% --------------------------------------------------------------------------------- ??? [6] 100.0% [9] 324(1.1%) 0(0.0%) eval-errors ...bie/interface2/src/points.rkt:159:0 for-loop [13] 100.0% --------------------------------------------------------------------------------- ??? [6] 100.0% [10] 292(1.0%) 0(0.0%) oracle-error ...ie/interface2/src/points.rkt:168:0 for-loop [14] 100.0% --------------------------------------------------------------------------------- run-improve47 [7] 100.0% [11] 11874(38.7%) 0(0.0%) for-loop ...rbie/interface2/src/mainloop.rkt:364:4 run-iter! [15] 100.0% --------------------------------------------------------------------------------- prepare-points [8] 100.0% [12] 4412(14.4%) 0(0.0%) loop ...ies/herbie/interface2/src/points.rkt:122:4 loop [16] 72.4% ??? [17] 27.6% --------------------------------------------------------------------------------- eval-errors [9] 100.0% [13] 324(1.1%) 324(1.1%) for-loop ...herbie/interface2/src/points.rkt:161:2 --------------------------------------------------------------------------------- oracle-error [10] 100.0% [14] 292(1.0%) 0(0.0%) for-loop ...herbie/interface2/src/points.rkt:169:2 loop [66] 100.0% --------------------------------------------------------------------------------- for-loop [11] 100.0% [15] 11874(38.7%) 0(0.0%) run-iter! ...bie/interface2/src/mainloop.rkt:326:0 simplify! [18] 91.9% finalize-iter! [19] 2.8% gen-rewrites! [20] 2.7% choose-best-alt! [21] 2.6% --------------------------------------------------------------------------------- loop [12] 100.0% [16] 3196(10.4%) 336(1.1%) loop ...lies/herbie/interface2/src/points.rkt:81:2 ??? [75] 89.5% --------------------------------------------------------------------------------- loop [12] 100.0% [17] 1216(4.0%) 0(0.0%) ??? ...lies/herbie/interface2/src/points.rkt:106:2 ??? [87] 74.7% do-curry [60] 25.3% --------------------------------------------------------------------------------- run-iter! [15] 44.8% run-improve47 [7] 55.2% [18] 24334(79.4%) 0(0.0%) simplify! ...bie/interface2/src/mainloop.rkt:223:0 ??? [22] 100.0% --------------------------------------------------------------------------------- run-iter! [15] 100.0% [19] 334(1.1%) 0(0.0%) finalize-iter! ...nterface2/src/mainloop.rkt:277:0 ??? [23] 100.0% --------------------------------------------------------------------------------- run-iter! [15] 100.0% [20] 324(1.1%) 0(0.0%) gen-rewrites! ...interface2/src/mainloop.rkt:182:0 for-loop [24] 100.0% --------------------------------------------------------------------------------- run-iter! [15] 100.0% [21] 304(1.0%) 0(0.0%) choose-best-alt! ...erface2/src/mainloop.rkt:116:0 ??? [23] 100.0% --------------------------------------------------------------------------------- simplify! [18] 100.0% [22] 24334(79.4%) 0(0.0%) ??? ...erbie/interface2/src/core/simplify.rkt:26:0 for-loop [25] 97.4% one-iter [29] 2.6% --------------------------------------------------------------------------------- choose-best-alt! [21] 24.8% finalize-iter! [19] 27.2% variable? [2] 48.0% [23] 1228(4.0%) 590(1.9%) ??? ...contract/private/arrow-val-first.rkt:390:18 for-loop [26] 27.2% ??? [28] 24.8% --------------------------------------------------------------------------------- gen-rewrites! [20] 100.0% [24] 324(1.1%) 0(0.0%) for-loop ...bie/interface2/src/mainloop.rkt:190:11 rewrite-expression-head20 [27] 100.0% --------------------------------------------------------------------------------- ??? [22] 100.0% [25] 23702(77.3%) 0(0.0%) for-loop .../interface2/src/core/simplify.rkt:35:2 one-iter [29] 97.3% loop [30] 2.7% --------------------------------------------------------------------------------- ??? [23] 100.0% [26] 334(1.1%) 0(0.0%) for-loop ...interface2/src/core/alt-table.rkt:55:2 atab-add-altn [31] 100.0% --------------------------------------------------------------------------------- for-loop [24] 100.0% [27] 324(1.1%) 0(0.0%) rewrite-expression-head20 ...core/matcher.rkt:87:0 rewriter [32] 100.0% --------------------------------------------------------------------------------- ??? [23] 100.0% [28] 304(1.0%) 0(0.0%) ??? ...rbie/interface2/src/core/alt-table.rkt:58:0 argmin [33] 100.0% --------------------------------------------------------------------------------- ??? [22] 2.7% for-loop [25] 97.3% [29] 23694(77.3%) 0(0.0%) one-iter .../interface2/src/core/simplify.rkt:72:0 for-loop [34] 65.0% find-matches [35] 28.4% for-loop [36] 4.0% for-loop [38] 2.5% --------------------------------------------------------------------------------- for-loop [25] 100.0% [30] 640(2.1%) 0(0.0%) loop ...ie/interface2/src/core/extraction.rkt:25:2 for-loop [37] 100.0% --------------------------------------------------------------------------------- for-loop [26] 100.0% [31] 334(1.1%) 0(0.0%) atab-add-altn ...ace2/src/core/alt-table.rkt:203:0 errors [44] 100.0% --------------------------------------------------------------------------------- rewrite-expression-head20 [27] 25.0% matcher [47] 75.0% [32] 324(1.1%) 0(0.0%) rewriter ...e/interface2/src/core/matcher.rkt:90:2 for-loop [40] 75.0% *rules* [39] 25.0% --------------------------------------------------------------------------------- ??? [28] 100.0% [33] 304(1.0%) 0(0.0%) argmin ...acket-7.2/collects/racket/list.rkt:765:0 ??? [41] 100.0% --------------------------------------------------------------------------------- one-iter [29] 100.0% [34] 15398(50.2%) 0(0.0%) for-loop .../interface2/src/core/simplify.rkt:74:2 for-loop [42] 100.0% --------------------------------------------------------------------------------- one-iter [29] 100.0% [35] 6738(22.0%) 0(0.0%) find-matches ...erface2/src/core/simplify.rkt:62:0 for-loop [43] 100.0% --------------------------------------------------------------------------------- one-iter [29] 100.0% [36] 958(3.1%) 0(0.0%) for-loop .../interface2/src/core/simplify.rkt:82:2 update-leader! [56] 100.0% --------------------------------------------------------------------------------- loop [30] 100.0% [37] 640(2.1%) 0(0.0%) for-loop ...nterface2/src/core/extraction.rkt:29:4 for-loop [45] 100.0% --------------------------------------------------------------------------------- one-iter [29] 100.0% [38] 600(2.0%) 0(0.0%) for-loop .../interface2/src/core/simplify.rkt:79:2 set-precompute! [46] 100.0% --------------------------------------------------------------------------------- rewriter [32] 100.0% [39] 324(1.1%) 0(0.0%) *rules* ...e/interface2/src/syntax/rules.rkt:666:0 for-loop [59] 100.0% --------------------------------------------------------------------------------- rewriter [32] 100.0% [40] 324(1.1%) 0(0.0%) for-loop ...e/interface2/src/core/matcher.rkt:92:4 matcher [47] 100.0% --------------------------------------------------------------------------------- argmin [33] 100.0% [41] 304(1.0%) 0(0.0%) ??? ...s/herbie/interface2/src/mainloop.rkt:113:10 errors [44] 100.0% --------------------------------------------------------------------------------- for-loop [34] 100.0% [42] 15398(50.2%) 0(0.0%) for-loop .../interface2/src/core/simplify.rkt:77:4 merge-egraph-nodes! [48] 90.0% dedup-children! [51] 6.1% substitute-e [54] 2.0% mk-enode! [68] 1.9% --------------------------------------------------------------------------------- for-loop [43] 50.0% find-matches [35] 50.0% [43] 6738(22.0%) 324(1.1%) for-loop .../interface2/src/core/simplify.rkt:64:8 for-loop [43] 50.0% match-e [49] 45.4% ??? [55] 2.2% --------------------------------------------------------------------------------- ??? [41] 31.6% ??? [6] 33.7% atab-add-altn [31] 34.7% [44] 962(3.1%) 0(0.0%) errors ...s/herbie/interface2/src/points.rkt:185:0 for-loop [50] 100.0% --------------------------------------------------------------------------------- for-loop [37] 100.0% [45] 640(2.1%) 0(0.0%) for-loop ...terface2/src/core/extraction.rkt:37:16 for-loop [52] 100.0% --------------------------------------------------------------------------------- for-loop [38] 100.0% [46] 600(2.0%) 0(0.0%) set-precompute! ...ace2/src/core/simplify.rkt:86:0 for-loop [53] 100.0% --------------------------------------------------------------------------------- for-loop [5] 50.0% for-loop [40] 50.0% [47] 324(1.1%) 0(0.0%) matcher ...e/interface2/src/core/matcher.rkt:118:2 ??? [3] 50.0% rewriter [32] 50.0% --------------------------------------------------------------------------------- merge-egraph-nodes! [48] 2.7% for-loop [42] 97.3% [48] 13858(45.2%) 0(0.0%) merge-egraph-nodes! ...2/src/core/egraph.rkt:143:0 update-leader! [56] 86.3% loop! [76] 8.8% merge-egraph-nodes! [48] 2.7% for-loop [59] 2.2% --------------------------------------------------------------------------------- for-loop [65] 23.8% for-loop [43] 76.2% [49] 6114(19.9%) 1878(6.1%) match-e ...bie/interface2/src/core/ematch.rkt:39:0 for-loop [57] 68.7% constant? [70] 4.8% variable? [2] 4.0% --------------------------------------------------------------------------------- errors [44] 100.0% [50] 962(3.1%) 304(1.0%) for-loop ...herbie/interface2/src/points.rkt:187:2 ??? [6] 68.4% --------------------------------------------------------------------------------- for-loop [42] 100.0% [51] 932(3.0%) 0(0.0%) dedup-children! ...rface2/src/core/enode.rkt:203:0 loop [58] 68.2% loop [63] 31.8% --------------------------------------------------------------------------------- for-loop [45] 100.0% [52] 640(2.1%) 640(2.1%) for-loop ...terface2/src/core/extraction.rkt:41:23 --------------------------------------------------------------------------------- set-precompute! [46] 100.0% [53] 600(2.0%) 300(1.0%) for-loop .../interface2/src/core/simplify.rkt:88:2 do-curry [60] 50.0% --------------------------------------------------------------------------------- for-loop [42] 100.0% [54] 310(1.0%) 0(0.0%) substitute-e ...nterface2/src/core/ematch.rkt:64:0 for-loop [61] 100.0% --------------------------------------------------------------------------------- for-loop [43] 100.0% [55] 300(1.0%) 0(0.0%) ??? .../herbie/interface2/src/core/ematch.rkt:43:5 for-loop [62] 100.0% --------------------------------------------------------------------------------- for-loop [36] 7.4% merge-egraph-nodes! [48] 92.6% [56] 12924(42.2%) 0(0.0%) update-leader! ...rface2/src/core/egraph.rkt:211:0 for-loop [64] 100.0% --------------------------------------------------------------------------------- match-e [49] 100.0% [57] 4850(15.8%) 930(3.0%) for-loop ...e/interface2/src/core/ematch.rkt:52:11 for-loop [65] 49.6% procedure-reduce-keyword-arity-mask [67] 15.8% step [69] 6.2% loop [66] 6.2% cartesian-product [72] 3.1% --------------------------------------------------------------------------------- dedup-children! [51] 27.0% loop [58] 73.0% [58] 636(2.1%) 636(2.1%) loop ...racket-7.2/collects/racket/list.rkt:434:17 loop [58] 73.0% --------------------------------------------------------------------------------- merge-egraph-nodes! [48] 47.9% *rules* [39] 52.1% [59] 622(2.0%) 298(1.0%) for-loop .../herbie/interface2/src/common.rkt:74:9 ormap [71] 52.1% --------------------------------------------------------------------------------- for-loop [53] 49.3% ??? [17] 50.7% [60] 608(2.0%) 608(2.0%) do-curry ...-7.2/collects/racket/function.rkt:71:2 --------------------------------------------------------------------------------- substitute-e [54] 100.0% [61] 310(1.0%) 0(0.0%) for-loop ...e/interface2/src/core/ematch.rkt:73:24 mk-enode! [68] 100.0% --------------------------------------------------------------------------------- ??? [55] 100.0% [62] 300(1.0%) 0(0.0%) for-loop ...ie/interface2/src/core/ematch.rkt:44:7 constant? [70] 100.0% --------------------------------------------------------------------------------- dedup-children! [51] 9.1% loop [63] 90.9% [63] 296(1.0%) 0(0.0%) loop ...racket-7.2/collects/racket/list.rkt:417:34 loop [63] 90.9% loop [73] 9.1% --------------------------------------------------------------------------------- update-leader! [56] 100.0% [64] 12924(42.2%) 0(0.0%) for-loop ...e/interface2/src/core/egraph.rkt:216:6 for-loop [74] 52.3% hash-update! [81] 47.7% --------------------------------------------------------------------------------- for-loop [57] 100.0% [65] 3010(9.8%) 300(1.0%) for-loop ...e/interface2/src/core/ematch.rkt:58:37 match-e [49] 90.0% --------------------------------------------------------------------------------- loop! [76] 4.2% for-loop [57] 6.4% for-loop [14] 18.6% loop [66] 70.8% [66] 1572(5.1%) 0(0.0%) loop ...-7.2/collects/racket/private/map.rkt:40:19 loop [66] 70.8% ??? [75] 18.6% foldl [80] 6.4% loop! [76] 4.2% --------------------------------------------------------------------------------- for-loop [57] 100.0% [67] 920(3.0%) 920(3.0%) procedure-reduce-keyword-arity-mask ....rkt:1562:4 --------------------------------------------------------------------------------- for-loop [42] 49.0% for-loop [61] 51.0% [68] 608(2.0%) 298(1.0%) mk-enode! ...e/interface2/src/core/egraph.rkt:97:0 new-enode [78] 51.0% --------------------------------------------------------------------------------- for-loop [57] 100.0% [69] 602(2.0%) 602(2.0%) step ...ket-7.2/collects/racket/function.rkt:145:9 --------------------------------------------------------------------------------- match-e [49] 49.7% for-loop [62] 50.3% [70] 596(1.9%) 296(1.0%) constant? ...nterface2/src/syntax/syntax.rkt:719:0 value? [79] 50.3% --------------------------------------------------------------------------------- for-loop [59] 100.0% [71] 324(1.1%) 0(0.0%) ormap ....2/collects/racket/private/map.rkt:141:13 flag-set? [77] 100.0% --------------------------------------------------------------------------------- for-loop [57] 100.0% [72] 298(1.0%) 298(1.0%) cartesian-product ...ollects/racket/list.rkt:822:0 --------------------------------------------------------------------------------- loop [63] 100.0% [73] 296(1.0%) 296(1.0%) loop (unknown source) --------------------------------------------------------------------------------- for-loop [64] 100.0% [74] 6764(22.1%) 0(0.0%) for-loop ...e/interface2/src/core/egraph.rkt:217:8 hash-update! [81] 100.0% --------------------------------------------------------------------------------- loop [66] 7.7% ??? [6] 17.3% loop [16] 75.1% [75] 3810(12.4%) 0(0.0%) ??? ...es/herbie/interface2/src/programs.rkt:115:2 ??? [82] 76.4% ??? [87] 23.6% --------------------------------------------------------------------------------- loop [66] 30.7% merge-egraph-nodes! [48] 69.3% [76] 1594(5.2%) 0(0.0%) loop! ...erbie/interface2/src/core/enode.rkt:195:2 custom-set-union [84] 38.5% loop [66] 30.7% set [83] 21.3% update-en-expr [96] 9.4% --------------------------------------------------------------------------------- ormap [71] 100.0% [77] 324(1.1%) 0(0.0%) flag-set? ...herbie/interface2/src/config.rkt:28:0 return/no-unsupplied [94] 100.0% --------------------------------------------------------------------------------- mk-enode! [68] 100.0% [78] 310(1.0%) 310(1.0%) new-enode ...e/interface2/src/core/enode.rkt:102:0 --------------------------------------------------------------------------------- constant? [70] 100.0% [79] 300(1.0%) 300(1.0%) value? ...bie/interface2/src/syntax/types.rkt:18:0 --------------------------------------------------------------------------------- loop [66] 100.0% [80] 300(1.0%) 0(0.0%) foldl ....2/collects/racket/private/list.rkt:229:4 merge2 [85] 100.0% --------------------------------------------------------------------------------- for-loop [64] 47.7% for-loop [74] 52.3% [81] 12924(42.2%) 0(0.0%) hash-update! ...cket/private/more-scheme.rkt:365:4 ??? [86] 100.0% --------------------------------------------------------------------------------- ??? [75] 100.0% [82] 2910(9.5%) 348(1.1%) ??? ...t-7.2/collects/racket/private/kw.rkt:594:14 ??? [87] 33.0% ??? [88] 32.6% ??? [89] 22.4% --------------------------------------------------------------------------------- loop! [76] 100.0% [83] 680(2.2%) 680(2.2%) set ...collects/racket/private/set-types.rkt:981:0 --------------------------------------------------------------------------------- loop! [76] 100.0% [84] 614(2.0%) 614(2.0%) custom-set-union ...et/private/set-types.rkt:168:0 --------------------------------------------------------------------------------- foldl [80] 100.0% [85] 300(1.0%) 300(1.0%) merge2 ...rbie/interface2/src/core/ematch.rkt:24:0 --------------------------------------------------------------------------------- hash-update! [81] 100.0% [86] 12924(42.2%) 624(2.0%) ??? ...erbie/interface2/src/core/egraph.rkt:219:24 for-loop [90] 95.2% --------------------------------------------------------------------------------- ??? [75] 32.5% ??? [17] 32.8% ??? [82] 34.7% [87] 2768(9.0%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:360:33 ival-mult [91] 34.7% sample-multi-bounded [92] 32.8% mk-ival [93] 32.5% --------------------------------------------------------------------------------- ??? [82] 100.0% [88] 950(3.1%) 616(2.0%) ??? ...bie/interface2/src/syntax/syntax.rkt:207:17 return/no-unsupplied [94] 35.2% --------------------------------------------------------------------------------- ??? [82] 100.0% [89] 652(2.1%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:364:33 ival-add [95] 100.0% --------------------------------------------------------------------------------- ??? [86] 100.0% [90] 12300(40.1%) 10438(34.1%) for-loop .../interface2/src/core/egraph.rkt:220:26 update-en-expr [96] 15.1% --------------------------------------------------------------------------------- ??? [87] 100.0% [91] 960(3.1%) 608(2.0%) ival-mult .../interface2/src/biginterval.rkt:111:0 bfadd [97] 36.7% --------------------------------------------------------------------------------- ??? [87] 100.0% [92] 908(3.0%) 600(2.0%) sample-multi-bounded ...rface2/src/points.rkt:15:0 for-loop [100] 33.9% --------------------------------------------------------------------------------- ??? [87] 100.0% [93] 900(2.9%) 0(0.0%) mk-ival ...bie/interface2/src/biginterval.rkt:57:0 bf [98] 100.0% --------------------------------------------------------------------------------- flag-set? [77] 49.2% ??? [88] 50.8% [94] 658(2.1%) 334(1.1%) return/no-unsupplied ...ct/private/arr-i.rkt:542:0 filter [99] 49.2% --------------------------------------------------------------------------------- ??? [89] 100.0% [95] 652(2.1%) 0(0.0%) ival-add ...ie/interface2/src/biginterval.rkt:93:0 bfadd [97] 100.0% --------------------------------------------------------------------------------- loop! [76] 13.9% for-loop [90] 86.1% [96] 2162(7.1%) 2162(7.1%) update-en-expr ...rface2/src/core/egraph.rkt:205:0 --------------------------------------------------------------------------------- ival-mult [91] 35.1% ival-add [95] 64.9% [97] 1004(3.3%) 0(0.0%) bfadd ...-lib/math/private/bigfloat/mpfr.rkt:821:4 new-mpfr [101] 67.7% ??? [102] 32.3% --------------------------------------------------------------------------------- mk-ival [93] 100.0% [98] 900(2.9%) 0(0.0%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:601:2 new-mpfr [101] 66.7% ??? [102] 33.3% --------------------------------------------------------------------------------- return/no-unsupplied [94] 100.0% [99] 324(1.1%) 324(1.1%) filter ...2/collects/racket/private/list.rkt:256:2 --------------------------------------------------------------------------------- sample-multi-bounded [92] 100.0% [100] 308(1.0%) 308(1.0%) for-loop .../herbie/interface2/src/points.rkt:23:4 --------------------------------------------------------------------------------- bf [98] 46.9% bfadd [97] 53.1% [101] 1280(4.2%) 1280(4.2%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:335:0 --------------------------------------------------------------------------------- bf [98] 48.1% bfadd [97] 51.9% [102] 624(2.0%) 624(2.0%) ??? /opt/racket-7.2/collects/ffi/unsafe.rkt:905:4 ---------------------------------------------------------------------------------