mirror of
https://github.com/AdaCore/why3.git
synced 2026-02-12 12:34:55 -08:00
3677 lines
189 KiB
XML
3677 lines
189 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN"
|
|
"https://www.why3.org/why3session.dtd">
|
|
<why3session shape_version="6">
|
|
<prover id="0" name="Alt-Ergo" version="2.6.2" timelimit="5" steplimit="0" memlimit="1000"/>
|
|
<prover id="3" name="CVC5" version="1.2.0" timelimit="5" steplimit="0" memlimit="1000"/>
|
|
<prover id="4" name="CVC4" version="1.8" timelimit="5" steplimit="0" memlimit="1000"/>
|
|
<prover id="6" name="Z3" version="4.13.2" timelimit="5" steplimit="0" memlimit="1000"/>
|
|
<file format="whyml" proved="true">
|
|
<path name=".."/><path name="exp_log.mlw"/>
|
|
<theory name="ExpLogSingle" proved="true">
|
|
<goal name="example1'vc" expl="VC for example1" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="example1'vc.0" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.042150" steps="8569"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.1" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.150198" steps="1308"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.2" expl="precondition" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.008024" steps="10669"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.3" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.214128" steps="2043"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4" expl="postcondition" proved="true">
|
|
<transf name="assert" proved="true" arg1="let t3 = log (exp (to_real y)) in
|
|
let t4 = log (exp (to_real x)) in
|
|
let t5 =
|
|
((1.0 +. eps) +. log_rel_err)
|
|
*. (((-. log (1.0 -. exp_rel_err)) *. (1.0 +. log_rel_err)) +. log_abs_err)
|
|
in
|
|
abs (to_real r -. (t4 +. t3))
|
|
<=. ((((log_rel_err +. log_rel_err) +. eps) *. (abs t4 +. abs t3))
|
|
+. (t5 +. t5))">
|
|
<goal name="example1'vc.4.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real r -. (log (exp (to_real x)) +. log (exp (to_real y))))
|
|
<=. ((((log_rel_err +. log_rel_err) +. eps)
|
|
*. (abs (log (exp (to_real x))) +. abs (log (exp (to_real y)))))
|
|
+. ((((1.0 +. eps) +. log_rel_err)
|
|
*. (((-. log (1.0 -. exp_rel_err)) *. (1.0 +. log_rel_err))
|
|
+. log_abs_err))
|
|
+. (((1.0 +. eps) +. log_rel_err)
|
|
*. (((-. log (1.0 -. exp_rel_err)) *. (1.0 +. log_rel_err))
|
|
+. log_abs_err))))">
|
|
<goal name="example1'vc.4.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_single_error_propagation" arg2="with" arg3="log_approx (exp_approx x),log_approx (exp_approx y)">
|
|
<goal name="example1'vc.4.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real (log_approx (exp_approx x)) -. log (exp (to_real x)))
|
|
<=. ((abs (log (exp (to_real x))) *. log_rel_err)
|
|
+. (((-. log (1.0 -. exp_rel_err)) *. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="example1'vc.4.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real (log_approx (exp_approx x)) -. log (exp (to_real x)))
|
|
<=. ((log_rel_err *. abs (log (exp (to_real x))))
|
|
+. (((-. log
|
|
(1.0
|
|
-. (((exp_rel_err *. exp (to_real x)) +. 0.0)
|
|
/. exp (to_real x))))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="example1'vc.4.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="log_single_error_propagation" arg2="with" arg3="exp_approx x">
|
|
<goal name="example1'vc.4.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.046267" steps="9201"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.040012" steps="9205"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.121428" steps="29526"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.171454" steps="1148"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.069814" steps="9193"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.0.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="0"><result status="valid" time="1.785560" steps="16049"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.083504" steps="210"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.1" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real (log_approx (exp_approx y)) -. log (exp (to_real y)))
|
|
<=. ((abs (log (exp (to_real y))) *. log_rel_err)
|
|
+. (((-. log (1.0 -. exp_rel_err)) *. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="example1'vc.4.0.0.1.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real (log_approx (exp_approx y)) -. log (exp (to_real y)))
|
|
<=. ((log_rel_err *. abs (log (exp (to_real y))))
|
|
+. (((-. log
|
|
(1.0
|
|
-. (((exp_rel_err *. exp (to_real y)) +. 0.0)
|
|
/. exp (to_real y))))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="example1'vc.4.0.0.1.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="log_single_error_propagation" arg2="with" arg3="exp_approx y">
|
|
<goal name="example1'vc.4.0.0.1.0.0.0" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.048169" steps="9201"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.1.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.075712" steps="177"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.1.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.135770" steps="29554"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.1.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.284735" steps="1066"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.1.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.066574" steps="9193"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.1.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="0"><result status="valid" time="1.509286" steps="14549"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.1.1" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.008196" steps="10948"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.040637" steps="152"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.062531" steps="18596"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.046847" steps="143"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.037786" steps="9193"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.243861" steps="927"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.167006" steps="927"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.066688" steps="7974"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.043319" steps="9473"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example1'vc.4.1" expl="postcondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.107027" steps="2292"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example2'vc" expl="VC for example2" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="example2'vc.0" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.044545" steps="8580"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.1" expl="precondition" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.009296" steps="10482"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.2" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.252156" steps="1805"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3" expl="postcondition" proved="true">
|
|
<transf name="assert" proved="true" arg1="let t = log (exp (to_real x) +. exp (to_real y)) in
|
|
abs (to_real r -. t)
|
|
<=. ((abs t *. log_rel_err)
|
|
+. (((-. log (1.0 -. ((exp_rel_err +. exp_rel_err) +. eps)))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="example2'vc.3.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real r -. log (exp (to_real x) +. exp (to_real y)))
|
|
<=. ((abs (log (exp (to_real x) +. exp (to_real y))) *. log_rel_err)
|
|
+. (((-. log (1.0 -. ((exp_rel_err +. exp_rel_err) +. eps)))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="example2'vc.3.0.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real r -. log (exp (to_real x) +. exp (to_real y)))
|
|
<=. ((log_rel_err *. abs (log (exp (to_real x) +. exp (to_real y))))
|
|
+. (((-. log
|
|
(1.0
|
|
-. (((((exp_rel_err +. exp_rel_err) +. eps)
|
|
*. (exp (to_real x) +. exp (to_real y)))
|
|
+. 0.0)
|
|
/. (exp (to_real x) +. exp (to_real y)))))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="example2'vc.3.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="log_single_error_propagation" arg2="with" arg3="exp_approx x ++. exp_approx y">
|
|
<goal name="example2'vc.3.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real (exp_approx x ++. exp_approx y)
|
|
-. (exp (to_real x) +. exp (to_real y)))
|
|
<=. ((((exp_rel_err +. exp_rel_err) +. eps)
|
|
*. (exp (to_real x) +. exp (to_real y)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps) +. exp_rel_err) *. 0.0)))">
|
|
<goal name="example2'vc.3.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_single_error_propagation" arg2="with" arg3="exp_approx x,exp_approx y">
|
|
<goal name="example2'vc.3.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.066878" steps="9140"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.074961" steps="142"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.217967" steps="1323"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.144757" steps="30070"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.009187" steps="10825"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.017552" steps="10825"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.055508" steps="7941"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.039359" steps="131"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.010211" steps="10821"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.050623" steps="9241"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.008058" steps="10909"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.208131" steps="863"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="0" timelimit="60"><result status="valid" time="0.268978" steps="1192"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.077891" steps="18492"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="0"><result status="valid" time="1.406515" steps="14851"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.048344" steps="222"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example2'vc.3.1" expl="postcondition" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.009826" steps="11064"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example3'vc" expl="VC for example3" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="example3'vc.0" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.131331" steps="587"/></proof>
|
|
</goal>
|
|
<goal name="example3'vc.1" expl="postcondition" proved="true">
|
|
<transf name="assert" proved="true" arg1="let t = log2 (to_real x +. to_real y) in
|
|
abs (to_real r -. t)
|
|
<=. ((abs t *. log2_error) +. ((-. log2 (1.0 -. eps)) *. (1.0 +. log2_error)))">
|
|
<goal name="example3'vc.1.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real r -. log2 (to_real x +. to_real y))
|
|
<=. ((abs (log2 (to_real x +. to_real y)) *. log2_error)
|
|
+. ((-. log2 (1.0 -. eps)) *. (1.0 +. log2_error)))">
|
|
<goal name="example3'vc.1.0.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real r -. log2 (to_real x +. to_real y))
|
|
<=. ((log2_error *. abs (log2 (to_real x +. to_real y)))
|
|
+. (((-. log2
|
|
(1.0
|
|
-. (((eps *. abs (to_real x +. to_real y)) +. 0.0)
|
|
/. (to_real x +. to_real y))))
|
|
*. (1.0 +. log2_error))
|
|
+. 0.0))">
|
|
<goal name="example3'vc.1.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="log2_single_error_propagation" arg2="with" arg3="x ++. y">
|
|
<goal name="example3'vc.1.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real (x ++. y) -. (to_real x +. to_real y))
|
|
<=. (eps *. abs (to_real x +. to_real y))">
|
|
<goal name="example3'vc.1.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.100879" steps="862"/></proof>
|
|
</goal>
|
|
<goal name="example3'vc.1.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.057635" steps="8903"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example3'vc.1.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.010022" steps="10735"/></proof>
|
|
</goal>
|
|
<goal name="example3'vc.1.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.055125" steps="9487"/></proof>
|
|
</goal>
|
|
<goal name="example3'vc.1.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.051740" steps="9507"/></proof>
|
|
</goal>
|
|
<goal name="example3'vc.1.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.040921" steps="8792"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example3'vc.1.0.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.056910" steps="227"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example3'vc.1.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.015055" steps="10874"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example3'vc.1.1" expl="postcondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.063191" steps="184"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example4'vc" expl="VC for example4" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="example4'vc.0" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.085629" steps="587"/></proof>
|
|
</goal>
|
|
<goal name="example4'vc.1" expl="postcondition" proved="true">
|
|
<transf name="assert" proved="true" arg1="let t = log10 (to_real x +. to_real y) in
|
|
abs (to_real r -. t)
|
|
<=. ((abs t *. log10_error)
|
|
+. ((-. log10 (1.0 -. eps)) *. (1.0 +. log10_error)))">
|
|
<goal name="example4'vc.1.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real r -. log10 (to_real x +. to_real y))
|
|
<=. ((abs (log10 (to_real x +. to_real y)) *. log10_error)
|
|
+. ((-. log10 (1.0 -. eps)) *. (1.0 +. log10_error)))">
|
|
<goal name="example4'vc.1.0.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real r -. log10 (to_real x +. to_real y))
|
|
<=. ((log10_error *. abs (log10 (to_real x +. to_real y)))
|
|
+. (((-. log10
|
|
(1.0
|
|
-. (((eps *. abs (to_real x +. to_real y)) +. 0.0)
|
|
/. (to_real x +. to_real y))))
|
|
*. (1.0 +. log10_error))
|
|
+. 0.0))">
|
|
<goal name="example4'vc.1.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="log10_single_error_propagation" arg2="with" arg3="x ++. y">
|
|
<goal name="example4'vc.1.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real (x ++. y) -. (to_real x +. to_real y))
|
|
<=. (eps *. abs (to_real x +. to_real y))">
|
|
<goal name="example4'vc.1.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.112458" steps="843"/></proof>
|
|
</goal>
|
|
<goal name="example4'vc.1.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.038597" steps="8903"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example4'vc.1.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.063608" steps="18166"/></proof>
|
|
</goal>
|
|
<goal name="example4'vc.1.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.039335" steps="110"/></proof>
|
|
</goal>
|
|
<goal name="example4'vc.1.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.049054" steps="120"/></proof>
|
|
</goal>
|
|
<goal name="example4'vc.1.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.083223" steps="18145"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example4'vc.1.0.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.080328" steps="227"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example4'vc.1.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.074834" steps="8945"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example4'vc.1.1" expl="postcondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.059466" steps="8945"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
</theory>
|
|
<theory name="ExpLogDouble" proved="true">
|
|
<goal name="exp_approx_pos'vc" expl="VC for exp_approx_pos" proved="true">
|
|
<proof prover="0"><result status="valid" time="1.450402" steps="12056"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc" expl="VC for example1" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="example1'vc.0" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.071508" steps="8829"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.1" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.043825" steps="802"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.2" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.077216" steps="124"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.3" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.235828" steps="1043"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4" expl="postcondition" proved="true">
|
|
<transf name="assert" proved="true" arg1="let t3 = log (exp (to_real y)) in
|
|
let t4 = log (exp (to_real x)) in
|
|
let t5 =
|
|
((1.0 +. eps) +. log_rel_err)
|
|
*. (((-. log (1.0 -. exp_rel_err)) *. (1.0 +. log_rel_err)) +. log_abs_err)
|
|
in
|
|
abs (to_real r -. (t4 +. t3))
|
|
<=. ((((log_rel_err +. log_rel_err) +. eps) *. (abs t4 +. abs t3))
|
|
+. (t5 +. t5))">
|
|
<goal name="example1'vc.4.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real r -. (log (exp (to_real x)) +. log (exp (to_real y))))
|
|
<=. ((((log_rel_err +. log_rel_err) +. eps)
|
|
*. (abs (log (exp (to_real x))) +. abs (log (exp (to_real y)))))
|
|
+. ((((1.0 +. eps) +. log_rel_err)
|
|
*. (((-. log (1.0 -. exp_rel_err)) *. (1.0 +. log_rel_err))
|
|
+. log_abs_err))
|
|
+. (((1.0 +. eps) +. log_rel_err)
|
|
*. (((-. log (1.0 -. exp_rel_err)) *. (1.0 +. log_rel_err))
|
|
+. log_abs_err))))">
|
|
<goal name="example1'vc.4.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="log_approx (exp_approx x),log_approx (exp_approx y)">
|
|
<goal name="example1'vc.4.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real (log_approx (exp_approx x)) -. log (exp (to_real x)))
|
|
<=. ((abs (log (exp (to_real x))) *. log_rel_err)
|
|
+. (((-. log (1.0 -. exp_rel_err)) *. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="example1'vc.4.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real (log_approx (exp_approx x)) -. log (exp (to_real x)))
|
|
<=. ((log_rel_err *. abs (log (exp (to_real x))))
|
|
+. (((-. log
|
|
(1.0
|
|
-. (((exp_rel_err *. exp (to_real x)) +. 0.0)
|
|
/. exp (to_real x))))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="example1'vc.4.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="log_double_error_propagation" arg2="with" arg3="exp_approx x">
|
|
<goal name="example1'vc.4.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.016718" steps="11221"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.076396" steps="9350"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.231695" steps="29649"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.276325" steps="1034"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.072072" steps="140"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.0.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="0"><result status="valid" time="1.707835" steps="14204"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.054319" steps="9497"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.1" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real (log_approx (exp_approx y)) -. log (exp (to_real y)))
|
|
<=. ((abs (log (exp (to_real y))) *. log_rel_err)
|
|
+. (((-. log (1.0 -. exp_rel_err)) *. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="example1'vc.4.0.0.1.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real (log_approx (exp_approx y)) -. log (exp (to_real y)))
|
|
<=. ((log_rel_err *. abs (log (exp (to_real y))))
|
|
+. (((-. log
|
|
(1.0
|
|
-. (((exp_rel_err *. exp (to_real y)) +. 0.0)
|
|
/. exp (to_real y))))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="example1'vc.4.0.0.1.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="log_double_error_propagation" arg2="with" arg3="exp_approx y">
|
|
<goal name="example1'vc.4.0.0.1.0.0.0" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.016857" steps="11221"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.1.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.073294" steps="171"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.1.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.255560" steps="4124"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.1.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.215004" steps="1022"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.1.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.053048" steps="140"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.1.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="0"><result status="valid" time="2.067988" steps="15719"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.1.1" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.066169" steps="205"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.047032" steps="8149"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.063093" steps="148"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.054429" steps="9338"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.049197" steps="9338"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.258986" steps="864"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.204234" steps="864"/></proof>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.053246" steps="8147"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example1'vc.4.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.075277" steps="9618"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example1'vc.4.1" expl="postcondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.046361" steps="9618"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example2'vc" expl="VC for example2" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="example2'vc.0" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.092507" steps="105"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.1" expl="precondition" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.010879" steps="10886"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.2" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.349783" steps="1984"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3" expl="postcondition" proved="true">
|
|
<transf name="assert" proved="true" arg1="let t = log (exp (to_real x) +. exp (to_real y)) in
|
|
abs (to_real r -. t)
|
|
<=. ((abs t *. log_rel_err)
|
|
+. (((-. log (1.0 -. ((exp_rel_err +. exp_rel_err) +. eps)))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="example2'vc.3.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real r -. log (exp (to_real x) +. exp (to_real y)))
|
|
<=. ((abs (log (exp (to_real x) +. exp (to_real y))) *. log_rel_err)
|
|
+. (((-. log (1.0 -. ((exp_rel_err +. exp_rel_err) +. eps)))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="example2'vc.3.0.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real r -. log (exp (to_real x) +. exp (to_real y)))
|
|
<=. ((log_rel_err *. abs (log (exp (to_real x) +. exp (to_real y))))
|
|
+. (((-. log
|
|
(1.0
|
|
-. (((((exp_rel_err +. exp_rel_err) +. eps)
|
|
*. (exp (to_real x) +. exp (to_real y)))
|
|
+. 0.0)
|
|
/. (exp (to_real x) +. exp (to_real y)))))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="example2'vc.3.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="log_double_error_propagation" arg2="with" arg3="exp_approx x ++. exp_approx y">
|
|
<goal name="example2'vc.3.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real (exp_approx x ++. exp_approx y)
|
|
-. (exp (to_real x) +. exp (to_real y)))
|
|
<=. ((((exp_rel_err +. exp_rel_err) +. eps)
|
|
*. (exp (to_real x) +. exp (to_real y)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps) +. exp_rel_err) *. 0.0)))">
|
|
<goal name="example2'vc.3.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="exp_approx x,exp_approx y">
|
|
<goal name="example2'vc.3.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.015816" steps="11241"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.076553" steps="140"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.165830" steps="1257"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.206104" steps="30253"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.048993" steps="9277"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.073960" steps="9277"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.054169" steps="8114"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.016136" steps="11229"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.110995" steps="19253"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.068188" steps="9386"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.016886" steps="11313"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.153265" steps="798"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.195889" steps="1119"/></proof>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.014171" steps="11229"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="0"><result status="valid" time="1.971524" steps="26814"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example2'vc.3.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.043302" steps="9446"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example2'vc.3.1" expl="postcondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.056232" steps="239"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse4'vc" expl="VC for lse4" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="lse4'vc.0" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.043793" steps="8930"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.1" expl="precondition" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.009908" steps="10936"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.2" expl="precondition" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.011206" steps="10999"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.3" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.049691" steps="9173"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.4" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="1.891445" steps="5767"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5" expl="postcondition" proved="true">
|
|
<transf name="assert" proved="true" arg1="let t =
|
|
log
|
|
(((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
in
|
|
abs (to_real r -. t)
|
|
<=. ((abs t *. log_rel_err)
|
|
+. (((-. log
|
|
(1.0
|
|
-. ((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="lse4'vc.5.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real r
|
|
-. log
|
|
(((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4)))
|
|
<=. ((abs
|
|
(log
|
|
(((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4)))
|
|
*. log_rel_err)
|
|
+. (((-. log
|
|
(1.0
|
|
-. ((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="lse4'vc.5.0.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real r
|
|
-. log
|
|
(((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4)))
|
|
<=. ((log_rel_err
|
|
*. abs
|
|
(log
|
|
(((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))))
|
|
+. (((-. log
|
|
(1.0
|
|
-. (((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. (((exp (to_real x1) +. exp (to_real x2))
|
|
+. exp (to_real x3))
|
|
+. exp (to_real x4)))
|
|
+. 0.0)
|
|
/. (((exp (to_real x1) +. exp (to_real x2))
|
|
+. exp (to_real x3))
|
|
+. exp (to_real x4)))))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="lse4'vc.5.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="log_double_error_propagation" arg2="with" arg3="((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4">
|
|
<goal name="lse4'vc.5.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real
|
|
(((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
-. (((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4)))
|
|
<=. ((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. (((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps)
|
|
+. ((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps))
|
|
*. 0.0)))">
|
|
<goal name="lse4'vc.5.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="(exp_approx x1 ++. exp_approx x2) ++. exp_approx x3,exp_approx x4">
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real ((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3)
|
|
-. ((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3)))
|
|
<=. ((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
*. ((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps) +. ((exp_rel_err +. exp_rel_err) +. eps)) *. 0.0)))">
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="exp_approx x1 ++. exp_approx x2,exp_approx x3">
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real (exp_approx x1 ++. exp_approx x2)
|
|
-. (exp (to_real x1) +. exp (to_real x2)))
|
|
<=. ((((exp_rel_err +. exp_rel_err) +. eps)
|
|
*. (exp (to_real x1) +. exp (to_real x2)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps) +. exp_rel_err) *. 0.0)))">
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="exp_approx x1,exp_approx x2">
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.069985" steps="9583"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.069456" steps="9583"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.264310" steps="34152"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.310996" steps="34197"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.059709" steps="149"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.049819" steps="9575"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.011942" steps="11573"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.043019" steps="8280"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.064182" steps="149"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.016929" steps="11744"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.022102" steps="11585"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.309273" steps="1790"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.259155" steps="33644"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.050449" steps="87533"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.061162" steps="9575"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.013108" steps="11573"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.049518" steps="8280"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.077395" steps="149"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.045163" steps="9704"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.067659" steps="162"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.351182" steps="1988"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.196025" steps="33659"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.062964" steps="10200"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.049460" steps="9575"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.017078" steps="11573"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.048346" steps="8280"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.056051" steps="149"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.052154" steps="9720"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.049526" steps="9587"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.291833" steps="957"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.358720" steps="1388"/></proof>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.014995" steps="11573"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="0"><result status="valid" time="3.747781" steps="57217"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse4'vc.5.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.088208" steps="9760"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse4'vc.5.1" expl="postcondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.047825" steps="9802"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse5'vc" expl="VC for lse5" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="lse5'vc.0" expl="precondition" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.009163" steps="10898"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.1" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.044314" steps="9056"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.2" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.044047" steps="9137"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.3" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.046704" steps="9218"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.4" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.053751" steps="9299"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.5" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="4.998853" steps="14619"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6" expl="postcondition" proved="true">
|
|
<transf name="assert" proved="true" arg1="let t =
|
|
log
|
|
((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
in
|
|
abs (to_real r -. t)
|
|
<=. ((abs t *. log_rel_err)
|
|
+. (((-. log
|
|
(1.0
|
|
-. ((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="lse5'vc.6.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real r
|
|
-. log
|
|
((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5)))
|
|
<=. ((abs
|
|
(log
|
|
((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5)))
|
|
*. log_rel_err)
|
|
+. (((-. log
|
|
(1.0
|
|
-. ((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="lse5'vc.6.0.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real r
|
|
-. log
|
|
((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5)))
|
|
<=. ((log_rel_err
|
|
*. abs
|
|
(log
|
|
((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))))
|
|
+. (((-. log
|
|
(1.0
|
|
-. (((((((((((exp_rel_err +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. ((((exp (to_real x1) +. exp (to_real x2))
|
|
+. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5)))
|
|
+. 0.0)
|
|
/. ((((exp (to_real x1) +. exp (to_real x2))
|
|
+. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5)))))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="lse5'vc.6.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="log_double_error_propagation" arg2="with" arg3="(((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5">
|
|
<goal name="lse5'vc.6.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real
|
|
((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
-. ((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5)))
|
|
<=. ((((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. ((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps)
|
|
+. ((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps))
|
|
*. 0.0)))">
|
|
<goal name="lse5'vc.6.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4,exp_approx x5">
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real
|
|
(((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
-. (((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4)))
|
|
<=. ((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. (((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps)
|
|
+. ((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps))
|
|
*. 0.0)))">
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="(exp_approx x1 ++. exp_approx x2) ++. exp_approx x3,exp_approx x4">
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real ((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3)
|
|
-. ((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3)))
|
|
<=. ((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
*. ((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps) +. ((exp_rel_err +. exp_rel_err) +. eps)) *. 0.0)))">
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="exp_approx x1 ++. exp_approx x2,exp_approx x3">
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real (exp_approx x1 ++. exp_approx x2)
|
|
-. (exp (to_real x1) +. exp (to_real x2)))
|
|
<=. ((((exp_rel_err +. exp_rel_err) +. eps)
|
|
*. (exp (to_real x1) +. exp (to_real x2)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps) +. exp_rel_err) *. 0.0)))">
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="exp_approx x1,exp_approx x2">
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.049216" steps="9732"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.049571" steps="9732"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.274897" steps="35985"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.273631" steps="36054"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.044529" steps="9724"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.074608" steps="9724"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.052870" steps="8363"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.066687" steps="8363"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.056343" steps="8361"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.065693" steps="9835"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.057788" steps="9732"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.306203" steps="2059"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.218670" steps="35542"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.069086" steps="160"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.018093" steps="11745"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.017467" steps="11745"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.086822" steps="19832"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.046217" steps="8361"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.048246" steps="9853"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.051953" steps="9732"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.277886" steps="2242"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.288031" steps="35569"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.042501" steps="88945"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.087676" steps="160"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.050007" steps="8363"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.088090" steps="160"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.074909" steps="160"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.054228" steps="9871"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.052805" steps="9732"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.319436" steps="2580"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.183075" steps="35584"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.034064" steps="88953"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.084166" steps="160"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.075420" steps="8363"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.070860" steps="8363"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.046264" steps="8361"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.054600" steps="9887"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.047154" steps="9736"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.258393" steps="1046"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.435791" steps="1560"/></proof>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.010807" steps="11745"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="0"><result status="valid" time="4.131585" steps="25478"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse5'vc.6.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.052414" steps="9917"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse5'vc.6.1" expl="postcondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.053501" steps="9959"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse6'vc" expl="VC for lse6" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="lse6'vc.0" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.045838" steps="9020"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.1" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.070231" steps="9101"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.2" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.067015" steps="131"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.3" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.072852" steps="9263"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.4" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.064469" steps="148"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.5" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.085078" steps="9425"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.6" expl="precondition" proved="true">
|
|
<proof prover="0" timelimit="60"><result status="valid" time="7.911037" steps="21117"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7" expl="postcondition" proved="true">
|
|
<transf name="assert" proved="true" arg1="let t =
|
|
log
|
|
(((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
in
|
|
abs (to_real r -. t)
|
|
<=. ((abs t *. log_rel_err)
|
|
+. (((-. log
|
|
(1.0
|
|
-. ((((((((((exp_rel_err +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="lse6'vc.7.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real r
|
|
-. log
|
|
(((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6)))
|
|
<=. ((abs
|
|
(log
|
|
(((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6)))
|
|
*. log_rel_err)
|
|
+. (((-. log
|
|
(1.0
|
|
-. ((((((((((exp_rel_err +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="lse6'vc.7.0.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real r
|
|
-. log
|
|
(((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6)))
|
|
<=. ((log_rel_err
|
|
*. abs
|
|
(log
|
|
(((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))))
|
|
+. (((-. log
|
|
(1.0
|
|
-. (((((((((((((exp_rel_err +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. (((((exp (to_real x1) +. exp (to_real x2))
|
|
+. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6)))
|
|
+. 0.0)
|
|
/. (((((exp (to_real x1) +. exp (to_real x2))
|
|
+. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6)))))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="lse6'vc.7.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="log_double_error_propagation" arg2="with" arg3="((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
++. exp_approx x6">
|
|
<goal name="lse6'vc.7.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real
|
|
(((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
++. exp_approx x6)
|
|
-. (((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6)))
|
|
<=. ((((((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. (((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps)
|
|
+. ((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps))
|
|
*. 0.0)))">
|
|
<goal name="lse6'vc.7.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="(((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5,exp_approx x6">
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real
|
|
((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
-. ((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5)))
|
|
<=. ((((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. ((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps)
|
|
+. ((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps))
|
|
*. 0.0)))">
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4,exp_approx x5">
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real
|
|
(((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
-. (((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4)))
|
|
<=. ((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. (((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps)
|
|
+. ((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps))
|
|
*. 0.0)))">
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="(exp_approx x1 ++. exp_approx x2) ++. exp_approx x3,exp_approx x4">
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real ((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3)
|
|
-. ((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3)))
|
|
<=. ((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
*. ((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps) +. ((exp_rel_err +. exp_rel_err) +. eps)) *. 0.0)))">
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="exp_approx x1 ++. exp_approx x2,exp_approx x3">
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real (exp_approx x1 ++. exp_approx x2)
|
|
-. (exp (to_real x1) +. exp (to_real x2)))
|
|
<=. ((((exp_rel_err +. exp_rel_err) +. eps)
|
|
*. (exp (to_real x1) +. exp (to_real x2)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps) +. exp_rel_err) *. 0.0)))">
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="exp_approx x1,exp_approx x2">
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.050571" steps="9881"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.051062" steps="9881"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.263505" steps="37988"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.256414" steps="2110"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.019095" steps="11917"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.105697" steps="20018"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.074197" steps="8446"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.016084" steps="11917"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.016331" steps="11913"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.050325" steps="9984"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.018514" steps="11929"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.301078" steps="2289"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.235502" steps="37576"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.083955" steps="172"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.045140" steps="9873"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.047007" steps="8446"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.084088" steps="8446"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.067815" steps="8444"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.050064" steps="10002"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.067946" steps="183"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.344200" steps="2461"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.310389" steps="37608"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.054157" steps="90349"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.020477" steps="11917"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.021065" steps="11917"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.080911" steps="8446"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.070634" steps="172"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.100590" steps="347"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.065213" steps="9881"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.408767" steps="2880"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.200308" steps="37635"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.040187" steps="90357"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.060404" steps="9873"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.015162" steps="11917"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.051893" steps="8446"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.049934" steps="8444"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.052443" steps="10038"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.051323" steps="9881"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.394282" steps="3359"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.326973" steps="37650"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.036351" steps="90365"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.077810" steps="172"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.070275" steps="8446"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.081828" steps="8446"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.061546" steps="8444"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.067220" steps="10054"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.058604" steps="9885"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.278793" steps="1137"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.512463" steps="1735"/></proof>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.072443" steps="9873"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="0"><result status="valid" time="3.711997" steps="29307"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse6'vc.7.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.052719" steps="10074"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse6'vc.7.1" expl="postcondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.053824" steps="10116"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse7'vc" expl="VC for lse7" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="lse7'vc.0" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.044749" steps="9065"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.1" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.081564" steps="129"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.2" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.052867" steps="9227"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.3" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.088692" steps="9308"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.4" expl="precondition" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.012010" steps="11200"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.5" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.053697" steps="9470"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.6" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.044418" steps="9551"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.7" expl="precondition" proved="true">
|
|
<proof prover="0" timelimit="60"><result status="valid" time="5.311734" steps="20281"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8" expl="postcondition" proved="true">
|
|
<transf name="assert" proved="true" arg1="let t =
|
|
log
|
|
((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
in
|
|
abs (to_real r -. t)
|
|
<=. ((abs t *. log_rel_err)
|
|
+. (((-. log
|
|
(1.0
|
|
-. ((((((((((((exp_rel_err +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="lse7'vc.8.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real r
|
|
-. log
|
|
((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7)))
|
|
<=. ((abs
|
|
(log
|
|
((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7)))
|
|
*. log_rel_err)
|
|
+. (((-. log
|
|
(1.0
|
|
-. ((((((((((((exp_rel_err +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="lse7'vc.8.0.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real r
|
|
-. log
|
|
((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7)))
|
|
<=. ((log_rel_err
|
|
*. abs
|
|
(log
|
|
((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))))
|
|
+. (((-. log
|
|
(1.0
|
|
-. (((((((((((((((exp_rel_err +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. ((((((exp (to_real x1) +. exp (to_real x2))
|
|
+. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7)))
|
|
+. 0.0)
|
|
/. ((((((exp (to_real x1) +. exp (to_real x2))
|
|
+. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7)))))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="lse7'vc.8.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="log_double_error_propagation" arg2="with" arg3="(((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
++. exp_approx x6)
|
|
++. exp_approx x7">
|
|
<goal name="lse7'vc.8.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real
|
|
((((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
++. exp_approx x6)
|
|
++. exp_approx x7)
|
|
-. ((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7)))
|
|
<=. ((((((((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. ((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps)
|
|
+. ((((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps))
|
|
*. 0.0)))">
|
|
<goal name="lse7'vc.8.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
++. exp_approx x6,exp_approx x7">
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real
|
|
(((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
++. exp_approx x6)
|
|
-. (((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6)))
|
|
<=. ((((((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. (((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps)
|
|
+. ((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps))
|
|
*. 0.0)))">
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="(((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5,exp_approx x6">
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real
|
|
((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
-. ((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5)))
|
|
<=. ((((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. ((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps)
|
|
+. ((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps))
|
|
*. 0.0)))">
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4,exp_approx x5">
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real
|
|
(((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
-. (((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4)))
|
|
<=. ((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. (((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps)
|
|
+. ((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps))
|
|
*. 0.0)))">
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="(exp_approx x1 ++. exp_approx x2) ++. exp_approx x3,exp_approx x4">
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real ((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3)
|
|
-. ((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3)))
|
|
<=. ((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
*. ((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps) +. ((exp_rel_err +. exp_rel_err) +. eps)) *. 0.0)))">
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="exp_approx x1 ++. exp_approx x2,exp_approx x3">
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real (exp_approx x1 ++. exp_approx x2)
|
|
-. (exp (to_real x1) +. exp (to_real x2)))
|
|
<=. ((((exp_rel_err +. exp_rel_err) +. eps)
|
|
*. (exp (to_real x1) +. exp (to_real x2)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps) +. exp_rel_err) *. 0.0)))">
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="exp_approx x1,exp_approx x2">
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.049661" steps="10030"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.051791" steps="10030"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.308205" steps="39999"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.209874" steps="40059"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.012808" steps="12089"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.060947" steps="10022"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.010918" steps="12089"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.043905" steps="8529"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.054362" steps="8527"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.050487" steps="10133"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.049318" steps="10030"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.462921" steps="2551"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.236374" steps="39636"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.060022" steps="91745"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.077611" steps="10022"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.054313" steps="8529"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.016233" steps="12089"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.060410" steps="8527"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.049797" steps="10151"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.012032" steps="12101"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.318048" steps="2831"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.207346" steps="39673"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.051844" steps="91753"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.049488" steps="10022"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.012294" steps="12089"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.048077" steps="8529"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.039197" steps="8527"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.047209" steps="10169"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.061038" steps="195"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.362153" steps="3160"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.212387" steps="39705"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.055595" steps="91761"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.073970" steps="10022"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.016511" steps="12089"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.060093" steps="8529"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.069062" steps="183"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.074978" steps="10187"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.053122" steps="10030"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.561560" steps="3467"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.301464" steps="39732"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.097190" steps="183"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.072433" steps="10022"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.053510" steps="8529"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.017437" steps="12089"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.048547" steps="8527"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.052129" steps="10205"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.046238" steps="10030"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.434769" steps="4041"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.223572" steps="39747"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.092604" steps="10851"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.014959" steps="12089"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.061413" steps="8529"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.102440" steps="20212"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.062802" steps="8527"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.047315" steps="10221"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.049738" steps="10034"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.274261" steps="1240"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.383338" steps="1886"/></proof>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.012066" steps="12089"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="0" timelimit="10" memlimit="4000"><result status="valid" time="6.050093" steps="102943"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse7'vc.8.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.053996" steps="10231"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse7'vc.8.1" expl="postcondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.073323" steps="10273"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse8'vc" expl="VC for lse8" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="lse8'vc.0" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.082152" steps="124"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.1" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.047975" steps="9191"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.2" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.089258" steps="140"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.3" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.049348" steps="9353"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.4" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.048224" steps="9434"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.5" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.066744" steps="164"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.6" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.087228" steps="9596"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.7" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.093009" steps="179"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.8" expl="precondition" proved="true">
|
|
<proof prover="0" timelimit="60"><result status="valid" time="7.868247" steps="28866"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9" expl="postcondition" proved="true">
|
|
<transf name="assert" proved="true" arg1="let t =
|
|
log
|
|
(((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
+. exp (to_real x8))
|
|
in
|
|
abs (to_real r -. t)
|
|
<=. ((abs t *. log_rel_err)
|
|
+. (((-. log
|
|
(1.0
|
|
-. ((((((((((((((exp_rel_err +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="lse8'vc.9.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real r
|
|
-. log
|
|
(((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
+. exp (to_real x8)))
|
|
<=. ((abs
|
|
(log
|
|
(((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
+. exp (to_real x8)))
|
|
*. log_rel_err)
|
|
+. (((-. log
|
|
(1.0
|
|
-. ((((((((((((((exp_rel_err +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="lse8'vc.9.0.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real r
|
|
-. log
|
|
(((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
+. exp (to_real x8)))
|
|
<=. ((log_rel_err
|
|
*. abs
|
|
(log
|
|
(((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
+. exp (to_real x8))))
|
|
+. (((-. log
|
|
(1.0
|
|
-. (((((((((((((((((exp_rel_err +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. (((((((exp (to_real x1) +. exp (to_real x2))
|
|
+. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
+. exp (to_real x8)))
|
|
+. 0.0)
|
|
/. (((((((exp (to_real x1) +. exp (to_real x2))
|
|
+. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
+. exp (to_real x8)))))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="lse8'vc.9.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="log_double_error_propagation" arg2="with" arg3="((((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
++. exp_approx x6)
|
|
++. exp_approx x7)
|
|
++. exp_approx x8">
|
|
<goal name="lse8'vc.9.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real
|
|
(((((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
++. exp_approx x6)
|
|
++. exp_approx x7)
|
|
++. exp_approx x8)
|
|
-. (((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
+. exp (to_real x8)))
|
|
<=. ((((((((((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. (((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
+. exp (to_real x8)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps)
|
|
+. ((((((((((((exp_rel_err +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps))
|
|
*. 0.0)))">
|
|
<goal name="lse8'vc.9.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="(((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
++. exp_approx x6)
|
|
++. exp_approx x7,exp_approx x8">
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real
|
|
((((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
++. exp_approx x6)
|
|
++. exp_approx x7)
|
|
-. ((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7)))
|
|
<=. ((((((((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. ((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps)
|
|
+. ((((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps))
|
|
*. 0.0)))">
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
++. exp_approx x6,exp_approx x7">
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real
|
|
(((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
++. exp_approx x6)
|
|
-. (((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6)))
|
|
<=. ((((((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. (((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps)
|
|
+. ((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps))
|
|
*. 0.0)))">
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="(((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5,exp_approx x6">
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real
|
|
((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
-. ((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5)))
|
|
<=. ((((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. ((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps)
|
|
+. ((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps))
|
|
*. 0.0)))">
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4,exp_approx x5">
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real
|
|
(((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
-. (((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4)))
|
|
<=. ((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. (((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps)
|
|
+. ((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps))
|
|
*. 0.0)))">
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="(exp_approx x1 ++. exp_approx x2) ++. exp_approx x3,exp_approx x4">
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real ((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3)
|
|
-. ((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3)))
|
|
<=. ((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
*. ((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps) +. ((exp_rel_err +. exp_rel_err) +. eps)) *. 0.0)))">
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="exp_approx x1 ++. exp_approx x2,exp_approx x3">
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real (exp_approx x1 ++. exp_approx x2)
|
|
-. (exp (to_real x1) +. exp (to_real x2)))
|
|
<=. ((((exp_rel_err +. exp_rel_err) +. eps)
|
|
*. (exp (to_real x1) +. exp (to_real x2)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps) +. exp_rel_err) *. 0.0)))">
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="exp_approx x1,exp_approx x2">
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.070213" steps="10179"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.054919" steps="10179"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.235399" steps="42058"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.231656" steps="42142"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.059088" steps="10171"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.094103" steps="20398"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.074944" steps="8612"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.070556" steps="8612"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.054827" steps="8610"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.011865" steps="12432"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.050007" steps="10179"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.367955" steps="2840"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.245723" steps="41772"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.050082" steps="93133"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.058521" steps="10171"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.057844" steps="8612"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.016042" steps="12261"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.063908" steps="8610"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.051811" steps="10300"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.042924" steps="10179"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.387804" steps="3097"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.226380" steps="41814"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.091871" steps="11052"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.084617" steps="194"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.064146" steps="8612"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.068455" steps="8612"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.014565" steps="12257"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.015944" steps="12588"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.072040" steps="10179"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.488902" steps="3461"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.255468" steps="41851"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.063328" steps="93149"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.092269" steps="10171"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.077330" steps="8612"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.057021" steps="8612"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.012025" steps="12257"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.048730" steps="10336"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.017610" steps="12273"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.596841" steps="3833"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.301368" steps="41883"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.040967" steps="93157"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.082480" steps="10171"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.061221" steps="8612"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.079782" steps="8612"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.069747" steps="8610"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.082331" steps="10354"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.054513" steps="10179"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.545722" steps="646885"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.351371" steps="41910"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.060794" steps="93165"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.019115" steps="12261"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.073952" steps="195"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.066109" steps="8612"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.081367" steps="8610"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.019264" steps="12810"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.099154" steps="20412"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.876714" steps="5219"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.340323" steps="41925"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.043590" steps="93173"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.019393" steps="12261"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.066964" steps="8612"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.019793" steps="12261"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.076279" steps="194"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.066239" steps="10388"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.094866" steps="230"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.429149" steps="1351"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.449549" steps="2078"/></proof>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.053369" steps="10171"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="0" timelimit="10" memlimit="4000"><result status="valid" time="5.138961" steps="36908"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse8'vc.9.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.057537" steps="10388"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse8'vc.9.1" expl="postcondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.065731" steps="10430"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse10'vc" expl="VC for lse10" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="lse10'vc.0" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.067163" steps="9200"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.1" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.061457" steps="138"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.2" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.050856" steps="9362"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.3" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.050152" steps="9443"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.4" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.044736" steps="9524"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.5" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.062195" steps="170"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.6" expl="precondition" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.024454" steps="11401"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.7" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.042853" steps="9767"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.8" expl="precondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.051196" steps="9848"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.9" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.064252" steps="200"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.10" expl="assertion" proved="true">
|
|
<proof prover="0" timelimit="60"><result status="valid" time="14.329043" steps="39715"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.11" expl="precondition" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.087059" steps="20466"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12" expl="postcondition" proved="true">
|
|
<transf name="assert" proved="true" arg1="let t =
|
|
log
|
|
(((((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
+. exp (to_real x8))
|
|
+. exp (to_real x9))
|
|
+. exp (to_real x10))
|
|
in
|
|
abs (to_real r -. t)
|
|
<=. ((abs t *. log_rel_err)
|
|
+. (((-. log
|
|
(1.0
|
|
-. ((((((((((((((((((exp_rel_err +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="lse10'vc.12.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real r
|
|
-. log
|
|
(((((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
+. exp (to_real x8))
|
|
+. exp (to_real x9))
|
|
+. exp (to_real x10)))
|
|
<=. ((abs
|
|
(log
|
|
(((((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
+. exp (to_real x8))
|
|
+. exp (to_real x9))
|
|
+. exp (to_real x10)))
|
|
*. log_rel_err)
|
|
+. (((-. log
|
|
(1.0
|
|
-. ((((((((((((((((((exp_rel_err +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="lse10'vc.12.0.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real r
|
|
-. log
|
|
(((((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
+. exp (to_real x8))
|
|
+. exp (to_real x9))
|
|
+. exp (to_real x10)))
|
|
<=. ((log_rel_err
|
|
*. abs
|
|
(log
|
|
(((((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
+. exp (to_real x8))
|
|
+. exp (to_real x9))
|
|
+. exp (to_real x10))))
|
|
+. (((-. log
|
|
(1.0
|
|
-. (((((((((((((((((((((exp_rel_err +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. (((((((((exp (to_real x1) +. exp (to_real x2))
|
|
+. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
+. exp (to_real x8))
|
|
+. exp (to_real x9))
|
|
+. exp (to_real x10)))
|
|
+. 0.0)
|
|
/. (((((((((exp (to_real x1) +. exp (to_real x2))
|
|
+. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
+. exp (to_real x8))
|
|
+. exp (to_real x9))
|
|
+. exp (to_real x10)))))
|
|
*. (1.0 +. log_rel_err))
|
|
+. log_abs_err))">
|
|
<goal name="lse10'vc.12.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="log_double_error_propagation" arg2="with" arg3="s">
|
|
<goal name="lse10'vc.12.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real s
|
|
-. (((((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
+. exp (to_real x8))
|
|
+. exp (to_real x9))
|
|
+. exp (to_real x10)))
|
|
<=. ((((((((((((((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. (((((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
+. exp (to_real x8))
|
|
+. exp (to_real x9))
|
|
+. exp (to_real x10)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps)
|
|
+. ((((((((((((((((exp_rel_err +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps))
|
|
*. 0.0)))">
|
|
<goal name="lse10'vc.12.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="(((((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
++. exp_approx x6)
|
|
++. exp_approx x7)
|
|
++. exp_approx x8)
|
|
++. exp_approx x9,exp_approx x10">
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real
|
|
((((((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3)
|
|
++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
++. exp_approx x6)
|
|
++. exp_approx x7)
|
|
++. exp_approx x8)
|
|
++. exp_approx x9)
|
|
-. ((((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
+. exp (to_real x8))
|
|
+. exp (to_real x9)))
|
|
<=. ((((((((((((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. ((((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
+. exp (to_real x8))
|
|
+. exp (to_real x9)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps)
|
|
+. ((((((((((((((exp_rel_err +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps))
|
|
*. 0.0)))">
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="((((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
++. exp_approx x6)
|
|
++. exp_approx x7)
|
|
++. exp_approx x8,exp_approx x9">
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real
|
|
(((((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
++. exp_approx x6)
|
|
++. exp_approx x7)
|
|
++. exp_approx x8)
|
|
-. (((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
+. exp (to_real x8)))
|
|
<=. ((((((((((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. (((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7))
|
|
+. exp (to_real x8)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps)
|
|
+. ((((((((((((exp_rel_err +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps))
|
|
*. 0.0)))">
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="(((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
++. exp_approx x6)
|
|
++. exp_approx x7,exp_approx x8">
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real
|
|
((((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
++. exp_approx x6)
|
|
++. exp_approx x7)
|
|
-. ((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7)))
|
|
<=. ((((((((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. ((((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6))
|
|
+. exp (to_real x7)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps)
|
|
+. ((((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps))
|
|
*. 0.0)))">
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
++. exp_approx x6,exp_approx x7">
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real
|
|
(((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
++. exp_approx x6)
|
|
-. (((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6)))
|
|
<=. ((((((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. (((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5))
|
|
+. exp (to_real x6)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps)
|
|
+. ((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps))
|
|
*. 0.0)))">
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="(((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5,exp_approx x6">
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real
|
|
((((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
++. exp_approx x5)
|
|
-. ((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5)))
|
|
<=. ((((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. ((((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4))
|
|
+. exp (to_real x5)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps)
|
|
+. ((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps)
|
|
+. exp_rel_err)
|
|
+. eps))
|
|
*. 0.0)))">
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4,exp_approx x5">
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real
|
|
(((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3) ++. exp_approx x4)
|
|
-. (((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4)))
|
|
<=. ((((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
+. exp_rel_err)
|
|
+. eps)
|
|
*. (((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3))
|
|
+. exp (to_real x4)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps)
|
|
+. ((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err)
|
|
+. eps))
|
|
*. 0.0)))">
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="(exp_approx x1 ++. exp_approx x2) ++. exp_approx x3,exp_approx x4">
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real ((exp_approx x1 ++. exp_approx x2) ++. exp_approx x3)
|
|
-. ((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3)))
|
|
<=. ((((((exp_rel_err +. exp_rel_err) +. eps) +. exp_rel_err) +. eps)
|
|
*. ((exp (to_real x1) +. exp (to_real x2)) +. exp (to_real x3)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps) +. ((exp_rel_err +. exp_rel_err) +. eps)) *. 0.0)))">
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="exp_approx x1 ++. exp_approx x2,exp_approx x3">
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs
|
|
(to_real (exp_approx x1 ++. exp_approx x2)
|
|
-. (exp (to_real x1) +. exp (to_real x2)))
|
|
<=. ((((exp_rel_err +. exp_rel_err) +. eps)
|
|
*. (exp (to_real x1) +. exp (to_real x2)))
|
|
+. ((((1.0 +. eps) +. exp_rel_err) *. 0.0)
|
|
+. (((1.0 +. eps) +. exp_rel_err) *. 0.0)))">
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="uadd_double_error_propagation" arg2="with" arg3="exp_approx x1,exp_approx x2">
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.073863" steps="10496"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.068927" steps="10496"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.291967" steps="46391"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="4"><result status="valid" time="0.453524" steps="65208"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.078496" steps="10488"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.088174" steps="10488"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.018086" steps="12744"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.020168" steps="12744"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.085304" steps="8784"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.073769" steps="10599"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.022023" steps="12756"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.543188" steps="4041"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.283806" steps="46220"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.093478" steps="217"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.079969" steps="10488"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.087707" steps="8786"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.080799" steps="8786"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.082780" steps="8784"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.094277" steps="353"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.080397" steps="10496"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.737017" steps="4500"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.407909" steps="46272"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.055824" steps="96330"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.019091" steps="12744"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.076588" steps="8786"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.017031" steps="12744"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.059823" steps="8784"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.013267" steps="13071"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.064634" steps="10496"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.648322" steps="5054"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.275308" steps="46319"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.083066" steps="11503"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.013436" steps="12744"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.069427" steps="8786"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.092926" steps="217"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.060500" steps="8784"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.061877" steps="10653"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.015133" steps="12756"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.678766" steps="5751"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.333099" steps="46361"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.049913" steps="96346"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.012984" steps="12744"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.055318" steps="8786"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.082393" steps="217"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.017836" steps="12740"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.119607" steps="475"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.077781" steps="10496"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.795501" steps="6987"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.275100" steps="46398"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.070763" steps="11511"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.015001" steps="12744"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.063851" steps="8786"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.015531" steps="12744"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.068404" steps="8784"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.070020" steps="10689"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.052557" steps="10496"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="1.080017" steps="8390"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.376789" steps="46430"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.122465" steps="11515"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.057860" steps="10488"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.019676" steps="12744"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.119260" steps="217"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.017637" steps="12740"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.064299" steps="10707"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.053109" steps="10496"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="1.359926" steps="9916"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.280520" steps="46457"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.088672" steps="11519"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.063203" steps="10488"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.099679" steps="217"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.106075" steps="217"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.085502" steps="8784"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.090092" steps="10725"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.020331" steps="12756"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="1.362839" steps="1096531"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.415079" steps="46472"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.060965" steps="96378"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.5" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.073943" steps="10488"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.6" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.059342" steps="8786"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.7" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.089324" steps="8786"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.0.8" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.020667" steps="12740"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.010701" steps="13461"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.095768" steps="10500"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.449955" steps="1563"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.777562" steps="2861"/></proof>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.086505" steps="10488"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="0" timelimit="10" memlimit="4000"><result status="valid" time="6.718625" steps="47263"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse10'vc.12.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.083694" steps="10721"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="lse10'vc.12.1" expl="postcondition" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.068558" steps="10763"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example3'vc" expl="VC for example3" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="example3'vc.0" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.087287" steps="708"/></proof>
|
|
</goal>
|
|
<goal name="example3'vc.1" expl="postcondition" proved="true">
|
|
<transf name="assert" proved="true" arg1="let t = log2 (to_real x +. to_real y) in
|
|
abs (to_real r -. t)
|
|
<=. ((abs t *. log2_rel_error)
|
|
+. (((-. log2 (1.0 -. eps)) *. (1.0 +. log2_rel_error))
|
|
+. log2_abs_error))">
|
|
<goal name="example3'vc.1.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real r -. log2 (to_real x +. to_real y))
|
|
<=. ((abs (log2 (to_real x +. to_real y)) *. log2_rel_error)
|
|
+. (((-. log2 (1.0 -. eps)) *. (1.0 +. log2_rel_error))
|
|
+. log2_abs_error))">
|
|
<goal name="example3'vc.1.0.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real r -. log2 (to_real x +. to_real y))
|
|
<=. ((log2_rel_error *. abs (log2 (to_real x +. to_real y)))
|
|
+. (((-. log2
|
|
(1.0
|
|
-. (((eps *. abs (to_real x +. to_real y)) +. 0.0)
|
|
/. (to_real x +. to_real y))))
|
|
*. (1.0 +. log2_rel_error))
|
|
+. log2_abs_error))">
|
|
<goal name="example3'vc.1.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="log2_double_error_propagation" arg2="with" arg3="x ++. y">
|
|
<goal name="example3'vc.1.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real (x ++. y) -. (to_real x +. to_real y))
|
|
<=. (eps *. abs (to_real x +. to_real y))">
|
|
<goal name="example3'vc.1.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.275331" steps="977"/></proof>
|
|
</goal>
|
|
<goal name="example3'vc.1.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.079426" steps="9253"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example3'vc.1.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.043425" steps="9154"/></proof>
|
|
</goal>
|
|
<goal name="example3'vc.1.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.067000" steps="117"/></proof>
|
|
</goal>
|
|
<goal name="example3'vc.1.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.062812" steps="127"/></proof>
|
|
</goal>
|
|
<goal name="example3'vc.1.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.039310" steps="9142"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example3'vc.1.0.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.056551" steps="242"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example3'vc.1.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.056831" steps="9299"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example3'vc.1.1" expl="postcondition" proved="true">
|
|
<proof prover="6"><result status="valid" time="0.012993" steps="11398"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example4'vc" expl="VC for example4" proved="true">
|
|
<transf name="split_vc" proved="true" >
|
|
<goal name="example4'vc.0" expl="precondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.142858" steps="708"/></proof>
|
|
</goal>
|
|
<goal name="example4'vc.1" expl="postcondition" proved="true">
|
|
<transf name="assert" proved="true" arg1="let t = log10 (to_real x +. to_real y) in
|
|
abs (to_real r -. t)
|
|
<=. ((abs t *. log10_error)
|
|
+. ((-. log10 (1.0 -. eps)) *. (1.0 +. log10_error)))">
|
|
<goal name="example4'vc.1.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real r -. log10 (to_real x +. to_real y))
|
|
<=. ((abs (log10 (to_real x +. to_real y)) *. log10_error)
|
|
+. ((-. log10 (1.0 -. eps)) *. (1.0 +. log10_error)))">
|
|
<goal name="example4'vc.1.0.0" expl="asserted formula" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real r -. log10 (to_real x +. to_real y))
|
|
<=. ((log10_error *. abs (log10 (to_real x +. to_real y)))
|
|
+. (((-. log10
|
|
(1.0
|
|
-. (((eps *. abs (to_real x +. to_real y)) +. 0.0)
|
|
/. (to_real x +. to_real y))))
|
|
*. (1.0 +. log10_error))
|
|
+. 0.0))">
|
|
<goal name="example4'vc.1.0.0.0" expl="asserted formula" proved="true">
|
|
<transf name="apply" proved="true" arg1="log10_double_error_propagation" arg2="with" arg3="x ++. y">
|
|
<goal name="example4'vc.1.0.0.0.0" expl="apply premises" proved="true">
|
|
<transf name="assert" proved="true" arg1="abs (to_real (x ++. y) -. (to_real x +. to_real y))
|
|
<=. (eps *. abs (to_real x +. to_real y))">
|
|
<goal name="example4'vc.1.0.0.0.0.0" expl="asserted formula" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.181860" steps="968"/></proof>
|
|
</goal>
|
|
<goal name="example4'vc.1.0.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.070606" steps="142"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example4'vc.1.0.0.0.1" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.066047" steps="140"/></proof>
|
|
</goal>
|
|
<goal name="example4'vc.1.0.0.0.2" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.081315" steps="9837"/></proof>
|
|
</goal>
|
|
<goal name="example4'vc.1.0.0.0.3" expl="apply premises" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.052146" steps="9857"/></proof>
|
|
</goal>
|
|
<goal name="example4'vc.1.0.0.0.4" expl="apply premises" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.074801" steps="109"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example4'vc.1.0.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.083876" steps="229"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example4'vc.1.0.1" expl="asserted formula" proved="true">
|
|
<proof prover="3"><result status="valid" time="0.075181" steps="9283"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
<goal name="example4'vc.1.1" expl="postcondition" proved="true">
|
|
<proof prover="0"><result status="valid" time="0.063246" steps="184"/></proof>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
</transf>
|
|
</goal>
|
|
</theory>
|
|
</file>
|
|
</why3session>
|