%------------------------------------------------------------------------------ % File : ePrincess---1.0 % Problem : SEU121+2 : TPTP v8.1.0. Released v3.3.0. % Transfm : none % Format : tptp:raw % Command : ePrincess-casc -timeout=%d %s % Computer : n027.cluster.edu % Model : x86_64 x86_64 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz % Memory : 8042.1875MB % OS : Linux 3.10.0-693.el7.x86_64 % CPULimit : 300s % WCLimit : 600s % DateTime : Tue Jul 19 08:46:43 EDT 2022 % Result : Theorem 3.26s 1.43s % Output : Proof 4.33s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.04/0.12 % Problem : SEU121+2 : TPTP v8.1.0. Released v3.3.0. % 0.04/0.12 % Command : ePrincess-casc -timeout=%d %s % 0.13/0.33 % Computer : n027.cluster.edu % 0.13/0.33 % Model : x86_64 x86_64 % 0.13/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.13/0.33 % Memory : 8042.1875MB % 0.13/0.33 % OS : Linux 3.10.0-693.el7.x86_64 % 0.13/0.33 % CPULimit : 300 % 0.13/0.33 % WCLimit : 600 % 0.13/0.33 % DateTime : Sun Jun 19 11:59:24 EDT 2022 % 0.13/0.33 % CPUTime : % 0.57/0.58 ____ _ % 0.57/0.58 ___ / __ \_____(_)___ ________ __________ % 0.57/0.58 / _ \/ /_/ / ___/ / __ \/ ___/ _ \/ ___/ ___/ % 0.57/0.58 / __/ ____/ / / / / / / /__/ __(__ |__ ) % 0.57/0.58 \___/_/ /_/ /_/_/ /_/\___/\___/____/____/ % 0.57/0.58 % 0.57/0.58 A Theorem Prover for First-Order Logic % 0.57/0.58 (ePrincess v.1.0) % 0.57/0.58 % 0.57/0.58 (c) Philipp Rümmer, 2009-2015 % 0.57/0.58 (c) Peter Backeman, 2014-2015 % 0.57/0.58 (contributions by Angelo Brillout, Peter Baumgartner) % 0.57/0.58 Free software under GNU Lesser General Public License (LGPL). % 0.57/0.58 Bug reports to peter@backeman.se % 0.57/0.58 % 0.57/0.58 For more information, visit http://user.uu.se/~petba168/breu/ % 0.57/0.58 % 0.57/0.58 Loading /export/starexec/sandbox2/benchmark/theBenchmark.p ... % 0.63/0.63 Prover 0: Options: -triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMaximal -resolutionMethod=nonUnifying +ignoreQuantifiers -generateTriggers=all % 1.48/0.91 Prover 0: Preprocessing ... % 1.78/1.08 Prover 0: Warning: ignoring some quantifiers % 1.96/1.10 Prover 0: Constructing countermodel ... % 2.52/1.23 Prover 0: gave up % 2.52/1.24 Prover 1: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -resolutionMethod=normal +ignoreQuantifiers -generateTriggers=all % 2.52/1.26 Prover 1: Preprocessing ... % 2.94/1.36 Prover 1: Warning: ignoring some quantifiers % 2.94/1.37 Prover 1: Constructing countermodel ... % 3.26/1.43 Prover 1: proved (194ms) % 3.26/1.43 % 3.26/1.43 No countermodel exists, formula is valid % 3.26/1.43 % SZS status Theorem for theBenchmark % 3.26/1.43 % 3.26/1.43 Generating proof ... Warning: ignoring some quantifiers % 4.33/1.63 found it (size 13) % 4.33/1.63 % 4.33/1.63 % SZS output start Proof for theBenchmark % 4.33/1.63 Assumed formulas after preprocessing and simplification: % 4.33/1.63 | (0) ? [v0] : ? [v1] : ? [v2] : ? [v3] : ? [v4] : ? [v5] : ? [v6] : ( ~ (v5 = 0) & ~ (v3 = 0) & empty(v6) = 0 & empty(v4) = v5 & empty(empty_set) = 0 & subset(v1, v2) = 0 & subset(v0, v2) = v3 & subset(v0, v1) = 0 & ! [v7] : ! [v8] : ! [v9] : ! [v10] : ! [v11] : ( ~ (set_intersection2(v7, v8) = v9) | ~ (in(v10, v7) = v11) | ? [v12] : ? [v13] : (in(v10, v9) = v12 & in(v10, v8) = v13 & ( ~ (v12 = 0) | (v13 = 0 & v11 = 0)))) & ! [v7] : ! [v8] : ! [v9] : ! [v10] : (v8 = v7 | ~ (disjoint(v10, v9) = v8) | ~ (disjoint(v10, v9) = v7)) & ! [v7] : ! [v8] : ! [v9] : ! [v10] : (v8 = v7 | ~ (subset(v10, v9) = v8) | ~ (subset(v10, v9) = v7)) & ! [v7] : ! [v8] : ! [v9] : ! [v10] : (v8 = v7 | ~ (set_intersection2(v10, v9) = v8) | ~ (set_intersection2(v10, v9) = v7)) & ! [v7] : ! [v8] : ! [v9] : ! [v10] : (v8 = v7 | ~ (in(v10, v9) = v8) | ~ (in(v10, v9) = v7)) & ! [v7] : ! [v8] : ! [v9] : ! [v10] : ( ~ (set_intersection2(v7, v8) = v9) | ~ (in(v10, v7) = 0) | ? [v11] : ? [v12] : (in(v10, v9) = v12 & in(v10, v8) = v11 & ( ~ (v11 = 0) | v12 = 0))) & ? [v7] : ! [v8] : ! [v9] : ! [v10] : (v10 = v7 | ~ (set_intersection2(v8, v9) = v10) | ? [v11] : ? [v12] : ? [v13] : ? [v14] : (in(v11, v9) = v14 & in(v11, v8) = v13 & in(v11, v7) = v12 & ( ~ (v14 = 0) | ~ (v13 = 0) | ~ (v12 = 0)) & (v12 = 0 | (v14 = 0 & v13 = 0)))) & ! [v7] : ! [v8] : ! [v9] : (v9 = 0 | ~ (disjoint(v7, v8) = v9) | ? [v10] : ? [v11] : (set_intersection2(v7, v8) = v10 & in(v11, v10) = 0)) & ! [v7] : ! [v8] : ! [v9] : (v9 = 0 | ~ (disjoint(v7, v8) = v9) | ? [v10] : ( ~ (v10 = empty_set) & set_intersection2(v7, v8) = v10)) & ! [v7] : ! [v8] : ! [v9] : (v9 = 0 | ~ (disjoint(v7, v8) = v9) | ? [v10] : (in(v10, v8) = 0 & in(v10, v7) = 0)) & ! [v7] : ! [v8] : ! [v9] : (v9 = 0 | ~ (subset(v7, v8) = v9) | ? [v10] : ? [v11] : ( ~ (v11 = 0) & in(v10, v8) = v11 & in(v10, v7) = 0)) & ! [v7] : ! [v8] : ! [v9] : (v8 = v7 | ~ (empty(v9) = v8) | ~ (empty(v9) = v7)) & ! [v7] : ! [v8] : ! [v9] : ( ~ (disjoint(v7, v8) = 0) | ~ (in(v9, v7) = 0) | ? [v10] : ( ~ (v10 = 0) & in(v9, v8) = v10)) & ! [v7] : ! [v8] : ! [v9] : ( ~ (subset(v7, v8) = 0) | ~ (in(v9, v7) = 0) | in(v9, v8) = 0) & ! [v7] : ! [v8] : ! [v9] : ( ~ (set_intersection2(v7, v8) = v9) | set_intersection2(v8, v7) = v9) & ! [v7] : ! [v8] : (v8 = v7 | ~ (empty(v8) = 0) | ~ (empty(v7) = 0)) & ! [v7] : ! [v8] : (v8 = v7 | ~ (set_intersection2(v7, v7) = v8)) & ! [v7] : ! [v8] : (v8 = 0 | ~ (subset(v7, v7) = v8)) & ! [v7] : ! [v8] : ( ~ (disjoint(v7, v8) = 0) | disjoint(v8, v7) = 0) & ! [v7] : ! [v8] : ( ~ (disjoint(v7, v8) = 0) | set_intersection2(v7, v8) = empty_set) & ! [v7] : ! [v8] : ( ~ (disjoint(v7, v8) = 0) | ? [v9] : (set_intersection2(v7, v8) = v9 & ! [v10] : ~ (in(v10, v9) = 0))) & ! [v7] : ! [v8] : ( ~ (in(v7, v8) = 0) | ? [v9] : ( ~ (v9 = 0) & empty(v8) = v9)) & ! [v7] : ! [v8] : ( ~ (in(v7, v8) = 0) | ? [v9] : ( ~ (v9 = 0) & in(v8, v7) = v9)) & ! [v7] : (v7 = empty_set | ~ (empty(v7) = 0)) & ! [v7] : ~ (in(v7, empty_set) = 0) & ? [v7] : (v7 = empty_set | ? [v8] : in(v8, v7) = 0)) % 4.33/1.67 | Instantiating (0) with all_0_0_0, all_0_1_1, all_0_2_2, all_0_3_3, all_0_4_4, all_0_5_5, all_0_6_6 yields: % 4.33/1.67 | (1) ~ (all_0_1_1 = 0) & ~ (all_0_3_3 = 0) & empty(all_0_0_0) = 0 & empty(all_0_2_2) = all_0_1_1 & empty(empty_set) = 0 & subset(all_0_5_5, all_0_4_4) = 0 & subset(all_0_6_6, all_0_4_4) = all_0_3_3 & subset(all_0_6_6, all_0_5_5) = 0 & ! [v0] : ! [v1] : ! [v2] : ! [v3] : ! [v4] : ( ~ (set_intersection2(v0, v1) = v2) | ~ (in(v3, v0) = v4) | ? [v5] : ? [v6] : (in(v3, v2) = v5 & in(v3, v1) = v6 & ( ~ (v5 = 0) | (v6 = 0 & v4 = 0)))) & ! [v0] : ! [v1] : ! [v2] : ! [v3] : (v1 = v0 | ~ (disjoint(v3, v2) = v1) | ~ (disjoint(v3, v2) = v0)) & ! [v0] : ! [v1] : ! [v2] : ! [v3] : (v1 = v0 | ~ (subset(v3, v2) = v1) | ~ (subset(v3, v2) = v0)) & ! [v0] : ! [v1] : ! [v2] : ! [v3] : (v1 = v0 | ~ (set_intersection2(v3, v2) = v1) | ~ (set_intersection2(v3, v2) = v0)) & ! [v0] : ! [v1] : ! [v2] : ! [v3] : (v1 = v0 | ~ (in(v3, v2) = v1) | ~ (in(v3, v2) = v0)) & ! [v0] : ! [v1] : ! [v2] : ! [v3] : ( ~ (set_intersection2(v0, v1) = v2) | ~ (in(v3, v0) = 0) | ? [v4] : ? [v5] : (in(v3, v2) = v5 & in(v3, v1) = v4 & ( ~ (v4 = 0) | v5 = 0))) & ? [v0] : ! [v1] : ! [v2] : ! [v3] : (v3 = v0 | ~ (set_intersection2(v1, v2) = v3) | ? [v4] : ? [v5] : ? [v6] : ? [v7] : (in(v4, v2) = v7 & in(v4, v1) = v6 & in(v4, v0) = v5 & ( ~ (v7 = 0) | ~ (v6 = 0) | ~ (v5 = 0)) & (v5 = 0 | (v7 = 0 & v6 = 0)))) & ! [v0] : ! [v1] : ! [v2] : (v2 = 0 | ~ (disjoint(v0, v1) = v2) | ? [v3] : ? [v4] : (set_intersection2(v0, v1) = v3 & in(v4, v3) = 0)) & ! [v0] : ! [v1] : ! [v2] : (v2 = 0 | ~ (disjoint(v0, v1) = v2) | ? [v3] : ( ~ (v3 = empty_set) & set_intersection2(v0, v1) = v3)) & ! [v0] : ! [v1] : ! [v2] : (v2 = 0 | ~ (disjoint(v0, v1) = v2) | ? [v3] : (in(v3, v1) = 0 & in(v3, v0) = 0)) & ! [v0] : ! [v1] : ! [v2] : (v2 = 0 | ~ (subset(v0, v1) = v2) | ? [v3] : ? [v4] : ( ~ (v4 = 0) & in(v3, v1) = v4 & in(v3, v0) = 0)) & ! [v0] : ! [v1] : ! [v2] : (v1 = v0 | ~ (empty(v2) = v1) | ~ (empty(v2) = v0)) & ! [v0] : ! [v1] : ! [v2] : ( ~ (disjoint(v0, v1) = 0) | ~ (in(v2, v0) = 0) | ? [v3] : ( ~ (v3 = 0) & in(v2, v1) = v3)) & ! [v0] : ! [v1] : ! [v2] : ( ~ (subset(v0, v1) = 0) | ~ (in(v2, v0) = 0) | in(v2, v1) = 0) & ! [v0] : ! [v1] : ! [v2] : ( ~ (set_intersection2(v0, v1) = v2) | set_intersection2(v1, v0) = v2) & ! [v0] : ! [v1] : (v1 = v0 | ~ (empty(v1) = 0) | ~ (empty(v0) = 0)) & ! [v0] : ! [v1] : (v1 = v0 | ~ (set_intersection2(v0, v0) = v1)) & ! [v0] : ! [v1] : (v1 = 0 | ~ (subset(v0, v0) = v1)) & ! [v0] : ! [v1] : ( ~ (disjoint(v0, v1) = 0) | disjoint(v1, v0) = 0) & ! [v0] : ! [v1] : ( ~ (disjoint(v0, v1) = 0) | set_intersection2(v0, v1) = empty_set) & ! [v0] : ! [v1] : ( ~ (disjoint(v0, v1) = 0) | ? [v2] : (set_intersection2(v0, v1) = v2 & ! [v3] : ~ (in(v3, v2) = 0))) & ! [v0] : ! [v1] : ( ~ (in(v0, v1) = 0) | ? [v2] : ( ~ (v2 = 0) & empty(v1) = v2)) & ! [v0] : ! [v1] : ( ~ (in(v0, v1) = 0) | ? [v2] : ( ~ (v2 = 0) & in(v1, v0) = v2)) & ! [v0] : (v0 = empty_set | ~ (empty(v0) = 0)) & ! [v0] : ~ (in(v0, empty_set) = 0) & ? [v0] : (v0 = empty_set | ? [v1] : in(v1, v0) = 0) % 4.33/1.68 | % 4.33/1.68 | Applying alpha-rule on (1) yields: % 4.33/1.68 | (2) ! [v0] : ! [v1] : (v1 = v0 | ~ (empty(v1) = 0) | ~ (empty(v0) = 0)) % 4.33/1.68 | (3) ! [v0] : ! [v1] : ( ~ (in(v0, v1) = 0) | ? [v2] : ( ~ (v2 = 0) & in(v1, v0) = v2)) % 4.33/1.68 | (4) ! [v0] : ! [v1] : ! [v2] : ! [v3] : (v1 = v0 | ~ (set_intersection2(v3, v2) = v1) | ~ (set_intersection2(v3, v2) = v0)) % 4.33/1.68 | (5) ! [v0] : ! [v1] : ( ~ (in(v0, v1) = 0) | ? [v2] : ( ~ (v2 = 0) & empty(v1) = v2)) % 4.33/1.68 | (6) ! [v0] : ! [v1] : ! [v2] : (v2 = 0 | ~ (disjoint(v0, v1) = v2) | ? [v3] : (in(v3, v1) = 0 & in(v3, v0) = 0)) % 4.33/1.68 | (7) ! [v0] : ! [v1] : ( ~ (disjoint(v0, v1) = 0) | ? [v2] : (set_intersection2(v0, v1) = v2 & ! [v3] : ~ (in(v3, v2) = 0))) % 4.33/1.68 | (8) ! [v0] : ! [v1] : ( ~ (disjoint(v0, v1) = 0) | set_intersection2(v0, v1) = empty_set) % 4.33/1.68 | (9) ! [v0] : ! [v1] : ! [v2] : ! [v3] : ! [v4] : ( ~ (set_intersection2(v0, v1) = v2) | ~ (in(v3, v0) = v4) | ? [v5] : ? [v6] : (in(v3, v2) = v5 & in(v3, v1) = v6 & ( ~ (v5 = 0) | (v6 = 0 & v4 = 0)))) % 4.33/1.68 | (10) ! [v0] : ! [v1] : ! [v2] : (v2 = 0 | ~ (disjoint(v0, v1) = v2) | ? [v3] : ? [v4] : (set_intersection2(v0, v1) = v3 & in(v4, v3) = 0)) % 4.33/1.68 | (11) ! [v0] : ! [v1] : ! [v2] : (v1 = v0 | ~ (empty(v2) = v1) | ~ (empty(v2) = v0)) % 4.33/1.68 | (12) subset(all_0_6_6, all_0_4_4) = all_0_3_3 % 4.33/1.68 | (13) empty(all_0_0_0) = 0 % 4.33/1.68 | (14) ~ (all_0_3_3 = 0) % 4.33/1.68 | (15) ! [v0] : ! [v1] : ! [v2] : ! [v3] : (v1 = v0 | ~ (in(v3, v2) = v1) | ~ (in(v3, v2) = v0)) % 4.33/1.68 | (16) ! [v0] : ! [v1] : ! [v2] : (v2 = 0 | ~ (disjoint(v0, v1) = v2) | ? [v3] : ( ~ (v3 = empty_set) & set_intersection2(v0, v1) = v3)) % 4.33/1.68 | (17) ? [v0] : (v0 = empty_set | ? [v1] : in(v1, v0) = 0) % 4.33/1.68 | (18) ! [v0] : (v0 = empty_set | ~ (empty(v0) = 0)) % 4.33/1.68 | (19) empty(all_0_2_2) = all_0_1_1 % 4.33/1.68 | (20) ! [v0] : ! [v1] : ( ~ (disjoint(v0, v1) = 0) | disjoint(v1, v0) = 0) % 4.33/1.68 | (21) ! [v0] : ! [v1] : ! [v2] : ! [v3] : (v1 = v0 | ~ (disjoint(v3, v2) = v1) | ~ (disjoint(v3, v2) = v0)) % 4.33/1.68 | (22) ! [v0] : ! [v1] : ! [v2] : ( ~ (disjoint(v0, v1) = 0) | ~ (in(v2, v0) = 0) | ? [v3] : ( ~ (v3 = 0) & in(v2, v1) = v3)) % 4.33/1.68 | (23) ! [v0] : ! [v1] : ! [v2] : ! [v3] : (v1 = v0 | ~ (subset(v3, v2) = v1) | ~ (subset(v3, v2) = v0)) % 4.33/1.68 | (24) empty(empty_set) = 0 % 4.33/1.69 | (25) ! [v0] : ! [v1] : ! [v2] : ( ~ (set_intersection2(v0, v1) = v2) | set_intersection2(v1, v0) = v2) % 4.33/1.69 | (26) ! [v0] : ! [v1] : (v1 = 0 | ~ (subset(v0, v0) = v1)) % 4.33/1.69 | (27) ! [v0] : ~ (in(v0, empty_set) = 0) % 4.33/1.69 | (28) ! [v0] : ! [v1] : ! [v2] : ! [v3] : ( ~ (set_intersection2(v0, v1) = v2) | ~ (in(v3, v0) = 0) | ? [v4] : ? [v5] : (in(v3, v2) = v5 & in(v3, v1) = v4 & ( ~ (v4 = 0) | v5 = 0))) % 4.33/1.69 | (29) ! [v0] : ! [v1] : ! [v2] : (v2 = 0 | ~ (subset(v0, v1) = v2) | ? [v3] : ? [v4] : ( ~ (v4 = 0) & in(v3, v1) = v4 & in(v3, v0) = 0)) % 4.33/1.69 | (30) subset(all_0_6_6, all_0_5_5) = 0 % 4.33/1.69 | (31) ~ (all_0_1_1 = 0) % 4.33/1.69 | (32) ! [v0] : ! [v1] : (v1 = v0 | ~ (set_intersection2(v0, v0) = v1)) % 4.33/1.69 | (33) ! [v0] : ! [v1] : ! [v2] : ( ~ (subset(v0, v1) = 0) | ~ (in(v2, v0) = 0) | in(v2, v1) = 0) % 4.33/1.69 | (34) subset(all_0_5_5, all_0_4_4) = 0 % 4.33/1.69 | (35) ? [v0] : ! [v1] : ! [v2] : ! [v3] : (v3 = v0 | ~ (set_intersection2(v1, v2) = v3) | ? [v4] : ? [v5] : ? [v6] : ? [v7] : (in(v4, v2) = v7 & in(v4, v1) = v6 & in(v4, v0) = v5 & ( ~ (v7 = 0) | ~ (v6 = 0) | ~ (v5 = 0)) & (v5 = 0 | (v7 = 0 & v6 = 0)))) % 4.33/1.69 | % 4.33/1.69 | Instantiating formula (29) with all_0_3_3, all_0_4_4, all_0_6_6 and discharging atoms subset(all_0_6_6, all_0_4_4) = all_0_3_3, yields: % 4.33/1.69 | (36) all_0_3_3 = 0 | ? [v0] : ? [v1] : ( ~ (v1 = 0) & in(v0, all_0_4_4) = v1 & in(v0, all_0_6_6) = 0) % 4.33/1.69 | % 4.33/1.69 +-Applying beta-rule and splitting (36), into two cases. % 4.33/1.69 |-Branch one: % 4.33/1.69 | (37) all_0_3_3 = 0 % 4.33/1.69 | % 4.33/1.69 | Equations (37) can reduce 14 to: % 4.33/1.69 | (38) $false % 4.33/1.69 | % 4.33/1.69 |-The branch is then unsatisfiable % 4.33/1.69 |-Branch two: % 4.33/1.69 | (14) ~ (all_0_3_3 = 0) % 4.33/1.69 | (40) ? [v0] : ? [v1] : ( ~ (v1 = 0) & in(v0, all_0_4_4) = v1 & in(v0, all_0_6_6) = 0) % 4.33/1.69 | % 4.33/1.69 | Instantiating (40) with all_29_0_9, all_29_1_10 yields: % 4.33/1.69 | (41) ~ (all_29_0_9 = 0) & in(all_29_1_10, all_0_4_4) = all_29_0_9 & in(all_29_1_10, all_0_6_6) = 0 % 4.33/1.69 | % 4.33/1.69 | Applying alpha-rule on (41) yields: % 4.33/1.69 | (42) ~ (all_29_0_9 = 0) % 4.33/1.69 | (43) in(all_29_1_10, all_0_4_4) = all_29_0_9 % 4.33/1.69 | (44) in(all_29_1_10, all_0_6_6) = 0 % 4.33/1.69 | % 4.33/1.69 | Instantiating formula (33) with all_29_1_10, all_0_5_5, all_0_6_6 and discharging atoms subset(all_0_6_6, all_0_5_5) = 0, in(all_29_1_10, all_0_6_6) = 0, yields: % 4.33/1.69 | (45) in(all_29_1_10, all_0_5_5) = 0 % 4.33/1.69 | % 4.33/1.69 | Instantiating formula (33) with all_29_1_10, all_0_4_4, all_0_5_5 and discharging atoms subset(all_0_5_5, all_0_4_4) = 0, in(all_29_1_10, all_0_5_5) = 0, yields: % 4.33/1.69 | (46) in(all_29_1_10, all_0_4_4) = 0 % 4.33/1.69 | % 4.33/1.69 | Instantiating formula (15) with all_29_1_10, all_0_4_4, 0, all_29_0_9 and discharging atoms in(all_29_1_10, all_0_4_4) = all_29_0_9, in(all_29_1_10, all_0_4_4) = 0, yields: % 4.33/1.69 | (47) all_29_0_9 = 0 % 4.33/1.69 | % 4.33/1.69 | Equations (47) can reduce 42 to: % 4.33/1.69 | (38) $false % 4.33/1.69 | % 4.33/1.69 |-The branch is then unsatisfiable % 4.33/1.69 % SZS output end Proof for theBenchmark % 4.33/1.69 % 4.33/1.69 1106ms %------------------------------------------------------------------------------