Profiling results ----------------- Total cpu time observed: 26560ms (out of 26896ms) Number of samples taken: 77 (once every 345ms) (Hiding functions with self<1.0% and local<2.0%: 1 of 106 hidden) ===================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ===================================================================== ??? [8] 100.0% [1] 26560(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [5] 100.0% --------------------------------------------------------------------- hash-ref! [78] 100.0% [2] 300(1.1%) 0(0.0%) ??? ...es/herbie/develop/src/core/taylor.rkt:68:15 hash-ref! [78] 50.0% ??? [66] 50.0% --------------------------------------------------------------------- ??? [66] 100.0% [3] 300(1.1%) 0(0.0%) approximate9 ...e/develop/src/core/taylor.rkt:12:0 loop [6] 100.0% --------------------------------------------------------------------- hash-ref! [78] 100.0% [4] 300(1.1%) 0(0.0%) taylor-invert ...develop/src/core/taylor.rkt:318:0 first-nonzero-exp [7] 100.0% --------------------------------------------------------------------- profile-thunk16 [1] 100.0% [5] 26560(100.0%) 0(0.0%) run ...et-7.0/share/pkgs/profile-lib/main.rkt:39:2 ??? [8] 100.0% --------------------------------------------------------------------- approximate9 [3] 100.0% [6] 300(1.1%) 0(0.0%) loop ...es/herbie/develop/src/core/taylor.rkt:87:4 hash-ref! [78] 100.0% --------------------------------------------------------------------- taylor-invert [4] 100.0% [7] 300(1.1%) 0(0.0%) first-nonzero-exp ...lop/src/core/taylor.rkt:266:0 hash-ref! [78] 100.0% --------------------------------------------------------------------- for-loop [103] 1.6% run [5] 49.2% [8] 26560(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 49.2% run-improve40 [9] 36.8% prepare-points-intervals [10] 9.4% errors [98] 1.3% ??? [23] 1.2% eval-errors [11] 1.1% oracle-error [12] 0.6% ??? [66] 0.4% --------------------------------------------------------------------- ??? [8] 100.0% [9] 19756(74.4%) 0(0.0%) run-improve40 ...ie/develop/src/mainloop.rkt:336:0 for-loop [13] 98.5% finalize-iter! [24] 1.5% --------------------------------------------------------------------- ??? [8] 100.0% [10] 5002(18.8%) 0(0.0%) prepare-points-intervals ...p/src/points.rkt:133:0 loop [14] 100.0% --------------------------------------------------------------------- ??? [8] 100.0% [11] 572(2.2%) 0(0.0%) eval-errors ...herbie/develop/src/points.rkt:203:0 for-loop [15] 100.0% --------------------------------------------------------------------- ??? [8] 100.0% [12] 312(1.2%) 0(0.0%) oracle-error ...erbie/develop/src/points.rkt:212:0 for-loop [16] 100.0% --------------------------------------------------------------------- run-improve40 [9] 100.0% [13] 19468(73.3%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:351:4 run-iter! [17] 100.0% --------------------------------------------------------------------- prepare-points-intervals [10]100.0% [14] 5002(18.8%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:145:4 loop [18] 56.9% ??? [19] 43.1% --------------------------------------------------------------------- eval-errors [11] 100.0% [15] 572(2.2%) 280(1.1%) for-loop ...es/herbie/develop/src/points.rkt:205:2 point-error [21] 51.0% --------------------------------------------------------------------- oracle-error [12] 100.0% [16] 312(1.2%) 0(0.0%) for-loop ...es/herbie/develop/src/points.rkt:213:2 map [20] 100.0% --------------------------------------------------------------------- for-loop [13] 100.0% [17] 19468(73.3%) 0(0.0%) run-iter! ...herbie/develop/src/mainloop.rkt:317:0 simplify! [22] 96.6% finalize-iter! [24] 1.8% gen-series! [27] 1.5% --------------------------------------------------------------------- loop [14] 100.0% [18] 2844(10.7%) 334(1.3%) loop ...htlies/herbie/develop/src/points.rkt:104:2 ??? [23] 44.4% ??? [66] 31.7% hash-update! [89] 12.1% --------------------------------------------------------------------- loop [14] 100.0% [19] 2158(8.1%) 0(0.0%) ??? ...ghtlies/herbie/develop/src/points.rkt:129:2 ??? [66] 56.3% loop [60] 28.2% compose [25] 15.5% --------------------------------------------------------------------- for-loop [16] 100.0% [20] 312(1.2%) 0(0.0%) map ...t-7.0/collects/racket/private/map.rkt:35:13 ??? [26] 100.0% --------------------------------------------------------------------- for-loop [15] 100.0% [21] 292(1.1%) 0(0.0%) point-error ...herbie/develop/src/points.rkt:195:0 ulp-difference [28] 100.0% --------------------------------------------------------------------- run-iter! [17] 100.0% [22] 18812(70.8%) 0(0.0%) simplify! ...herbie/develop/src/mainloop.rkt:213:0 ??? [29] 100.0% --------------------------------------------------------------------- ??? [8] 42.5% loop [18] 57.5% [23] 2200(8.3%) 0(0.0%) ??? ...tlies/herbie/develop/src/programs.rkt:146:2 ??? [30] 57.5% ??? [66] 42.5% --------------------------------------------------------------------- run-improve40 [9] 44.7% run-iter! [17] 55.3% [24] 644(2.4%) 0(0.0%) finalize-iter! ...e/develop/src/mainloop.rkt:268:0 ??? [70] 100.0% --------------------------------------------------------------------- ??? [19] 100.0% [25] 334(1.3%) 0(0.0%) compose ...collects/racket/private/list.rkt:385:12 procedure-arity [71] 100.0% --------------------------------------------------------------------- map [20] 100.0% [26] 312(1.2%) 0(0.0%) ??? ...htlies/herbie/develop/src/points.rkt:214:26 ??? [66] 100.0% --------------------------------------------------------------------- run-iter! [17] 100.0% [27] 300(1.1%) 0(0.0%) gen-series! ...rbie/develop/src/mainloop.rkt:149:0 for-loop [31] 100.0% --------------------------------------------------------------------- point-error [21] 100.0% [28] 292(1.1%) 292(1.1%) ulp-difference ...erbie/develop/src/float.rkt:14:0 --------------------------------------------------------------------- simplify! [22] 100.0% [29] 18812(70.8%) 0(0.0%) ??? ...s/herbie/develop/src/core/simplify.rkt:26:0 for-loop [32] 80.5% loop [33] 19.5% --------------------------------------------------------------------- ??? [23] 100.0% [30] 1264(4.8%) 0(0.0%) ??? ...t-7.0/collects/racket/private/kw.rkt:592:14 ??? [66] 72.0% ??? [34] 28.0% --------------------------------------------------------------------- gen-series! [27] 100.0% [31] 300(1.1%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:156:7 taylor-alt [35] 100.0% --------------------------------------------------------------------- ??? [29] 100.0% [32] 15148(57.0%) 0(0.0%) for-loop ...bie/develop/src/core/simplify.rkt:33:2 one-iter [36] 100.0% --------------------------------------------------------------------- ??? [29] 100.0% [33] 3664(13.8%) 0(0.0%) loop ...herbie/develop/src/core/simplify.rkt:143:2 for-loop [37] 100.0% --------------------------------------------------------------------- ??? [30] 100.0% [34] 354(1.3%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:361:33 ival-add [38] 100.0% --------------------------------------------------------------------- for-loop [31] 100.0% [35] 300(1.1%) 0(0.0%) taylor-alt ...erbie/develop/src/mainloop.rkt:135:0 for-loop [39] 100.0% --------------------------------------------------------------------- for-loop [32] 100.0% [36] 15148(57.0%) 0(0.0%) one-iter ...bie/develop/src/core/simplify.rkt:86:0 for-loop [40] 71.8% find-matches [41] 28.2% --------------------------------------------------------------------- loop [33] 100.0% [37] 3664(13.8%) 0(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:149:4 loop [42] 64.1% argmin [43] 27.7% for-loop [44] 8.1% --------------------------------------------------------------------- ??? [34] 100.0% [38] 354(1.3%) 0(0.0%) ival-add ...erbie/develop/src/biginterval.rkt:96:0 bfmul [91] 100.0% --------------------------------------------------------------------- taylor-alt [35] 100.0% [39] 300(1.1%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:141:6 ??? [66] 100.0% --------------------------------------------------------------------- one-iter [36] 100.0% [40] 10874(40.9%) 0(0.0%) for-loop ...bie/develop/src/core/simplify.rkt:95:2 loop [45] 100.0% --------------------------------------------------------------------- one-iter [36] 100.0% [41] 4274(16.1%) 0(0.0%) find-matches ...develop/src/core/simplify.rkt:56:0 for-loop [46] 100.0% --------------------------------------------------------------------- for-loop [37] 100.0% [42] 2350(8.8%) 0(0.0%) loop .../racket-7.0/collects/racket/list.rkt:751:4 expression-cost [47] 56.2% for-loop [48] 43.8% --------------------------------------------------------------------- for-loop [37] 100.0% [43] 1016(3.8%) 0(0.0%) argmin ...acket-7.0/collects/racket/list.rkt:765:0 expression-cost [47] 100.0% --------------------------------------------------------------------- for-loop [37] 100.0% [44] 298(1.1%) 298(1.1%) for-loop ...e/develop/src/core/simplify.rkt:153:16 --------------------------------------------------------------------- for-loop [40] 100.0% [45] 10874(40.9%) 0(0.0%) loop ...herbie/develop/src/core/simplify.rkt:100:4 apply-match [49] 100.0% --------------------------------------------------------------------- for-loop [46] 50.0% find-matches [41] 50.0% [46] 4274(16.1%) 298(1.1%) for-loop ...bie/develop/src/core/simplify.rkt:58:8 for-loop [46] 50.0% match-e [52] 46.5% --------------------------------------------------------------------- argmin [43] 43.5% loop [42] 56.5% [47] 2336(8.8%) 0(0.0%) expression-cost .../develop/src/programs.rkt:204:0 compile [50] 100.0% --------------------------------------------------------------------- loop [42] 100.0% [48] 1030(3.9%) 0(0.0%) for-loop .../herbie/develop/src/programs.rkt:205:2 table-ref [99] 100.0% --------------------------------------------------------------------- loop [45] 100.0% [49] 10874(40.9%) 0(0.0%) apply-match .../develop/src/core/simplify.rkt:65:0 for-loop [51] 91.5% match-e [52] 8.5% --------------------------------------------------------------------- expression-cost [47] 100.0% [50] 2336(8.8%) 0(0.0%) compile ...s/herbie/develop/src/programs.rkt:181:0 hash-ref! [78] 100.0% --------------------------------------------------------------------- apply-match [49] 100.0% [51] 9946(37.4%) 0(0.0%) for-loop ...bie/develop/src/core/simplify.rkt:78:2 merge-egraph-nodes! [53] 56.4% dedup-children! [56] 30.9% substitute-e [55] 6.7% mk-enode! [72] 6.0% --------------------------------------------------------------------- apply-match [49] 12.5% for-loop [58] 22.7% for-loop [46] 64.7% [52] 4904(18.5%) 908(3.4%) match-e ...herbie/develop/src/core/ematch.rkt:39:0 for-loop [54] 79.4% ??? [70] 2.0% --------------------------------------------------------------------- merge-egraph-nodes! [53] 6.8% for-loop [57] 22.7% for-loop [51] 70.6% [53] 5610(21.1%) 0(0.0%) merge-egraph-nodes! ...p/src/core/egraph.rkt:145:0 update-leader! [59] 27.5% loop! [69] 26.8% for-loop [57] 22.7% dedup-children! [56] 11.0% merge-egraph-nodes! [53] 6.8% enode-merge! [65] 5.3% --------------------------------------------------------------------- match-e [52] 100.0% [54] 3996(15.0%) 1528(5.8%) for-loop ...rbie/develop/src/core/ematch.rkt:52:11 for-loop [58] 37.9% loop [60] 24.3% curry* [62] 11.3% cartesian-product [64] 3.8% --------------------------------------------------------------------- for-loop [61] 25.0% for-loop [51] 75.0% [55] 664(2.5%) 0(0.0%) substitute-e ...e/develop/src/core/ematch.rkt:64:0 for-loop [61] 75.0% variable? [63] 25.0% --------------------------------------------------------------------- merge-egraph-nodes! [53] 24.5% for-loop [51] 75.5% [56] 4074(15.3%) 0(0.0%) dedup-children! ...evelop/src/core/enode.rkt:199:0 loop [67] 91.1% loop [74] 8.9% --------------------------------------------------------------------- merge-egraph-nodes! [53] 100.0% [57] 2640(9.9%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:199:4 merge-egraph-nodes! [53] 100.0% --------------------------------------------------------------------- for-loop [54] 100.0% [58] 2428(9.1%) 0(0.0%) for-loop ...rbie/develop/src/core/ematch.rkt:58:37 match-e [52] 87.7% ??? [77] 12.3% --------------------------------------------------------------------- merge-egraph-nodes! [53] 100.0% [59] 2410(9.1%) 0(0.0%) update-leader! ...evelop/src/core/egraph.rkt:213:0 for-loop [68] 100.0% --------------------------------------------------------------------- for-loop [54] 0.8% loop! [69] 1.4% ??? [19] 32.0% loop [60] 65.8% [60] 1902(7.2%) 0(0.0%) loop ...-7.0/collects/racket/private/map.rkt:40:19 loop [60] 65.8% ??? [66] 32.0% loop! [69] 1.4% foldl [73] 0.7% loop [75] 0.1% --------------------------------------------------------------------- substitute-e [55] 100.0% [61] 664(2.5%) 0(0.0%) for-loop ...rbie/develop/src/core/ematch.rkt:73:24 substitute-e [55] 50.0% mk-enode! [72] 50.0% --------------------------------------------------------------------- for-loop [54] 100.0% [62] 600(2.3%) 0(0.0%) curry* ...et-7.0/collects/racket/function.rkt:44:2 procedure-arity [71] 100.0% --------------------------------------------------------------------- substitute-e [55] 100.0% [63] 332(1.2%) 0(0.0%) variable? .../develop/src/syntax/syntax.rkt:1159:0 ??? [70] 100.0% --------------------------------------------------------------------- for-loop [54] 100.0% [64] 300(1.1%) 300(1.1%) cartesian-product ...ollects/racket/list.rkt:822:0 --------------------------------------------------------------------- merge-egraph-nodes! [53] 100.0% [65] 300(1.1%) 0(0.0%) enode-merge! ...e/develop/src/core/enode.rkt:128:0 adopt-enode! [76] 100.0% --------------------------------------------------------------------- ??? [2] 1.8% for-loop [39] 1.8% ??? [26] 5.7% ??? [8] 6.0% loop [60] 11.0% loop [18] 16.4% ??? [30] 16.5% ??? [23] 17.0% ??? [19] 22.1% [66] 5512(20.8%) 292(1.1%) ??? ...tract/private/arrow-higher-order.rkt:357:33 ->flonum [79] 45.0% sample-multi-bounded [82] 27.8% ival-mult [83] 16.5% approximate9 [3] 1.8% hash-ref! [78] 1.8% --------------------------------------------------------------------- dedup-children! [56] 4.6% loop [67] 95.4% [67] 3712(14.0%) 3712(14.0%) loop ...racket-7.0/collects/racket/list.rkt:434:17 loop [67] 95.4% --------------------------------------------------------------------- update-leader! [59] 100.0% [68] 2410(9.1%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:218:6 for-loop [80] 85.7% hash-update! [89] 14.3% --------------------------------------------------------------------- loop [60] 8.5% merge-egraph-nodes! [53] 91.5% [69] 1900(7.2%) 300(1.1%) loop! ...s/herbie/develop/src/core/enode.rkt:191:2 custom-set-union [81] 67.2% loop [60] 8.5% set [87] 8.5% --------------------------------------------------------------------- match-e [52] 23.5% variable? [63] 26.0% finalize-iter! [24] 50.5% [70] 1276(4.8%) 632(2.4%) ??? ...contract/private/arrow-val-first.rkt:388:18 for-loop [84] 50.5% --------------------------------------------------------------------- compose [25] 35.8% curry* [62] 64.2% [71] 934(3.5%) 934(3.5%) procedure-arity ...ket/private/norm-arity.rkt:7:27 --------------------------------------------------------------------- for-loop [61] 35.7% for-loop [51] 64.3% [72] 930(3.5%) 598(2.3%) mk-enode! ...rbie/develop/src/core/egraph.rkt:99:0 new-enode [86] 35.7% --------------------------------------------------------------------- loop [60] 100.0% [73] 636(2.4%) 336(1.3%) foldl ....0/collects/racket/private/list.rkt:229:4 merge2 [88] 47.2% --------------------------------------------------------------------- dedup-children! [56] 14.3% loop [74] 85.7% [74] 362(1.4%) 0(0.0%) loop ...racket-7.0/collects/racket/list.rkt:417:34 loop [74] 85.7% loop [85] 14.3% --------------------------------------------------------------------- loop [60] 100.0% [75] 334(1.3%) 334(1.3%) loop ...cket-7.0/collects/racket/function.rkt:53:6 --------------------------------------------------------------------- enode-merge! [65] 100.0% [76] 300(1.1%) 0(0.0%) adopt-enode! ...e/develop/src/core/enode.rkt:104:0 custom-set-union [81] 100.0% --------------------------------------------------------------------- for-loop [58] 100.0% [77] 298(1.1%) 298(1.1%) ??? ...ies/herbie/develop/src/core/ematch.rkt:43:5 --------------------------------------------------------------------- first-nonzero-exp [7] 2.8% ??? [66] 2.8% ??? [2] 2.8% loop [6] 2.8% ??? [90] 27.2% compile [50] 61.4% [78] 2636(9.9%) 2336(8.8%) hash-ref! .../racket/private/more-scheme.rkt:376:2 ??? [90] 27.2% ??? [2] 5.7% taylor-invert [4] 2.8% simplify [96] 2.8% --------------------------------------------------------------------- ??? [66] 100.0% [79] 2478(9.3%) 1866(7.0%) ->flonum ...s/herbie/develop/src/programs.rkt:38:0 ??? [100] 12.9% ??? [93] 11.8% --------------------------------------------------------------------- for-loop [68] 100.0% [80] 2066(7.8%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:219:8 hash-update! [89] 100.0% --------------------------------------------------------------------- adopt-enode! [76] 19.0% loop! [69] 81.0% [81] 1576(5.9%) 1242(4.7%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [94] 21.2% --------------------------------------------------------------------- ??? [66] 100.0% [82] 1532(5.8%) 1210(4.6%) sample-multi-bounded ...evelop/src/points.rkt:16:0 ??? [93] 21.0% --------------------------------------------------------------------- ??? [66] 100.0% [83] 910(3.4%) 296(1.1%) ival-mult ...bie/develop/src/biginterval.rkt:114:0 bfmul [91] 67.5% --------------------------------------------------------------------- ??? [70] 100.0% [84] 644(2.4%) 0(0.0%) for-loop ...ie/develop/src/core/alt-table.rkt:56:2 atab-add-altn [92] 100.0% --------------------------------------------------------------------- loop [74] 100.0% [85] 362(1.4%) 362(1.4%) loop (unknown source) --------------------------------------------------------------------- mk-enode! [72] 100.0% [86] 332(1.2%) 0(0.0%) new-enode ...erbie/develop/src/core/enode.rkt:96:0 type-of-enode-expr [95] 100.0% --------------------------------------------------------------------- loop! [69] 100.0% [87] 324(1.2%) 324(1.2%) set ...collects/racket/private/set-types.rkt:981:0 --------------------------------------------------------------------- foldl [73] 100.0% [88] 300(1.1%) 300(1.1%) merge2 .../herbie/develop/src/core/ematch.rkt:24:0 --------------------------------------------------------------------- for-loop [68] 12.5% loop [18] 12.5% for-loop [80] 75.0% [89] 2754(10.4%) 344(1.3%) hash-update! ...cket/private/more-scheme.rkt:365:4 ??? [97] 87.5% --------------------------------------------------------------------- hash-ref! [78] 100.0% [90] 1326(5.0%) 0(0.0%) ??? ...tlies/herbie/develop/src/programs.rkt:189:5 hash-ref! [78] 100.0% --------------------------------------------------------------------- ival-add [38] 36.6% ival-mult [83] 63.4% [91] 968(3.6%) 0(0.0%) bfmul ...-lib/math/private/bigfloat/mpfr.rkt:821:4 ??? [100] 100.0% --------------------------------------------------------------------- for-loop [84] 100.0% [92] 644(2.4%) 0(0.0%) atab-add-altn ...elop/src/core/alt-table.rkt:202:0 errors [98] 100.0% --------------------------------------------------------------------- ->flonum [79] 47.6% sample-multi-bounded [82] 52.4% [93] 614(2.3%) 614(2.3%) ??? ...s/racket/contract/private/arr-i.rkt:1252:29 --------------------------------------------------------------------- custom-set-union [81] 100.0% [94] 334(1.3%) 0(0.0%) for-loop ...cts/racket/private/set-types.rkt:174:3 for-loop [101] 100.0% --------------------------------------------------------------------- new-enode [86] 100.0% [95] 332(1.2%) 0(0.0%) type-of-enode-expr ...elop/src/core/enode.rkt:69:0 table-ref [99] 100.0% --------------------------------------------------------------------- hash-ref! [78] 100.0% [96] 300(1.1%) 300(1.1%) simplify ...erbie/develop/src/core/reduce.rkt:16:0 --------------------------------------------------------------------- hash-update! [89] 100.0% [97] 2410(9.1%) 0(0.0%) ??? ...s/herbie/develop/src/core/egraph.rkt:221:24 for-loop [102] 100.0% --------------------------------------------------------------------- atab-add-altn [92] 41.2% ??? [8] 58.8% [98] 1562(5.9%) 0(0.0%) errors ...lies/herbie/develop/src/points.rkt:228:0 for-loop [103] 100.0% --------------------------------------------------------------------- type-of-enode-expr [95] 24.4% for-loop [48] 75.6% [99] 1362(5.1%) 696(2.6%) table-ref ...es/herbie/develop/src/common.rkt:42:0 for-loop [104] 24.5% dict? [105] 24.4% --------------------------------------------------------------------- ->flonum [79] 24.8% bfmul [91] 75.2% [100] 1288(4.8%) 1288(4.8%) ??? /opt/racket-7.0/collects/ffi/unsafe.rkt:898:4 --------------------------------------------------------------------- for-loop [94] 100.0% [101] 334(1.3%) 334(1.3%) for-loop ...cts/racket/private/set-types.rkt:178:5 --------------------------------------------------------------------- ??? [97] 100.0% [102] 2410(9.1%) 2410(9.1%) for-loop ...bie/develop/src/core/egraph.rkt:222:26 --------------------------------------------------------------------- errors [98] 100.0% [103] 1562(5.9%) 298(1.1%) for-loop ...es/herbie/develop/src/points.rkt:230:2 ??? [8] 80.9% --------------------------------------------------------------------- table-ref [99] 100.0% [104] 334(1.3%) 334(1.3%) for-loop ...ies/herbie/develop/src/common.rkt:44:4 --------------------------------------------------------------------- table-ref [99] 100.0% [105] 332(1.2%) 332(1.2%) dict? ...ollects/racket/private/generic.rkt:146:11 ---------------------------------------------------------------------