Profiling results ----------------- Total cpu time observed: 375260ms (out of 375676ms) Number of samples taken: 1136 (once every 330ms) (Hiding functions with self<1.0% and local<2.0%: 17 of 302 hidden) =========================================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee =========================================================================================== ??? [57] 100.0% [1] 375260(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [17] 100.0% ------------------------------------------------------------------------------------------- ??? [57] 100.0% [2] 353092(94.1%) 0(0.0%) run-improve41 ...lt-testing/src/mainloop.rkt:225:0 for-loop [18] 95.8% get-final-combination [21] 3.7% setup-prog!32 [25] 0.4% setup-alt-simplified [30] 0.1% ------------------------------------------------------------------------------------------- ??? [177] 0.1% simplify-alt [38] 0.1% ??? [57] 99.8% [3] 285760(76.1%) 0(0.0%) unpack24 ...alt-testing/src/core/simplify.rkt:43:0 for-loop [19] 66.0% ??? [34] 33.9% *simplify-rules* [31] 0.1% ------------------------------------------------------------------------------------------- ??? [177] 100.0% [4] 16236(4.3%) 0(0.0%) approximate9 ...t-testing/src/core/taylor.rkt:12:0 loop [20] 86.4% for-loop [26] 7.9% taylor [36] 5.7% ------------------------------------------------------------------------------------------- hash-ref! [188] 100.0% [5] 9086(2.4%) 0(0.0%) ??? ...rbie/alt-testing/src/core/taylor.rkt:295:23 for-loop [22] 100.0% ------------------------------------------------------------------------------------------- hash-ref! [188] 100.0% [6] 8128(2.2%) 0(0.0%) ??? ...rbie/alt-testing/src/core/taylor.rkt:392:23 for-loop [23] 100.0% ------------------------------------------------------------------------------------------- loop [267] 30.1% for-loop [277] 69.9% [7] 3298(0.9%) 0(0.0%) syntax-e (unknown source) syntax-e/no-taint [24] 100.0% ------------------------------------------------------------------------------------------- f8 [207] 100.0% [8] 2522(0.7%) 0(0.0%) loop ...erbie/alt-testing/src/core/reduce.rkt:18:2 expression->type [80] 100.0% ------------------------------------------------------------------------------------------- ??? [237] 14.1% copying-mergesort [258] 85.9% [9] 2212(0.6%) 0(0.0%) loop ...7.5/collects/racket/private/sort.rkt:96:12 ??? [166] 100.0% ------------------------------------------------------------------------------------------- taylor [36] 100.0% [10] 1568(0.4%) 0(0.0%) taylor-invert ...testing/src/core/taylor.rkt:312:0 simplify [196] 59.7% first-nonzero-exp [28] 40.3% ------------------------------------------------------------------------------------------- hash-ref! [188] 100.0% [11] 1276(0.3%) 0(0.0%) ??? ...rbie/alt-testing/src/core/taylor.rkt:483:23 for-loop [27] 73.7% hash-ref! [188] 26.3% ------------------------------------------------------------------------------------------- expand-capturing-lifts [208] 24.5% for-loop [277] 75.5% [12] 1232(0.3%) 0(0.0%) expand-implicit (unknown source) resolve+shift28 [271] 100.0% ------------------------------------------------------------------------------------------- copying-mergesort [258] 100.0% [13] 658(0.2%) 0(0.0%) jloop ...5/collects/racket/private/sort.rkt:120:23 ??? [166] 100.0% ------------------------------------------------------------------------------------------- hash-ref! [188] 100.0% [14] 628(0.2%) 0(0.0%) ??? ...rbie/alt-testing/src/core/taylor.rkt:285:26 for-loop [29] 100.0% ------------------------------------------------------------------------------------------- append-map [223] 100.0% [15] 334(0.1%) 0(0.0%) free-variables ...t-testing/src/programs.rkt:102:0 variable? [79] 100.0% ------------------------------------------------------------------------------------------- hash-ref! [188] 100.0% [16] 306(0.1%) 0(0.0%) ??? ...rbie/alt-testing/src/core/taylor.rkt:425:23 for-loop [32] 100.0% ------------------------------------------------------------------------------------------- profile-thunk16 [1] 100.0% [17] 375260(100.0%) 0(0.0%) run ...et-7.5/share/pkgs/profile-lib/main.rkt:39:2 ??? [57] 100.0% ------------------------------------------------------------------------------------------- run-improve41 [2] 100.0% [18] 338438(90.2%) 0(0.0%) for-loop ...ie/alt-testing/src/mainloop.rkt:240:10 run-iter! [33] 100.0% ------------------------------------------------------------------------------------------- unpack24 [3] 100.0% [19] 188678(50.3%) 0(0.0%) for-loop ...lt-testing/src/core/simplify.rkt:66:12 ??? [34] 100.0% ------------------------------------------------------------------------------------------- approximate9 [4] 100.0% [20] 14034(3.7%) 0(0.0%) loop ...erbie/alt-testing/src/core/taylor.rkt:86:4 ??? [177] 100.0% ------------------------------------------------------------------------------------------- run-improve41 [2] 100.0% [21] 12998(3.5%) 0(0.0%) get-final-combination ...ng/src/mainloop.rkt:255:0 split-table [35] 95.4% ??? [177] 2.3% extract-alt [40] 2.3% ------------------------------------------------------------------------------------------- ??? [5] 100.0% [22] 9086(2.4%) 0(0.0%) for-loop ...alt-testing/src/core/taylor.rkt:298:27 hash-ref! [188] 92.8% simplify [196] 7.2% ------------------------------------------------------------------------------------------- ??? [6] 100.0% [23] 8128(2.2%) 0(0.0%) for-loop ...alt-testing/src/core/taylor.rkt:396:33 hash-ref! [188] 100.0% ------------------------------------------------------------------------------------------- gf [269] 7.6% expand-id-application-form17 [278] 9.1% syntax-e [7] 83.3% [24] 3958(1.1%) 0(0.0%) syntax-e/no-taint (unknown source) loop [267] 100.0% ------------------------------------------------------------------------------------------- run-improve41 [2] 100.0% [25] 1322(0.4%) 0(0.0%) setup-prog!32 ...alt-testing/src/mainloop.rkt:72:0 prepare-points [68] 100.0% ------------------------------------------------------------------------------------------- approximate9 [4] 100.0% [26] 1278(0.3%) 0(0.0%) for-loop .../alt-testing/src/core/taylor.rkt:29:18 taylor [36] 100.0% ------------------------------------------------------------------------------------------- ??? [11] 100.0% [27] 940(0.3%) 0(0.0%) for-loop ...alt-testing/src/core/taylor.rkt:487:35 parse-loop14 [226] 100.0% ------------------------------------------------------------------------------------------- taylor-invert [10] 100.0% [28] 632(0.2%) 0(0.0%) first-nonzero-exp ...ing/src/core/taylor.rkt:260:0 simplify [196] 100.0% ------------------------------------------------------------------------------------------- ??? [14] 100.0% [29] 628(0.2%) 0(0.0%) for-loop ...alt-testing/src/core/taylor.rkt:285:52 ??? [37] 100.0% ------------------------------------------------------------------------------------------- run-improve41 [2] 100.0% [30] 334(0.1%) 0(0.0%) setup-alt-simplified ...-testing/src/glue.rkt:49:0 simplify-alt [38] 100.0% ------------------------------------------------------------------------------------------- unpack24 [3] 100.0% [31] 310(0.1%) 0(0.0%) *simplify-rules* ...ing/src/syntax/rules.rkt:570:0 for-loop [39] 100.0% ------------------------------------------------------------------------------------------- ??? [16] 100.0% [32] 306(0.1%) 0(0.0%) for-loop ...alt-testing/src/core/taylor.rkt:428:30 hash-ref! [188] 100.0% ------------------------------------------------------------------------------------------- for-loop [18] 100.0% [33] 338438(90.2%) 0(0.0%) run-iter! ...ie/alt-testing/src/mainloop.rkt:206:0 simplify! [41] 84.2% finalize-iter! [43] 8.9% gen-series! [45] 4.9% choose-best-alt! [47] 1.0% localize-error [48] 0.6% gen-rewrites! [49] 0.4% ------------------------------------------------------------------------------------------- unpack24 [3] 33.9% for-loop [19] 66.1% [34] 285450(76.1%) 0(0.0%) ??? ...rbie/alt-testing/src/core/simplify.rkt:77:0 iterate-egraph!13 [42] 89.1% loop [44] 8.9% mk-egraph [46] 1.9% ------------------------------------------------------------------------------------------- get-final-combination [21] 100.0% [35] 12402(3.3%) 0(0.0%) split-table ...rbie/alt-testing/src/glue.rkt:162:0 f8 [207] 100.0% ------------------------------------------------------------------------------------------- approximate9 [4] 9.0% for-loop [26] 9.0% taylor [36] 81.9% [36] 2202(0.6%) 0(0.0%) taylor ...ie/alt-testing/src/core/taylor.rkt:163:0 taylor [36] 81.9% taylor-invert [10] 13.9% debug7 [211] 2.3% loop [137] 1.9% ------------------------------------------------------------------------------------------- for-loop [29] 100.0% [37] 628(0.2%) 0(0.0%) ??? ...rbie/alt-testing/src/core/taylor.rkt:288:19 hash-ref! [188] 100.0% ------------------------------------------------------------------------------------------- setup-alt-simplified [30] 100.0% [38] 334(0.1%) 0(0.0%) simplify-alt ...rbie/alt-testing/src/glue.rkt:76:0 unpack24 [3] 100.0% ------------------------------------------------------------------------------------------- *simplify-rules* [31] 100.0% [39] 310(0.1%) 310(0.1%) for-loop ...herbie/alt-testing/src/common.rkt:99:9 ------------------------------------------------------------------------------------------- get-final-combination [21] 100.0% [40] 296(0.1%) 0(0.0%) extract-alt ...erbie/alt-testing/src/glue.rkt:55:0 argmins [203] 100.0% ------------------------------------------------------------------------------------------- run-iter! [33] 100.0% [41] 285126(76.0%) 0(0.0%) simplify! ...ie/alt-testing/src/mainloop.rkt:146:0 for-loop [50] 100.0% ------------------------------------------------------------------------------------------- ??? [34] 100.0% [42] 254462(67.8%) 326(0.1%) iterate-egraph!13 ...g/src/core/simplify.rkt:105:0 one-iter [51] 98.7% map-enodes [55] 1.1% ------------------------------------------------------------------------------------------- run-iter! [33] 100.0% [43] 30290(8.1%) 0(0.0%) finalize-iter! ...t-testing/src/mainloop.rkt:160:0 ??? [118] 100.0% ------------------------------------------------------------------------------------------- ??? [34] 100.0% [44] 25494(6.8%) 0(0.0%) loop ...ie/alt-testing/src/core/simplify.rkt:237:2 for-loop [52] 100.0% ------------------------------------------------------------------------------------------- run-iter! [33] 100.0% [45] 16572(4.4%) 0(0.0%) gen-series! .../alt-testing/src/mainloop.rkt:120:0 for-loop [53] 100.0% ------------------------------------------------------------------------------------------- ??? [34] 100.0% [46] 5494(1.5%) 0(0.0%) mk-egraph ...alt-testing/src/core/egraph.rkt:131:0 mk-enode-rec! [54] 93.9% mk-enode! [101] 6.1% ------------------------------------------------------------------------------------------- run-iter! [33] 100.0% [47] 3222(0.9%) 0(0.0%) choose-best-alt! ...testing/src/mainloop.rkt:106:0 ??? [118] 100.0% ------------------------------------------------------------------------------------------- run-iter! [33] 100.0% [48] 2004(0.5%) 0(0.0%) localize-error ...sting/src/core/localize.rkt:47:0 hash-ref! [188] 100.0% ------------------------------------------------------------------------------------------- run-iter! [33] 100.0% [49] 1224(0.3%) 0(0.0%) gen-rewrites! ...lt-testing/src/mainloop.rkt:133:0 for-loop [56] 100.0% ------------------------------------------------------------------------------------------- simplify! [41] 100.0% [50] 285126(76.0%) 0(0.0%) for-loop ...bie/alt-testing/src/mainloop.rkt:150:6 ??? [57] 100.0% ------------------------------------------------------------------------------------------- iterate-egraph!13 [42] 100.0% [51] 251270(67.0%) 4068(1.1%) one-iter ...lt-testing/src/core/simplify.rkt:116:0 for-loop [58] 56.8% for-loop [59] 41.1% ------------------------------------------------------------------------------------------- loop [44] 100.0% [52] 25494(6.8%) 0(0.0%) for-loop ...t-testing/src/core/simplify.rkt:230:29 argmin [60] 73.9% loop [62] 18.2% for-loop [64] 6.6% make-sequence [160] 1.3% ------------------------------------------------------------------------------------------- gen-series! [45] 100.0% [53] 16572(4.4%) 0(0.0%) for-loop ...bie/alt-testing/src/mainloop.rkt:126:7 taylor-alt [61] 100.0% ------------------------------------------------------------------------------------------- mk-enode-rec! [54] 41.6% mk-egraph [46] 58.4% [54] 5160(1.4%) 0(0.0%) mk-enode-rec! ...testing/src/core/egraph.rkt:122:0 mk-enode! [101] 58.4% mk-enode-rec! [54] 41.6% ------------------------------------------------------------------------------------------- iterate-egraph!13 [42] 100.0% [55] 2866(0.8%) 0(0.0%) map-enodes ...lt-testing/src/core/egraph.rkt:140:0 loop [137] 77.8% set-precompute! [63] 22.2% ------------------------------------------------------------------------------------------- gen-rewrites! [49] 100.0% [56] 1224(0.3%) 0(0.0%) for-loop ...ie/alt-testing/src/mainloop.rkt:138:11 ??? [65] 100.0% ------------------------------------------------------------------------------------------- for-loop [50] 25.3% run [17] 37.3% [57] 375260(100.0%) 292(0.1%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [1] 37.3% run-improve41 [2] 34.4% unpack24 [3] 25.3% prepare-points [68] 2.9% ------------------------------------------------------------------------------------------- one-iter [51] 100.0% [58] 142692(38.0%) 630(0.2%) for-loop ...lt-testing/src/core/simplify.rkt:166:2 for-loop [66] 84.7% match-e [67] 13.5% update-leader! [88] 0.9% ------------------------------------------------------------------------------------------- for-loop [59] 48.6% one-iter [51] 51.4% [59] 103262(27.5%) 17372(4.6%) for-loop ...t-testing/src/core/simplify.rkt:126:12 for-loop [59] 48.6% match-e [67] 41.4% ??? [105] 0.2% ------------------------------------------------------------------------------------------- for-loop [52] 100.0% [60] 18846(5.0%) 362(0.1%) argmin ...acket-7.5/collects/racket/list.rkt:765:0 for-loop [69] 87.7% expression-cost [72] 10.4% ------------------------------------------------------------------------------------------- for-loop [53] 100.0% [61] 16572(4.4%) 0(0.0%) taylor-alt ...erbie/alt-testing/src/glue.rkt:134:0 for-loop [70] 100.0% ------------------------------------------------------------------------------------------- for-loop [52] 100.0% [62] 4636(1.2%) 0(0.0%) loop .../racket-7.5/collects/racket/list.rkt:751:4 for-loop [69] 93.5% expression-cost [72] 6.5% ------------------------------------------------------------------------------------------- map-enodes [55] 25.4% loop [137] 74.6% [63] 2506(0.7%) 0(0.0%) set-precompute! ...ing/src/core/simplify.rkt:193:0 for-loop [71] 100.0% ------------------------------------------------------------------------------------------- for-loop [52] 100.0% [64] 1688(0.4%) 324(0.1%) for-loop ...t-testing/src/core/simplify.rkt:217:13 for-loop [73] 80.8% ------------------------------------------------------------------------------------------- for-loop [56] 100.0% [65] 1224(0.3%) 0(0.0%) ??? ...herbie/alt-testing/src/alternative.rkt:88:0 rewriter [74] 100.0% ------------------------------------------------------------------------------------------- for-loop [58] 100.0% [66] 120836(32.2%) 600(0.2%) for-loop ...t-testing/src/core/simplify.rkt:148:10 mk-enode! [101] 38.6% substitute-e [76] 28.5% merge-egraph-nodes! [77] 17.1% loop! [145] 13.8% list-member? [82] 1.6% ------------------------------------------------------------------------------------------- for-loop [58] 12.7% for-loop [86] 16.2% for-loop [59] 71.1% [67] 104764(27.9%) 21396(5.7%) match-e ...ie/alt-testing/src/core/ematch.rkt:46:0 for-loop [75] 72.7% ??? [118] 5.2% variable? [79] 1.6% make-sequence [160] 1.2% custom-in-set [186] 0.3% ------------------------------------------------------------------------------------------- setup-prog!32 [25] 5.3% pred [264] 7.0% ??? [57] 87.7% [68] 24936(6.6%) 0(0.0%) prepare-points ...alt-testing/src/points.rkt:214:0 loop [89] 34.3% make-exacts* [90] 33.8% loop [78] 31.9% ------------------------------------------------------------------------------------------- loop [62] 20.8% argmin [60] 79.2% [69] 20862(5.6%) 634(0.2%) for-loop ...bie/alt-testing/src/programs.rkt:210:2 table-ref [120] 76.4% ...sting/src/common.rkt:47:2 [121] 20.6% ------------------------------------------------------------------------------------------- taylor-alt [61] 100.0% [70] 16572(4.4%) 0(0.0%) for-loop .../herbie/alt-testing/src/glue.rkt:139:6 ??? [177] 100.0% ------------------------------------------------------------------------------------------- set-precompute! [63] 100.0% [71] 2506(0.7%) 634(0.2%) for-loop ...lt-testing/src/core/simplify.rkt:195:2 eval-const-expr [84] 25.5% setfindf [85] 25.1% loop [267] 12.1% do-curry [91] 12.0% ------------------------------------------------------------------------------------------- loop [62] 13.3% argmin [60] 86.7% [72] 2258(0.6%) 0(0.0%) expression-cost ...-testing/src/programs.rkt:209:0 compile [81] 100.0% ------------------------------------------------------------------------------------------- for-loop [64] 100.0% [73] 1364(0.4%) 1364(0.4%) for-loop ...t-testing/src/core/simplify.rkt:220:37 ------------------------------------------------------------------------------------------- ??? [65] 37.4% matcher [96] 62.6% [74] 1224(0.3%) 300(0.1%) rewriter ...alt-testing/src/core/matcher.rkt:131:2 for-loop [83] 62.6% expression->type [80] 17.1% f8 [207] 8.1% ------------------------------------------------------------------------------------------- match-e [67] 100.0% [75] 81320(21.7%) 34866(9.3%) for-loop .../alt-testing/src/core/ematch.rkt:59:11 for-loop [86] 33.8% do-curry [91] 10.8% procedure-reduce-keyword-arity-mask [92] 7.5% list-cartesian-product [93] 7.2% filter [228] 0.6% foldl [98] 0.6% loop [137] 0.4% ------------------------------------------------------------------------------------------- for-loop [87] 2.8% for-loop [66] 97.2% [76] 34378(9.2%) 934(0.2%) substitute-e ...t-testing/src/core/ematch.rkt:71:0 for-loop [87] 97.7% ??? [118] 0.6% ------------------------------------------------------------------------------------------- for-loop [94] 5.4% for-loop [66] 94.6% [77] 20606(5.5%) 0(0.0%) merge-egraph-nodes! ...g/src/core/egraph.rkt:153:0 update-leader! [88] 70.4% for-loop [94] 24.8% enode-merge! [97] 4.9% ------------------------------------------------------------------------------------------- prepare-points [68] 100.0% [78] 7944(2.1%) 0(0.0%) loop ...es/herbie/alt-testing/src/points.rkt:158:2 loop [89] 51.9% make-exacts* [90] 48.1% ------------------------------------------------------------------------------------------- free-variables [15] 8.4% match-e [67] 91.6% [79] 3996(1.1%) 0(0.0%) variable? ...t-testing/src/syntax/syntax.rkt:665:0 ??? [118] 100.0% ------------------------------------------------------------------------------------------- for-loop [222] 4.8% rewriter [74] 18.0% for-loop [95] 31.9% loop [8] 45.3% [80] 3486(0.9%) 0(0.0%) expression->type ...esting/src/type-check.rkt:45:0 for-loop [95] 95.2% ??? [118] 4.8% ------------------------------------------------------------------------------------------- expression-cost [72] 100.0% [81] 2258(0.6%) 302(0.1%) compile ...rbie/alt-testing/src/programs.rkt:186:0 hash-ref! [188] 86.6% ------------------------------------------------------------------------------------------- for-loop [66] 100.0% [82] 1984(0.5%) 0(0.0%) list-member? ...llects/racket/private/set.rkt:24:0 loop [267] 81.9% member [100] 18.1% ------------------------------------------------------------------------------------------- rewriter [74] 100.0% [83] 1224(0.3%) 0(0.0%) for-loop ...lt-testing/src/core/matcher.rkt:134:10 matcher [96] 100.0% ------------------------------------------------------------------------------------------- for-loop [71] 100.0% [84] 640(0.2%) 0(0.0%) eval-const-expr ...-testing/src/programs.rkt:168:0 f8 [207] 100.0% ------------------------------------------------------------------------------------------- for-loop [71] 100.0% [85] 630(0.2%) 0(0.0%) setfindf ...erbie/alt-testing/src/common.rkt:186:0 for-loop [99] 100.0% ------------------------------------------------------------------------------------------- for-loop [75] 100.0% [86] 37284(9.9%) 3778(1.0%) for-loop .../alt-testing/src/core/ematch.rkt:65:37 match-e [67] 85.5% ??? [105] 4.8% ------------------------------------------------------------------------------------------- substitute-e [76] 100.0% [87] 34074(9.1%) 330(0.1%) for-loop .../alt-testing/src/core/ematch.rkt:80:24 mk-enode! [101] 95.3% substitute-e [76] 4.2% ------------------------------------------------------------------------------------------- for-loop [58] 8.1% merge-egraph-nodes! [77] 91.9% [88] 16306(4.3%) 310(0.1%) update-leader! ...esting/src/core/egraph.rkt:218:0 for-loop [102] 55.7% for-loop [103] 40.4% ------------------------------------------------------------------------------------------- loop [78] 32.5% prepare-points [68] 67.5% [89] 12676(3.4%) 0(0.0%) loop ...es/herbie/alt-testing/src/points.rkt:141:4 loop [137] 100.0% ------------------------------------------------------------------------------------------- loop [78] 31.2% prepare-points [68] 68.8% [90] 12260(3.3%) 0(0.0%) make-exacts* ...e/alt-testing/src/points.rkt:138:0 loop [137] 88.3% eval-prog [155] 11.7% ------------------------------------------------------------------------------------------- for-loop [71] 3.2% for-loop [75] 96.8% [91] 9466(2.5%) 9466(2.5%) do-curry ...-7.5/collects/racket/function.rkt:71:2 ------------------------------------------------------------------------------------------- for-loop [75] 100.0% [92] 8112(2.2%) 8112(2.2%) procedure-reduce-keyword-arity-mask ....rkt:1597:4 ------------------------------------------------------------------------------------------- list-cartesian-product [93] 24.0% for-loop [75] 76.0% [93] 6850(1.8%) 3510(0.9%) list-cartesian-product ...src/core/ematch.rkt:20:0 for-loop [104] 38.8% list-cartesian-product [93] 24.0% ------------------------------------------------------------------------------------------- merge-egraph-nodes! [77] 100.0% [94] 5582(1.5%) 0(0.0%) for-loop ...alt-testing/src/core/egraph.rkt:201:10 loop! [145] 71.3% merge-egraph-nodes! [77] 28.7% ------------------------------------------------------------------------------------------- expression->type [80] 100.0% [95] 3486(0.9%) 0(0.0%) for-loop ...ie/alt-testing/src/type-check.rkt:52:5 f8 [207] 63.3% expression->type [80] 36.7% ------------------------------------------------------------------------------------------- for-loop [106] 50.0% for-loop [83] 50.0% [96] 1224(0.3%) 0(0.0%) matcher .../alt-testing/src/core/matcher.rkt:167:2 for-loop [106] 50.0% rewriter [74] 50.0% ------------------------------------------------------------------------------------------- merge-egraph-nodes! [77] 100.0% [97] 1000(0.3%) 0(0.0%) enode-merge! ...t-testing/src/core/enode.rkt:129:0 adopt-enode! [107] 67.4% custom-set-intersect! [109] 32.6% ------------------------------------------------------------------------------------------- for-loop [75] 100.0% [98] 636(0.2%) 300(0.1%) foldl ....5/collects/racket/private/list.rkt:229:4 merge2 [108] 52.8% ------------------------------------------------------------------------------------------- setfindf [85] 100.0% [99] 630(0.2%) 630(0.2%) for-loop ...erbie/alt-testing/src/common.rkt:187:2 ------------------------------------------------------------------------------------------- list-member? [82] 100.0% [100] 360(0.1%) 360(0.1%) member (unknown source) ------------------------------------------------------------------------------------------- mk-egraph [46] 0.4% mk-enode-rec! [54] 6.1% for-loop [87] 38.4% for-loop [66] 55.1% [101] 84600(22.5%) 2622(0.7%) mk-enode! ...alt-testing/src/core/egraph.rkt:102:0 new-enode [110] 93.1% for-loop [112] 2.3% hash-has-key? [126] 1.6% ------------------------------------------------------------------------------------------- update-leader! [88] 100.0% [102] 9084(2.4%) 0(0.0%) for-loop .../alt-testing/src/core/egraph.rkt:223:6 for-loop [111] 100.0% ------------------------------------------------------------------------------------------- update-leader! [88] 100.0% [103] 6588(1.8%) 5912(1.6%) for-loop .../alt-testing/src/core/egraph.rkt:233:6 update-en-expr [157] 10.3% ------------------------------------------------------------------------------------------- list-cartesian-product [93] 100.0% [104] 3340(0.9%) 3340(0.9%) for-loop ...e/alt-testing/src/core/ematch.rkt:24:8 ------------------------------------------------------------------------------------------- for-loop [59] 14.8% for-loop [86] 85.2% [105] 2268(0.6%) 634(0.2%) ??? ...herbie/alt-testing/src/core/ematch.rkt:50:5 for-loop [113] 72.0% ------------------------------------------------------------------------------------------- matcher [96] 100.0% [106] 1224(0.3%) 0(0.0%) for-loop ...lt-testing/src/core/matcher.rkt:183:21 matcher [96] 100.0% ------------------------------------------------------------------------------------------- enode-merge! [97] 100.0% [107] 674(0.2%) 338(0.1%) adopt-enode! ...t-testing/src/core/enode.rkt:105:0 custom-set-union [156] 49.9% ------------------------------------------------------------------------------------------- foldl [98] 100.0% [108] 336(0.1%) 336(0.1%) merge2 ...bie/alt-testing/src/core/ematch.rkt:31:0 ------------------------------------------------------------------------------------------- enode-merge! [97] 100.0% [109] 326(0.1%) 326(0.1%) custom-set-intersect! ...ivate/set-types.rkt:269:0 ------------------------------------------------------------------------------------------- mk-enode! [101] 100.0% [110] 78744(21.0%) 0(0.0%) new-enode ...e/alt-testing/src/core/enode.rkt:97:0 type-of-enode-expr [114] 99.6% set [158] 0.4% ------------------------------------------------------------------------------------------- for-loop [102] 100.0% [111] 9084(2.4%) 0(0.0%) for-loop .../alt-testing/src/core/egraph.rkt:224:8 hash-update! [115] 100.0% ------------------------------------------------------------------------------------------- mk-enode! [101] 100.0% [112] 1908(0.5%) 1908(0.5%) for-loop ...alt-testing/src/core/egraph.rkt:114:10 ------------------------------------------------------------------------------------------- ??? [105] 100.0% [113] 1634(0.4%) 1324(0.4%) for-loop ...e/alt-testing/src/core/ematch.rkt:51:7 ??? [118] 19.0% ------------------------------------------------------------------------------------------- new-enode [110] 100.0% [114] 78410(20.9%) 0(0.0%) type-of-enode-expr ...ting/src/core/enode.rkt:68:0 get-sigs [116] 100.0% ------------------------------------------------------------------------------------------- for-loop [111] 100.0% [115] 9084(2.4%) 330(0.1%) hash-update! ...cket/private/more-scheme.rkt:365:4 ??? [117] 96.4% ------------------------------------------------------------------------------------------- type-of-enode-expr [114] 100.0% [116] 78410(20.9%) 958(0.3%) get-sigs ...bie/alt-testing/src/type-check.rkt:5:0 ??? [119] 55.0% table-ref [120] 18.2% ??? [118] 10.6% ...sting/src/common.rkt:47:2 [121] 7.2% for-loop [123] 5.7% get/build-late-neg-projection [148] 1.7% ??? [151] 0.4% ------------------------------------------------------------------------------------------- hash-update! [115] 100.0% [117] 8754(2.3%) 0(0.0%) ??? ...rbie/alt-testing/src/core/egraph.rkt:226:24 for-loop [122] 100.0% ------------------------------------------------------------------------------------------- for-loop [113] 0.5% expression->type [80] 0.6% substitute-e [76] 1.1% f8 [207] 1.1% ??? [227] 2.9% choose-best-alt! [47] 5.6% variable? [79] 7.0% get-sigs [116] 14.5% match-e [67] 14.7% finalize-iter! [43] 51.8% [118] 57218(15.2%) 8370(2.2%) ??? ...contract/private/arrow-val-first.rkt:486:18 for-loop [125] 51.8% hash-has-key? [126] 27.3% atab-pick-alt8 [129] 5.6% ??? [227] 0.6% ------------------------------------------------------------------------------------------- f8 [207] 2.7% get-sigs [116] 97.3% [119] 44350(11.8%) 0(0.0%) ??? ...ects/racket/contract/private/hash.rkt:278:4 contract-pos/neg-doubling/proc [124] 100.0% ------------------------------------------------------------------------------------------- f8 [207] 2.0% ??? [177] 4.2% get-sigs [116] 44.3% for-loop [69] 49.6% [120] 32148(8.6%) 7188(1.9%) table-ref ...erbie/alt-testing/src/common.rkt:46:0 ??? [132] 63.4% return/no-unsupplied [215] 4.3% ??? [140] 3.1% dict? [130] 3.0% ??? [227] 0.9% ------------------------------------------------------------------------------------------- ??? [177] 3.3% f8 [207] 5.6% for-loop [69] 39.3% get-sigs [116] 51.8% [121] 10904(2.9%) 2312(0.6%) ...sting/src/common.rkt:47:2 ...e/arr-i.rkt:976:19 ??? [127] 42.0% ??? [128] 34.0% coerce-contract [131] 2.8% ------------------------------------------------------------------------------------------- ??? [117] 100.0% [122] 8754(2.3%) 6254(1.7%) for-loop ...alt-testing/src/core/egraph.rkt:227:26 update-en-expr [157] 28.6% ------------------------------------------------------------------------------------------- f8 [207] 9.4% for-loop [139] 24.4% get-sigs [116] 66.2% [123] 6758(1.8%) 1008(0.3%) for-loop ...racket/contract/private/hash.rkt:328:6 ??? [140] 85.1% ------------------------------------------------------------------------------------------- ??? [119] 100.0% [124] 44350(11.8%) 40552(10.8%) contract-pos/neg-doubling/proc .../guts.rkt:1005:0 ??? [134] 8.6% ------------------------------------------------------------------------------------------- ??? [118] 100.0% [125] 30290(8.1%) 0(0.0%) for-loop ...lt-testing/src/core/alt-table.rkt:53:2 atab-add-altn [133] 100.0% ------------------------------------------------------------------------------------------- mk-enode! [101] 7.5% ??? [118] 92.5% [126] 17594(4.7%) 3406(0.9%) hash-has-key? ...ket/private/more-scheme.rkt:371:2 ??? [132] 78.7% ------------------------------------------------------------------------------------------- for-loop [149] 7.2% ??? [140] 17.5% ...sting/src/common.rkt:47:2 [121] 75.3% [127] 4582(1.2%) 2260(0.6%) ??? ...ects/racket/contract/private/list.rkt:370:4 ??? [140] 52.9% ??? [151] 7.9% ??? [227] 7.3% ------------------------------------------------------------------------------------------- ...sting/src/common.rkt:47:2 [121] 100.0% [128] 3710(1.0%) 334(0.1%) ??? ...s/racket/contract/private/arr-i.rkt:1321:39 return/no-unsupplied [215] 64.0% assoc-ref [136] 27.0% ------------------------------------------------------------------------------------------- ??? [118] 100.0% [129] 3222(0.9%) 0(0.0%) atab-pick-alt8 ...ting/src/core/alt-table.rkt:64:0 point-best-alt [135] 60.8% ??? [177] 39.2% ------------------------------------------------------------------------------------------- table-ref [120] 100.0% [130] 966(0.3%) 966(0.3%) dict? ...ollects/racket/private/generic.rkt:146:11 ------------------------------------------------------------------------------------------- ...sting/src/common.rkt:47:2 [121] 100.0% [131] 300(0.1%) 300(0.1%) coerce-contract ...contract/private/guts.rkt:307:0 ------------------------------------------------------------------------------------------- hash-has-key? [126] 40.5% table-ref [120] 59.5% [132] 34234(9.1%) 11038(2.9%) ??? ...ects/racket/contract/private/list.rkt:808:4 for-loop [139] 38.2% ??? [146] 23.7% arrow-higher-order:lnp [150] 2.9% ??? [140] 2.0% successfully-got-the-right-kind-of-function [142] 1.0% ------------------------------------------------------------------------------------------- for-loop [125] 100.0% [133] 30290(8.1%) 0(0.0%) atab-add-altn ...ting/src/core/alt-table.rkt:239:0 best-and-tied-at-points [138] 99.0% ------------------------------------------------------------------------------------------- contract-pos/neg-doubling/proc [124] 100.0% [134] 3798(1.0%) 0(0.0%) ??? ...ects/racket/contract/private/list.rkt:191:2 ??? [141] 92.1% blame-add-context7 [143] 7.9% ------------------------------------------------------------------------------------------- atab-pick-alt8 [129] 100.0% [135] 1958(0.5%) 0(0.0%) point-best-alt ...ting/src/core/alt-table.rkt:56:0 loop [137] 100.0% ------------------------------------------------------------------------------------------- ??? [128] 100.0% [136] 1002(0.3%) 1002(0.3%) assoc-ref ...collects/racket/private/dict.rkt:56:0 ------------------------------------------------------------------------------------------- for-loop [75] 0.1% make-exacts* [90] 0.2% taylor [36] 0.6% map [216] 0.7% loop [89] 0.8% ??? [199] 1.3% map-enodes [55] 1.5% point-best-alt [135] 1.9% option-on-expr [214] 2.8% parse-loop14 [226] 4.6% loop! [145] 8.3% f8 [207] 11.9% loop [137] 65.4% [137] 57348(15.3%) 3088(0.8%) loop ...-7.5/collects/racket/private/map.rkt:40:19 loop [137] 65.4% option-on-expr [214] 11.9% loop! [145] 6.7% errors [144] 4.6% hash-ref! [188] 2.6% parse-loop14 [226] 2.1% f8 [207] 1.6% set-precompute! [63] 1.5% ??? [166] 1.0% simplify [196] 0.6% ??? [187] 0.2% ??? [251] 0.1% ??? [177] 0.0% ------------------------------------------------------------------------------------------- atab-add-altn [133] 100.0% [138] 29986(8.0%) 302(0.1%) best-and-tied-at-points ...ore/alt-table.rkt:153:0 errors [144] 96.0% for-loop [152] 2.0% ------------------------------------------------------------------------------------------- ??? [132] 100.0% [139] 13080(3.5%) 5536(1.5%) for-loop ...acket/contract/private/list.rkt:814:12 ??? [146] 37.7% for-loop [123] 12.6% ??? [151] 4.8% arrow-higher-order:lnp [150] 2.5% ------------------------------------------------------------------------------------------- ??? [132] 6.2% table-ref [120] 9.1% ??? [127] 32.3% for-loop [123] 52.3% [140] 10986(2.9%) 1648(0.4%) ??? ...cts/racket/contract/private/list.rkt:209:10 ??? [147] 49.3% for-loop [149] 14.9% ??? [127] 14.6% ??? [183] 6.2% ------------------------------------------------------------------------------------------- ??? [134] 100.0% [141] 3498(0.9%) 960(0.3%) ??? ...ects/racket/contract/private/list.rkt:749:5 get/build-late-neg-projection [148] 72.6% ------------------------------------------------------------------------------------------- ??? [132] 100.0% [142] 336(0.1%) 0(0.0%) successfully-got-the-right-kind-of-function ...5:4 arity-checking-wrapper [153] 100.0% ------------------------------------------------------------------------------------------- ??? [134] 100.0% [143] 300(0.1%) 300(0.1%) blame-add-context7 ...ract/private/blame.rkt:165:0 ------------------------------------------------------------------------------------------- pred [264] 0.8% option-on-expr [214] 3.5% composed [219] 4.2% loop [137] 13.9% best-and-tied-at-points [138] 76.8% [144] 37476(10.0%) 0(0.0%) errors .../herbie/alt-testing/src/points.rkt:271:0 for-loop [154] 71.3% eval-prog [155] 26.1% *bit-width* [165] 1.7% make-sequence [160] 1.0% ------------------------------------------------------------------------------------------- for-loop [94] 15.4% loop [137] 27.9% for-loop [66] 56.7% [145] 21264(5.7%) 3388(0.9%) loop! ...rbie/alt-testing/src/core/enode.rkt:192:2 loop [137] 37.4% custom-set-union [156] 31.7% set [158] 10.3% update-en-expr [157] 9.3% ------------------------------------------------------------------------------------------- for-loop [139] 37.8% ??? [132] 62.2% [146] 13048(3.5%) 11754(3.1%) ??? ...private/unconstrained-domain-arrow.rkt:74:4 loop [162] 9.9% ------------------------------------------------------------------------------------------- ??? [140] 100.0% [147] 5416(1.4%) 300(0.1%) ??? ...ects/racket/contract/private/list.rkt:757:7 ??? [227] 94.5% ------------------------------------------------------------------------------------------- ??? [161] 17.1% get-sigs [116] 17.1% ??? [141] 65.8% [148] 3858(1.0%) 996(0.3%) get/build-late-neg-projection ...te/guts.rkt:827:0 ??? [159] 70.0% ??? [161] 17.1% ------------------------------------------------------------------------------------------- ??? [140] 100.0% [149] 1636(0.4%) 980(0.3%) for-loop ...acket/contract/private/list.rkt:212:15 ??? [127] 40.1% ------------------------------------------------------------------------------------------- for-loop [139] 24.8% ??? [132] 75.2% [150] 1308(0.3%) 324(0.1%) arrow-higher-order:lnp ...w-higher-order.rkt:673:7 ??? [163] 75.2% ------------------------------------------------------------------------------------------- get-sigs [116] 23.9% ??? [127] 27.6% for-loop [139] 48.5% [151] 1306(0.3%) 360(0.1%) ??? ...ects/racket/contract/private/hash.rkt:287:9 check-hash/c [164] 72.4% ------------------------------------------------------------------------------------------- best-and-tied-at-points [138] 100.0% [152] 600(0.2%) 600(0.2%) for-loop ...-testing/src/core/alt-table.rkt:155:16 ------------------------------------------------------------------------------------------- successfully-got-the-right-kind-of-function [142]100.0% [153] 336(0.1%) 336(0.1%) arity-checking-wrapper ...w-higher-order.rkt:443:0 ------------------------------------------------------------------------------------------- errors [144] 100.0% [154] 26710(7.1%) 2546(0.7%) for-loop ...erbie/alt-testing/src/points.rkt:274:4 ??? [166] 76.2% ??? [177] 8.2% ulp-difference [171] 4.8% ------------------------------------------------------------------------------------------- option-on-expr [214] 2.8% sindices->spoints [232] 2.8% make-exacts* [90] 12.1% errors [144] 82.3% [155] 11888(3.2%) 0(0.0%) eval-prog ...ie/alt-testing/src/programs.rkt:150:0 temp85_0 [167] 54.9% f8 [207] 30.8% hash-ref! [188] 6.1% loop [267] 5.5% ??? [175] 2.7% ------------------------------------------------------------------------------------------- adopt-enode! [107] 4.3% loop! [145] 95.7% [156] 7882(2.1%) 2632(0.7%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [168] 66.6% ------------------------------------------------------------------------------------------- for-loop [103] 9.8% for-loop [122] 36.4% loop! [145] 53.8% [157] 6872(1.8%) 2274(0.6%) update-en-expr ...esting/src/core/egraph.rkt:212:0 for-loop [169] 66.9% ------------------------------------------------------------------------------------------- new-enode [110] 6.7% loop! [145] 93.3% [158] 4958(1.3%) 4958(1.3%) set ...collects/racket/private/set-types.rkt:992:0 ------------------------------------------------------------------------------------------- get/build-late-neg-projection [148] 100.0% [159] 2862(0.8%) 1252(0.3%) ??? ...cts/racket/contract/private/prop.rkt:376:12 build-compound-type-name [170] 56.3% ------------------------------------------------------------------------------------------- for-loop [52] 16.3% errors [144] 18.0% match-e [67] 65.7% [160] 1986(0.5%) 1304(0.3%) make-sequence ...ects/racket/private/for.rkt:533:2 ??? [173] 18.0% ??? [176] 16.3% ------------------------------------------------------------------------------------------- get/build-late-neg-projection [148] 100.0% [161] 1320(0.4%) 0(0.0%) ??? ...ects/racket/contract/private/hash.rkt:272:2 get/build-late-neg-projection [148] 100.0% ------------------------------------------------------------------------------------------- loop [162] 32.1% ??? [146] 67.9% [162] 1294(0.3%) 1294(0.3%) loop ...ts/racket/contract/private/blame.rkt:320:2 loop [162] 32.1% ------------------------------------------------------------------------------------------- arrow-higher-order:lnp [150] 100.0% [163] 984(0.3%) 658(0.2%) ??? ...et/contract/private/arity-checking.rkt:19:2 for-loop [174] 33.1% ------------------------------------------------------------------------------------------- ??? [151] 100.0% [164] 946(0.3%) 298(0.1%) check-hash/c ...ket/contract/private/hash.rkt:86:0 flat-contract? [172] 68.5% ------------------------------------------------------------------------------------------- errors [144] 100.0% [165] 626(0.2%) 326(0.1%) *bit-width* ...rbie/alt-testing/src/float.rkt:43:0 return/no-unsupplied [215] 47.9% ------------------------------------------------------------------------------------------- jloop [13] 1.4% ??? [251] 1.4% loop [9] 4.8% for-loop [154] 44.3% loop [137] 48.0% [166] 45948(12.2%) 13250(3.5%) ??? ...s/herbie/alt-testing/src/programs.rkt:156:4 ??? [187] 41.8% ??? [179] 16.2% ??? [181] 5.1% ??? [177] 3.5% bf* [184] 1.6% bf [185] 1.6% parse-loop14 [226] 0.8% ??? [183] 0.7% ------------------------------------------------------------------------------------------- parse-loop14 [226] 36.0% eval-prog [155] 64.0% [167] 10206(2.7%) 0(0.0%) temp85_0 (unknown source) compile15 [178] 100.0% ------------------------------------------------------------------------------------------- custom-set-union [156] 100.0% [168] 5250(1.4%) 1026(0.3%) for-loop ...cts/racket/private/set-types.rkt:174:3 for-loop [180] 80.5% ------------------------------------------------------------------------------------------- update-en-expr [157] 100.0% [169] 4598(1.2%) 4598(1.2%) for-loop .../alt-testing/src/core/egraph.rkt:214:6 ------------------------------------------------------------------------------------------- contract-struct-name [182] 9.3% ??? [159] 90.7% [170] 1610(0.4%) 598(0.2%) build-compound-type-name ...private/guts.rkt:537:0 contract-struct-name [182] 72.1% ------------------------------------------------------------------------------------------- for-loop [154] 100.0% [171] 1286(0.3%) 332(0.1%) ulp-difference ...e/alt-testing/src/float.rkt:19:0 return/no-unsupplied [215] 74.2% ------------------------------------------------------------------------------------------- check-hash/c [164] 100.0% [172] 648(0.2%) 648(0.2%) flat-contract? .../contract/private/guts.rkt:129:0 ------------------------------------------------------------------------------------------- make-sequence [160] 100.0% [173] 358(0.1%) 358(0.1%) ??? ...-7.5/collects/racket/private/for.rkt:1231:9 ------------------------------------------------------------------------------------------- ??? [163] 100.0% [174] 326(0.1%) 326(0.1%) for-loop ...ntract/private/arity-checking.rkt:37:5 ------------------------------------------------------------------------------------------- eval-prog [155] 100.0% [175] 324(0.1%) 324(0.1%) ??? ...tract/private/arrow-higher-order.rkt:379:33 ------------------------------------------------------------------------------------------- make-sequence [160] 100.0% [176] 324(0.1%) 0(0.0%) ??? ...t-7.5/collects/racket/private/for.rkt:453:7 custom-in-set [186] 100.0% ------------------------------------------------------------------------------------------- get-final-combination [21] 1.1% ??? [251] 1.2% atab-pick-alt8 [129] 4.0% loop [137] 5.1% ??? [166] 5.8% for-loop [154] 7.4% f8 [207] 13.4% loop [20] 17.1% location-do [189] 21.8% for-loop [70] 21.8% [177] 27312(7.3%) 618(0.2%) ??? ...tract/private/arrow-higher-order.rkt:375:33 location-do [189] 21.8% approximate9 [4] 21.2% ->flonum [191] 18.6% hash-ref! [188] 17.1% ??? [227] 7.2% table-ref [120] 4.9% best-alt [192] 4.0% ...sting/src/common.rkt:47:2 [121] 1.3% unpack24 [3] 1.1% simplify [196] 0.6% ------------------------------------------------------------------------------------------- temp85_0 [167] 100.0% [178] 10206(2.7%) 0(0.0%) compile15 (unknown source) temp91_0 [190] 100.0% ------------------------------------------------------------------------------------------- ??? [166] 100.0% [179] 7422(2.0%) 4546(1.2%) ??? ...ie/alt-testing/src/syntax/syntax.rkt:156:17 return/no-unsupplied [215] 30.3% ??? [193] 8.4% ------------------------------------------------------------------------------------------- for-loop [168] 100.0% [180] 4224(1.1%) 4224(1.1%) for-loop ...cts/racket/private/set-types.rkt:178:5 ------------------------------------------------------------------------------------------- ??? [166] 100.0% [181] 2342(0.6%) 2342(0.6%) ??? ...rivate/unconstrained-domain-arrow.rkt:40:13 ------------------------------------------------------------------------------------------- build-compound-type-name [170] 100.0% [182] 1310(0.3%) 1012(0.3%) contract-struct-name ...ract/private/prop.rkt:98:0 build-compound-type-name [170] 22.7% ------------------------------------------------------------------------------------------- ??? [166] 32.9% ??? [140] 67.1% [183] 1016(0.3%) 658(0.2%) ??? ...ects/racket/contract/private/prop.rkt:567:4 ??? [195] 35.2% ------------------------------------------------------------------------------------------- ??? [166] 100.0% [184] 720(0.2%) 0(0.0%) bf* ...ath/private/bigfloat/bigfloat-mpfr.rkt:95:0 ??? [187] 100.0% ------------------------------------------------------------------------------------------- ??? [166] 100.0% [185] 718(0.2%) 360(0.1%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:615:2 ??? [194] 49.9% ------------------------------------------------------------------------------------------- ??? [176] 49.7% match-e [67] 50.3% [186] 652(0.2%) 652(0.2%) custom-in-set ...acket/private/set-types.rkt:578:0 ------------------------------------------------------------------------------------------- bf* [184] 3.4% loop [137] 4.7% ??? [166] 91.8% [187] 20920(5.6%) 18760(5.0%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bfdiv [201] 5.2% bfcos [202] 5.2% ------------------------------------------------------------------------------------------- for-loop [32] 0.2% map [216] 0.3% ??? [11] 0.3% for-loop [243] 0.7% ??? [37] 1.0% eval-prog [155] 1.5% ??? [200] 2.2% localize-error [48] 3.5% simplify* [239] 3.7% compile [81] 3.8% ??? [199] 6.3% loop [137] 8.7% for-loop [23] 10.1% for-loop [22] 10.5% ??? [197] 22.8% ??? [177] 24.3% [188] 19372(5.2%) 2610(0.7%) hash-ref! .../racket/private/more-scheme.rkt:376:2 ??? [197] 22.8% simplify [196] 22.5% ??? [5] 11.6% ??? [6] 10.1% ??? [199] 8.7% parse-loop14 [226] 7.4% f8 [207] 2.9% ??? [200] 2.2% bigfloat-hash [205] 1.5% ??? [11] 1.0% ??? [14] 1.0% ??? [16] 0.2% ------------------------------------------------------------------------------------------- ??? [177] 35.5% location-do [189] 64.5% [189] 16572(4.4%) 0(0.0%) location-do .../alt-testing/src/programs.rkt:116:0 location-do [189] 64.5% ??? [177] 35.5% ------------------------------------------------------------------------------------------- compile15 [178] 100.0% [190] 10206(2.7%) 332(0.1%) temp91_0 (unknown source) temp118_0 [198] 84.7% compile-top9 [204] 9.1% loop [267] 2.9% ------------------------------------------------------------------------------------------- ??? [177] 100.0% [191] 5234(1.4%) 3580(1.0%) ->flonum ...rbie/alt-testing/src/programs.rkt:37:0 return/no-unsupplied [215] 31.6% ------------------------------------------------------------------------------------------- ??? [177] 100.0% [192] 1264(0.3%) 0(0.0%) best-alt ...s/herbie/alt-testing/src/glue.rkt:71:0 loop [206] 50.0% argmins [203] 50.0% ------------------------------------------------------------------------------------------- ??? [179] 100.0% [193] 626(0.2%) 626(0.2%) ??? ...ects/racket/contract/private/prop.rkt:301:4 ------------------------------------------------------------------------------------------- bf [185] 100.0% [194] 358(0.1%) 358(0.1%) ??? /opt/racket-7.5/collects/ffi/unsafe.rkt:938:4 ------------------------------------------------------------------------------------------- ??? [183] 100.0% [195] 358(0.1%) 358(0.1%) ??? ...lects/racket/contract/private/orc.rkt:83:14 ------------------------------------------------------------------------------------------- loop [137] 2.1% ??? [177] 2.1% first-nonzero-exp [28] 4.0% for-loop [22] 4.1% taylor-invert [10] 5.9% hash-ref! [188] 80.0% [196] 15936(4.2%) 0(0.0%) simplify ...e/alt-testing/src/core/reduce.rkt:16:0 f8 [207] 56.6% parse-loop14 [226] 25.4% debug-print [209] 12.0% debug7 [211] 4.0% simplify* [239] 2.0% ------------------------------------------------------------------------------------------- hash-ref! [188] 100.0% [197] 13732(3.7%) 0(0.0%) ??? ...erbie/alt-testing/src/core/taylor.rkt:44:15 hash-ref! [188] 100.0% ------------------------------------------------------------------------------------------- temp91_0 [190] 100.0% [198] 8648(2.3%) 0(0.0%) temp118_0 (unknown source) expand-capturing-lifts [208] 100.0% ------------------------------------------------------------------------------------------- hash-ref! [188] 100.0% [199] 2374(0.6%) 336(0.1%) ??? ...s/herbie/alt-testing/src/programs.rkt:194:5 hash-ref! [188] 67.3% loop [137] 30.3% ------------------------------------------------------------------------------------------- hash-ref! [188] 100.0% [200] 1878(0.5%) 0(0.0%) ??? ...rbie/alt-testing/src/core/taylor.rkt:338:33 hash-ref! [188] 100.0% ------------------------------------------------------------------------------------------- ??? [187] 100.0% [201] 1082(0.3%) 362(0.1%) bfdiv ...-lib/math/private/bigfloat/mpfr.rkt:835:4 new-mpfr [210] 66.5% ------------------------------------------------------------------------------------------- ??? [187] 100.0% [202] 1078(0.3%) 0(0.0%) bfcos ...-lib/math/private/bigfloat/mpfr.rkt:632:4 new-mpfr [210] 100.0% ------------------------------------------------------------------------------------------- extract-alt [40] 31.9% best-alt [192] 68.1% [203] 928(0.2%) 0(0.0%) argmins ...herbie/alt-testing/src/common.rkt:152:0 composed [219] 100.0% ------------------------------------------------------------------------------------------- temp91_0 [190] 100.0% [204] 928(0.2%) 0(0.0%) compile-top9 (unknown source) compile-forms33 [212] 100.0% ------------------------------------------------------------------------------------------- hash-ref! [188] 100.0% [205] 720(0.2%) 0(0.0%) bigfloat-hash ...h/private/bigfloat/mpfr.rkt:168:0 bfcanonicalize [213] 100.0% ------------------------------------------------------------------------------------------- best-alt [192] 100.0% [206] 632(0.2%) 0(0.0%) loop ...es/herbie/alt-testing/src/common.rkt:153:2 composed [219] 100.0% ------------------------------------------------------------------------------------------- composed [219] 0.1% append-map [223] 0.7% mterm->expr [268] 0.8% rewriter [74] 1.1% parse-loop14 [226] 1.1% loop [137] 2.3% eval-const-expr [84] 2.3% eval-prog [155] 3.4% for-loop [95] 4.3% map [216] 5.7% hash-ref! [188] 5.9% f8 [207] 12.7% simplify [196] 15.8% split-table [35] 42.9% [207] 27894(7.4%) 628(0.2%) f8 ....5/collects/racket/match/compiler.rkt:507:40 loop [137] 31.4% map [216] 26.0% f8 [207] 12.7% option-on-expr [214] 11.5% ??? [177] 3.4% ??? [119] 2.7% loop [8] 2.0% loop [267] 1.5% table-ref [120] 1.4% ??? [221] 1.2% append-map [223] 0.8% ??? [118] 0.6% ...sting/src/common.rkt:47:2 [121] 0.5% for-loop [123] 0.5% for-loop [222] 0.4% composed [219] 0.1% ------------------------------------------------------------------------------------------- loop [267] 12.7% temp118_0 [198] 87.3% [208] 9910(2.6%) 0(0.0%) expand-capturing-lifts (unknown source) lambda-clause-expander [217] 59.2% dispatch-transformer41 [218] 15.6% for-loop [277] 12.5% loop [267] 6.6% expand-id-application-form17 [278] 3.1% expand-implicit [12] 3.0% ------------------------------------------------------------------------------------------- simplify [196] 100.0% [209] 1916(0.5%) 956(0.3%) debug-print ...bie/alt-testing/src/debug.rkt:107:0 for-loop [220] 50.1% ------------------------------------------------------------------------------------------- bfdiv [201] 40.0% bfcos [202] 60.0% [210] 1798(0.5%) 1798(0.5%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:348:0 ------------------------------------------------------------------------------------------- taylor [36] 32.1% simplify [196] 67.9% [211] 936(0.2%) 626(0.2%) debug7 ...s/herbie/alt-testing/src/debug.rkt:102:0 return/no-unsupplied [215] 33.1% ------------------------------------------------------------------------------------------- compile-top9 [204] 100.0% [212] 928(0.2%) 0(0.0%) compile-forms33 (unknown source) for-loop [277] 35.1% serialize-phase-to-link-module-uses [224] 32.5% loop! [225] 32.3% ------------------------------------------------------------------------------------------- bigfloat-hash [205] 100.0% [213] 720(0.2%) 720(0.2%) bfcanonicalize .../private/bigfloat/mpfr.rkt:158:0 ------------------------------------------------------------------------------------------- f8 [207] 27.2% loop [137] 72.8% [214] 12402(3.3%) 0(0.0%) option-on-expr ...esting/src/core/regimes.rkt:83:0 loop [137] 31.3% sort-context-on-expr [231] 23.1% sindices->spoints [232] 19.2% errors [144] 10.5% pick-errors [233] 8.0% err-lsts->split-indices [234] 5.0% eval-prog [155] 2.7% ------------------------------------------------------------------------------------------- *bit-width* [165] 3.2% debug7 [211] 3.4% ulp-difference [171] 10.3% table-ref [120] 15.1% ->flonum [191] 17.9% ??? [179] 24.4% ??? [128] 25.7% [215] 9234(2.5%) 4414(1.2%) return/no-unsupplied ...ct/private/arr-i.rkt:566:0 filter [228] 52.2% ------------------------------------------------------------------------------------------- parse-loop14 [226] 7.8% f8 [207] 92.2% [216] 7842(2.1%) 0(0.0%) map ...t-7.5/collects/racket/private/map.rkt:35:13 parse-loop14 [226] 47.1% f8 [207] 22.8% loop [137] 12.6% loop [238] 8.4% simplify* [239] 3.8% make-multiplication-node [242] 3.4% hash-ref! [188] 1.9% ------------------------------------------------------------------------------------------- expand-capturing-lifts [208] 100.0% [217] 5870(1.6%) 0(0.0%) lambda-clause-expander (unknown source) finish-bodys [229] 78.7% loop [267] 10.8% expand-body7 [235] 5.3% finish-expanding-body33 [236] 5.2% ------------------------------------------------------------------------------------------- loop [267] 20.0% for-loop [277] 31.4% expand-capturing-lifts [208] 48.6% [218] 3170(0.8%) 0(0.0%) dispatch-transformer41 (unknown source) apply-transformer52 [230] 100.0% ------------------------------------------------------------------------------------------- f8 [207] 17.6% loop [206] 33.4% argmins [203] 49.0% [219] 1894(0.5%) 0(0.0%) composed ...ollects/racket/private/list.rkt:321:16 errors [144] 82.4% f8 [207] 17.6% ------------------------------------------------------------------------------------------- debug-print [209] 100.0% [220] 960(0.3%) 960(0.3%) for-loop ...herbie/alt-testing/src/debug.rkt:113:2 ------------------------------------------------------------------------------------------- f8 [207] 100.0% [221] 338(0.1%) 0(0.0%) ??? ...tract/private/arrow-higher-order.rkt:363:46 ??? [227] 100.0% ------------------------------------------------------------------------------------------- f8 [207] 100.0% [222] 336(0.1%) 0(0.0%) for-loop ...e/alt-testing/src/type-check.rkt:62:26 expression->type [80] 100.0% ------------------------------------------------------------------------------------------- f8 [207] 100.0% [223] 334(0.1%) 0(0.0%) append-map ...t-7.5/collects/racket/list.rkt:586:2 f8 [207] 85.7% free-variables [15] 14.3% ------------------------------------------------------------------------------------------- compile-forms33 [212] 100.0% [224] 302(0.1%) 302(0.1%) serialize-phase-to-link-module-uses ...own source) ------------------------------------------------------------------------------------------- compile-forms33 [212] 100.0% [225] 300(0.1%) 0(0.0%) loop! (unknown source) for-loop [277] 100.0% ------------------------------------------------------------------------------------------- ??? [166] 3.1% loop [137] 5.5% for-loop [27] 6.8% parse-loop14 [226] 13.5% hash-ref! [188] 17.2% simplify [196] 21.1% map [216] 32.7% [226] 11644(3.1%) 1576(0.4%) parse-loop14 ...s/racket/match/compiler.rkt:418:15 loop [137] 30.4% temp85_0 [167] 21.3% parse-loop14 [226] 13.5% map [216] 7.9% for-loop [243] 6.8% eval-one-top12 [240] 4.8% loop [267] 2.6% eval [247] 2.3% make-multiplication-node [242] 1.4% simplify* [239] 1.0% f8 [207] 0.9% ------------------------------------------------------------------------------------------- table-ref [120] 3.4% ??? [118] 3.8% ??? [221] 3.9% ??? [127] 7.7% ??? [177] 22.5% ??? [147] 58.7% [227] 8710(2.3%) 5746(1.5%) ??? ...ects/racket/contract/private/guts.rkt:770:8 ??? [118] 26.3% contract? [245] 7.7% ------------------------------------------------------------------------------------------- for-loop [75] 12.2% return/no-unsupplied [215] 87.8% [228] 5490(1.5%) 5490(1.5%) filter ...5/collects/racket/private/list.rkt:256:2 ------------------------------------------------------------------------------------------- lambda-clause-expander [217] 22.3% for-loop [277] 77.7% [229] 4622(1.2%) 0(0.0%) finish-bodys (unknown source) for-loop [277] 100.0% ------------------------------------------------------------------------------------------- dispatch-transformer41 [218] 100.0% [230] 3170(0.8%) 636(0.2%) apply-transformer52 (unknown source) loop [267] 39.2% apply-transformer-in-context [244] 21.8% apply-post-expansion [248] 18.9% ------------------------------------------------------------------------------------------- option-on-expr [214] 100.0% [231] 2870(0.8%) 0(0.0%) sort-context-on-expr ...sting/src/points.rkt:115:0 ??? [237] 100.0% ------------------------------------------------------------------------------------------- option-on-expr [214] 100.0% [232] 2384(0.6%) 0(0.0%) sindices->spoints ...ng/src/core/regimes.rkt:136:0 loop [238] 85.9% eval-prog [155] 14.1% ------------------------------------------------------------------------------------------- option-on-expr [214] 100.0% [233] 996(0.3%) 0(0.0%) pick-errors ...-testing/src/core/regimes.rkt:201:0 for-loop [241] 100.0% ------------------------------------------------------------------------------------------- option-on-expr [214] 100.0% [234] 626(0.2%) 0(0.0%) err-lsts->split-indices .../core/regimes.rkt:239:0 loop [246] 100.0% ------------------------------------------------------------------------------------------- lambda-clause-expander [217] 100.0% [235] 310(0.1%) 310(0.1%) expand-body7 (unknown source) ------------------------------------------------------------------------------------------- lambda-clause-expander [217] 100.0% [236] 304(0.1%) 304(0.1%) finish-expanding-body33 (unknown source) ------------------------------------------------------------------------------------------- sort-context-on-expr [231] 100.0% [237] 2870(0.8%) 0(0.0%) ??? ...-7.5/collects/racket/private/sort.rkt:369:3 generic-sort/key [249] 89.1% loop [9] 10.9% ------------------------------------------------------------------------------------------- map [216] 1.9% loop [238] 22.4% sindices->spoints [232] 75.7% [238] 2706(0.7%) 0(0.0%) loop ...-7.5/collects/racket/private/map.rkt:54:19 sidx->spoint [250] 75.7% loop [238] 22.4% ------------------------------------------------------------------------------------------- simplify [196] 20.2% parse-loop14 [226] 20.8% map [216] 59.0% [239] 1594(0.4%) 604(0.2%) simplify* .../alt-testing/src/core/reduce.rkt:31:0 hash-ref! [188] 62.1% ------------------------------------------------------------------------------------------- parse-loop14 [226] 100.0% [240] 1224(0.3%) 1224(0.3%) eval-one-top12 (unknown source) ------------------------------------------------------------------------------------------- pick-errors [233] 100.0% [241] 996(0.3%) 0(0.0%) for-loop ...alt-testing/src/core/regimes.rkt:203:2 ??? [251] 100.0% ------------------------------------------------------------------------------------------- parse-loop14 [226] 33.8% map [216] 66.2% [242] 964(0.3%) 326(0.1%) make-multiplication-node .../core/reduce.rkt:230:0 make-multiplication-subnode [252] 66.2% ------------------------------------------------------------------------------------------- parse-loop14 [226] 100.0% [243] 940(0.3%) 0(0.0%) for-loop ...alt-testing/src/core/taylor.rkt:490:59 hash-ref! [188] 100.0% ------------------------------------------------------------------------------------------- apply-transformer52 [230] 100.0% [244] 692(0.2%) 0(0.0%) apply-transformer-in-context (unknown source) parse-app [254] 51.7% ??? [255] 48.3% ------------------------------------------------------------------------------------------- ??? [227] 100.0% [245] 670(0.2%) 670(0.2%) contract? ...acket/contract/private/guts.rkt:125:0 ------------------------------------------------------------------------------------------- err-lsts->split-indices [234] 100.0% [246] 626(0.2%) 0(0.0%) loop ...bie/alt-testing/src/core/regimes.rkt:290:4 for-loop [253] 100.0% ------------------------------------------------------------------------------------------- parse-loop14 [226] 100.0% [247] 626(0.2%) 0(0.0%) eval (unknown source) add-ns-scopes [256] 52.4% namespace-syntax-introduce3 [257] 47.6% ------------------------------------------------------------------------------------------- apply-transformer52 [230] 100.0% [248] 598(0.2%) 0(0.0%) apply-post-expansion (unknown source) gf [269] 100.0% ------------------------------------------------------------------------------------------- ??? [237] 100.0% [249] 2558(0.7%) 0(0.0%) generic-sort/key .../racket/private/sort.rkt:156:2 copying-mergesort [258] 100.0% ------------------------------------------------------------------------------------------- loop [238] 100.0% [250] 2048(0.5%) 0(0.0%) sidx->spoint ...testing/src/core/regimes.rkt:146:2 binary-search-floats [259] 67.3% pred [264] 32.7% ------------------------------------------------------------------------------------------- loop [137] 23.0% for-loop [241] 77.0% [251] 1294(0.3%) 300(0.1%) ??? ...rbie/alt-testing/src/core/regimes.rkt:194:2 ??? [166] 50.9% ??? [177] 26.0% ------------------------------------------------------------------------------------------- make-multiplication-node [242] 100.0% [252] 638(0.2%) 0(0.0%) make-multiplication-subnode ...re/reduce.rkt:240:0 for-loop [260] 100.0% ------------------------------------------------------------------------------------------- loop [246] 100.0% [253] 626(0.2%) 328(0.1%) for-loop ...alt-testing/src/core/regimes.rkt:255:4 for-loop [262] 47.6% ------------------------------------------------------------------------------------------- apply-transformer-in-context [244] 100.0% [254] 358(0.1%) 0(0.0%) parse-app ...collects/racket/private/kw.rkt:1142:2 syntax->list [265] 100.0% ------------------------------------------------------------------------------------------- apply-transformer-in-context [244] 100.0% [255] 334(0.1%) 0(0.0%) ??? ...collects/racket/private/qq-and-or.rkt:155:9 ??? [261] 100.0% ------------------------------------------------------------------------------------------- eval [247] 100.0% [256] 328(0.1%) 0(0.0%) add-ns-scopes (unknown source) gf [269] 100.0% ------------------------------------------------------------------------------------------- eval [247] 100.0% [257] 298(0.1%) 0(0.0%) namespace-syntax-introduce3 (unknown source) free-identifier=? [263] 100.0% ------------------------------------------------------------------------------------------- generic-sort/key [249] 43.3% copying-mergesort [258] 56.7% [258] 2558(0.7%) 0(0.0%) copying-mergesort ...racket/private/sort.rkt:129:8 copying-mergesort [258] 56.7% loop [9] 36.9% jloop [13] 6.4% ------------------------------------------------------------------------------------------- sidx->spoint [250] 100.0% [259] 1378(0.4%) 0(0.0%) binary-search-floats ...src/core/regimes.rkt:125:0 pred [264] 100.0% ------------------------------------------------------------------------------------------- make-multiplication-subnode [252] 100.0% [260] 638(0.2%) 0(0.0%) for-loop .../alt-testing/src/core/reduce.rkt:242:3 make-multiplication-subsubsubnode [266] 100.0% ------------------------------------------------------------------------------------------- ??? [255] 100.0% [261] 334(0.1%) 0(0.0%) ??? ...ollects/racket/private/qq-and-or.rkt:164:21 syntax->list [265] 100.0% ------------------------------------------------------------------------------------------- for-loop [253] 100.0% [262] 298(0.1%) 298(0.1%) for-loop ...alt-testing/src/core/regimes.rkt:259:8 ------------------------------------------------------------------------------------------- namespace-syntax-introduce3 [257] 100.0% [263] 298(0.1%) 0(0.0%) free-identifier=? (unknown source) resolve+shift28 [271] 100.0% ------------------------------------------------------------------------------------------- sidx->spoint [250] 32.7% binary-search-floats [259] 67.3% [264] 2048(0.5%) 0(0.0%) pred ...ie/alt-testing/src/core/regimes.rkt:151:17 prepare-points [68] 84.9% errors [144] 15.1% ------------------------------------------------------------------------------------------- ??? [261] 48.3% parse-app [254] 51.7% [265] 692(0.2%) 0(0.0%) syntax->list (unknown source) loop [267] 100.0% ------------------------------------------------------------------------------------------- for-loop [260] 100.0% [266] 638(0.2%) 0(0.0%) make-multiplication-subsubsubnode ...uce.rkt:262:0 mterm->expr [268] 100.0% ------------------------------------------------------------------------------------------- for-loop [71] 1.6% syntax->list [265] 2.4% loop [267] 2.5% eval-prog [155] 2.8% expand-capturing-lifts [208] 2.8% temp91_0 [190] 3.1% parse-loop14 [226] 3.1% lambda-clause-expander [217] 4.3% for-loop [277] 5.3% gf [269] 6.5% f8 [207] 6.5% apply-transformer52 [230] 11.3% list-member? [82] 16.8% syntax-e/no-taint [24] 31.2% [267] 9676(2.6%) 3786(1.0%) loop (unknown source) gf [269] 31.2% core-form-sym [270] 10.0% expand-capturing-lifts [208] 7.5% dispatch-transformer41 [218] 4.3% syntax-e [7] 3.9% loop [267] 2.5% expand-id-application-form17 [278] 1.9% for-loop [277] 1.2% ------------------------------------------------------------------------------------------- make-multiplication-subsubsubnode [266] 100.0% [268] 638(0.2%) 0(0.0%) mterm->expr ...t-testing/src/core/reduce.rkt:270:0 f8 [207] 100.0% ------------------------------------------------------------------------------------------- add-ns-scopes [256] 7.2% apply-post-expansion [248] 9.8% loop [267] 83.1% [269] 4584(1.2%) 358(0.1%) gf (unknown source) propagation-apply [272] 43.5% propagation-merge [273] 18.1% loop [267] 13.7% propagation-apply-shifted [274] 7.1% cache-or-reuse-hash [275] 6.5% syntax-e/no-taint [24] 3.3% ------------------------------------------------------------------------------------------- loop [267] 100.0% [270] 972(0.3%) 0(0.0%) core-form-sym (unknown source) resolve+shift28 [271] 100.0% ------------------------------------------------------------------------------------------- free-identifier=? [263] 10.6% expand-id-application-form17 [278] 10.7% core-form-sym [270] 34.7% expand-implicit [12] 44.0% [271] 2802(0.7%) 326(0.1%) resolve+shift28 (unknown source) fallback-loop [276] 88.4% ------------------------------------------------------------------------------------------- gf [269] 100.0% [272] 1996(0.5%) 1996(0.5%) propagation-apply (unknown source) ------------------------------------------------------------------------------------------- gf [269] 100.0% [273] 978(0.3%) 978(0.3%) propagation-merge (unknown source) ------------------------------------------------------------------------------------------- gf [269] 100.0% [274] 326(0.1%) 326(0.1%) propagation-apply-shifted (unknown source) ------------------------------------------------------------------------------------------- gf [269] 100.0% [275] 300(0.1%) 300(0.1%) cache-or-reuse-hash (unknown source) ------------------------------------------------------------------------------------------- resolve+shift28 [271] 100.0% [276] 2476(0.7%) 948(0.3%) fallback-loop (unknown source) for-loop [277] 61.7% ------------------------------------------------------------------------------------------- run-module-instance!125 [280] 2.5% loop [267] 2.5% loop! [225] 4.2% compile-forms33 [212] 4.6% fallback-loop [276] 7.2% expand-capturing-lifts [208] 9.0% for-loop [277] 10.4% finish-bodys [229] 59.6% [277] 7136(1.9%) 1528(0.4%) for-loop (unknown source) finish-bodys [229] 46.6% for-loop [277] 10.4% dispatch-transformer41 [218] 6.9% loop [267] 4.9% compile-module-linklet57 [282] 4.6% compile5 [283] 4.2% syntax-e [7] 3.8% run-module-instance!125 [280] 2.5% temp37_0 [279] 2.5% get-body [281] 2.3% expand-implicit [12] 2.0% expand-id-application-form17 [278] 1.1% ------------------------------------------------------------------------------------------- for-loop [277] 31.1% expand-capturing-lifts [208] 31.5% loop [267] 37.3% [278] 964(0.3%) 0(0.0%) expand-id-application-form17 (unknown source) syntax-e/no-taint [24] 37.3% binding-lookup52 [285] 31.5% resolve+shift28 [271] 31.1% ------------------------------------------------------------------------------------------- for-loop [277] 100.0% [279] 356(0.1%) 0(0.0%) temp37_0 (unknown source) [running body] [284] 100.0% ------------------------------------------------------------------------------------------- for-loop [277] 100.0% [280] 356(0.1%) 0(0.0%) run-module-instance!125 (unknown source) for-loop [277] 100.0% ------------------------------------------------------------------------------------------- for-loop [277] 100.0% [281] 330(0.1%) 330(0.1%) get-body (unknown source) ------------------------------------------------------------------------------------------- for-loop [277] 100.0% [282] 326(0.1%) 326(0.1%) compile-module-linklet57 (unknown source) ------------------------------------------------------------------------------------------- for-loop [277] 100.0% [283] 300(0.1%) 300(0.1%) compile5 (unknown source) ------------------------------------------------------------------------------------------- temp37_0 [279] 100.0% [284] 356(0.1%) 356(0.1%) [running body] ...ivate/flonum/flonum-log.rkt":##f ------------------------------------------------------------------------------------------- expand-id-application-form17 [278] 100.0% [285] 304(0.1%) 304(0.1%) binding-lookup52 (unknown source) -------------------------------------------------------------------------------------------