Kahan p13 Example 3

Time bar (total: 2.7s)

analyze166.0ms (6.1%)

Memory
0.4MiB live, 63.5MiB 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)

sample2.5s (89.5%)

Memory
-3.6MiB live, 699.0MiB allocated
Samples
592.0ms8 256×0valid-baseline
578.0ms8 256×0valid-rival
484.0ms8 256×0valid-sollya
Bogosity

preprocess96.0ms (3.5%)

Memory
5.1MiB 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.3%)

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)

preprocess16.0ms (0.6%)

Memory
-9.1MiB live, 22.3MiB allocated
Compiler

Compiled 120 to 48 computations (60% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...