Profiling results ----------------- Total cpu time observed: 59042ms (out of 59188ms) Number of samples taken: 186 (once every 317ms) (Hiding functions with self<1.0% and local<2.0%: 2 of 91 hidden) ===================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ===================================================================== ??? [8] 100.0% [1] 59042(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [4] 100.0% --------------------------------------------------------------------- ??? [8] 100.0% [2] 55664(94.3%) 0(0.0%) run-improve40 ...ie/develop/src/mainloop.rkt:336:0 simplify! [5] 99.4% for-loop [7] 0.6% --------------------------------------------------------------------- ??? [8] 100.0% [3] 356(0.6%) 0(0.0%) oracle-error ...erbie/develop/src/points.rkt:212:0 for-loop [6] 100.0% --------------------------------------------------------------------- profile-thunk16 [1] 100.0% [4] 59042(100.0%) 0(0.0%) run ...et-7.0/share/pkgs/profile-lib/main.rkt:39:2 ??? [8] 100.0% --------------------------------------------------------------------- run-improve40 [2] 100.0% [5] 55342(93.7%) 0(0.0%) simplify! ...herbie/develop/src/mainloop.rkt:213:0 ??? [9] 100.0% --------------------------------------------------------------------- oracle-error [3] 100.0% [6] 356(0.6%) 0(0.0%) for-loop ...es/herbie/develop/src/points.rkt:213:2 loop [54] 100.0% --------------------------------------------------------------------- run-improve40 [2] 100.0% [7] 322(0.5%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:351:4 run-iter! [10] 100.0% --------------------------------------------------------------------- run [4] 50.0% [8] 59042(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 50.0% run-improve40 [2] 47.1% prepare-points-intervals [12] 2.0% oracle-error [3] 0.3% eval-errors [13] 0.3% errors [15] 0.3% --------------------------------------------------------------------- simplify! [5] 100.0% [9] 55342(93.7%) 0(0.0%) ??? ...s/herbie/develop/src/core/simplify.rkt:26:0 for-loop [11] 100.0% --------------------------------------------------------------------- for-loop [7] 100.0% [10] 322(0.5%) 0(0.0%) run-iter! ...herbie/develop/src/mainloop.rkt:317:0 localize! [14] 100.0% --------------------------------------------------------------------- ??? [9] 100.0% [11] 55342(93.7%) 0(0.0%) for-loop ...bie/develop/src/core/simplify.rkt:33:2 one-iter [16] 100.0% --------------------------------------------------------------------- ??? [8] 100.0% [12] 2386(4.0%) 0(0.0%) prepare-points-intervals ...p/src/points.rkt:133:0 loop [17] 100.0% --------------------------------------------------------------------- ??? [8] 100.0% [13] 336(0.6%) 0(0.0%) eval-errors ...herbie/develop/src/points.rkt:203:0 for-loop [18] 100.0% --------------------------------------------------------------------- run-iter! [10] 100.0% [14] 322(0.5%) 0(0.0%) localize! ...herbie/develop/src/mainloop.rkt:116:0 localize-error [19] 100.0% --------------------------------------------------------------------- ??? [8] 100.0% [15] 300(0.5%) 0(0.0%) errors ...lies/herbie/develop/src/points.rkt:228:0 for-loop [20] 100.0% --------------------------------------------------------------------- for-loop [11] 100.0% [16] 55342(93.7%) 0(0.0%) one-iter ...bie/develop/src/core/simplify.rkt:86:0 for-loop [21] 74.7% find-matches [22] 24.7% for-loop [26] 0.5% --------------------------------------------------------------------- prepare-points-intervals [12]100.0% [17] 2386(4.0%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:145:4 loop [23] 70.3% ??? [24] 29.7% --------------------------------------------------------------------- eval-errors [13] 100.0% [18] 336(0.6%) 0(0.0%) for-loop ...es/herbie/develop/src/points.rkt:205:2 ??? [68] 100.0% --------------------------------------------------------------------- localize! [14] 100.0% [19] 322(0.5%) 0(0.0%) localize-error ...velop/src/core/localize.rkt:52:0 hash-ref! [25] 100.0% --------------------------------------------------------------------- errors [15] 100.0% [20] 300(0.5%) 300(0.5%) for-loop ...es/herbie/develop/src/points.rkt:230:2 --------------------------------------------------------------------- one-iter [16] 100.0% [21] 41366(70.1%) 0(0.0%) for-loop ...bie/develop/src/core/simplify.rkt:95:2 loop [27] 100.0% --------------------------------------------------------------------- one-iter [16] 100.0% [22] 13676(23.2%) 0(0.0%) find-matches ...develop/src/core/simplify.rkt:56:0 for-loop [28] 100.0% --------------------------------------------------------------------- loop [17] 100.0% [23] 1678(2.8%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:104:2 ??? [61] 100.0% --------------------------------------------------------------------- loop [17] 100.0% [24] 708(1.2%) 0(0.0%) ??? ...ghtlies/herbie/develop/src/points.rkt:129:2 ??? [68] 100.0% --------------------------------------------------------------------- localize-error [19] 100.0% [25] 322(0.5%) 0(0.0%) hash-ref! .../racket/private/more-scheme.rkt:376:2 parse-loop15 [29] 100.0% --------------------------------------------------------------------- one-iter [16] 100.0% [26] 300(0.5%) 0(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:111:2 set-precompute! [30] 100.0% --------------------------------------------------------------------- for-loop [21] 100.0% [27] 41366(70.1%) 0(0.0%) loop ...herbie/develop/src/core/simplify.rkt:100:4 apply-match [31] 100.0% --------------------------------------------------------------------- for-loop [28] 48.9% find-matches [22] 51.1% [28] 13676(23.2%) 1832(3.1%) for-loop ...bie/develop/src/core/simplify.rkt:58:8 for-loop [28] 48.9% match-e [35] 42.1% ??? [32] 1.2% --------------------------------------------------------------------- hash-ref! [25] 100.0% [29] 322(0.5%) 0(0.0%) parse-loop15 ...s/racket/match/compiler.rkt:418:15 loop [54] 100.0% --------------------------------------------------------------------- for-loop [26] 100.0% [30] 300(0.5%) 0(0.0%) set-precompute! ...lop/src/core/simplify.rkt:117:0 for-loop [33] 100.0% --------------------------------------------------------------------- loop [27] 100.0% [31] 41366(70.1%) 0(0.0%) apply-match .../develop/src/core/simplify.rkt:65:0 for-loop [34] 89.3% match-e [35] 10.0% set [55] 0.8% --------------------------------------------------------------------- for-loop [28] 100.0% [32] 326(0.6%) 0(0.0%) ??? ...ies/herbie/develop/src/core/ematch.rkt:43:5 for-loop [36] 100.0% --------------------------------------------------------------------- set-precompute! [30] 100.0% [33] 300(0.5%) 0(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:119:2 setfindf [37] 100.0% --------------------------------------------------------------------- apply-match [31] 100.0% [34] 36928(62.5%) 0(0.0%) for-loop ...bie/develop/src/core/simplify.rkt:78:2 merge-egraph-nodes! [38] 55.2% dedup-children! [44] 38.1% mk-enode! [56] 5.0% substitute-e [40] 1.8% --------------------------------------------------------------------- apply-match [31] 15.9% for-loop [45] 19.0% for-loop [28] 65.1% [35] 15636(26.5%) 3814(6.5%) match-e ...herbie/develop/src/core/ematch.rkt:39:0 for-loop [39] 73.3% ??? [46] 1.8% variable? [41] 0.7% --------------------------------------------------------------------- ??? [32] 100.0% [36] 326(0.6%) 326(0.6%) for-loop ...erbie/develop/src/core/ematch.rkt:44:7 --------------------------------------------------------------------- for-loop [33] 100.0% [37] 300(0.5%) 0(0.0%) setfindf ...es/herbie/develop/src/common.rkt:139:0 for-loop [42] 100.0% --------------------------------------------------------------------- merge-egraph-nodes! [38] 4.8% for-loop [34] 94.4% [38] 20376(34.5%) 320(0.5%) merge-egraph-nodes! ...p/src/core/egraph.rkt:145:0 loop! [43] 83.1% merge-egraph-nodes! [38] 4.8% dedup-children! [44] 4.8% update-leader! [47] 3.4% enode-merge! [52] 1.5% --------------------------------------------------------------------- match-e [35] 100.0% [39] 12194(20.7%) 8372(14.2%) for-loop ...rbie/develop/src/core/ematch.rkt:52:11 for-loop [45] 35.2% foldl [49] 4.0% cartesian-product [50] 3.7% loop [51] 2.5% --------------------------------------------------------------------- for-loop [48] 24.7% for-loop [34] 75.3% [40] 660(1.1%) 326(0.6%) substitute-e ...e/develop/src/core/ematch.rkt:64:0 for-loop [48] 75.3% --------------------------------------------------------------------- match-e [35] 100.0% [41] 324(0.5%) 0(0.0%) variable? .../develop/src/syntax/syntax.rkt:1159:0 ??? [46] 100.0% --------------------------------------------------------------------- setfindf [37] 100.0% [42] 300(0.5%) 300(0.5%) for-loop ...es/herbie/develop/src/common.rkt:140:2 --------------------------------------------------------------------- loop [54] 30.2% merge-egraph-nodes! [38] 69.8% [43] 18092(30.6%) 3574(6.1%) loop! ...s/herbie/develop/src/core/enode.rkt:191:2 custom-set-union [60] 40.1% loop [54] 31.8% set [55] 13.9% update-en-expr [57] 3.3% --------------------------------------------------------------------- merge-egraph-nodes! [38] 6.4% for-loop [34] 93.6% [44] 15024(25.4%) 0(0.0%) dedup-children! ...evelop/src/core/enode.rkt:199:0 loop [53] 100.0% --------------------------------------------------------------------- for-loop [39] 100.0% [45] 6318(10.7%) 600(1.0%) for-loop ...rbie/develop/src/core/ematch.rkt:58:37 match-e [35] 90.5% --------------------------------------------------------------------- variable? [41] 32.2% match-e [35] 67.8% [46] 1006(1.7%) 1006(1.7%) ??? ...contract/private/arrow-val-first.rkt:388:18 --------------------------------------------------------------------- merge-egraph-nodes! [38] 100.0% [47] 696(1.2%) 0(0.0%) update-leader! ...evelop/src/core/egraph.rkt:213:0 for-loop [58] 100.0% --------------------------------------------------------------------- substitute-e [40] 100.0% [48] 660(1.1%) 0(0.0%) for-loop ...rbie/develop/src/core/ematch.rkt:73:24 mk-enode! [56] 50.6% substitute-e [40] 49.4% --------------------------------------------------------------------- for-loop [39] 100.0% [49] 634(1.1%) 634(1.1%) foldl ....0/collects/racket/private/list.rkt:229:4 --------------------------------------------------------------------- for-loop [39] 100.0% [50] 600(1.0%) 600(1.0%) cartesian-product ...ollects/racket/list.rkt:822:0 --------------------------------------------------------------------- for-loop [39] 100.0% [51] 310(0.5%) 310(0.5%) loop ...cket-7.0/collects/racket/function.rkt:53:6 --------------------------------------------------------------------- merge-egraph-nodes! [38] 100.0% [52] 300(0.5%) 0(0.0%) enode-merge! ...e/develop/src/core/enode.rkt:128:0 adopt-enode! [59] 100.0% --------------------------------------------------------------------- dedup-children! [44] 13.2% loop [53] 86.8% [53] 15024(25.4%) 15024(25.4%) loop ...racket-7.0/collects/racket/list.rkt:434:17 loop [53] 86.8% --------------------------------------------------------------------- parse-loop15 [29] 0.0% for-loop [6] 3.0% loop! [43] 12.0% loop [54] 84.9% [54] 11798(20.0%) 300(0.5%) loop ...-7.0/collects/racket/private/map.rkt:40:19 loop [54] 84.9% loop! [43] 12.0% ??? [61] 3.0% map [65] 0.0% --------------------------------------------------------------------- apply-match [31] 5.9% loop! [43] 94.1% [55] 5434(9.2%) 5114(8.7%) set ...collects/racket/private/set-types.rkt:981:0 for-loop [66] 5.9% --------------------------------------------------------------------- for-loop [48] 15.4% for-loop [34] 84.6% [56] 2170(3.7%) 898(1.5%) mk-enode! ...rbie/develop/src/core/egraph.rkt:99:0 new-enode [62] 29.5% hash-has-key? [63] 29.1% --------------------------------------------------------------------- loop! [43] 100.0% [57] 1202(2.0%) 1202(2.0%) update-en-expr ...evelop/src/core/egraph.rkt:207:0 --------------------------------------------------------------------- update-leader! [47] 100.0% [58] 696(1.2%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:218:6 for-loop [64] 51.7% hash-update! [70] 48.3% --------------------------------------------------------------------- enode-merge! [52] 100.0% [59] 300(0.5%) 0(0.0%) adopt-enode! ...e/develop/src/core/enode.rkt:104:0 custom-set-union [60] 100.0% --------------------------------------------------------------------- adopt-enode! [59] 3.7% loop! [43] 96.3% [60] 8202(13.9%) 2874(4.9%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [67] 60.9% for-loop [72] 4.0% --------------------------------------------------------------------- loop [54] 17.5% loop [23] 82.5% [61] 2034(3.4%) 0(0.0%) ??? ...tlies/herbie/develop/src/programs.rkt:146:2 ??? [69] 51.8% ??? [68] 48.2% --------------------------------------------------------------------- mk-enode! [56] 100.0% [62] 640(1.1%) 0(0.0%) new-enode ...erbie/develop/src/core/enode.rkt:96:0 type-of-enode-expr [71] 100.0% --------------------------------------------------------------------- mk-enode! [56] 100.0% [63] 632(1.1%) 632(1.1%) hash-has-key? ...ket/private/more-scheme.rkt:371:2 --------------------------------------------------------------------- for-loop [58] 100.0% [64] 360(0.6%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:219:8 hash-update! [70] 100.0% --------------------------------------------------------------------- loop [54] 100.0% [65] 322(0.5%) 0(0.0%) map ...t-7.0/collects/racket/private/map.rkt:35:13 ??? [68] 100.0% --------------------------------------------------------------------- set [55] 100.0% [66] 320(0.5%) 320(0.5%) for-loop ...cts/racket/private/set-types.rkt:937:4 --------------------------------------------------------------------- custom-set-union [60] 100.0% [67] 4998(8.5%) 1596(2.7%) for-loop ...cts/racket/private/set-types.rkt:174:3 for-loop [73] 68.1% --------------------------------------------------------------------- map [65] 13.7% for-loop [18] 14.3% ??? [24] 30.2% ??? [61] 41.8% [68] 2346(4.0%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:357:33 ->flonum [75] 43.2% sample-multi-bounded [76] 30.2% mk-ival [79] 26.6% --------------------------------------------------------------------- ??? [61] 100.0% [69] 1054(1.8%) 0(0.0%) ??? ...t-7.0/collects/racket/private/kw.rkt:592:14 ??? [74] 100.0% --------------------------------------------------------------------- for-loop [58] 48.3% for-loop [64] 51.7% [70] 696(1.2%) 0(0.0%) hash-update! ...cket/private/more-scheme.rkt:365:4 ??? [77] 100.0% --------------------------------------------------------------------- new-enode [62] 100.0% [71] 640(1.1%) 0(0.0%) type-of-enode-expr ...elop/src/core/enode.rkt:69:0 table-ref [78] 100.0% --------------------------------------------------------------------- custom-set-union [60] 100.0% [72] 330(0.6%) 330(0.6%) for-loop ...cts/racket/private/set-types.rkt:152:2 --------------------------------------------------------------------- for-loop [67] 100.0% [73] 3402(5.8%) 3402(5.8%) for-loop ...cts/racket/private/set-types.rkt:178:5 --------------------------------------------------------------------- ??? [69] 100.0% [74] 1054(1.8%) 354(0.6%) ??? ...tract/private/arrow-higher-order.rkt:361:33 ival-add [80] 66.4% --------------------------------------------------------------------- ??? [68] 100.0% [75] 1014(1.7%) 322(0.5%) ->flonum ...s/herbie/develop/src/programs.rkt:38:0 ??? [83] 35.1% return/no-unsupplied [84] 33.1% --------------------------------------------------------------------- ??? [68] 100.0% [76] 708(1.2%) 708(1.2%) sample-multi-bounded ...evelop/src/points.rkt:16:0 --------------------------------------------------------------------- hash-update! [70] 100.0% [77] 696(1.2%) 0(0.0%) ??? ...s/herbie/develop/src/core/egraph.rkt:221:24 for-loop [81] 100.0% --------------------------------------------------------------------- type-of-enode-expr [71] 100.0% [78] 640(1.1%) 334(0.6%) table-ref ...es/herbie/develop/src/common.rkt:42:0 for-loop [85] 47.8% --------------------------------------------------------------------- ??? [68] 100.0% [79] 624(1.1%) 0(0.0%) mk-ival ...herbie/develop/src/biginterval.rkt:59:0 bf [82] 100.0% --------------------------------------------------------------------- ??? [74] 100.0% [80] 700(1.2%) 0(0.0%) ival-add ...erbie/develop/src/biginterval.rkt:96:0 bfadd [86] 100.0% --------------------------------------------------------------------- ??? [77] 100.0% [81] 696(1.2%) 696(1.2%) for-loop ...bie/develop/src/core/egraph.rkt:222:26 --------------------------------------------------------------------- mk-ival [79] 100.0% [82] 624(1.1%) 0(0.0%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:601:2 new-mpfr [89] 52.6% ??? [88] 47.4% --------------------------------------------------------------------- ->flonum [75] 100.0% [83] 356(0.6%) 356(0.6%) ??? ...s/racket/contract/private/arr-i.rkt:1252:29 --------------------------------------------------------------------- ->flonum [75] 100.0% [84] 336(0.6%) 0(0.0%) return/no-unsupplied ...ct/private/arr-i.rkt:534:0 filter [87] 100.0% --------------------------------------------------------------------- table-ref [78] 100.0% [85] 306(0.5%) 306(0.5%) for-loop ...ies/herbie/develop/src/common.rkt:44:4 --------------------------------------------------------------------- ival-add [80] 100.0% [86] 700(1.2%) 0(0.0%) bfadd ...-lib/math/private/bigfloat/mpfr.rkt:821:4 new-mpfr [89] 100.0% --------------------------------------------------------------------- return/no-unsupplied [84] 100.0% [87] 336(0.6%) 336(0.6%) filter ...0/collects/racket/private/list.rkt:256:2 --------------------------------------------------------------------- bf [82] 100.0% [88] 296(0.5%) 296(0.5%) ??? /opt/racket-7.0/collects/ffi/unsafe.rkt:898:4 --------------------------------------------------------------------- bf [82] 31.9% bfadd [86] 68.1% [89] 1028(1.7%) 1028(1.7%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:335:0 ---------------------------------------------------------------------