Kahan p13 Example 3

Time bar (total: 3.9s)

analyze168.0ms (4.3%)

Memory
-3.5MiB live, 62.6MiB allocated
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 62 to 27 computations (56.5% saved)

sample3.6s (92.5%)

Memory
-6.6MiB live, 716.0MiB allocated
Samples
1.0s8 256×0valid-sollya
822.0ms8 256×0valid-rival
812.0ms8 256×0valid-baseline
Bogosity

preprocess95.0ms (2.5%)

Memory
5.5MiB live, 20.6MiB allocated
Algorithm
egg-herbie
Rules
619×fma-define
359×times-frac
349×unsub-neg
330×distribute-lft-neg-in
301×distribute-neg-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
028424
156372
2141372
3403252
41370252
55674252
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%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 1 to 1 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
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)

simplify9.0ms (0.2%)

Memory
1.4MiB live, 1.4MiB allocated
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))))))))

soundness0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Stop Event
fuel
Compiler

Compiled 30 to 12 computations (60% saved)

preprocess18.0ms (0.5%)

Memory
-6.7MiB live, 24.6MiB allocated
Compiler

Compiled 120 to 48 computations (60% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...