Profiling results ----------------- Total cpu time observed: 48822ms (out of 49024ms) Number of samples taken: 242 (once every 202ms) (Hiding functions with self<1.0% and local<2.0%: 11 of 215 hidden) ========================================================================== Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ========================================================================== [1] 48822(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [16] 100.0% -------------------------------------------------------------------------- ??? [99] 100.0% [2] 10556(21.6%) 0(0.0%) approximate9 ...face-bugs/src/core/taylor.rkt:11:0 loop [18] 69.3% for-loop [23] 23.6% taylor [158] 3.4% f40 [22] 1.9% taylor-invert [172] 1.7% -------------------------------------------------------------------------- loop [150] 9.6% for-loop [167] 90.4% [3] 6284(12.9%) 0(0.0%) syntax-e (unknown source) syntax-e/no-taint [17] 100.0% -------------------------------------------------------------------------- hash-ref! [151] 100.0% [4] 5960(12.2%) 0(0.0%) ??? ...ix-interface-bugs/src/core/taylor.rkt:44:15 hash-ref! [151] 89.8% ??? [33] 10.2% -------------------------------------------------------------------------- hash-ref! [151] 100.0% [5] 5704(11.7%) 0(0.0%) ??? ...ix-interface-bugs/src/core/taylor.rkt:67:15 hash-ref! [151] 56.4% ??? [99] 43.6% -------------------------------------------------------------------------- hash-ref! [151] 100.0% [6] 3784(7.8%) 0(0.0%) ??? ...x-interface-bugs/src/core/taylor.rkt:300:23 for-loop [20] 100.0% -------------------------------------------------------------------------- hash-ref! [151] 100.0% [7] 3330(6.8%) 0(0.0%) ??? ...x-interface-bugs/src/core/taylor.rkt:290:26 for-loop [21] 100.0% -------------------------------------------------------------------------- for-loop [167] 100.0% [8] 2146(4.4%) 0(0.0%) expand-implicit (unknown source) resolve+shift28 [156] 92.4% binding-lookup52 [30] 7.6% -------------------------------------------------------------------------- matcher [109] 100.0% [9] 1998(4.1%) 0(0.0%) ??? ...-interface-bugs/src/core/matcher.rkt:127:11 for-loop [24] 82.7% for-loop [28] 14.0% foldl [36] 3.3% -------------------------------------------------------------------------- for-loop [167] 100.0% [10] 1386(2.8%) 430(0.9%) expand-identifier (unknown source) resolve+shift28 [156] 69.0% -------------------------------------------------------------------------- hash-ref! [151] 100.0% [11] 1008(2.1%) 0(0.0%) ??? ...x-interface-bugs/src/core/taylor.rkt:406:23 for-loop [26] 100.0% -------------------------------------------------------------------------- taylor [158] 100.0% [12] 808(1.7%) 198(0.4%) taylor-sqrt ...face-bugs/src/core/taylor.rkt:351:0 parse-loop74 [19] 26.5% f61 [25] 24.8% simplify-node [169] 24.3% -------------------------------------------------------------------------- for-loop [167] 100.0% [13] 792(1.6%) 0(0.0%) dispatch-variable (unknown source) substitute-variable6 [27] 100.0% -------------------------------------------------------------------------- taylor [158] 100.0% [14] 556(1.1%) 0(0.0%) taylor-cbrt ...face-bugs/src/core/taylor.rkt:377:0 f61 [25] 66.9% parse-loop74 [19] 33.1% -------------------------------------------------------------------------- hash-ref! [151] 100.0% [15] 200(0.4%) 0(0.0%) make-multiplication-node .../core/reduce.rkt:232:0 make-multiplication-subnode [29] 100.0% -------------------------------------------------------------------------- ??? [1] 100.0% [16] 48822(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [31] 100.0% -------------------------------------------------------------------------- expand-id-application-form17 [153] 19.0% syntax-e [3] 81.0% [17] 7754(15.9%) 0(0.0%) syntax-e/no-taint (unknown source) loop [150] 100.0% -------------------------------------------------------------------------- approximate9 [2] 100.0% [18] 7314(15.0%) 0(0.0%) loop ...ix-interface-bugs/src/core/taylor.rkt:86:4 hash-ref! [151] 78.0% ??? [99] 22.0% -------------------------------------------------------------------------- taylor-cbrt [14] 3.1% parse-loop74 [19] 3.3% taylor-sqrt [12] 3.6% map [164] 27.1% hash-ref! [151] 62.9% [19] 5902(12.1%) 0(0.0%) parse-loop74 (unknown source) eval-const-expr [32] 93.7% parse-loop74 [19] 3.3% f61 [25] 3.1% -------------------------------------------------------------------------- ??? [6] 100.0% [20] 3784(7.8%) 0(0.0%) for-loop ...erface-bugs/src/core/taylor.rkt:303:27 hash-ref! [151] 100.0% -------------------------------------------------------------------------- ??? [7] 100.0% [21] 3330(6.8%) 0(0.0%) for-loop ...erface-bugs/src/core/taylor.rkt:290:52 hash-ref! [151] 76.8% ??? [33] 23.2% -------------------------------------------------------------------------- approximate9 [2] 3.6% map [164] 27.1% hash-ref! [151] 69.3% [22] 2782(5.7%) 0(0.0%) f40 (unknown source) map [164] 100.0% -------------------------------------------------------------------------- approximate9 [2] 100.0% [23] 2494(5.1%) 0(0.0%) for-loop ...terface-bugs/src/core/taylor.rkt:29:18 taylor [158] 92.5% taylor-quotient [35] 7.5% -------------------------------------------------------------------------- ??? [9] 100.0% [24] 1792(3.7%) 0(0.0%) for-loop ...rface-bugs/src/core/matcher.rkt:129:15 matcher [109] 100.0% -------------------------------------------------------------------------- parse-loop74 [19] 15.7% taylor-sqrt [12] 17.2% map [164] 17.2% hash-ref! [151] 17.9% taylor-cbrt [14] 32.0% [25] 1162(2.4%) 0(0.0%) f61 (unknown source) eval-const-expr [32] 100.0% -------------------------------------------------------------------------- ??? [11] 100.0% [26] 1008(2.1%) 0(0.0%) for-loop ...erface-bugs/src/core/taylor.rkt:410:33 for-loop [34] 100.0% -------------------------------------------------------------------------- dispatch-variable [13] 100.0% [27] 792(1.6%) 586(1.2%) substitute-variable6 (unknown source) datum->syntax6 [144] 26.0% -------------------------------------------------------------------------- ??? [9] 100.0% [28] 606(1.2%) 0(0.0%) for-loop ...erface-bugs/src/core/matcher.rkt:103:4 foldl [36] 100.0% -------------------------------------------------------------------------- make-multiplication-node [15] 100.0% [29] 200(0.4%) 0(0.0%) make-multiplication-subnode ...re/reduce.rkt:242:0 for-loop [37] 100.0% -------------------------------------------------------------------------- expand-implicit [8] 100.0% [30] 164(0.3%) 164(0.3%) binding-lookup52 (unknown source) -------------------------------------------------------------------------- profile-thunk16 [16] 100.0% [31] 48822(100.0%) 0(0.0%) run ...et-7.5/share/pkgs/profile-lib/main.rkt:39:2 .../more-scheme.rkt:261:28 [38] 100.0% -------------------------------------------------------------------------- f61 [25] 16.9% parse-loop74 [19] 83.1% [32] 6882(14.1%) 0(0.0%) eval-const-expr ...ace-bugs/src/programs.rkt:120:0 temp85_0 [106] 83.2% loop [150] 5.6% eval-prog [112] 5.3% eval-one-top12 [41] 2.9% eval [115] 2.9% -------------------------------------------------------------------------- ??? [4] 24.4% for-loop [21] 75.6% [33] 1376(2.8%) 0(0.0%) ??? ...x-interface-bugs/src/core/taylor.rkt:293:19 hash-ref! [151] 100.0% -------------------------------------------------------------------------- for-loop [26] 100.0% [34] 1008(2.1%) 0(0.0%) for-loop ...erface-bugs/src/core/taylor.rkt:412:39 hash-ref! [151] 100.0% -------------------------------------------------------------------------- for-loop [23] 19.9% taylor [158] 39.1% map [164] 41.0% [35] 936(1.9%) 0(0.0%) taylor-quotient ...-bugs/src/core/taylor.rkt:333:0 first-nonzero-exp [39] 100.0% -------------------------------------------------------------------------- ??? [9] 24.8% for-loop [28] 75.2% [36] 806(1.7%) 0(0.0%) foldl ....5/collects/racket/private/list.rkt:229:4 ??? [40] 100.0% -------------------------------------------------------------------------- make-multiplication-subnode [29] 100.0% [37] 200(0.4%) 0(0.0%) for-loop ...terface-bugs/src/core/reduce.rkt:244:3 map [164] 100.0% -------------------------------------------------------------------------- for-loop [108] 5.1% run [31] 94.9% [38] 48822(100.0%) 2418(5.0%) .../more-scheme.rkt:261:28 (unknown source) run-improve47 [42] 76.5% prepare-points-intervals [48] 14.0% get-final-combination [43] 2.0% ??? [159] 1.4% oracle-error [44] 0.8% ??? [99] 0.7% errors [98] 0.6% loop [150] 0.4% eval-errors [46] 0.4% -------------------------------------------------------------------------- taylor-invert [172] 28.2% taylor-quotient [35] 71.8% [39] 1304(2.7%) 0(0.0%) first-nonzero-exp ...ugs/src/core/taylor.rkt:265:0 hash-ref! [151] 100.0% -------------------------------------------------------------------------- foldl [36] 100.0% [40] 806(1.7%) 0(0.0%) ??? ...ix-interface-bugs/src/core/matcher.rkt:25:7 return/no-unsupplied [175] 49.6% fallback-update [45] 25.6% core457 [193] 24.8% -------------------------------------------------------------------------- eval-const-expr [32] 100.0% [41] 200(0.4%) 200(0.4%) eval-one-top12 (unknown source) -------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [38] 100.0% [42] 39548(81.0%) 0(0.0%) run-improve47 ...rface-bugs/src/mainloop.rkt:347:0 for-loop [47] 99.4% prepare-points-intervals [48] 0.6% -------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [38] 100.0% [43] 994(2.0%) 0(0.0%) get-final-combination ...gs/src/mainloop.rkt:372:0 infer-splitpoints [49] 100.0% -------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [38] 100.0% [44] 400(0.8%) 0(0.0%) oracle-error ...nterface-bugs/src/points.rkt:198:0 for-loop [50] 100.0% -------------------------------------------------------------------------- ??? [40] 100.0% [45] 206(0.4%) 206(0.4%) fallback-update ...s/racket/private/dict.rkt:115:2 -------------------------------------------------------------------------- .../more-scheme.rkt:261:28 [38] 100.0% [46] 198(0.4%) 0(0.0%) eval-errors ...interface-bugs/src/points.rkt:189:0 for-loop [51] 100.0% -------------------------------------------------------------------------- run-improve47 [42] 100.0% [47] 39328(80.6%) 0(0.0%) for-loop ...-interface-bugs/src/mainloop.rkt:366:4 run-iter! [52] 100.0% -------------------------------------------------------------------------- run-improve47 [42] 3.1% .../more-scheme.rkt:261:28 [38] 96.9% [48] 7076(14.5%) 0(0.0%) prepare-points-intervals ...s/src/points.rkt:120:0 loop [53] 100.0% -------------------------------------------------------------------------- get-final-combination [43] 100.0% [49] 994(2.0%) 0(0.0%) infer-splitpoints ...ugs/src/core/regimes.rkt:33:0 for-loop [54] 100.0% -------------------------------------------------------------------------- oracle-error [44] 100.0% [50] 400(0.8%) 0(0.0%) for-loop ...ix-interface-bugs/src/points.rkt:199:2 loop [150] 100.0% -------------------------------------------------------------------------- eval-errors [46] 100.0% [51] 198(0.4%) 0(0.0%) for-loop ...ix-interface-bugs/src/points.rkt:191:2 ??? [159] 100.0% -------------------------------------------------------------------------- for-loop [47] 100.0% [52] 39328(80.6%) 0(0.0%) run-iter! ...interface-bugs/src/mainloop.rkt:328:0 finalize-iter! [55] 60.7% gen-series! [56] 26.8% gen-rewrites! [58] 6.1% simplify! [59] 4.8% localize! [62] 1.6% -------------------------------------------------------------------------- prepare-points-intervals [48] 100.0% [53] 7076(14.5%) 218(0.4%) loop ...ie/fix-interface-bugs/src/points.rkt:133:4 loop [57] 74.0% ??? [60] 22.9% -------------------------------------------------------------------------- infer-splitpoints [49] 100.0% [54] 994(2.0%) 0(0.0%) for-loop ...terface-bugs/src/core/regimes.rkt:46:6 option-on-expr [61] 100.0% -------------------------------------------------------------------------- run-iter! [52] 100.0% [55] 23864(48.9%) 0(0.0%) finalize-iter! ...face-bugs/src/mainloop.rkt:279:0 ??? [63] 100.0% -------------------------------------------------------------------------- run-iter! [52] 100.0% [56] 10556(21.6%) 0(0.0%) gen-series! ...terface-bugs/src/mainloop.rkt:161:0 for-loop [64] 100.0% -------------------------------------------------------------------------- loop [53] 100.0% [57] 5236(10.7%) 386(0.8%) loop ...bie/fix-interface-bugs/src/points.rkt:79:2 real->precision [65] 39.0% ??? [67] 38.1% ??? [99] 11.7% ??? [63] 3.8% -------------------------------------------------------------------------- run-iter! [52] 100.0% [58] 2400(4.9%) 0(0.0%) gen-rewrites! ...rface-bugs/src/mainloop.rkt:184:0 for-loop [66] 83.2% for-loop [71] 16.8% -------------------------------------------------------------------------- run-iter! [52] 100.0% [59] 1896(3.9%) 0(0.0%) simplify! ...interface-bugs/src/mainloop.rkt:225:0 ??? [68] 88.0% for-loop [74] 12.0% -------------------------------------------------------------------------- loop [53] 100.0% [60] 1622(3.3%) 428(0.9%) ??? ...bie/fix-interface-bugs/src/points.rkt:113:6 sample-multi-bounded [69] 73.6% -------------------------------------------------------------------------- for-loop [54] 100.0% [61] 994(2.0%) 0(0.0%) option-on-expr ...-bugs/src/core/regimes.rkt:125:0 for-loop [72] 40.0% sort-context-on-expr [73] 39.6% for-loop [75] 20.3% -------------------------------------------------------------------------- run-iter! [52] 100.0% [62] 612(1.3%) 0(0.0%) localize! ...interface-bugs/src/mainloop.rkt:128:0 localize-error [70] 100.0% -------------------------------------------------------------------------- variable? [192] 0.8% loop [57] 0.8% finalize-iter! [55] 98.4% [63] 24264(49.7%) 400(0.8%) ??? ...contract/private/arrow-val-first.rkt:486:18 for-loop [76] 97.4% -------------------------------------------------------------------------- gen-series! [56] 100.0% [64] 10556(21.6%) 0(0.0%) for-loop ...-interface-bugs/src/mainloop.rkt:168:7 taylor-alt [77] 100.0% -------------------------------------------------------------------------- loop [57] 100.0% [65] 2044(4.2%) 0(0.0%) real->precision ...ace-bugs/src/programs.rkt:94:11 ??? [99] 100.0% -------------------------------------------------------------------------- gen-rewrites! [58] 100.0% [66] 1998(4.1%) 0(0.0%) for-loop ...interface-bugs/src/mainloop.rkt:192:11 rewrite-expression-head24 [78] 100.0% -------------------------------------------------------------------------- loop [57] 100.0% [67] 1996(4.1%) 400(0.8%) ??? ...tract/private/arrow-higher-order.rkt:379:33 ival-div [81] 29.6% ival-exp [83] 20.0% ival-sub [84] 19.9% ival-add [86] 10.4% -------------------------------------------------------------------------- simplify! [59] 100.0% [68] 1668(3.4%) 0(0.0%) ??? ...x-interface-bugs/src/core/simplify.rkt:42:0 egraph-run [79] 89.0% loop [150] 11.0% -------------------------------------------------------------------------- ??? [60] 100.0% [69] 1194(2.4%) 402(0.8%) sample-multi-bounded ...e-bugs/src/points.rkt:14:0 random-ranges [80] 49.7% for-loop [87] 16.6% -------------------------------------------------------------------------- localize! [62] 100.0% [70] 612(1.3%) 0(0.0%) localize-error ...-bugs/src/core/localize.rkt:63:0 hash-ref! [151] 100.0% -------------------------------------------------------------------------- gen-rewrites! [58] 100.0% [71] 402(0.8%) 0(0.0%) for-loop ...-interface-bugs/src/mainloop.rkt:209:4 for-loop [82] 100.0% -------------------------------------------------------------------------- option-on-expr [61] 100.0% [72] 398(0.8%) 0(0.0%) for-loop ...erface-bugs/src/core/regimes.rkt:136:4 errors [98] 100.0% -------------------------------------------------------------------------- option-on-expr [61] 100.0% [73] 394(0.8%) 0(0.0%) sort-context-on-expr ...src/core/regimes.rkt:118:0 temp85_0 [106] 50.3% ??? [88] 49.7% -------------------------------------------------------------------------- simplify! [59] 100.0% [74] 228(0.5%) 0(0.0%) for-loop ...-interface-bugs/src/mainloop.rkt:263:6 for-loop [85] 100.0% -------------------------------------------------------------------------- option-on-expr [61] 100.0% [75] 202(0.4%) 0(0.0%) for-loop ...rface-bugs/src/core/regimes.rkt:131:20 ??? [99] 100.0% -------------------------------------------------------------------------- ??? [63] 100.0% [76] 23640(48.4%) 202(0.4%) for-loop ...rface-bugs/src/core/alt-table.rkt:55:2 atab-add-altn [89] 64.1% errors [98] 27.9% override-at-pnts [101] 4.5% for-loop [103] 1.7% -------------------------------------------------------------------------- for-loop [64] 100.0% [77] 10556(21.6%) 0(0.0%) taylor-alt ...nterface-bugs/src/mainloop.rkt:147:0 for-loop [90] 100.0% -------------------------------------------------------------------------- for-loop [66] 100.0% [78] 1998(4.1%) 0(0.0%) rewrite-expression-head24 ...core/matcher.rkt:85:0 rewriter [91] 100.0% -------------------------------------------------------------------------- ??? [68] 100.0% [79] 1484(3.0%) 0(0.0%) egraph-run .../pkgs/egg-herbie-linux/main.rkt:49:0 egraph-add-exprs [92] 100.0% -------------------------------------------------------------------------- sample-multi-bounded [69] 100.0% [80] 594(1.2%) 0(0.0%) random-ranges ...terface-bugs/src/common.rkt:164:0 cons/c [94] 67.3% build--> [97] 32.7% -------------------------------------------------------------------------- ??? [67] 100.0% [81] 590(1.2%) 398(0.8%) ival-div ...terface-bugs/src/biginterval.rkt:156:0 bfadd [187] 32.5% -------------------------------------------------------------------------- for-loop [71] 100.0% [82] 402(0.8%) 0(0.0%) for-loop ...-interface-bugs/src/mainloop.rkt:210:6 change-apply [93] 100.0% -------------------------------------------------------------------------- ??? [67] 100.0% [83] 400(0.8%) 200(0.4%) ival-exp ...terface-bugs/src/biginterval.rkt:192:0 bfexp [95] 50.0% -------------------------------------------------------------------------- ??? [67] 100.0% [84] 398(0.8%) 0(0.0%) ival-sub ...terface-bugs/src/biginterval.rkt:108:0 bfadd [187] 100.0% -------------------------------------------------------------------------- for-loop [74] 100.0% [85] 228(0.5%) 228(0.5%) for-loop ...-interface-bugs/src/mainloop.rkt:264:8 -------------------------------------------------------------------------- ??? [67] 100.0% [86] 208(0.4%) 0(0.0%) ival-add ...terface-bugs/src/biginterval.rkt:102:0 bfadd [187] 100.0% -------------------------------------------------------------------------- sample-multi-bounded [69] 100.0% [87] 198(0.4%) 198(0.4%) for-loop ...fix-interface-bugs/src/points.rkt:20:4 -------------------------------------------------------------------------- sort-context-on-expr [73] 100.0% [88] 196(0.4%) 0(0.0%) ??? ...-7.5/collects/racket/private/sort.rkt:369:3 generic-sort/key [96] 100.0% -------------------------------------------------------------------------- for-loop [76] 98.5% [89] 15384(31.5%) 192(0.4%) atab-add-altn ...bugs/src/core/alt-table.rkt:203:0 errors [98] 94.8% override-at-pnts [101] 2.5% for-loop [103] 1.5% -------------------------------------------------------------------------- taylor-alt [77] 100.0% [90] 10556(21.6%) 0(0.0%) for-loop ...-interface-bugs/src/mainloop.rkt:153:6 ??? [99] 100.0% -------------------------------------------------------------------------- rewrite-expression-head24 [78] 32.1% matcher [109] 67.9% [91] 1998(4.1%) 602(1.2%) rewriter ...terface-bugs/src/core/matcher.rkt:87:2 for-loop [100] 93.5% -------------------------------------------------------------------------- egraph-run [79] 100.0% [92] 1484(3.0%) 0(0.0%) egraph-add-exprs ...gg-herbie-linux/main.rkt:111:0 ??? [102] 70.4% loop [150] 29.6% -------------------------------------------------------------------------- for-loop [82] 100.0% [93] 402(0.8%) 0(0.0%) change-apply ...ace-bugs/src/core/matcher.rkt:69:0 pattern-substitute [104] 100.0% -------------------------------------------------------------------------- random-ranges [80] 100.0% [94] 400(0.8%) 0(0.0%) cons/c .../racket/contract/private/guts.rkt:500:15 coerce-contract [197] 100.0% -------------------------------------------------------------------------- ival-exp [83] 100.0% [95] 200(0.4%) 0(0.0%) bfexp ...-lib/math/private/bigfloat/mpfr.rkt:632:4 new-mpfr [120] 100.0% -------------------------------------------------------------------------- ??? [88] 100.0% [96] 196(0.4%) 0(0.0%) generic-sort/key .../racket/private/sort.rkt:156:2 copying-mergesort [105] 100.0% -------------------------------------------------------------------------- random-ranges [80] 100.0% [97] 194(0.4%) 194(0.4%) build--> ...act/private/arrow-val-first.rkt:1214:0 -------------------------------------------------------------------------- for-loop [72] 1.8% .../more-scheme.rkt:261:28 [38] 2.8% for-loop [76] 29.7% atab-add-altn [89] 65.7% [98] 22204(45.5%) 0(0.0%) errors .../fix-interface-bugs/src/points.rkt:211:0 temp85_0 [106] 66.8% for-loop [108] 26.0% eval-prog [112] 4.5% eval [115] 1.7% loop [150] 0.9% -------------------------------------------------------------------------- for-loop [75] 1.4% loop [18] 3.8% loop [57] 4.3% .../more-scheme.rkt:261:28 [38] 4.5% ??? [5] 13.3% real->precision [65] 14.3% location-do [107] 28.5% for-loop [90] 28.5% [99] 14258(29.2%) 1664(3.4%) ??? ...tract/private/arrow-higher-order.rkt:375:33 location-do [107] 28.5% approximate9 [2] 28.5% hash-ref! [151] 17.1% bf [111] 10.0% ival-mult [114] 4.3% -------------------------------------------------------------------------- rewriter [91] 100.0% [100] 1998(4.1%) 0(0.0%) for-loop ...terface-bugs/src/core/matcher.rkt:89:4 matcher [109] 95.1% for-loop [116] 4.9% -------------------------------------------------------------------------- atab-add-altn [89] 26.2% for-loop [76] 73.8% [101] 1456(3.0%) 0(0.0%) override-at-pnts ...s/src/core/alt-table.rkt:138:0 for-loop [110] 100.0% -------------------------------------------------------------------------- egraph-add-exprs [92] 100.0% [102] 1044(2.1%) 0(0.0%) ??? ...-interface-bugs/src/core/simplify.rkt:102:6 for-loop [113] 78.7% egg-run-rules [117] 21.3% -------------------------------------------------------------------------- atab-add-altn [89] 35.7% for-loop [76] 64.3% [103] 628(1.3%) 628(1.3%) for-loop ...face-bugs/src/core/alt-table.rkt:119:2 -------------------------------------------------------------------------- pattern-substitute [104] 25.1% change-apply [93] 74.9% [104] 402(0.8%) 202(0.4%) pattern-substitute ...gs/src/core/matcher.rkt:45:0 constant? [127] 49.8% pattern-substitute [104] 25.1% -------------------------------------------------------------------------- generic-sort/key [96] 33.3% copying-mergesort [105] 66.7% [105] 196(0.4%) 0(0.0%) copying-mergesort ...racket/private/sort.rkt:129:8 copying-mergesort [105] 66.7% loop [118] 33.3% -------------------------------------------------------------------------- sort-context-on-expr [73] 0.9% loop [150] 1.0% eval-const-expr [32] 27.3% errors [98] 70.8% [106] 20974(43.0%) 0(0.0%) temp85_0 (unknown source) compile15 [119] 100.0% -------------------------------------------------------------------------- ??? [99] 18.0% location-do [107] 82.0% [107] 10556(21.6%) 0(0.0%) location-do ...nterface-bugs/src/programs.rkt:63:0 location-do [107] 82.0% ??? [99] 18.0% -------------------------------------------------------------------------- errors [98] 100.0% [108] 5778(11.8%) 788(1.6%) for-loop ...ix-interface-bugs/src/points.rkt:213:2 .../more-scheme.rkt:261:28 [38] 86.4% -------------------------------------------------------------------------- for-loop [24] 42.8% for-loop [100] 57.2% [109] 1998(4.1%) 200(0.4%) matcher ...terface-bugs/src/core/matcher.rkt:115:2 ??? [9] 57.2% rewriter [91] 41.2% -------------------------------------------------------------------------- override-at-pnts [101] 100.0% [110] 1456(3.0%) 1456(3.0%) for-loop ...ace-bugs/src/core/alt-table.rkt:139:22 -------------------------------------------------------------------------- ??? [99] 100.0% [111] 1428(2.9%) 0(0.0%) bf ...ath-lib/math/private/bigfloat/mpfr.rkt:615:2 new-mpfr [120] 72.4% ??? [190] 27.6% -------------------------------------------------------------------------- eval-const-expr [32] 26.7% errors [98] 73.3% [112] 1376(2.8%) 208(0.4%) eval-prog ...-interface-bugs/src/programs.rkt:82:0 inductor [121] 41.6% hash-ref! [151] 28.5% for-loop [124] 14.8% -------------------------------------------------------------------------- ??? [102] 100.0% [113] 822(1.7%) 822(1.7%) for-loop ...rface-bugs/src/core/simplify.rkt:121:2 -------------------------------------------------------------------------- ??? [99] 100.0% [114] 610(1.2%) 0(0.0%) ival-mult ...erface-bugs/src/biginterval.rkt:120:0 bfadd [187] 100.0% -------------------------------------------------------------------------- eval-const-expr [32] 34.8% errors [98] 65.2% [115] 574(1.2%) 0(0.0%) eval (unknown source) datum->syntax6 [144] 65.2% add-ns-scopes [125] 34.8% -------------------------------------------------------------------------- for-loop [100] 100.0% [116] 390(0.8%) 0(0.0%) for-loop ...terface-bugs/src/core/matcher.rkt:96:8 fix-up-variables [122] 100.0% -------------------------------------------------------------------------- ??? [102] 100.0% [117] 222(0.5%) 0(0.0%) egg-run-rules ...-bugs/src/core/simplify.rkt:108:0 make-ffi-rules [123] 100.0% -------------------------------------------------------------------------- copying-mergesort [105] 100.0% [118] 196(0.4%) 196(0.4%) loop ...7.5/collects/racket/private/sort.rkt:96:12 -------------------------------------------------------------------------- temp85_0 [106] 100.0% [119] 20974(43.0%) 0(0.0%) compile15 (unknown source) temp91_0 [126] 99.0% loop [150] 1.0% -------------------------------------------------------------------------- bfexp [95] 16.2% bf [111] 83.8% [120] 1234(2.5%) 1234(2.5%) new-mpfr ...b/math/private/bigfloat/mpfr.rkt:348:0 -------------------------------------------------------------------------- inductor [121] 32.4% eval-prog [112] 67.6% [121] 572(1.2%) 0(0.0%) inductor ...-interface-bugs/src/programs.rkt:103:4 constant? [127] 32.5% inductor [121] 32.4% table-ref [130] 31.8% value? [133] 3.2% -------------------------------------------------------------------------- for-loop [116] 100.0% [122] 390(0.8%) 0(0.0%) fix-up-variables ...ugs/src/core/matcher.rkt:108:2 pattern-match [188] 51.3% for-loop [129] 48.7% -------------------------------------------------------------------------- egg-run-rules [117] 100.0% [123] 222(0.5%) 0(0.0%) make-ffi-rules ...s/egg-herbie-linux/main.rkt:28:0 for-loop [128] 100.0% -------------------------------------------------------------------------- eval-prog [112] 100.0% [124] 204(0.4%) 204(0.4%) for-loop ...interface-bugs/src/programs.rkt:114:15 -------------------------------------------------------------------------- eval [115] 100.0% [125] 200(0.4%) 0(0.0%) add-ns-scopes (unknown source) gf [152] 100.0% -------------------------------------------------------------------------- compile15 [119] 100.0% [126] 20772(42.5%) 0(0.0%) temp91_0 (unknown source) temp118_0 [131] 94.5% compile-top9 [132] 4.5% loop [150] 1.0% -------------------------------------------------------------------------- inductor [121] 48.2% pattern-substitute [104] 51.8% [127] 386(0.8%) 0(0.0%) constant? ...face-bugs/src/syntax/syntax.rkt:726:0 value? [133] 100.0% -------------------------------------------------------------------------- make-ffi-rules [123] 100.0% [128] 222(0.5%) 222(0.5%) for-loop ....5/pkgs/egg-herbie-linux/main.rkt:29:2 -------------------------------------------------------------------------- fix-up-variables [122] 100.0% [129] 190(0.4%) 0(0.0%) for-loop ...terface-bugs/src/core/matcher.rkt:41:9 for-loop [191] 100.0% -------------------------------------------------------------------------- inductor [121] 100.0% [130] 182(0.4%) 0(0.0%) table-ref ...ix-interface-bugs/src/common.rkt:33:0 dict? [134] 100.0% -------------------------------------------------------------------------- temp91_0 [126] 100.0% [131] 19630(40.2%) 0(0.0%) temp118_0 (unknown source) expand-capturing-lifts [135] 100.0% -------------------------------------------------------------------------- temp91_0 [126] 100.0% [132] 940(1.9%) 0(0.0%) compile-top9 (unknown source) compile-forms33 [136] 100.0% -------------------------------------------------------------------------- inductor [121] 34.6% constant? [127] 65.4% [133] 590(1.2%) 590(1.2%) value? ...interface-bugs/src/syntax/types.rkt:18:0 -------------------------------------------------------------------------- table-ref [130] 100.0% [134] 182(0.4%) 182(0.4%) dict? ...ollects/racket/private/generic.rkt:146:11 -------------------------------------------------------------------------- loop [150] 3.9% temp118_0 [131] 96.1% [135] 20420(41.8%) 406(0.8%) expand-capturing-lifts (unknown source) lambda-clause-expander [137] 90.3% dispatch-transformer41 [138] 5.8% loop [150] 1.0% expand-id-application-form17 [153] 1.0% -------------------------------------------------------------------------- compile-top9 [132] 100.0% [136] 940(1.9%) 184(0.4%) compile-forms33 (unknown source) for-loop [167] 80.4% -------------------------------------------------------------------------- expand-capturing-lifts [135] 100.0% [137] 18436(37.8%) 184(0.4%) lambda-clause-expander (unknown source) finish-bodys [139] 99.0% -------------------------------------------------------------------------- expand-capturing-lifts [135] 28.2% for-loop [167] 71.8% [138] 4166(8.5%) 0(0.0%) dispatch-transformer41 (unknown source) apply-transformer52 [140] 100.0% -------------------------------------------------------------------------- lambda-clause-expander [137] 11.7% for-loop [167] 88.3% [139] 18252(37.4%) 0(0.0%) finish-bodys (unknown source) for-loop [167] 100.0% -------------------------------------------------------------------------- dispatch-transformer41 [138] 100.0% [140] 4166(8.5%) 384(0.8%) apply-transformer52 (unknown source) apply-transformer-in-context [141] 43.4% loop [150] 37.7% apply-post-expansion [142] 9.7% -------------------------------------------------------------------------- apply-transformer52 [140] 100.0% [141] 1808(3.7%) 224(0.5%) apply-transformer-in-context (unknown source) parse-app [143] 44.6% ??? [145] 22.5% datum->syntax6 [144] 10.4% parse-lambda [146] 10.2% -------------------------------------------------------------------------- apply-transformer52 [140] 100.0% [142] 404(0.8%) 0(0.0%) apply-post-expansion (unknown source) gf [152] 100.0% -------------------------------------------------------------------------- apply-transformer-in-context [141]100.0% [143] 806(1.7%) 606(1.2%) parse-app ...collects/racket/private/kw.rkt:1142:2 syntax->list [149] 24.8% -------------------------------------------------------------------------- apply-transformer-in-context [141] 24.5% substitute-variable6 [27] 26.8% eval [115] 48.7% [144] 768(1.6%) 206(0.4%) datum->syntax6 (unknown source) loop [150] 73.2% -------------------------------------------------------------------------- apply-transformer-in-context [141]100.0% [145] 406(0.8%) 206(0.4%) ??? ...collects/racket/private/qq-and-or.rkt:155:9 ??? [147] 49.3% -------------------------------------------------------------------------- apply-transformer-in-context [141]100.0% [146] 184(0.4%) 0(0.0%) parse-lambda ...llects/racket/private/kw.rkt:619:2 simple-args? [148] 100.0% -------------------------------------------------------------------------- ??? [145] 100.0% [147] 200(0.4%) 0(0.0%) ??? ...ollects/racket/private/qq-and-or.rkt:164:21 syntax->list [149] 100.0% -------------------------------------------------------------------------- parse-lambda [146] 100.0% [148] 184(0.4%) 184(0.4%) simple-args? ...llects/racket/private/kw.rkt:532:2 -------------------------------------------------------------------------- ??? [147] 50.0% parse-app [143] 50.0% [149] 400(0.8%) 0(0.0%) syntax->list (unknown source) loop [150] 100.0% -------------------------------------------------------------------------- errors [98] 0.0% datum->syntax6 [144] 0.1% egraph-add-exprs [92] 0.1% ??? [68] 0.3% expand-capturing-lifts [135] 0.8% compile15 [119] 0.8% gf [152] 1.3% syntax->list [149] 1.5% temp91_0 [126] 1.5% .../more-scheme.rkt:261:28 [38] 1.5% eval-const-expr [32] 1.9% ??? [163] 2.9% for-loop [50] 3.0% loop [150] 10.2% apply-transformer52 [140] 11.0% for-loop [167] 12.9% syntax-e/no-taint [17] 50.2% [150] 13308(27.3%) 2212(4.5%) loop (unknown source) gf [152] 51.0% expand-id-application-form17 [153] 11.4% core-form-sym [154] 10.2% loop [150] 10.2% ??? [155] 3.0% expand-capturing-lifts [135] 2.7% hash-ref! [151] 2.4% syntax-e [3] 2.3% temp85_0 [106] 1.5% -------------------------------------------------------------------------- localize-error [70] 0.7% eval-prog [112] 0.9% for-loop [34] 2.5% loop [150] 3.3% ??? [33] 3.8% map [164] 5.8% for-loop [21] 7.9% first-nonzero-exp [39] 8.9% for-loop [20] 10.0% ??? [4] 11.0% loop [18] 11.4% ??? [5] 15.4% ??? [99] 16.7% [151] 9438(19.3%) 192(0.4%) hash-ref! .../racket/private/more-scheme.rkt:376:2 ??? [5] 26.8% parse-loop74 [19] 14.5% ??? [4] 12.3% ??? [7] 10.3% ??? [6] 10.0% parse-loop30 [162] 6.5% f40 [22] 5.0% taylor [158] 4.4% ??? [163] 4.0% ??? [11] 2.5% simplify* [171] 1.0% simplify-node [169] 0.3% make-multiplication-node [15] 0.2% f61 [25] 0.2% -------------------------------------------------------------------------- apply-post-expansion [142] 1.6% add-ns-scopes [125] 2.4% loop [150] 96.0% [152] 8358(17.1%) 796(1.6%) gf (unknown source) propagation-apply [157] 58.0% propagation-merge [160] 18.9% propagation-apply-shifted [161] 8.8% loop [150] 4.8% -------------------------------------------------------------------------- expand-capturing-lifts [135] 8.1% loop [150] 91.9% [153] 2482(5.1%) 0(0.0%) expand-id-application-form17 (unknown source) syntax-e/no-taint [17] 59.2% resolve+shift28 [156] 40.8% -------------------------------------------------------------------------- loop [150] 100.0% [154] 1364(2.8%) 0(0.0%) core-form-sym (unknown source) resolve+shift28 [156] 100.0% -------------------------------------------------------------------------- loop [150] 100.0% [155] 400(0.8%) 0(0.0%) ??? ...ie/fix-interface-bugs/src/points.rkt:200:26 ??? [159] 100.0% -------------------------------------------------------------------------- expand-identifier [10] 18.0% expand-id-application-form17 [153] 19.0% core-form-sym [154] 25.7% expand-implicit [8] 37.3% [156] 5314(10.9%) 776(1.6%) resolve+shift28 (unknown source) fallback-loop [165] 85.4% -------------------------------------------------------------------------- gf [152] 100.0% [157] 4844(9.9%) 4844(9.9%) propagation-apply (unknown source) -------------------------------------------------------------------------- approximate9 [2] 1.9% for-loop [23] 10.3% hash-ref! [151] 18.5% map [164] 29.0% taylor [158] 40.2% [158] 4026(8.2%) 562(1.2%) taylor ...interface-bugs/src/core/taylor.rkt:169:0 taylor [158] 40.2% map [164] 33.3% debug-print [166] 5.4% taylor-sqrt [12] 3.8% taylor-cbrt [14] 2.0% taylor-quotient [35] 1.9% -------------------------------------------------------------------------- for-loop [51] 10.2% ??? [155] 20.6% .../more-scheme.rkt:261:28 [38] 69.2% [159] 1942(4.0%) 1590(3.3%) ??? ...interface-bugs/src/syntax/syntax.rkt:214:17 return/no-unsupplied [175] 18.1% -------------------------------------------------------------------------- gf [152] 100.0% [160] 1578(3.2%) 1578(3.2%) propagation-merge (unknown source) -------------------------------------------------------------------------- gf [152] 100.0% [161] 736(1.5%) 736(1.5%) propagation-apply-shifted (unknown source) -------------------------------------------------------------------------- hash-ref! [151] 100.0% [162] 612(1.3%) 0(0.0%) parse-loop30 (unknown source) map [164] 100.0% -------------------------------------------------------------------------- hash-ref! [151] 100.0% [163] 392(0.8%) 0(0.0%) ??? ...e/fix-interface-bugs/src/programs.rkt:178:5 loop [150] 100.0% -------------------------------------------------------------------------- for-loop [37] 2.9% parse-loop30 [162] 8.9% f40 [22] 40.6% taylor [158] 47.5% [164] 6850(14.0%) 200(0.4%) map ...t-7.5/collects/racket/private/map.rkt:35:13 taylor [158] 42.5% parse-loop74 [19] 19.4% f40 [22] 11.0% hash-ref! [151] 7.9% f61 [25] 2.9% parse-loop49 [173] 2.9% taylor-invert [172] 2.7% taylor-quotient [35] 2.3% simplify* [171] 1.6% simplify-node [169] 1.5% ??? [177] 1.3% loop [168] 1.0% -------------------------------------------------------------------------- resolve+shift28 [156] 100.0% [165] 4538(9.3%) 200(0.4%) fallback-loop (unknown source) for-loop [167] 95.6% -------------------------------------------------------------------------- taylor [158] 100.0% [166] 782(1.6%) 186(0.4%) debug-print ...-interface-bugs/src/debug.rkt:110:0 ??? [170] 52.2% build-list [174] 24.0% -------------------------------------------------------------------------- fallback-loop [165] 1.4% compile-forms33 [136] 4.0% for-loop [167] 10.0% finish-bodys [139] 84.6% [167] 19008(38.9%) 6916(14.2%) for-loop (unknown source) finish-bodys [139] 76.9% for-loop [167] 10.0% compile-module-linklet57 [176] 4.0% dispatch-transformer41 [138] 3.6% syntax-e [3] 1.0% loop [150] 0.8% expand-implicit [8] 0.6% dispatch-variable [13] 0.4% expand-identifier [10] 0.2% -------------------------------------------------------------------------- map [164] 10.4% loop [168] 89.6% [168] 612(1.3%) 208(0.4%) loop ...-7.5/collects/racket/private/map.rkt:40:19 loop [168] 89.6% ??? [182] 6.6% bf* [179] 3.0% -------------------------------------------------------------------------- hash-ref! [151] 31.7% taylor-sqrt [12] 33.8% map [164] 34.5% [169] 580(1.2%) 0(0.0%) simplify-node ...ace-bugs/src/core/reduce.rkt:46:0 gather-multiplicative-terms [178] 68.3% append-map [181] 31.7% -------------------------------------------------------------------------- debug-print [166] 100.0% [170] 408(0.8%) 208(0.4%) ??? .../contract/private/arrow-val-first.rkt:555:3 keyword-apply [180] 49.0% -------------------------------------------------------------------------- hash-ref! [151] 46.3% map [164] 53.7% [171] 402(0.8%) 186(0.4%) simplify* ...terface-bugs/src/core/reduce.rkt:29:0 return/no-unsupplied [175] 53.7% -------------------------------------------------------------------------- map [164] 50.0% approximate9 [2] 50.0% [172] 368(0.8%) 0(0.0%) taylor-invert ...ce-bugs/src/core/taylor.rkt:317:0 first-nonzero-exp [39] 100.0% -------------------------------------------------------------------------- map [164] 100.0% [173] 200(0.4%) 0(0.0%) parse-loop49 (unknown source) ??? [177] 100.0% -------------------------------------------------------------------------- debug-print [166] 100.0% [174] 188(0.4%) 188(0.4%) build-list ...llects/racket/private/list.rkt:296:2 -------------------------------------------------------------------------- simplify* [171] 22.3% ??? [159] 36.4% ??? [40] 41.3% [175] 968(2.0%) 768(1.6%) return/no-unsupplied ...ct/private/arr-i.rkt:566:0 filter [185] 20.7% -------------------------------------------------------------------------- for-loop [167] 100.0% [176] 756(1.5%) 756(1.5%) compile-module-linklet57 (unknown source) -------------------------------------------------------------------------- parse-loop49 [173] 35.3% map [164] 64.7% [177] 566(1.2%) 184(0.4%) ??? ...fix-interface-bugs/src/core/reduce.rkt:57:5 for-loop [184] 67.5% -------------------------------------------------------------------------- simplify-node [169] 100.0% [178] 396(0.8%) 0(0.0%) gather-multiplicative-terms ...re/reduce.rkt:110:0 do-curry [183] 100.0% -------------------------------------------------------------------------- loop [168] 100.0% [179] 202(0.4%) 0(0.0%) bf* ...ath/private/bigfloat/bigfloat-mpfr.rkt:95:0 ??? [182] 100.0% -------------------------------------------------------------------------- ??? [170] 100.0% [180] 200(0.4%) 200(0.4%) keyword-apply ...lects/racket/private/kw.rkt:455:2 -------------------------------------------------------------------------- simplify-node [169] 100.0% [181] 184(0.4%) 0(0.0%) append-map ...t-7.5/collects/racket/list.rkt:586:2 gather-additive-terms6 [186] 100.0% -------------------------------------------------------------------------- loop [168] 50.0% bf* [179] 50.0% [182] 404(0.8%) 202(0.4%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 bfadd [187] 50.0% -------------------------------------------------------------------------- gather-multiplicative-terms [178] 100.0% [183] 396(0.8%) 396(0.8%) do-curry ...-7.5/collects/racket/function.rkt:71:2 -------------------------------------------------------------------------- ??? [177] 100.0% [184] 382(0.8%) 0(0.0%) for-loop ...nterface-bugs/src/core/reduce.rkt:58:7 pattern-match [188] 100.0% -------------------------------------------------------------------------- return/no-unsupplied [175] 100.0% [185] 200(0.4%) 200(0.4%) filter ...5/collects/racket/private/list.rkt:256:2 -------------------------------------------------------------------------- append-map [181] 100.0% [186] 184(0.4%) 0(0.0%) gather-additive-terms6 ...src/core/reduce.rkt:68:0 parse-loop368 [189] 100.0% -------------------------------------------------------------------------- ival-div [81] 11.9% ??? [182] 12.5% ival-add [86] 12.9% ival-sub [84] 24.7% ival-mult [114] 37.9% [187] 1610(3.3%) 402(0.8%) bfadd ...-lib/math/private/bigfloat/mpfr.rkt:835:4 ??? [190] 75.0% -------------------------------------------------------------------------- pattern-match [188] 17.2% fix-up-variables [122] 17.2% for-loop [184] 65.6% [188] 582(1.2%) 0(0.0%) pattern-match ...ce-bugs/src/core/matcher.rkt:29:0 for-loop [191] 65.6% pattern-match [188] 17.2% variable? [192] 17.2% -------------------------------------------------------------------------- gather-additive-terms6 [186] 100.0% [189] 184(0.4%) 184(0.4%) parse-loop368 (unknown source) -------------------------------------------------------------------------- bf [111] 24.6% bfadd [187] 75.4% [190] 1602(3.3%) 1602(3.3%) ??? /opt/racket-7.5/collects/ffi/unsafe.rkt:938:4 -------------------------------------------------------------------------- for-loop [129] 33.2% pattern-match [188] 66.8% [191] 572(1.2%) 0(0.0%) for-loop ...terface-bugs/src/core/matcher.rkt:26:9 core457 [193] 100.0% -------------------------------------------------------------------------- pattern-match [188] 100.0% [192] 200(0.4%) 0(0.0%) variable? ...face-bugs/src/syntax/syntax.rkt:729:0 ??? [63] 100.0% -------------------------------------------------------------------------- ??? [40] 25.9% for-loop [191] 74.1% [193] 772(1.6%) 0(0.0%) core457 ...acket/contract/private/arr-i.rkt:976:19 or/c [194] 50.5% un-dep/maybe-chaperone [195] 25.9% build-unary-very-simple--> [196] 23.6% -------------------------------------------------------------------------- core457 [193] 100.0% [194] 390(0.8%) 190(0.4%) or/c ...lects/racket/contract/private/orc.rkt:16:2 loop [198] 51.3% -------------------------------------------------------------------------- core457 [193] 100.0% [195] 200(0.4%) 0(0.0%) un-dep/maybe-chaperone ...private/arr-i.rkt:1137:2 ??? [199] 100.0% -------------------------------------------------------------------------- core457 [193] 100.0% [196] 182(0.4%) 0(0.0%) build-unary-very-simple--> ...val-first.rkt:1150:0 coerce-contract [197] 100.0% -------------------------------------------------------------------------- build-unary-very-simple--> [196] 31.3% cons/c [94] 68.7% [197] 582(1.2%) 0(0.0%) coerce-contract ...contract/private/guts.rkt:307:0 coerce-contract/f [200] 100.0% -------------------------------------------------------------------------- or/c [194] 100.0% [198] 200(0.4%) 0(0.0%) loop ...lects/racket/contract/private/orc.rkt:76:5 coerce-flat-contract [201] 100.0% -------------------------------------------------------------------------- un-dep/maybe-chaperone [195] 100.0% [199] 200(0.4%) 0(0.0%) ??? ...cts/racket/contract/private/guts.rkt:835:10 ??? [202] 100.0% -------------------------------------------------------------------------- coerce-contract [197] 100.0% [200] 582(1.2%) 182(0.4%) coerce-contract/f ...ntract/private/guts.rkt:372:0 coerce-simple-value [203] 68.7% -------------------------------------------------------------------------- loop [198] 100.0% [201] 200(0.4%) 200(0.4%) coerce-flat-contract ...act/private/guts.rkt:263:0 -------------------------------------------------------------------------- ??? [199] 100.0% [202] 200(0.4%) 0(0.0%) ??? ...ntract/private/arrow-higher-order.rkt:575:2 build-subcontract-late-negs [204] 100.0% -------------------------------------------------------------------------- coerce-contract/f [200] 100.0% [203] 400(0.8%) 400(0.8%) coerce-simple-value ...ract/private/guts.rkt:385:0 -------------------------------------------------------------------------- ??? [202] 100.0% [204] 200(0.4%) 200(0.4%) build-subcontract-late-negs ...her-order.rkt:711:0 --------------------------------------------------------------------------