Profiling results ----------------- Total cpu time observed: 327402ms (out of 328428ms) Number of samples taken: 2061 (once every 159ms) (Hiding functions with self<1.0% and local<2.0%: 4 of 101 hidden) =================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee =================================================================== ??? [5] 100.0% [1] 327402(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [3] 100.0% ------------------------------------------------------------------- ??? [5] 100.0% [2] 100(0.0%) 0(0.0%) errors ...lies/herbie/develop/src/points.rkt:223:0 for-loop [4] 100.0% ------------------------------------------------------------------- profile-thunk16 [1] 100.0% [3] 327402(100.0%) 0(0.0%) run ...et-7.0/share/pkgs/profile-lib/main.rkt:39:2 ??? [5] 100.0% ------------------------------------------------------------------- errors [2] 100.0% [4] 100(0.0%) 0(0.0%) for-loop ...es/herbie/develop/src/points.rkt:225:2 ??? [5] 100.0% ------------------------------------------------------------------- for-loop [4] 0.0% run [3] 50.0% [5] 327402(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 50.0% run-improve43 [6] 49.9% prepare-points [7] 0.0% oracle-error [8] 0.0% errors [2] 0.0% eval-errors [9] 0.0% ??? [76] 0.0% ??? [89] 0.0% ------------------------------------------------------------------- ??? [5] 100.0% [6] 326846(99.8%) 0(0.0%) run-improve43 ...ie/develop/src/mainloop.rkt:339:0 simplify! [10] 100.0% ------------------------------------------------------------------- ??? [5] 100.0% [7] 306(0.1%) 0(0.0%) prepare-points ...bie/develop/src/points.rkt:166:0 loop [11] 100.0% ------------------------------------------------------------------- ??? [5] 100.0% [8] 100(0.0%) 0(0.0%) oracle-error ...erbie/develop/src/points.rkt:207:0 for-loop [12] 100.0% ------------------------------------------------------------------- ??? [5] 100.0% [9] 50(0.0%) 0(0.0%) eval-errors ...herbie/develop/src/points.rkt:198:0 for-loop [13] 100.0% ------------------------------------------------------------------- run-improve43 [6] 100.0% [10] 326846(99.8%) 0(0.0%) simplify! ...herbie/develop/src/mainloop.rkt:217:0 ??? [14] 100.0% ------------------------------------------------------------------- prepare-points [7] 100.0% [11] 306(0.1%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:143:4 loop [15] 67.3% ??? [16] 32.7% ------------------------------------------------------------------- oracle-error [8] 100.0% [12] 100(0.0%) 0(0.0%) for-loop ...es/herbie/develop/src/points.rkt:208:2 loop [60] 100.0% ------------------------------------------------------------------- eval-errors [9] 100.0% [13] 50(0.0%) 0(0.0%) for-loop ...es/herbie/develop/src/points.rkt:200:2 ordinary-value? [17] 100.0% ------------------------------------------------------------------- simplify! [10] 100.0% [14] 326846(99.8%) 0(0.0%) ??? ...s/herbie/develop/src/core/simplify.rkt:26:0 for-loop [18] 100.0% ------------------------------------------------------------------- loop [11] 100.0% [15] 206(0.1%) 54(0.0%) loop ...htlies/herbie/develop/src/points.rkt:102:2 ??? [76] 73.8% ------------------------------------------------------------------- loop [11] 100.0% [16] 100(0.0%) 50(0.0%) ??? ...ghtlies/herbie/develop/src/points.rkt:127:2 ??? [89] 50.0% ------------------------------------------------------------------- for-loop [13] 100.0% [17] 50(0.0%) 0(0.0%) ordinary-value? ...rbie/develop/src/float.rkt:80:0 special-value? [19] 100.0% ------------------------------------------------------------------- ??? [14] 100.0% [18] 326846(99.8%) 0(0.0%) for-loop ...bie/develop/src/core/simplify.rkt:33:2 one-iter [20] 99.9% debug-print [21] 0.1% ------------------------------------------------------------------- ordinary-value? [17] 100.0% [19] 50(0.0%) 0(0.0%) special-value? ...erbie/develop/src/float.rkt:76:0 for-loop [22] 100.0% ------------------------------------------------------------------- for-loop [18] 100.0% [20] 326638(99.8%) 0(0.0%) one-iter ...bie/develop/src/core/simplify.rkt:85:0 for-loop [23] 78.3% find-matches [24] 21.4% for-loop [25] 0.3% ------------------------------------------------------------------- for-loop [18] 100.0% [21] 208(0.1%) 0(0.0%) debug-print .../herbie/develop/src/debug.rkt:110:0 ??? [26] 100.0% ------------------------------------------------------------------- special-value? [19] 100.0% [22] 50(0.0%) 0(0.0%) for-loop ...lies/herbie/develop/src/float.rkt:17:3 return/no-unsupplied [27]100.0% ------------------------------------------------------------------- one-iter [20] 100.0% [23] 255786(78.1%) 50(0.0%) for-loop ...bie/develop/src/core/simplify.rkt:94:2 loop [28] 100.0% ------------------------------------------------------------------- one-iter [20] 100.0% [24] 70000(21.4%) 0(0.0%) find-matches ...develop/src/core/simplify.rkt:55:0 for-loop [29] 100.0% ------------------------------------------------------------------- one-iter [20] 100.0% [25] 852(0.3%) 0(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:110:2 set-precompute! [30] 100.0% ------------------------------------------------------------------- debug-print [21] 100.0% [26] 208(0.1%) 0(0.0%) ??? .../contract/private/arrow-val-first.rkt:428:3 mk-call [31] 100.0% ------------------------------------------------------------------- for-loop [22] 100.0% [27] 50(0.0%) 50(0.0%) return/no-unsupplied ...ct/private/arr-i.rkt:534:0 ------------------------------------------------------------------- loop [28] 1.0% for-loop [23] 99.0% [28] 255736(78.1%) 0(0.0%) loop .../herbie/develop/src/core/simplify.rkt:99:4 apply-match [32] 99.0% loop [28] 1.0% reduce-to-single! [34] 0.0% ------------------------------------------------------------------- for-loop [29] 47.5% find-matches [24] 52.5% [29] 70000(21.4%) 13380(4.1%) for-loop ...bie/develop/src/core/simplify.rkt:57:8 for-loop [29] 47.5% match-e [36] 39.9% ??? [64] 0.6% ------------------------------------------------------------------- for-loop [25] 100.0% [30] 852(0.3%) 0(0.0%) set-precompute! ...lop/src/core/simplify.rkt:116:0 for-loop [33] 100.0% ------------------------------------------------------------------- ??? [26] 100.0% [31] 208(0.1%) 208(0.1%) mk-call ...tract/private/arrow-val-first.rkt:431:5 ------------------------------------------------------------------- loop [28] 100.0% [32] 255686(78.1%) 0(0.0%) apply-match .../develop/src/core/simplify.rkt:64:0 for-loop [35] 96.6% match-e [36] 2.7% set [62] 0.6% custom-set-intersect [37] 0.1% ------------------------------------------------------------------- set-precompute! [30] 100.0% [33] 852(0.3%) 490(0.1%) for-loop ...ie/develop/src/core/simplify.rkt:118:2 setfindf [38] 30.5% curried [39] 6.1% compose [40] 5.9% ------------------------------------------------------------------- loop [28] 100.0% [34] 50(0.0%) 0(0.0%) reduce-to-single! ...lop/src/core/egraph.rkt:318:0 for-loop [41] 100.0% ------------------------------------------------------------------- apply-match [32] 100.0% [35] 246972(75.4%) 442(0.1%) for-loop ...bie/develop/src/core/simplify.rkt:77:2 merge-egraph-nodes! [42] 56.6% dedup-children! [49] 42.9% substitute-e [45] 0.3% mk-enode! [66] 0.1% ------------------------------------------------------------------- apply-match [32] 8.0% for-loop [50] 15.6% for-loop [29] 76.3% [36] 62666(19.1%) 16082(4.9%) match-e ...herbie/develop/src/core/ematch.rkt:39:0 for-loop [43] 58.1% constant? [80] 11.3% make-sequence [44] 3.8% variable? [52] 2.6% ??? [81] 1.6% ------------------------------------------------------------------- apply-match [32] 100.0% [37] 332(0.1%) 0(0.0%) custom-set-intersect ...rivate/set-types.rkt:195:0 for-loop [46] 100.0% ------------------------------------------------------------------- for-loop [33] 100.0% [38] 260(0.1%) 210(0.1%) setfindf ...es/herbie/develop/src/common.rkt:138:0 for-loop [47] 19.2% ------------------------------------------------------------------- for-loop [33] 100.0% [39] 52(0.0%) 52(0.0%) curried ...-7.0/collects/racket/function.rkt:71:18 ------------------------------------------------------------------- for-loop [33] 100.0% [40] 50(0.0%) 50(0.0%) compose ...collects/racket/private/list.rkt:385:12 ------------------------------------------------------------------- reduce-to-single! [34] 100.0% [41] 50(0.0%) 50(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:319:8 ------------------------------------------------------------------- merge-egraph-nodes! [42] 2.8% for-loop [35] 97.2% [42] 139718(42.7%) 0(0.0%) merge-egraph-nodes! ...p/src/core/egraph.rkt:143:0 loop! [48] 90.8% dedup-children! [49] 3.2% update-leader! [51] 3.1% merge-egraph-nodes! [42] 2.8% enode-merge! [57] 0.1% ------------------------------------------------------------------- match-e [36] 100.0% [43] 44124(13.5%) 20554(6.3%) for-loop ...rbie/develop/src/core/ematch.rkt:52:11 for-loop [50] 49.0% foldr [53] 1.8% cp-2 [65] 1.4% foldl [54] 1.1% curry* [58] 0.1% ------------------------------------------------------------------- match-e [36] 100.0% [44] 2502(0.8%) 2502(0.8%) make-sequence ...ects/racket/private/for.rkt:528:2 ------------------------------------------------------------------- for-loop [55] 18.8% for-loop [35] 81.2% [45] 650(0.2%) 100(0.0%) substitute-e ...e/develop/src/core/ematch.rkt:64:0 for-loop [55] 50.5% variable? [52] 18.8% constant? [80] 15.4% ------------------------------------------------------------------- custom-set-intersect [37]100.0% [46] 332(0.1%) 0(0.0%) for-loop ...cts/racket/private/set-types.rkt:207:3 for-loop [56] 100.0% ------------------------------------------------------------------- setfindf [38] 100.0% [47] 50(0.0%) 0(0.0%) for-loop ...es/herbie/develop/src/common.rkt:139:2 constant? [80] 100.0% ------------------------------------------------------------------- loop [60] 27.0% merge-egraph-nodes! [42] 73.0% [48] 130776(39.9%) 31094(9.5%) loop! ...s/herbie/develop/src/core/enode.rkt:190:2 custom-set-union [61] 43.6% loop [60] 29.8% set [62] 11.6% update-en-expr [95] 1.8% ------------------------------------------------------------------- merge-egraph-nodes! [42] 4.0% for-loop [35] 96.0% [49] 110362(33.7%) 0(0.0%) dedup-children! ...evelop/src/core/enode.rkt:198:0 loop [59] 100.0% ------------------------------------------------------------------- for-loop [43] 100.0% [50] 22584(6.9%) 2292(0.7%) for-loop ...rbie/develop/src/core/ematch.rkt:58:37 match-e [36] 81.9% ??? [64] 8.0% ------------------------------------------------------------------- merge-egraph-nodes! [42] 100.0% [51] 4278(1.3%) 0(0.0%) update-leader! ...evelop/src/core/egraph.rkt:211:0 for-loop [63] 100.0% ------------------------------------------------------------------- substitute-e [45] 6.0% match-e [36] 94.0% [52] 4036(1.2%) 50(0.0%) variable? ...e/develop/src/syntax/syntax.rkt:724:0 ??? [81] 56.8% value? [85] 41.9% ------------------------------------------------------------------- for-loop [43] 100.0% [53] 786(0.2%) 434(0.1%) foldr ....0/collects/racket/private/list.rkt:242:4 cp-2 [65] 44.8% ------------------------------------------------------------------- for-loop [43] 100.0% [54] 492(0.2%) 246(0.1%) foldl ....0/collects/racket/private/list.rkt:229:4 merge2 [67] 50.0% ------------------------------------------------------------------- substitute-e [45] 100.0% [55] 450(0.1%) 0(0.0%) for-loop ...rbie/develop/src/core/ematch.rkt:73:24 substitute-e [45] 54.2% mk-enode! [66] 45.8% ------------------------------------------------------------------- for-loop [46] 100.0% [56] 332(0.1%) 332(0.1%) for-loop ...cts/racket/private/set-types.rkt:201:4 ------------------------------------------------------------------- merge-egraph-nodes! [42] 100.0% [57] 208(0.1%) 0(0.0%) enode-merge! ...e/develop/src/core/enode.rkt:127:0 adopt-enode! [68] 100.0% ------------------------------------------------------------------- for-loop [43] 100.0% [58] 50(0.0%) 0(0.0%) curry* ...et-7.0/collects/racket/function.rkt:44:2 procedure-arity [69] 100.0% ------------------------------------------------------------------- dedup-children! [49] 4.2% loop [59] 95.8% [59] 110362(33.7%) 110362(33.7%) loop ...racket-7.0/collects/racket/list.rkt:434:17 loop [59] 95.8% ------------------------------------------------------------------- for-loop [12] 0.1% loop! [48] 3.4% loop [60] 96.5% [60] 74336(22.7%) 3748(1.1%) loop ...-7.0/collects/racket/private/map.rkt:40:19 loop [60] 96.5% loop! [48] 2.9% ??? [76] 0.1% ------------------------------------------------------------------- loop! [48] 100.0% [61] 60990(18.6%) 27058(8.3%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [70] 50.6% for-loop [71] 5.0% ------------------------------------------------------------------- apply-match [32] 4.9% loop! [48] 95.1% [62] 31818(9.7%) 30272(9.2%) set ...collects/racket/private/set-types.rkt:981:0 for-loop [73] 4.9% ------------------------------------------------------------------- update-leader! [51] 100.0% [63] 4278(1.3%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:216:6 for-loop [72] 63.0% hash-update! [82] 37.0% ------------------------------------------------------------------- for-loop [29] 30.5% for-loop [50] 69.5% [64] 2594(0.8%) 1128(0.3%) ??? ...ies/herbie/develop/src/core/ematch.rkt:43:5 for-loop [74] 56.5% ------------------------------------------------------------------- foldr [53] 35.9% for-loop [43] 64.1% [65] 980(0.3%) 396(0.1%) cp-2 .../racket-7.0/collects/racket/list.rkt:826:2 for-loop [75] 59.6% ------------------------------------------------------------------- for-loop [55] 44.6% for-loop [35] 55.4% [66] 462(0.1%) 206(0.1%) mk-enode! ...rbie/develop/src/core/egraph.rkt:97:0 new-enode [77] 44.6% hash-has-key? [78] 10.8% ------------------------------------------------------------------- foldl [54] 100.0% [67] 246(0.1%) 246(0.1%) merge2 .../herbie/develop/src/core/ematch.rkt:24:0 ------------------------------------------------------------------- enode-merge! [57] 100.0% [68] 208(0.1%) 208(0.1%) adopt-enode! ...e/develop/src/core/enode.rkt:103:0 ------------------------------------------------------------------- curry* [58] 100.0% [69] 50(0.0%) 50(0.0%) procedure-arity ...ket/private/norm-arity.rkt:7:27 ------------------------------------------------------------------- custom-set-union [61] 100.0% [70] 30884(9.4%) 15140(4.6%) for-loop ...cts/racket/private/set-types.rkt:174:3 for-loop [79] 51.0% ------------------------------------------------------------------- custom-set-union [61] 100.0% [71] 3048(0.9%) 3048(0.9%) for-loop ...cts/racket/private/set-types.rkt:152:2 ------------------------------------------------------------------- for-loop [63] 100.0% [72] 2696(0.8%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:217:8 hash-update! [82] 100.0% ------------------------------------------------------------------- set [62] 100.0% [73] 1546(0.5%) 1546(0.5%) for-loop ...cts/racket/private/set-types.rkt:937:4 ------------------------------------------------------------------- ??? [64] 100.0% [74] 1466(0.4%) 542(0.2%) for-loop ...erbie/develop/src/core/ematch.rkt:44:7 ??? [81] 45.8% constant? [80] 17.2% ------------------------------------------------------------------- cp-2 [65] 100.0% [75] 584(0.2%) 584(0.2%) for-loop ...ket-7.0/collects/racket/list.rkt:827:4 ------------------------------------------------------------------- loop [60] 19.7% ??? [5] 20.5% loop [15] 59.8% [76] 254(0.1%) 52(0.0%) ??? ...htlies/herbie/develop/src/programs.rkt:99:2 ??? [84] 59.8% ??? [89] 19.7% ------------------------------------------------------------------- mk-enode! [66] 100.0% [77] 206(0.1%) 0(0.0%) new-enode ...erbie/develop/src/core/enode.rkt:95:0 type-of-enode-expr [83] 100.0% ------------------------------------------------------------------- mk-enode! [66] 100.0% [78] 50(0.0%) 50(0.0%) hash-has-key? ...ket/private/more-scheme.rkt:371:2 ------------------------------------------------------------------- for-loop [70] 100.0% [79] 15744(4.8%) 15744(4.8%) for-loop ...cts/racket/private/set-types.rkt:178:5 ------------------------------------------------------------------- for-loop [47] 0.5% substitute-e [45] 1.0% for-loop [74] 2.6% match-e [36] 95.8% [80] 9664(3.0%) 352(0.1%) constant? ...e/develop/src/syntax/syntax.rkt:721:0 value? [85] 96.4% ------------------------------------------------------------------- for-loop [74] 13.1% match-e [36] 42.1% variable? [52] 44.8% [81] 5126(1.6%) 4906(1.5%) ??? ...contract/private/arrow-val-first.rkt:388:18 ??? [87] 4.3% ------------------------------------------------------------------- for-loop [63] 37.0% for-loop [72] 63.0% [82] 4278(1.3%) 0(0.0%) hash-update! ...cket/private/more-scheme.rkt:365:4 ??? [86] 100.0% ------------------------------------------------------------------- new-enode [77] 100.0% [83] 206(0.1%) 0(0.0%) type-of-enode-expr ...elop/src/core/enode.rkt:67:0 table-ref [88] 100.0% ------------------------------------------------------------------- ??? [76] 100.0% [84] 152(0.0%) 50(0.0%) ??? ...t-7.0/collects/racket/private/kw.rkt:592:14 ??? [90] 34.2% ??? [89] 32.9% ------------------------------------------------------------------- variable? [52] 15.4% constant? [80] 84.6% [85] 11004(3.4%) 11004(3.4%) value? ...herbie/develop/src/syntax/types.rkt:18:0 ------------------------------------------------------------------- hash-update! [82] 100.0% [86] 4278(1.3%) 0(0.0%) ??? ...s/herbie/develop/src/core/egraph.rkt:219:24 for-loop [91] 100.0% ------------------------------------------------------------------- ??? [81] 100.0% [87] 220(0.1%) 220(0.1%) ??? ...ects/racket/contract/private/guts.rkt:746:8 ------------------------------------------------------------------- type-of-enode-expr [83] 100.0% [88] 206(0.1%) 206(0.1%) table-ref ...es/herbie/develop/src/common.rkt:41:0 ------------------------------------------------------------------- ??? [5] 24.2% ??? [84] 25.3% ??? [76] 25.3% ??? [16] 25.3% [89] 198(0.1%) 50(0.0%) ??? ...tract/private/arrow-higher-order.rkt:357:33 mk-ival [93] 25.3% loop [92] 25.3% ->flonum [94] 24.2% ------------------------------------------------------------------- ??? [84] 100.0% [90] 52(0.0%) 52(0.0%) ??? ...herbie/develop/src/syntax/syntax.rkt:209:17 ------------------------------------------------------------------- ??? [86] 100.0% [91] 4278(1.3%) 4226(1.3%) for-loop ...bie/develop/src/core/egraph.rkt:220:26 update-en-expr [95] 1.2% ------------------------------------------------------------------- ??? [89] 100.0% [92] 50(0.0%) 50(0.0%) loop ...s/herbie/develop/src/biginterval.rkt:447:9 ------------------------------------------------------------------- ??? [89] 100.0% [93] 50(0.0%) 0(0.0%) mk-ival ...herbie/develop/src/biginterval.rkt:57:0 bf [96] 100.0% ------------------------------------------------------------------- ??? [89] 100.0% [94] 48(0.0%) 48(0.0%) ->flonum ...ies/herbie/develop/src/float.rkt:149:0 ------------------------------------------------------------------- for-loop [91] 1.1% loop! [48] 98.9% [95] 4774(1.5%) 4774(1.5%) update-en-expr ...evelop/src/core/egraph.rkt:205:0 ------------------------------------------------------------------- mk-ival [93] 100.0% [96] 50(0.0%) 0(0.0%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:601:2 new-mpfr [97] 100.0% ------------------------------------------------------------------- bf [96] 100.0% [97] 50(0.0%) 50(0.0%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:335:0 -------------------------------------------------------------------