Profiling results ----------------- Total cpu time observed: 29874ms (out of 30344ms) Number of samples taken: 101 (once every 296ms) (Hiding functions with self<1.0% and local<2.0%: 1 of 100 hidden) ================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ================================================================== ??? [4] 100.0% [1] 29874(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [3] 100.0% ------------------------------------------------------------------ match-e [57] 100.0% [2] 584(2.0%) 0(0.0%) variable? .../develop/src/syntax/syntax.rkt:1159:0 ??? [63] 100.0% ------------------------------------------------------------------ profile-thunk16 [1] 100.0% [3] 29874(100.0%) 0(0.0%) run ...et-7.0/share/pkgs/profile-lib/main.rkt:39:2 ??? [4] 100.0% ------------------------------------------------------------------ for-loop [96] 0.8% run [3] 49.6% [4] 29874(100.0%) 244(0.8%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 49.6% run-improve40 [5] 40.3% prepare-points-intervals [6] 7.9% errors [89] 0.5% oracle-error [7] 0.4% eval-errors [8] 0.4% ??? [17] 0.3% ulp-difference [90] 0.3% ------------------------------------------------------------------ ??? [4] 100.0% [5] 24166(80.9%) 0(0.0%) run-improve40 ...ie/develop/src/mainloop.rkt:336:0 simplify! [16] 70.1% for-loop [9] 29.9% ------------------------------------------------------------------ ??? [4] 100.0% [6] 4732(15.8%) 0(0.0%) prepare-points-intervals ...p/src/points.rkt:133:0 loop [10] 100.0% ------------------------------------------------------------------ ??? [4] 100.0% [7] 248(0.8%) 0(0.0%) oracle-error ...erbie/develop/src/points.rkt:212:0 for-loop [11] 100.0% ------------------------------------------------------------------ ??? [4] 100.0% [8] 246(0.8%) 0(0.0%) eval-errors ...herbie/develop/src/points.rkt:203:0 for-loop [12] 100.0% ------------------------------------------------------------------ run-improve40 [5] 100.0% [9] 7224(24.2%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:351:4 run-iter! [13] 100.0% ------------------------------------------------------------------ prepare-points-intervals [6]100.0% [10] 4732(15.8%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:145:4 loop [14] 94.6% ??? [15] 5.4% ------------------------------------------------------------------ oracle-error [7] 100.0% [11] 248(0.8%) 0(0.0%) for-loop ...es/herbie/develop/src/points.rkt:213:2 loop [77] 100.0% ------------------------------------------------------------------ eval-errors [8] 100.0% [12] 246(0.8%) 0(0.0%) for-loop ...es/herbie/develop/src/points.rkt:205:2 ??? [17] 100.0% ------------------------------------------------------------------ for-loop [9] 100.0% [13] 7224(24.2%) 0(0.0%) run-iter! ...herbie/develop/src/mainloop.rkt:317:0 simplify! [16] 91.9% localize! [18] 4.2% finalize-iter! [19] 3.8% ------------------------------------------------------------------ loop [10] 100.0% [14] 4478(15.0%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:104:2 ??? [17] 76.6% ??? [25] 23.4% ------------------------------------------------------------------ loop [10] 100.0% [15] 254(0.9%) 0(0.0%) ??? ...ghtlies/herbie/develop/src/points.rkt:129:2 curry* [20] 100.0% ------------------------------------------------------------------ run-iter! [13] 28.2% run-improve40 [5] 71.8% [16] 23582(78.9%) 0(0.0%) simplify! ...herbie/develop/src/mainloop.rkt:213:0 ??? [21] 100.0% ------------------------------------------------------------------ for-loop [12] 6.2% ??? [4] 7.0% loop [14] 86.7% [17] 3952(13.2%) 0(0.0%) ??? ...tlies/herbie/develop/src/programs.rkt:146:2 ??? [22] 60.8% ??? [25] 39.2% ------------------------------------------------------------------ run-iter! [13] 100.0% [18] 306(1.0%) 0(0.0%) localize! ...herbie/develop/src/mainloop.rkt:116:0 localize-error [23] 100.0% ------------------------------------------------------------------ run-iter! [13] 100.0% [19] 278(0.9%) 0(0.0%) finalize-iter! ...e/develop/src/mainloop.rkt:268:0 ??? [63] 100.0% ------------------------------------------------------------------ ??? [15] 100.0% [20] 254(0.9%) 254(0.9%) curry* ...et-7.0/collects/racket/function.rkt:44:2 ------------------------------------------------------------------ simplify! [16] 100.0% [21] 23582(78.9%) 0(0.0%) ??? ...s/herbie/develop/src/core/simplify.rkt:26:0 for-loop [24] 85.0% loop [26] 13.7% one-iter [29] 1.2% ------------------------------------------------------------------ ??? [17] 100.0% [22] 2402(8.0%) 248(0.8%) ??? ...t-7.0/collects/racket/private/kw.rkt:592:14 ??? [25] 44.6% ??? [27] 33.5% double->posit16 [28] 11.6% ------------------------------------------------------------------ localize! [18] 100.0% [23] 306(1.0%) 0(0.0%) localize-error ...velop/src/core/localize.rkt:52:0 hash-ref! [58] 100.0% ------------------------------------------------------------------ ??? [21] 100.0% [24] 20050(67.1%) 0(0.0%) for-loop ...bie/develop/src/core/simplify.rkt:33:2 one-iter [29] 100.0% ------------------------------------------------------------------ loop [14] 28.6% ??? [22] 29.2% ??? [17] 42.2% [25] 3672(12.3%) 246(0.8%) ??? ...tract/private/arrow-higher-order.rkt:357:33 mk-ival [31] 35.5% ival-mult [32] 29.2% ->flonum [33] 28.6% ------------------------------------------------------------------ ??? [21] 100.0% [26] 3238(10.8%) 0(0.0%) loop ...herbie/develop/src/core/simplify.rkt:143:2 for-loop [30] 91.9% debug5 [37] 8.1% ------------------------------------------------------------------ ??? [22] 100.0% [27] 804(2.7%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:361:33 ival-sub [34] 66.4% ival-add [36] 33.6% ------------------------------------------------------------------ ??? [22] 100.0% [28] 278(0.9%) 0(0.0%) double->posit16 ...ftposit-rkt/softposit.rkt:248:0 get-ffi-obj* [35] 100.0% ------------------------------------------------------------------ ??? [21] 1.4% for-loop [24] 98.6% [29] 20344(68.1%) 0(0.0%) one-iter ...bie/develop/src/core/simplify.rkt:86:0 for-loop [38] 70.7% find-matches [39] 29.3% ------------------------------------------------------------------ loop [26] 100.0% [30] 2976(10.0%) 0(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:149:4 loop [42] 39.9% expression-cost [50] 22.4% argmin [43] 18.6% for-loop [49] 10.8% for-loop [45] 8.3% ------------------------------------------------------------------ ??? [25] 100.0% [31] 1304(4.4%) 0(0.0%) mk-ival ...herbie/develop/src/biginterval.rkt:59:0 bf [41] 100.0% ------------------------------------------------------------------ ??? [25] 100.0% [32] 1072(3.6%) 272(0.9%) ival-mult ...bie/develop/src/biginterval.rkt:114:0 bfsub [40] 74.6% ------------------------------------------------------------------ ??? [25] 100.0% [33] 1050(3.5%) 0(0.0%) ->flonum ...s/herbie/develop/src/programs.rkt:38:0 return/no-unsupplied [94] 100.0% ------------------------------------------------------------------ ??? [27] 100.0% [34] 534(1.8%) 0(0.0%) ival-sub ...rbie/develop/src/biginterval.rkt:102:0 bfsub [40] 100.0% ------------------------------------------------------------------ double->posit16 [28] 100.0% [35] 278(0.9%) 0(0.0%) get-ffi-obj* ...-7.0/collects/ffi/unsafe.rkt:209:2 get-ffi-lib9 [44] 100.0% ------------------------------------------------------------------ ??? [27] 100.0% [36] 270(0.9%) 0(0.0%) ival-add ...erbie/develop/src/biginterval.rkt:96:0 bfsub [40] 100.0% ------------------------------------------------------------------ loop [26] 100.0% [37] 262(0.9%) 262(0.9%) debug5 ...tlies/herbie/develop/src/debug.rkt:102:0 ------------------------------------------------------------------ one-iter [29] 100.0% [38] 14380(48.1%) 300(1.0%) for-loop ...bie/develop/src/core/simplify.rkt:95:2 loop [46] 97.9% ------------------------------------------------------------------ one-iter [29] 100.0% [39] 5964(20.0%) 0(0.0%) find-matches ...develop/src/core/simplify.rkt:56:0 for-loop [47] 100.0% ------------------------------------------------------------------ ival-add [36] 16.8% ival-sub [34] 33.3% ival-mult [32] 49.9% [40] 1604(5.4%) 0(0.0%) bfsub ...-lib/math/private/bigfloat/mpfr.rkt:821:4 new-mpfr [48] 67.1% ??? [51] 32.9% ------------------------------------------------------------------ mk-ival [31] 100.0% [41] 1304(4.4%) 0(0.0%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:601:2 new-mpfr [48] 100.0% ------------------------------------------------------------------ for-loop [30] 100.0% [42] 1186(4.0%) 0(0.0%) loop .../racket-7.0/collects/racket/list.rkt:751:4 expression-cost [50] 52.8% for-loop [49] 47.2% ------------------------------------------------------------------ for-loop [30] 100.0% [43] 554(1.9%) 0(0.0%) argmin ...acket-7.0/collects/racket/list.rkt:765:0 for-loop [49] 100.0% ------------------------------------------------------------------ get-ffi-obj* [35] 100.0% [44] 278(0.9%) 278(0.9%) get-ffi-lib9 ...-7.0/collects/ffi/unsafe.rkt:121:0 ------------------------------------------------------------------ for-loop [30] 100.0% [45] 246(0.8%) 0(0.0%) for-loop ...e/develop/src/core/simplify.rkt:153:16 for-loop [52] 100.0% ------------------------------------------------------------------ for-loop [38] 100.0% [46] 14080(47.1%) 0(0.0%) loop ...herbie/develop/src/core/simplify.rkt:100:4 apply-match [53] 100.0% ------------------------------------------------------------------ for-loop [47] 50.0% find-matches [39] 50.0% [47] 5964(20.0%) 548(1.8%) for-loop ...bie/develop/src/core/simplify.rkt:58:8 for-loop [47] 50.0% match-e [57] 45.4% ------------------------------------------------------------------ bfsub [40] 45.2% bf [41] 54.8% [48] 2380(8.0%) 2380(8.0%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:335:0 ------------------------------------------------------------------ for-loop [30] 22.4% argmin [43] 38.6% loop [42] 39.0% [49] 1436(4.8%) 282(0.9%) for-loop .../herbie/develop/src/programs.rkt:205:2 table-ref [55] 80.4% ------------------------------------------------------------------ loop [42] 48.4% for-loop [30] 51.6% [50] 1294(4.3%) 0(0.0%) expression-cost .../develop/src/programs.rkt:204:0 compile [54] 100.0% ------------------------------------------------------------------ bfsub [40] 100.0% [51] 528(1.8%) 528(1.8%) ??? /opt/racket-7.0/collects/ffi/unsafe.rkt:898:4 ------------------------------------------------------------------ for-loop [45] 100.0% [52] 246(0.8%) 246(0.8%) for-loop ...e/develop/src/core/simplify.rkt:157:23 ------------------------------------------------------------------ loop [46] 100.0% [53] 14080(47.1%) 0(0.0%) apply-match .../develop/src/core/simplify.rkt:65:0 for-loop [56] 81.6% match-e [57] 14.4% set [79] 4.1% ------------------------------------------------------------------ expression-cost [50] 100.0% [54] 1294(4.3%) 0(0.0%) compile ...s/herbie/develop/src/programs.rkt:181:0 hash-ref! [58] 100.0% ------------------------------------------------------------------ for-loop [49] 100.0% [55] 1154(3.9%) 554(1.9%) table-ref ...es/herbie/develop/src/common.rkt:42:0 for-loop [59] 27.9% dict? [60] 24.1% ------------------------------------------------------------------ apply-match [53] 100.0% [56] 11484(38.4%) 0(0.0%) for-loop ...bie/develop/src/core/simplify.rkt:78:2 merge-egraph-nodes! [61] 72.6% dedup-children! [70] 20.2% mk-enode! [65] 7.2% ------------------------------------------------------------------ apply-match [53] 16.9% for-loop [69] 27.2% for-loop [47] 55.9% [57] 7440(24.9%) 1696(5.7%) match-e ...herbie/develop/src/core/ematch.rkt:39:0 for-loop [62] 72.4% variable? [2] 3.3% ??? [63] 3.2% ------------------------------------------------------------------ map [72] 9.6% localize-error [23] 9.6% compile [54] 31.9% ??? [64] 49.0% [58] 1600(5.4%) 1294(4.3%) hash-ref! .../racket/private/more-scheme.rkt:376:2 ??? [64] 49.0% parse-loop15 [66] 19.1% ------------------------------------------------------------------ table-ref [55] 100.0% [59] 322(1.1%) 322(1.1%) for-loop ...ies/herbie/develop/src/common.rkt:44:4 ------------------------------------------------------------------ table-ref [55] 100.0% [60] 278(0.9%) 278(0.9%) dict? ...ollects/racket/private/generic.rkt:146:11 ------------------------------------------------------------------ for-loop [71] 4.6% merge-egraph-nodes! [61] 9.3% for-loop [56] 86.1% [61] 8342(27.9%) 0(0.0%) merge-egraph-nodes! ...p/src/core/egraph.rkt:145:0 loop! [67] 43.2% update-leader! [68] 41.2% merge-egraph-nodes! [61] 9.3% for-loop [71] 4.6% dedup-children! [70] 1.8% ------------------------------------------------------------------ match-e [57] 100.0% [62] 6292(21.1%) 2766(9.3%) for-loop ...rbie/develop/src/core/ematch.rkt:52:11 for-loop [69] 46.6% loop [77] 9.4% curried [87] 5.1% cartesian-product [73] 4.6% ------------------------------------------------------------------ finalize-iter! [19] 19.3% match-e [57] 40.1% variable? [2] 40.6% [63] 1440(4.8%) 1162(3.9%) ??? ...contract/private/arrow-val-first.rkt:388:18 for-loop [75] 19.3% ------------------------------------------------------------------ hash-ref! [58] 100.0% [64] 1294(4.3%) 0(0.0%) ??? ...tlies/herbie/develop/src/programs.rkt:189:5 hash-ref! [58] 100.0% ------------------------------------------------------------------ for-loop [56] 100.0% [65] 824(2.8%) 546(1.8%) mk-enode! ...rbie/develop/src/core/egraph.rkt:99:0 new-enode [74] 33.7% ------------------------------------------------------------------ hash-ref! [58] 100.0% [66] 306(1.0%) 0(0.0%) parse-loop15 ...s/racket/match/compiler.rkt:418:15 map [72] 50.0% loop [77] 50.0% ------------------------------------------------------------------ loop [77] 24.3% merge-egraph-nodes! [61] 75.7% [67] 4200(14.1%) 770(2.6%) loop! ...s/herbie/develop/src/core/enode.rkt:191:2 custom-set-union [78] 38.1% loop [77] 34.4% set [79] 12.4% ------------------------------------------------------------------ merge-egraph-nodes! [61] 100.0% [68] 3844(12.9%) 0(0.0%) update-leader! ...evelop/src/core/egraph.rkt:213:0 for-loop [76] 92.1% mutable-set [82] 7.9% ------------------------------------------------------------------ for-loop [62] 100.0% [69] 3750(12.6%) 0(0.0%) for-loop ...rbie/develop/src/core/ematch.rkt:58:37 match-e [57] 100.0% ------------------------------------------------------------------ merge-egraph-nodes! [61] 11.4% for-loop [56] 88.6% [70] 2616(8.8%) 0(0.0%) dedup-children! ...evelop/src/core/enode.rkt:199:0 loop [80] 65.6% loop [81] 34.4% ------------------------------------------------------------------ merge-egraph-nodes! [61] 100.0% [71] 866(2.9%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:199:4 merge-egraph-nodes! [61] 100.0% ------------------------------------------------------------------ parse-loop15 [66] 100.0% [72] 306(1.0%) 0(0.0%) map ...t-7.0/collects/racket/private/map.rkt:35:13 hash-ref! [58] 100.0% ------------------------------------------------------------------ for-loop [62] 100.0% [73] 292(1.0%) 292(1.0%) cartesian-product ...ollects/racket/list.rkt:822:0 ------------------------------------------------------------------ mk-enode! [65] 100.0% [74] 278(0.9%) 0(0.0%) new-enode ...erbie/develop/src/core/enode.rkt:96:0 type-of-enode-expr [83] 100.0% ------------------------------------------------------------------ ??? [63] 100.0% [75] 278(0.9%) 0(0.0%) for-loop ...ie/develop/src/core/alt-table.rkt:56:2 atab-add-altn [84] 100.0% ------------------------------------------------------------------ update-leader! [68] 100.0% [76] 3542(11.9%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:218:6 hash-update! [93] 53.4% for-loop [85] 46.6% ------------------------------------------------------------------ parse-loop15 [66] 0.2% for-loop [62] 1.5% for-loop [11] 7.3% loop! [67] 18.4% loop [77] 72.6% [77] 3386(11.3%) 1156(3.9%) loop ...-7.0/collects/racket/private/map.rkt:40:19 loop [77] 72.6% loop! [67] 16.6% ulp-difference [90] 7.3% curried [87] 0.9% ------------------------------------------------------------------ loop! [67] 100.0% [78] 1736(5.8%) 0(0.0%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [86] 82.4% for-loop [91] 17.6% ------------------------------------------------------------------ apply-match [53] 33.3% loop! [67] 66.7% [79] 1716(5.7%) 1716(5.7%) set ...collects/racket/private/set-types.rkt:981:0 ------------------------------------------------------------------ dedup-children! [70] 16.8% loop [80] 83.2% [80] 1716(5.7%) 1716(5.7%) loop ...racket-7.0/collects/racket/list.rkt:434:17 loop [80] 83.2% ------------------------------------------------------------------ dedup-children! [70] 13.1% loop [81] 86.9% [81] 900(3.0%) 0(0.0%) loop ...racket-7.0/collects/racket/list.rkt:417:34 loop [81] 86.9% loop [88] 13.1% ------------------------------------------------------------------ update-leader! [68] 100.0% [82] 302(1.0%) 0(0.0%) mutable-set .../racket/private/set-types.rkt:999:0 for-loop [92] 100.0% ------------------------------------------------------------------ new-enode [74] 100.0% [83] 278(0.9%) 278(0.9%) type-of-enode-expr ...elop/src/core/enode.rkt:69:0 ------------------------------------------------------------------ for-loop [75] 100.0% [84] 278(0.9%) 0(0.0%) atab-add-altn ...elop/src/core/alt-table.rkt:202:0 errors [89] 100.0% ------------------------------------------------------------------ for-loop [76] 100.0% [85] 1650(5.5%) 302(1.0%) for-loop ...rbie/develop/src/core/egraph.rkt:219:8 hash-update! [93] 81.7% ------------------------------------------------------------------ custom-set-union [78] 100.0% [86] 1430(4.8%) 298(1.0%) for-loop ...cts/racket/private/set-types.rkt:174:3 for-loop [95] 79.2% ------------------------------------------------------------------ loop [77] 31.5% for-loop [62] 68.5% [87] 928(3.1%) 928(3.1%) curried ...-7.0/collects/racket/function.rkt:71:18 ------------------------------------------------------------------ loop [81] 100.0% [88] 900(3.0%) 900(3.0%) loop (unknown source) ------------------------------------------------------------------ atab-add-altn [84] 36.6% ??? [4] 63.4% [89] 760(2.5%) 0(0.0%) errors ...lies/herbie/develop/src/points.rkt:228:0 for-loop [96] 100.0% ------------------------------------------------------------------ ??? [4] 49.0% loop [77] 51.0% [90] 486(1.6%) 238(0.8%) ulp-difference ...erbie/develop/src/float.rkt:14:0 return/no-unsupplied [94] 51.0% ------------------------------------------------------------------ custom-set-union [78] 100.0% [91] 306(1.0%) 306(1.0%) for-loop ...cts/racket/private/set-types.rkt:152:2 ------------------------------------------------------------------ mutable-set [82] 100.0% [92] 302(1.0%) 302(1.0%) for-loop ...cts/racket/private/set-types.rkt:943:2 ------------------------------------------------------------------ for-loop [85] 41.6% for-loop [76] 58.4% [93] 3240(10.8%) 0(0.0%) hash-update! ...cket/private/more-scheme.rkt:365:4 ??? [97] 100.0% ------------------------------------------------------------------ ulp-difference [90] 19.1% ->flonum [33] 80.9% [94] 1298(4.3%) 1298(4.3%) return/no-unsupplied ...ct/private/arr-i.rkt:534:0 ------------------------------------------------------------------ for-loop [86] 100.0% [95] 1132(3.8%) 1132(3.8%) for-loop ...cts/racket/private/set-types.rkt:178:5 ------------------------------------------------------------------ errors [89] 100.0% [96] 760(2.5%) 0(0.0%) for-loop ...es/herbie/develop/src/points.rkt:230:2 ??? [4] 100.0% ------------------------------------------------------------------ hash-update! [93] 100.0% [97] 3240(10.8%) 0(0.0%) ??? ...s/herbie/develop/src/core/egraph.rkt:221:24 for-loop [98] 100.0% ------------------------------------------------------------------ ??? [97] 100.0% [98] 3240(10.8%) 2434(8.1%) for-loop ...bie/develop/src/core/egraph.rkt:222:26 update-en-expr [99] 24.9% ------------------------------------------------------------------ for-loop [98] 100.0% [99] 806(2.7%) 806(2.7%) update-en-expr ...evelop/src/core/egraph.rkt:207:0 ------------------------------------------------------------------