Profiling results ----------------- Total cpu time observed: 30010ms (out of 30436ms) Number of samples taken: 96 (once every 313ms) =============================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee =============================================================== ??? [5] 100.0% [1] 30010(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [3] 100.0% --------------------------------------------------------------- ??? [5] 100.0% [2] 904(3.0%) 0(0.0%) errors ...lies/herbie/develop/src/points.rkt:223:0 for-loop [4] 100.0% --------------------------------------------------------------- profile-thunk16 [1] 100.0% [3] 30010(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] 904(3.0%) 0(0.0%) for-loop ...es/herbie/develop/src/points.rkt:225:2 ??? [5] 100.0% --------------------------------------------------------------- for-loop [4] 1.0% run [3] 49.5% [5] 30010(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 49.5% run-improve43 [6] 28.1% prepare-points [7] 17.8% oracle-error [8] 1.6% eval-errors [9] 1.0% errors [2] 1.0% ??? [27] 1.0% --------------------------------------------------------------- ??? [5] 100.0% [6] 16850(56.1%) 0(0.0%) run-improve43 ...ie/develop/src/mainloop.rkt:339:0 simplify! [10] 100.0% --------------------------------------------------------------- ??? [5] 100.0% [7] 10694(35.6%) 0(0.0%) prepare-points ...bie/develop/src/points.rkt:166:0 loop [11] 100.0% --------------------------------------------------------------- ??? [5] 100.0% [8] 934(3.1%) 0(0.0%) oracle-error ...erbie/develop/src/points.rkt:207:0 for-loop [12] 100.0% --------------------------------------------------------------- ??? [5] 100.0% [9] 628(2.1%) 0(0.0%) eval-errors ...herbie/develop/src/points.rkt:198:0 for-loop [13] 100.0% --------------------------------------------------------------- run-improve43 [6] 100.0% [10] 16850(56.1%) 0(0.0%) simplify! ...herbie/develop/src/mainloop.rkt:217:0 ??? [14] 100.0% --------------------------------------------------------------- prepare-points [7] 100.0% [11] 10694(35.6%) 648(2.2%) loop ...htlies/herbie/develop/src/points.rkt:143:4 loop [15] 76.1% ??? [16] 11.9% andmap [17] 5.9% --------------------------------------------------------------- oracle-error [8] 100.0% [12] 934(3.1%) 0(0.0%) for-loop ...es/herbie/develop/src/points.rkt:208:2 map [18] 67.0% loop [19] 33.0% --------------------------------------------------------------- eval-errors [9] 100.0% [13] 628(2.1%) 300(1.0%) for-loop ...es/herbie/develop/src/points.rkt:200:2 ulp-difference [22] 52.2% --------------------------------------------------------------- simplify! [10] 100.0% [14] 16850(56.1%) 0(0.0%) ??? ...s/herbie/develop/src/core/simplify.rkt:26:0 for-loop [20] 68.1% loop [21] 31.9% --------------------------------------------------------------- loop [11] 100.0% [15] 8136(27.1%) 306(1.0%) loop ...htlies/herbie/develop/src/points.rkt:102:2 ??? [27] 96.2% --------------------------------------------------------------- loop [11] 100.0% [16] 1276(4.3%) 0(0.0%) ??? ...ghtlies/herbie/develop/src/points.rkt:127:2 ??? [39] 72.7% compose [25] 27.3% --------------------------------------------------------------- loop [11] 100.0% [17] 634(2.1%) 0(0.0%) andmap ...0/collects/racket/private/map.rkt:102:13 ordinary-value? [23] 100.0% --------------------------------------------------------------- for-loop [12] 100.0% [18] 626(2.1%) 0(0.0%) map ...t-7.0/collects/racket/private/map.rkt:35:13 ??? [24] 100.0% --------------------------------------------------------------- for-loop [12] 100.0% [19] 308(1.0%) 0(0.0%) loop ...-7.0/collects/racket/private/map.rkt:40:19 ulp-difference [22] 100.0% --------------------------------------------------------------- ??? [14] 100.0% [20] 11468(38.2%) 0(0.0%) for-loop ...bie/develop/src/core/simplify.rkt:33:2 one-iter [26] 100.0% --------------------------------------------------------------- ??? [14] 100.0% [21] 5382(17.9%) 0(0.0%) loop ...herbie/develop/src/core/simplify.rkt:142:2 for-loop [28] 100.0% --------------------------------------------------------------- loop [19] 48.4% for-loop [13] 51.6% [22] 636(2.1%) 328(1.1%) ulp-difference ...erbie/develop/src/float.rkt:46:0 infer-representation [30] 48.4% --------------------------------------------------------------- andmap [17] 100.0% [23] 634(2.1%) 0(0.0%) ordinary-value? ...rbie/develop/src/float.rkt:80:0 special-value? [29] 100.0% --------------------------------------------------------------- map [18] 100.0% [24] 626(2.1%) 0(0.0%) ??? ...htlies/herbie/develop/src/points.rkt:209:26 ??? [27] 100.0% --------------------------------------------------------------- ??? [16] 100.0% [25] 348(1.2%) 348(1.2%) compose ...collects/racket/private/list.rkt:385:12 --------------------------------------------------------------- for-loop [20] 100.0% [26] 11468(38.2%) 0(0.0%) one-iter ...bie/develop/src/core/simplify.rkt:85:0 find-matches [32] 46.3% for-loop [33] 45.8% for-loop [36] 7.8% --------------------------------------------------------------- ??? [24] 6.7% ??? [5] 9.7% loop [15] 83.7% [27] 9360(31.2%) 0(0.0%) ??? ...htlies/herbie/develop/src/programs.rkt:99:2 ??? [31] 66.5% ??? [39] 33.5% --------------------------------------------------------------- loop [21] 100.0% [28] 5382(17.9%) 0(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:148:4 loop [34] 47.2% argmin [35] 23.4% expression-cost [42] 11.9% for-loop [43] 11.3% for-loop [38] 6.2% --------------------------------------------------------------- ordinary-value? [23] 100.0% [29] 634(2.1%) 0(0.0%) special-value? ...erbie/develop/src/float.rkt:76:0 for-loop [37] 100.0% --------------------------------------------------------------- ulp-difference [22] 100.0% [30] 308(1.0%) 0(0.0%) infer-representation ...develop/src/float.rkt:15:0 return/no-unsupplied [81]100.0% --------------------------------------------------------------- ??? [27] 100.0% [31] 6226(20.7%) 350(1.2%) ??? ...t-7.0/collects/racket/private/kw.rkt:592:14 ??? [39] 89.6% ??? [45] 4.8% --------------------------------------------------------------- one-iter [26] 100.0% [32] 5310(17.7%) 0(0.0%) find-matches ...develop/src/core/simplify.rkt:55:0 for-loop [40] 100.0% --------------------------------------------------------------- one-iter [26] 100.0% [33] 5258(17.5%) 0(0.0%) for-loop ...bie/develop/src/core/simplify.rkt:94:2 loop [41] 100.0% --------------------------------------------------------------- for-loop [28] 100.0% [34] 2538(8.5%) 0(0.0%) loop .../racket-7.0/collects/racket/list.rkt:751:4 for-loop [43] 50.1% expression-cost [42] 49.9% --------------------------------------------------------------- for-loop [28] 100.0% [35] 1260(4.2%) 334(1.1%) argmin ...acket-7.0/collects/racket/list.rkt:765:0 expression-cost [42] 49.7% for-loop [43] 23.8% --------------------------------------------------------------- one-iter [26] 100.0% [36] 900(3.0%) 0(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:110:2 set-precompute! [44] 100.0% --------------------------------------------------------------- special-value? [29] 100.0% [37] 634(2.1%) 634(2.1%) for-loop ...lies/herbie/develop/src/float.rkt:17:3 --------------------------------------------------------------- for-loop [28] 100.0% [38] 334(1.1%) 334(1.1%) for-loop ...e/develop/src/core/simplify.rkt:152:16 --------------------------------------------------------------- ??? [16] 9.6% ??? [27] 32.5% ??? [31] 57.9% [39] 9640(32.1%) 626(2.1%) ??? ...tract/private/arrow-higher-order.rkt:357:33 ival-pow [46] 57.9% mk-ival [49] 19.7% sample-multi-bounded [51] 9.6% ->flonum [53] 6.3% --------------------------------------------------------------- for-loop [40] 47.1% find-matches [32] 52.9% [40] 5310(17.7%) 610(2.0%) for-loop ...bie/develop/src/core/simplify.rkt:57:8 for-loop [40] 47.1% match-e [54] 44.3% --------------------------------------------------------------- for-loop [33] 100.0% [41] 5258(17.5%) 0(0.0%) loop .../herbie/develop/src/core/simplify.rkt:99:4 apply-match [47] 100.0% --------------------------------------------------------------- argmin [35] 24.7% for-loop [28] 25.3% loop [34] 50.0% [42] 2534(8.4%) 300(1.0%) expression-cost .../develop/src/programs.rkt:157:0 compile [48] 88.2% --------------------------------------------------------------- argmin [35] 13.8% for-loop [28] 27.9% loop [34] 58.3% [43] 2180(7.3%) 636(2.1%) for-loop .../herbie/develop/src/programs.rkt:158:2 table-ref [50] 70.8% --------------------------------------------------------------- for-loop [36] 100.0% [44] 900(3.0%) 0(0.0%) set-precompute! ...lop/src/core/simplify.rkt:116:0 for-loop [52] 100.0% --------------------------------------------------------------- ??? [31] 100.0% [45] 298(1.0%) 298(1.0%) ??? ...herbie/develop/src/syntax/syntax.rkt:209:17 --------------------------------------------------------------- ??? [39] 100.0% [46] 5578(18.6%) 1810(6.0%) ival-pow ...rbie/develop/src/biginterval.rkt:216:0 bfexpt [55] 67.6% --------------------------------------------------------------- loop [41] 100.0% [47] 5258(17.5%) 0(0.0%) apply-match .../develop/src/core/simplify.rkt:64:0 for-loop [56] 63.5% match-e [54] 30.4% set [61] 6.1% --------------------------------------------------------------- expression-cost [42] 100.0% [48] 2234(7.4%) 0(0.0%) compile ...s/herbie/develop/src/programs.rkt:134:0 hash-ref! [57] 100.0% --------------------------------------------------------------- ??? [39] 100.0% [49] 1902(6.3%) 0(0.0%) mk-ival ...herbie/develop/src/biginterval.rkt:57:0 bf [58] 100.0% --------------------------------------------------------------- for-loop [43] 100.0% [50] 1544(5.1%) 900(3.0%) table-ref ...es/herbie/develop/src/common.rkt:41:0 dict? [60] 21.8% for-loop [63] 19.9% --------------------------------------------------------------- ??? [39] 100.0% [51] 928(3.1%) 616(2.1%) sample-multi-bounded ...evelop/src/points.rkt:15:0 for-loop [62] 33.6% --------------------------------------------------------------- set-precompute! [44] 100.0% [52] 900(3.0%) 0(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:118:2 merge-egraph-nodes! [69] 66.7% setfindf [64] 33.3% --------------------------------------------------------------- ??? [39] 100.0% [53] 606(2.0%) 0(0.0%) ->flonum ...ies/herbie/develop/src/float.rkt:149:0 ??? [59] 100.0% --------------------------------------------------------------- apply-match [47] 11.8% for-loop [75] 30.4% for-loop [40] 57.8% [54] 6296(21.0%) 926(3.1%) match-e ...herbie/develop/src/core/ematch.rkt:39:0 for-loop [65] 67.4% constant? [72] 10.2% ??? [76] 5.9% variable? [71] 4.2% --------------------------------------------------------------- ival-pow [46] 100.0% [55] 3768(12.6%) 0(0.0%) bfexpt ...lib/math/private/bigfloat/mpfr.rkt:821:4 ??? [67] 51.4% new-mpfr [66] 48.6% --------------------------------------------------------------- apply-match [47] 100.0% [56] 3340(11.1%) 300(1.0%) for-loop ...bie/develop/src/core/simplify.rkt:77:2 merge-egraph-nodes! [69] 44.9% substitute-e [70] 37.1% dedup-children! [80] 9.0% --------------------------------------------------------------- compile [48] 21.3% ??? [68] 78.7% [57] 2234(7.4%) 1598(5.3%) hash-ref! .../racket/private/more-scheme.rkt:376:2 ??? [68] 85.1% --------------------------------------------------------------- mk-ival [49] 100.0% [58] 1902(6.3%) 306(1.0%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:601:2 new-mpfr [66] 52.2% ??? [67] 31.8% --------------------------------------------------------------- ->flonum [53] 100.0% [59] 606(2.0%) 0(0.0%) ??? ...nightlies/herbie/develop/src/float.rkt:23:2 for-loop [73] 100.0% --------------------------------------------------------------- table-ref [50] 100.0% [60] 336(1.1%) 336(1.1%) dict? ...ollects/racket/private/generic.rkt:146:11 --------------------------------------------------------------- apply-match [47] 100.0% [61] 322(1.1%) 322(1.1%) set ...collects/racket/private/set-types.rkt:981:0 --------------------------------------------------------------- sample-multi-bounded [51]100.0% [62] 312(1.0%) 312(1.0%) for-loop ...ies/herbie/develop/src/points.rkt:23:4 --------------------------------------------------------------- table-ref [50] 100.0% [63] 308(1.0%) 308(1.0%) for-loop ...ies/herbie/develop/src/common.rkt:43:4 --------------------------------------------------------------- for-loop [52] 100.0% [64] 300(1.0%) 0(0.0%) setfindf ...es/herbie/develop/src/common.rkt:138:0 for-loop [74] 100.0% --------------------------------------------------------------- match-e [54] 100.0% [65] 5030(16.8%) 2214(7.4%) for-loop ...rbie/develop/src/core/ematch.rkt:52:11 for-loop [75] 59.7% cartesian-product [83] 6.0% foldl [82] 3.0% --------------------------------------------------------------- bf [58] 35.1% bfexpt [55] 64.9% [66] 2824(9.4%) 2824(9.4%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:335:0 --------------------------------------------------------------- bf [58] 23.8% bfexpt [55] 76.2% [67] 2540(8.5%) 2540(8.5%) ??? /opt/racket-7.0/collects/ffi/unsafe.rkt:898:4 --------------------------------------------------------------- hash-ref! [57] 100.0% [68] 2234(7.4%) 636(2.1%) ??? ...tlies/herbie/develop/src/programs.rkt:142:5 hash-ref! [57] 93.6% --------------------------------------------------------------- for-loop [84] 7.1% for-loop [52] 9.5% merge-egraph-nodes! [69] 26.2% for-loop [56] 57.1% [69] 2100(7.0%) 0(0.0%) merge-egraph-nodes! ...p/src/core/egraph.rkt:143:0 update-leader! [78] 40.6% merge-egraph-nodes! [69] 26.2% enode-merge! [85] 14.2% dedup-children! [80] 11.9% for-loop [84] 7.1% --------------------------------------------------------------- for-loop [77] 17.6% for-loop [56] 82.4% [70] 1238(4.1%) 326(1.1%) substitute-e ...e/develop/src/core/ematch.rkt:64:0 for-loop [77] 91.2% --------------------------------------------------------------- match-e [54] 100.0% [71] 642(2.1%) 0(0.0%) variable? ...e/develop/src/syntax/syntax.rkt:724:0 value? [79] 52.0% ??? [76] 48.0% --------------------------------------------------------------- match-e [54] 100.0% [72] 640(2.1%) 0(0.0%) constant? ...e/develop/src/syntax/syntax.rkt:721:0 value? [79] 100.0% --------------------------------------------------------------- ??? [59] 100.0% [73] 606(2.0%) 300(1.0%) for-loop ...lies/herbie/develop/src/float.rkt:24:5 return/no-unsupplied [81] 50.5% --------------------------------------------------------------- setfindf [64] 100.0% [74] 300(1.0%) 300(1.0%) for-loop ...es/herbie/develop/src/common.rkt:139:2 --------------------------------------------------------------- for-loop [65] 100.0% [75] 3788(12.6%) 300(1.0%) for-loop ...rbie/develop/src/core/ematch.rkt:58:37 match-e [54] 92.1% --------------------------------------------------------------- variable? [71] 24.1% match-e [54] 75.9% [76] 1280(4.3%) 1280(4.3%) ??? ...contract/private/arrow-val-first.rkt:388:18 --------------------------------------------------------------- substitute-e [70] 100.0% [77] 1238(4.1%) 0(0.0%) for-loop ...rbie/develop/src/core/ematch.rkt:73:24 mk-enode! [87] 73.7% substitute-e [70] 26.3% --------------------------------------------------------------- merge-egraph-nodes! [69] 100.0% [78] 1202(4.0%) 0(0.0%) update-leader! ...evelop/src/core/egraph.rkt:211:0 for-loop [86] 100.0% --------------------------------------------------------------- variable? [71] 34.3% constant? [72] 65.7% [79] 974(3.2%) 974(3.2%) value? ...herbie/develop/src/syntax/types.rkt:18:0 --------------------------------------------------------------- for-loop [56] 33.5% merge-egraph-nodes! [69] 66.5% [80] 902(3.0%) 0(0.0%) dedup-children! ...evelop/src/core/enode.rkt:198:0 loop [88] 100.0% --------------------------------------------------------------- for-loop [73] 49.8% infer-representation [30] 50.2% [81] 614(2.0%) 614(2.0%) return/no-unsupplied ...ct/private/arr-i.rkt:534:0 --------------------------------------------------------------- for-loop [65] 100.0% [82] 302(1.0%) 0(0.0%) foldl ....0/collects/racket/private/list.rkt:229:4 merge2 [89] 100.0% --------------------------------------------------------------- for-loop [65] 100.0% [83] 300(1.0%) 300(1.0%) cartesian-product ...ollects/racket/list.rkt:822:0 --------------------------------------------------------------- merge-egraph-nodes! [69] 100.0% [84] 300(1.0%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:197:4 merge-egraph-nodes! [69] 100.0% --------------------------------------------------------------- merge-egraph-nodes! [69] 100.0% [85] 298(1.0%) 0(0.0%) enode-merge! ...e/develop/src/core/enode.rkt:127:0 adopt-enode! [90] 100.0% --------------------------------------------------------------- update-leader! [78] 100.0% [86] 1202(4.0%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:216:6 hash-update! [91] 100.0% --------------------------------------------------------------- for-loop [77] 100.0% [87] 912(3.0%) 612(2.0%) mk-enode! ...rbie/develop/src/core/egraph.rkt:97:0 hash-has-key? [93] 32.9% --------------------------------------------------------------- dedup-children! [80] 22.6% loop [88] 77.4% [88] 902(3.0%) 0(0.0%) loop ...racket-7.0/collects/racket/list.rkt:417:34 loop [88] 77.4% loop [92] 22.6% --------------------------------------------------------------- foldl [82] 100.0% [89] 302(1.0%) 302(1.0%) merge2 .../herbie/develop/src/core/ematch.rkt:24:0 --------------------------------------------------------------- enode-merge! [85] 100.0% [90] 298(1.0%) 298(1.0%) adopt-enode! ...e/develop/src/core/enode.rkt:103:0 --------------------------------------------------------------- for-loop [86] 100.0% [91] 1202(4.0%) 0(0.0%) hash-update! ...cket/private/more-scheme.rkt:365:4 ??? [94] 100.0% --------------------------------------------------------------- loop [88] 100.0% [92] 902(3.0%) 902(3.0%) loop (unknown source) --------------------------------------------------------------- mk-enode! [87] 100.0% [93] 300(1.0%) 300(1.0%) hash-has-key? ...ket/private/more-scheme.rkt:371:2 --------------------------------------------------------------- hash-update! [91] 100.0% [94] 1202(4.0%) 0(0.0%) ??? ...s/herbie/develop/src/core/egraph.rkt:219:24 for-loop [95] 100.0% --------------------------------------------------------------- ??? [94] 100.0% [95] 1202(4.0%) 1202(4.0%) for-loop ...bie/develop/src/core/egraph.rkt:220:26 ---------------------------------------------------------------