Kahan p13 Example 3

Time bar (total: 5.6s)

analyze462.0ms (8.3%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
50%50%50%0%0%0%0%3
50%50%50%0%0%0%0%4
50%50%50%0%0%0%0%5
50%50%50%0%0%0%0%6
50%50%50%0%0%0%0%7
50%50%50%0%0%0%0%8
50%50%50%0%0%0%0%9
50%50%50%0%0%0%0%10
50%50%50%0%0%0%0%11
50%50%49.9%0%0%0%0%12
Compiler

Compiled 31 to 13 computations (58.1% saved)

sample4.9s (87%)

Results
1.5s8256×0valid-rival
916.0ms8253×0valid-sollya
15.0ms0exit-sollya
Bogosity

preprocess172.0ms (3.1%)

Algorithm
egg-herbie
Rules
619×fma-define
377×unsub-neg
359×times-frac
329×distribute-lft-neg-in
304×distribute-neg-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
028424
156372
2141372
3403252
41370252
55672252
Stop Event
node limit
Calls
Call 1
Inputs
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 2 binary64) (*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t))))))))
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 2 binary64) (*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t))))))))
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 2 binary64) (*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) (neg.f64 t)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (neg.f64 t))))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) (neg.f64 t)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (neg.f64 t)))))))))
(neg.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 2 binary64) (*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) (neg.f64 t)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (neg.f64 t))))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) (neg.f64 t)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (neg.f64 t))))))))))
Outputs
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 2 binary64) (*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t))))))))
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) #s(literal 2 binary64))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) (fma.f64 (+.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal -2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) (+.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal -2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) #s(literal 2 binary64))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) (fma.f64 (-.f64 #s(literal 2 binary64) (/.f64 #s(literal -2 binary64) (-.f64 #s(literal -1 binary64) t))) (-.f64 #s(literal 2 binary64) (/.f64 #s(literal -2 binary64) (-.f64 #s(literal -1 binary64) t))) #s(literal 2 binary64))))
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 2 binary64) (*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t))))))))
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) #s(literal 2 binary64))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) (fma.f64 (+.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal -2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) (+.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal -2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) #s(literal 2 binary64))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) (fma.f64 (-.f64 #s(literal 2 binary64) (/.f64 #s(literal -2 binary64) (-.f64 #s(literal -1 binary64) t))) (-.f64 #s(literal 2 binary64) (/.f64 #s(literal -2 binary64) (-.f64 #s(literal -1 binary64) t))) #s(literal 2 binary64))))
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 2 binary64) (*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) (neg.f64 t)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (neg.f64 t))))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) (neg.f64 t)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (neg.f64 t)))))))))
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal -2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) t)))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal -2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) t)))) #s(literal 2 binary64))))
(+.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) (fma.f64 (+.f64 #s(literal 2 binary64) (/.f64 #s(literal 2 binary64) (*.f64 t (+.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) t))))) (+.f64 #s(literal 2 binary64) (/.f64 #s(literal 2 binary64) (*.f64 t (+.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) t))))) #s(literal 2 binary64))))
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 2 binary64) (/.f64 #s(literal -2 binary64) (+.f64 t #s(literal -1 binary64)))) (-.f64 #s(literal 2 binary64) (/.f64 #s(literal -2 binary64) (+.f64 t #s(literal -1 binary64)))) #s(literal 2 binary64))))
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (+.f64 #s(literal 2 binary64) (/.f64 #s(literal 2 binary64) (+.f64 t #s(literal -1 binary64)))) (+.f64 #s(literal 2 binary64) (/.f64 #s(literal 2 binary64) (+.f64 t #s(literal -1 binary64)))) #s(literal 2 binary64))))
(neg.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 2 binary64) (*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) (neg.f64 t)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (neg.f64 t))))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) (neg.f64 t)) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (neg.f64 t))))))))))
(+.f64 #s(literal -1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal -2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) t)))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal -2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) t)))) #s(literal 2 binary64))))
(+.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (+.f64 #s(literal 2 binary64) (/.f64 #s(literal 2 binary64) (*.f64 t (+.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) t))))) (+.f64 #s(literal 2 binary64) (/.f64 #s(literal 2 binary64) (*.f64 t (+.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) t))))) #s(literal 2 binary64))) #s(literal -1 binary64))
(+.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (-.f64 #s(literal 2 binary64) (/.f64 #s(literal -2 binary64) (+.f64 t #s(literal -1 binary64)))) (-.f64 #s(literal 2 binary64) (/.f64 #s(literal -2 binary64) (+.f64 t #s(literal -1 binary64)))) #s(literal 2 binary64))) #s(literal -1 binary64))
(+.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (+.f64 #s(literal 2 binary64) (/.f64 #s(literal 2 binary64) (+.f64 t #s(literal -1 binary64)))) (+.f64 #s(literal 2 binary64) (/.f64 #s(literal 2 binary64) (+.f64 t #s(literal -1 binary64)))) #s(literal 2 binary64))) #s(literal -1 binary64))
Compiler

Compiled 30 to 12 computations (60% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune3.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 2 binary64) (*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t))))))))
Compiler

Compiled 60 to 24 computations (60% saved)

simplify22.0ms (0.4%)

Algorithm
egg-herbie
Rules
68×unsub-neg
44×neg-mul-1
31×distribute-neg-in
20×neg-sub0
18×distribute-lft-neg-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01697
12897
24397
36597
49797
514497
623297
727797
831797
934697
1037097
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 2 binary64) (*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t))))))))
Outputs
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 2 binary64) (*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t))))))))

soundness1.0ms (0%)

Stop Event
fuel
Compiler

Compiled 30 to 12 computations (60% saved)

preprocess66.0ms (1.2%)

Compiler

Compiled 120 to 48 computations (60% saved)

end0.0ms (0%)

Profiling

Loading profile data...