Profiling results ----------------- Total cpu time observed: 29616ms (out of 29752ms) Number of samples taken: 109 (once every 272ms) (Hiding functions with self<1.0% and local<2.0%: 1 of 86 hidden) =============================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee =============================================================================== ??? [5] 100.0% [1] 29616(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [3] 100.0% ------------------------------------------------------------------------------- ??? [5] 100.0% [2] 23492(79.3%) 0(0.0%) run-improve47 ...bie/master/src/mainloop.rkt:346:0 simplify! [4] 100.0% ------------------------------------------------------------------------------- profile-thunk16 [1] 100.0% [3] 29616(100.0%) 0(0.0%) run ...et-7.2/share/pkgs/profile-lib/main.rkt:39:2 ??? [5] 100.0% ------------------------------------------------------------------------------- run-improve47 [2] 100.0% [4] 23492(79.3%) 0(0.0%) simplify! .../herbie/master/src/mainloop.rkt:224:0 ??? [6] 100.0% ------------------------------------------------------------------------------- run [3] 50.0% [5] 29616(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 50.0% run-improve47 [2] 39.7% prepare-points-intervals [8] 9.8% oracle-error [10] 0.5% ------------------------------------------------------------------------------- simplify! [4] 100.0% [6] 23492(79.3%) 0(0.0%) ??? ...es/herbie/master/src/core/simplify.rkt:31:0 for-loop [7] 98.6% loop [9] 1.4% ------------------------------------------------------------------------------- ??? [6] 100.0% [7] 23170(78.2%) 0(0.0%) for-loop ...rbie/master/src/core/simplify.rkt:51:2 ??? [11] 97.0% for-loop [13] 1.8% precompute-phase [16] 1.3% ------------------------------------------------------------------------------- ??? [5] 100.0% [8] 5808(19.6%) 0(0.0%) prepare-points-intervals ...r/src/points.rkt:110:0 loop [12] 100.0% ------------------------------------------------------------------------------- ??? [6] 100.0% [9] 322(1.1%) 0(0.0%) loop ...herbie/master/src/core/extraction.rkt:25:2 for-loop [14] 100.0% ------------------------------------------------------------------------------- ??? [5] 100.0% [10] 316(1.1%) 0(0.0%) oracle-error ...herbie/master/src/points.rkt:188:0 for-loop [15] 100.0% ------------------------------------------------------------------------------- for-loop [7] 100.0% [11] 22466(75.9%) 0(0.0%) ??? ...es/herbie/master/src/core/simplify.rkt:92:0 for-loop [17] 73.1% find-matches [18] 26.9% ------------------------------------------------------------------------------- prepare-points-intervals [8] 100.0% [12] 5808(19.6%) 910(3.1%) loop ...ghtlies/herbie/master/src/points.rkt:123:4 ??? [19] 47.0% loop [20] 31.2% do-curry [22] 6.1% ------------------------------------------------------------------------------- for-loop [7] 100.0% [13] 414(1.4%) 0(0.0%) for-loop ...rbie/master/src/core/simplify.rkt:59:4 prune-phase [21] 100.0% ------------------------------------------------------------------------------- loop [9] 100.0% [14] 322(1.1%) 0(0.0%) for-loop ...ie/master/src/core/extraction.rkt:29:4 for-loop [23] 100.0% ------------------------------------------------------------------------------- oracle-error [10] 100.0% [15] 316(1.1%) 316(1.1%) for-loop ...ies/herbie/master/src/points.rkt:189:2 ------------------------------------------------------------------------------- for-loop [7] 100.0% [16] 290(1.0%) 0(0.0%) precompute-phase ...er/src/core/simplify.rkt:101:0 for-loop [24] 100.0% ------------------------------------------------------------------------------- ??? [11] 100.0% [17] 16420(55.4%) 0(0.0%) for-loop ...rbie/master/src/core/simplify.rkt:93:2 for-loop [25] 100.0% ------------------------------------------------------------------------------- ??? [11] 100.0% [18] 6046(20.4%) 0(0.0%) find-matches .../master/src/core/simplify.rkt:84:0 for-loop [26] 100.0% ------------------------------------------------------------------------------- loop [12] 100.0% [19] 2732(9.2%) 304(1.0%) ??? ...ightlies/herbie/master/src/points.rkt:106:2 ??? [40] 88.9% ------------------------------------------------------------------------------- loop [12] 100.0% [20] 1812(6.1%) 304(1.0%) loop ...ightlies/herbie/master/src/points.rkt:81:2 ??? [27] 83.2% ------------------------------------------------------------------------------- for-loop [13] 100.0% [21] 414(1.4%) 0(0.0%) prune-phase .../master/src/core/simplify.rkt:106:0 for-loop [28] 100.0% ------------------------------------------------------------------------------- loop [12] 100.0% [22] 354(1.2%) 354(1.2%) do-curry ...-7.2/collects/racket/function.rkt:71:2 ------------------------------------------------------------------------------- for-loop [14] 100.0% [23] 322(1.1%) 322(1.1%) for-loop ...e/master/src/core/extraction.rkt:37:16 ------------------------------------------------------------------------------- precompute-phase [16] 100.0% [24] 290(1.0%) 0(0.0%) for-loop ...bie/master/src/core/simplify.rkt:102:2 set-precompute! [29] 100.0% ------------------------------------------------------------------------------- for-loop [17] 100.0% [25] 16420(55.4%) 0(0.0%) for-loop ...rbie/master/src/core/simplify.rkt:96:4 merge-egraph-nodes! [30] 57.7% dedup-children! [38] 30.0% pattern-substitute [32] 11.1% ------------------------------------------------------------------------------- for-loop [26] 50.0% find-matches [18] 50.0% [26] 6046(20.4%) 0(0.0%) for-loop ...rbie/master/src/core/simplify.rkt:86:8 for-loop [26] 50.0% match-e [31] 50.0% ------------------------------------------------------------------------------- loop [20] 100.0% [27] 1508(5.1%) 0(0.0%) ??? ...htlies/herbie/master/src/programs.rkt:115:2 ??? [33] 82.1% ??? [40] 17.9% ------------------------------------------------------------------------------- prune-phase [21] 100.0% [28] 414(1.4%) 0(0.0%) for-loop ...bie/master/src/core/simplify.rkt:107:2 reduce-to-single! [35] 50.2% update-leader! [39] 49.8% ------------------------------------------------------------------------------- for-loop [24] 100.0% [29] 290(1.0%) 0(0.0%) set-precompute! ...ter/src/core/simplify.rkt:110:0 for-loop [34] 100.0% ------------------------------------------------------------------------------- merge-egraph-nodes! [30] 5.4% for-loop [41] 6.4% for-loop [25] 88.2% [30] 9468(32.0%) 0(0.0%) merge-egraph-nodes! ...r/src/core/egraph.rkt:145:0 loop! [37] 57.0% update-leader! [39] 26.8% for-loop [41] 6.4% merge-egraph-nodes! [30] 5.4% dedup-children! [38] 4.4% ------------------------------------------------------------------------------- for-loop [48] 36.4% for-loop [26] 63.6% [31] 6046(20.4%) 1482(5.0%) match-e .../herbie/master/src/core/ematch.rkt:39:0 for-loop [36] 84.1% constant? [80] 5.8% ------------------------------------------------------------------------------- for-loop [25] 45.5% pattern-substitute [32] 54.5% [32] 1820(6.1%) 1092(3.7%) pattern-substitute ...er/src/core/matcher.rkt:46:0 pattern-substitute [32] 54.5% variable? [43] 11.3% ??? [45] 4.1% ------------------------------------------------------------------------------- ??? [27] 100.0% [33] 1238(4.2%) 0(0.0%) ??? ...t-7.2/collects/racket/private/kw.rkt:594:14 ??? [42] 70.1% ??? [40] 29.9% ------------------------------------------------------------------------------- set-precompute! [29] 100.0% [34] 290(1.0%) 0(0.0%) for-loop ...bie/master/src/core/simplify.rkt:112:2 setfindf [44] 100.0% ------------------------------------------------------------------------------- for-loop [28] 100.0% [35] 208(0.7%) 0(0.0%) reduce-to-single! ...ter/src/core/egraph.rkt:320:0 for-loop [46] 100.0% ------------------------------------------------------------------------------- match-e [31] 100.0% [36] 6046(20.4%) 2232(7.5%) for-loop ...erbie/master/src/core/ematch.rkt:52:11 for-loop [48] 56.4% loop [49] 8.3% procedure-reduce-keyword-arity-mask [57] 6.2% make-curried [59] 2.6% ------------------------------------------------------------------------------- loop [49] 31.5% merge-egraph-nodes! [30] 68.5% [37] 5676(19.2%) 1500(5.1%) loop! ...es/herbie/master/src/core/enode.rkt:194:2 custom-set-union [51] 39.4% loop [49] 35.4% set [53] 7.1% update-en-expr [55] 5.4% ------------------------------------------------------------------------------- merge-egraph-nodes! [30] 9.8% for-loop [25] 90.2% [38] 5460(18.4%) 0(0.0%) dedup-children! ...master/src/core/enode.rkt:202:0 loop [47] 88.4% loop [54] 11.6% ------------------------------------------------------------------------------- for-loop [28] 6.0% merge-egraph-nodes! [30] 94.0% [39] 3462(11.7%) 0(0.0%) update-leader! ...master/src/core/egraph.rkt:213:0 for-loop [50] 100.0% ------------------------------------------------------------------------------- ??? [27] 8.8% ??? [33] 12.1% ??? [19] 79.1% [40] 3068(10.4%) 274(0.9%) ??? ...tract/private/arrow-higher-order.rkt:360:33 sample-multi-bounded [52] 70.2% ival-mult [58] 12.1% mk-ival [61] 8.8% ------------------------------------------------------------------------------- merge-egraph-nodes! [30] 100.0% [41] 1014(3.4%) 0(0.0%) for-loop ...erbie/master/src/core/egraph.rkt:199:4 merge-egraph-nodes! [30] 100.0% ------------------------------------------------------------------------------- ??? [33] 100.0% [42] 868(2.9%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:364:33 ival-add [56] 69.4% ival-sub [62] 30.6% ------------------------------------------------------------------------------- pattern-substitute [32] 100.0% [43] 502(1.7%) 0(0.0%) variable? ...ie/master/src/syntax/syntax.rkt:729:0 value? [83] 100.0% ------------------------------------------------------------------------------- for-loop [34] 100.0% [44] 290(1.0%) 0(0.0%) setfindf ...ies/herbie/master/src/common.rkt:130:0 for-loop [60] 100.0% ------------------------------------------------------------------------------- pattern-substitute [32] 100.0% [45] 226(0.8%) 226(0.8%) ??? ...contract/private/arrow-val-first.rkt:390:18 ------------------------------------------------------------------------------- reduce-to-single! [35] 100.0% [46] 208(0.7%) 0(0.0%) for-loop ...erbie/master/src/core/egraph.rkt:321:8 constant? [80] 100.0% ------------------------------------------------------------------------------- dedup-children! [38] 13.8% loop [47] 86.2% [47] 4824(16.3%) 4824(16.3%) loop ...racket-7.2/collects/racket/list.rkt:434:17 loop [47] 86.2% ------------------------------------------------------------------------------- for-loop [36] 100.0% [48] 4310(14.6%) 0(0.0%) for-loop ...erbie/master/src/core/ematch.rkt:58:37 match-e [31] 94.3% ??? [71] 5.7% ------------------------------------------------------------------------------- for-loop [36] 9.2% loop! [37] 19.3% loop [49] 71.5% [49] 4074(13.8%) 724(2.4%) loop ...-7.2/collects/racket/private/map.rkt:40:19 loop [49] 71.5% loop! [37] 13.9% ------------------------------------------------------------------------------- update-leader! [39] 100.0% [50] 3462(11.7%) 0(0.0%) for-loop ...erbie/master/src/core/egraph.rkt:218:6 for-loop [63] 55.4% hash-update! [72] 44.6% ------------------------------------------------------------------------------- loop! [37] 100.0% [51] 2374(8.0%) 576(1.9%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [65] 63.7% for-loop [69] 12.0% ------------------------------------------------------------------------------- ??? [40] 100.0% [52] 2154(7.3%) 292(1.0%) sample-multi-bounded ...master/src/points.rkt:15:0 random-ranges [64] 70.9% for-loop [68] 15.5% ------------------------------------------------------------------------------- loop! [37] 100.0% [53] 962(3.2%) 962(3.2%) set ...collects/racket/private/set-types.rkt:981:0 ------------------------------------------------------------------------------- dedup-children! [38] 12.5% loop [54] 87.5% [54] 636(2.1%) 0(0.0%) loop ...racket-7.2/collects/racket/list.rkt:417:34 loop [54] 87.5% loop [67] 12.5% ------------------------------------------------------------------------------- loop! [37] 100.0% [55] 618(2.1%) 618(2.1%) update-en-expr ...master/src/core/egraph.rkt:207:0 ------------------------------------------------------------------------------- ??? [42] 100.0% [56] 602(2.0%) 0(0.0%) ival-add ...erbie/master/src/biginterval.rkt:101:0 bfadd [66] 100.0% ------------------------------------------------------------------------------- for-loop [36] 100.0% [57] 496(1.7%) 496(1.7%) procedure-reduce-keyword-arity-mask ....rkt:1562:4 ------------------------------------------------------------------------------- ??? [40] 100.0% [58] 370(1.2%) 370(1.2%) ival-mult ...rbie/master/src/biginterval.rkt:119:0 ------------------------------------------------------------------------------- for-loop [36] 100.0% [59] 310(1.0%) 310(1.0%) make-curried ...collects/racket/function.rkt:130:9 ------------------------------------------------------------------------------- setfindf [44] 100.0% [60] 290(1.0%) 0(0.0%) for-loop ...ies/herbie/master/src/common.rkt:131:2 constant? [80] 100.0% ------------------------------------------------------------------------------- ??? [40] 100.0% [61] 270(0.9%) 0(0.0%) mk-ival .../herbie/master/src/biginterval.rkt:65:0 bf [70] 100.0% ------------------------------------------------------------------------------- ??? [42] 100.0% [62] 266(0.9%) 0(0.0%) ival-sub ...erbie/master/src/biginterval.rkt:107:0 bfadd [66] 100.0% ------------------------------------------------------------------------------- for-loop [50] 100.0% [63] 1918(6.5%) 0(0.0%) for-loop ...erbie/master/src/core/egraph.rkt:219:8 hash-update! [72] 100.0% ------------------------------------------------------------------------------- sample-multi-bounded [52] 100.0% [64] 1528(5.2%) 352(1.2%) random-ranges ...erbie/master/src/common.rkt:171:0 cons/c [74] 58.5% build--> [77] 18.5% ------------------------------------------------------------------------------- custom-set-union [51] 100.0% [65] 1512(5.1%) 578(2.0%) for-loop ...cts/racket/private/set-types.rkt:174:3 for-loop [73] 61.8% ------------------------------------------------------------------------------- ival-sub [62] 30.6% ival-add [56] 69.4% [66] 868(2.9%) 0(0.0%) bfadd ...-lib/math/private/bigfloat/mpfr.rkt:821:4 ??? [76] 64.3% new-mpfr [75] 35.7% ------------------------------------------------------------------------------- loop [54] 100.0% [67] 636(2.1%) 636(2.1%) loop (unknown source) ------------------------------------------------------------------------------- sample-multi-bounded [52] 100.0% [68] 334(1.1%) 334(1.1%) for-loop ...lies/herbie/master/src/points.rkt:23:4 ------------------------------------------------------------------------------- custom-set-union [51] 100.0% [69] 286(1.0%) 286(1.0%) for-loop ...cts/racket/private/set-types.rkt:152:2 ------------------------------------------------------------------------------- mk-ival [61] 100.0% [70] 270(0.9%) 0(0.0%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:601:2 new-mpfr [75] 100.0% ------------------------------------------------------------------------------- for-loop [48] 100.0% [71] 244(0.8%) 0(0.0%) ??? ...lies/herbie/master/src/core/ematch.rkt:43:5 for-loop [78] 100.0% ------------------------------------------------------------------------------- for-loop [50] 44.6% for-loop [63] 55.4% [72] 3462(11.7%) 0(0.0%) hash-update! ...cket/private/more-scheme.rkt:365:4 ??? [79] 100.0% ------------------------------------------------------------------------------- for-loop [65] 100.0% [73] 934(3.2%) 934(3.2%) for-loop ...cts/racket/private/set-types.rkt:178:5 ------------------------------------------------------------------------------- random-ranges [64] 100.0% [74] 894(3.0%) 0(0.0%) cons/c .../racket/contract/private/guts.rkt:504:15 coerce-contract [81] 100.0% ------------------------------------------------------------------------------- bf [70] 46.6% bfadd [66] 53.4% [75] 580(2.0%) 580(2.0%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:335:0 ------------------------------------------------------------------------------- bfadd [66] 100.0% [76] 558(1.9%) 558(1.9%) ??? /opt/racket-7.2/collects/ffi/unsafe.rkt:905:4 ------------------------------------------------------------------------------- random-ranges [64] 100.0% [77] 282(1.0%) 282(1.0%) build--> ...act/private/arrow-val-first.rkt:1088:0 ------------------------------------------------------------------------------- ??? [71] 100.0% [78] 244(0.8%) 0(0.0%) for-loop ...herbie/master/src/core/ematch.rkt:44:7 constant? [80] 100.0% ------------------------------------------------------------------------------- hash-update! [72] 100.0% [79] 3462(11.7%) 0(0.0%) ??? ...es/herbie/master/src/core/egraph.rkt:221:24 for-loop [82] 100.0% ------------------------------------------------------------------------------- for-loop [46] 13.7% for-loop [78] 16.0% for-loop [60] 19.1% match-e [31] 51.2% [80] 1522(5.1%) 0(0.0%) constant? ...ie/master/src/syntax/syntax.rkt:726:0 value? [83] 100.0% ------------------------------------------------------------------------------- cons/c [74] 100.0% [81] 894(3.0%) 0(0.0%) coerce-contract ...contract/private/guts.rkt:308:0 coerce-contract/f [84] 100.0% ------------------------------------------------------------------------------- ??? [79] 100.0% [82] 3462(11.7%) 3462(11.7%) for-loop ...rbie/master/src/core/egraph.rkt:222:26 ------------------------------------------------------------------------------- variable? [43] 24.8% constant? [80] 75.2% [83] 2024(6.8%) 2024(6.8%) value? .../herbie/master/src/syntax/types.rkt:18:0 ------------------------------------------------------------------------------- coerce-contract [81] 100.0% [84] 894(3.0%) 300(1.0%) coerce-contract/f ...ntract/private/guts.rkt:373:0 coerce-simple-value [85] 66.4% ------------------------------------------------------------------------------- coerce-contract/f [84] 100.0% [85] 594(2.0%) 594(2.0%) coerce-simple-value ...ract/private/guts.rkt:386:0 -------------------------------------------------------------------------------