Profiling results ----------------- Total cpu time observed: 29024ms (out of 29208ms) Number of samples taken: 142 (once every 204ms) (Hiding functions with self<1.0% and local<2.0%: 3 of 210 hidden) ====================================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ====================================================================================== [1] 29024(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [14] 100.0% -------------------------------------------------------------------------------------- ??? [178] 100.0% [2] 4076(14.0%) 0(0.0%) approximate9 ...y-regraph/src/core/taylor.rkt:11:0 loop [15] 100.0% -------------------------------------------------------------------------------------- hash-ref! [185] 100.0% [3] 3654(12.6%) 0(0.0%) ??? .../simplify-regraph/src/core/taylor.rkt:44:15 hash-ref! [185] 83.6% ??? [25] 10.9% f61 [191] 5.5% -------------------------------------------------------------------------------------- hash-ref! [185] 100.0% [4] 2652(9.1%) 0(0.0%) ??? ...simplify-regraph/src/core/taylor.rkt:290:26 for-loop [17] 100.0% -------------------------------------------------------------------------------------- map [76] 38.8% hash-ref! [185] 61.2% [5] 2630(9.1%) 0(0.0%) parse-loop74 (unknown source) eval-const-expr [16] 100.0% -------------------------------------------------------------------------------------- hash-ref! [185] 100.0% [6] 1642(5.7%) 0(0.0%) ??? .../simplify-regraph/src/core/taylor.rkt:67:15 ??? [178] 81.1% hash-ref! [185] 18.9% -------------------------------------------------------------------------------------- loop [157] 16.4% for-loop [144] 83.6% [7] 1206(4.2%) 0(0.0%) syntax-e (unknown source) syntax-e/no-taint [18] 100.0% -------------------------------------------------------------------------------------- matcher [85] 100.0% [8] 1036(3.6%) 0(0.0%) ??? ...implify-regraph/src/core/matcher.rkt:127:11 for-loop [19] 79.2% for-loop [22] 20.8% -------------------------------------------------------------------------------------- hash-ref! [185] 100.0% [9] 600(2.1%) 0(0.0%) ??? ...simplify-regraph/src/core/taylor.rkt:300:23 for-loop [20] 100.0% -------------------------------------------------------------------------------------- map [76] 17.5% taylor [10] 41.2% hash-ref! [185] 41.2% [10] 422(1.5%) 0(0.0%) taylor ...mplify-regraph/src/core/taylor.rkt:169:0 map [76] 58.8% taylor [10] 41.2% -------------------------------------------------------------------------------------- map [76] 100.0% [11] 222(0.8%) 0(0.0%) taylor-quotient ...graph/src/core/taylor.rkt:333:0 first-nonzero-exp [21] 100.0% -------------------------------------------------------------------------------------- for-loop [144] 100.0% [12] 200(0.7%) 0(0.0%) expand-implicit (unknown source) datum->syntax6 [154] 100.0% -------------------------------------------------------------------------------------- map [76] 100.0% [13] 200(0.7%) 0(0.0%) taylor-invert ...regraph/src/core/taylor.rkt:317:0 first-nonzero-exp [21] 100.0% -------------------------------------------------------------------------------------- ??? [1] 100.0% [14] 29024(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [23] 100.0% -------------------------------------------------------------------------------------- approximate9 [2] 100.0% [15] 4076(14.0%) 0(0.0%) loop .../simplify-regraph/src/core/taylor.rkt:86:4 ??? [178] 59.7% hash-ref! [185] 40.3% -------------------------------------------------------------------------------------- f61 [191] 32.1% parse-loop74 [5] 67.9% [16] 3876(13.4%) 0(0.0%) eval-const-expr ...-regraph/src/programs.rkt:120:0 temp85_0 [83] 73.6% loop [157] 26.4% -------------------------------------------------------------------------------------- ??? [4] 100.0% [17] 2652(9.1%) 0(0.0%) for-loop ...ify-regraph/src/core/taylor.rkt:290:52 hash-ref! [185] 80.4% ??? [25] 11.3% f61 [191] 8.4% -------------------------------------------------------------------------------------- gf [161] 11.0% expand-id-application-form17 [163] 22.4% syntax-e [7] 66.6% [18] 1812(6.2%) 0(0.0%) syntax-e/no-taint (unknown source) loop [157] 100.0% -------------------------------------------------------------------------------------- ??? [8] 100.0% [19] 820(2.8%) 0(0.0%) for-loop ...fy-regraph/src/core/matcher.rkt:129:15 matcher [85] 100.0% -------------------------------------------------------------------------------------- ??? [9] 100.0% [20] 600(2.1%) 0(0.0%) for-loop ...ify-regraph/src/core/taylor.rkt:303:27 hash-ref! [185] 66.7% f40 [24] 33.3% -------------------------------------------------------------------------------------- taylor-invert [13] 47.4% taylor-quotient [11] 52.6% [21] 422(1.5%) 0(0.0%) first-nonzero-exp ...aph/src/core/taylor.rkt:265:0 f40 [24] 52.6% hash-ref! [185] 47.4% -------------------------------------------------------------------------------------- ??? [8] 100.0% [22] 216(0.7%) 0(0.0%) for-loop ...ify-regraph/src/core/matcher.rkt:103:4 foldl [164] 100.0% -------------------------------------------------------------------------------------- profile-thunk16 [14] 100.0% [23] 29024(100.0%) 0(0.0%) run ...et-7.5/share/pkgs/profile-lib/main.rkt:39:2 .../more-scheme.rkt:261:28 [26] 100.0% -------------------------------------------------------------------------------------- ??? [178] 3.3% for-loop [20] 6.0% first-nonzero-exp [21] 6.7% map [76] 37.7% hash-ref! [185] 46.3% [24] 1664(5.7%) 0(0.0%) f40 (unknown source) map [76] 100.0% -------------------------------------------------------------------------------------- for-loop [17] 49.9% ??? [3] 50.1% [25] 798(2.7%) 0(0.0%) ??? ...simplify-regraph/src/core/taylor.rkt:293:19 hash-ref! [185] 100.0% -------------------------------------------------------------------------------------- for-loop [84] 2.8% run [23] 97.2% [26] 29024(100.0%) 396(1.4%) .../more-scheme.rkt:261:28 (unknown source) run-improve47 [27] 77.4% prepare-points-intervals [28] 13.9% oracle-error [29] 2.8% get-final-combination [30] 2.1% ??? [98] 1.4% errors [75] 1.0% ??? [178] 0.4% -------------------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [26] 100.0% [27] 22974(79.2%) 0(0.0%) run-improve47 ...fy-regraph/src/mainloop.rkt:346:0 for-loop [31] 84.8% simplify! [40] 15.2% -------------------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [26] 100.0% [28] 4024(13.9%) 0(0.0%) prepare-points-intervals ...h/src/points.rkt:120:0 loop [32] 100.0% -------------------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [26] 100.0% [29] 808(2.8%) 0(0.0%) oracle-error ...plify-regraph/src/points.rkt:177:0 for-loop [33] 100.0% -------------------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [26] 100.0% [30] 622(2.1%) 0(0.0%) get-final-combination ...ph/src/mainloop.rkt:371:0 infer-splitpoints [34] 100.0% -------------------------------------------------------------------------------------- run-improve47 [27] 100.0% [31] 19478(67.1%) 0(0.0%) for-loop ...implify-regraph/src/mainloop.rkt:365:4 run-iter! [35] 100.0% -------------------------------------------------------------------------------------- prepare-points-intervals [28] 100.0% [32] 4024(13.9%) 0(0.0%) loop ...rbie/simplify-regraph/src/points.rkt:132:4 ??? [36] 50.0% loop [37] 50.0% -------------------------------------------------------------------------------------- oracle-error [29] 100.0% [33] 808(2.8%) 0(0.0%) for-loop .../simplify-regraph/src/points.rkt:178:2 loop [157] 75.0% loop [39] 25.0% -------------------------------------------------------------------------------------- get-final-combination [30] 100.0% [34] 622(2.1%) 0(0.0%) infer-splitpoints ...aph/src/core/regimes.rkt:33:0 for-loop [38] 100.0% -------------------------------------------------------------------------------------- for-loop [31] 100.0% [35] 19478(67.1%) 0(0.0%) run-iter! ...mplify-regraph/src/mainloop.rkt:327:0 simplify! [40] 56.8% gen-series! [41] 22.1% finalize-iter! [42] 14.8% gen-rewrites! [43] 5.3% localize! [46] 1.0% -------------------------------------------------------------------------------------- loop [32] 100.0% [36] 2014(6.9%) 200(0.7%) ??? ...erbie/simplify-regraph/src/points.rkt:113:6 sample-multi-bounded [160] 80.1% loop [157] 9.9% -------------------------------------------------------------------------------------- loop [32] 100.0% [37] 2010(6.9%) 200(0.7%) loop ...erbie/simplify-regraph/src/points.rkt:79:2 ??? [178] 40.2% ??? [44] 39.9% real->precision [47] 10.0% -------------------------------------------------------------------------------------- infer-splitpoints [34] 100.0% [38] 622(2.1%) 0(0.0%) for-loop ...lify-regraph/src/core/regimes.rkt:45:6 option-on-expr [45] 100.0% -------------------------------------------------------------------------------------- for-loop [33] 100.0% [39] 202(0.7%) 202(0.7%) loop .../racket-7.5/collects/racket/list.rkt:751:4 -------------------------------------------------------------------------------------- run-improve47 [27] 24.0% run-iter! [35] 76.0% [40] 14554(50.1%) 0(0.0%) simplify! ...mplify-regraph/src/mainloop.rkt:224:0 ??? [48] 100.0% -------------------------------------------------------------------------------------- run-iter! [35] 100.0% [41] 4298(14.8%) 0(0.0%) gen-series! ...lify-regraph/src/mainloop.rkt:160:0 for-loop [49] 100.0% -------------------------------------------------------------------------------------- run-iter! [35] 100.0% [42] 2882(9.9%) 0(0.0%) finalize-iter! ...y-regraph/src/mainloop.rkt:278:0 ??? [50] 100.0% -------------------------------------------------------------------------------------- run-iter! [35] 100.0% [43] 1036(3.6%) 0(0.0%) gen-rewrites! ...fy-regraph/src/mainloop.rkt:183:0 for-loop [51] 100.0% -------------------------------------------------------------------------------------- loop [37] 100.0% [44] 802(2.8%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:379:33 ival-log [53] 49.9% ival-add [56] 25.2% ival-sub [58] 24.9% -------------------------------------------------------------------------------------- for-loop [38] 100.0% [45] 622(2.1%) 0(0.0%) option-on-expr ...graph/src/core/regimes.rkt:124:0 err-lsts->split-indices [52] 65.3% sort-context-on-expr [54] 34.7% -------------------------------------------------------------------------------------- run-iter! [35] 100.0% [46] 204(0.7%) 0(0.0%) localize! ...mplify-regraph/src/mainloop.rkt:127:0 localize-error [55] 100.0% -------------------------------------------------------------------------------------- loop [37] 100.0% [47] 200(0.7%) 0(0.0%) real->precision ...-regraph/src/programs.rkt:94:11 ??? [57] 100.0% -------------------------------------------------------------------------------------- simplify! [40] 100.0% [48] 14554(50.1%) 0(0.0%) ??? ...simplify-regraph/src/core/simplify.rkt:38:0 ??? [59] 100.0% -------------------------------------------------------------------------------------- gen-series! [41] 100.0% [49] 4298(14.8%) 0(0.0%) for-loop ...implify-regraph/src/mainloop.rkt:167:7 taylor-alt [60] 100.0% -------------------------------------------------------------------------------------- finalize-iter! [42] 100.0% [50] 2882(9.9%) 0(0.0%) ??? ...contract/private/arrow-val-first.rkt:486:18 for-loop [61] 100.0% -------------------------------------------------------------------------------------- gen-rewrites! [43] 100.0% [51] 1036(3.6%) 0(0.0%) for-loop ...mplify-regraph/src/mainloop.rkt:191:11 rewrite-expression-head24 [62] 100.0% -------------------------------------------------------------------------------------- option-on-expr [45] 100.0% [52] 406(1.4%) 0(0.0%) err-lsts->split-indices .../core/regimes.rkt:263:0 loop [63] 100.0% -------------------------------------------------------------------------------------- ??? [44] 100.0% [53] 400(1.4%) 0(0.0%) ival-log ...lify-regraph/src/biginterval.rkt:202:0 bflog [64] 100.0% -------------------------------------------------------------------------------------- option-on-expr [45] 100.0% [54] 216(0.7%) 0(0.0%) sort-context-on-expr ...src/core/regimes.rkt:117:0 ??? [65] 100.0% -------------------------------------------------------------------------------------- localize! [46] 100.0% [55] 204(0.7%) 0(0.0%) localize-error ...graph/src/core/localize.rkt:58:0 hash-ref! [185] 100.0% -------------------------------------------------------------------------------------- ??? [44] 100.0% [56] 202(0.7%) 202(0.7%) ival-add ...lify-regraph/src/biginterval.rkt:102:0 -------------------------------------------------------------------------------------- real->precision [47] 100.0% [57] 200(0.7%) 0(0.0%) ??? ...ects/racket/contract/private/guts.rkt:770:8 bigvalue? [66] 100.0% -------------------------------------------------------------------------------------- ??? [44] 100.0% [58] 200(0.7%) 0(0.0%) ival-sub ...lify-regraph/src/biginterval.rkt:108:0 bfmul [193] 100.0% -------------------------------------------------------------------------------------- ??? [48] 100.0% [59] 14554(50.1%) 0(0.0%) ??? ...simplify-regraph/src/core/simplify.rkt:56:0 for-loop [67] 100.0% -------------------------------------------------------------------------------------- for-loop [49] 100.0% [60] 4298(14.8%) 0(0.0%) taylor-alt ...plify-regraph/src/mainloop.rkt:146:0 for-loop [68] 100.0% -------------------------------------------------------------------------------------- ??? [50] 100.0% [61] 2882(9.9%) 0(0.0%) for-loop ...fy-regraph/src/core/alt-table.rkt:46:2 atab-add-altn [69] 79.3% errors [75] 6.9% override-at-pnts [78] 6.9% loop [73] 6.9% -------------------------------------------------------------------------------------- for-loop [51] 100.0% [62] 1036(3.6%) 0(0.0%) rewrite-expression-head24 ...core/matcher.rkt:85:0 rewriter [70] 100.0% -------------------------------------------------------------------------------------- err-lsts->split-indices [52] 100.0% [63] 406(1.4%) 0(0.0%) loop ...implify-regraph/src/core/regimes.rkt:314:4 for-loop [71] 100.0% -------------------------------------------------------------------------------------- ival-log [53] 100.0% [64] 400(1.4%) 0(0.0%) bflog ...-lib/math/private/bigfloat/mpfr.rkt:632:4 ??? [206] 100.0% -------------------------------------------------------------------------------------- sort-context-on-expr [54] 100.0% [65] 216(0.7%) 0(0.0%) ??? ...-7.5/collects/racket/private/sort.rkt:369:3 generic-sort/key [72] 100.0% -------------------------------------------------------------------------------------- ??? [57] 100.0% [66] 200(0.7%) 200(0.7%) bigvalue? ...ify-regraph/src/syntax/types.rkt:19:0 -------------------------------------------------------------------------------------- ??? [59] 100.0% [67] 14554(50.1%) 0(0.0%) for-loop ...ify-regraph/src/core/simplify.rkt:76:2 for-loop [74] 100.0% -------------------------------------------------------------------------------------- taylor-alt [60] 100.0% [68] 4298(14.8%) 0(0.0%) for-loop ...implify-regraph/src/mainloop.rkt:152:6 ??? [178] 100.0% -------------------------------------------------------------------------------------- for-loop [61] 100.0% [69] 2284(7.9%) 0(0.0%) atab-add-altn ...raph/src/core/alt-table.rkt:194:0 errors [75] 81.4% loop [80] 9.5% override-at-pnts [78] 9.1% -------------------------------------------------------------------------------------- rewrite-expression-head24 [62] 46.4% matcher [85] 53.6% [70] 1036(3.6%) 404(1.4%) rewriter ...lify-regraph/src/core/matcher.rkt:87:2 for-loop [77] 91.2% -------------------------------------------------------------------------------------- loop [63] 100.0% [71] 406(1.4%) 0(0.0%) for-loop ...ify-regraph/src/core/regimes.rkt:279:4 for-loop [79] 100.0% -------------------------------------------------------------------------------------- ??? [65] 100.0% [72] 216(0.7%) 0(0.0%) generic-sort/key .../racket/private/sort.rkt:156:2 copying-mergesort [81] 100.0% -------------------------------------------------------------------------------------- for-loop [61] 100.0% [73] 198(0.7%) 0(0.0%) loop ...plify-regraph/src/core/alt-table.rkt:168:2 map [76] 100.0% -------------------------------------------------------------------------------------- for-loop [67] 100.0% [74] 14554(50.1%) 0(0.0%) for-loop ...ify-regraph/src/core/simplify.rkt:80:4 ??? [82] 94.3% loop [87] 2.8% prune-phase [89] 1.5% ??? [93] 1.4% -------------------------------------------------------------------------------------- for-loop [61] 7.5% .../more-scheme.rkt:261:28 [26] 22.4% atab-add-altn [69] 70.0% [75] 2656(9.2%) 0(0.0%) errors ...ie/simplify-regraph/src/points.rkt:190:0 for-loop [84] 61.1% temp85_0 [83] 31.4% eval-prog [92] 7.5% -------------------------------------------------------------------------------------- loop [73] 10.6% taylor [10] 11.3% f40 [24] 78.0% [76] 1862(6.4%) 0(0.0%) map ...t-7.5/collects/racket/private/map.rkt:35:13 f40 [24] 30.7% parse-loop74 [5] 27.0% simplify* [88] 11.9% loop [94] 10.6% f61 [191] 8.4% taylor-invert [13] 5.4% taylor [10] 3.0% taylor-quotient [11] 3.0% -------------------------------------------------------------------------------------- rewriter [70] 100.0% [77] 1036(3.6%) 0(0.0%) for-loop ...lify-regraph/src/core/matcher.rkt:89:4 matcher [85] 89.7% for-loop [91] 10.3% -------------------------------------------------------------------------------------- for-loop [61] 49.0% atab-add-altn [69] 51.0% [78] 408(1.4%) 0(0.0%) override-at-pnts ...h/src/core/alt-table.rkt:129:0 for-loop [86] 100.0% -------------------------------------------------------------------------------------- for-loop [71] 100.0% [79] 406(1.4%) 406(1.4%) for-loop ...ify-regraph/src/core/regimes.rkt:283:8 -------------------------------------------------------------------------------------- atab-add-altn [69] 100.0% [80] 216(0.7%) 216(0.7%) loop ...-7.5/collects/racket/private/hash.rkt:20:4 -------------------------------------------------------------------------------------- generic-sort/key [72] 25.0% copying-mergesort [81] 75.0% [81] 216(0.7%) 0(0.0%) copying-mergesort ...racket/private/sort.rkt:129:8 copying-mergesort [81] 75.0% jloop [90] 25.0% -------------------------------------------------------------------------------------- for-loop [74] 100.0% [82] 13726(47.3%) 0(0.0%) ??? .../p92/.racket/7.5/pkgs/regraph/main.rkt:42:0 for-loop [95] 61.4% find-matches [96] 38.6% -------------------------------------------------------------------------------------- errors [75] 22.6% eval-const-expr [16] 77.4% [83] 3688(12.7%) 0(0.0%) temp85_0 (unknown source) compile15 [97] 100.0% -------------------------------------------------------------------------------------- errors [75] 100.0% [84] 1622(5.6%) 0(0.0%) for-loop .../simplify-regraph/src/points.rkt:192:2 .../more-scheme.rkt:261:28 [26] 100.0% -------------------------------------------------------------------------------------- for-loop [19] 37.6% for-loop [77] 62.4% [85] 1036(3.6%) 0(0.0%) matcher ...lify-regraph/src/core/matcher.rkt:115:2 ??? [8] 58.5% rewriter [70] 37.6% constant? [102] 3.9% -------------------------------------------------------------------------------------- override-at-pnts [78] 100.0% [86] 408(1.4%) 408(1.4%) for-loop ...-regraph/src/core/alt-table.rkt:130:22 -------------------------------------------------------------------------------------- for-loop [74] 100.0% [87] 408(1.4%) 0(0.0%) loop ...acket/7.5/pkgs/regraph/extraction.rkt:25:2 for-loop [99] 100.0% -------------------------------------------------------------------------------------- map [76] 100.0% [88] 222(0.8%) 222(0.8%) simplify* ...lify-regraph/src/core/reduce.rkt:29:0 -------------------------------------------------------------------------------------- for-loop [74] 100.0% [89] 220(0.8%) 0(0.0%) prune-phase ...cket/7.5/pkgs/regraph/main.rkt:70:0 for-loop [100] 100.0% -------------------------------------------------------------------------------------- copying-mergesort [81] 100.0% [90] 216(0.7%) 0(0.0%) jloop ...5/collects/racket/private/sort.rkt:120:23 ??? [98] 100.0% -------------------------------------------------------------------------------------- for-loop [77] 100.0% [91] 214(0.7%) 0(0.0%) for-loop ...lify-regraph/src/core/matcher.rkt:96:8 fix-up-variables [101] 100.0% -------------------------------------------------------------------------------------- errors [75] 100.0% [92] 200(0.7%) 0(0.0%) eval-prog ...implify-regraph/src/programs.rkt:82:0 inductor [103] 100.0% -------------------------------------------------------------------------------------- for-loop [74] 100.0% [93] 200(0.7%) 0(0.0%) ??? .../p92/.racket/7.5/pkgs/regraph/main.rkt:53:0 for-loop [104] 100.0% -------------------------------------------------------------------------------------- map [76] 6.7% loop [94] 93.3% [94] 198(0.7%) 0(0.0%) loop ...-7.5/collects/racket/private/map.rkt:40:19 loop [94] 93.3% ??? [105] 6.7% -------------------------------------------------------------------------------------- ??? [82] 100.0% [95] 8428(29.0%) 0(0.0%) for-loop ....racket/7.5/pkgs/regraph/main.rkt:45:2 for-loop [106] 100.0% -------------------------------------------------------------------------------------- ??? [82] 100.0% [96] 5298(18.3%) 0(0.0%) find-matches ...ket/7.5/pkgs/regraph/main.rkt:34:0 for-loop [107] 100.0% -------------------------------------------------------------------------------------- temp85_0 [83] 100.0% [97] 3688(12.7%) 0(0.0%) compile15 (unknown source) temp91_0 [108] 100.0% -------------------------------------------------------------------------------------- jloop [90] 21.2% .../more-scheme.rkt:261:28 [26] 78.8% [98] 1018(3.5%) 402(1.4%) ??? ...mplify-regraph/src/syntax/syntax.rkt:214:17 return/no-unsupplied [109] 60.5% -------------------------------------------------------------------------------------- loop [87] 100.0% [99] 408(1.4%) 0(0.0%) for-loop ...t/7.5/pkgs/regraph/extraction.rkt:28:4 make-sequence [111] 51.0% for-loop [114] 49.0% -------------------------------------------------------------------------------------- prune-phase [89] 100.0% [100] 220(0.8%) 0(0.0%) for-loop ....racket/7.5/pkgs/regraph/main.rkt:73:2 update-leader! [128] 100.0% -------------------------------------------------------------------------------------- for-loop [91] 100.0% [101] 214(0.7%) 0(0.0%) fix-up-variables ...aph/src/core/matcher.rkt:108:2 pattern-match [110] 100.0% -------------------------------------------------------------------------------------- matcher [85] 100.0% [102] 202(0.7%) 0(0.0%) constant? ...y-regraph/src/syntax/syntax.rkt:726:0 value? [112] 100.0% -------------------------------------------------------------------------------------- eval-prog [92] 100.0% [103] 200(0.7%) 0(0.0%) inductor ...implify-regraph/src/programs.rkt:103:4 table-ref [113] 100.0% -------------------------------------------------------------------------------------- ??? [93] 100.0% [104] 200(0.7%) 0(0.0%) for-loop ....racket/7.5/pkgs/regraph/main.rkt:56:2 set-precompute! [115] 100.0% -------------------------------------------------------------------------------------- loop [94] 100.0% [105] 198(0.7%) 198(0.7%) ??? ...plify-regraph/src/core/alt-table.rkt:185:12 -------------------------------------------------------------------------------------- for-loop [95] 100.0% [106] 8428(29.0%) 218(0.8%) for-loop ....racket/7.5/pkgs/regraph/main.rkt:48:4 merge-egraph-nodes! [117] 48.1% dedup-children! [119] 27.3% substitute-e [120] 12.1% mk-enode-rec! [162] 9.9% -------------------------------------------------------------------------------------- for-loop [107] 50.0% find-matches [96] 50.0% [107] 5298(18.3%) 0(0.0%) for-loop ....racket/7.5/pkgs/regraph/main.rkt:36:2 for-loop [107] 50.0% match-e [116] 50.0% -------------------------------------------------------------------------------------- compile15 [97] 100.0% [108] 3688(12.7%) 0(0.0%) temp91_0 (unknown source) temp118_0 [118] 82.5% compile-top9 [121] 17.5% -------------------------------------------------------------------------------------- ??? [98] 100.0% [109] 616(2.1%) 416(1.4%) return/no-unsupplied ...ct/private/arr-i.rkt:566:0 filter [123] 32.5% -------------------------------------------------------------------------------------- fix-up-variables [101] 100.0% [110] 214(0.7%) 0(0.0%) pattern-match ...regraph/src/core/matcher.rkt:29:0 for-loop [122] 100.0% -------------------------------------------------------------------------------------- for-loop [99] 100.0% [111] 208(0.7%) 208(0.7%) make-sequence ...ects/racket/private/for.rkt:533:2 -------------------------------------------------------------------------------------- constant? [102] 100.0% [112] 202(0.7%) 202(0.7%) value? ...mplify-regraph/src/syntax/types.rkt:18:0 -------------------------------------------------------------------------------------- inductor [103] 100.0% [113] 200(0.7%) 200(0.7%) table-ref .../simplify-regraph/src/common.rkt:33:0 -------------------------------------------------------------------------------------- for-loop [99] 100.0% [114] 200(0.7%) 0(0.0%) for-loop .../7.5/pkgs/regraph/extraction.rkt:36:16 for-loop [124] 100.0% -------------------------------------------------------------------------------------- for-loop [104] 100.0% [115] 200(0.7%) 0(0.0%) set-precompute! .../7.5/pkgs/regraph/main.rkt:60:0 merge-egraph-nodes! [117] 100.0% -------------------------------------------------------------------------------------- for-loop [134] 19.3% for-loop [107] 80.7% [116] 5298(18.3%) 1226(4.2%) match-e ...racket/7.5/pkgs/regraph/ematch.rkt:35:0 for-loop [125] 80.6% -------------------------------------------------------------------------------------- merge-egraph-nodes! [117] 4.1% for-loop [130] 4.1% set-precompute! [115] 4.7% for-loop [106] 87.1% [117] 4252(14.6%) 0(0.0%) merge-egraph-nodes! ...gs/regraph/egraph.rkt:144:0 loop! [159] 59.1% update-leader! [128] 27.7% for-loop [132] 5.1% for-loop [130] 4.1% merge-egraph-nodes! [117] 4.1% -------------------------------------------------------------------------------------- temp91_0 [108] 100.0% [118] 3044(10.5%) 0(0.0%) temp118_0 (unknown source) expand-capturing-lifts [126] 100.0% -------------------------------------------------------------------------------------- for-loop [106] 100.0% [119] 2304(7.9%) 0(0.0%) dedup-children! ....5/pkgs/regraph/enode.rkt:166:0 loop [127] 90.4% loop [131] 9.6% -------------------------------------------------------------------------------------- substitute-e [120] 20.0% for-loop [106] 80.0% [120] 1020(3.5%) 814(2.8%) substitute-e ...t/7.5/pkgs/regraph/ematch.rkt:55:0 do-curry [138] 20.2% substitute-e [120] 20.0% -------------------------------------------------------------------------------------- temp91_0 [108] 100.0% [121] 644(2.2%) 0(0.0%) compile-top9 (unknown source) compile-forms33 [129] 100.0% -------------------------------------------------------------------------------------- pattern-match [110] 100.0% [122] 214(0.7%) 0(0.0%) for-loop ...lify-regraph/src/core/matcher.rkt:26:9 core457 [182] 100.0% -------------------------------------------------------------------------------------- return/no-unsupplied [109] 100.0% [123] 200(0.7%) 200(0.7%) filter ...5/collects/racket/private/list.rkt:256:2 -------------------------------------------------------------------------------------- for-loop [114] 100.0% [124] 200(0.7%) 200(0.7%) for-loop .../7.5/pkgs/regraph/extraction.rkt:40:23 -------------------------------------------------------------------------------------- match-e [116] 100.0% [125] 4472(15.4%) 2010(6.9%) for-loop ...cket/7.5/pkgs/regraph/ematch.rkt:41:11 for-loop [134] 27.3% loop [157] 13.4% procedure-reduce-keyword-arity-mask [137] 11.7% do-curry [138] 9.0% foldl [164] 4.5% step [165] 2.5% -------------------------------------------------------------------------------------- loop [157] 25.1% temp118_0 [118] 74.9% [126] 4066(14.0%) 200(0.7%) expand-capturing-lifts (unknown source) lambda-clause-expander [133] 69.4% dispatch-transformer41 [136] 15.3% expand-id-application-form17 [163] 5.5% loop [157] 4.9% -------------------------------------------------------------------------------------- dedup-children! [119] 15.6% loop [127] 84.4% [127] 2082(7.2%) 238(0.8%) loop ...racket-7.5/collects/racket/list.rkt:417:34 loop [127] 84.4% loop [157] 14.6% -------------------------------------------------------------------------------------- for-loop [100] 13.4% merge-egraph-nodes! [117] 86.6% [128] 1644(5.7%) 0(0.0%) update-leader! ....5/pkgs/regraph/egraph.rkt:211:0 for-loop [135] 87.8% for-loop [139] 12.2% -------------------------------------------------------------------------------------- compile-top9 [121] 100.0% [129] 644(2.2%) 0(0.0%) compile-forms33 (unknown source) for-loop [144] 100.0% -------------------------------------------------------------------------------------- merge-egraph-nodes! [117] 100.0% [130] 420(1.4%) 0(0.0%) for-loop ...cket/7.5/pkgs/regraph/egraph.rkt:197:4 merge-egraph-nodes! [117] 100.0% -------------------------------------------------------------------------------------- dedup-children! [119] 20.0% loop [131] 80.0% [131] 222(0.8%) 222(0.8%) loop ...racket-7.5/collects/racket/list.rkt:434:17 loop [131] 80.0% -------------------------------------------------------------------------------------- merge-egraph-nodes! [117] 100.0% [132] 216(0.7%) 216(0.7%) for-loop ...cket/7.5/pkgs/regraph/egraph.rkt:182:6 -------------------------------------------------------------------------------------- expand-capturing-lifts [126] 100.0% [133] 2822(9.7%) 0(0.0%) lambda-clause-expander (unknown source) finish-bodys [140] 100.0% -------------------------------------------------------------------------------------- for-loop [125] 100.0% [134] 2046(7.0%) 0(0.0%) for-loop ...cket/7.5/pkgs/regraph/ematch.rkt:47:37 match-e [116] 100.0% -------------------------------------------------------------------------------------- update-leader! [128] 100.0% [135] 1444(5.0%) 0(0.0%) for-loop ...cket/7.5/pkgs/regraph/egraph.rkt:216:6 hash-update! [145] 72.3% for-loop [142] 27.7% -------------------------------------------------------------------------------------- expand-capturing-lifts [126] 43.5% for-loop [144] 56.5% [136] 1430(4.9%) 0(0.0%) dispatch-transformer41 (unknown source) apply-transformer52 [141] 100.0% -------------------------------------------------------------------------------------- for-loop [125] 100.0% [137] 636(2.2%) 636(2.2%) procedure-reduce-keyword-arity-mask ....rkt:1597:4 -------------------------------------------------------------------------------------- substitute-e [120] 33.9% for-loop [125] 66.1% [138] 608(2.1%) 608(2.1%) do-curry ...-7.5/collects/racket/function.rkt:71:2 -------------------------------------------------------------------------------------- update-leader! [128] 100.0% [139] 200(0.7%) 0(0.0%) for-loop ...cket/7.5/pkgs/regraph/egraph.rkt:226:6 update-en-expr [143] 100.0% -------------------------------------------------------------------------------------- lambda-clause-expander [133] 27.8% for-loop [144] 72.2% [140] 2822(9.7%) 0(0.0%) finish-bodys (unknown source) for-loop [144] 100.0% -------------------------------------------------------------------------------------- dispatch-transformer41 [136] 100.0% [141] 1430(4.9%) 0(0.0%) apply-transformer52 (unknown source) apply-transformer-in-context [146] 71.3% loop [157] 14.7% apply-post-expansion [147] 14.0% -------------------------------------------------------------------------------------- for-loop [135] 100.0% [142] 400(1.4%) 0(0.0%) for-loop ...cket/7.5/pkgs/regraph/egraph.rkt:217:8 hash-update! [145] 100.0% -------------------------------------------------------------------------------------- for-loop [139] 100.0% [143] 200(0.7%) 200(0.7%) update-en-expr ....5/pkgs/regraph/egraph.rkt:205:0 -------------------------------------------------------------------------------------- for-loop [144] 10.4% compile-forms33 [129] 18.6% finish-bodys [140] 71.0% [144] 3466(11.9%) 200(0.7%) for-loop (unknown source) finish-bodys [140] 53.2% compile-module-linklet57 [149] 18.6% for-loop [144] 10.4% dispatch-transformer41 [136] 8.3% syntax-e [7] 3.4% expand-implicit [12] 2.9% loop [157] 0.9% -------------------------------------------------------------------------------------- for-loop [142] 27.7% for-loop [135] 72.3% [145] 1444(5.0%) 0(0.0%) hash-update! ...cket/private/more-scheme.rkt:365:4 ??? [148] 100.0% -------------------------------------------------------------------------------------- apply-transformer52 [141] 100.0% [146] 1020(3.5%) 222(0.8%) apply-transformer-in-context (unknown source) parse-app [150] 39.0% datum->syntax [151] 19.6% go [152] 19.6% -------------------------------------------------------------------------------------- apply-transformer52 [141] 100.0% [147] 200(0.7%) 0(0.0%) apply-post-expansion (unknown source) gf [161] 100.0% -------------------------------------------------------------------------------------- hash-update! [145] 100.0% [148] 1444(5.0%) 200(0.7%) ??? .../.racket/7.5/pkgs/regraph/egraph.rkt:219:24 for-loop [153] 86.1% -------------------------------------------------------------------------------------- for-loop [144] 100.0% [149] 644(2.2%) 644(2.2%) compile-module-linklet57 (unknown source) -------------------------------------------------------------------------------------- apply-transformer-in-context [146] 100.0% [150] 398(1.4%) 0(0.0%) parse-app ...collects/racket/private/kw.rkt:1142:2 datum->syntax6 [154] 50.3% syntax->list [156] 49.7% -------------------------------------------------------------------------------------- apply-transformer-in-context [146] 100.0% [151] 200(0.7%) 200(0.7%) datum->syntax (unknown source) -------------------------------------------------------------------------------------- apply-transformer-in-context [146] 100.0% [152] 200(0.7%) 0(0.0%) go .../collects/racket/private/qq-and-or.rkt:50:20 loop [155] 100.0% -------------------------------------------------------------------------------------- ??? [148] 100.0% [153] 1244(4.3%) 1244(4.3%) for-loop ...ket/7.5/pkgs/regraph/egraph.rkt:220:26 -------------------------------------------------------------------------------------- parse-app [150] 50.0% expand-implicit [12] 50.0% [154] 400(1.4%) 200(0.7%) datum->syntax6 (unknown source) loop [157] 50.0% -------------------------------------------------------------------------------------- go [152] 100.0% [155] 200(0.7%) 0(0.0%) loop ...llects/racket/private/qq-and-or.rkt:101:61 stx-pair? [158] 100.0% -------------------------------------------------------------------------------------- parse-app [150] 100.0% [156] 198(0.7%) 0(0.0%) syntax->list (unknown source) loop [157] 100.0% -------------------------------------------------------------------------------------- for-loop [125] 0.7% syntax->list [156] 1.3% expand-capturing-lifts [126] 1.3% datum->syntax6 [154] 2.6% ??? [36] 2.6% for-loop [144] 2.6% apply-transformer52 [141] 2.7% mk-enode-rec! [162] 5.2% for-loop [33] 5.3% loop! [159] 6.9% eval-const-expr [16] 10.7% loop [157] 15.9% syntax-e/no-taint [18] 18.3% loop [127] 23.9% [157] 7708(26.6%) 2648(9.1%) loop (unknown source) gf [161] 18.3% loop [157] 15.9% expand-capturing-lifts [126] 10.7% loop! [159] 6.9% mk-enode-rec! [162] 5.2% core-form-sym [167] 2.7% expand-id-application-form17 [163] 2.6% ??? [166] 2.6% sample-multi-bounded [160] 2.6% syntax-e [7] 1.3% step [165] 0.5% foldl [164] 0.1% -------------------------------------------------------------------------------------- loop [155] 100.0% [158] 200(0.7%) 200(0.7%) stx-pair? .../collects/racket/private/stx.rkt:40:4 -------------------------------------------------------------------------------------- loop [157] 19.3% merge-egraph-nodes! [117] 80.7% [159] 2612(9.0%) 200(0.7%) loop! .../.racket/7.5/pkgs/regraph/enode.rkt:158:2 custom-set-union [168] 61.3% loop [157] 19.3% set [171] 15.5% -------------------------------------------------------------------------------------- loop [157] 11.0% ??? [36] 89.0% [160] 1814(6.2%) 200(0.7%) sample-multi-bounded ...egraph/src/points.rkt:14:0 random-ranges [169] 77.9% for-loop [177] 11.0% -------------------------------------------------------------------------------------- apply-post-expansion [147] 5.5% loop [157] 94.5% [161] 1812(6.2%) 398(1.4%) gf (unknown source) propagation-apply [170] 66.9% propagation-merge [175] 11.1% syntax-e/no-taint [18] 5.5% -------------------------------------------------------------------------------------- loop [157] 24.2% for-loop [106] 75.8% [162] 834(2.9%) 634(2.2%) mk-enode-rec! ...7.5/pkgs/regraph/egraph.rkt:116:0 loop [157] 24.2% hash-has-key? [176] 12.0% -------------------------------------------------------------------------------------- expand-capturing-lifts [126] 35.4% loop [157] 64.6% [163] 628(2.2%) 0(0.0%) expand-id-application-form17 (unknown source) syntax-e/no-taint [18] 64.6% resolve+shift28 [172] 35.4% -------------------------------------------------------------------------------------- loop [157] 32.4% for-loop [125] 32.7% for-loop [22] 35.0% [164] 618(2.1%) 0(0.0%) foldl ....5/collects/racket/private/list.rkt:229:4 merge2 [173] 65.0% ??? [174] 35.0% -------------------------------------------------------------------------------------- loop [157] 47.4% for-loop [125] 52.6% [165] 422(1.5%) 422(1.5%) step ...ket-7.5/collects/racket/function.rkt:145:9 -------------------------------------------------------------------------------------- loop [157] 100.0% [166] 402(1.4%) 402(1.4%) ??? ...rbie/simplify-regraph/src/points.rkt:179:26 -------------------------------------------------------------------------------------- loop [157] 100.0% [167] 210(0.7%) 0(0.0%) core-form-sym (unknown source) resolve+shift28 [172] 100.0% -------------------------------------------------------------------------------------- loop! [159] 100.0% [168] 1602(5.5%) 598(2.1%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [179] 49.8% for-loop [183] 12.9% -------------------------------------------------------------------------------------- sample-multi-bounded [160] 100.0% [169] 1414(4.9%) 202(0.7%) random-ranges ...lify-regraph/src/common.rkt:164:0 build--> [180] 43.0% cons/c [181] 42.7% -------------------------------------------------------------------------------------- gf [161] 100.0% [170] 1212(4.2%) 1212(4.2%) propagation-apply (unknown source) -------------------------------------------------------------------------------------- loop! [159] 100.0% [171] 810(2.8%) 810(2.8%) set ...collects/racket/private/set-types.rkt:992:0 -------------------------------------------------------------------------------------- core-form-sym [167] 48.6% expand-id-application-form17 [163] 51.4% [172] 432(1.5%) 432(1.5%) resolve+shift28 (unknown source) -------------------------------------------------------------------------------------- foldl [164] 100.0% [173] 402(1.4%) 402(1.4%) merge2 ....racket/7.5/pkgs/regraph/ematch.rkt:20:0 -------------------------------------------------------------------------------------- foldl [164] 100.0% [174] 216(0.7%) 0(0.0%) ??? .../simplify-regraph/src/core/matcher.rkt:25:7 core457 [182] 100.0% -------------------------------------------------------------------------------------- gf [161] 100.0% [175] 202(0.7%) 202(0.7%) propagation-merge (unknown source) -------------------------------------------------------------------------------------- mk-enode-rec! [162] 100.0% [176] 200(0.7%) 200(0.7%) hash-has-key? ...ket/private/more-scheme.rkt:371:2 -------------------------------------------------------------------------------------- sample-multi-bounded [160] 100.0% [177] 200(0.7%) 0(0.0%) for-loop ...e/simplify-regraph/src/points.rkt:20:4 ??? [178] 100.0% -------------------------------------------------------------------------------------- for-loop [177] 3.6% .../more-scheme.rkt:261:28 [26] 4.1% ??? [6] 9.9% loop [37] 14.6% loop [15] 14.7% location-do [184] 26.6% for-loop [68] 26.6% [178] 5530(19.1%) 424(1.5%) ??? ...tract/private/arrow-higher-order.rkt:375:33 location-do [184] 26.6% approximate9 [2] 24.6% hash-ref! [185] 24.6% ival-mult [187] 14.6% f40 [24] 2.0% -------------------------------------------------------------------------------------- custom-set-union [168] 100.0% [179] 798(2.7%) 0(0.0%) for-loop ...cts/racket/private/set-types.rkt:174:3 for-loop [188] 100.0% -------------------------------------------------------------------------------------- random-ranges [169] 100.0% [180] 608(2.1%) 402(1.4%) build--> ...act/private/arrow-val-first.rkt:1214:0 coerce-contract [186] 33.9% -------------------------------------------------------------------------------------- random-ranges [169] 100.0% [181] 604(2.1%) 0(0.0%) cons/c .../racket/contract/private/guts.rkt:500:15 coerce-contract [186] 100.0% -------------------------------------------------------------------------------------- for-loop [122] 49.8% ??? [174] 50.2% [182] 430(1.5%) 0(0.0%) core457 ...acket/contract/private/arr-i.rkt:976:19 un-dep/maybe-chaperone [189] 50.2% ??? [190] 49.8% -------------------------------------------------------------------------------------- custom-set-union [168] 100.0% [183] 206(0.7%) 206(0.7%) for-loop ...cts/racket/private/set-types.rkt:152:2 -------------------------------------------------------------------------------------- location-do [184] 45.4% ??? [178] 54.6% [184] 4298(14.8%) 0(0.0%) location-do ...plify-regraph/src/programs.rkt:63:0 ??? [178] 54.6% location-do [184] 45.4% -------------------------------------------------------------------------------------- first-nonzero-exp [21] 1.2% for-loop [20] 2.1% ??? [194] 2.2% ??? [6] 4.5% localize-error [55] 4.8% ??? [25] 5.8% loop [15] 10.7% for-loop [17] 19.1% ??? [3] 20.5% ??? [178] 28.3% [185] 4280(14.7%) 0(0.0%) hash-ref! .../racket/private/more-scheme.rkt:376:2 ??? [3] 25.4% ??? [4] 22.8% ??? [6] 15.2% parse-loop74 [5] 10.0% f40 [24] 6.5% f61 [191] 4.9% parse-loop15 [197] 4.8% ??? [9] 4.4% taylor [10] 2.9% ??? [194] 2.2% -------------------------------------------------------------------------------------- build--> [180] 25.4% cons/c [181] 74.6% [186] 810(2.8%) 0(0.0%) coerce-contract ...contract/private/guts.rkt:307:0 coerce-contract/f [192] 100.0% -------------------------------------------------------------------------------------- ??? [178] 100.0% [187] 808(2.8%) 202(0.7%) ival-mult ...ify-regraph/src/biginterval.rkt:120:0 bfmul [193] 75.0% -------------------------------------------------------------------------------------- for-loop [179] 100.0% [188] 798(2.7%) 798(2.7%) for-loop ...cts/racket/private/set-types.rkt:178:5 -------------------------------------------------------------------------------------- core457 [182] 100.0% [189] 216(0.7%) 0(0.0%) un-dep/maybe-chaperone ...private/arr-i.rkt:1137:2 ??? [195] 100.0% -------------------------------------------------------------------------------------- core457 [182] 100.0% [190] 214(0.7%) 0(0.0%) ??? ...s/racket/contract/private/arr-i.rkt:1288:27 build-nullary-very-simple--> [196] 100.0% -------------------------------------------------------------------------------------- ??? [3] 13.8% for-loop [17] 15.4% map [76] 29.2% hash-ref! [185] 41.6% [191] 1446(5.0%) 0(0.0%) f61 (unknown source) eval-const-expr [16] 86.2% composed [202] 13.8% -------------------------------------------------------------------------------------- coerce-contract [186] 100.0% [192] 810(2.8%) 0(0.0%) coerce-contract/f ...ntract/private/guts.rkt:372:0 coerce-simple-value [198] 100.0% -------------------------------------------------------------------------------------- ival-sub [58] 24.8% ival-mult [187] 75.2% [193] 806(2.8%) 0(0.0%) bfmul ...-lib/math/private/bigfloat/mpfr.rkt:835:4 ??? [206] 75.2% new-mpfr [201] 24.8% -------------------------------------------------------------------------------------- hash-ref! [185] 100.0% [194] 420(1.4%) 0(0.0%) ??? ...simplify-regraph/src/core/taylor.rkt:343:33 hash-ref! [185] 100.0% -------------------------------------------------------------------------------------- un-dep/maybe-chaperone [189] 100.0% [195] 216(0.7%) 0(0.0%) ??? ...cts/racket/contract/private/guts.rkt:835:10 ??? [199] 100.0% -------------------------------------------------------------------------------------- ??? [190] 100.0% [196] 214(0.7%) 214(0.7%) build-nullary-very-simple--> ...l-first.rkt:1131:0 -------------------------------------------------------------------------------------- hash-ref! [185] 100.0% [197] 204(0.7%) 0(0.0%) parse-loop15 (unknown source) for-loop [200] 100.0% -------------------------------------------------------------------------------------- coerce-contract/f [192] 100.0% [198] 810(2.8%) 810(2.8%) coerce-simple-value ...ract/private/guts.rkt:385:0 -------------------------------------------------------------------------------------- ??? [195] 100.0% [199] 216(0.7%) 0(0.0%) ??? ...ntract/private/arrow-higher-order.rkt:575:2 build-subcontract-late-negs [203] 100.0% -------------------------------------------------------------------------------------- parse-loop15 [197] 100.0% [200] 204(0.7%) 0(0.0%) for-loop ...fy-regraph/src/core/localize.rkt:45:21 for-loop [204] 100.0% -------------------------------------------------------------------------------------- bfmul [193] 100.0% [201] 200(0.7%) 200(0.7%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:348:0 -------------------------------------------------------------------------------------- f61 [191] 100.0% [202] 200(0.7%) 0(0.0%) composed ...ollects/racket/private/list.rkt:321:16 free-variables [205] 100.0% -------------------------------------------------------------------------------------- ??? [199] 100.0% [203] 216(0.7%) 0(0.0%) build-subcontract-late-negs ...her-order.rkt:711:0 get/build-collapsible-late-neg-projection [207]100.0% -------------------------------------------------------------------------------------- for-loop [200] 100.0% [204] 204(0.7%) 0(0.0%) for-loop ...fy-regraph/src/core/localize.rkt:46:23 ??? [206] 100.0% -------------------------------------------------------------------------------------- composed [202] 100.0% [205] 200(0.7%) 200(0.7%) free-variables ...fy-regraph/src/programs.rkt:56:0 -------------------------------------------------------------------------------------- for-loop [204] 16.9% bflog [64] 33.1% bfmul [193] 50.1% [206] 1210(4.2%) 1210(4.2%) ??? /opt/racket-7.5/collects/ffi/unsafe.rkt:938:4 -------------------------------------------------------------------------------------- build-subcontract-late-negs [203] 100.0% [207] 216(0.7%) 216(0.7%) get/build-collapsible-late-neg-projection ...817:0 --------------------------------------------------------------------------------------