Profiling results ----------------- Total cpu time observed: 56448ms (out of 56820ms) Number of samples taken: 230 (once every 245ms) (Hiding functions with self<1.0% and local<2.0%: 1 of 98 hidden) ================================================================================ Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ================================================================================ ??? [5] 100.0% [1] 56448(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [3] 100.0% -------------------------------------------------------------------------------- ??? [5] 100.0% [2] 308(0.5%) 0(0.0%) errors ...s/herbie/use-places/src/points.rkt:201:0 for-loop [4] 100.0% -------------------------------------------------------------------------------- profile-thunk16 [1] 100.0% [3] 56448(100.0%) 0(0.0%) run ...et-7.2/share/pkgs/profile-lib/main.rkt:39:2 ??? [5] 100.0% -------------------------------------------------------------------------------- errors [2] 100.0% [4] 308(0.5%) 0(0.0%) for-loop ...herbie/use-places/src/points.rkt:203:2 ??? [5] 100.0% -------------------------------------------------------------------------------- for-loop [4] 0.2% run [3] 49.9% [5] 56448(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 49.9% run-improve47 [6] 44.5% prepare-points-intervals [7] 5.0% oracle-error [8] 0.3% errors [2] 0.2% ??? [71] 0.2% -------------------------------------------------------------------------------- ??? [5] 100.0% [6] 50216(89.0%) 0(0.0%) run-improve47 ...use-places/src/mainloop.rkt:346:0 simplify! [9] 99.5% for-loop [12] 0.5% -------------------------------------------------------------------------------- ??? [5] 100.0% [7] 5608(9.9%) 0(0.0%) prepare-points-intervals ...s/src/points.rkt:110:0 loop [10] 100.0% -------------------------------------------------------------------------------- ??? [5] 100.0% [8] 316(0.6%) 0(0.0%) oracle-error ...ie/use-places/src/points.rkt:188:0 for-loop [11] 100.0% -------------------------------------------------------------------------------- run-improve47 [6] 100.0% [9] 49948(88.5%) 0(0.0%) simplify! ...bie/use-places/src/mainloop.rkt:224:0 ??? [13] 100.0% -------------------------------------------------------------------------------- prepare-points-intervals [7] 100.0% [10] 5608(9.9%) 0(0.0%) loop ...ies/herbie/use-places/src/points.rkt:123:4 loop [14] 64.0% ??? [15] 36.0% -------------------------------------------------------------------------------- oracle-error [8] 100.0% [11] 316(0.6%) 0(0.0%) for-loop ...herbie/use-places/src/points.rkt:189:2 loop [50] 100.0% -------------------------------------------------------------------------------- run-improve47 [6] 100.0% [12] 268(0.5%) 0(0.0%) for-loop ...rbie/use-places/src/mainloop.rkt:365:4 run-iter! [16] 100.0% -------------------------------------------------------------------------------- simplify! [9] 100.0% [13] 49948(88.5%) 0(0.0%) ??? ...erbie/use-places/src/core/simplify.rkt:31:0 for-loop [17] 100.0% -------------------------------------------------------------------------------- loop [10] 100.0% [14] 3588(6.4%) 552(1.0%) loop ...lies/herbie/use-places/src/points.rkt:81:2 ??? [71] 68.6% hash-update! [70] 9.3% ??? [93] 6.7% -------------------------------------------------------------------------------- loop [10] 100.0% [15] 2020(3.6%) 290(0.5%) ??? ...lies/herbie/use-places/src/points.rkt:106:2 ??? [81] 85.6% -------------------------------------------------------------------------------- for-loop [12] 100.0% [16] 268(0.5%) 0(0.0%) run-iter! ...bie/use-places/src/mainloop.rkt:327:0 localize! [18] 100.0% -------------------------------------------------------------------------------- ??? [13] 100.0% [17] 49948(88.5%) 0(0.0%) for-loop .../use-places/src/core/simplify.rkt:51:2 ??? [19] 98.4% for-loop [20] 1.0% precompute-phase [21] 0.6% -------------------------------------------------------------------------------- run-iter! [16] 100.0% [18] 268(0.5%) 0(0.0%) localize! ...bie/use-places/src/mainloop.rkt:127:0 localize-error [22] 100.0% -------------------------------------------------------------------------------- for-loop [17] 100.0% [19] 49128(87.0%) 0(0.0%) ??? ...erbie/use-places/src/core/simplify.rkt:92:0 for-loop [23] 91.0% find-matches [24] 9.0% -------------------------------------------------------------------------------- for-loop [17] 100.0% [20] 518(0.9%) 0(0.0%) for-loop .../use-places/src/core/simplify.rkt:59:4 prune-phase [25] 100.0% -------------------------------------------------------------------------------- for-loop [17] 100.0% [21] 302(0.5%) 0(0.0%) precompute-phase ...es/src/core/simplify.rkt:101:0 for-loop [26] 100.0% -------------------------------------------------------------------------------- localize! [18] 100.0% [22] 268(0.5%) 0(0.0%) localize-error ...laces/src/core/localize.rkt:66:0 hash-ref! [27] 100.0% -------------------------------------------------------------------------------- ??? [19] 100.0% [23] 44682(79.2%) 0(0.0%) for-loop .../use-places/src/core/simplify.rkt:93:2 for-loop [28] 100.0% -------------------------------------------------------------------------------- ??? [19] 100.0% [24] 4446(7.9%) 0(0.0%) find-matches ...-places/src/core/simplify.rkt:84:0 for-loop [29] 100.0% -------------------------------------------------------------------------------- for-loop [20] 100.0% [25] 518(0.9%) 0(0.0%) prune-phase ...-places/src/core/simplify.rkt:106:0 for-loop [30] 100.0% -------------------------------------------------------------------------------- precompute-phase [21] 100.0% [26] 302(0.5%) 0(0.0%) for-loop ...use-places/src/core/simplify.rkt:102:2 set-precompute! [31] 100.0% -------------------------------------------------------------------------------- map [38] 50.0% localize-error [22] 50.0% [27] 268(0.5%) 0(0.0%) hash-ref! .../racket/private/more-scheme.rkt:376:2 parse-loop30 [32] 100.0% -------------------------------------------------------------------------------- for-loop [23] 100.0% [28] 44682(79.2%) 0(0.0%) for-loop .../use-places/src/core/simplify.rkt:96:4 merge-egraph-nodes! [33] 73.6% dedup-children! [49] 19.2% pattern-substitute [35] 4.6% mk-enode-rec! [65] 2.6% -------------------------------------------------------------------------------- for-loop [29] 50.0% find-matches [24] 50.0% [29] 4446(7.9%) 0(0.0%) for-loop .../use-places/src/core/simplify.rkt:86:8 for-loop [29] 50.0% match-e [34] 50.0% -------------------------------------------------------------------------------- prune-phase [25] 100.0% [30] 518(0.9%) 0(0.0%) for-loop ...use-places/src/core/simplify.rkt:107:2 update-leader! [39] 100.0% -------------------------------------------------------------------------------- for-loop [26] 100.0% [31] 302(0.5%) 0(0.0%) set-precompute! ...ces/src/core/simplify.rkt:110:0 for-loop [36] 100.0% -------------------------------------------------------------------------------- hash-ref! [27] 100.0% [32] 268(0.5%) 0(0.0%) parse-loop30 ...s/racket/match/compiler.rkt:418:15 map [38] 50.0% for-loop [37] 50.0% -------------------------------------------------------------------------------- merge-egraph-nodes! [33] 4.6% for-loop [41] 9.0% for-loop [28] 86.4% [33] 32900(58.3%) 0(0.0%) merge-egraph-nodes! ...s/src/core/egraph.rkt:145:0 update-leader! [39] 47.4% loop! [40] 33.0% for-loop [41] 10.9% merge-egraph-nodes! [33] 4.6% dedup-children! [49] 3.9% -------------------------------------------------------------------------------- for-loop [52] 27.3% for-loop [29] 72.7% [34] 4446(7.9%) 216(0.4%) match-e ...bie/use-places/src/core/ematch.rkt:39:0 for-loop [42] 93.9% constant? [45] 3.6% -------------------------------------------------------------------------------- pattern-substitute [35] 31.1% for-loop [28] 68.9% [35] 2058(3.6%) 1214(2.2%) pattern-substitute ...es/src/core/matcher.rkt:46:0 pattern-substitute [35] 31.1% variable? [43] 10.0% return/no-unsupplied [44] 8.1% -------------------------------------------------------------------------------- set-precompute! [31] 100.0% [36] 302(0.5%) 0(0.0%) for-loop ...use-places/src/core/simplify.rkt:112:2 setfindf [46] 100.0% -------------------------------------------------------------------------------- parse-loop30 [32] 100.0% [37] 268(0.5%) 0(0.0%) for-loop ...use-places/src/core/localize.rkt:53:21 for-loop [47] 100.0% -------------------------------------------------------------------------------- parse-loop30 [32] 100.0% [38] 268(0.5%) 0(0.0%) map ...t-7.2/collects/racket/private/map.rkt:35:13 hash-ref! [27] 100.0% -------------------------------------------------------------------------------- for-loop [30] 2.8% merge-egraph-nodes! [33] 97.2% [39] 18588(32.9%) 0(0.0%) update-leader! ...places/src/core/egraph.rkt:213:0 for-loop [48] 100.0% -------------------------------------------------------------------------------- loop [50] 23.8% merge-egraph-nodes! [33] 76.2% [40] 11700(20.7%) 2970(5.3%) loop! ...erbie/use-places/src/core/enode.rkt:194:2 custom-set-union [51] 44.5% loop [50] 26.4% set [53] 10.3% update-en-expr [85] 3.3% -------------------------------------------------------------------------------- merge-egraph-nodes! [33] 100.0% [41] 6164(10.9%) 0(0.0%) for-loop ...e/use-places/src/core/egraph.rkt:199:4 merge-egraph-nodes! [33] 88.0% dedup-children! [49] 12.0% -------------------------------------------------------------------------------- match-e [34] 100.0% [42] 4446(7.9%) 2616(4.6%) for-loop ...e/use-places/src/core/ematch.rkt:52:11 for-loop [52] 38.9% loop [60] 4.7% procedure-reduce-keyword-arity-mask [55] 4.6% cartesian-product [59] 2.5% foldr [61] 2.3% -------------------------------------------------------------------------------- pattern-substitute [35] 100.0% [43] 512(0.9%) 0(0.0%) variable? ...se-places/src/syntax/syntax.rkt:729:0 ??? [54] 100.0% -------------------------------------------------------------------------------- pattern-substitute [35] 100.0% [44] 332(0.6%) 0(0.0%) return/no-unsupplied ...ct/private/arr-i.rkt:542:0 filter [56] 100.0% -------------------------------------------------------------------------------- match-e [34] 100.0% [45] 324(0.6%) 0(0.0%) constant? ...se-places/src/syntax/syntax.rkt:726:0 value? [57] 100.0% -------------------------------------------------------------------------------- for-loop [36] 100.0% [46] 302(0.5%) 0(0.0%) setfindf ...herbie/use-places/src/common.rkt:130:0 for-loop [58] 100.0% -------------------------------------------------------------------------------- for-loop [37] 100.0% [47] 268(0.5%) 0(0.0%) for-loop ...use-places/src/core/localize.rkt:54:23 ??? [93] 100.0% -------------------------------------------------------------------------------- update-leader! [39] 100.0% [48] 18588(32.9%) 324(0.6%) for-loop ...e/use-places/src/core/egraph.rkt:218:6 hash-update! [70] 50.8% for-loop [63] 47.5% -------------------------------------------------------------------------------- for-loop [41] 9.1% merge-egraph-nodes! [33] 16.4% for-loop [28] 74.4% [49] 11528(20.4%) 0(0.0%) dedup-children! ...places/src/core/enode.rkt:202:0 loop [62] 97.4% loop [68] 2.6% -------------------------------------------------------------------------------- for-loop [11] 5.0% mk-enode-rec! [65] 5.1% loop! [40] 9.9% loop [50] 80.0% [50] 6300(11.2%) 304(0.5%) loop ...-7.2/collects/racket/private/map.rkt:40:19 loop [50] 80.0% loop! [40] 9.8% mk-enode-rec! [65] 5.1% ??? [67] 5.0% -------------------------------------------------------------------------------- loop! [40] 100.0% [51] 5208(9.2%) 2828(5.0%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [64] 38.9% for-loop [66] 6.8% -------------------------------------------------------------------------------- for-loop [42] 100.0% [52] 2670(4.7%) 0(0.0%) for-loop ...e/use-places/src/core/ematch.rkt:58:37 match-e [34] 90.8% ??? [69] 9.2% -------------------------------------------------------------------------------- loop! [40] 100.0% [53] 2520(4.5%) 2520(4.5%) set ...collects/racket/private/set-types.rkt:981:0 -------------------------------------------------------------------------------- variable? [43] 100.0% [54] 512(0.9%) 512(0.9%) ??? ...contract/private/arrow-val-first.rkt:390:18 -------------------------------------------------------------------------------- for-loop [42] 100.0% [55] 408(0.7%) 408(0.7%) procedure-reduce-keyword-arity-mask ....rkt:1562:4 -------------------------------------------------------------------------------- return/no-unsupplied [44] 100.0% [56] 332(0.6%) 332(0.6%) filter ...2/collects/racket/private/list.rkt:256:2 -------------------------------------------------------------------------------- constant? [45] 100.0% [57] 324(0.6%) 324(0.6%) value? ...bie/use-places/src/syntax/types.rkt:18:0 -------------------------------------------------------------------------------- setfindf [46] 100.0% [58] 302(0.5%) 302(0.5%) for-loop ...herbie/use-places/src/common.rkt:131:2 -------------------------------------------------------------------------------- for-loop [42] 100.0% [59] 222(0.4%) 222(0.4%) cartesian-product ...ollects/racket/list.rkt:822:0 -------------------------------------------------------------------------------- for-loop [42] 100.0% [60] 210(0.4%) 210(0.4%) loop ...7.2/collects/racket/private/list.rkt:264:4 -------------------------------------------------------------------------------- for-loop [42] 100.0% [61] 204(0.4%) 204(0.4%) foldr ....2/collects/racket/private/list.rkt:242:4 -------------------------------------------------------------------------------- dedup-children! [49] 6.7% loop [62] 93.3% [62] 11230(19.9%) 11230(19.9%) loop ...racket-7.2/collects/racket/list.rkt:434:17 loop [62] 93.3% -------------------------------------------------------------------------------- for-loop [48] 100.0% [63] 8826(15.6%) 0(0.0%) for-loop ...e/use-places/src/core/egraph.rkt:219:8 hash-update! [70] 100.0% -------------------------------------------------------------------------------- custom-set-union [51] 100.0% [64] 2026(3.6%) 618(1.1%) for-loop ...cts/racket/private/set-types.rkt:174:3 for-loop [72] 69.5% -------------------------------------------------------------------------------- loop [50] 14.1% for-loop [28] 85.9% [65] 1142(2.0%) 322(0.6%) mk-enode-rec! ...-places/src/core/egraph.rkt:117:0 new-enode [73] 71.8% loop [50] 14.1% -------------------------------------------------------------------------------- custom-set-union [51] 100.0% [66] 354(0.6%) 354(0.6%) for-loop ...cts/racket/private/set-types.rkt:152:2 -------------------------------------------------------------------------------- loop [50] 100.0% [67] 316(0.6%) 0(0.0%) ??? ...ies/herbie/use-places/src/points.rkt:190:26 ??? [71] 100.0% -------------------------------------------------------------------------------- dedup-children! [49] 14.3% loop [68] 85.7% [68] 298(0.5%) 0(0.0%) loop ...racket-7.2/collects/racket/list.rkt:417:34 loop [68] 85.7% loop [74] 14.3% -------------------------------------------------------------------------------- for-loop [52] 100.0% [69] 246(0.4%) 0(0.0%) ??? .../herbie/use-places/src/core/ematch.rkt:43:5 for-loop [75] 100.0% -------------------------------------------------------------------------------- loop [14] 1.8% for-loop [63] 47.5% for-loop [48] 50.8% [70] 18596(32.9%) 332(0.6%) hash-update! ...cket/private/more-scheme.rkt:365:4 ??? [76] 98.2% -------------------------------------------------------------------------------- ??? [5] 10.0% ??? [67] 10.2% loop [14] 79.8% [71] 3086(5.5%) 248(0.4%) ??? ...es/herbie/use-places/src/programs.rkt:115:2 ??? [77] 43.2% ??? [81] 38.5% ??? [79] 10.2% -------------------------------------------------------------------------------- for-loop [64] 100.0% [72] 1408(2.5%) 1408(2.5%) for-loop ...cts/racket/private/set-types.rkt:178:5 -------------------------------------------------------------------------------- mk-enode-rec! [65] 100.0% [73] 820(1.5%) 0(0.0%) new-enode ...e/use-places/src/core/enode.rkt:101:0 type-of-enode-expr [78] 100.0% -------------------------------------------------------------------------------- loop [68] 100.0% [74] 298(0.5%) 298(0.5%) loop (unknown source) -------------------------------------------------------------------------------- ??? [69] 100.0% [75] 246(0.4%) 246(0.4%) for-loop ...ie/use-places/src/core/ematch.rkt:44:7 -------------------------------------------------------------------------------- hash-update! [70] 100.0% [76] 18264(32.4%) 552(1.0%) ??? ...erbie/use-places/src/core/egraph.rkt:221:24 for-loop [80] 95.9% update-en-expr [85] 1.1% -------------------------------------------------------------------------------- ??? [71] 100.0% [77] 1334(2.4%) 0(0.0%) ??? ...t-7.2/collects/racket/private/kw.rkt:594:14 ??? [81] 81.9% ??? [83] 18.1% -------------------------------------------------------------------------------- new-enode [73] 100.0% [78] 820(1.5%) 200(0.4%) type-of-enode-expr ...aces/src/core/enode.rkt:66:0 table-ref [82] 75.6% -------------------------------------------------------------------------------- ??? [71] 100.0% [79] 316(0.6%) 316(0.6%) ??? ...cket-7.2/collects/racket/function.rkt:93:12 -------------------------------------------------------------------------------- ??? [76] 100.0% [80] 17510(31.0%) 16764(29.7%) for-loop .../use-places/src/core/egraph.rkt:222:26 update-en-expr [85] 4.3% -------------------------------------------------------------------------------- ??? [77] 27.2% ??? [71] 29.6% ??? [15] 43.1% [81] 4010(7.1%) 568(1.0%) ??? ...tract/private/arrow-higher-order.rkt:360:33 sample-multi-bounded [84] 43.1% mk-ival [86] 21.9% ival-mult [87] 20.7% -------------------------------------------------------------------------------- type-of-enode-expr [78] 100.0% [82] 620(1.1%) 0(0.0%) table-ref ...herbie/use-places/src/common.rkt:33:0 for-loop [88] 100.0% -------------------------------------------------------------------------------- ??? [77] 100.0% [83] 242(0.4%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:364:33 ival-sub [89] 100.0% -------------------------------------------------------------------------------- ??? [81] 100.0% [84] 1730(3.1%) 1138(2.0%) sample-multi-bounded ...places/src/points.rkt:15:0 random-ranges [92] 34.2% -------------------------------------------------------------------------------- ??? [76] 12.3% loop! [40] 42.4% for-loop [80] 45.3% [85] 1646(2.9%) 1646(2.9%) update-en-expr ...places/src/core/egraph.rkt:207:0 -------------------------------------------------------------------------------- ??? [81] 100.0% [86] 880(1.6%) 0(0.0%) mk-ival ...bie/use-places/src/biginterval.rkt:65:0 bf [90] 100.0% -------------------------------------------------------------------------------- ??? [81] 100.0% [87] 832(1.5%) 0(0.0%) ival-mult .../use-places/src/biginterval.rkt:119:0 bfmul [91] 100.0% -------------------------------------------------------------------------------- table-ref [82] 100.0% [88] 620(1.1%) 620(1.1%) for-loop .../herbie/use-places/src/common.rkt:35:4 -------------------------------------------------------------------------------- ??? [83] 100.0% [89] 242(0.4%) 242(0.4%) ival-sub ...e/use-places/src/biginterval.rkt:107:0 -------------------------------------------------------------------------------- mk-ival [86] 100.0% [90] 880(1.6%) 0(0.0%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:601:2 new-mpfr [94] 65.7% ??? [93] 34.3% -------------------------------------------------------------------------------- ival-mult [87] 100.0% [91] 832(1.5%) 0(0.0%) bfmul ...-lib/math/private/bigfloat/mpfr.rkt:821:4 ??? [93] 69.5% new-mpfr [94] 30.5% -------------------------------------------------------------------------------- sample-multi-bounded [84] 100.0% [92] 592(1.0%) 0(0.0%) random-ranges ...e/use-places/src/common.rkt:171:0 cons/c [95] 50.7% build--> [96] 49.3% -------------------------------------------------------------------------------- loop [14] 17.4% for-loop [47] 19.3% bf [90] 21.7% bfmul [91] 41.6% [93] 1390(2.5%) 1390(2.5%) ??? /opt/racket-7.2/collects/ffi/unsafe.rkt:905:4 -------------------------------------------------------------------------------- bfmul [91] 30.5% bf [90] 69.5% [94] 832(1.5%) 832(1.5%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:335:0 -------------------------------------------------------------------------------- random-ranges [92] 100.0% [95] 300(0.5%) 0(0.0%) cons/c .../racket/contract/private/guts.rkt:504:15 coerce-contract [97] 100.0% -------------------------------------------------------------------------------- random-ranges [92] 100.0% [96] 292(0.5%) 292(0.5%) build--> ...act/private/arrow-val-first.rkt:1088:0 -------------------------------------------------------------------------------- cons/c [95] 100.0% [97] 300(0.5%) 300(0.5%) coerce-contract ...contract/private/guts.rkt:308:0 --------------------------------------------------------------------------------