Profiling results ----------------- Total cpu time observed: 159502ms (out of 161252ms) Number of samples taken: 464 (once every 344ms) (Hiding functions with self<1.0% and local<2.0%: 4 of 198 hidden) ========================================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ========================================================================================== ??? [41] 100.0% [1] 148546(93.1%) 0(0.0%) profile-thunk16 ...t/pkgs/profile-lib/main.rkt:9:0 run [9] 100.0% ------------------------------------------------------------------------------------------ ??? [41] 100.0% [2] 62704(39.3%) 0(0.0%) run-improve48 ...n-out-code/src/mainloop.rkt:256:0 for-loop [11] 92.1% for-loop [12] 5.5% setup-prog!41 [13] 1.9% ??? [37] 0.5% ------------------------------------------------------------------------------------------ copying-mergesort [160] 100.0% [3] 4000(2.5%) 0(0.0%) jloop ...t/collects/racket/private/sort.rkt:121:23 ??? [10] 91.4% ??? [73] 8.6% ------------------------------------------------------------------------------------------ hash-ref! [87] 100.0% [4] 958(0.6%) 0(0.0%) ??? ...e/clean-out-code/src/core/taylor.rkt:322:33 for-loop [14] 100.0% ------------------------------------------------------------------------------------------ ??? [75] 100.0% [5] 922(0.6%) 0(0.0%) loop ...clean-out-code/src/core/simplify.rkt:237:2 pass [15] 100.0% ------------------------------------------------------------------------------------------ loop [110] 100.0% [6] 334(0.2%) 0(0.0%) ??? ...ket/collects/racket/private/list.rkt:323:18 hash-ref! [87] 100.0% ------------------------------------------------------------------------------------------ hash-ref! [87] 100.0% [7] 314(0.2%) 0(0.0%) ??? ...e/clean-out-code/src/core/taylor.rkt:285:26 for-loop [16] 100.0% ------------------------------------------------------------------------------------------ hash-ref! [87] 100.0% [8] 294(0.2%) 0(0.0%) taylor-quotient ...-code/src/core/taylor.rkt:328:0 simplify [94] 100.0% ------------------------------------------------------------------------------------------ profile-thunk16 [1] 100.0% [9] 148546(93.1%) 0(0.0%) run ...share/racket/pkgs/profile-lib/main.rkt:39:2 ??? [41] 100.0% ------------------------------------------------------------------------------------------ jloop [3] 4.6% loop [168] 8.1% for-loop [70] 20.9% loop [110] 65.5% [10] 79844(50.1%) 1632(1.0%) ??? ...erbie/clean-out-code/src/programs.rkt:156:4 ??? [17] 78.7% ??? [19] 10.8% ??? [73] 7.7% ??? [21] 0.8% ------------------------------------------------------------------------------------------ run-improve48 [2] 100.0% [11] 57724(36.2%) 0(0.0%) for-loop .../clean-out-code/src/mainloop.rkt:271:8 run-iter! [18] 100.0% ------------------------------------------------------------------------------------------ run-improve48 [2] 100.0% [12] 3470(2.2%) 0(0.0%) for-loop ...clean-out-code/src/mainloop.rkt:268:29 ??? [75] 100.0% ------------------------------------------------------------------------------------------ run-improve48 [2] 100.0% [13] 1208(0.8%) 0(0.0%) setup-prog!41 ...an-out-code/src/mainloop.rkt:63:0 prepare-points [53] 46.4% loop [52] 27.3% ??? [37] 26.3% ------------------------------------------------------------------------------------------ ??? [4] 100.0% [14] 958(0.6%) 0(0.0%) for-loop ...an-out-code/src/core/taylor.rkt:324:46 hash-ref! [87] 100.0% ------------------------------------------------------------------------------------------ loop [5] 100.0% [15] 922(0.6%) 0(0.0%) pass ...clean-out-code/src/core/simplify.rkt:227:2 for-loop [20] 100.0% ------------------------------------------------------------------------------------------ ??? [7] 100.0% [16] 314(0.2%) 0(0.0%) for-loop ...an-out-code/src/core/taylor.rkt:285:52 hash-ref! [87] 100.0% ------------------------------------------------------------------------------------------ ??? [10] 100.0% [17] 62846(39.4%) 23146(14.5%) ??? ...acket/collects/racket/private/kw.rkt:444:14 ??? [36] 27.0% bf* [23] 19.8% ??? [26] 9.9% ??? [27] 3.8% ??? [29] 1.1% ...higher-order.rkt:346:33 [31] 1.0% parse-loop145 [105] 0.5% ------------------------------------------------------------------------------------------ for-loop [11] 100.0% [18] 57724(36.2%) 0(0.0%) run-iter! ...clean-out-code/src/mainloop.rkt:237:0 simplify! [22] 80.1% finalize-iter! [25] 14.0% gen-series! [28] 3.8% choose-best-alt! [32] 1.1% localize-error [33] 0.6% gen-rewrites! [34] 0.5% ------------------------------------------------------------------------------------------ ??? [10] 100.0% [19] 8584(5.4%) 328(0.2%) ??? ...contract/private/../../private/kw.rkt:761:9 real->bigfloat [24] 96.2% ------------------------------------------------------------------------------------------ pass [15] 100.0% [20] 922(0.6%) 0(0.0%) for-loop ...-out-code/src/core/simplify.rkt:230:29 argmin [30] 100.0% ------------------------------------------------------------------------------------------ ??? [10] 100.0% [21] 660(0.4%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:145:21 ??? [29] 100.0% ------------------------------------------------------------------------------------------ run-iter! [18] 100.0% [22] 46214(29.0%) 0(0.0%) simplify! ...clean-out-code/src/mainloop.rkt:177:0 for-loop [35] 100.0% ------------------------------------------------------------------------------------------ ??? [17] 100.0% [23] 12474(7.8%) 330(0.2%) bf* ...ath/private/bigfloat/bigfloat-mpfr.rkt:95:0 ??? [36] 97.4% ------------------------------------------------------------------------------------------ ??? [19] 100.0% [24] 8256(5.2%) 5476(3.4%) real->bigfloat .../private/bigfloat/mpfr.rkt:451:0 ??? [54] 33.7% ------------------------------------------------------------------------------------------ run-iter! [18] 100.0% [25] 8080(5.1%) 0(0.0%) finalize-iter! ...-out-code/src/mainloop.rkt:191:0 ??? [37] 100.0% ------------------------------------------------------------------------------------------ ??? [17] 100.0% [26] 6214(3.9%) 2584(1.6%) ??? ...clean-out-code/src/syntax/syntax.rkt:156:17 return/no-unsupplied [114] 36.8% ??? [175] 21.6% ------------------------------------------------------------------------------------------ ??? [17] 100.0% [27] 2404(1.5%) 2404(1.5%) ??? ...rivate/unconstrained-domain-arrow.rkt:40:13 ------------------------------------------------------------------------------------------ run-iter! [18] 100.0% [28] 2190(1.4%) 0(0.0%) gen-series! ...ean-out-code/src/mainloop.rkt:151:0 for-loop [38] 100.0% ------------------------------------------------------------------------------------------ ??? [21] 48.5% ??? [17] 51.5% [29] 1362(0.9%) 1362(0.9%) ??? ...ects/racket/contract/private/prop.rkt:493:4 ------------------------------------------------------------------------------------------ for-loop [20] 100.0% [30] 922(0.6%) 0(0.0%) argmin ...re/racket/collects/racket/list.rkt:743:0 for-loop [39] 100.0% ------------------------------------------------------------------------------------------ ??? [17] 100.0% [31] 642(0.4%) 308(0.2%) ...higher-order.rkt:346:33 (unknown source) ??? [177] 52.0% ------------------------------------------------------------------------------------------ run-iter! [18] 100.0% [32] 610(0.4%) 0(0.0%) choose-best-alt! ...ut-code/src/mainloop.rkt:113:0 ??? [37] 100.0% ------------------------------------------------------------------------------------------ run-iter! [18] 100.0% [33] 334(0.2%) 0(0.0%) localize-error ...-code/src/core/localize.rkt:47:0 hash-ref! [87] 100.0% ------------------------------------------------------------------------------------------ run-iter! [18] 100.0% [34] 296(0.2%) 0(0.0%) gen-rewrites! ...n-out-code/src/mainloop.rkt:164:0 for-loop [40] 100.0% ------------------------------------------------------------------------------------------ simplify! [22] 98.7% [35] 46840(29.4%) 0(0.0%) for-loop .../clean-out-code/src/mainloop.rkt:181:6 ??? [41] 100.0% ------------------------------------------------------------------------------------------ bf* [23] 41.7% ??? [17] 58.3% [36] 29112(18.3%) 8736(5.5%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bfmul [42] 56.4% bflog [44] 13.6% ------------------------------------------------------------------------------------------ run-improve48 [2] 2.2% setup-prog!41 [13] 2.3% choose-best-alt! [32] 4.4% variable? [116] 6.8% get-sigs [153] 9.1% match-e [104] 17.6% finalize-iter! [25] 57.7% [37] 14000(8.8%) 2196(1.4%) ??? ...contract/private/arrow-val-first.rkt:357:18 for-loop [43] 57.7% hash-has-key? [45] 17.8% ??? [47] 4.4% make-alt-table [48] 2.3% atab-add-altns [49] 2.2% ------------------------------------------------------------------------------------------ gen-series! [28] 100.0% [38] 2190(1.4%) 0(0.0%) for-loop .../clean-out-code/src/mainloop.rkt:157:7 taylor-alt [46] 100.0% ------------------------------------------------------------------------------------------ argmin [30] 100.0% [39] 922(0.6%) 314(0.2%) for-loop .../clean-out-code/src/programs.rkt:210:2 ??? [75] 34.9% ...-code/src/common.rkt:48:2 [164] 31.0% ------------------------------------------------------------------------------------------ gen-rewrites! [34] 100.0% [40] 296(0.2%) 0(0.0%) for-loop ...clean-out-code/src/mainloop.rkt:169:11 ??? [50] 100.0% ------------------------------------------------------------------------------------------ for-loop [35] 10.1% run [9] 42.0% [41] 158612(99.4%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 42.0% run-improve48 [2] 15.1% ??? [75] 14.6% get-final-combination [51] 11.5% loop [52] 8.9% prepare-points [53] 7.9% ------------------------------------------------------------------------------------------ ??? [36] 100.0% [42] 16416(10.3%) 10224(6.4%) bfmul ...-lib/math/private/bigfloat/mpfr.rkt:819:4 ??? [54] 37.7% ------------------------------------------------------------------------------------------ ??? [37] 100.0% [43] 8080(5.1%) 0(0.0%) for-loop ...n-out-code/src/core/alt-table.rkt:51:2 atab-add-altn [55] 100.0% ------------------------------------------------------------------------------------------ ??? [36] 100.0% [44] 3960(2.5%) 2456(1.5%) bflog ...-lib/math/private/bigfloat/mpfr.rkt:616:4 ??? [54] 38.0% ------------------------------------------------------------------------------------------ mk-enode! [122] 11.3% ??? [37] 88.7% [45] 2812(1.8%) 1232(0.8%) hash-has-key? ...et/private/more-scheme.rkt:368:13 ??? [81] 56.2% ------------------------------------------------------------------------------------------ for-loop [38] 100.0% [46] 2190(1.4%) 0(0.0%) taylor-alt ...lean-out-code/src/mainloop.rkt:136:0 ??? [73] 55.6% for-loop [56] 44.4% ------------------------------------------------------------------------------------------ ??? [37] 100.0% [47] 610(0.4%) 0(0.0%) ??? .../clean-out-code/src/core/alt-table.rkt:54:0 ??? [73] 100.0% ------------------------------------------------------------------------------------------ ??? [37] 100.0% [48] 318(0.2%) 0(0.0%) make-alt-table ...code/src/core/alt-table.rkt:32:0 errors [65] 100.0% ------------------------------------------------------------------------------------------ ??? [37] 100.0% [49] 302(0.2%) 0(0.0%) atab-add-altns ...code/src/core/alt-table.rkt:50:0 atab-add-altn [55] 100.0% ------------------------------------------------------------------------------------------ for-loop [40] 100.0% [50] 296(0.2%) 0(0.0%) ??? ...bie/clean-out-code/src/alternative.rkt:63:0 rewriter [57] 100.0% ------------------------------------------------------------------------------------------ ??? [41] 100.0% [51] 34730(21.8%) 0(0.0%) get-final-combination ...de/src/mainloop.rkt:288:0 f137 [80] 100.0% ------------------------------------------------------------------------------------------ setup-prog!41 [13] 1.2% ??? [41] 98.8% [52] 28520(17.9%) 0(0.0%) loop ...herbie/clean-out-code/src/points.rkt:238:2 loop [58] 33.9% make-exacts* [64] 33.3% loop [66] 31.4% for-loop [61] 1.4% ------------------------------------------------------------------------------------------ setup-prog!41 [13] 2.2% ??? [41] 97.8% [53] 25760(16.2%) 0(0.0%) prepare-points ...an-out-code/src/points.rkt:214:0 make-exacts* [64] 37.5% loop [66] 31.3% loop [58] 30.0% for-loop [61] 1.1% ------------------------------------------------------------------------------------------ bflog [44] 14.4% real->bigfloat [24] 26.5% bfmul [42] 59.1% [54] 10476(6.6%) 10476(6.6%) ??? .../share/racket/collects/ffi/unsafe.rkt:861:4 ------------------------------------------------------------------------------------------ atab-add-altns [49] 3.6% for-loop [43] 96.4% [55] 8382(5.3%) 0(0.0%) atab-add-altn ...code/src/core/alt-table.rkt:208:0 best-and-tied-at-points [59] 85.4% override-at-pnts [60] 14.6% ------------------------------------------------------------------------------------------ taylor-alt [46] 100.0% [56] 972(0.6%) 0(0.0%) for-loop .../clean-out-code/src/mainloop.rkt:142:6 ??? [73] 100.0% ------------------------------------------------------------------------------------------ matcher [68] 50.0% ??? [50] 50.0% [57] 296(0.2%) 0(0.0%) rewriter ...an-out-code/src/core/matcher.rkt:131:2 for-loop [62] 50.0% expression->type [63] 50.0% ------------------------------------------------------------------------------------------ prepare-points [53] 44.4% loop [52] 55.6% [58] 17408(10.9%) 0(0.0%) loop ...herbie/clean-out-code/src/points.rkt:158:2 loop [66] 51.1% make-exacts* [64] 48.9% ------------------------------------------------------------------------------------------ atab-add-altn [55] 100.0% [59] 7162(4.5%) 0(0.0%) best-and-tied-at-points ...ore/alt-table.rkt:122:0 errors [65] 100.0% ------------------------------------------------------------------------------------------ atab-add-altn [55] 100.0% [60] 1220(0.8%) 0(0.0%) override-at-pnts ...e/src/core/alt-table.rkt:145:0 errors [65] 100.0% ------------------------------------------------------------------------------------------ prepare-points [53] 42.2% loop [52] 57.8% [61] 682(0.4%) 0(0.0%) for-loop ...e/clean-out-code/src/points.rkt:255:26 ??? [67] 100.0% ------------------------------------------------------------------------------------------ rewriter [57] 100.0% [62] 296(0.2%) 0(0.0%) for-loop ...n-out-code/src/core/matcher.rkt:134:10 matcher [68] 100.0% ------------------------------------------------------------------------------------------ rewriter [57] 100.0% [63] 296(0.2%) 0(0.0%) expression->type ...t-code/src/type-check.rkt:45:0 for-loop [69] 100.0% ------------------------------------------------------------------------------------------ loop [58] 30.8% loop [52] 34.3% prepare-points [53] 34.9% [64] 27694(17.4%) 0(0.0%) make-exacts* ...lean-out-code/src/points.rkt:138:0 loop [110] 97.8% eval-prog [155] 2.2% ------------------------------------------------------------------------------------------ make-alt-table [48] 1.2% composed [89] 2.3% override-at-pnts [60] 4.7% best-and-tied-at-points [59] 27.4% loop [110] 64.4% [65] 26116(16.4%) 0(0.0%) errors ...rbie/clean-out-code/src/points.rkt:271:0 for-loop [70] 79.9% eval-prog [155] 20.1% ------------------------------------------------------------------------------------------ prepare-points [53] 31.2% loop [58] 34.3% loop [52] 34.5% [66] 25904(16.2%) 0(0.0%) loop ...herbie/clean-out-code/src/points.rkt:141:4 loop [110] 100.0% ------------------------------------------------------------------------------------------ for-loop [61] 100.0% [67] 682(0.4%) 0(0.0%) ??? .../herbie/clean-out-code/src/points.rkt:230:7 for-loop [71] 57.8% ??? [73] 42.2% ------------------------------------------------------------------------------------------ for-loop [72] 50.0% for-loop [62] 50.0% [68] 296(0.2%) 0(0.0%) matcher ...ean-out-code/src/core/matcher.rkt:167:2 for-loop [72] 50.0% rewriter [57] 50.0% ------------------------------------------------------------------------------------------ expression->type [63] 100.0% [69] 296(0.2%) 0(0.0%) for-loop ...clean-out-code/src/type-check.rkt:52:5 f137 [80] 100.0% ------------------------------------------------------------------------------------------ errors [65] 100.0% [70] 20874(13.1%) 1704(1.1%) for-loop ...ie/clean-out-code/src/points.rkt:274:4 ??? [10] 80.1% ulp-difference [74] 7.3% ??? [73] 4.4% ------------------------------------------------------------------------------------------ ??? [67] 100.0% [71] 394(0.2%) 0(0.0%) for-loop ...ie/clean-out-code/src/points.rkt:231:9 ??? [73] 100.0% ------------------------------------------------------------------------------------------ matcher [68] 100.0% [72] 296(0.2%) 0(0.0%) for-loop ...n-out-code/src/core/matcher.rkt:183:21 matcher [68] 100.0% ------------------------------------------------------------------------------------------ for-loop [79] 1.1% loop [82] 1.4% ??? [67] 1.9% ??? [47] 2.1% for-loop [56] 2.2% jloop [3] 2.3% for-loop [71] 2.7% ??? [97] 2.8% taylor-alt [46] 3.1% for-loop [70] 6.3% loop [110] 7.1% ??? [75] 8.4% f137 [80] 18.4% ??? [10] 40.3% [73] 14830(9.3%) 1728(1.1%) ??? ...tract/private/arrow-higher-order.rkt:342:33 ??? [75] 68.1% ...-code/src/common.rkt:48:2 [164] 6.6% approximate9 [76] 5.3% hash-ref! [87] 4.2% ??? [161] 2.1% best-alt [77] 2.1% ------------------------------------------------------------------------------------------ for-loop [70] 100.0% [74] 1518(1.0%) 926(0.6%) ulp-difference ...lean-out-code/src/float.rkt:19:0 ??? [175] 20.7% return/no-unsupplied [114] 18.3% ------------------------------------------------------------------------------------------ for-loop [39] 0.2% get-sigs [153] 2.1% for-loop [12] 2.5% ??? [75] 15.2% ??? [73] 15.8% for-loop [79] 25.8% ??? [41] 38.1% [75] 69536(43.6%) 5336(3.3%) ??? ...llects/racket/private/norm-define.rkt:53:83 iterate-egraph!13 [78] 39.0% for-loop [79] 25.9% ??? [75] 15.2% ??? [81] 4.0% ??? [175] 3.9% ??? [73] 2.7% return/no-unsupplied [114] 1.3% loop [5] 0.6% *simplify-rules* [85] 0.4% mk-egraph [84] 0.4% ------------------------------------------------------------------------------------------ ??? [73] 100.0% [76] 2190(1.4%) 0(0.0%) approximate9 ...-out-code/src/core/taylor.rkt:12:0 loop [82] 85.8% f137 [80] 14.2% ------------------------------------------------------------------------------------------ ??? [73] 100.0% [77] 610(0.4%) 0(0.0%) best-alt .../clean-out-code/src/mainloop.rkt:108:0 loop [83] 100.0% ------------------------------------------------------------------------------------------ ??? [75] 100.0% [78] 55646(34.9%) 0(0.0%) iterate-egraph!13 ...e/src/core/simplify.rkt:105:0 one-iter [86] 99.5% ------------------------------------------------------------------------------------------ ??? [75] 100.0% [79] 37126(23.3%) 0(0.0%) for-loop ...n-out-code/src/core/simplify.rkt:66:12 ??? [75] 99.2% ??? [73] 0.8% ------------------------------------------------------------------------------------------ simplify [94] 0.3% approximate9 [76] 0.4% map [159] 0.6% for-loop [69] 0.8% eval-prog [155] 2.0% f137 [80] 4.7% get-final-combination [51] 91.2% [80] 36294(22.8%) 296(0.2%) f137 .../collects/racket/match/compiler.rkt:507:40 loop [110] 85.1% option-on-expr [121] 6.5% f137 [80] 4.7% ??? [73] 2.0% map [159] 0.9% ------------------------------------------------------------------------------------------ hash-has-key? [45] 23.6% ??? [75] 76.4% [81] 6688(4.2%) 3226(2.0%) ??? ...ects/racket/contract/private/list.rkt:737:4 for-loop [88] 33.2% ??? [95] 9.6% successfully-got-the-right-kind-of-function [183] 4.5% arrow-higher-order:lnp [90] 4.5% ------------------------------------------------------------------------------------------ approximate9 [76] 100.0% [82] 1880(1.2%) 0(0.0%) loop ...ie/clean-out-code/src/core/taylor.rkt:86:4 hash-ref! [87] 66.4% ??? [73] 33.6% ------------------------------------------------------------------------------------------ best-alt [77] 100.0% [83] 610(0.4%) 0(0.0%) loop ...herbie/clean-out-code/src/common.rkt:154:2 composed [89] 100.0% ------------------------------------------------------------------------------------------ ??? [75] 100.0% [84] 556(0.3%) 0(0.0%) mk-egraph ...an-out-code/src/core/egraph.rkt:131:0 mk-enode! [122] 100.0% ------------------------------------------------------------------------------------------ ??? [75] 100.0% [85] 298(0.2%) 0(0.0%) *simplify-rules* ...ode/src/syntax/rules.rkt:570:0 for-loop [91] 100.0% ------------------------------------------------------------------------------------------ iterate-egraph!13 [78] 100.0% [86] 55340(34.7%) 634(0.4%) one-iter ...n-out-code/src/core/simplify.rkt:116:0 for-loop [92] 74.8% for-loop [93] 24.0% ------------------------------------------------------------------------------------------ ??? [99] 2.1% for-loop [16] 2.5% eval-prog [155] 4.3% ??? [6] 6.6% localize-error [33] 6.6% ??? [97] 8.4% loop [110] 8.7% for-loop [14] 10.4% loop [82] 12.6% ??? [96] 17.0% ??? [73] 20.8% [87] 2546(1.6%) 0(0.0%) hash-ref! ...racket/private/more-scheme.rkt:373:13 ??? [97] 21.0% ??? [96] 17.0% simplify [94] 17.0% parse-loop145 [105] 13.1% ??? [98] 13.0% ??? [4] 10.4% taylor-quotient [8] 3.8% ??? [7] 2.5% ??? [99] 2.1% ------------------------------------------------------------------------------------------ ??? [81] 100.0% [88] 2218(1.4%) 328(0.2%) for-loop ...acket/contract/private/list.rkt:743:12 ??? [95] 57.8% for-loop [170] 14.5% ??? [102] 12.9% ------------------------------------------------------------------------------------------ loop [83] 100.0% [89] 610(0.4%) 0(0.0%) composed ...ollects/racket/private/list.rkt:321:16 errors [65] 100.0% ------------------------------------------------------------------------------------------ ??? [81] 100.0% [90] 300(0.2%) 0(0.0%) arrow-higher-order:lnp ...w-higher-order.rkt:597:7 ??? [100] 100.0% ------------------------------------------------------------------------------------------ *simplify-rules* [85] 100.0% [91] 298(0.2%) 0(0.0%) for-loop ...ie/clean-out-code/src/common.rkt:100:9 loop [101] 100.0% ------------------------------------------------------------------------------------------ one-iter [86] 100.0% [92] 41412(26.0%) 298(0.2%) for-loop ...n-out-code/src/core/simplify.rkt:166:2 for-loop [103] 86.3% match-e [104] 12.2% update-leader! [125] 0.8% ------------------------------------------------------------------------------------------ for-loop [93] 50.0% one-iter [86] 50.0% [93] 13294(8.3%) 3818(2.4%) for-loop ...-out-code/src/core/simplify.rkt:126:12 for-loop [93] 50.0% match-e [104] 35.6% ------------------------------------------------------------------------------------------ taylor-quotient [8] 13.4% loop [110] 14.2% hash-ref! [87] 72.4% [94] 2190(1.4%) 0(0.0%) simplify ...lean-out-code/src/core/reduce.rkt:16:0 parse-loop145 [105] 43.7% debug-print [107] 27.8% f137 [80] 14.3% ??? [167] 14.2% ------------------------------------------------------------------------------------------ ??? [81] 33.4% for-loop [88] 66.6% [95] 1924(1.2%) 1296(0.8%) ??? ...private/unconstrained-domain-arrow.rkt:74:4 make-keyword-procedure [106] 32.6% ------------------------------------------------------------------------------------------ hash-ref! [87] 100.0% [96] 1586(1.0%) 0(0.0%) ??? ...ie/clean-out-code/src/core/taylor.rkt:44:15 hash-ref! [87] 100.0% ------------------------------------------------------------------------------------------ hash-ref! [87] 100.0% [97] 1248(0.8%) 0(0.0%) ??? ...ie/clean-out-code/src/core/taylor.rkt:67:15 ??? [73] 62.6% hash-ref! [87] 37.4% ------------------------------------------------------------------------------------------ hash-ref! [87] 100.0% [98] 332(0.2%) 0(0.0%) ??? ...erbie/clean-out-code/src/programs.rkt:194:5 loop [110] 100.0% ------------------------------------------------------------------------------------------ hash-ref! [87] 100.0% [99] 326(0.2%) 0(0.0%) ??? ...e/clean-out-code/src/core/taylor.rkt:338:33 hash-ref! [87] 100.0% ------------------------------------------------------------------------------------------ arrow-higher-order:lnp [90] 100.0% [100] 300(0.2%) 300(0.2%) ??? ...et/contract/private/arity-checking.rkt:19:2 ------------------------------------------------------------------------------------------ for-loop [91] 100.0% [101] 298(0.2%) 0(0.0%) loop ...ket/collects/racket/private/map.rkt:112:23 flag-set? [108] 100.0% ------------------------------------------------------------------------------------------ for-loop [88] 100.0% [102] 286(0.2%) 0(0.0%) ??? ...ects/racket/contract/private/hash.rkt:222:6 check-hash/c [109] 100.0% ------------------------------------------------------------------------------------------ for-loop [92] 100.0% [103] 35752(22.4%) 0(0.0%) for-loop ...-out-code/src/core/simplify.rkt:148:10 mk-enode! [122] 25.7% loop! [135] 25.2% merge-egraph-nodes! [111] 24.0% list-member? [113] 15.2% substitute-e [115] 9.8% ------------------------------------------------------------------------------------------ for-loop [92] 22.4% for-loop [123] 24.6% for-loop [93] 53.0% [104] 14512(9.1%) 4772(3.0%) match-e ...clean-out-code/src/core/ematch.rkt:46:0 for-loop [112] 46.0% ??? [37] 10.2% custom-in-set [117] 6.6% for-loop [123] 5.0% variable? [116] 2.6% ------------------------------------------------------------------------------------------ ??? [17] 18.6% hash-ref! [87] 21.0% parse-loop145 [105] 29.7% simplify [94] 30.6% [105] 1588(1.0%) 928(0.6%) parse-loop145 .../racket/match/compiler.rkt:418:15 parse-loop145 [105] 29.7% loop [110] 21.0% parse-app [118] 3.4% ------------------------------------------------------------------------------------------ ??? [95] 100.0% [106] 628(0.4%) 628(0.4%) make-keyword-procedure ...ket/private/kw.rkt:260:4 ------------------------------------------------------------------------------------------ simplify [94] 100.0% [107] 608(0.4%) 294(0.2%) debug-print .../clean-out-code/src/debug.rkt:107:0 for-loop [119] 51.6% ------------------------------------------------------------------------------------------ loop [101] 100.0% [108] 298(0.2%) 0(0.0%) flag-set? ...ie/clean-out-code/src/config.rkt:34:0 return/no-unsupplied [114] 100.0% ------------------------------------------------------------------------------------------ ??? [102] 100.0% [109] 286(0.2%) 0(0.0%) check-hash/c ...ket/contract/private/hash.rkt:83:0 flat-contract? [120] 100.0% ------------------------------------------------------------------------------------------ parse-loop145 [105] 0.0% ??? [98] 0.3% loop [66] 0.5% make-exacts* [64] 0.7% loop! [135] 1.9% option-on-expr [121] 4.6% f137 [80] 12.4% loop [110] 79.5% [110] 95462(59.9%) 1926(1.2%) loop ...cket/collects/racket/private/map.rkt:25:19 loop [110] 79.5% option-on-expr [121] 12.1% errors [65] 4.6% loop! [135] 1.9% ??? [10] 0.8% simplify [94] 0.3% hash-ref! [87] 0.2% ??? [6] 0.0% ??? [73] 0.0% ------------------------------------------------------------------------------------------ merge-egraph-nodes! [111] 2.0% for-loop [126] 13.2% for-loop [103] 84.8% [111] 8598(5.4%) 0(0.0%) merge-egraph-nodes! ...e/src/core/egraph.rkt:153:0 update-leader! [125] 32.4% for-loop [127] 26.9% for-loop [126] 21.0% loop! [135] 17.7% merge-egraph-nodes! [111] 2.0% ------------------------------------------------------------------------------------------ match-e [104] 100.0% [112] 8160(5.1%) 3048(1.9%) for-loop ...ean-out-code/src/core/ematch.rkt:59:11 for-loop [123] 59.0% loop [129] 4.4% foldl [133] 3.8% curry* [131] 2.1% list-cartesian-product [132] 2.0% ------------------------------------------------------------------------------------------ for-loop [103] 100.0% [113] 5450(3.4%) 0(0.0%) list-member? ...llects/racket/private/set.rkt:24:0 loop [124] 93.4% member [130] 6.6% ------------------------------------------------------------------------------------------ ulp-difference [74] 7.3% flag-set? [108] 7.9% ??? [75] 24.3% ??? [26] 60.5% [114] 3784(2.4%) 3100(1.9%) return/no-unsupplied ...ct/private/arr-i.rkt:533:0 filter [128] 18.1% ------------------------------------------------------------------------------------------ for-loop [103] 100.0% [115] 3510(2.2%) 0(0.0%) substitute-e ...-out-code/src/core/ematch.rkt:71:0 mk-enode! [122] 100.0% ------------------------------------------------------------------------------------------ match-e [104] 100.0% [116] 958(0.6%) 0(0.0%) variable? ...-out-code/src/syntax/syntax.rkt:665:0 ??? [37] 100.0% ------------------------------------------------------------------------------------------ match-e [104] 100.0% [117] 954(0.6%) 954(0.6%) custom-in-set ...acket/private/set-types.rkt:577:0 ------------------------------------------------------------------------------------------ parse-loop145 [105] 100.0% [118] 326(0.2%) 326(0.2%) parse-app .../collects/racket/private/kw.rkt:951:2 ------------------------------------------------------------------------------------------ debug-print [107] 100.0% [119] 314(0.2%) 314(0.2%) for-loop ...bie/clean-out-code/src/debug.rkt:113:2 ------------------------------------------------------------------------------------------ check-hash/c [109] 100.0% [120] 286(0.2%) 286(0.2%) flat-contract? .../contract/private/guts.rkt:111:0 ------------------------------------------------------------------------------------------ f137 [80] 7.5% loop [110] 92.5% [121] 34730(21.8%) 0(0.0%) option-on-expr ...t-code/src/core/regimes.rkt:83:0 loop [110] 53.1% sort-context-on-expr [136] 31.1% err-lsts->split-indices [137] 13.9% pick-errors [140] 1.9% ------------------------------------------------------------------------------------------ mk-egraph [84] 4.2% substitute-e [115] 26.5% for-loop [103] 69.4% [122] 13268(8.3%) 616(0.4%) mk-enode! ...an-out-code/src/core/egraph.rkt:102:0 new-enode [134] 93.0% hash-has-key? [45] 2.4% ------------------------------------------------------------------------------------------ match-e [104] 18.5% for-loop [112] 81.5% [123] 7176(4.5%) 670(0.4%) for-loop ...ean-out-code/src/core/ematch.rkt:65:37 match-e [104] 88.7% ??? [142] 4.3% ------------------------------------------------------------------------------------------ list-member? [113] 100.0% [124] 5092(3.2%) 5092(3.2%) loop (unknown source) ------------------------------------------------------------------------------------------ for-loop [92] 9.9% merge-egraph-nodes! [111] 90.1% [125] 3294(2.1%) 722(0.5%) update-leader! ...t-code/src/core/egraph.rkt:218:0 for-loop [138] 58.0% custom-set-union! [139] 20.0% ------------------------------------------------------------------------------------------ merge-egraph-nodes! [111] 100.0% [126] 2720(1.7%) 0(0.0%) for-loop ...an-out-code/src/core/egraph.rkt:201:10 merge-egraph-nodes! [111] 68.9% loop! [135] 31.1% ------------------------------------------------------------------------------------------ merge-egraph-nodes! [111] 100.0% [127] 2314(1.5%) 1606(1.0%) for-loop ...ean-out-code/src/core/egraph.rkt:233:6 update-en-expr [176] 30.6% ------------------------------------------------------------------------------------------ return/no-unsupplied [114] 100.0% [128] 684(0.4%) 684(0.4%) filter ...t/collects/racket/private/list.rkt:256:2 ------------------------------------------------------------------------------------------ for-loop [112] 100.0% [129] 362(0.2%) 362(0.2%) loop ...ket/collects/racket/private/list.rkt:264:4 ------------------------------------------------------------------------------------------ list-member? [113] 100.0% [130] 358(0.2%) 358(0.2%) member (unknown source) ------------------------------------------------------------------------------------------ for-loop [112] 100.0% [131] 348(0.2%) 0(0.0%) curry* ...racket/collects/racket/function.rkt:44:2 procedure-arity [141] 100.0% ------------------------------------------------------------------------------------------ list-cartesian-product [132] 50.0% for-loop [112] 50.0% [132] 322(0.2%) 322(0.2%) list-cartesian-product ...src/core/ematch.rkt:20:0 list-cartesian-product [132] 50.0% ------------------------------------------------------------------------------------------ for-loop [112] 100.0% [133] 310(0.2%) 310(0.2%) foldl ...et/collects/racket/private/list.rkt:229:4 ------------------------------------------------------------------------------------------ mk-enode! [122] 100.0% [134] 12334(7.7%) 0(0.0%) new-enode ...lean-out-code/src/core/enode.rkt:97:0 type-of-enode-expr [143] 97.4% set [147] 2.6% ------------------------------------------------------------------------------------------ for-loop [126] 5.5% merge-egraph-nodes! [111] 8.9% loop [110] 30.7% for-loop [103] 54.9% [135] 12308(7.7%) 3176(2.0%) loop! ...e/clean-out-code/src/core/enode.rkt:192:2 loop [110] 35.9% custom-set-union [146] 30.6% set [147] 13.0% update-en-expr [176] 5.2% ------------------------------------------------------------------------------------------ option-on-expr [121] 100.0% [136] 10814(6.8%) 0(0.0%) sort-context-on-expr ...-code/src/points.rkt:115:0 ??? [144] 97.2% eval-prog [155] 2.8% ------------------------------------------------------------------------------------------ option-on-expr [121] 100.0% [137] 4830(3.0%) 0(0.0%) err-lsts->split-indices .../core/regimes.rkt:239:0 add-splitpoint [145] 93.3% for-loop [150] 6.7% ------------------------------------------------------------------------------------------ update-leader! [125] 100.0% [138] 1912(1.2%) 0(0.0%) for-loop ...ean-out-code/src/core/egraph.rkt:223:6 for-loop [148] 100.0% ------------------------------------------------------------------------------------------ update-leader! [125] 100.0% [139] 660(0.4%) 360(0.2%) custom-set-union! ...t/private/set-types.rkt:245:0 for-loop [152] 45.5% ------------------------------------------------------------------------------------------ option-on-expr [121] 100.0% [140] 648(0.4%) 0(0.0%) pick-errors ...out-code/src/core/regimes.rkt:201:0 point->alt [149] 100.0% ------------------------------------------------------------------------------------------ curry* [131] 100.0% [141] 348(0.2%) 348(0.2%) procedure-arity ...ket/private/norm-arity.rkt:7:27 ------------------------------------------------------------------------------------------ for-loop [123] 100.0% [142] 310(0.2%) 0(0.0%) ??? ...bie/clean-out-code/src/core/ematch.rkt:50:5 for-loop [151] 100.0% ------------------------------------------------------------------------------------------ new-enode [134] 100.0% [143] 12018(7.5%) 0(0.0%) type-of-enode-expr ...code/src/core/enode.rkt:68:0 get-sigs [153] 100.0% ------------------------------------------------------------------------------------------ sort-context-on-expr [136] 100.0% [144] 10506(6.6%) 0(0.0%) ??? ...cket/collects/racket/private/sort.rkt:403:3 generic-sort/key [154] 96.8% loop [168] 3.2% ------------------------------------------------------------------------------------------ err-lsts->split-indices [137] 100.0% [145] 4506(2.8%) 0(0.0%) add-splitpoint ...-code/src/core/regimes.rkt:253:2 for-loop [156] 100.0% ------------------------------------------------------------------------------------------ loop! [135] 100.0% [146] 3910(2.5%) 1258(0.8%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [157] 67.8% ------------------------------------------------------------------------------------------ new-enode [134] 8.7% loop! [135] 91.3% [147] 3628(2.3%) 3628(2.3%) set ...collects/racket/private/set-types.rkt:981:0 ------------------------------------------------------------------------------------------ for-loop [138] 100.0% [148] 1912(1.2%) 0(0.0%) for-loop ...ean-out-code/src/core/egraph.rkt:224:8 hash-update! [158] 100.0% ------------------------------------------------------------------------------------------ pick-errors [140] 100.0% [149] 648(0.4%) 0(0.0%) point->alt ...-out-code/src/core/regimes.rkt:188:0 eval-prog [155] 100.0% ------------------------------------------------------------------------------------------ err-lsts->split-indices [137] 100.0% [150] 324(0.2%) 0(0.0%) for-loop ...an-out-code/src/core/regimes.rkt:279:4 map [159] 100.0% ------------------------------------------------------------------------------------------ ??? [142] 100.0% [151] 310(0.2%) 310(0.2%) for-loop ...lean-out-code/src/core/ematch.rkt:51:7 ------------------------------------------------------------------------------------------ custom-set-union! [139] 100.0% [152] 300(0.2%) 300(0.2%) for-loop ...cts/racket/private/set-types.rkt:253:4 ------------------------------------------------------------------------------------------ type-of-enode-expr [143] 100.0% [153] 12018(7.5%) 0(0.0%) get-sigs .../clean-out-code/src/type-check.rkt:5:0 ??? [161] 47.4% ??? [75] 36.8% ??? [37] 10.6% ...-code/src/common.rkt:48:2 [164] 5.2% ------------------------------------------------------------------------------------------ ??? [144] 100.0% [154] 10172(6.4%) 0(0.0%) generic-sort/key .../racket/private/sort.rkt:185:2 copying-mergesort [160] 77.7% loop [168] 22.3% ------------------------------------------------------------------------------------------ sort-context-on-expr [136] 4.5% make-exacts* [64] 8.8% point->alt [149] 9.5% errors [65] 77.2% [155] 6794(4.3%) 2912(1.8%) eval-prog ...clean-out-code/src/programs.rkt:150:0 f137 [80] 42.6% ??? [166] 9.7% hash-ref! [87] 4.9% ------------------------------------------------------------------------------------------ add-splitpoint [145] 100.0% [156] 4506(2.8%) 338(0.2%) for-loop ...an-out-code/src/core/regimes.rkt:255:4 for-loop [162] 92.5% ------------------------------------------------------------------------------------------ custom-set-union [146] 100.0% [157] 2652(1.7%) 1032(0.6%) for-loop ...cts/racket/private/set-types.rkt:174:3 for-loop [165] 61.1% ------------------------------------------------------------------------------------------ for-loop [148] 100.0% [158] 1912(1.2%) 0(0.0%) hash-update! ...ket/private/more-scheme.rkt:362:13 ??? [163] 100.0% ------------------------------------------------------------------------------------------ f137 [80] 49.2% for-loop [150] 50.8% [159] 638(0.4%) 324(0.2%) map ...acket/collects/racket/private/map.rkt:20:13 f137 [80] 32.8% ??? [167] 16.4% ------------------------------------------------------------------------------------------ copying-mergesort [160] 49.0% generic-sort/key [154] 51.0% [160] 7904(5.0%) 0(0.0%) copying-mergesort ...racket/private/sort.rkt:130:8 copying-mergesort [160] 49.0% loop [168] 38.4% jloop [3] 12.7% ------------------------------------------------------------------------------------------ ??? [73] 5.3% get-sigs [153] 94.7% [161] 6010(3.8%) 296(0.2%) ??? ...ts/racket/contract/private/arr-i.rkt:804:10 ??? [169] 46.4% for-loop [170] 32.9% get/build-late-neg-projection [187] 15.7% ------------------------------------------------------------------------------------------ for-loop [156] 100.0% [162] 4168(2.6%) 4168(2.6%) for-loop ...an-out-code/src/core/regimes.rkt:259:8 ------------------------------------------------------------------------------------------ hash-update! [158] 100.0% [163] 1912(1.2%) 0(0.0%) ??? ...e/clean-out-code/src/core/egraph.rkt:226:24 for-loop [171] 100.0% ------------------------------------------------------------------------------------------ for-loop [39] 15.1% get-sigs [153] 33.3% ??? [73] 51.6% [164] 1892(1.2%) 660(0.4%) ...-code/src/common.rkt:48:2 ...e/arr-i.rkt:906:19 ??? [172] 49.4% ??? [174] 15.8% ------------------------------------------------------------------------------------------ for-loop [157] 100.0% [165] 1620(1.0%) 1620(1.0%) for-loop ...cts/racket/private/set-types.rkt:178:5 ------------------------------------------------------------------------------------------ eval-prog [155] 100.0% [166] 658(0.4%) 0(0.0%) ??? ...cket/collects/racket/private/kw.rkt:1633:36 unpack245 [173] 100.0% ------------------------------------------------------------------------------------------ simplify [94] 49.7% map [159] 50.3% [167] 624(0.4%) 624(0.4%) ??? ...bie/clean-out-code/src/core/reduce.rkt:61:5 ------------------------------------------------------------------------------------------ ??? [144] 5.1% generic-sort/key [154] 34.9% copying-mergesort [160] 60.0% [168] 6506(4.1%) 0(0.0%) loop ...ket/collects/racket/private/sort.rkt:97:12 ??? [10] 100.0% ------------------------------------------------------------------------------------------ ??? [161] 100.0% [169] 2790(1.7%) 650(0.4%) ??? ...ects/racket/contract/private/hash.rkt:217:4 ??? [178] 76.7% ------------------------------------------------------------------------------------------ for-loop [88] 14.0% ??? [161] 86.0% [170] 2302(1.4%) 646(0.4%) for-loop ...racket/contract/private/hash.rkt:239:6 ??? [177] 71.9% ------------------------------------------------------------------------------------------ ??? [163] 100.0% [171] 1912(1.2%) 1254(0.8%) for-loop ...an-out-code/src/core/egraph.rkt:227:26 update-en-expr [176] 34.4% ------------------------------------------------------------------------------------------ ...-code/src/common.rkt:48:2 [164] 100.0% [172] 934(0.6%) 308(0.2%) ??? ...s/racket/contract/private/arr-i.rkt:1268:39 ??? [175] 67.0% ------------------------------------------------------------------------------------------ ??? [166] 100.0% [173] 658(0.4%) 0(0.0%) unpack245 ...private/arrow-higher-order.rkt:354:44 maybe-cons-kwd [179] 100.0% ------------------------------------------------------------------------------------------ ??? [177] 50.0% ...-code/src/common.rkt:48:2 [164] 50.0% [174] 298(0.2%) 298(0.2%) ??? ...ects/racket/contract/private/list.rkt:342:4 ??? [177] 50.0% ------------------------------------------------------------------------------------------ ulp-difference [74] 6.3% ??? [172] 12.6% ??? [26] 27.0% ??? [75] 54.1% [175] 4968(3.1%) 678(0.4%) ??? ...racket/collects/racket/private/kw.rkt:761:9 ??? [180] 59.6% ??? [184] 26.7% ------------------------------------------------------------------------------------------ for-loop [171] 24.9% for-loop [127] 26.8% loop! [135] 48.2% [176] 2638(1.7%) 2638(1.7%) update-en-expr ...t-code/src/core/egraph.rkt:212:0 ------------------------------------------------------------------------------------------ ??? [174] 13.0% ...higher-order.rkt:346:33 [31] 14.6% for-loop [170] 72.4% [177] 2288(1.4%) 0(0.0%) ??? ...cts/racket/contract/private/list.rkt:187:10 ??? [182] 72.4% ??? [184] 14.6% ??? [174] 13.0% ------------------------------------------------------------------------------------------ ??? [169] 100.0% [178] 2140(1.3%) 320(0.2%) ??? ...ects/racket/contract/private/list.rkt:169:2 ??? [181] 85.0% ------------------------------------------------------------------------------------------ unpack245 [173] 100.0% [179] 658(0.4%) 334(0.2%) maybe-cons-kwd ...ate/arrow-higher-order.rkt:498:0 successfully-got-the-right-kind-of-function [183] 49.2% ------------------------------------------------------------------------------------------ ??? [175] 100.0% [180] 2962(1.9%) 2962(1.9%) ??? ...s/racket/contract/private/arr-i.rkt:1233:27 ------------------------------------------------------------------------------------------ ??? [178] 100.0% [181] 1820(1.1%) 334(0.2%) ??? ...ects/racket/contract/private/list.rkt:678:5 for-loop [185] 81.6% ------------------------------------------------------------------------------------------ ??? [177] 100.0% [182] 1656(1.0%) 0(0.0%) ??? ...ects/racket/contract/private/list.rkt:686:7 ??? [184] 100.0% ------------------------------------------------------------------------------------------ ??? [81] 48.2% maybe-cons-kwd [179] 51.8% [183] 626(0.4%) 324(0.2%) successfully-got-the-right-kind-of-function ...9:4 arity-checking-wrapper [186] 48.2% ------------------------------------------------------------------------------------------ ??? [177] 10.1% ??? [175] 40.0% ??? [182] 49.9% [184] 3318(2.1%) 2692(1.7%) ??? ...ects/racket/contract/private/guts.rkt:644:8 dict? [189] 18.9% ------------------------------------------------------------------------------------------ ??? [181] 100.0% [185] 1486(0.9%) 0(0.0%) for-loop ...racket/contract/private/list.rkt:680:9 add-list-context [188] 58.5% get/build-late-neg-projection [187] 41.5% ------------------------------------------------------------------------------------------ successfully-got-the-right-kind-of-function [183]100.0% [186] 302(0.2%) 0(0.0%) arity-checking-wrapper ...w-higher-order.rkt:402:0 matches-arity-exactly? [190] 100.0% ------------------------------------------------------------------------------------------ ??? [192] 20.1% for-loop [185] 39.5% ??? [161] 40.4% [187] 1560(1.0%) 616(0.4%) get/build-late-neg-projection ...te/guts.rkt:691:0 unconstrained-domain->-projection [193] 20.4% ??? [192] 20.1% ??? [191] 20.1% ------------------------------------------------------------------------------------------ for-loop [185] 100.0% [188] 870(0.5%) 870(0.5%) add-list-context ...ontract/private/list.rkt:752:0 ------------------------------------------------------------------------------------------ ??? [184] 100.0% [189] 626(0.4%) 626(0.4%) dict? ...ollects/racket/private/generic.rkt:146:11 ------------------------------------------------------------------------------------------ arity-checking-wrapper [186] 100.0% [190] 302(0.2%) 302(0.2%) matches-arity-exactly? ...te/arrow-common.rkt:70:0 ------------------------------------------------------------------------------------------ get/build-late-neg-projection [187] 100.0% [191] 626(0.4%) 292(0.2%) ??? ...cts/racket/contract/private/prop.rkt:314:12 build-compound-type-name [194] 53.4% ------------------------------------------------------------------------------------------ get/build-late-neg-projection [187] 100.0% [192] 626(0.4%) 0(0.0%) ??? ...ects/racket/contract/private/hash.rkt:211:2 get/build-late-neg-projection [187] 100.0% ------------------------------------------------------------------------------------------ get/build-late-neg-projection [187] 100.0% [193] 318(0.2%) 318(0.2%) unconstrained-domain->-projection ...rrow.rkt:60:0 ------------------------------------------------------------------------------------------ ??? [191] 100.0% [194] 334(0.2%) 334(0.2%) build-compound-type-name ...private/guts.rkt:448:0 ------------------------------------------------------------------------------------------