Profiling results ----------------- Total cpu time observed: 39370ms (out of 40096ms) Number of samples taken: 196 (once every 201ms) (Hiding functions with self<1.0% and local<2.0%: 7 of 207 hidden) ======================================================================================= Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ======================================================================================= [1] 39370(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [17] 100.0% --------------------------------------------------------------------------------------- ??? [114] 100.0% [2] 9338(23.7%) 0(0.0%) approximate9 ...face-bugs/src/core/taylor.rkt:11:0 loop [19] 67.3% for-loop [23] 21.8% taylor [32] 8.7% make-multiplication-node [28] 2.2% --------------------------------------------------------------------------------------- hash-ref! [166] 100.0% [3] 6068(15.4%) 0(0.0%) ??? ...ix-interface-bugs/src/core/taylor.rkt:44:15 hash-ref! [166] 96.7% ??? [36] 3.3% --------------------------------------------------------------------------------------- loop [164] 26.6% for-loop [165] 73.4% [4] 5302(13.5%) 0(0.0%) syntax-e (unknown source) syntax-e/no-taint [18] 100.0% --------------------------------------------------------------------------------------- hash-ref! [166] 100.0% [5] 5288(13.4%) 0(0.0%) ??? ...x-interface-bugs/src/core/taylor.rkt:290:26 for-loop [20] 100.0% --------------------------------------------------------------------------------------- hash-ref! [166] 100.0% [6] 5282(13.4%) 0(0.0%) ??? ...ix-interface-bugs/src/core/taylor.rkt:67:15 ??? [114] 100.0% --------------------------------------------------------------------------------------- hash-ref! [166] 100.0% [7] 4872(12.4%) 0(0.0%) ??? ...x-interface-bugs/src/core/taylor.rkt:300:23 for-loop [21] 100.0% --------------------------------------------------------------------------------------- matcher [127] 100.0% [8] 3014(7.7%) 0(0.0%) ??? ...-interface-bugs/src/core/matcher.rkt:127:11 for-loop [22] 95.6% foldl [26] 3.1% for-loop [15] 1.3% --------------------------------------------------------------------------------------- for-loop [165] 100.0% [9] 1642(4.2%) 206(0.5%) expand-implicit (unknown source) resolve+shift28 [24] 75.2% binding-lookup52 [183] 12.3% --------------------------------------------------------------------------------------- map [182] 14.5% parse-loop74 [42] 29.4% hash-ref! [166] 56.1% [10] 1436(3.6%) 0(0.0%) f61 (unknown source) eval-const-expr [49] 86.1% map [182] 13.9% --------------------------------------------------------------------------------------- taylor [32] 19.7% map [182] 80.3% [11] 1016(2.6%) 0(0.0%) taylor-invert ...ce-bugs/src/core/taylor.rkt:317:0 first-nonzero-exp [43] 59.8% parse-loop74 [42] 20.3% f40 [25] 19.9% --------------------------------------------------------------------------------------- for-loop [115] 100.0% [12] 802(2.0%) 0(0.0%) for-loop ...terface-bugs/src/core/matcher.rkt:96:8 fix-up-variables [27] 100.0% --------------------------------------------------------------------------------------- map [182] 100.0% [13] 202(0.5%) 0(0.0%) ??? ...fix-interface-bugs/src/core/reduce.rkt:57:5 for-loop [29] 100.0% --------------------------------------------------------------------------------------- simplify-node [180] 100.0% [14] 200(0.5%) 0(0.0%) append-map ...t-7.5/collects/racket/list.rkt:586:2 parse-loop389 [30] 100.0% --------------------------------------------------------------------------------------- ??? [8] 100.0% [15] 200(0.5%) 0(0.0%) for-loop ...erface-bugs/src/core/matcher.rkt:103:4 foldl [26] 100.0% --------------------------------------------------------------------------------------- for-loop [165] 100.0% [16] 200(0.5%) 0(0.0%) expand-identifier (unknown source) resolve+shift28 [24] 100.0% --------------------------------------------------------------------------------------- ??? [1] 100.0% [17] 39370(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [31] 100.0% --------------------------------------------------------------------------------------- gf [167] 2.9% expand-id-application-form17 [170] 21.2% syntax-e [4] 76.0% [18] 6978(17.7%) 200(0.5%) syntax-e/no-taint (unknown source) loop [164] 97.1% --------------------------------------------------------------------------------------- approximate9 [2] 100.0% [19] 6282(16.0%) 0(0.0%) loop ...ix-interface-bugs/src/core/taylor.rkt:86:4 hash-ref! [166] 84.1% ??? [114] 15.9% --------------------------------------------------------------------------------------- ??? [5] 100.0% [20] 5288(13.4%) 0(0.0%) for-loop ...erface-bugs/src/core/taylor.rkt:290:52 hash-ref! [166] 93.7% ??? [36] 6.3% --------------------------------------------------------------------------------------- ??? [7] 100.0% [21] 4872(12.4%) 0(0.0%) for-loop ...erface-bugs/src/core/taylor.rkt:303:27 hash-ref! [166] 100.0% --------------------------------------------------------------------------------------- ??? [8] 100.0% [22] 3014(7.7%) 0(0.0%) for-loop ...rface-bugs/src/core/matcher.rkt:129:15 matcher [127] 100.0% --------------------------------------------------------------------------------------- approximate9 [2] 100.0% [23] 2034(5.2%) 0(0.0%) for-loop ...terface-bugs/src/core/taylor.rkt:29:18 taylor [32] 90.2% taylor-quotient [34] 9.8% --------------------------------------------------------------------------------------- expand-identifier [16] 10.8% expand-id-application-form17 [170] 22.5% expand-implicit [9] 66.7% [24] 1850(4.7%) 0(0.0%) resolve+shift28 (unknown source) fallback-loop [33] 100.0% --------------------------------------------------------------------------------------- ??? [114] 6.0% taylor-invert [11] 11.0% map [182] 20.2% hash-ref! [166] 62.7% [25] 1836(4.7%) 0(0.0%) f40 (unknown source) map [182] 100.0% --------------------------------------------------------------------------------------- for-loop [15] 24.8% ??? [8] 75.2% [26] 806(2.0%) 0(0.0%) foldl ....5/collects/racket/private/list.rkt:229:4 ??? [35] 100.0% --------------------------------------------------------------------------------------- for-loop [12] 100.0% [27] 802(2.0%) 0(0.0%) fix-up-variables ...ugs/src/core/matcher.rkt:108:2 for-loop [37] 74.8% pattern-substitute [39] 25.2% --------------------------------------------------------------------------------------- approximate9 [2] 100.0% [28] 208(0.5%) 0(0.0%) make-multiplication-node .../core/reduce.rkt:232:0 make-multiplication-subnode [38] 100.0% --------------------------------------------------------------------------------------- ??? [13] 100.0% [29] 202(0.5%) 0(0.0%) for-loop ...nterface-bugs/src/core/reduce.rkt:58:7 pattern-match [45] 100.0% --------------------------------------------------------------------------------------- append-map [14] 100.0% [30] 200(0.5%) 0(0.0%) parse-loop389 (unknown source) for-loop [40] 100.0% --------------------------------------------------------------------------------------- profile-thunk16 [17] 100.0% [31] 39370(100.0%) 0(0.0%) run ...et-7.5/share/pkgs/profile-lib/main.rkt:39:2 .../more-scheme.rkt:261:28 [41] 100.0% --------------------------------------------------------------------------------------- approximate9 [2] 5.1% for-loop [23] 20.4% map [182] 31.1% taylor [32] 43.4% [32] 2648(6.7%) 0(0.0%) taylor ...interface-bugs/src/core/taylor.rkt:169:0 taylor [32] 43.4% map [182] 35.6% taylor-quotient [34] 14.2% debug-print [44] 3.6% taylor-invert [11] 1.9% --------------------------------------------------------------------------------------- resolve+shift28 [24] 100.0% [33] 1850(4.7%) 1022(2.6%) fallback-loop (unknown source) for-loop [165] 44.8% --------------------------------------------------------------------------------------- for-loop [23] 16.3% taylor [32] 83.7% [34] 1224(3.1%) 0(0.0%) taylor-quotient ...-bugs/src/core/taylor.rkt:333:0 first-nonzero-exp [43] 83.7% parse-loop74 [42] 16.3% --------------------------------------------------------------------------------------- foldl [26] 100.0% [35] 806(2.0%) 0(0.0%) ??? ...ix-interface-bugs/src/core/matcher.rkt:25:7 core457 [60] 74.2% return/no-unsupplied [199] 25.8% --------------------------------------------------------------------------------------- ??? [3] 25.0% for-loop [20] 75.0% [36] 800(2.0%) 0(0.0%) ??? ...x-interface-bugs/src/core/taylor.rkt:293:19 hash-ref! [166] 100.0% --------------------------------------------------------------------------------------- fix-up-variables [27] 100.0% [37] 600(1.5%) 0(0.0%) for-loop ...terface-bugs/src/core/matcher.rkt:41:9 for-loop [52] 66.7% pattern-match [45] 33.3% --------------------------------------------------------------------------------------- make-multiplication-node [28] 100.0% [38] 208(0.5%) 0(0.0%) make-multiplication-subnode ...re/reduce.rkt:242:0 group-by61 [46] 100.0% --------------------------------------------------------------------------------------- fix-up-variables [27] 100.0% [39] 202(0.5%) 0(0.0%) pattern-substitute ...gs/src/core/matcher.rkt:45:0 do-curry [47] 100.0% --------------------------------------------------------------------------------------- parse-loop389 [30] 100.0% [40] 200(0.5%) 0(0.0%) for-loop ...terface-bugs/src/core/reduce.rkt:95:13 simplify-node [180] 100.0% --------------------------------------------------------------------------------------- for-loop [135] 6.1% run [31] 93.9% [41] 39370(100.0%) 1546(3.9%) .../more-scheme.rkt:261:28 (unknown source) run-improve47 [48] 67.1% prepare-points-intervals [57] 15.8% oracle-error [50] 5.2% ??? [196] 3.9% get-final-combination [51] 2.6% errors [125] 1.7% eval-errors [53] 1.0% loop [164] 0.5% ??? [114] 0.3% --------------------------------------------------------------------------------------- taylor-quotient [34] 2.7% taylor-invert [11] 2.8% parse-loop74 [42] 13.5% map [182] 16.1% hash-ref! [166] 64.9% [42] 7320(18.6%) 200(0.5%) parse-loop74 (unknown source) eval-const-expr [49] 80.0% parse-loop74 [42] 13.5% f61 [10] 3.7% --------------------------------------------------------------------------------------- taylor-invert [11] 37.3% taylor-quotient [34] 62.7% [43] 1632(4.1%) 0(0.0%) first-nonzero-exp ...ugs/src/core/taylor.rkt:265:0 hash-ref! [166] 100.0% --------------------------------------------------------------------------------------- taylor [32] 100.0% [44] 402(1.0%) 0(0.0%) debug-print ...-interface-bugs/src/debug.rkt:110:0 for-loop [54] 50.2% ??? [55] 49.8% --------------------------------------------------------------------------------------- for-loop [37] 49.8% for-loop [29] 50.2% [45] 402(1.0%) 200(0.5%) pattern-match ...ce-bugs/src/core/matcher.rkt:29:0 for-loop [52] 50.2% --------------------------------------------------------------------------------------- make-multiplication-subnode [38] 100.0% [46] 208(0.5%) 208(0.5%) group-by61 ...t-7.5/collects/racket/list.rkt:771:0 --------------------------------------------------------------------------------------- pattern-substitute [39] 100.0% [47] 202(0.5%) 202(0.5%) do-curry ...-7.5/collects/racket/function.rkt:71:2 --------------------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [41] 100.0% [48] 28308(71.9%) 0(0.0%) run-improve47 ...rface-bugs/src/mainloop.rkt:347:0 for-loop [56] 96.7% prepare-points-intervals [57] 1.7% simplify! [71] 0.8% finalize-iter! [67] 0.7% --------------------------------------------------------------------------------------- f61 [10] 15.6% parse-loop74 [42] 84.4% [49] 7934(20.2%) 0(0.0%) eval-const-expr ...ace-bugs/src/programs.rkt:120:0 temp85_0 [133] 84.6% loop [164] 7.7% eval [137] 5.2% eval-prog [138] 2.5% --------------------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [41] 100.0% [50] 2046(5.2%) 0(0.0%) oracle-error ...nterface-bugs/src/points.rkt:198:0 for-loop [58] 100.0% --------------------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [41] 100.0% [51] 1210(3.1%) 0(0.0%) get-final-combination ...gs/src/mainloop.rkt:372:0 infer-splitpoints [59] 100.0% --------------------------------------------------------------------------------------- pattern-match [45] 33.6% for-loop [37] 66.4% [52] 602(1.5%) 0(0.0%) for-loop ...terface-bugs/src/core/matcher.rkt:26:9 core457 [60] 100.0% --------------------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [41] 100.0% [53] 408(1.0%) 0(0.0%) eval-errors ...interface-bugs/src/points.rkt:189:0 for-loop [61] 100.0% --------------------------------------------------------------------------------------- debug-print [44] 100.0% [54] 202(0.5%) 202(0.5%) for-loop ...fix-interface-bugs/src/debug.rkt:116:2 --------------------------------------------------------------------------------------- debug-print [44] 100.0% [55] 200(0.5%) 200(0.5%) ??? .../contract/private/arrow-val-first.rkt:555:3 --------------------------------------------------------------------------------------- run-improve47 [48] 100.0% [56] 27376(69.5%) 0(0.0%) for-loop ...-interface-bugs/src/mainloop.rkt:366:4 run-iter! [62] 100.0% --------------------------------------------------------------------------------------- run-improve47 [48] 7.2% .../more-scheme.rkt:261:28 [41] 92.8% [57] 6710(17.0%) 0(0.0%) prepare-points-intervals ...s/src/points.rkt:120:0 loop [63] 93.6% loop [164] 3.5% eval-prog [138] 2.9% --------------------------------------------------------------------------------------- oracle-error [50] 100.0% [58] 2046(5.2%) 0(0.0%) for-loop ...ix-interface-bugs/src/points.rkt:199:2 loop [164] 72.4% map [182] 27.6% --------------------------------------------------------------------------------------- get-final-combination [51] 100.0% [59] 1210(3.1%) 0(0.0%) infer-splitpoints ...ugs/src/core/regimes.rkt:33:0 for-loop [64] 100.0% --------------------------------------------------------------------------------------- ??? [35] 49.8% for-loop [52] 50.2% [60] 1200(3.0%) 0(0.0%) core457 ...acket/contract/private/arr-i.rkt:976:19 un-dep/maybe-chaperone [65] 83.3% or/c [66] 16.7% --------------------------------------------------------------------------------------- eval-errors [53] 100.0% [61] 408(1.0%) 0(0.0%) for-loop ...ix-interface-bugs/src/points.rkt:191:2 ??? [196] 100.0% --------------------------------------------------------------------------------------- for-loop [56] 100.0% [62] 27376(69.5%) 0(0.0%) run-iter! ...interface-bugs/src/mainloop.rkt:328:0 finalize-iter! [67] 43.9% gen-series! [68] 34.9% gen-rewrites! [70] 11.0% simplify! [71] 4.8% localize! [73] 3.0% choose-best-alt! [75] 2.4% --------------------------------------------------------------------------------------- prepare-points-intervals [57] 100.0% [63] 6278(15.9%) 0(0.0%) loop ...ie/fix-interface-bugs/src/points.rkt:133:4 loop [69] 89.5% ??? [74] 10.5% --------------------------------------------------------------------------------------- infer-splitpoints [59] 100.0% [64] 1210(3.1%) 0(0.0%) for-loop ...terface-bugs/src/core/regimes.rkt:46:6 option-on-expr [72] 100.0% --------------------------------------------------------------------------------------- core457 [60] 100.0% [65] 1000(2.5%) 200(0.5%) un-dep/maybe-chaperone ...private/arr-i.rkt:1137:2 ??? [87] 40.0% get/build-late-neg-projection [76] 20.2% ??? [78] 19.8% --------------------------------------------------------------------------------------- core457 [60] 100.0% [66] 200(0.5%) 0(0.0%) or/c ...lects/racket/contract/private/orc.rkt:16:2 coerce-contracts [77] 100.0% --------------------------------------------------------------------------------------- run-improve47 [48] 1.7% run-iter! [62] 98.3% [67] 12228(31.1%) 0(0.0%) finalize-iter! ...face-bugs/src/mainloop.rkt:279:0 ??? [79] 100.0% --------------------------------------------------------------------------------------- run-iter! [62] 100.0% [68] 9560(24.3%) 0(0.0%) gen-series! ...terface-bugs/src/mainloop.rkt:161:0 for-loop [80] 100.0% --------------------------------------------------------------------------------------- loop [63] 100.0% [69] 5616(14.3%) 512(1.3%) loop ...bie/fix-interface-bugs/src/points.rkt:79:2 ??? [114] 46.0% ??? [82] 44.9% --------------------------------------------------------------------------------------- run-iter! [62] 100.0% [70] 3014(7.7%) 0(0.0%) gen-rewrites! ...rface-bugs/src/mainloop.rkt:184:0 for-loop [81] 100.0% --------------------------------------------------------------------------------------- run-improve47 [48] 15.4% run-iter! [62] 84.6% [71] 1550(3.9%) 0(0.0%) simplify! ...interface-bugs/src/mainloop.rkt:225:0 ??? [83] 100.0% --------------------------------------------------------------------------------------- for-loop [64] 100.0% [72] 1210(3.1%) 0(0.0%) option-on-expr ...-bugs/src/core/regimes.rkt:125:0 for-loop [85] 66.9% sort-context-on-expr [88] 33.1% --------------------------------------------------------------------------------------- run-iter! [62] 100.0% [73] 816(2.1%) 0(0.0%) localize! ...interface-bugs/src/mainloop.rkt:128:0 localize-error [84] 100.0% --------------------------------------------------------------------------------------- loop [63] 100.0% [74] 662(1.7%) 312(0.8%) ??? ...bie/fix-interface-bugs/src/points.rkt:113:6 sample-multi-bounded [89] 52.9% --------------------------------------------------------------------------------------- run-iter! [62] 100.0% [75] 658(1.7%) 0(0.0%) choose-best-alt! ...ce-bugs/src/mainloop.rkt:118:0 ...ow-val-first.rkt:486:18 [86] 100.0% --------------------------------------------------------------------------------------- single-or/c-late-neg-projection [90] 50.0% un-dep/maybe-chaperone [65] 50.0% [76] 202(0.5%) 202(0.5%) get/build-late-neg-projection ...te/guts.rkt:827:0 single-or/c-late-neg-projection [90] 50.0% --------------------------------------------------------------------------------------- or/c [66] 100.0% [77] 200(0.5%) 200(0.5%) coerce-contracts ...ontract/private/guts.rkt:317:0 --------------------------------------------------------------------------------------- un-dep/maybe-chaperone [65] 100.0% [78] 198(0.5%) 0(0.0%) ??? ...llects/racket/contract/private/orc.rkt:88:2 ??? [87] 100.0% --------------------------------------------------------------------------------------- finalize-iter! [67] 100.0% [79] 12228(31.1%) 0(0.0%) ??? ...contract/private/arrow-val-first.rkt:486:18 for-loop [91] 94.7% atab-add-altns [98] 5.3% --------------------------------------------------------------------------------------- gen-series! [68] 100.0% [80] 9560(24.3%) 0(0.0%) for-loop ...-interface-bugs/src/mainloop.rkt:168:7 taylor-alt [92] 100.0% --------------------------------------------------------------------------------------- gen-rewrites! [70] 100.0% [81] 3014(7.7%) 0(0.0%) for-loop ...interface-bugs/src/mainloop.rkt:192:11 rewrite-expression-head24 [93] 100.0% --------------------------------------------------------------------------------------- loop [69] 100.0% [82] 2522(6.4%) 202(0.5%) ??? ...tract/private/arrow-higher-order.rkt:379:33 ival-add [95] 44.8% ival-sub [96] 27.0% ival-div [100] 20.2% --------------------------------------------------------------------------------------- simplify! [71] 100.0% [83] 1550(3.9%) 0(0.0%) ??? ...x-interface-bugs/src/core/simplify.rkt:42:0 egraph-run [94] 100.0% --------------------------------------------------------------------------------------- localize! [73] 100.0% [84] 816(2.1%) 0(0.0%) localize-error ...-bugs/src/core/localize.rkt:63:0 hash-ref! [166] 100.0% --------------------------------------------------------------------------------------- option-on-expr [72] 100.0% [85] 810(2.1%) 0(0.0%) for-loop ...erface-bugs/src/core/regimes.rkt:136:4 errors [125] 100.0% --------------------------------------------------------------------------------------- choose-best-alt! [75] 100.0% [86] 658(1.7%) 0(0.0%) ...ow-val-first.rkt:486:18 (unknown source) ??? [97] 100.0% --------------------------------------------------------------------------------------- ??? [78] 33.1% un-dep/maybe-chaperone [65] 66.9% [87] 598(1.5%) 0(0.0%) ??? ...cts/racket/contract/private/guts.rkt:835:10 ??? [99] 100.0% --------------------------------------------------------------------------------------- option-on-expr [72] 100.0% [88] 400(1.0%) 0(0.0%) sort-context-on-expr ...src/core/regimes.rkt:118:0 ??? [101] 100.0% --------------------------------------------------------------------------------------- ??? [74] 100.0% [89] 350(0.9%) 0(0.0%) sample-multi-bounded ...e-bugs/src/points.rkt:14:0 random-ranges [102] 100.0% --------------------------------------------------------------------------------------- get/build-late-neg-projection [76] 100.0% [90] 202(0.5%) 0(0.0%) single-or/c-late-neg-projection ...te/orc.rkt:85:0 get/build-late-neg-projection [76] 100.0% --------------------------------------------------------------------------------------- ??? [79] 100.0% [91] 11582(29.4%) 200(0.5%) for-loop ...rface-bugs/src/core/alt-table.rkt:55:2 atab-add-altn [104] 65.8% errors [125] 25.2% loop [107] 7.3% --------------------------------------------------------------------------------------- for-loop [80] 100.0% [92] 9560(24.3%) 0(0.0%) taylor-alt ...nterface-bugs/src/mainloop.rkt:147:0 for-loop [103] 100.0% --------------------------------------------------------------------------------------- for-loop [81] 100.0% [93] 3014(7.7%) 0(0.0%) rewrite-expression-head24 ...core/matcher.rkt:85:0 rewriter [105] 100.0% --------------------------------------------------------------------------------------- ??? [83] 100.0% [94] 1550(3.9%) 0(0.0%) egraph-run .../pkgs/egg-herbie-linux/main.rkt:49:0 egraph-add-exprs [106] 100.0% --------------------------------------------------------------------------------------- ??? [82] 100.0% [95] 1130(2.9%) 154(0.4%) ival-add ...terface-bugs/src/biginterval.rkt:102:0 bfadd [136] 86.4% --------------------------------------------------------------------------------------- ??? [82] 100.0% [96] 680(1.7%) 352(0.9%) ival-sub ...terface-bugs/src/biginterval.rkt:108:0 bfadd [136] 48.2% --------------------------------------------------------------------------------------- ...ow-val-first.rkt:486:18 [86] 100.0% [97] 658(1.7%) 0(0.0%) ??? ...-interface-bugs/src/core/alt-table.rkt:58:0 loop [108] 63.8% argmin [111] 36.2% --------------------------------------------------------------------------------------- ??? [79] 100.0% [98] 646(1.6%) 0(0.0%) atab-add-altns ...bugs/src/core/alt-table.rkt:49:0 atab-add-altn [104] 100.0% --------------------------------------------------------------------------------------- ??? [87] 100.0% [99] 598(1.5%) 198(0.5%) ??? ...ntract/private/arrow-higher-order.rkt:575:2 build-subcontract-late-negs [109] 66.9% --------------------------------------------------------------------------------------- ??? [82] 100.0% [100] 510(1.3%) 510(1.3%) ival-div ...terface-bugs/src/biginterval.rkt:156:0 --------------------------------------------------------------------------------------- sort-context-on-expr [88] 100.0% [101] 400(1.0%) 0(0.0%) ??? ...-7.5/collects/racket/private/sort.rkt:369:3 generic-sort/key [113] 50.0% loop [112] 50.0% --------------------------------------------------------------------------------------- sample-multi-bounded [89] 100.0% [102] 350(0.9%) 0(0.0%) random-ranges ...terface-bugs/src/common.rkt:164:0 cons/c [110] 100.0% --------------------------------------------------------------------------------------- taylor-alt [92] 100.0% [103] 9560(24.3%) 0(0.0%) for-loop ...-interface-bugs/src/mainloop.rkt:153:6 ??? [114] 100.0% --------------------------------------------------------------------------------------- atab-add-altns [98] 7.8% for-loop [91] 92.2% [104] 8266(21.0%) 0(0.0%) atab-add-altn ...bugs/src/core/alt-table.rkt:203:0 errors [125] 91.8% loop [119] 2.9% override-at-pnts [120] 2.7% loop [121] 2.6% --------------------------------------------------------------------------------------- rewrite-expression-head24 [93] 18.0% matcher [127] 82.0% [105] 3014(7.7%) 1006(2.6%) rewriter ...terface-bugs/src/core/matcher.rkt:87:2 for-loop [115] 93.7% --------------------------------------------------------------------------------------- egraph-run [94] 100.0% [106] 1550(3.9%) 0(0.0%) egraph-add-exprs ...gg-herbie-linux/main.rkt:111:0 ??? [116] 83.0% loop [164] 17.0% --------------------------------------------------------------------------------------- for-loop [91] 100.0% [107] 844(2.1%) 242(0.6%) loop ...nterface-bugs/src/core/alt-table.rkt:177:2 map [182] 47.6% loop [122] 23.7% --------------------------------------------------------------------------------------- ??? [97] 100.0% [108] 420(1.1%) 0(0.0%) loop .../racket-7.5/collects/racket/list.rkt:751:4 ??? [117] 100.0% --------------------------------------------------------------------------------------- ??? [99] 100.0% [109] 400(1.0%) 200(0.5%) build-subcontract-late-negs ...her-order.rkt:711:0 get/build-collapsible-late-neg-projection [123] 50.0% --------------------------------------------------------------------------------------- random-ranges [102] 100.0% [110] 350(0.9%) 0(0.0%) cons/c .../racket/contract/private/guts.rkt:500:15 coerce-contract [118] 100.0% --------------------------------------------------------------------------------------- ??? [97] 100.0% [111] 238(0.6%) 0(0.0%) argmin ...acket-7.5/collects/racket/list.rkt:765:0 ??? [117] 100.0% --------------------------------------------------------------------------------------- ??? [101] 100.0% [112] 200(0.5%) 200(0.5%) loop ...7.5/collects/racket/private/sort.rkt:96:12 --------------------------------------------------------------------------------------- ??? [101] 100.0% [113] 200(0.5%) 0(0.0%) generic-sort/key .../racket/private/sort.rkt:156:2 copying-mergesort [124] 100.0% --------------------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [41] 1.6% loop [19] 2.7% loop [134] 4.4% ??? [6] 14.3% loop [69] 20.9% location-do [126] 25.9% for-loop [103] 30.2% [114] 12342(31.3%) 200(0.5%) ??? ...tract/private/arrow-higher-order.rkt:375:33 location-do [126] 30.2% approximate9 [2] 29.3% ival-mult [128] 20.9% hash-ref! [166] 17.0% f40 [25] 0.9% --------------------------------------------------------------------------------------- rewriter [105] 100.0% [115] 3014(7.7%) 0(0.0%) for-loop ...terface-bugs/src/core/matcher.rkt:89:4 matcher [127] 94.8% for-loop [12] 5.2% --------------------------------------------------------------------------------------- egraph-add-exprs [106] 100.0% [116] 1286(3.3%) 0(0.0%) ??? ...-interface-bugs/src/core/simplify.rkt:102:6 for-loop [129] 100.0% --------------------------------------------------------------------------------------- argmin [111] 36.2% loop [108] 63.8% [117] 658(1.7%) 0(0.0%) ??? .../fix-interface-bugs/src/mainloop.rkt:115:10 errors [125] 100.0% --------------------------------------------------------------------------------------- cons/c [110] 100.0% [118] 350(0.9%) 0(0.0%) coerce-contract ...contract/private/guts.rkt:307:0 coerce-contract/f [130] 100.0% --------------------------------------------------------------------------------------- atab-add-altn [104] 100.0% [119] 240(0.6%) 240(0.6%) loop ...-7.5/collects/racket/private/hash.rkt:20:4 --------------------------------------------------------------------------------------- atab-add-altn [104] 100.0% [120] 224(0.6%) 0(0.0%) override-at-pnts ...s/src/core/alt-table.rkt:138:0 for-loop [131] 100.0% --------------------------------------------------------------------------------------- atab-add-altn [104] 100.0% [121] 212(0.5%) 212(0.5%) loop ...nterface-bugs/src/core/alt-table.rkt:101:2 --------------------------------------------------------------------------------------- loop [107] 2.1% loop [122] 97.9% [122] 200(0.5%) 200(0.5%) loop ...racket-7.5/collects/racket/list.rkt:434:28 loop [122] 97.9% --------------------------------------------------------------------------------------- build-subcontract-late-negs [109] 100.0% [123] 200(0.5%) 200(0.5%) get/build-collapsible-late-neg-projection ...817:0 --------------------------------------------------------------------------------------- generic-sort/key [113] 25.0% copying-mergesort [124] 75.0% [124] 200(0.5%) 0(0.0%) copying-mergesort ...racket/private/sort.rkt:129:8 copying-mergesort [124] 75.0% jloop [132] 25.0% --------------------------------------------------------------------------------------- ??? [117] 5.1% for-loop [85] 6.3% .../more-scheme.rkt:261:28 [41] 7.5% for-loop [91] 22.5% atab-add-altn [104] 58.6% [125] 12948(32.9%) 0(0.0%) errors .../fix-interface-bugs/src/points.rkt:211:0 temp85_0 [133] 58.0% for-loop [135] 37.1% eval [137] 1.8% eval-prog [138] 1.5% loop [164] 1.5% --------------------------------------------------------------------------------------- loop [134] 28.6% ??? [114] 28.6% location-do [126] 42.9% [126] 9560(24.3%) 0(0.0%) location-do ...nterface-bugs/src/programs.rkt:63:0 location-do [126] 42.9% loop [134] 32.3% ??? [114] 24.9% --------------------------------------------------------------------------------------- for-loop [22] 48.5% for-loop [115] 51.5% [127] 3014(7.7%) 400(1.0%) matcher ...terface-bugs/src/core/matcher.rkt:115:2 ??? [8] 50.9% rewriter [105] 48.0% --------------------------------------------------------------------------------------- ??? [114] 100.0% [128] 2582(6.6%) 1184(3.0%) ival-mult ...erface-bugs/src/biginterval.rkt:120:0 bfadd [136] 54.1% --------------------------------------------------------------------------------------- ??? [116] 100.0% [129] 1286(3.3%) 1286(3.3%) for-loop ...rface-bugs/src/core/simplify.rkt:121:2 --------------------------------------------------------------------------------------- coerce-contract [118] 100.0% [130] 350(0.9%) 0(0.0%) coerce-contract/f ...ntract/private/guts.rkt:372:0 coerce-simple-value [139] 100.0% --------------------------------------------------------------------------------------- override-at-pnts [120] 100.0% [131] 224(0.6%) 224(0.6%) for-loop ...ace-bugs/src/core/alt-table.rkt:139:22 --------------------------------------------------------------------------------------- copying-mergesort [124] 100.0% [132] 200(0.5%) 200(0.5%) jloop ...5/collects/racket/private/sort.rkt:120:23 --------------------------------------------------------------------------------------- loop [164] 1.4% eval-const-expr [49] 46.5% errors [125] 52.1% [133] 14420(36.6%) 0(0.0%) temp85_0 (unknown source) compile15 [140] 100.0% --------------------------------------------------------------------------------------- loop [134] 47.9% location-do [126] 52.1% [134] 9560(24.3%) 0(0.0%) loop ...e/fix-interface-bugs/src/programs.rkt:72:4 loop [134] 47.9% location-do [126] 47.3% ??? [114] 4.8% --------------------------------------------------------------------------------------- errors [125] 100.0% [135] 4802(12.2%) 0(0.0%) for-loop ...ix-interface-bugs/src/points.rkt:213:2 .../more-scheme.rkt:261:28 [41] 100.0% --------------------------------------------------------------------------------------- ival-sub [96] 12.1% ival-add [95] 36.1% ival-mult [128] 51.7% [136] 2702(6.9%) 198(0.5%) bfadd ...-lib/math/private/bigfloat/mpfr.rkt:835:4 new-mpfr [141] 57.8% ??? [142] 34.9% --------------------------------------------------------------------------------------- errors [125] 36.5% eval-const-expr [49] 63.5% [137] 646(1.6%) 0(0.0%) eval (unknown source) datum->syntax6 [156] 100.0% --------------------------------------------------------------------------------------- prepare-points-intervals [57] 32.8% errors [125] 33.4% eval-const-expr [49] 33.8% [138] 598(1.5%) 0(0.0%) eval-prog ...-interface-bugs/src/programs.rkt:82:0 hash-ref! [166] 66.2% inductor [143] 33.8% --------------------------------------------------------------------------------------- coerce-contract/f [130] 100.0% [139] 350(0.9%) 350(0.9%) coerce-simple-value ...ract/private/guts.rkt:385:0 --------------------------------------------------------------------------------------- temp85_0 [133] 100.0% [140] 14420(36.6%) 0(0.0%) compile15 (unknown source) temp91_0 [144] 100.0% --------------------------------------------------------------------------------------- bfadd [136] 100.0% [141] 1562(4.0%) 1562(4.0%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:348:0 --------------------------------------------------------------------------------------- bfadd [136] 100.0% [142] 942(2.4%) 942(2.4%) ??? /opt/racket-7.5/collects/ffi/unsafe.rkt:938:4 --------------------------------------------------------------------------------------- eval-prog [138] 100.0% [143] 202(0.5%) 0(0.0%) inductor ...-interface-bugs/src/programs.rkt:103:4 table-ref [145] 100.0% --------------------------------------------------------------------------------------- compile15 [140] 100.0% [144] 14420(36.6%) 0(0.0%) temp91_0 (unknown source) temp118_0 [146] 88.8% compile-top9 [147] 9.8% loop [164] 1.4% --------------------------------------------------------------------------------------- inductor [143] 100.0% [145] 202(0.5%) 202(0.5%) table-ref ...ix-interface-bugs/src/common.rkt:33:0 --------------------------------------------------------------------------------------- temp91_0 [144] 100.0% [146] 12806(32.5%) 0(0.0%) temp118_0 (unknown source) expand-capturing-lifts [148] 100.0% --------------------------------------------------------------------------------------- temp91_0 [144] 100.0% [147] 1412(3.6%) 0(0.0%) compile-top9 (unknown source) compile-forms33 [149] 100.0% --------------------------------------------------------------------------------------- loop [164] 8.9% temp118_0 [146] 91.1% [148] 14054(35.7%) 200(0.5%) expand-capturing-lifts (unknown source) lambda-clause-expander [150] 88.2% dispatch-transformer41 [151] 5.8% loop [164] 4.6% --------------------------------------------------------------------------------------- compile-top9 [147] 100.0% [149] 1412(3.6%) 208(0.5%) compile-forms33 (unknown source) for-loop [165] 85.3% --------------------------------------------------------------------------------------- expand-capturing-lifts [148] 100.0% [150] 12394(31.5%) 0(0.0%) lambda-clause-expander (unknown source) finish-bodys [152] 90.3% loop [164] 9.7% --------------------------------------------------------------------------------------- expand-capturing-lifts [148] 25.3% loop [164] 31.1% for-loop [165] 43.6% [151] 3214(8.2%) 0(0.0%) dispatch-transformer41 (unknown source) apply-transformer52 [153] 100.0% --------------------------------------------------------------------------------------- lambda-clause-expander [150] 18.4% for-loop [165] 81.6% [152] 11194(28.4%) 0(0.0%) finish-bodys (unknown source) for-loop [165] 100.0% --------------------------------------------------------------------------------------- dispatch-transformer41 [151] 100.0% [153] 3214(8.2%) 400(1.0%) apply-transformer52 (unknown source) loop [164] 37.7% apply-transformer-in-context [154] 37.4% apply-post-expansion [155] 12.4% --------------------------------------------------------------------------------------- apply-transformer52 [153] 100.0% [154] 1202(3.1%) 200(0.5%) apply-transformer-in-context (unknown source) ??? [157] 33.4% datum->syntax6 [156] 16.6% go [158] 16.6% parse-app [159] 16.6% --------------------------------------------------------------------------------------- apply-transformer52 [153] 100.0% [155] 400(1.0%) 0(0.0%) apply-post-expansion (unknown source) gf [167] 100.0% --------------------------------------------------------------------------------------- apply-transformer-in-context [154] 23.6% eval [137] 76.4% [156] 846(2.1%) 200(0.5%) datum->syntax6 (unknown source) loop [164] 76.4% --------------------------------------------------------------------------------------- apply-transformer-in-context [154] 100.0% [157] 402(1.0%) 0(0.0%) ??? ...collects/racket/private/qq-and-or.rkt:155:9 ??? [160] 100.0% --------------------------------------------------------------------------------------- apply-transformer-in-context [154] 100.0% [158] 200(0.5%) 0(0.0%) go .../collects/racket/private/qq-and-or.rkt:50:20 loop [161] 100.0% --------------------------------------------------------------------------------------- apply-transformer-in-context [154] 100.0% [159] 200(0.5%) 0(0.0%) parse-app ...collects/racket/private/kw.rkt:1142:2 syntax->list [162] 100.0% --------------------------------------------------------------------------------------- ??? [157] 100.0% [160] 402(1.0%) 202(0.5%) ??? ...ollects/racket/private/qq-and-or.rkt:164:21 syntax->list [162] 49.8% --------------------------------------------------------------------------------------- go [158] 100.0% [161] 200(0.5%) 0(0.0%) loop ...llects/racket/private/qq-and-or.rkt:101:61 stx-car [163] 100.0% --------------------------------------------------------------------------------------- parse-app [159] 50.0% ??? [160] 50.0% [162] 400(1.0%) 0(0.0%) syntax->list (unknown source) loop [164] 100.0% --------------------------------------------------------------------------------------- loop [161] 100.0% [163] 200(0.5%) 200(0.5%) stx-car ....5/collects/racket/private/stx.rkt:67:4 --------------------------------------------------------------------------------------- egraph-add-exprs [106] 0.0% errors [125] 0.1% prepare-points-intervals [57] 0.6% .../more-scheme.rkt:261:28 [41] 0.8% temp91_0 [144] 0.8% datum->syntax6 [156] 1.0% gf [167] 1.3% expand-capturing-lifts [148] 2.3% syntax->list [162] 2.4% eval-const-expr [49] 2.6% ??? [176] 3.2% apply-transformer52 [153] 4.4% lambda-clause-expander [150] 7.3% for-loop [58] 7.5% for-loop [165] 9.4% loop [164] 15.7% syntax-e/no-taint [18] 40.3% [164] 12268(31.2%) 1696(4.3%) loop (unknown source) gf [167] 41.5% loop [164] 15.7% expand-id-application-form17 [170] 9.1% ??? [191] 6.9% dispatch-transformer41 [151] 5.7% syntax-e [4] 5.2% expand-capturing-lifts [148] 4.1% hash-ref! [166] 3.2% temp85_0 [133] 0.8% for-loop [165] 0.6% ??? [196] 0.5% --------------------------------------------------------------------------------------- loop [164] 0.9% fallback-loop [33] 2.2% compile-forms33 [149] 9.4% for-loop [165] 10.3% finish-bodys [152] 76.3% [165] 12834(32.6%) 2346(6.0%) for-loop (unknown source) finish-bodys [152] 63.4% for-loop [165] 10.3% compile-module-linklet57 [173] 9.4% dispatch-transformer41 [151] 3.0% expand-implicit [9] 2.0% syntax-e [4] 1.5% loop [164] 0.9% temp37_0 [177] 0.9% expand-id-application-form17 [170] 0.4% dispatch-variable [178] 0.0% expand-identifier [16] 0.0% --------------------------------------------------------------------------------------- eval-prog [138] 0.9% ??? [36] 2.3% ??? [172] 2.6% loop [164] 3.3% ??? [169] 3.5% map [182] 4.0% localize-error [84] 4.7% loop [19] 9.7% ??? [3] 12.0% for-loop [20] 13.1% for-loop [21] 13.6% ??? [114] 14.2% first-nonzero-exp [43] 14.7% [166] 9332(23.7%) 414(1.1%) hash-ref! .../racket/private/more-scheme.rkt:376:2 parse-loop74 [42] 22.4% ??? [5] 14.3% ??? [7] 13.6% ??? [3] 13.0% ??? [6] 9.7% parse-loop30 [174] 8.7% f40 [25] 3.5% ??? [169] 3.5% ??? [176] 3.3% ??? [172] 2.6% simplify-node [180] 1.1% f61 [10] 1.1% bigfloat-hash [181] 0.2% --------------------------------------------------------------------------------------- apply-post-expansion [155] 0.8% loop [164] 99.2% [167] 6978(17.7%) 800(2.0%) gf (unknown source) propagation-apply [168] 41.3% propagation-merge [171] 29.9% propagation-apply-shifted [175] 11.6% loop [164] 5.0% cache-or-reuse-set [179] 2.9% syntax-e/no-taint [18] 0.4% --------------------------------------------------------------------------------------- gf [167] 100.0% [168] 2880(7.3%) 2880(7.3%) propagation-apply (unknown source) --------------------------------------------------------------------------------------- hash-ref! [166] 100.0% [169] 2430(6.2%) 0(0.0%) ??? ...x-interface-bugs/src/core/taylor.rkt:343:33 hash-ref! [166] 100.0% --------------------------------------------------------------------------------------- for-loop [165] 9.6% loop [164] 90.4% [170] 2092(5.3%) 0(0.0%) expand-id-application-form17 (unknown source) syntax-e/no-taint [18] 70.6% resolve+shift28 [24] 19.9% binding-lookup52 [183] 9.6% --------------------------------------------------------------------------------------- gf [167] 100.0% [171] 2086(5.3%) 2086(5.3%) propagation-merge (unknown source) --------------------------------------------------------------------------------------- hash-ref! [166] 100.0% [172] 1424(3.6%) 0(0.0%) ??? ...x-interface-bugs/src/core/taylor.rkt:327:33 hash-ref! [166] 100.0% --------------------------------------------------------------------------------------- for-loop [165] 100.0% [173] 1204(3.1%) 1204(3.1%) compile-module-linklet57 (unknown source) --------------------------------------------------------------------------------------- hash-ref! [166] 100.0% [174] 816(2.1%) 0(0.0%) parse-loop30 (unknown source) map [182] 75.5% for-loop [186] 24.5% --------------------------------------------------------------------------------------- gf [167] 100.0% [175] 812(2.1%) 812(2.1%) propagation-apply-shifted (unknown source) --------------------------------------------------------------------------------------- hash-ref! [166] 100.0% [176] 396(1.0%) 0(0.0%) ??? ...e/fix-interface-bugs/src/programs.rkt:178:5 loop [164] 100.0% --------------------------------------------------------------------------------------- for-loop [165] 100.0% [177] 236(0.6%) 0(0.0%) temp37_0 (unknown source) [running body] [184] 100.0% --------------------------------------------------------------------------------------- for-loop [165] 100.0% [178] 206(0.5%) 0(0.0%) dispatch-variable (unknown source) substitute-variable6 [185] 100.0% --------------------------------------------------------------------------------------- gf [167] 100.0% [179] 200(0.5%) 200(0.5%) cache-or-reuse-set (unknown source) --------------------------------------------------------------------------------------- for-loop [40] 50.0% hash-ref! [166] 50.0% [180] 200(0.5%) 200(0.5%) simplify-node ...ace-bugs/src/core/reduce.rkt:46:0 append-map [14] 50.0% --------------------------------------------------------------------------------------- hash-ref! [166] 100.0% [181] 196(0.5%) 0(0.0%) bigfloat-hash ...h/private/bigfloat/mpfr.rkt:168:0 bfcanonicalize [187] 100.0% --------------------------------------------------------------------------------------- f61 [10] 3.3% loop [107] 6.6% for-loop [58] 9.3% parse-loop30 [174] 10.2% f40 [25] 28.1% taylor [32] 42.6% [182] 6064(15.4%) 0(0.0%) map ...t-7.5/collects/racket/private/map.rkt:35:13 taylor [32] 37.5% parse-loop74 [42] 20.7% loop [188] 12.6% hash-ref! [166] 6.2% ??? [191] 6.2% f40 [25] 6.1% taylor-invert [11] 5.1% f61 [10] 3.4% ??? [13] 1.1% ??? [196] 1.1% --------------------------------------------------------------------------------------- expand-id-application-form17 [170] 49.8% expand-implicit [9] 50.2% [183] 402(1.0%) 402(1.0%) binding-lookup52 (unknown source) --------------------------------------------------------------------------------------- temp37_0 [177] 100.0% [184] 236(0.6%) 0(0.0%) [running body] .../collects/racket/format.rkt":##f .get-syntax-literal! [189] 100.0% --------------------------------------------------------------------------------------- dispatch-variable [178] 100.0% [185] 206(0.5%) 206(0.5%) substitute-variable6 (unknown source) --------------------------------------------------------------------------------------- parse-loop30 [174] 100.0% [186] 200(0.5%) 200(0.5%) for-loop ...rface-bugs/src/core/localize.rkt:50:21 --------------------------------------------------------------------------------------- bigfloat-hash [181] 100.0% [187] 196(0.5%) 0(0.0%) bfcanonicalize .../private/bigfloat/mpfr.rkt:158:0 bigfloat->sig+exp [190] 100.0% --------------------------------------------------------------------------------------- map [182] 23.0% loop [188] 77.0% [188] 1008(2.6%) 0(0.0%) loop ...-7.5/collects/racket/private/map.rkt:40:19 loop [188] 77.0% ??? [191] 18.8% ??? [194] 2.4% ??? [192] 1.3% ??? [196] 0.4% --------------------------------------------------------------------------------------- [running body] [184] 100.0% [189] 236(0.6%) 0(0.0%) .get-syntax-literal! (unknown source) .deserialize-syntax [193] 100.0% --------------------------------------------------------------------------------------- bfcanonicalize [187] 100.0% [190] 196(0.5%) 0(0.0%) bigfloat->sig+exp ...ivate/bigfloat/mpfr.rkt:386:0 new-mpz [195] 100.0% --------------------------------------------------------------------------------------- loop [188] 10.2% map [182] 20.2% loop [164] 69.6% [191] 1854(4.7%) 172(0.4%) ??? ...ie/fix-interface-bugs/src/points.rkt:200:26 ??? [196] 80.8% ulp-difference [198] 9.9% --------------------------------------------------------------------------------------- loop [188] 100.0% [192] 402(1.0%) 202(0.5%) ??? ...nterface-bugs/src/core/alt-table.rkt:194:12 loop [197] 49.8% --------------------------------------------------------------------------------------- .get-syntax-literal! [189] 100.0% [193] 236(0.6%) 236(0.6%) .deserialize-syntax (unknown source) --------------------------------------------------------------------------------------- loop [188] 100.0% [194] 216(0.5%) 216(0.5%) ??? ...ket-7.5/collects/racket/function.rkt:138:13 --------------------------------------------------------------------------------------- bigfloat->sig+exp [190] 100.0% [195] 196(0.5%) 196(0.5%) new-mpz ...-lib/math/private/bigfloat/gmp.rkt:73:0 --------------------------------------------------------------------------------------- loop [164] 3.5% map [182] 3.6% loop [188] 3.6% for-loop [61] 7.3% ??? [191] 27.0% .../more-scheme.rkt:261:28 [41] 55.0% [196] 5554(14.1%) 5182(13.2%) ??? ...interface-bugs/src/syntax/syntax.rkt:214:17 return/no-unsupplied [199] 6.7% --------------------------------------------------------------------------------------- ??? [192] 20.0% loop [197] 80.0% [197] 200(0.5%) 200(0.5%) loop ...7.5/collects/racket/private/list.rkt:82:16 loop [197] 80.0% --------------------------------------------------------------------------------------- ??? [191] 100.0% [198] 184(0.5%) 184(0.5%) ulp-difference ...nterface-bugs/src/float.rkt:20:0 --------------------------------------------------------------------------------------- ??? [35] 35.9% ??? [196] 64.1% [199] 580(1.5%) 400(1.0%) return/no-unsupplied ...ct/private/arr-i.rkt:566:0 filter [200] 31.0% --------------------------------------------------------------------------------------- return/no-unsupplied [199] 100.0% [200] 180(0.5%) 180(0.5%) filter ...5/collects/racket/private/list.rkt:256:2 ---------------------------------------------------------------------------------------