Profiling results ----------------- Total cpu time observed: 90974ms (out of 91588ms) Number of samples taken: 283 (once every 321ms) =========================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee =========================================================================== ??? [75] 100.0% [1] 90974(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [11] 100.0% --------------------------------------------------------------------------- ??? [75] 100.0% [2] 67990(74.7%) 0(0.0%) run-improve40 ...ie/develop/src/mainloop.rkt:340:0 for-loop [12] 99.6% prepare-points-intervals [84] 0.4% --------------------------------------------------------------------------- ??? [155] 100.0% [3] 2890(3.2%) 0(0.0%) approximate9 ...e/develop/src/core/taylor.rkt:12:0 loop [13] 86.5% taylor [135] 13.5% --------------------------------------------------------------------------- hash-ref! [169] 100.0% [4] 1280(1.4%) 0(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:291:26 for-loop [14] 100.0% --------------------------------------------------------------------------- matcher [71] 100.0% [5] 1006(1.1%) 0(0.0%) ??? .../herbie/develop/src/core/matcher.rkt:175:11 for-loop [15] 100.0% --------------------------------------------------------------------------- hash-ref! [169] 100.0% [6] 918(1.0%) 0(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:301:23 for-loop [17] 100.0% --------------------------------------------------------------------------- loop [204] 31.7% for-loop [181] 68.3% [7] 908(1.0%) 0(0.0%) syntax-e (unknown source) syntax-e/no-taint [18] 100.0% --------------------------------------------------------------------------- for-loop [181] 100.0% [8] 332(0.4%) 0(0.0%) expand-implicit (unknown source) resolve+shift28 [16] 100.0% --------------------------------------------------------------------------- for-loop [181] 100.0% [9] 332(0.4%) 0(0.0%) expand-identifier (unknown source) resolve+shift28 [16] 100.0% --------------------------------------------------------------------------- hash-ref! [169] 100.0% [10] 324(0.4%) 0(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:510:23 for-loop [19] 100.0% --------------------------------------------------------------------------- profile-thunk16 [1] 100.0% [11] 90974(100.0%) 0(0.0%) run ...et-7.0/share/pkgs/profile-lib/main.rkt:39:2 ??? [75] 100.0% --------------------------------------------------------------------------- run-improve40 [2] 100.0% [12] 67694(74.4%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:355:4 run-iter! [20] 100.0% --------------------------------------------------------------------------- approximate9 [3] 100.0% [13] 2500(2.7%) 0(0.0%) loop ...es/herbie/develop/src/core/taylor.rkt:87:4 ??? [155] 100.0% --------------------------------------------------------------------------- ??? [4] 100.0% [14] 1280(1.4%) 0(0.0%) for-loop ...bie/develop/src/core/taylor.rkt:291:52 ??? [23] 50.8% simplify [21] 25.3% hash-ref! [169] 23.9% --------------------------------------------------------------------------- ??? [5] 100.0% [15] 1006(1.1%) 0(0.0%) for-loop ...ie/develop/src/core/matcher.rkt:179:21 matcher [71] 100.0% --------------------------------------------------------------------------- core-form-sym [207] 31.1% expand-identifier [9] 34.4% expand-implicit [8] 34.4% [16] 964(1.1%) 0(0.0%) resolve+shift28 (unknown source) fallback-loop [22] 100.0% --------------------------------------------------------------------------- ??? [6] 100.0% [17] 918(1.0%) 0(0.0%) for-loop ...bie/develop/src/core/taylor.rkt:304:27 hash-ref! [169] 100.0% --------------------------------------------------------------------------- syntax-e [7] 100.0% [18] 908(1.0%) 0(0.0%) syntax-e/no-taint (unknown source) loop [204] 100.0% --------------------------------------------------------------------------- ??? [10] 100.0% [19] 324(0.4%) 0(0.0%) for-loop ...bie/develop/src/core/taylor.rkt:514:35 parse-loop80 [27] 100.0% --------------------------------------------------------------------------- for-loop [12] 100.0% [20] 67694(74.4%) 0(0.0%) run-iter! ...herbie/develop/src/mainloop.rkt:321:0 simplify! [24] 67.6% finalize-iter! [25] 24.2% gen-series! [26] 4.8% gen-rewrites! [28] 1.5% localize! [29] 1.0% choose-best-alt! [30] 1.0% --------------------------------------------------------------------------- for-loop [14] 11.4% ??? [155] 11.8% hash-ref! [169] 76.8% [21] 2834(3.1%) 0(0.0%) simplify ...erbie/develop/src/core/reduce.rkt:16:0 parse-loop80 [27] 65.2% f46 [130] 34.8% --------------------------------------------------------------------------- resolve+shift28 [16] 100.0% [22] 964(1.1%) 332(0.4%) fallback-loop (unknown source) for-loop [181] 65.6% --------------------------------------------------------------------------- for-loop [14] 100.0% [23] 650(0.7%) 0(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:294:19 hash-ref! [169] 100.0% --------------------------------------------------------------------------- run-iter! [20] 100.0% [24] 45754(50.3%) 0(0.0%) simplify! ...herbie/develop/src/mainloop.rkt:217:0 ??? [31] 98.6% for-loop [37] 1.4% --------------------------------------------------------------------------- run-iter! [20] 100.0% [25] 16410(18.0%) 0(0.0%) finalize-iter! ...e/develop/src/mainloop.rkt:272:0 ??? [32] 100.0% --------------------------------------------------------------------------- run-iter! [20] 100.0% [26] 3224(3.5%) 0(0.0%) gen-series! ...rbie/develop/src/mainloop.rkt:153:0 for-loop [33] 100.0% --------------------------------------------------------------------------- hash-ref! [169] 11.4% for-loop [19] 11.5% map [115] 11.6% simplify [21] 65.5% [27] 2822(3.1%) 0(0.0%) parse-loop80 ...s/racket/match/compiler.rkt:418:15 eval-const-expr [34] 77.1% for-loop [38] 11.5% loop [127] 5.7% loop [39] 5.7% --------------------------------------------------------------------------- run-iter! [20] 100.0% [28] 1006(1.1%) 0(0.0%) gen-rewrites! ...ie/develop/src/mainloop.rkt:176:0 for-loop [35] 100.0% --------------------------------------------------------------------------- run-iter! [20] 100.0% [29] 650(0.7%) 0(0.0%) localize! ...herbie/develop/src/mainloop.rkt:120:0 localize-error [36] 100.0% --------------------------------------------------------------------------- run-iter! [20] 100.0% [30] 650(0.7%) 0(0.0%) choose-best-alt! ...develop/src/mainloop.rkt:111:0 ??? [32] 100.0% --------------------------------------------------------------------------- simplify! [24] 100.0% [31] 45120(49.6%) 0(0.0%) ??? ...s/herbie/develop/src/core/simplify.rkt:29:0 loop [40] 82.2% loop [42] 17.8% --------------------------------------------------------------------------- choose-best-alt! [30] 3.8% finalize-iter! [25] 96.2% [32] 17060(18.8%) 0(0.0%) ??? ...contract/private/arrow-val-first.rkt:388:18 for-loop [41] 96.2% ??? [45] 3.8% --------------------------------------------------------------------------- gen-series! [26] 100.0% [33] 3224(3.5%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:160:7 taylor-alt [43] 100.0% --------------------------------------------------------------------------- ??? [75] 10.7% f46 [130] 11.6% parse-loop80 [27] 77.7% [34] 2800(3.1%) 0(0.0%) eval-const-expr .../develop/src/programs.rkt:149:0 eval-prog [79] 100.0% --------------------------------------------------------------------------- gen-rewrites! [28] 100.0% [35] 1006(1.1%) 0(0.0%) for-loop ...herbie/develop/src/mainloop.rkt:184:11 rewrite-expression-head20 [44] 100.0% --------------------------------------------------------------------------- localize! [29] 100.0% [36] 650(0.7%) 0(0.0%) localize-error ...velop/src/core/localize.rkt:52:0 for-loop [46] 50.5% hash-ref! [169] 49.5% --------------------------------------------------------------------------- simplify! [24] 100.0% [37] 634(0.7%) 298(0.3%) for-loop .../herbie/develop/src/mainloop.rkt:222:6 debug-print [147] 53.0% --------------------------------------------------------------------------- parse-loop80 [27] 100.0% [38] 324(0.4%) 0(0.0%) for-loop ...bie/develop/src/core/taylor.rkt:517:59 hash-ref! [169] 100.0% --------------------------------------------------------------------------- parse-loop80 [27] 1.9% loop [39] 98.1% [39] 322(0.4%) 0(0.0%) loop ...-7.0/collects/racket/private/map.rkt:54:19 loop [39] 98.1% ??? [155] 1.9% --------------------------------------------------------------------------- ??? [31] 100.0% [40] 37106(40.8%) 0(0.0%) loop .../herbie/develop/src/core/simplify.rkt:44:2 one-iter [47] 66.9% loop [49] 33.1% --------------------------------------------------------------------------- ??? [32] 100.0% [41] 16410(18.0%) 0(0.0%) for-loop ...ie/develop/src/core/alt-table.rkt:51:2 atab-add-altn [48] 90.0% loop [52] 10.0% --------------------------------------------------------------------------- ??? [31] 100.0% [42] 8014(8.8%) 332(0.4%) loop ...herbie/develop/src/core/simplify.rkt:132:2 for-loop [50] 95.9% --------------------------------------------------------------------------- for-loop [33] 100.0% [43] 3224(3.5%) 0(0.0%) taylor-alt ...erbie/develop/src/mainloop.rkt:139:0 for-loop [51] 100.0% --------------------------------------------------------------------------- for-loop [35] 100.0% [44] 1006(1.1%) 0(0.0%) rewrite-expression-head20 ...ore/matcher.rkt:126:0 rewriter [53] 100.0% --------------------------------------------------------------------------- ??? [32] 100.0% [45] 650(0.7%) 0(0.0%) ??? .../herbie/develop/src/core/alt-table.rkt:54:0 ??? [155] 100.0% --------------------------------------------------------------------------- localize-error [36] 100.0% [46] 328(0.4%) 328(0.4%) for-loop ...ie/develop/src/core/localize.rkt:54:34 --------------------------------------------------------------------------- loop [40] 100.0% [47] 24806(27.3%) 0(0.0%) one-iter ...ie/develop/src/core/simplify.rkt:100:0 for-loop [54] 70.9% find-matches [57] 29.1% --------------------------------------------------------------------------- for-loop [41] 100.0% [48] 14766(16.2%) 338(0.4%) atab-add-altn ...elop/src/core/alt-table.rkt:200:0 best-and-tied-at-points [55] 55.3% override-at-pnts [58] 42.4% --------------------------------------------------------------------------- loop [40] 100.0% [49] 12300(13.5%) 0(0.0%) loop ...-7.0/collects/racket/private/map.rkt:74:19 set-precompute! [56] 62.2% update-leader! [97] 35.4% reduce-to-single! [83] 2.4% --------------------------------------------------------------------------- loop [42] 100.0% [50] 7682(8.4%) 0(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:138:4 loop [59] 52.2% for-loop [60] 20.1% expression-cost [70] 11.8% argmin [102] 11.6% make-sequence [81] 4.4% --------------------------------------------------------------------------- taylor-alt [43] 100.0% [51] 3224(3.5%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:145:6 ??? [155] 100.0% --------------------------------------------------------------------------- for-loop [41] 100.0% [52] 1644(1.8%) 332(0.4%) loop ...erbie/develop/src/core/alt-table.rkt:174:2 argmax [63] 21.8% loop [64] 20.2% loop [127] 19.6% loop [65] 18.2% --------------------------------------------------------------------------- rewrite-expression-head20 [44] 33.3% matcher [71] 66.7% [53] 1006(1.1%) 0(0.0%) rewriter ...bie/develop/src/core/matcher.rkt:128:2 for-loop [62] 66.7% *rules* [61] 33.3% --------------------------------------------------------------------------- one-iter [47] 100.0% [54] 17580(19.3%) 0(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:101:2 apply-match [66] 100.0% --------------------------------------------------------------------------- atab-add-altn [48] 100.0% [55] 8164(9.0%) 0(0.0%) best-and-tied-at-points ...ore/alt-table.rkt:112:0 errors [67] 96.3% for-loop [74] 3.7% --------------------------------------------------------------------------- loop [49] 100.0% [56] 7646(8.4%) 0(0.0%) set-precompute! ...lop/src/core/simplify.rkt:105:0 for-loop [68] 100.0% --------------------------------------------------------------------------- one-iter [47] 100.0% [57] 7226(7.9%) 0(0.0%) find-matches ...develop/src/core/simplify.rkt:64:0 for-loop [69] 100.0% --------------------------------------------------------------------------- atab-add-altn [48] 100.0% [58] 6264(6.9%) 0(0.0%) override-at-pnts ...p/src/core/alt-table.rkt:135:0 errors [67] 94.8% for-loop [73] 5.2% --------------------------------------------------------------------------- for-loop [50] 100.0% [59] 4008(4.4%) 0(0.0%) loop .../racket-7.0/collects/racket/list.rkt:751:4 expression-cost [70] 69.1% for-loop [114] 30.9% --------------------------------------------------------------------------- for-loop [50] 100.0% [60] 1542(1.7%) 918(1.0%) for-loop ...e/develop/src/core/simplify.rkt:142:16 for-loop [72] 40.5% --------------------------------------------------------------------------- rewriter [53] 100.0% [61] 1006(1.1%) 0(0.0%) *rules* ...rbie/develop/src/syntax/rules.rkt:785:0 for-loop [101] 100.0% --------------------------------------------------------------------------- rewriter [53] 100.0% [62] 1006(1.1%) 0(0.0%) for-loop ...ie/develop/src/core/matcher.rkt:131:10 matcher [71] 100.0% --------------------------------------------------------------------------- loop [52] 100.0% [63] 358(0.4%) 0(0.0%) argmax ...acket-7.0/collects/racket/list.rkt:766:0 for-loop [114] 100.0% --------------------------------------------------------------------------- loop [52] 100.0% [64] 332(0.4%) 332(0.4%) loop ...herbie/develop/src/core/alt-table.rkt:96:2 --------------------------------------------------------------------------- loop [52] 33.3% loop [65] 66.7% [65] 300(0.3%) 300(0.3%) loop ...racket-7.0/collects/racket/list.rkt:434:28 loop [65] 66.7% --------------------------------------------------------------------------- for-loop [54] 100.0% [66] 17580(19.3%) 0(0.0%) apply-match .../develop/src/core/simplify.rkt:73:0 for-loop [77] 60.6% match-e [78] 16.1% update-leader! [97] 14.8% custom-set-intersect [82] 3.4% reduce-to-single! [83] 1.7% set [161] 1.7% make-sequence [81] 1.7% --------------------------------------------------------------------------- ??? [75] 2.0% ??? [197] 4.4% override-at-pnts [58] 40.2% best-and-tied-at-points [55] 53.3% [67] 14748(16.2%) 0(0.0%) errors ...lies/herbie/develop/src/points.rkt:228:0 for-loop [76] 83.0% eval-prog [79] 17.0% --------------------------------------------------------------------------- set-precompute! [56] 100.0% [68] 7646(8.4%) 0(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:108:2 ??? [75] 100.0% --------------------------------------------------------------------------- for-loop [69] 50.0% find-matches [57] 50.0% [69] 7226(7.9%) 1258(1.4%) for-loop ...bie/develop/src/core/simplify.rkt:66:8 for-loop [69] 50.0% match-e [78] 41.3% --------------------------------------------------------------------------- argmin [102] 13.9% for-loop [50] 21.2% loop [59] 64.9% [70] 4268(4.7%) 0(0.0%) expression-cost .../develop/src/programs.rkt:204:0 compile [80] 100.0% --------------------------------------------------------------------------- for-loop [15] 50.0% for-loop [62] 50.0% [71] 1006(1.1%) 0(0.0%) matcher ...rbie/develop/src/core/matcher.rkt:163:2 ??? [5] 50.0% rewriter [53] 50.0% --------------------------------------------------------------------------- for-loop [60] 100.0% [72] 624(0.7%) 624(0.7%) for-loop ...e/develop/src/core/simplify.rkt:146:23 --------------------------------------------------------------------------- override-at-pnts [58] 100.0% [73] 328(0.4%) 0(0.0%) for-loop .../develop/src/core/alt-table.rkt:136:43 ??? [159] 100.0% --------------------------------------------------------------------------- best-and-tied-at-points [55] 100.0% [74] 298(0.3%) 298(0.3%) for-loop .../develop/src/core/alt-table.rkt:114:16 --------------------------------------------------------------------------- for-loop [68] 2.8% run [11] 48.6% [75] 90974(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 48.6% run-improve40 [2] 36.0% prepare-points-intervals [84] 10.6% merge-egraph-nodes! [85] 2.7% oracle-error [88] 1.1% get-final-combination [89] 0.2% eval-errors [134] 0.2% baseline-error [93] 0.2% errors [67] 0.2% errors-score [95] 0.2% eval-const-expr [34] 0.1% --------------------------------------------------------------------------- errors [67] 100.0% [76] 12246(13.5%) 2554(2.8%) for-loop ...es/herbie/develop/src/points.rkt:230:2 ??? [125] 64.0% point-error [146] 5.2% ??? [155] 5.1% ??? [159] 4.8% --------------------------------------------------------------------------- apply-match [66] 100.0% [77] 10652(11.7%) 0(0.0%) for-loop ...bie/develop/src/core/simplify.rkt:87:2 merge-egraph-nodes! [85] 100.0% --------------------------------------------------------------------------- for-loop [99] 22.1% apply-match [66] 23.6% for-loop [69] 54.3% [78] 8804(9.7%) 2534(2.8%) match-e ...herbie/develop/src/core/ematch.rkt:39:0 for-loop [86] 75.9% custom-in-set [104] 1.7% --------------------------------------------------------------------------- errors [67] 47.2% eval-const-expr [34] 52.8% [79] 5302(5.8%) 298(0.3%) eval-prog ...herbie/develop/src/programs.rkt:130:0 temp68_2 [87] 88.7% loop [204] 5.7% --------------------------------------------------------------------------- expression-cost [70] 100.0% [80] 4268(4.7%) 0(0.0%) compile ...s/herbie/develop/src/programs.rkt:181:0 hash-ref! [169] 100.0% --------------------------------------------------------------------------- apply-match [66] 46.8% for-loop [50] 53.2% [81] 632(0.7%) 296(0.3%) make-sequence ...ects/racket/private/for.rkt:528:2 ??? [90] 53.2% --------------------------------------------------------------------------- apply-match [66] 100.0% [82] 598(0.7%) 300(0.3%) custom-set-intersect ...rivate/set-types.rkt:195:0 for-loop [92] 49.8% --------------------------------------------------------------------------- loop [49] 49.7% apply-match [66] 50.3% [83] 596(0.7%) 0(0.0%) reduce-to-single! ...lop/src/core/egraph.rkt:320:0 for-loop [91] 50.3% filter-loop! [94] 49.7% --------------------------------------------------------------------------- run-improve40 [2] 1.5% without-timeline [177] 1.8% ??? [75] 96.7% [84] 20008(22.0%) 0(0.0%) prepare-points-intervals ...p/src/points.rkt:133:0 loop [96] 98.2% loop [110] 1.8% --------------------------------------------------------------------------- for-loop [103] 1.8% merge-egraph-nodes! [85] 9.6% ??? [75] 35.4% for-loop [77] 53.2% [85] 17998(19.8%) 298(0.3%) merge-egraph-nodes! ...p/src/core/egraph.rkt:145:0 update-leader! [97] 66.7% loop! [143] 11.1% merge-egraph-nodes! [85] 9.6% enode-merge! [105] 3.3% dedup-children! [113] 3.3% for-loop [103] 2.6% for-loop [101] 1.8% --------------------------------------------------------------------------- match-e [78] 100.0% [86] 7186(7.9%) 3752(4.1%) for-loop ...rbie/develop/src/core/ematch.rkt:52:11 for-loop [99] 49.8% cartesian-product [106] 4.6% foldr [108] 4.2% foldl [107] 2.1% --------------------------------------------------------------------------- eval-prog [79] 100.0% [87] 4704(5.2%) 0(0.0%) temp68_2 (unknown source) compile16 [98] 100.0% --------------------------------------------------------------------------- ??? [75] 100.0% [88] 2088(2.3%) 0(0.0%) oracle-error ...erbie/develop/src/points.rkt:212:0 for-loop [100] 100.0% --------------------------------------------------------------------------- ??? [75] 100.0% [89] 358(0.4%) 0(0.0%) get-final-combination ...op/src/mainloop.rkt:361:0 f46 [130] 100.0% --------------------------------------------------------------------------- make-sequence [81] 100.0% [90] 336(0.4%) 0(0.0%) ??? ...t-7.0/collects/racket/private/for.rkt:448:7 custom-in-set [104] 100.0% --------------------------------------------------------------------------- reduce-to-single! [83] 100.0% [91] 300(0.3%) 300(0.3%) for-loop ...rbie/develop/src/core/egraph.rkt:321:8 --------------------------------------------------------------------------- custom-set-intersect [82] 100.0% [92] 298(0.3%) 298(0.3%) for-loop ...cts/racket/private/set-types.rkt:152:2 --------------------------------------------------------------------------- ??? [75] 100.0% [93] 298(0.3%) 0(0.0%) baseline-error ...bie/develop/src/points.rkt:216:0 argmin [102] 100.0% --------------------------------------------------------------------------- reduce-to-single! [83] 100.0% [94] 296(0.3%) 296(0.3%) filter-loop! ...e/develop/src/core/enode.rkt:142:2 --------------------------------------------------------------------------- ??? [75] 100.0% [95] 292(0.3%) 0(0.0%) errors-score ...erbie/develop/src/points.rkt:220:0 loop [109] 100.0% --------------------------------------------------------------------------- prepare-points-intervals [84] 100.0% [96] 19650(21.6%) 340(0.4%) loop ...htlies/herbie/develop/src/points.rkt:145:4 loop [110] 96.7% ??? [120] 1.5% --------------------------------------------------------------------------- apply-match [66] 13.4% loop [49] 22.4% merge-egraph-nodes! [85] 64.2% [97] 19440(21.4%) 602(0.7%) update-leader! ...evelop/src/core/egraph.rkt:213:0 for-loop [111] 95.2% custom-set-union! [118] 1.7% --------------------------------------------------------------------------- temp68_2 [87] 100.0% [98] 4704(5.2%) 0(0.0%) compile16 (unknown source) temp74_0 [112] 93.8% per-top-level54 [124] 6.2% --------------------------------------------------------------------------- for-loop [86] 100.0% [99] 4656(5.1%) 640(0.7%) for-loop ...rbie/develop/src/core/ematch.rkt:58:37 match-e [78] 75.7% ??? [117] 10.5% --------------------------------------------------------------------------- oracle-error [88] 100.0% [100] 2088(2.3%) 0(0.0%) for-loop ...es/herbie/develop/src/points.rkt:213:2 loop [127] 56.9% map [115] 43.1% --------------------------------------------------------------------------- merge-egraph-nodes! [85] 24.1% *rules* [61] 75.9% [101] 1326(1.5%) 320(0.4%) for-loop ...ies/herbie/develop/src/common.rkt:71:9 ormap [116] 75.9% --------------------------------------------------------------------------- baseline-error [93] 25.0% for-loop [50] 75.0% [102] 1190(1.3%) 0(0.0%) argmin ...acket-7.0/collects/racket/list.rkt:765:0 expression-cost [70] 49.9% ??? [121] 25.0% for-loop [114] 25.0% --------------------------------------------------------------------------- merge-egraph-nodes! [85] 100.0% [103] 930(1.0%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:199:4 merge-egraph-nodes! [85] 68.2% dedup-children! [113] 31.8% --------------------------------------------------------------------------- match-e [78] 46.8% ??? [90] 53.2% [104] 632(0.7%) 632(0.7%) custom-in-set ...acket/private/set-types.rkt:577:0 --------------------------------------------------------------------------- merge-egraph-nodes! [85] 100.0% [105] 598(0.7%) 0(0.0%) enode-merge! ...e/develop/src/core/enode.rkt:128:0 custom-set-intersect! [119] 50.2% adopt-enode! [122] 49.8% --------------------------------------------------------------------------- for-loop [86] 100.0% [106] 330(0.4%) 330(0.4%) cartesian-product ...ollects/racket/list.rkt:822:0 --------------------------------------------------------------------------- for-loop [86] 100.0% [107] 300(0.3%) 300(0.3%) foldl ....0/collects/racket/private/list.rkt:229:4 --------------------------------------------------------------------------- for-loop [86] 100.0% [108] 300(0.3%) 300(0.3%) foldr ....0/collects/racket/private/list.rkt:242:4 --------------------------------------------------------------------------- errors-score [95] 100.0% [109] 292(0.3%) 0(0.0%) loop .../racket-7.0/collects/racket/list.rkt:559:2 ordinary-value? [123] 100.0% --------------------------------------------------------------------------- prepare-points-intervals [84] 1.8% loop [96] 98.2% [110] 19368(21.3%) 596(0.7%) loop ...htlies/herbie/develop/src/points.rkt:104:2 ??? [125] 85.9% ??? [155] 9.5% hash-update! [141] 1.5% --------------------------------------------------------------------------- update-leader! [97] 100.0% [111] 18514(20.4%) 656(0.7%) for-loop ...rbie/develop/src/core/egraph.rkt:218:6 hash-update! [141] 52.2% for-loop [126] 44.2% --------------------------------------------------------------------------- compile16 [98] 100.0% [112] 4414(4.9%) 0(0.0%) temp74_0 (unknown source) expand-single [128] 77.7% compile-top9 [132] 22.3% --------------------------------------------------------------------------- for-loop [103] 14.3% merge-egraph-nodes! [85] 85.7% [113] 2074(2.3%) 0(0.0%) dedup-children! ...evelop/src/core/enode.rkt:199:0 loop [129] 85.7% loop [139] 14.3% --------------------------------------------------------------------------- argmin [102] 15.7% argmax [63] 18.9% loop [59] 65.4% [114] 1894(2.1%) 666(0.7%) for-loop .../herbie/develop/src/programs.rkt:205:2 table-ref [131] 64.8% --------------------------------------------------------------------------- f46 [130] 20.3% taylor [135] 24.1% for-loop [100] 55.6% [115] 1618(1.8%) 0(0.0%) map ...t-7.0/collects/racket/private/map.rkt:35:13 loop [127] 37.1% taylor [135] 24.1% ??? [144] 18.5% f46 [130] 10.1% parse-loop80 [27] 10.1% --------------------------------------------------------------------------- for-loop [101] 100.0% [116] 1006(1.1%) 354(0.4%) ormap ....0/collects/racket/private/map.rkt:141:13 flag-set? [133] 64.8% --------------------------------------------------------------------------- for-loop [99] 100.0% [117] 652(0.7%) 330(0.4%) ??? ...ies/herbie/develop/src/core/ematch.rkt:43:5 for-loop [137] 49.4% --------------------------------------------------------------------------- update-leader! [97] 100.0% [118] 324(0.4%) 0(0.0%) custom-set-union! ...t/private/set-types.rkt:245:0 for-loop [136] 100.0% --------------------------------------------------------------------------- enode-merge! [105] 100.0% [119] 300(0.3%) 300(0.3%) custom-set-intersect! ...ivate/set-types.rkt:269:0 --------------------------------------------------------------------------- loop [96] 100.0% [120] 300(0.3%) 0(0.0%) ??? ...ghtlies/herbie/develop/src/points.rkt:129:2 compose [138] 100.0% --------------------------------------------------------------------------- argmin [102] 100.0% [121] 298(0.3%) 0(0.0%) ??? ...htlies/herbie/develop/src/points.rkt:217:27 eval-errors [134] 100.0% --------------------------------------------------------------------------- enode-merge! [105] 100.0% [122] 298(0.3%) 0(0.0%) adopt-enode! ...e/develop/src/core/enode.rkt:104:0 custom-set-union [158] 100.0% --------------------------------------------------------------------------- loop [109] 100.0% [123] 292(0.3%) 292(0.3%) ordinary-value? ...rbie/develop/src/float.rkt:54:0 --------------------------------------------------------------------------- compile16 [98] 100.0% [124] 290(0.3%) 290(0.3%) per-top-level54 (unknown source) --------------------------------------------------------------------------- loop [127] 1.1% ??? [144] 3.5% for-loop [76] 30.5% loop [110] 64.8% [125] 25660(28.2%) 596(0.7%) ??? ...tlies/herbie/develop/src/programs.rkt:146:2 ??? [140] 86.6% ??? [155] 11.1% --------------------------------------------------------------------------- for-loop [111] 100.0% [126] 8188(9.0%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:219:8 hash-update! [141] 100.0% --------------------------------------------------------------------------- loop [52] 0.2% loop! [143] 4.5% parse-loop80 [27] 8.6% map [115] 16.1% for-loop [100] 24.0% loop [127] 46.6% [127] 3726(4.1%) 322(0.4%) loop ...-7.0/collects/racket/private/map.rkt:40:19 loop [127] 46.6% ??? [144] 28.2% hash-ref! [169] 8.6% point-error [146] 8.1% loop! [143] 4.5% ??? [125] 3.9% --------------------------------------------------------------------------- temp74_0 [112] 100.0% [128] 3428(3.8%) 0(0.0%) expand-single (unknown source) expand-capturing-lifts [142] 100.0% --------------------------------------------------------------------------- dedup-children! [113] 2.2% loop [129] 97.8% [129] 1778(2.0%) 1778(2.0%) loop ...racket-7.0/collects/racket/list.rkt:434:17 loop [129] 97.8% --------------------------------------------------------------------------- map [115] 12.2% composed [151] 12.4% get-final-combination [89] 26.6% simplify [21] 48.7% [130] 1344(1.5%) 0(0.0%) f46 ...0/collects/racket/match/compiler.rkt:507:40 sindices->spoints [149] 26.6% map [115] 24.4% eval-const-expr [34] 24.1% composed [151] 12.4% append-map [150] 12.4% --------------------------------------------------------------------------- for-loop [114] 100.0% [131] 1228(1.3%) 1228(1.3%) table-ref ...es/herbie/develop/src/common.rkt:42:0 --------------------------------------------------------------------------- temp74_0 [112] 100.0% [132] 986(1.1%) 0(0.0%) compile-top9 (unknown source) compile-forms31 [145] 100.0% --------------------------------------------------------------------------- ormap [116] 100.0% [133] 652(0.7%) 0(0.0%) flag-set? ...es/herbie/develop/src/config.rkt:28:0 return/no-unsupplied [183] 100.0% --------------------------------------------------------------------------- ??? [121] 50.0% ??? [75] 50.0% [134] 596(0.7%) 0(0.0%) eval-errors ...herbie/develop/src/points.rkt:203:0 for-loop [148] 100.0% --------------------------------------------------------------------------- map [115] 33.3% taylor [135] 33.3% approximate9 [3] 33.3% [135] 390(0.4%) 0(0.0%) taylor ...herbie/develop/src/core/taylor.rkt:170:0 taylor [135] 33.3% map [115] 33.3% debug-print [147] 33.3% --------------------------------------------------------------------------- custom-set-union! [118] 100.0% [136] 324(0.4%) 324(0.4%) for-loop ...cts/racket/private/set-types.rkt:253:4 --------------------------------------------------------------------------- ??? [117] 100.0% [137] 322(0.4%) 322(0.4%) for-loop ...erbie/develop/src/core/ematch.rkt:44:7 --------------------------------------------------------------------------- ??? [120] 100.0% [138] 300(0.3%) 300(0.3%) compose ...collects/racket/private/list.rkt:385:12 --------------------------------------------------------------------------- dedup-children! [113] 25.0% loop [139] 75.0% [139] 296(0.3%) 0(0.0%) loop ...racket-7.0/collects/racket/list.rkt:417:34 loop [139] 75.0% member [152] 25.0% --------------------------------------------------------------------------- ??? [125] 100.0% [140] 22226(24.4%) 3110(3.4%) ??? ...t-7.0/collects/racket/private/kw.rkt:592:14 ??? [154] 67.5% ??? [156] 15.5% ??? [155] 1.6% double->posit16 [166] 1.3% --------------------------------------------------------------------------- loop [110] 1.7% for-loop [126] 45.1% for-loop [111] 53.3% [141] 18158(20.0%) 300(0.3%) hash-update! ...cket/private/more-scheme.rkt:365:4 ??? [153] 98.3% --------------------------------------------------------------------------- loop [204] 8.0% expand-single [128] 92.0% [142] 3728(4.1%) 0(0.0%) expand-capturing-lifts (unknown source) lambda-clause-expander [157] 92.0% dispatch-transformer41 [196] 8.0% --------------------------------------------------------------------------- loop [127] 29.0% merge-egraph-nodes! [85] 71.0% [143] 2228(2.4%) 930(1.0%) loop! ...s/herbie/develop/src/core/enode.rkt:191:2 custom-set-union [158] 36.0% loop [127] 29.0% set [161] 7.5% --------------------------------------------------------------------------- map [115] 20.0% loop [127] 80.0% [144] 1498(1.6%) 0(0.0%) ??? ...htlies/herbie/develop/src/points.rkt:214:26 ??? [125] 59.9% ??? [155] 40.1% --------------------------------------------------------------------------- compile-top9 [132] 100.0% [145] 986(1.1%) 0(0.0%) compile-forms31 (unknown source) for-loop [181] 66.1% loop! [165] 33.9% --------------------------------------------------------------------------- loop [127] 32.1% for-loop [76] 67.9% [146] 936(1.0%) 0(0.0%) point-error ...herbie/develop/src/points.rkt:195:0 ulp-difference [160] 100.0% --------------------------------------------------------------------------- for-loop [37] 46.3% taylor [135] 53.7% [147] 726(0.8%) 0(0.0%) debug-print .../herbie/develop/src/debug.rkt:110:0 ??? [162] 53.7% for-loop [164] 46.3% --------------------------------------------------------------------------- eval-errors [134] 100.0% [148] 596(0.7%) 298(0.3%) for-loop ...es/herbie/develop/src/points.rkt:205:2 ??? [159] 50.0% --------------------------------------------------------------------------- f46 [130] 100.0% [149] 358(0.4%) 0(0.0%) sindices->spoints ...op/src/core/regimes.rkt:215:0 for-loop [163] 100.0% --------------------------------------------------------------------------- f46 [130] 100.0% [150] 334(0.4%) 334(0.4%) append-map ...t-7.0/collects/racket/list.rkt:586:2 --------------------------------------------------------------------------- f46 [130] 100.0% [151] 334(0.4%) 0(0.0%) composed ...ollects/racket/private/list.rkt:321:16 f46 [130] 100.0% --------------------------------------------------------------------------- loop [139] 100.0% [152] 296(0.3%) 296(0.3%) member (unknown source) --------------------------------------------------------------------------- hash-update! [141] 100.0% [153] 17858(19.6%) 1878(2.1%) ??? ...s/herbie/develop/src/core/egraph.rkt:221:24 for-loop [167] 87.6% update-en-expr [185] 1.9% --------------------------------------------------------------------------- fold-binary-pred [190] 1.0% ??? [140] 99.0% [154] 15008(16.5%) 638(0.7%) ??? ...tract/private/arrow-higher-order.rkt:361:33 ival-log [168] 77.7% ival-add [173] 17.1% ival-sub [178] 2.0% --------------------------------------------------------------------------- loop [39] 3.1% ??? [140] 3.4% ??? [144] 5.7% for-loop [76] 6.0% ??? [45] 6.2% loop [13] 8.0% location-do [172] 11.4% for-loop [51] 11.4% loop [110] 17.6% ??? [125] 27.1% [155] 10456(11.5%) 358(0.4%) ??? ...tract/private/arrow-higher-order.rkt:357:33 ->flonum [170] 47.4% mk-ival [174] 12.1% location-do [172] 11.4% approximate9 [3] 9.8% hash-ref! [169] 8.0% best-alt [175] 6.2% simplify [21] 1.6% --------------------------------------------------------------------------- ??? [140] 100.0% [156] 3450(3.8%) 1552(1.7%) ??? ...herbie/develop/src/syntax/syntax.rkt:317:17 ??? [186] 27.9% return/no-unsupplied [183] 27.1% --------------------------------------------------------------------------- expand-capturing-lifts [142] 100.0% [157] 3428(3.8%) 0(0.0%) lambda-clause-expander (unknown source) finish-bodys [171] 100.0% --------------------------------------------------------------------------- adopt-enode! [122] 23.6% loop! [143] 76.4% [158] 1264(1.4%) 628(0.7%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [176] 50.3% --------------------------------------------------------------------------- for-loop [148] 24.5% for-loop [73] 26.9% for-loop [76] 48.6% [159] 1218(1.3%) 1218(1.3%) ??? ...7.0/collects/racket/private/for.rkt:1208:14 --------------------------------------------------------------------------- point-error [146] 100.0% [160] 936(1.0%) 0(0.0%) ulp-difference ...erbie/develop/src/float.rkt:14:0 return/no-unsupplied [183] 67.9% ??? [186] 32.1% --------------------------------------------------------------------------- apply-match [66] 47.1% loop! [143] 52.9% [161] 628(0.7%) 628(0.7%) set ...collects/racket/private/set-types.rkt:981:0 --------------------------------------------------------------------------- debug-print [147] 100.0% [162] 390(0.4%) 390(0.4%) ??? .../contract/private/arrow-val-first.rkt:428:3 --------------------------------------------------------------------------- sindices->spoints [149] 100.0% [163] 358(0.4%) 0(0.0%) for-loop ...bie/develop/src/core/regimes.rkt:253:9 without-timeline [177] 100.0% --------------------------------------------------------------------------- debug-print [147] 100.0% [164] 336(0.4%) 336(0.4%) for-loop ...ies/herbie/develop/src/debug.rkt:116:2 --------------------------------------------------------------------------- compile-forms31 [145] 100.0% [165] 334(0.4%) 334(0.4%) loop! (unknown source) --------------------------------------------------------------------------- ??? [140] 100.0% [166] 300(0.3%) 0(0.0%) double->posit16 ...ftposit-rkt/softposit.rkt:248:0 get-ffi-obj* [179] 100.0% --------------------------------------------------------------------------- ??? [153] 100.0% [167] 15640(17.2%) 13906(15.3%) for-loop ...bie/develop/src/core/egraph.rkt:222:26 update-en-expr [185] 11.1% --------------------------------------------------------------------------- ??? [154] 100.0% [168] 11812(13.0%) 2438(2.7%) ival-log ...rbie/develop/src/biginterval.rkt:179:0 ??? [180] 73.7% ??? [189] 3.0% fold-binary-pred [190] 2.6% --------------------------------------------------------------------------- for-loop [38] 0.9% for-loop [14] 1.1% loop [127] 2.3% localize-error [36] 2.3% ??? [23] 3.1% for-loop [17] 4.3% ??? [184] 13.0% ??? [155] 13.0% compile [80] 26.7% ??? [182] 33.5% [169] 7090(7.8%) 3336(3.7%) hash-ref! .../racket/private/more-scheme.rkt:376:2 ??? [182] 40.2% ??? [184] 13.0% simplify [21] 12.1% ??? [4] 5.0% parse-loop80 [27] 4.5% ??? [6] 4.3% ??? [10] 0.9% --------------------------------------------------------------------------- ??? [155] 100.0% [170] 4954(5.4%) 4056(4.5%) ->flonum ...s/herbie/develop/src/programs.rkt:38:0 return/no-unsupplied [183] 12.1% ??? [186] 6.0% --------------------------------------------------------------------------- lambda-clause-expander [157] 21.4% for-loop [181] 78.6% [171] 3428(3.8%) 0(0.0%) finish-bodys (unknown source) for-loop [181] 100.0% --------------------------------------------------------------------------- location-do [172] 47.3% ??? [155] 52.7% [172] 3224(3.5%) 0(0.0%) location-do ...rbie/develop/src/programs.rkt:111:0 ??? [155] 52.7% location-do [172] 47.3% --------------------------------------------------------------------------- ??? [154] 100.0% [173] 2566(2.8%) 0(0.0%) ival-add ...erbie/develop/src/biginterval.rkt:87:0 ??? [180] 100.0% --------------------------------------------------------------------------- ??? [155] 100.0% [174] 1270(1.4%) 0(0.0%) mk-ival ...herbie/develop/src/biginterval.rkt:59:0 bf [187] 100.0% --------------------------------------------------------------------------- ??? [155] 100.0% [175] 650(0.7%) 0(0.0%) best-alt .../herbie/develop/src/mainloop.rkt:106:0 argmins [188] 100.0% --------------------------------------------------------------------------- custom-set-union [158] 100.0% [176] 636(0.7%) 336(0.4%) for-loop ...cts/racket/private/set-types.rkt:174:3 for-loop [191] 47.2% --------------------------------------------------------------------------- for-loop [163] 100.0% [177] 358(0.4%) 0(0.0%) without-timeline .../develop/src/timeline.rkt:33:0 prepare-points-intervals [84] 100.0% --------------------------------------------------------------------------- ??? [154] 100.0% [178] 302(0.3%) 0(0.0%) ival-sub ...erbie/develop/src/biginterval.rkt:93:0 ??? [180] 100.0% --------------------------------------------------------------------------- double->posit16 [166] 100.0% [179] 300(0.3%) 0(0.0%) get-ffi-obj* ...-7.0/collects/ffi/unsafe.rkt:209:2 get-ffi-lib9 [192] 100.0% --------------------------------------------------------------------------- ival-sub [178] 2.6% ival-add [173] 22.2% ival-log [168] 75.2% [180] 11578(12.7%) 5036(5.5%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bflog [193] 34.9% bfadd [194] 21.6% --------------------------------------------------------------------------- fallback-loop [22] 7.3% for-loop [181] 11.8% compile-forms31 [145] 14.9% finish-bodys [171] 66.0% [181] 4380(4.8%) 2244(2.5%) for-loop (unknown source) finish-bodys [171] 55.5% for-loop [181] 11.8% dispatch-transformer41 [196] 3.0% add-local-binding!37 [198] 2.3% syntax-e [7] 1.2% expand-id-application-form17 [199] 1.0% expand-implicit [8] 0.6% expand-identifier [9] 0.5% --------------------------------------------------------------------------- hash-ref! [169] 100.0% [182] 3674(4.0%) 932(1.0%) ??? ...tlies/herbie/develop/src/programs.rkt:189:5 hash-ref! [169] 86.9% --------------------------------------------------------------------------- ->flonum [170] 21.2% ulp-difference [160] 22.5% flag-set? [133] 23.1% ??? [156] 33.1% [183] 2824(3.1%) 1890(2.1%) return/no-unsupplied ...ct/private/arr-i.rkt:534:0 filter [195] 33.1% --------------------------------------------------------------------------- hash-ref! [169] 100.0% [184] 2500(2.7%) 0(0.0%) ??? ...es/herbie/develop/src/core/taylor.rkt:45:15 hash-ref! [169] 100.0% --------------------------------------------------------------------------- ??? [153] 16.4% for-loop [167] 83.6% [185] 2074(2.3%) 2074(2.3%) update-en-expr ...evelop/src/core/egraph.rkt:207:0 --------------------------------------------------------------------------- ->flonum [170] 19.1% ulp-difference [160] 19.2% ??? [156] 61.7% [186] 1560(1.7%) 1560(1.7%) ??? ...s/racket/contract/private/arr-i.rkt:1252:29 --------------------------------------------------------------------------- mk-ival [174] 100.0% [187] 1270(1.4%) 0(0.0%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:601:2 new-mpfr [200] 76.5% ??? [201] 23.5% --------------------------------------------------------------------------- best-alt [175] 100.0% [188] 650(0.7%) 0(0.0%) argmins ...lies/herbie/develop/src/common.rkt:93:0 ??? [197] 100.0% --------------------------------------------------------------------------- ival-log [168] 100.0% [189] 354(0.4%) 354(0.4%) ??? ...ects/racket/contract/private/guts.rkt:746:8 --------------------------------------------------------------------------- ival-log [168] 100.0% [190] 310(0.3%) 0(0.0%) fold-binary-pred ...gfloat/bigfloat-mpfr.rkt:117:0 ??? [154] 100.0% --------------------------------------------------------------------------- for-loop [176] 100.0% [191] 300(0.3%) 300(0.3%) for-loop ...cts/racket/private/set-types.rkt:178:5 --------------------------------------------------------------------------- get-ffi-obj* [179] 100.0% [192] 300(0.3%) 300(0.3%) get-ffi-lib9 ...-7.0/collects/ffi/unsafe.rkt:121:0 --------------------------------------------------------------------------- ??? [180] 100.0% [193] 4038(4.4%) 298(0.3%) bflog ...-lib/math/private/bigfloat/mpfr.rkt:618:4 new-mpfr [200] 54.1% ??? [201] 38.5% --------------------------------------------------------------------------- ??? [180] 100.0% [194] 2504(2.8%) 0(0.0%) bfadd ...-lib/math/private/bigfloat/mpfr.rkt:821:4 new-mpfr [200] 75.3% ??? [201] 24.7% --------------------------------------------------------------------------- return/no-unsupplied [183] 100.0% [195] 934(1.0%) 934(1.0%) filter ...0/collects/racket/private/list.rkt:256:2 --------------------------------------------------------------------------- expand-capturing-lifts [142] 33.9% for-loop [181] 66.1% [196] 884(1.0%) 0(0.0%) dispatch-transformer41 (unknown source) apply-transformer52 [202] 100.0% --------------------------------------------------------------------------- argmins [188] 100.0% [197] 650(0.7%) 0(0.0%) ??? ...lies/herbie/develop/src/mainloop.rkt:108:19 errors [67] 100.0% --------------------------------------------------------------------------- for-loop [181] 100.0% [198] 300(0.3%) 300(0.3%) add-local-binding!37 (unknown source) --------------------------------------------------------------------------- for-loop [181] 100.0% [199] 300(0.3%) 0(0.0%) expand-id-application-form17 (unknown source) binding-lookup50 [203] 100.0% --------------------------------------------------------------------------- bf [187] 19.3% bfadd [194] 37.4% bflog [193] 43.3% [200] 5044(5.5%) 5044(5.5%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:335:0 --------------------------------------------------------------------------- bf [187] 12.1% bfadd [194] 25.0% bflog [193] 62.9% [201] 2470(2.7%) 2470(2.7%) ??? /opt/racket-7.0/collects/ffi/unsafe.rkt:898:4 --------------------------------------------------------------------------- dispatch-transformer41 [196] 100.0% [202] 884(1.0%) 0(0.0%) apply-transformer52 (unknown source) loop [204] 66.5% apply-transformer-in-context [205] 33.5% --------------------------------------------------------------------------- expand-id-application-form17 [199]100.0% [203] 300(0.3%) 300(0.3%) binding-lookup50 (unknown source) --------------------------------------------------------------------------- eval-prog [79] 12.4% apply-transformer52 [202] 24.3% syntax-e/no-taint [18] 63.2% [204] 1208(1.3%) 0(0.0%) loop (unknown source) gf [206] 63.2% expand-capturing-lifts [142] 12.4% core-form-sym [207] 12.4% syntax-e [7] 11.9% --------------------------------------------------------------------------- apply-transformer52 [202] 100.0% [205] 296(0.3%) 0(0.0%) apply-transformer-in-context (unknown source) parse-app [208] 100.0% --------------------------------------------------------------------------- loop [204] 100.0% [206] 908(1.0%) 0(0.0%) gf (unknown source) propagation-merge [209] 68.3% cache-or-reuse-set [210] 31.7% --------------------------------------------------------------------------- loop [204] 100.0% [207] 300(0.3%) 0(0.0%) core-form-sym (unknown source) resolve+shift28 [16] 100.0% --------------------------------------------------------------------------- apply-transformer-in-context [205]100.0% [208] 296(0.3%) 296(0.3%) parse-app ...collects/racket/private/kw.rkt:1105:2 --------------------------------------------------------------------------- gf [206] 100.0% [209] 620(0.7%) 620(0.7%) propagation-merge (unknown source) --------------------------------------------------------------------------- gf [206] 100.0% [210] 288(0.3%) 288(0.3%) cache-or-reuse-set (unknown source) ---------------------------------------------------------------------------