Profiling results ----------------- Total cpu time observed: 34830ms (out of 35040ms) Number of samples taken: 172 (once every 202ms) (Hiding functions with self<1.0% and local<2.0%: 6 of 209 hidden) ========================================================================= Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ========================================================================= [1] 34830(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [17] 100.0% ------------------------------------------------------------------------- ??? [107] 100.0% [2] 15886(45.6%) 0(0.0%) approximate9 ...-pow-test/src/core/taylor.rkt:11:0 loop [18] 92.4% for-loop [24] 7.6% ------------------------------------------------------------------------- hash-ref! [168] 100.0% [3] 11082(31.8%) 0(0.0%) ??? ...bie/ival-pow-test/src/core/taylor.rkt:44:15 hash-ref! [168] 85.3% ??? [33] 10.9% simplify-node [61] 1.9% f61 [32] 1.8% ------------------------------------------------------------------------- hash-ref! [168] 100.0% [4] 10820(31.1%) 0(0.0%) ??? ...bie/ival-pow-test/src/core/taylor.rkt:67:15 ??? [107] 56.8% hash-ref! [168] 43.2% ------------------------------------------------------------------------- hash-ref! [168] 100.0% [5] 7626(21.9%) 0(0.0%) ??? ...ie/ival-pow-test/src/core/taylor.rkt:290:26 for-loop [19] 100.0% ------------------------------------------------------------------------- hash-ref! [168] 100.0% [6] 7202(20.7%) 0(0.0%) ??? ...ie/ival-pow-test/src/core/taylor.rkt:300:23 for-loop [20] 100.0% ------------------------------------------------------------------------- stx-list? [158] 6.6% loop [161] 25.2% for-loop [183] 68.2% [7] 3244(9.3%) 0(0.0%) syntax-e (unknown source) syntax-e/no-taint [22] 100.0% ------------------------------------------------------------------------- hash-ref! [168] 100.0% [8] 2568(7.4%) 0(0.0%) ??? ...ie/ival-pow-test/src/core/taylor.rkt:406:23 for-loop [23] 54.3% for-loop [25] 45.7% ------------------------------------------------------------------------- append-map [87] 22.9% parse-loop368 [100] 77.1% [9] 820(2.4%) 0(0.0%) parse-loop389 (unknown source) for-loop [26] 100.0% ------------------------------------------------------------------------- taylor [178] 100.0% [10] 814(2.3%) 0(0.0%) taylor-log ...l-pow-test/src/core/taylor.rkt:502:0 f61 [32] 50.1% f40 [31] 25.3% simplify-node [61] 24.6% ------------------------------------------------------------------------- taylor [178] 100.0% [11] 792(2.3%) 0(0.0%) taylor-quotient ...-test/src/core/taylor.rkt:333:0 parse-loop74 [21] 50.0% f40 [31] 25.3% first-nonzero-exp [28] 24.7% ------------------------------------------------------------------------- hash-ref! [168] 100.0% [12] 602(1.7%) 0(0.0%) ??? ...ie/ival-pow-test/src/core/taylor.rkt:509:23 for-loop [27] 100.0% ------------------------------------------------------------------------- taylor [178] 100.0% [13] 600(1.7%) 0(0.0%) loop ...ie/ival-pow-test/src/core/taylor.rkt:267:2 hash-ref! [168] 100.0% ------------------------------------------------------------------------- for-loop [183] 100.0% [14] 552(1.6%) 182(0.5%) expand-implicit (unknown source) resolve+shift28 [171] 67.0% ------------------------------------------------------------------------- for-loop [183] 100.0% [15] 402(1.2%) 202(0.6%) expand-identifier (unknown source) resolve+shift28 [171] 49.8% ------------------------------------------------------------------------- matcher [124] 100.0% [16] 184(0.5%) 0(0.0%) ??? ...e/ival-pow-test/src/core/matcher.rkt:127:11 for-loop [29] 100.0% ------------------------------------------------------------------------- ??? [1] 100.0% [17] 34830(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [30] 100.0% ------------------------------------------------------------------------- approximate9 [2] 100.0% [18] 14686(42.2%) 0(0.0%) loop ...bie/ival-pow-test/src/core/taylor.rkt:86:4 hash-ref! [168] 73.7% ??? [107] 26.3% ------------------------------------------------------------------------- ??? [5] 100.0% [19] 7626(21.9%) 0(0.0%) for-loop ...al-pow-test/src/core/taylor.rkt:290:52 hash-ref! [168] 77.4% ??? [33] 17.5% f61 [32] 5.0% ------------------------------------------------------------------------- ??? [6] 100.0% [20] 7202(20.7%) 0(0.0%) for-loop ...al-pow-test/src/core/taylor.rkt:303:27 hash-ref! [168] 97.8% f40 [31] 2.2% ------------------------------------------------------------------------- parse-loop74 [21] 2.4% taylor-quotient [11] 6.8% hash-ref! [168] 38.4% map [54] 52.3% [21] 4280(12.3%) 0(0.0%) parse-loop74 (unknown source) eval-const-expr [36] 77.5% f61 [32] 20.0% parse-loop74 [21] 2.4% ------------------------------------------------------------------------- expand-id-application-form17 [166] 5.9% syntax-e [7] 94.1% [22] 3448(9.9%) 0(0.0%) syntax-e/no-taint (unknown source) loop [161] 100.0% ------------------------------------------------------------------------- ??? [8] 100.0% [23] 1394(4.0%) 0(0.0%) for-loop ...al-pow-test/src/core/taylor.rkt:412:39 hash-ref! [168] 100.0% ------------------------------------------------------------------------- approximate9 [2] 100.0% [24] 1200(3.4%) 0(0.0%) for-loop ...val-pow-test/src/core/taylor.rkt:29:18 taylor [178] 84.3% taylor-exp [187] 15.7% ------------------------------------------------------------------------- ??? [8] 100.0% [25] 1174(3.4%) 0(0.0%) for-loop ...al-pow-test/src/core/taylor.rkt:410:33 hash-ref! [168] 100.0% ------------------------------------------------------------------------- parse-loop389 [9] 100.0% [26] 820(2.4%) 0(0.0%) for-loop ...val-pow-test/src/core/reduce.rkt:95:13 make-multiplication-node [109] 50.2% simplify-node [61] 49.8% ------------------------------------------------------------------------- ??? [12] 100.0% [27] 602(1.7%) 0(0.0%) for-loop ...al-pow-test/src/core/taylor.rkt:513:35 parse-loop402 [34] 100.0% ------------------------------------------------------------------------- taylor-quotient [11] 100.0% [28] 196(0.6%) 0(0.0%) first-nonzero-exp ...est/src/core/taylor.rkt:265:0 hash-ref! [168] 100.0% ------------------------------------------------------------------------- ??? [16] 100.0% [29] 184(0.5%) 0(0.0%) for-loop ...l-pow-test/src/core/matcher.rkt:129:15 matcher [124] 100.0% ------------------------------------------------------------------------- profile-thunk16 [17] 100.0% [30] 34830(100.0%) 0(0.0%) run ...et-7.5/share/pkgs/profile-lib/main.rkt:39:2 .../more-scheme.rkt:261:28 [35] 100.0% ------------------------------------------------------------------------- ??? [107] 0.4% taylor-quotient [11] 0.5% taylor-log [10] 0.7% taylor-exp [187] 1.5% for-loop [20] 3.1% hash-ref! [168] 43.9% map [54] 49.8% [31] 9440(27.1%) 0(0.0%) f40 (unknown source) map [54] 100.0% ------------------------------------------------------------------------- hash-ref! [168] 3.2% ??? [3] 3.5% for-loop [19] 6.5% taylor-log [10] 7.0% parse-loop74 [21] 14.7% map [54] 65.2% [32] 5848(16.8%) 234(0.7%) f61 (unknown source) eval-const-expr [36] 82.2% composed [38] 6.9% map [54] 3.5% compose [39] 3.4% ------------------------------------------------------------------------- ??? [3] 27.2% for-loop [19] 72.8% [33] 4088(11.7%) 0(0.0%) ??? ...ie/ival-pow-test/src/core/taylor.rkt:293:19 hash-ref! [168] 100.0% ------------------------------------------------------------------------- for-loop [27] 100.0% [34] 602(1.7%) 0(0.0%) parse-loop402 (unknown source) for-loop [37] 100.0% ------------------------------------------------------------------------- for-loop [126] 3.8% run [30] 96.2% [35] 34830(100.0%) 1000(2.9%) .../more-scheme.rkt:261:28 (unknown source) run-improve47 [40] 63.8% prepare-points-intervals [48] 23.2% oracle-error [41] 5.2% ??? [169] 2.0% get-final-combination [42] 2.0% errors [117] 0.9% loop [161] 0.6% eval-errors [45] 0.6% ------------------------------------------------------------------------- parse-loop74 [21] 41.6% f61 [32] 58.4% [36] 8228(23.6%) 0(0.0%) eval-const-expr ...pow-test/src/programs.rkt:120:0 temp85_0 [125] 80.5% loop [161] 7.3% eval [128] 7.3% eval-one-top12 [44] 2.4% eval-prog [46] 2.4% ------------------------------------------------------------------------- parse-loop402 [34] 100.0% [37] 602(1.7%) 0(0.0%) for-loop ...al-pow-test/src/core/taylor.rkt:516:59 hash-ref! [168] 100.0% ------------------------------------------------------------------------- f61 [32] 100.0% [38] 402(1.2%) 0(0.0%) composed ...ollects/racket/private/list.rkt:321:16 free-variables [43] 100.0% ------------------------------------------------------------------------- f61 [32] 100.0% [39] 200(0.6%) 200(0.6%) compose ...collects/racket/private/list.rkt:385:12 ------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [35] 100.0% [40] 23122(66.4%) 0(0.0%) run-improve47 ...l-pow-test/src/mainloop.rkt:346:0 for-loop [47] 99.2% prepare-points-intervals [48] 0.8% ------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [35] 100.0% [41] 1810(5.2%) 0(0.0%) oracle-error ...ival-pow-test/src/points.rkt:177:0 for-loop [49] 100.0% ------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [35] 100.0% [42] 1008(2.9%) 0(0.0%) get-final-combination ...st/src/mainloop.rkt:371:0 infer-splitpoints [50] 100.0% ------------------------------------------------------------------------- composed [38] 26.7% append-map [87] 73.3% [43] 402(1.2%) 0(0.0%) free-variables ...l-pow-test/src/programs.rkt:56:0 append-map [87] 83.3% variable? [51] 16.7% ------------------------------------------------------------------------- eval-const-expr [36] 100.0% [44] 200(0.6%) 200(0.6%) eval-one-top12 (unknown source) ------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [35] 100.0% [45] 200(0.6%) 0(0.0%) eval-errors .../ival-pow-test/src/points.rkt:168:0 for-loop [52] 100.0% ------------------------------------------------------------------------- eval-const-expr [36] 100.0% [46] 200(0.6%) 0(0.0%) eval-prog ...e/ival-pow-test/src/programs.rkt:82:0 ??? [71] 100.0% ------------------------------------------------------------------------- run-improve47 [40] 100.0% [47] 22938(65.9%) 0(0.0%) for-loop ...e/ival-pow-test/src/mainloop.rkt:365:4 run-iter! [53] 100.0% ------------------------------------------------------------------------- run-improve47 [40] 2.2% .../more-scheme.rkt:261:28 [35] 97.8% [48] 8262(23.7%) 0(0.0%) prepare-points-intervals ...t/src/points.rkt:120:0 loop [55] 100.0% ------------------------------------------------------------------------- oracle-error [41] 100.0% [49] 1810(5.2%) 0(0.0%) for-loop ...bie/ival-pow-test/src/points.rkt:178:2 loop [161] 89.0% map [54] 11.0% ------------------------------------------------------------------------- get-final-combination [42] 100.0% [50] 1008(2.9%) 0(0.0%) infer-splitpoints ...est/src/core/regimes.rkt:33:0 for-loop [56] 100.0% ------------------------------------------------------------------------- free-variables [43] 100.0% [51] 202(0.6%) 0(0.0%) variable? ...-pow-test/src/syntax/syntax.rkt:729:0 value? [192] 100.0% ------------------------------------------------------------------------- eval-errors [45] 100.0% [52] 200(0.6%) 200(0.6%) for-loop ...bie/ival-pow-test/src/points.rkt:170:2 ------------------------------------------------------------------------- for-loop [47] 100.0% [53] 22938(65.9%) 0(0.0%) run-iter! .../ival-pow-test/src/mainloop.rkt:327:0 gen-series! [57] 70.1% finalize-iter! [58] 21.2% simplify! [62] 5.2% choose-best-alt! [65] 1.8% localize! [67] 0.9% gen-rewrites! [68] 0.8% ------------------------------------------------------------------------- f61 [32] 0.5% for-loop [49] 1.8% taylor [178] 15.4% f40 [31] 80.7% [54] 11428(32.8%) 398(1.1%) map ...t-7.5/collects/racket/private/map.rkt:35:13 f40 [31] 40.6% taylor [178] 15.4% f61 [32] 15.1% parse-loop74 [21] 11.2% simplify* [164] 6.3% simplify-node [61] 3.3% ??? [64] 2.6% ??? [165] 1.8% hash-ref! [168] 1.5% make-multiplication-node [109] 0.9% loop [66] 0.3% ------------------------------------------------------------------------- prepare-points-intervals [48] 100.0% [55] 8262(23.7%) 200(0.6%) loop .../herbie/ival-pow-test/src/points.rkt:132:4 loop [59] 58.5% ??? [60] 39.0% ------------------------------------------------------------------------- infer-splitpoints [50] 100.0% [56] 1008(2.9%) 0(0.0%) for-loop ...val-pow-test/src/core/regimes.rkt:45:6 option-on-expr [63] 100.0% ------------------------------------------------------------------------- run-iter! [53] 100.0% [57] 16086(46.2%) 0(0.0%) gen-series! ...val-pow-test/src/mainloop.rkt:160:0 for-loop [69] 100.0% ------------------------------------------------------------------------- run-iter! [53] 100.0% [58] 4856(13.9%) 0(0.0%) finalize-iter! ...-pow-test/src/mainloop.rkt:278:0 ??? [70] 100.0% ------------------------------------------------------------------------- loop [55] 100.0% [59] 4836(13.9%) 404(1.2%) loop ...s/herbie/ival-pow-test/src/points.rkt:79:2 ??? [71] 57.9% real->precision [72] 29.7% ??? [70] 4.1% ------------------------------------------------------------------------- loop [55] 100.0% [60] 3226(9.3%) 402(1.2%) ??? ...s/herbie/ival-pow-test/src/points.rkt:113:6 sample-multi-bounded [163] 49.8% loop [161] 37.7% ------------------------------------------------------------------------- ??? [3] 5.8% taylor-log [10] 11.0% for-loop [26] 11.3% hash-ref! [168] 34.3% map [54] 37.5% [61] 1812(5.2%) 0(0.0%) simplify-node ...pow-test/src/core/reduce.rkt:46:0 append-map [87] 39.2% combine-aterms [78] 22.0% gather-multiplicative-terms [79] 16.1% constant? [186] 11.0% gather-additive-terms6 [75] 5.8% combine-mterms [80] 5.8% ------------------------------------------------------------------------- run-iter! [53] 100.0% [62] 1198(3.4%) 0(0.0%) simplify! .../ival-pow-test/src/mainloop.rkt:224:0 ??? [73] 100.0% ------------------------------------------------------------------------- for-loop [56] 100.0% [63] 1008(2.9%) 0(0.0%) option-on-expr ...-test/src/core/regimes.rkt:124:0 for-loop [74] 100.0% ------------------------------------------------------------------------- map [54] 100.0% [64] 610(1.8%) 0(0.0%) ??? ...rbie/ival-pow-test/src/core/reduce.rkt:57:5 for-loop [76] 100.0% ------------------------------------------------------------------------- run-iter! [53] 100.0% [65] 414(1.2%) 0(0.0%) choose-best-alt! ...ow-test/src/mainloop.rkt:117:0 ...ow-val-first.rkt:486:18 [77] 100.0% ------------------------------------------------------------------------- map [54] 7.1% loop [66] 92.9% [66] 200(0.6%) 0(0.0%) loop ...-7.5/collects/racket/private/map.rkt:40:19 loop [66] 92.9% ??? [81] 7.1% ------------------------------------------------------------------------- run-iter! [53] 100.0% [67] 200(0.6%) 0(0.0%) localize! .../ival-pow-test/src/mainloop.rkt:127:0 localize-error [82] 100.0% ------------------------------------------------------------------------- run-iter! [53] 100.0% [68] 184(0.5%) 0(0.0%) gen-rewrites! ...l-pow-test/src/mainloop.rkt:183:0 for-loop [83] 100.0% ------------------------------------------------------------------------- gen-series! [57] 100.0% [69] 16086(46.2%) 0(0.0%) for-loop ...e/ival-pow-test/src/mainloop.rkt:167:7 taylor-alt [84] 100.0% ------------------------------------------------------------------------- simplify* [164] 3.8% loop [59] 3.8% finalize-iter! [58] 92.4% [70] 5256(15.1%) 200(0.6%) ??? ...contract/private/arrow-val-first.rkt:486:18 for-loop [85] 92.4% mk-ival [94] 3.8% ------------------------------------------------------------------------- eval-prog [46] 6.7% loop [59] 93.3% [71] 2998(8.6%) 200(0.6%) ??? ...tract/private/arrow-higher-order.rkt:379:33 ival-log [86] 53.4% ival-sub [90] 20.3% ival-add [91] 19.7% ------------------------------------------------------------------------- loop [59] 100.0% [72] 1434(4.1%) 200(0.6%) real->precision ...pow-test/src/programs.rkt:94:11 ??? [107] 72.1% ??? [95] 13.9% ------------------------------------------------------------------------- simplify! [62] 100.0% [73] 1198(3.4%) 0(0.0%) ??? ...ie/ival-pow-test/src/core/simplify.rkt:42:0 egraph-run [88] 100.0% ------------------------------------------------------------------------- option-on-expr [63] 100.0% [74] 1008(2.9%) 0(0.0%) for-loop ...al-pow-test/src/core/regimes.rkt:135:4 errors [117] 100.0% ------------------------------------------------------------------------- gather-additive-terms6 [75] 16.8% simplify-node [61] 16.8% parse-loop368 [100] 31.0% append-map [87] 35.4% [75] 632(1.8%) 0(0.0%) gather-additive-terms6 ...src/core/reduce.rkt:68:0 append-map [87] 83.2% gather-additive-terms6 [75] 16.8% ------------------------------------------------------------------------- ??? [64] 100.0% [76] 610(1.8%) 0(0.0%) for-loop ...ival-pow-test/src/core/reduce.rkt:58:7 pattern-match [89] 100.0% ------------------------------------------------------------------------- choose-best-alt! [65] 100.0% [77] 414(1.2%) 0(0.0%) ...ow-val-first.rkt:486:18 (unknown source) ??? [92] 100.0% ------------------------------------------------------------------------- simplify-node [61] 100.0% [78] 398(1.1%) 0(0.0%) combine-aterms ...w-test/src/core/reduce.rkt:185:0 for-loop [93] 100.0% ------------------------------------------------------------------------- simplify-node [61] 100.0% [79] 390(1.1%) 390(1.1%) gather-multiplicative-terms ...re/reduce.rkt:110:0 ------------------------------------------------------------------------- simplify-node [61] 100.0% [80] 212(0.6%) 212(0.6%) combine-mterms ...w-test/src/core/reduce.rkt:193:0 ------------------------------------------------------------------------- loop [66] 100.0% [81] 200(0.6%) 0(0.0%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bflog [101] 100.0% ------------------------------------------------------------------------- localize! [67] 100.0% [82] 200(0.6%) 0(0.0%) localize-error ...-test/src/core/localize.rkt:58:0 hash-ref! [168] 100.0% ------------------------------------------------------------------------- gen-rewrites! [68] 100.0% [83] 184(0.5%) 0(0.0%) for-loop .../ival-pow-test/src/mainloop.rkt:191:11 rewrite-expression-head24 [96] 100.0% ------------------------------------------------------------------------- for-loop [69] 100.0% [84] 16086(46.2%) 0(0.0%) taylor-alt ...ival-pow-test/src/mainloop.rkt:146:0 for-loop [97] 100.0% ------------------------------------------------------------------------- ??? [70] 100.0% [85] 4856(13.9%) 0(0.0%) for-loop ...l-pow-test/src/core/alt-table.rkt:46:2 atab-add-altn [98] 75.0% errors [117] 25.0% ------------------------------------------------------------------------- ??? [71] 100.0% [86] 1600(4.6%) 1000(2.9%) ival-log ...val-pow-test/src/biginterval.rkt:202:0 bflog [101] 37.5% ------------------------------------------------------------------------- append-map [87] 14.1% gather-additive-terms6 [75] 22.2% free-variables [43] 28.3% simplify-node [61] 35.4% [87] 1422(4.1%) 200(0.6%) append-map ...t-7.5/collects/racket/list.rkt:586:2 parse-loop368 [100] 43.2% free-variables [43] 25.5% append-map [87] 14.1% gather-additive-terms6 [75] 7.9% parse-loop389 [9] 6.6% ------------------------------------------------------------------------- ??? [73] 100.0% [88] 1198(3.4%) 0(0.0%) egraph-run .../pkgs/egg-herbie-linux/main.rkt:49:0 egraph-add-exprs [99] 100.0% ------------------------------------------------------------------------- for-loop [76] 100.0% [89] 610(1.8%) 0(0.0%) pattern-match ...ow-test/src/core/matcher.rkt:29:0 for-loop [104] 67.2% constant? [186] 32.8% ------------------------------------------------------------------------- ??? [71] 100.0% [90] 608(1.7%) 200(0.6%) ival-sub ...val-pow-test/src/biginterval.rkt:108:0 bfadd [102] 67.1% ------------------------------------------------------------------------- ??? [71] 100.0% [91] 590(1.7%) 200(0.6%) ival-add ...val-pow-test/src/biginterval.rkt:102:0 bfadd [102] 66.1% ------------------------------------------------------------------------- ...ow-val-first.rkt:486:18 [77] 100.0% [92] 414(1.2%) 0(0.0%) ??? ...e/ival-pow-test/src/core/alt-table.rkt:49:0 argmin [103] 100.0% ------------------------------------------------------------------------- combine-aterms [78] 100.0% [93] 398(1.1%) 398(1.1%) for-loop ...val-pow-test/src/core/reduce.rkt:187:4 ------------------------------------------------------------------------- ??? [70] 100.0% [94] 200(0.6%) 200(0.6%) mk-ival .../ival-pow-test/src/biginterval.rkt:65:0 ------------------------------------------------------------------------- real->precision [72] 100.0% [95] 200(0.6%) 0(0.0%) ??? ...ects/racket/contract/private/guts.rkt:770:8 bigvalue? [105] 100.0% ------------------------------------------------------------------------- for-loop [83] 100.0% [96] 184(0.5%) 0(0.0%) rewrite-expression-head24 ...core/matcher.rkt:85:0 rewriter [106] 100.0% ------------------------------------------------------------------------- taylor-alt [84] 100.0% [97] 16086(46.2%) 0(0.0%) for-loop ...e/ival-pow-test/src/mainloop.rkt:152:6 ??? [107] 100.0% ------------------------------------------------------------------------- for-loop [85] 100.0% [98] 3640(10.5%) 0(0.0%) atab-add-altn ...test/src/core/alt-table.rkt:194:0 errors [117] 89.3% override-at-pnts [112] 5.5% for-loop [114] 5.2% ------------------------------------------------------------------------- egraph-run [88] 100.0% [99] 1198(3.4%) 0(0.0%) egraph-add-exprs ...gg-herbie-linux/main.rkt:111:0 ??? [108] 100.0% ------------------------------------------------------------------------- parse-loop368 [100] 34.1% append-map [87] 65.9% [100] 832(2.4%) 0(0.0%) parse-loop368 (unknown source) parse-loop368 [100] 34.1% parse-loop389 [9] 34.1% make-multiplication-node [109] 24.0% gather-additive-terms6 [75] 7.9% ------------------------------------------------------------------------- ??? [81] 25.0% ival-log [86] 75.0% [101] 800(2.3%) 200(0.6%) bflog ...-lib/math/private/bigfloat/mpfr.rkt:632:4 new-mpfr [127] 75.0% ------------------------------------------------------------------------- ival-add [91] 48.9% ival-sub [90] 51.1% [102] 798(2.3%) 0(0.0%) bfadd ...-lib/math/private/bigfloat/mpfr.rkt:835:4 ??? [129] 74.7% new-mpfr [127] 25.3% ------------------------------------------------------------------------- ??? [92] 100.0% [103] 414(1.2%) 0(0.0%) argmin ...acket-7.5/collects/racket/list.rkt:765:0 errors-score [111] 54.1% ??? [113] 45.9% ------------------------------------------------------------------------- pattern-match [89] 100.0% [104] 410(1.2%) 0(0.0%) for-loop ...val-pow-test/src/core/matcher.rkt:26:9 core457 [110] 100.0% ------------------------------------------------------------------------- ??? [95] 100.0% [105] 200(0.6%) 200(0.6%) bigvalue? ...al-pow-test/src/syntax/types.rkt:19:0 ------------------------------------------------------------------------- matcher [124] 50.0% rewrite-expression-head24 [96] 50.0% [106] 184(0.5%) 0(0.0%) rewriter ...val-pow-test/src/core/matcher.rkt:87:2 for-loop [115] 100.0% ------------------------------------------------------------------------- real->precision [72] 6.0% loop [18] 7.5% ??? [4] 21.1% location-do [116] 32.3% for-loop [97] 32.7% [107] 17120(49.2%) 202(0.6%) ??? ...tract/private/arrow-higher-order.rkt:375:33 location-do [116] 32.7% approximate9 [2] 32.1% hash-ref! [168] 28.6% bf [119] 4.9% f40 [31] 0.6% ------------------------------------------------------------------------- egraph-add-exprs [99] 100.0% [108] 1198(3.4%) 0(0.0%) ??? ...e/ival-pow-test/src/core/simplify.rkt:102:6 for-loop [118] 100.0% ------------------------------------------------------------------------- parse-loop368 [100] 24.6% map [54] 24.8% for-loop [26] 50.6% [109] 814(2.3%) 0(0.0%) make-multiplication-node .../core/reduce.rkt:232:0 make-multiplication-subnode [120] 100.0% ------------------------------------------------------------------------- for-loop [104] 100.0% [110] 410(1.2%) 0(0.0%) core457 ...acket/contract/private/arr-i.rkt:976:19 un-dep/maybe-chaperone [121] 100.0% ------------------------------------------------------------------------- argmin [103] 100.0% [111] 224(0.6%) 0(0.0%) errors-score ...ival-pow-test/src/points.rkt:185:0 loop [161] 100.0% ------------------------------------------------------------------------- atab-add-altn [98] 100.0% [112] 200(0.6%) 0(0.0%) override-at-pnts ...t/src/core/alt-table.rkt:129:0 for-loop [122] 100.0% ------------------------------------------------------------------------- argmin [103] 100.0% [113] 190(0.5%) 0(0.0%) ??? ...erbie/ival-pow-test/src/mainloop.rkt:114:10 errors [117] 100.0% ------------------------------------------------------------------------- atab-add-altn [98] 100.0% [114] 188(0.5%) 188(0.5%) for-loop ...-pow-test/src/core/alt-table.rkt:110:2 ------------------------------------------------------------------------- rewriter [106] 100.0% [115] 184(0.5%) 0(0.0%) for-loop ...val-pow-test/src/core/matcher.rkt:89:4 matcher [124] 50.0% for-loop [123] 50.0% ------------------------------------------------------------------------- ??? [107] 35.6% location-do [116] 64.4% [116] 16086(46.2%) 0(0.0%) location-do ...ival-pow-test/src/programs.rkt:63:0 location-do [116] 64.4% ??? [107] 35.0% ------------------------------------------------------------------------- ??? [113] 3.1% .../more-scheme.rkt:261:28 [35] 6.5% for-loop [74] 16.6% for-loop [85] 20.1% atab-add-altn [98] 53.6% [117] 6062(17.4%) 0(0.0%) errors ...erbie/ival-pow-test/src/points.rkt:190:0 temp85_0 [125] 46.8% for-loop [126] 46.6% loop [161] 3.3% eval [128] 3.3% ------------------------------------------------------------------------- ??? [108] 100.0% [118] 1198(3.4%) 1198(3.4%) for-loop ...l-pow-test/src/core/simplify.rkt:121:2 ------------------------------------------------------------------------- ??? [107] 100.0% [119] 832(2.4%) 208(0.6%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:615:2 new-mpfr [127] 51.0% ??? [129] 24.0% ------------------------------------------------------------------------- make-multiplication-node [109] 100.0% [120] 814(2.3%) 0(0.0%) make-multiplication-subnode ...re/reduce.rkt:242:0 group-by61 [130] 50.6% for-loop [131] 49.4% ------------------------------------------------------------------------- core457 [110] 100.0% [121] 410(1.2%) 204(0.6%) un-dep/maybe-chaperone ...private/arr-i.rkt:1137:2 ??? [132] 50.2% ------------------------------------------------------------------------- override-at-pnts [112] 100.0% [122] 200(0.6%) 0(0.0%) for-loop ...pow-test/src/core/alt-table.rkt:130:22 ??? [133] 100.0% ------------------------------------------------------------------------- for-loop [115] 100.0% [123] 184(0.5%) 0(0.0%) for-loop ...val-pow-test/src/core/matcher.rkt:96:8 fix-up-variables [134] 100.0% ------------------------------------------------------------------------- for-loop [29] 50.0% for-loop [115] 50.0% [124] 184(0.5%) 0(0.0%) matcher ...val-pow-test/src/core/matcher.rkt:115:2 ??? [16] 50.0% rewriter [106] 50.0% ------------------------------------------------------------------------- loop [161] 2.2% errors [117] 29.3% eval-const-expr [36] 68.4% [125] 9680(27.8%) 200(0.6%) temp85_0 (unknown source) compile15 [135] 97.9% ------------------------------------------------------------------------- errors [117] 100.0% [126] 2822(8.1%) 200(0.6%) for-loop ...bie/ival-pow-test/src/points.rkt:192:2 .../more-scheme.rkt:261:28 [35] 92.9% ------------------------------------------------------------------------- bfadd [102] 16.5% bf [119] 34.6% bflog [101] 48.9% [127] 1226(3.5%) 1226(3.5%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:348:0 ------------------------------------------------------------------------- errors [117] 25.0% eval-const-expr [36] 75.0% [128] 800(2.3%) 0(0.0%) eval (unknown source) namespace-syntax-introduce3 [136] 100.0% ------------------------------------------------------------------------- bf [119] 25.1% bfadd [102] 74.9% [129] 796(2.3%) 796(2.3%) ??? /opt/racket-7.5/collects/ffi/unsafe.rkt:938:4 ------------------------------------------------------------------------- make-multiplication-subnode [120] 100.0% [130] 412(1.2%) 412(1.2%) group-by61 ...t-7.5/collects/racket/list.rkt:771:0 ------------------------------------------------------------------------- make-multiplication-subnode [120] 100.0% [131] 402(1.2%) 0(0.0%) for-loop ...val-pow-test/src/core/reduce.rkt:244:3 mterm->expr [137] 100.0% ------------------------------------------------------------------------- un-dep/maybe-chaperone [121] 100.0% [132] 206(0.6%) 0(0.0%) ??? ...llects/racket/contract/private/orc.rkt:88:2 ??? [138] 100.0% ------------------------------------------------------------------------- for-loop [122] 100.0% [133] 200(0.6%) 200(0.6%) ??? ...7.5/collects/racket/private/for.rkt:1236:14 ------------------------------------------------------------------------- for-loop [123] 100.0% [134] 184(0.5%) 0(0.0%) fix-up-variables ...est/src/core/matcher.rkt:108:2 pattern-substitute [139] 100.0% ------------------------------------------------------------------------- temp85_0 [125] 100.0% [135] 9480(27.2%) 0(0.0%) compile15 (unknown source) temp91_0 [140] 100.0% ------------------------------------------------------------------------- eval [128] 100.0% [136] 800(2.3%) 0(0.0%) namespace-syntax-introduce3 (unknown source) datum->syntax6 [154] 25.0% for-loop [183] 25.0% add-ns-scopes [142] 25.0% free-identifier=? [143] 25.0% ------------------------------------------------------------------------- for-loop [131] 100.0% [137] 402(1.2%) 0(0.0%) mterm->expr ...-pow-test/src/core/reduce.rkt:272:0 type-of [199] 100.0% ------------------------------------------------------------------------- ??? [132] 100.0% [138] 206(0.6%) 0(0.0%) ??? ...cts/racket/contract/private/guts.rkt:835:10 ??? [141] 100.0% ------------------------------------------------------------------------- pattern-substitute [139] 50.0% fix-up-variables [134] 50.0% [139] 184(0.5%) 0(0.0%) pattern-substitute ...st/src/core/matcher.rkt:45:0 pattern-substitute [139] 50.0% do-curry [188] 50.0% ------------------------------------------------------------------------- compile15 [135] 100.0% [140] 9480(27.2%) 0(0.0%) temp91_0 (unknown source) temp118_0 [144] 88.8% compile-top9 [145] 11.2% ------------------------------------------------------------------------- ??? [138] 100.0% [141] 206(0.6%) 0(0.0%) ??? ...ntract/private/arrow-higher-order.rkt:575:2 build-subcontract-late-negs [146] 100.0% ------------------------------------------------------------------------- namespace-syntax-introduce3 [136] 100.0% [142] 200(0.6%) 200(0.6%) add-ns-scopes (unknown source) ------------------------------------------------------------------------- namespace-syntax-introduce3 [136] 100.0% [143] 200(0.6%) 200(0.6%) free-identifier=? (unknown source) ------------------------------------------------------------------------- temp91_0 [140] 100.0% [144] 8422(24.2%) 0(0.0%) temp118_0 (unknown source) expand-capturing-lifts [147] 100.0% ------------------------------------------------------------------------- temp91_0 [140] 100.0% [145] 1058(3.0%) 0(0.0%) compile-top9 (unknown source) compile-forms33 [148] 100.0% ------------------------------------------------------------------------- ??? [141] 100.0% [146] 206(0.6%) 206(0.6%) build-subcontract-late-negs ...her-order.rkt:711:0 ------------------------------------------------------------------------- loop [161] 8.7% temp118_0 [144] 91.3% [147] 9226(26.5%) 200(0.6%) expand-capturing-lifts (unknown source) lambda-clause-expander [149] 84.7% dispatch-transformer41 [150] 8.8% expand-id-application-form17 [166] 4.3% ------------------------------------------------------------------------- compile-top9 [145] 100.0% [148] 1058(3.0%) 438(1.3%) compile-forms33 (unknown source) for-loop [183] 58.6% ------------------------------------------------------------------------- expand-capturing-lifts [147] 100.0% [149] 7814(22.4%) 0(0.0%) lambda-clause-expander (unknown source) finish-bodys [151] 92.1% loop [161] 7.9% ------------------------------------------------------------------------- loop [161] 27.6% expand-capturing-lifts [147] 36.2% for-loop [183] 36.2% [150] 2246(6.4%) 0(0.0%) dispatch-transformer41 (unknown source) apply-transformer52 [152] 100.0% ------------------------------------------------------------------------- lambda-clause-expander [149] 25.5% for-loop [183] 74.5% [151] 7194(20.7%) 0(0.0%) finish-bodys (unknown source) for-loop [183] 100.0% ------------------------------------------------------------------------- dispatch-transformer41 [150] 100.0% [152] 2246(6.4%) 0(0.0%) apply-transformer52 (unknown source) loop [161] 54.3% apply-transformer-in-context [153] 45.7% ------------------------------------------------------------------------- apply-transformer52 [152] 100.0% [153] 1026(2.9%) 204(0.6%) apply-transformer-in-context (unknown source) go [155] 20.9% datum->syntax6 [154] 20.1% ??? [156] 19.7% new-lambda [157] 19.5% ------------------------------------------------------------------------- namespace-syntax-introduce3 [136] 49.3% apply-transformer-in-context [153] 50.7% [154] 406(1.2%) 200(0.6%) datum->syntax6 (unknown source) loop [161] 50.7% ------------------------------------------------------------------------- apply-transformer-in-context [153]100.0% [155] 214(0.6%) 0(0.0%) go .../collects/racket/private/qq-and-or.rkt:50:20 stx-list? [158] 100.0% ------------------------------------------------------------------------- apply-transformer-in-context [153]100.0% [156] 202(0.6%) 0(0.0%) ??? ...collects/racket/private/qq-and-or.rkt:155:9 ??? [159] 100.0% ------------------------------------------------------------------------- apply-transformer-in-context [153]100.0% [157] 200(0.6%) 200(0.6%) new-lambda ...ollects/racket/private/kw.rkt:856:11 ------------------------------------------------------------------------- go [155] 100.0% [158] 214(0.6%) 0(0.0%) stx-list? .../collects/racket/private/stx.rkt:49:4 syntax-e [7] 100.0% ------------------------------------------------------------------------- ??? [156] 100.0% [159] 202(0.6%) 0(0.0%) ??? ...ollects/racket/private/qq-and-or.rkt:164:21 syntax->list [160] 100.0% ------------------------------------------------------------------------- ??? [159] 100.0% [160] 202(0.6%) 0(0.0%) syntax->list (unknown source) loop [161] 100.0% ------------------------------------------------------------------------- datum->syntax6 [154] 0.1% errors-score [111] 0.1% .../more-scheme.rkt:261:28 [35] 0.8% syntax->list [160] 1.1% errors [117] 2.2% lambda-clause-expander [149] 2.4% taylor [178] 4.3% eval-const-expr [36] 5.4% apply-transformer52 [152] 6.7% for-loop [49] 9.3% for-loop [183] 11.3% ??? [60] 13.1% loop [161] 16.1% syntax-e/no-taint [22] 27.2% [161] 9292(26.7%) 1230(3.5%) loop (unknown source) gf [162] 25.4% loop [161] 16.1% sample-multi-bounded [163] 13.1% ??? [165] 9.3% expand-capturing-lifts [147] 7.6% core-form-sym [167] 6.5% expand-id-application-form17 [166] 5.0% syntax-e [7] 3.5% dispatch-transformer41 [150] 2.4% simplify* [164] 2.2% simplify [182] 2.1% temp85_0 [125] 0.8% ------------------------------------------------------------------------- loop [161] 100.0% [162] 3032(8.7%) 208(0.6%) gf (unknown source) propagation-apply [172] 59.4% propagation-apply-shifted [173] 26.6% propagation-merge [174] 7.1% ------------------------------------------------------------------------- loop [161] 43.1% ??? [60] 56.9% [163] 2824(8.1%) 204(0.6%) sample-multi-bounded ...w-test/src/points.rkt:14:0 random-ranges [170] 85.7% for-loop [176] 7.1% ------------------------------------------------------------------------- loop [161] 10.0% hash-ref! [168] 10.0% map [54] 80.1% [164] 2006(5.8%) 1186(3.4%) simplify* ...val-pow-test/src/core/reduce.rkt:29:0 hash-ref! [168] 20.2% return/no-unsupplied [201] 10.7% ??? [70] 10.0% ------------------------------------------------------------------------- map [54] 11.0% loop [161] 89.0% [165] 1810(5.2%) 602(1.7%) ??? .../herbie/ival-pow-test/src/points.rkt:179:26 ??? [169] 55.7% ??? [175] 11.0% ------------------------------------------------------------------------- for-loop [183] 28.1% expand-capturing-lifts [147] 28.8% loop [161] 43.2% [166] 1390(4.0%) 390(1.1%) expand-id-application-form17 (unknown source) resolve+shift28 [171] 42.9% syntax-e/no-taint [22] 14.7% binding-lookup52 [177] 14.4% ------------------------------------------------------------------------- loop [161] 100.0% [167] 806(2.3%) 0(0.0%) core-form-sym (unknown source) resolve+shift28 [171] 100.0% ------------------------------------------------------------------------- localize-error [82] 0.2% first-nonzero-exp [28] 0.3% for-loop [37] 0.4% for-loop [25] 1.0% map [54] 1.1% for-loop [23] 1.3% loop [13] 1.5% simplify* [164] 1.6% ??? [33] 4.8% for-loop [20] 9.8% ??? [3] 11.5% for-loop [19] 12.4% ??? [4] 13.6% loop [18] 16.2% ??? [107] 22.6% [168] 15492(44.5%) 406(1.2%) hash-ref! .../racket/private/more-scheme.rkt:376:2 ??? [4] 29.8% ??? [5] 15.8% ??? [3] 14.8% f40 [31] 11.1% ??? [6] 10.2% taylor [178] 7.7% ??? [8] 2.3% parse-loop74 [21] 1.3% simplify-node [61] 1.0% simplify* [164] 0.6% ??? [12] 0.4% f61 [32] 0.2% simplify [182] 0.2% ------------------------------------------------------------------------- ??? [165] 41.5% .../more-scheme.rkt:261:28 [35] 58.5% [169] 2428(7.0%) 1616(4.6%) ??? .../ival-pow-test/src/syntax/syntax.rkt:214:17 return/no-unsupplied [201] 33.4% ------------------------------------------------------------------------- sample-multi-bounded [163] 100.0% [170] 2420(6.9%) 400(1.1%) random-ranges ...val-pow-test/src/common.rkt:164:0 build--> [179] 50.0% cons/c [181] 33.5% ------------------------------------------------------------------------- expand-identifier [15] 10.1% expand-implicit [14] 18.8% expand-id-application-form17 [166] 30.2% core-form-sym [167] 40.9% [171] 1972(5.7%) 800(2.3%) resolve+shift28 (unknown source) fallback-loop [180] 59.4% ------------------------------------------------------------------------- gf [162] 100.0% [172] 1802(5.2%) 1802(5.2%) propagation-apply (unknown source) ------------------------------------------------------------------------- gf [162] 100.0% [173] 808(2.3%) 808(2.3%) propagation-apply-shifted (unknown source) ------------------------------------------------------------------------- gf [162] 100.0% [174] 214(0.6%) 214(0.6%) propagation-merge (unknown source) ------------------------------------------------------------------------- ??? [165] 100.0% [175] 200(0.6%) 200(0.6%) ??? ...cket-7.5/collects/racket/function.rkt:93:12 ------------------------------------------------------------------------- sample-multi-bounded [163] 100.0% [176] 200(0.6%) 200(0.6%) for-loop ...rbie/ival-pow-test/src/points.rkt:20:4 ------------------------------------------------------------------------- expand-id-application-form17 [166]100.0% [177] 200(0.6%) 200(0.6%) binding-lookup52 (unknown source) ------------------------------------------------------------------------- for-loop [24] 6.6% map [54] 11.5% hash-ref! [168] 27.4% taylor [178] 54.4% [178] 4616(13.3%) 400(1.1%) taylor .../ival-pow-test/src/core/taylor.rkt:169:0 taylor [178] 54.4% map [54] 11.5% taylor-exp [187] 8.7% debug-print [185] 6.0% taylor-quotient [11] 4.8% taylor-log [10] 4.3% loop [13] 3.5% loop [161] 1.7% do-curry [188] 1.1% constant? [186] 1.1% ------------------------------------------------------------------------- random-ranges [170] 100.0% [179] 1210(3.5%) 802(2.3%) build--> ...act/private/arrow-val-first.rkt:1214:0 coerce-contract [184] 33.7% ------------------------------------------------------------------------- resolve+shift28 [171] 100.0% [180] 1172(3.4%) 782(2.2%) fallback-loop (unknown source) for-loop [183] 33.3% ------------------------------------------------------------------------- random-ranges [170] 100.0% [181] 810(2.3%) 0(0.0%) cons/c .../racket/contract/private/guts.rkt:500:15 coerce-contract [184] 75.1% flat-contract? [189] 24.9% ------------------------------------------------------------------------- hash-ref! [168] 48.2% loop [161] 51.8% [182] 382(1.1%) 198(0.6%) simplify ...ival-pow-test/src/core/reduce.rkt:16:0 f16 [190] 48.2% ------------------------------------------------------------------------- fallback-loop [180] 0.9% namespace-syntax-introduce3 [136] 2.5% compile-forms33 [148] 7.7% for-loop [183] 18.7% finish-bodys [151] 70.2% [183] 8014(23.0%) 1818(5.2%) for-loop (unknown source) finish-bodys [151] 53.4% for-loop [183] 18.7% compile-module-linklet57 [193] 7.7% loop [161] 3.8% syntax-e [7] 3.7% dispatch-transformer41 [150] 3.6% expand-id-application-form17 [166] 1.3% expand-implicit [14] 1.0% expand-identifier [15] 0.3% dispatch-variable [195] 0.1% ------------------------------------------------------------------------- build--> [179] 40.2% cons/c [181] 59.8% [184] 1016(2.9%) 0(0.0%) coerce-contract ...contract/private/guts.rkt:307:0 coerce-contract/f [191] 100.0% ------------------------------------------------------------------------- taylor [178] 100.0% [185] 608(1.7%) 0(0.0%) debug-print ...e/ival-pow-test/src/debug.rkt:110:0 for-loop [194] 66.8% ??? [196] 33.2% ------------------------------------------------------------------------- simplify-node [61] 33.2% pattern-match [89] 33.2% taylor [178] 33.6% [186] 602(1.7%) 0(0.0%) constant? ...-pow-test/src/syntax/syntax.rkt:726:0 value? [192] 100.0% ------------------------------------------------------------------------- for-loop [24] 32.0% taylor [178] 68.0% [187] 588(1.7%) 0(0.0%) taylor-exp ...l-pow-test/src/core/taylor.rkt:400:0 f40 [31] 100.0% ------------------------------------------------------------------------- pattern-substitute [139] 47.7% taylor [178] 52.3% [188] 386(1.1%) 386(1.1%) do-curry ...-7.5/collects/racket/function.rkt:71:2 ------------------------------------------------------------------------- cons/c [181] 100.0% [189] 202(0.6%) 202(0.6%) flat-contract? .../contract/private/guts.rkt:129:0 ------------------------------------------------------------------------- simplify [182] 20.0% f16 [190] 80.0% [190] 184(0.5%) 0(0.0%) f16 (unknown source) f16 [190] 80.0% loop [197] 20.0% ------------------------------------------------------------------------- coerce-contract [184] 100.0% [191] 1016(2.9%) 0(0.0%) coerce-contract/f ...ntract/private/guts.rkt:372:0 coerce-simple-value [198] 100.0% ------------------------------------------------------------------------- variable? [51] 25.1% constant? [186] 74.9% [192] 804(2.3%) 804(2.3%) value? .../ival-pow-test/src/syntax/types.rkt:18:0 ------------------------------------------------------------------------- for-loop [183] 100.0% [193] 620(1.8%) 620(1.8%) compile-module-linklet57 (unknown source) ------------------------------------------------------------------------- debug-print [185] 100.0% [194] 406(1.2%) 406(1.2%) for-loop ...rbie/ival-pow-test/src/debug.rkt:116:2 ------------------------------------------------------------------------- for-loop [183] 100.0% [195] 210(0.6%) 0(0.0%) dispatch-variable (unknown source) substitute-variable6 [200] 100.0% ------------------------------------------------------------------------- debug-print [185] 100.0% [196] 202(0.6%) 202(0.6%) ??? .../contract/private/arrow-val-first.rkt:555:3 ------------------------------------------------------------------------- f16 [190] 100.0% [197] 184(0.5%) 0(0.0%) loop ...bie/ival-pow-test/src/core/reduce.rkt:18:2 type-of [199] 100.0% ------------------------------------------------------------------------- coerce-contract/f [191] 100.0% [198] 1016(2.9%) 1016(2.9%) coerce-simple-value ...ract/private/guts.rkt:385:0 ------------------------------------------------------------------------- loop [197] 31.4% mterm->expr [137] 68.6% [199] 586(1.7%) 184(0.5%) type-of ...e/ival-pow-test/src/type-check.rkt:36:0 table-ref [202] 34.5% return/no-unsupplied [201] 34.1% ------------------------------------------------------------------------- dispatch-variable [195] 100.0% [200] 210(0.6%) 210(0.6%) substitute-variable6 (unknown source) ------------------------------------------------------------------------- type-of [199] 16.3% simplify* [164] 17.5% ??? [169] 66.2% [201] 1226(3.5%) 1026(2.9%) return/no-unsupplied ...ct/private/arr-i.rkt:566:0 filter [203] 16.3% ------------------------------------------------------------------------- type-of [199] 100.0% [202] 202(0.6%) 202(0.6%) table-ref ...bie/ival-pow-test/src/common.rkt:33:0 ------------------------------------------------------------------------- return/no-unsupplied [201] 100.0% [203] 200(0.6%) 200(0.6%) filter ...5/collects/racket/private/list.rkt:256:2 -------------------------------------------------------------------------