Profiling results ----------------- Total cpu time observed: 39786ms (out of 40060ms) Number of samples taken: 138 (once every 288ms) (Hiding functions with self<1.0% and local<2.0%: 1 of 209 hidden) ================================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ================================================================================== ??? [89] 100.0% [1] 39786(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [12] 100.0% ---------------------------------------------------------------------------------- ??? [89] 100.0% [2] 30676(77.1%) 0(0.0%) run-improve40 ...ie/develop/src/mainloop.rkt:340:0 for-loop [13] 100.0% ---------------------------------------------------------------------------------- location-do [3] 43.8% ??? [153] 56.2% [3] 2400(6.0%) 0(0.0%) location-do ...rbie/develop/src/programs.rkt:111:0 location-do [3] 43.8% loop [14] 43.8% ??? [153] 12.4% ---------------------------------------------------------------------------------- ??? [153] 100.0% [4] 2102(5.3%) 0(0.0%) approximate9 ...e/develop/src/core/taylor.rkt:12:0 loop [15] 86.8% taylor [17] 13.2% ---------------------------------------------------------------------------------- matcher [74] 100.0% [5] 956(2.4%) 0(0.0%) ??? .../herbie/develop/src/core/matcher.rkt:175:11 for-loop [16] 100.0% ---------------------------------------------------------------------------------- hash-ref! [91] 100.0% [6] 866(2.2%) 0(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:301:23 for-loop [19] 100.0% ---------------------------------------------------------------------------------- for-loop [194] 100.0% [7] 578(1.5%) 0(0.0%) syntax-e (unknown source) syntax-e/no-taint [18] 100.0% ---------------------------------------------------------------------------------- match-e [90] 100.0% [8] 296(0.7%) 0(0.0%) variable? .../develop/src/syntax/syntax.rkt:1159:0 ??? [34] 100.0% ---------------------------------------------------------------------------------- copying-mergesort [185] 100.0% [9] 276(0.7%) 0(0.0%) jloop ...0/collects/racket/private/sort.rkt:120:23 ??? [153] 100.0% ---------------------------------------------------------------------------------- hash-ref! [91] 100.0% [10] 276(0.7%) 0(0.0%) ??? ...s/herbie/develop/src/core/taylor.rkt:291:26 for-loop [20] 100.0% ---------------------------------------------------------------------------------- loop [202] 100.0% [11] 254(0.6%) 0(0.0%) core-form-sym (unknown source) resolve+shift28 [21] 100.0% ---------------------------------------------------------------------------------- profile-thunk16 [1] 100.0% [12] 39786(100.0%) 0(0.0%) run ...et-7.0/share/pkgs/profile-lib/main.rkt:39:2 ??? [89] 100.0% ---------------------------------------------------------------------------------- run-improve40 [2] 100.0% [13] 30676(77.1%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:355:4 run-iter! [22] 100.0% ---------------------------------------------------------------------------------- loop [14] 14.0% location-do [3] 86.0% [14] 2102(5.3%) 0(0.0%) loop ...lies/herbie/develop/src/programs.rkt:120:4 ??? [153] 86.0% loop [14] 14.0% ---------------------------------------------------------------------------------- approximate9 [4] 100.0% [15] 1824(4.6%) 0(0.0%) loop ...es/herbie/develop/src/core/taylor.rkt:87:4 hash-ref! [91] 100.0% ---------------------------------------------------------------------------------- ??? [5] 100.0% [16] 956(2.4%) 0(0.0%) for-loop ...ie/develop/src/core/matcher.rkt:179:21 matcher [74] 100.0% ---------------------------------------------------------------------------------- taylor [17] 15.0% approximate9 [4] 15.0% hash-ref! [91] 70.0% [17] 928(2.3%) 0(0.0%) taylor ...herbie/develop/src/core/taylor.rkt:170:0 taylor-invert [23] 85.0% taylor [17] 15.0% ---------------------------------------------------------------------------------- gf [205] 34.9% syntax-e [7] 65.1% [18] 888(2.2%) 0(0.0%) syntax-e/no-taint (unknown source) loop [202] 100.0% ---------------------------------------------------------------------------------- ??? [6] 100.0% [19] 866(2.2%) 0(0.0%) for-loop ...bie/develop/src/core/taylor.rkt:304:27 hash-ref! [91] 100.0% ---------------------------------------------------------------------------------- ??? [10] 100.0% [20] 276(0.7%) 0(0.0%) for-loop ...bie/develop/src/core/taylor.rkt:291:52 hash-ref! [91] 100.0% ---------------------------------------------------------------------------------- core-form-sym [11] 100.0% [21] 254(0.6%) 0(0.0%) resolve+shift28 (unknown source) fallback-loop [24] 100.0% ---------------------------------------------------------------------------------- for-loop [13] 100.0% [22] 30676(77.1%) 0(0.0%) run-iter! ...herbie/develop/src/mainloop.rkt:321:0 simplify! [25] 63.4% finalize-iter! [26] 22.6% gen-series! [27] 7.8% gen-rewrites! [29] 3.1% localize! [30] 2.0% choose-best-alt! [31] 1.0% ---------------------------------------------------------------------------------- taylor [17] 100.0% [23] 928(2.3%) 0(0.0%) taylor-invert ...develop/src/core/taylor.rkt:318:0 simplify [28] 70.0% first-nonzero-exp [32] 30.0% ---------------------------------------------------------------------------------- resolve+shift28 [21] 100.0% [24] 254(0.6%) 0(0.0%) fallback-loop (unknown source) for-loop [194] 100.0% ---------------------------------------------------------------------------------- run-iter! [22] 100.0% [25] 19462(48.9%) 0(0.0%) simplify! ...herbie/develop/src/mainloop.rkt:217:0 ??? [33] 98.6% for-loop [41] 1.4% ---------------------------------------------------------------------------------- run-iter! [22] 100.0% [26] 6948(17.5%) 0(0.0%) finalize-iter! ...e/develop/src/mainloop.rkt:272:0 ??? [34] 100.0% ---------------------------------------------------------------------------------- run-iter! [22] 100.0% [27] 2400(6.0%) 0(0.0%) gen-series! ...rbie/develop/src/mainloop.rkt:153:0 for-loop [35] 100.0% ---------------------------------------------------------------------------------- ??? [153] 12.4% taylor-invert [23] 27.1% hash-ref! [91] 60.5% [28] 2400(6.0%) 0(0.0%) simplify ...erbie/develop/src/core/reduce.rkt:16:0 parse-loop15 [97] 38.7% f46 [37] 36.1% debug-print [39] 12.8% simplify-node [40] 12.4% ---------------------------------------------------------------------------------- run-iter! [22] 100.0% [29] 956(2.4%) 0(0.0%) gen-rewrites! ...ie/develop/src/mainloop.rkt:176:0 for-loop [36] 100.0% ---------------------------------------------------------------------------------- run-iter! [22] 100.0% [30] 606(1.5%) 0(0.0%) localize! ...herbie/develop/src/mainloop.rkt:120:0 localize-error [38] 100.0% ---------------------------------------------------------------------------------- run-iter! [22] 100.0% [31] 304(0.8%) 0(0.0%) choose-best-alt! ...develop/src/mainloop.rkt:111:0 ??? [34] 100.0% ---------------------------------------------------------------------------------- taylor-invert [23] 100.0% [32] 278(0.7%) 0(0.0%) first-nonzero-exp ...lop/src/core/taylor.rkt:266:0 hash-ref! [91] 100.0% ---------------------------------------------------------------------------------- simplify! [25] 100.0% [33] 19186(48.2%) 0(0.0%) ??? ...s/herbie/develop/src/core/simplify.rkt:26:0 for-loop [42] 41.5% one-iter [51] 38.4% loop [44] 20.1% ---------------------------------------------------------------------------------- variable? [8] 3.9% choose-best-alt! [31] 4.0% finalize-iter! [26] 92.1% [34] 7548(19.0%) 296(0.7%) ??? ...contract/private/arrow-val-first.rkt:388:18 for-loop [43] 92.1% ??? [48] 4.0% ---------------------------------------------------------------------------------- gen-series! [27] 100.0% [35] 2400(6.0%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:160:7 taylor-alt [45] 100.0% ---------------------------------------------------------------------------------- gen-rewrites! [29] 100.0% [36] 956(2.4%) 0(0.0%) for-loop ...herbie/develop/src/mainloop.rkt:184:11 rewrite-expression-head20 [46] 100.0% ---------------------------------------------------------------------------------- parse-loop15 [97] 18.2% simplify [28] 81.8% [37] 866(2.2%) 0(0.0%) f46 ...0/collects/racket/match/compiler.rkt:507:40 map [60] 68.1% eval-const-expr [101] 31.9% ---------------------------------------------------------------------------------- localize! [30] 100.0% [38] 606(1.5%) 0(0.0%) localize-error ...velop/src/core/localize.rkt:52:0 hash-ref! [91] 100.0% ---------------------------------------------------------------------------------- simplify [28] 100.0% [39] 308(0.8%) 0(0.0%) debug-print .../herbie/develop/src/debug.rkt:110:0 for-loop [47] 100.0% ---------------------------------------------------------------------------------- simplify [28] 100.0% [40] 298(0.7%) 0(0.0%) simplify-node .../develop/src/core/reduce.rkt:48:0 append-map [49] 100.0% ---------------------------------------------------------------------------------- simplify! [25] 100.0% [41] 276(0.7%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:256:6 for-loop [50] 100.0% ---------------------------------------------------------------------------------- ??? [33] 100.0% [42] 7964(20.0%) 0(0.0%) for-loop ...bie/develop/src/core/simplify.rkt:33:2 one-iter [51] 100.0% ---------------------------------------------------------------------------------- ??? [34] 100.0% [43] 6948(17.5%) 0(0.0%) for-loop ...ie/develop/src/core/alt-table.rkt:56:2 atab-add-altn [52] 96.1% loop [56] 3.9% ---------------------------------------------------------------------------------- ??? [33] 100.0% [44] 3850(9.7%) 300(0.8%) loop ...herbie/develop/src/core/simplify.rkt:143:2 for-loop [53] 92.2% ---------------------------------------------------------------------------------- for-loop [35] 100.0% [45] 2400(6.0%) 0(0.0%) taylor-alt ...erbie/develop/src/mainloop.rkt:139:0 for-loop [54] 100.0% ---------------------------------------------------------------------------------- for-loop [36] 100.0% [46] 956(2.4%) 0(0.0%) rewrite-expression-head20 ...ore/matcher.rkt:126:0 rewriter [55] 100.0% ---------------------------------------------------------------------------------- debug-print [39] 100.0% [47] 308(0.8%) 308(0.8%) for-loop ...ies/herbie/develop/src/debug.rkt:116:2 ---------------------------------------------------------------------------------- ??? [34] 100.0% [48] 304(0.8%) 0(0.0%) ??? .../herbie/develop/src/core/alt-table.rkt:59:0 ??? [153] 100.0% ---------------------------------------------------------------------------------- append-map [49] 50.0% simplify-node [40] 50.0% [49] 298(0.7%) 0(0.0%) append-map ...t-7.0/collects/racket/list.rkt:586:2 append-map [49] 50.0% parse-loop15 [97] 50.0% ---------------------------------------------------------------------------------- for-loop [41] 100.0% [50] 276(0.7%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:257:8 expression-cost [73] 100.0% ---------------------------------------------------------------------------------- ??? [33] 48.1% for-loop [42] 51.9% [51] 15336(38.5%) 0(0.0%) one-iter ...bie/develop/src/core/simplify.rkt:86:0 find-matches [57] 60.7% for-loop [59] 37.2% for-loop [67] 2.0% ---------------------------------------------------------------------------------- for-loop [43] 100.0% [52] 6676(16.8%) 0(0.0%) atab-add-altn ...elop/src/core/alt-table.rkt:202:0 errors [58] 82.7% best-and-tied-at-points [66] 8.4% override-at-pnts [68] 4.6% append-at-pnts [69] 4.3% ---------------------------------------------------------------------------------- loop [44] 100.0% [53] 3550(8.9%) 0(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:149:4 loop [61] 42.1% expression-cost [73] 24.4% for-loop [64] 17.2% argmin [65] 16.3% ---------------------------------------------------------------------------------- taylor-alt [45] 100.0% [54] 2400(6.0%) 0(0.0%) for-loop .../herbie/develop/src/mainloop.rkt:145:6 ??? [153] 100.0% ---------------------------------------------------------------------------------- rewrite-expression-head20 [46] 30.5% matcher [74] 69.5% [55] 956(2.4%) 324(0.8%) rewriter ...bie/develop/src/core/matcher.rkt:128:2 for-loop [62] 69.5% *rules* [63] 19.2% ---------------------------------------------------------------------------------- for-loop [43] 100.0% [56] 272(0.7%) 0(0.0%) loop ...erbie/develop/src/core/alt-table.rkt:176:2 map [60] 100.0% ---------------------------------------------------------------------------------- one-iter [51] 100.0% [57] 9316(23.4%) 0(0.0%) find-matches ...develop/src/core/simplify.rkt:56:0 for-loop [70] 100.0% ---------------------------------------------------------------------------------- for-loop [152] 4.2% ??? [89] 4.3% ??? [191] 4.8% atab-add-altn [52] 86.7% [58] 6368(16.0%) 0(0.0%) errors ...lies/herbie/develop/src/points.rkt:228:0 for-loop [72] 69.3% eval-prog [108] 30.7% ---------------------------------------------------------------------------------- one-iter [51] 100.0% [59] 5710(14.4%) 0(0.0%) for-loop ...bie/develop/src/core/simplify.rkt:95:2 loop [71] 89.5% update-leader! [110] 10.5% ---------------------------------------------------------------------------------- for-loop [111] 14.4% loop [56] 15.9% f46 [37] 34.4% parse-loop15 [97] 35.4% [60] 1714(4.3%) 0(0.0%) map ...t-7.0/collects/racket/private/map.rkt:35:13 hash-ref! [91] 35.4% parse-loop15 [97] 25.2% loop [122] 15.9% ??? [83] 14.4% simplify* [79] 9.2% ---------------------------------------------------------------------------------- for-loop [53] 100.0% [61] 1494(3.8%) 0(0.0%) loop .../racket-7.0/collects/racket/list.rkt:751:4 expression-cost [73] 79.9% for-loop [76] 20.1% ---------------------------------------------------------------------------------- rewriter [55] 100.0% [62] 956(2.4%) 0(0.0%) for-loop ...ie/develop/src/core/matcher.rkt:131:10 matcher [74] 100.0% ---------------------------------------------------------------------------------- rewriter [55] 100.0% [63] 632(1.6%) 0(0.0%) *rules* ...rbie/develop/src/syntax/rules.rkt:783:0 for-loop [75] 100.0% ---------------------------------------------------------------------------------- for-loop [53] 100.0% [64] 610(1.5%) 284(0.7%) for-loop ...e/develop/src/core/simplify.rkt:153:16 for-loop [78] 53.4% ---------------------------------------------------------------------------------- for-loop [53] 100.0% [65] 580(1.5%) 0(0.0%) argmin ...acket-7.0/collects/racket/list.rkt:765:0 for-loop [76] 51.7% expression-cost [73] 48.3% ---------------------------------------------------------------------------------- atab-add-altn [52] 100.0% [66] 564(1.4%) 0(0.0%) best-and-tied-at-points ...ore/alt-table.rkt:117:0 for-loop [77] 100.0% ---------------------------------------------------------------------------------- one-iter [51] 100.0% [67] 310(0.8%) 0(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:111:2 set-precompute! [80] 100.0% ---------------------------------------------------------------------------------- atab-add-altn [52] 100.0% [68] 304(0.8%) 0(0.0%) override-at-pnts ...p/src/core/alt-table.rkt:138:0 for-loop [81] 100.0% ---------------------------------------------------------------------------------- atab-add-altn [52] 100.0% [69] 286(0.7%) 0(0.0%) append-at-pnts ...lop/src/core/alt-table.rkt:146:0 loop [82] 100.0% ---------------------------------------------------------------------------------- for-loop [70] 50.0% find-matches [57] 50.0% [70] 9316(23.4%) 2904(7.3%) for-loop ...bie/develop/src/core/simplify.rkt:58:8 for-loop [70] 50.0% match-e [90] 34.4% ---------------------------------------------------------------------------------- for-loop [59] 100.0% [71] 5108(12.8%) 0(0.0%) loop ...herbie/develop/src/core/simplify.rkt:100:4 apply-match [84] 100.0% ---------------------------------------------------------------------------------- errors [58] 100.0% [72] 4410(11.1%) 556(1.4%) for-loop ...es/herbie/develop/src/points.rkt:230:2 ??? [134] 73.7% ulp-difference [146] 6.9% ??? [153] 6.8% ---------------------------------------------------------------------------------- for-loop [50] 10.6% argmin [65] 10.7% for-loop [53] 33.1% loop [61] 45.6% [73] 2616(6.6%) 576(1.4%) expression-cost .../develop/src/programs.rkt:204:0 compile [85] 78.0% ---------------------------------------------------------------------------------- for-loop [16] 50.0% for-loop [62] 50.0% [74] 956(2.4%) 0(0.0%) matcher ...rbie/develop/src/core/matcher.rkt:163:2 ??? [5] 50.0% rewriter [55] 50.0% ---------------------------------------------------------------------------------- *rules* [63] 100.0% [75] 632(1.6%) 328(0.8%) for-loop ...ies/herbie/develop/src/common.rkt:71:9 ormap [88] 48.1% ---------------------------------------------------------------------------------- argmin [65] 50.0% loop [61] 50.0% [76] 600(1.5%) 300(0.8%) for-loop .../herbie/develop/src/programs.rkt:205:2 table-ref [158] 50.0% ---------------------------------------------------------------------------------- best-and-tied-at-points [66] 100.0% [77] 564(1.4%) 564(1.4%) for-loop .../develop/src/core/alt-table.rkt:119:16 ---------------------------------------------------------------------------------- for-loop [64] 100.0% [78] 326(0.8%) 326(0.8%) for-loop ...e/develop/src/core/simplify.rkt:157:23 ---------------------------------------------------------------------------------- map [60] 100.0% [79] 316(0.8%) 316(0.8%) simplify* ...rbie/develop/src/core/reduce.rkt:31:0 ---------------------------------------------------------------------------------- for-loop [67] 100.0% [80] 310(0.8%) 0(0.0%) set-precompute! ...lop/src/core/simplify.rkt:117:0 for-loop [86] 100.0% ---------------------------------------------------------------------------------- override-at-pnts [68] 100.0% [81] 304(0.8%) 0(0.0%) for-loop .../develop/src/core/alt-table.rkt:139:22 ??? [87] 100.0% ---------------------------------------------------------------------------------- append-at-pnts [69] 100.0% [82] 286(0.7%) 286(0.7%) loop ...erbie/develop/src/core/alt-table.rkt:101:2 ---------------------------------------------------------------------------------- map [60] 100.0% [83] 246(0.6%) 0(0.0%) ??? ...htlies/herbie/develop/src/points.rkt:214:26 ??? [134] 100.0% ---------------------------------------------------------------------------------- loop [71] 100.0% [84] 5108(12.8%) 0(0.0%) apply-match .../develop/src/core/simplify.rkt:65:0 for-loop [92] 78.8% match-e [90] 21.2% ---------------------------------------------------------------------------------- expression-cost [73] 100.0% [85] 2040(5.1%) 0(0.0%) compile ...s/herbie/develop/src/programs.rkt:181:0 hash-ref! [91] 100.0% ---------------------------------------------------------------------------------- set-precompute! [80] 100.0% [86] 310(0.8%) 0(0.0%) for-loop ...ie/develop/src/core/simplify.rkt:119:2 ??? [89] 100.0% ---------------------------------------------------------------------------------- for-loop [81] 100.0% [87] 304(0.8%) 304(0.8%) ??? ...7.0/collects/racket/private/for.rkt:1208:14 ---------------------------------------------------------------------------------- for-loop [75] 100.0% [88] 304(0.8%) 0(0.0%) ormap ....0/collects/racket/private/map.rkt:141:13 flag-set? [93] 100.0% ---------------------------------------------------------------------------------- for-loop [86] 0.3% run [12] 49.9% [89] 39786(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 49.9% run-improve40 [2] 38.4% prepare-points-intervals [94] 7.5% oracle-error [100] 1.6% get-final-combination [103] 0.7% eval-errors [104] 0.7% errors [58] 0.3% errors-score [115] 0.3% for-loop [106] 0.3% eval-const-expr [101] 0.3% ---------------------------------------------------------------------------------- apply-match [84] 9.2% for-loop [109] 19.1% for-loop [70] 71.6% [90] 7494(18.8%) 2544(6.4%) match-e ...herbie/develop/src/core/ematch.rkt:39:0 for-loop [95] 69.2% variable? [8] 1.3% ---------------------------------------------------------------------------------- for-loop [20] 0.8% loop [122] 3.2% for-loop [19] 4.8% map [60] 4.8% localize-error [38] 4.8% first-nonzero-exp [32] 5.9% ??? [102] 6.1% ??? [153] 12.9% loop [15] 12.9% compile [85] 19.6% ??? [99] 23.4% [91] 4748(11.9%) 1158(2.9%) hash-ref! .../racket/private/more-scheme.rkt:376:2 ??? [99] 30.8% ??? [98] 12.9% parse-loop15 [97] 12.8% simplify [28] 12.0% taylor [17] 6.8% ??? [102] 6.1% ??? [6] 4.8% ??? [10] 0.8% ---------------------------------------------------------------------------------- apply-match [84] 100.0% [92] 4026(10.1%) 0(0.0%) for-loop ...bie/develop/src/core/simplify.rkt:78:2 merge-egraph-nodes! [96] 77.8% mk-enode! [126] 14.6% substitute-e [105] 7.6% ---------------------------------------------------------------------------------- ormap [88] 100.0% [93] 304(0.8%) 304(0.8%) flag-set? ...es/herbie/develop/src/config.rkt:28:0 ---------------------------------------------------------------------------------- ??? [89] 100.0% [94] 6000(15.1%) 0(0.0%) prepare-points-intervals ...p/src/points.rkt:133:0 loop [107] 100.0% ---------------------------------------------------------------------------------- match-e [90] 100.0% [95] 5528(13.9%) 3018(7.6%) for-loop ...rbie/develop/src/core/ematch.rkt:52:11 for-loop [109] 39.8% foldr [116] 5.5% filter [189] 4.7% cp-2 [120] 4.6% ---------------------------------------------------------------------------------- merge-egraph-nodes! [96] 7.6% for-loop [112] 12.6% for-loop [92] 79.8% [96] 3134(7.9%) 0(0.0%) merge-egraph-nodes! ...p/src/core/egraph.rkt:145:0 update-leader! [110] 48.9% loop! [137] 26.0% for-loop [112] 12.6% merge-egraph-nodes! [96] 7.6% dedup-children! [117] 4.9% ---------------------------------------------------------------------------------- append-map [49] 12.3% map [60] 24.4% hash-ref! [91] 25.0% simplify [28] 38.3% [97] 2422(6.1%) 910(2.3%) parse-loop15 ...s/racket/match/compiler.rkt:418:15 eval-const-expr [101] 24.4% f46 [37] 13.0% loop [122] 12.5% map [60] 9.4% loop [119] 3.1% ---------------------------------------------------------------------------------- hash-ref! [91] 100.0% [98] 1824(4.6%) 0(0.0%) ??? ...es/herbie/develop/src/core/taylor.rkt:68:15 ??? [153] 100.0% ---------------------------------------------------------------------------------- hash-ref! [91] 100.0% [99] 1736(4.4%) 882(2.2%) ??? ...tlies/herbie/develop/src/programs.rkt:189:5 hash-ref! [91] 79.8% ---------------------------------------------------------------------------------- ??? [89] 100.0% [100] 1268(3.2%) 0(0.0%) oracle-error ...erbie/develop/src/points.rkt:212:0 for-loop [111] 100.0% ---------------------------------------------------------------------------------- f46 [37] 23.5% ??? [89] 26.4% parse-loop15 [97] 50.2% [101] 1176(3.0%) 0(0.0%) eval-const-expr .../develop/src/programs.rkt:149:0 eval-prog [108] 100.0% ---------------------------------------------------------------------------------- hash-ref! [91] 100.0% [102] 1174(3.0%) 0(0.0%) ??? ...es/herbie/develop/src/core/taylor.rkt:45:15 hash-ref! [91] 100.0% ---------------------------------------------------------------------------------- ??? [89] 100.0% [103] 544(1.4%) 0(0.0%) get-final-combination ...op/src/mainloop.rkt:361:0 infer-splitpoints [113] 100.0% ---------------------------------------------------------------------------------- ??? [89] 100.0% [104] 526(1.3%) 0(0.0%) eval-errors ...herbie/develop/src/points.rkt:203:0 for-loop [114] 100.0% ---------------------------------------------------------------------------------- for-loop [92] 100.0% [105] 304(0.8%) 0(0.0%) substitute-e ...e/develop/src/core/ematch.rkt:64:0 for-loop [118] 100.0% ---------------------------------------------------------------------------------- ??? [89] 100.0% [106] 246(0.6%) 0(0.0%) for-loop ...es/herbie/develop/src/sandbox.rkt:70:8 errors-score [115] 100.0% ---------------------------------------------------------------------------------- prepare-points-intervals [94] 100.0% [107] 6000(15.1%) 0(0.0%) loop ...htlies/herbie/develop/src/points.rkt:145:4 loop [121] 81.1% ??? [125] 18.9% ---------------------------------------------------------------------------------- eval-const-expr [101] 37.5% errors [58] 62.5% [108] 3134(7.9%) 0(0.0%) eval-prog ...herbie/develop/src/programs.rkt:130:0 temp68_2 [124] 55.5% loop [202] 18.0% inductor [127] 17.8% eval-one-top12 [131] 8.7% ---------------------------------------------------------------------------------- for-loop [95] 100.0% [109] 2964(7.4%) 278(0.7%) for-loop ...rbie/develop/src/core/ematch.rkt:58:37 match-e [90] 85.8% ??? [130] 9.5% ---------------------------------------------------------------------------------- for-loop [59] 26.4% merge-egraph-nodes! [96] 73.6% [110] 2284(5.7%) 282(0.7%) update-leader! ...evelop/src/core/egraph.rkt:213:0 for-loop [123] 87.7% ---------------------------------------------------------------------------------- oracle-error [100] 100.0% [111] 1268(3.2%) 0(0.0%) for-loop ...es/herbie/develop/src/points.rkt:213:2 loop [122] 80.6% map [60] 19.4% ---------------------------------------------------------------------------------- merge-egraph-nodes! [96] 100.0% [112] 884(2.2%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:199:4 merge-egraph-nodes! [96] 100.0% ---------------------------------------------------------------------------------- get-final-combination [103] 100.0% [113] 544(1.4%) 0(0.0%) infer-splitpoints ...lop/src/core/regimes.rkt:34:0 for-loop [128] 100.0% ---------------------------------------------------------------------------------- eval-errors [104] 100.0% [114] 526(1.3%) 0(0.0%) for-loop ...es/herbie/develop/src/points.rkt:205:2 ??? [134] 50.2% ??? [153] 49.8% ---------------------------------------------------------------------------------- for-loop [106] 49.4% ??? [89] 50.6% [115] 498(1.3%) 246(0.6%) errors-score ...erbie/develop/src/points.rkt:220:0 loop [133] 50.6% ---------------------------------------------------------------------------------- for-loop [95] 100.0% [116] 304(0.8%) 304(0.8%) foldr ....0/collects/racket/private/list.rkt:242:4 ---------------------------------------------------------------------------------- merge-egraph-nodes! [96] 100.0% [117] 304(0.8%) 0(0.0%) dedup-children! ...evelop/src/core/enode.rkt:199:0 loop [129] 100.0% ---------------------------------------------------------------------------------- substitute-e [105] 100.0% [118] 304(0.8%) 0(0.0%) for-loop ...rbie/develop/src/core/ematch.rkt:73:24 mk-enode! [126] 100.0% ---------------------------------------------------------------------------------- parse-loop15 [97] 11.1% loop [119] 88.9% [119] 302(0.8%) 0(0.0%) loop ...-7.0/collects/racket/private/map.rkt:54:19 loop [119] 88.9% ulp-difference [146] 11.1% ---------------------------------------------------------------------------------- for-loop [95] 100.0% [120] 254(0.6%) 0(0.0%) cp-2 .../racket-7.0/collects/racket/list.rkt:826:2 for-loop [132] 100.0% ---------------------------------------------------------------------------------- loop [107] 100.0% [121] 4864(12.2%) 888(2.2%) loop ...htlies/herbie/develop/src/points.rkt:104:2 ??? [134] 76.5% ??? [153] 5.2% ---------------------------------------------------------------------------------- map [60] 3.3% loop! [137] 7.2% parse-loop15 [97] 11.8% for-loop [111] 32.5% loop [122] 45.2% [122] 2754(6.9%) 526(1.3%) loop ...-7.0/collects/racket/private/map.rkt:40:19 loop [122] 45.2% ??? [134] 14.3% hash-ref! [91] 11.0% point-error [142] 9.0% loop! [137] 7.2% bf* [178] 0.8% ---------------------------------------------------------------------------------- update-leader! [110] 100.0% [123] 2002(5.0%) 0(0.0%) for-loop ...rbie/develop/src/core/egraph.rkt:218:6 for-loop [136] 58.0% hash-update! [145] 42.0% ---------------------------------------------------------------------------------- eval-prog [108] 100.0% [124] 1738(4.4%) 0(0.0%) temp68_2 (unknown source) compile16 [135] 100.0% ---------------------------------------------------------------------------------- loop [107] 100.0% [125] 1136(2.9%) 0(0.0%) ??? ...ghtlies/herbie/develop/src/points.rkt:129:2 ??? [153] 73.9% ??? [154] 26.1% ---------------------------------------------------------------------------------- for-loop [118] 34.1% for-loop [92] 65.9% [126] 892(2.2%) 278(0.7%) mk-enode! ...rbie/develop/src/core/egraph.rkt:99:0 new-enode [138] 68.8% ---------------------------------------------------------------------------------- eval-prog [108] 20.4% inductor [127] 79.6% [127] 558(1.4%) 0(0.0%) inductor .../herbie/develop/src/programs.rkt:135:4 inductor [127] 79.6% ??? [139] 20.4% ---------------------------------------------------------------------------------- infer-splitpoints [113] 100.0% [128] 544(1.4%) 0(0.0%) for-loop ...rbie/develop/src/core/regimes.rkt:46:6 option-on-expr [140] 100.0% ---------------------------------------------------------------------------------- dedup-children! [117] 3.1% loop [129] 96.9% [129] 304(0.8%) 304(0.8%) loop ...racket-7.0/collects/racket/list.rkt:434:17 loop [129] 96.9% ---------------------------------------------------------------------------------- for-loop [109] 100.0% [130] 282(0.7%) 282(0.7%) ??? ...ies/herbie/develop/src/core/ematch.rkt:43:5 ---------------------------------------------------------------------------------- eval-prog [108] 100.0% [131] 274(0.7%) 0(0.0%) eval-one-top12 (unknown source) link-instance-from-compiled-in-memory [141]100.0% ---------------------------------------------------------------------------------- cp-2 [120] 100.0% [132] 254(0.6%) 254(0.6%) for-loop ...ket-7.0/collects/racket/list.rkt:827:4 ---------------------------------------------------------------------------------- errors-score [115] 100.0% [133] 252(0.6%) 252(0.6%) loop .../racket-7.0/collects/racket/list.rkt:559:2 ---------------------------------------------------------------------------------- ??? [83] 3.1% for-loop [114] 3.3% loop [122] 6.5% for-loop [72] 40.6% loop [121] 46.5% [134] 8002(20.1%) 522(1.3%) ??? ...tlies/herbie/develop/src/programs.rkt:146:2 ??? [143] 65.8% ??? [153] 27.7% ---------------------------------------------------------------------------------- temp68_2 [124] 100.0% [135] 1738(4.4%) 0(0.0%) compile16 (unknown source) temp74_0 [144] 100.0% ---------------------------------------------------------------------------------- for-loop [123] 100.0% [136] 1162(2.9%) 300(0.8%) for-loop ...rbie/develop/src/core/egraph.rkt:219:8 hash-update! [145] 74.2% ---------------------------------------------------------------------------------- loop [122] 37.2% merge-egraph-nodes! [96] 62.8% [137] 1148(2.9%) 284(0.7%) loop! ...s/herbie/develop/src/core/enode.rkt:191:2 custom-set-union [148] 38.2% loop [122] 37.2% update-en-expr [149] 12.2% ---------------------------------------------------------------------------------- mk-enode! [126] 100.0% [138] 614(1.5%) 0(0.0%) new-enode ...erbie/develop/src/core/enode.rkt:96:0 type-of-enode-expr [147] 100.0% ---------------------------------------------------------------------------------- inductor [127] 100.0% [139] 558(1.4%) 558(1.4%) ??? ...lects/racket/contract/private/orc.rkt:83:14 ---------------------------------------------------------------------------------- for-loop [128] 100.0% [140] 544(1.4%) 0(0.0%) option-on-expr ...velop/src/core/regimes.rkt:150:0 sort-context-on-expr [150] 50.7% for-loop [152] 49.3% ---------------------------------------------------------------------------------- eval-one-top12 [131] 100.0% [141] 274(0.7%) 0(0.0%) link-instance-from-compiled-in-memory ...n source) extract-namespace-scopes/values [151] 100.0% ---------------------------------------------------------------------------------- loop [122] 100.0% [142] 248(0.6%) 0(0.0%) point-error ...herbie/develop/src/points.rkt:195:0 ulp-difference [146] 100.0% ---------------------------------------------------------------------------------- ??? [134] 100.0% [143] 5262(13.2%) 0(0.0%) ??? ...t-7.0/collects/racket/private/kw.rkt:592:14 ??? [153] 35.9% ??? [154] 29.6% ??? [156] 29.0% double->posit16 [161] 5.5% ---------------------------------------------------------------------------------- compile16 [135] 100.0% [144] 1738(4.4%) 0(0.0%) temp74_0 (unknown source) expand-single [157] 67.3% compile-top9 [160] 32.7% ---------------------------------------------------------------------------------- for-loop [123] 49.4% for-loop [136] 50.6% [145] 1702(4.3%) 0(0.0%) hash-update! ...cket/private/more-scheme.rkt:365:4 ??? [155] 100.0% ---------------------------------------------------------------------------------- point-error [142] 29.0% loop [119] 35.4% for-loop [72] 35.6% [146] 854(2.1%) 550(1.4%) ulp-difference ...erbie/develop/src/float.rkt:14:0 return/no-unsupplied [176] 35.6% ---------------------------------------------------------------------------------- new-enode [138] 100.0% [147] 614(1.5%) 0(0.0%) type-of-enode-expr ...elop/src/core/enode.rkt:69:0 table-ref [158] 100.0% ---------------------------------------------------------------------------------- loop! [137] 100.0% [148] 584(1.5%) 0(0.0%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [159] 100.0% ---------------------------------------------------------------------------------- loop! [137] 100.0% [149] 280(0.7%) 280(0.7%) update-en-expr ...evelop/src/core/egraph.rkt:207:0 ---------------------------------------------------------------------------------- option-on-expr [140] 100.0% [150] 276(0.7%) 0(0.0%) sort-context-on-expr ...src/core/regimes.rkt:145:0 ??? [162] 100.0% ---------------------------------------------------------------------------------- link-instance-from-compiled-in-memory [141]100.0% [151] 274(0.7%) 274(0.7%) extract-namespace-scopes/values (unknown source) ---------------------------------------------------------------------------------- option-on-expr [140] 100.0% [152] 268(0.7%) 0(0.0%) for-loop ...bie/develop/src/core/regimes.rkt:158:4 errors [58] 100.0% ---------------------------------------------------------------------------------- location-do [3] 1.7% loop [121] 2.9% for-loop [114] 3.0% jloop [9] 3.2% for-loop [72] 3.4% ??? [48] 3.5% ??? [98] 7.0% loop [14] 8.5% ??? [125] 9.6% for-loop [54] 10.2% ??? [143] 21.6% ??? [134] 25.4% [153] 8744(22.0%) 516(1.3%) ??? ...tract/private/arrow-higher-order.rkt:357:33 ->flonum [163] 31.8% ival-mult [164] 21.6% location-do [3] 10.2% approximate9 [4] 8.5% hash-ref! [91] 7.0% sample-multi-bounded [168] 6.6% best-alt [170] 3.5% mk-ival [175] 3.1% simplify [28] 1.7% ---------------------------------------------------------------------------------- ??? [125] 16.0% ??? [143] 84.0% [154] 1854(4.7%) 296(0.7%) ??? ...tract/private/arrow-higher-order.rkt:361:33 ival-add [167] 84.0% ---------------------------------------------------------------------------------- hash-update! [145] 100.0% [155] 1702(4.3%) 0(0.0%) ??? ...s/herbie/develop/src/core/egraph.rkt:221:24 for-loop [166] 100.0% ---------------------------------------------------------------------------------- ??? [143] 100.0% [156] 1524(3.8%) 614(1.5%) ??? ...herbie/develop/src/syntax/syntax.rkt:317:17 return/no-unsupplied [176] 21.8% ??? [180] 19.9% list-member? [174] 18.0% ---------------------------------------------------------------------------------- temp74_0 [144] 100.0% [157] 1170(2.9%) 0(0.0%) expand-single (unknown source) expand-capturing-lifts [165] 100.0% ---------------------------------------------------------------------------------- for-loop [76] 32.8% type-of-enode-expr [147] 67.2% [158] 914(2.3%) 614(1.5%) table-ref ...es/herbie/develop/src/common.rkt:42:0 for-loop [171] 32.8% ---------------------------------------------------------------------------------- custom-set-union [148] 100.0% [159] 584(1.5%) 584(1.5%) for-loop ...cts/racket/private/set-types.rkt:174:3 ---------------------------------------------------------------------------------- temp74_0 [144] 100.0% [160] 568(1.4%) 0(0.0%) compile-top9 (unknown source) compile-forms31 [169] 100.0% ---------------------------------------------------------------------------------- ??? [143] 100.0% [161] 290(0.7%) 0(0.0%) double->posit16 ...ftposit-rkt/softposit.rkt:248:0 get-ffi-obj* [172] 100.0% ---------------------------------------------------------------------------------- sort-context-on-expr [150] 100.0% [162] 276(0.7%) 0(0.0%) ??? ...-7.0/collects/racket/private/sort.rkt:369:3 generic-sort/key [173] 100.0% ---------------------------------------------------------------------------------- ??? [153] 100.0% [163] 2784(7.0%) 1668(4.2%) ->flonum ...s/herbie/develop/src/programs.rkt:38:0 return/no-unsupplied [176] 30.2% ??? [180] 9.9% ---------------------------------------------------------------------------------- ??? [153] 100.0% [164] 1890(4.8%) 564(1.4%) ival-mult ...bie/develop/src/biginterval.rkt:105:0 bf* [178] 35.4% classify-ival [179] 34.7% ---------------------------------------------------------------------------------- loop [202] 32.5% expand-single [157] 67.5% [165] 1734(4.4%) 0(0.0%) expand-capturing-lifts (unknown source) lambda-clause-expander [177] 67.5% dispatch-transformer41 [197] 32.5% ---------------------------------------------------------------------------------- ??? [155] 100.0% [166] 1702(4.3%) 1702(4.3%) for-loop ...bie/develop/src/core/egraph.rkt:222:26 ---------------------------------------------------------------------------------- ??? [154] 100.0% [167] 1558(3.9%) 348(0.9%) ival-add ...erbie/develop/src/biginterval.rkt:87:0 ??? [187] 77.7% ---------------------------------------------------------------------------------- ??? [153] 100.0% [168] 576(1.4%) 290(0.7%) sample-multi-bounded ...evelop/src/points.rkt:16:0 loop [184] 49.7% ---------------------------------------------------------------------------------- compile-top9 [160] 100.0% [169] 568(1.4%) 0(0.0%) compile-forms31 (unknown source) loop! [181] 100.0% ---------------------------------------------------------------------------------- ??? [153] 100.0% [170] 304(0.8%) 0(0.0%) best-alt .../herbie/develop/src/mainloop.rkt:106:0 loop [182] 100.0% ---------------------------------------------------------------------------------- table-ref [158] 100.0% [171] 300(0.8%) 300(0.8%) for-loop ...ies/herbie/develop/src/common.rkt:44:4 ---------------------------------------------------------------------------------- double->posit16 [161] 100.0% [172] 290(0.7%) 0(0.0%) get-ffi-obj* ...-7.0/collects/ffi/unsafe.rkt:209:2 get-ffi-lib9 [183] 100.0% ---------------------------------------------------------------------------------- ??? [162] 100.0% [173] 276(0.7%) 0(0.0%) generic-sort/key .../racket/private/sort.rkt:156:2 copying-mergesort [185] 100.0% ---------------------------------------------------------------------------------- ??? [156] 100.0% [174] 274(0.7%) 274(0.7%) list-member? ...llects/racket/private/set.rkt:24:0 ---------------------------------------------------------------------------------- ??? [153] 100.0% [175] 274(0.7%) 0(0.0%) mk-ival ...herbie/develop/src/biginterval.rkt:59:0 bf [186] 100.0% ---------------------------------------------------------------------------------- ulp-difference [146] 20.6% ??? [156] 22.5% ->flonum [163] 56.9% [176] 1476(3.7%) 1208(3.0%) return/no-unsupplied ...ct/private/arr-i.rkt:534:0 filter [189] 18.2% ---------------------------------------------------------------------------------- expand-capturing-lifts [165] 100.0% [177] 1170(2.9%) 0(0.0%) lambda-clause-expander (unknown source) finish-bodys [188] 100.0% ---------------------------------------------------------------------------------- loop [122] 31.2% ival-mult [164] 68.8% [178] 974(2.4%) 0(0.0%) bf* ...ath/private/bigfloat/bigfloat-mpfr.rkt:95:0 ??? [187] 100.0% ---------------------------------------------------------------------------------- ival-mult [164] 100.0% [179] 656(1.6%) 656(1.6%) classify-ival ...develop/src/biginterval.rkt:310:0 ---------------------------------------------------------------------------------- ->flonum [163] 47.6% ??? [156] 52.4% [180] 580(1.5%) 276(0.7%) ??? ...s/racket/contract/private/arr-i.rkt:1252:29 ??? [190] 52.4% ---------------------------------------------------------------------------------- compile-forms31 [169] 100.0% [181] 568(1.4%) 0(0.0%) loop! (unknown source) for-loop [194] 100.0% ---------------------------------------------------------------------------------- best-alt [170] 100.0% [182] 304(0.8%) 0(0.0%) loop ...ghtlies/herbie/develop/src/common.rkt:94:2 ??? [191] 100.0% ---------------------------------------------------------------------------------- get-ffi-obj* [172] 100.0% [183] 290(0.7%) 0(0.0%) get-ffi-lib9 ...-7.0/collects/ffi/unsafe.rkt:121:0 get-cross-lib-search-dirs [192] 100.0% ---------------------------------------------------------------------------------- sample-multi-bounded [168] 100.0% [184] 286(0.7%) 0(0.0%) loop ...ghtlies/herbie/develop/src/points.rkt:45:6 random-exp [193] 100.0% ---------------------------------------------------------------------------------- generic-sort/key [173] 25.0% copying-mergesort [185] 75.0% [185] 276(0.7%) 0(0.0%) copying-mergesort ...racket/private/sort.rkt:129:8 copying-mergesort [185] 75.0% jloop [9] 25.0% ---------------------------------------------------------------------------------- mk-ival [175] 100.0% [186] 274(0.7%) 0(0.0%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:601:2 ??? [198] 100.0% ---------------------------------------------------------------------------------- bf* [178] 44.6% ival-add [167] 55.4% [187] 2184(5.5%) 304(0.8%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bfadd [195] 86.1% ---------------------------------------------------------------------------------- lambda-clause-expander [177] 24.0% for-loop [194] 76.0% [188] 1170(2.9%) 0(0.0%) finish-bodys (unknown source) for-loop [194] 100.0% ---------------------------------------------------------------------------------- return/no-unsupplied [176] 34.1% for-loop [95] 65.9% [189] 786(2.0%) 786(2.0%) filter ...0/collects/racket/private/list.rkt:256:2 ---------------------------------------------------------------------------------- ??? [180] 100.0% [190] 304(0.8%) 304(0.8%) ??? ...ects/racket/contract/private/prop.rkt:274:4 ---------------------------------------------------------------------------------- loop [182] 100.0% [191] 304(0.8%) 0(0.0%) ??? ...lies/herbie/develop/src/mainloop.rkt:108:19 errors [58] 100.0% ---------------------------------------------------------------------------------- get-ffi-lib9 [183] 100.0% [192] 290(0.7%) 290(0.7%) get-cross-lib-search-dirs ...rivate/dirs.rkt:168:7 ---------------------------------------------------------------------------------- loop [184] 100.0% [193] 286(0.7%) 286(0.7%) random-exp .../herbie/develop/src/common.rkt:173:0 ---------------------------------------------------------------------------------- for-loop [194] 10.6% fallback-loop [24] 12.8% loop! [181] 28.5% finish-bodys [188] 48.1% [194] 1992(5.0%) 828(2.1%) for-loop (unknown source) finish-bodys [188] 37.4% compile5 [199] 13.6% for-loop [194] 10.6% dispatch-transformer41 [197] 5.3% syntax-e [7] 3.1% ---------------------------------------------------------------------------------- ??? [187] 100.0% [195] 1880(4.7%) 372(0.9%) bfadd ...-lib/math/private/bigfloat/mpfr.rkt:821:4 new-mpfr [196] 48.3% ??? [198] 31.9% ---------------------------------------------------------------------------------- bfadd [195] 100.0% [196] 908(2.3%) 908(2.3%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:335:0 ---------------------------------------------------------------------------------- for-loop [194] 35.9% expand-capturing-lifts [165] 64.1% [197] 880(2.2%) 0(0.0%) dispatch-transformer41 (unknown source) apply-transformer52 [200] 100.0% ---------------------------------------------------------------------------------- bf [186] 31.4% bfadd [195] 68.6% [198] 874(2.2%) 874(2.2%) ??? /opt/racket-7.0/collects/ffi/unsafe.rkt:898:4 ---------------------------------------------------------------------------------- for-loop [194] 100.0% [199] 270(0.7%) 0(0.0%) compile5 (unknown source) compile-let13 [201] 100.0% ---------------------------------------------------------------------------------- dispatch-transformer41 [197] 100.0% [200] 880(2.2%) 0(0.0%) apply-transformer52 (unknown source) apply-transformer-in-context [203] 35.9% apply-post-expansion [204] 35.2% loop [202] 28.9% ---------------------------------------------------------------------------------- compile5 [199] 33.3% compile-let13 [201] 66.7% [201] 270(0.7%) 270(0.7%) compile-let13 (unknown source) compile-let13 [201] 66.7% ---------------------------------------------------------------------------------- apply-transformer52 [200] 11.1% eval-prog [108] 24.7% syntax-e/no-taint [18] 64.2% [202] 1142(2.9%) 0(0.0%) loop (unknown source) gf [205] 64.2% expand-capturing-lifts [165] 24.7% core-form-sym [11] 11.1% ---------------------------------------------------------------------------------- apply-transformer52 [200] 100.0% [203] 316(0.8%) 0(0.0%) apply-transformer-in-context (unknown source) parse-app [206] 100.0% ---------------------------------------------------------------------------------- apply-transformer52 [200] 100.0% [204] 310(0.8%) 0(0.0%) apply-post-expansion (unknown source) gf [205] 100.0% ---------------------------------------------------------------------------------- apply-post-expansion [204] 17.5% loop [202] 82.5% [205] 888(2.2%) 268(0.7%) gf (unknown source) propagation-apply [207] 34.9% syntax-e/no-taint [18] 17.5% cache-or-reuse-hash [208] 17.5% ---------------------------------------------------------------------------------- apply-transformer-in-context [203] 100.0% [206] 316(0.8%) 316(0.8%) parse-app ...collects/racket/private/kw.rkt:1105:2 ---------------------------------------------------------------------------------- gf [205] 100.0% [207] 310(0.8%) 310(0.8%) propagation-apply (unknown source) ---------------------------------------------------------------------------------- gf [205] 100.0% [208] 310(0.8%) 310(0.8%) cache-or-reuse-hash (unknown source) ----------------------------------------------------------------------------------