Eccentricity of an ellipse

Time bar (total: 1.4s)

analyze21.0ms (1.5%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%37.5%62.5%0%0%0%0
0%0%37.5%62.5%0%0%0%1
0%0%18.7%81.3%0%0%0%2
0%0%9.4%90.6%0%0%0%3
0%0%9.4%90.6%0%0%0%4
0%0%7%93%0%0%0%5
20%1.2%4.7%94.1%0%0%0%6
25%1.2%3.5%95.3%0%0%0%7
40%1.8%2.6%95.6%0%0%0%8
51.9%2%1.9%96%0%0%0%9
64.7%2.4%1.3%96.3%0%0%0%10
72.9%2.6%1%96.5%0%0%0%11
80.2%2.7%0.7%96.6%0%0%0%12
Compiler

Compiled 26 to 15 computations (42.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-mult: 2.0ms (22.2% of total)
ival-<=: 2.0ms (22.2% of total)
ival-sub: 1.0ms (11.1% of total)
ival-div: 1.0ms (11.1% of total)
ival-fabs: 1.0ms (11.1% of total)
ival-sqrt: 1.0ms (11.1% of total)
ival-and: 0.0ms (0% of total)
const: 0.0ms (0% of total)

sample1.2s (83.8%)

Results
798.0ms8256×256valid
72.0ms837×256precondition
Precisions
Click to see histograms. Total time spent on operations: 597.0ms
ival-mult: 144.0ms (24.1% of total)
ival-<=: 117.0ms (19.6% of total)
ival-fabs: 87.0ms (14.6% of total)
ival-div: 84.0ms (14.1% of total)
ival-sqrt: 73.0ms (12.2% of total)
ival-sub: 61.0ms (10.2% of total)
ival-and: 19.0ms (3.2% of total)
const: 10.0ms (1.7% of total)
Bogosity

preprocess104.0ms (7.4%)

Algorithm
egg-herbie
Rules
707×times-frac
477×div-sub
450×fma-neg
318×fabs-mul
295×associate-*l/
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
032407
1106323
2390295
32599295
47059295
Stop Event
node limit
Calls
Call 1
Inputs
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 (neg.f64 a) (neg.f64 a)) (*.f64 b b)) (*.f64 (neg.f64 a) (neg.f64 a)))))
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 (neg.f64 b) (neg.f64 b))) (*.f64 a a))))
(neg.f64 (sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 (neg.f64 a) (neg.f64 a)) (*.f64 b b)) (*.f64 (neg.f64 a) (neg.f64 a))))))
(neg.f64 (sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 (neg.f64 b) (neg.f64 b))) (*.f64 a a)))))
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (*.f64 b b))))
Outputs
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
(sqrt.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (*.f64 b (/.f64 b (*.f64 a a))))))
(sqrt.f64 (fabs.f64 (fma.f64 (/.f64 b a) (/.f64 b a) #s(literal -1 binary64))))
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
(sqrt.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (*.f64 b (/.f64 b (*.f64 a a))))))
(sqrt.f64 (fabs.f64 (fma.f64 (/.f64 b a) (/.f64 b a) #s(literal -1 binary64))))
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 (neg.f64 a) (neg.f64 a)) (*.f64 b b)) (*.f64 (neg.f64 a) (neg.f64 a)))))
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
(sqrt.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (*.f64 b (/.f64 b (*.f64 a a))))))
(sqrt.f64 (fabs.f64 (fma.f64 (/.f64 b a) (/.f64 b a) #s(literal -1 binary64))))
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 (neg.f64 b) (neg.f64 b))) (*.f64 a a))))
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
(sqrt.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (*.f64 b (/.f64 b (*.f64 a a))))))
(sqrt.f64 (fabs.f64 (fma.f64 (/.f64 b a) (/.f64 b a) #s(literal -1 binary64))))
(neg.f64 (sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 (neg.f64 a) (neg.f64 a)) (*.f64 b b)) (*.f64 (neg.f64 a) (neg.f64 a))))))
(neg.f64 (sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a)))))
(neg.f64 (sqrt.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (*.f64 b (/.f64 b (*.f64 a a)))))))
(neg.f64 (sqrt.f64 (fabs.f64 (fma.f64 (/.f64 b a) (/.f64 b a) #s(literal -1 binary64)))))
(neg.f64 (sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 (neg.f64 b) (neg.f64 b))) (*.f64 a a)))))
(neg.f64 (sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a)))))
(neg.f64 (sqrt.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (*.f64 b (/.f64 b (*.f64 a a)))))))
(neg.f64 (sqrt.f64 (fabs.f64 (fma.f64 (/.f64 b a) (/.f64 b a) #s(literal -1 binary64)))))
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (*.f64 b b))))
(sqrt.f64 (fabs.f64 (-.f64 #s(literal 1 binary64) (*.f64 (/.f64 a b) (/.f64 a b)))))
(sqrt.f64 (fabs.f64 (fma.f64 (/.f64 a b) (/.f64 a b) #s(literal -1 binary64))))
(sqrt.f64 (fabs.f64 (fma.f64 a (/.f64 a (*.f64 b b)) #s(literal -1 binary64))))
Symmetry

(abs a)

(abs b)

explain75.0ms (5.4%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
610-0-(/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))
00-0-(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
00-0-(fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a)))
00-0-(-.f64 (*.f64 a a) (*.f64 b b))
00-0-(*.f64 b b)
00-0-b
00-0-a
00-0-(*.f64 a a)
Results
47.0ms512×256valid
Compiler

Compiled 123 to 26 computations (78.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 24.0ms
ival-mult: 7.0ms (29.3% of total)
ival-sub: 5.0ms (20.9% of total)
ival-div: 4.0ms (16.7% of total)
ival-sqrt: 4.0ms (16.7% of total)
ival-fabs: 3.0ms (12.6% of total)
const: 0.0ms (0% of total)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0.1%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
76.2%
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
Compiler

Compiled 30 to 16 computations (46.7% saved)

simplify3.0ms (0.2%)

Algorithm
egg-herbie
Rules
sub-neg
+-commutative
*-commutative
neg-sub0
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01457
12257
23557
34957
46057
56657
66957
Stop Event
saturated
Calls
Call 1
Inputs
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
Outputs
(sqrt.f64 (fabs.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 a a))))
(sqrt.f64 (/.f64 (fabs.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (*.f64 a a)))

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 15 to 8 computations (46.7% saved)

preprocess22.0ms (1.6%)

Remove

(abs b)

(abs a)

Compiler

Compiled 180 to 96 computations (46.7% saved)

end0.0ms (0%)

Profiling

Loading profile data...