Octave 3.8, jcobi/4

Time bar (total: 1.8s)

analyze5.0ms (0.3%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%14%86%0%0%0%0
0%0%14%86%0%0%0%1
50%7%7%86%0%0%0%2
75%10.5%3.5%86%0%0%0%3
87.5%12.3%1.8%86%0%0%0%4
93.8%13.2%0.9%86%0%0%0%5
96.9%13.6%0.4%86%0%0%0%6
98.4%13.8%0.2%86%0%0%0%7
99.2%13.9%0.1%86%0%0%0%8
99.6%14%0.1%86%0%0%0%9
99.8%14%0%86%0%0%0%10
99.9%14%0%86%0%0%0%11
100%14%0%86%0%0%0%12
Compiler

Compiled 67 to 23 computations (65.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0ms
ival-mult: 1.0ms (50.1% of total)
ival-sub: 0.0ms (0% of total)
ival-div: 0.0ms (0% of total)
ival-add: 0.0ms (0% of total)
ival-and: 0.0ms (0% of total)
const: 0.0ms (0% of total)
ival->: 0.0ms (0% of total)

sample1.6s (84.4%)

Results
1.2s8256×256valid
Precisions
Click to see histograms. Total time spent on operations: 844.0ms
ival-mult: 344.0ms (40.7% of total)
ival-add: 174.0ms (20.6% of total)
ival-div: 151.0ms (17.9% of total)
ival->: 100.0ms (11.8% of total)
ival-sub: 46.0ms (5.4% of total)
ival-and: 17.0ms (2% of total)
const: 12.0ms (1.4% of total)
Bogosity

preprocess92.0ms (5%)

Algorithm
egg-herbie
Rules
719×associate-*l*
697×times-frac
677×associate-*r*
674×fma-define
466×associate-+l+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0972489
14572265
222452225
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha beta) i)) (+.f64 (*.f64 beta alpha) (*.f64 i (+.f64 (+.f64 alpha beta) i)))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha beta) i)) (+.f64 (*.f64 beta alpha) (*.f64 i (+.f64 (+.f64 alpha beta) i)))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 (neg.f64 alpha) beta) i)) (+.f64 (*.f64 beta (neg.f64 alpha)) (*.f64 i (+.f64 (+.f64 (neg.f64 alpha) beta) i)))) (*.f64 (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha (neg.f64 beta)) i)) (+.f64 (*.f64 (neg.f64 beta) alpha) (*.f64 i (+.f64 (+.f64 alpha (neg.f64 beta)) i)))) (*.f64 (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
(/.f64 (/.f64 (*.f64 (*.f64 (neg.f64 i) (+.f64 (+.f64 alpha beta) (neg.f64 i))) (+.f64 (*.f64 beta alpha) (*.f64 (neg.f64 i) (+.f64 (+.f64 alpha beta) (neg.f64 i))))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i)))) #s(literal 1 binary64)))
(neg.f64 (/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 (neg.f64 alpha) beta) i)) (+.f64 (*.f64 beta (neg.f64 alpha)) (*.f64 i (+.f64 (+.f64 (neg.f64 alpha) beta) i)))) (*.f64 (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64))))
(neg.f64 (/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha (neg.f64 beta)) i)) (+.f64 (*.f64 (neg.f64 beta) alpha) (*.f64 i (+.f64 (+.f64 alpha (neg.f64 beta)) i)))) (*.f64 (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64))))
(neg.f64 (/.f64 (/.f64 (*.f64 (*.f64 (neg.f64 i) (+.f64 (+.f64 alpha beta) (neg.f64 i))) (+.f64 (*.f64 beta alpha) (*.f64 (neg.f64 i) (+.f64 (+.f64 alpha beta) (neg.f64 i))))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i)))) #s(literal 1 binary64))))
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 beta alpha) i)) (+.f64 (*.f64 alpha beta) (*.f64 i (+.f64 (+.f64 beta alpha) i)))) (*.f64 (+.f64 (+.f64 beta alpha) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 beta alpha) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 beta alpha) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 beta alpha) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
(/.f64 (/.f64 (*.f64 (*.f64 alpha (+.f64 (+.f64 i beta) alpha)) (+.f64 (*.f64 beta i) (*.f64 alpha (+.f64 (+.f64 i beta) alpha)))) (*.f64 (+.f64 (+.f64 i beta) (*.f64 #s(literal 2 binary64) alpha)) (+.f64 (+.f64 i beta) (*.f64 #s(literal 2 binary64) alpha)))) (-.f64 (*.f64 (+.f64 (+.f64 i beta) (*.f64 #s(literal 2 binary64) alpha)) (+.f64 (+.f64 i beta) (*.f64 #s(literal 2 binary64) alpha))) #s(literal 1 binary64)))
(/.f64 (/.f64 (*.f64 (*.f64 beta (+.f64 (+.f64 alpha i) beta)) (+.f64 (*.f64 i alpha) (*.f64 beta (+.f64 (+.f64 alpha i) beta)))) (*.f64 (+.f64 (+.f64 alpha i) (*.f64 #s(literal 2 binary64) beta)) (+.f64 (+.f64 alpha i) (*.f64 #s(literal 2 binary64) beta)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha i) (*.f64 #s(literal 2 binary64) beta)) (+.f64 (+.f64 alpha i) (*.f64 #s(literal 2 binary64) beta))) #s(literal 1 binary64)))
Outputs
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha beta) i)) (+.f64 (*.f64 beta alpha) (*.f64 i (+.f64 (+.f64 alpha beta) i)))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
(/.f64 (*.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 alpha beta (*.f64 i (+.f64 i (+.f64 alpha beta))))) (*.f64 (fma.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) #s(literal -1 binary64)) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))))))
(*.f64 (/.f64 (*.f64 i (+.f64 beta (+.f64 i alpha))) (fma.f64 (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta)) (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta)) #s(literal -1 binary64))) (/.f64 (/.f64 (fma.f64 i (+.f64 beta (+.f64 i alpha)) (*.f64 alpha beta)) (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta))) (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta))))
(*.f64 i (*.f64 (/.f64 (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)) (fma.f64 (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta)) (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta)) #s(literal -1 binary64))) (/.f64 (+.f64 i (+.f64 alpha beta)) (*.f64 (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta)) (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta))))))
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha beta) i)) (+.f64 (*.f64 beta alpha) (*.f64 i (+.f64 (+.f64 alpha beta) i)))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
(/.f64 (*.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 alpha beta (*.f64 i (+.f64 i (+.f64 alpha beta))))) (*.f64 (fma.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) #s(literal -1 binary64)) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))))))
(*.f64 (/.f64 (*.f64 i (+.f64 beta (+.f64 i alpha))) (fma.f64 (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta)) (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta)) #s(literal -1 binary64))) (/.f64 (/.f64 (fma.f64 i (+.f64 beta (+.f64 i alpha)) (*.f64 alpha beta)) (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta))) (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta))))
(*.f64 i (*.f64 (/.f64 (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)) (fma.f64 (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta)) (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta)) #s(literal -1 binary64))) (/.f64 (+.f64 i (+.f64 alpha beta)) (*.f64 (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta)) (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta))))))
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 (neg.f64 alpha) beta) i)) (+.f64 (*.f64 beta (neg.f64 alpha)) (*.f64 i (+.f64 (+.f64 (neg.f64 alpha) beta) i)))) (*.f64 (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
(/.f64 (*.f64 i (*.f64 (+.f64 i (+.f64 beta (neg.f64 alpha))) (fma.f64 beta (neg.f64 alpha) (*.f64 i (+.f64 i (+.f64 beta (neg.f64 alpha))))))) (*.f64 (fma.f64 (+.f64 (*.f64 i #s(literal 2 binary64)) (+.f64 beta (neg.f64 alpha))) (+.f64 (*.f64 i #s(literal 2 binary64)) (+.f64 beta (neg.f64 alpha))) #s(literal -1 binary64)) (*.f64 (+.f64 (*.f64 i #s(literal 2 binary64)) (+.f64 beta (neg.f64 alpha))) (+.f64 (*.f64 i #s(literal 2 binary64)) (+.f64 beta (neg.f64 alpha))))))
(/.f64 (/.f64 (*.f64 i (*.f64 (+.f64 i (-.f64 beta alpha)) (-.f64 (*.f64 i (+.f64 i (-.f64 beta alpha))) (*.f64 alpha beta)))) (fma.f64 (fma.f64 i #s(literal 2 binary64) (-.f64 beta alpha)) (fma.f64 i #s(literal 2 binary64) (-.f64 beta alpha)) #s(literal -1 binary64))) (*.f64 (fma.f64 i #s(literal 2 binary64) (-.f64 beta alpha)) (fma.f64 i #s(literal 2 binary64) (-.f64 beta alpha))))
(*.f64 (*.f64 i (+.f64 i (-.f64 beta alpha))) (/.f64 (/.f64 (-.f64 (*.f64 i (+.f64 i (-.f64 beta alpha))) (*.f64 alpha beta)) (*.f64 (-.f64 (fma.f64 i #s(literal 2 binary64) beta) alpha) (-.f64 (fma.f64 i #s(literal 2 binary64) beta) alpha))) (fma.f64 (-.f64 (fma.f64 i #s(literal 2 binary64) beta) alpha) (-.f64 (fma.f64 i #s(literal 2 binary64) beta) alpha) #s(literal -1 binary64))))
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha (neg.f64 beta)) i)) (+.f64 (*.f64 (neg.f64 beta) alpha) (*.f64 i (+.f64 (+.f64 alpha (neg.f64 beta)) i)))) (*.f64 (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
(/.f64 (*.f64 i (*.f64 (+.f64 i (-.f64 alpha beta)) (fma.f64 (neg.f64 beta) alpha (*.f64 i (+.f64 i (-.f64 alpha beta)))))) (*.f64 (fma.f64 (+.f64 (*.f64 i #s(literal 2 binary64)) (-.f64 alpha beta)) (+.f64 (*.f64 i #s(literal 2 binary64)) (-.f64 alpha beta)) #s(literal -1 binary64)) (*.f64 (+.f64 (*.f64 i #s(literal 2 binary64)) (-.f64 alpha beta)) (+.f64 (*.f64 i #s(literal 2 binary64)) (-.f64 alpha beta)))))
(/.f64 (*.f64 (*.f64 i (+.f64 i (-.f64 alpha beta))) (-.f64 (*.f64 i (+.f64 i (-.f64 alpha beta))) (*.f64 alpha beta))) (*.f64 (*.f64 (fma.f64 i #s(literal 2 binary64) (-.f64 alpha beta)) (fma.f64 i #s(literal 2 binary64) (-.f64 alpha beta))) (fma.f64 (fma.f64 i #s(literal 2 binary64) (-.f64 alpha beta)) (fma.f64 i #s(literal 2 binary64) (-.f64 alpha beta)) #s(literal -1 binary64))))
(*.f64 (/.f64 (-.f64 (*.f64 i (+.f64 i (-.f64 alpha beta))) (*.f64 alpha beta)) (*.f64 (-.f64 alpha (fma.f64 i #s(literal -2 binary64) beta)) (-.f64 alpha (fma.f64 i #s(literal -2 binary64) beta)))) (/.f64 (*.f64 i (+.f64 i (-.f64 alpha beta))) (fma.f64 (-.f64 alpha (fma.f64 i #s(literal -2 binary64) beta)) (-.f64 alpha (fma.f64 i #s(literal -2 binary64) beta)) #s(literal -1 binary64))))
(/.f64 (/.f64 (*.f64 (*.f64 (neg.f64 i) (+.f64 (+.f64 alpha beta) (neg.f64 i))) (+.f64 (*.f64 beta alpha) (*.f64 (neg.f64 i) (+.f64 (+.f64 alpha beta) (neg.f64 i))))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i)))) #s(literal 1 binary64)))
(/.f64 (/.f64 (*.f64 (*.f64 (neg.f64 i) (-.f64 (+.f64 alpha beta) i)) (fma.f64 beta alpha (*.f64 (neg.f64 i) (-.f64 (+.f64 alpha beta) i)))) (*.f64 (+.f64 alpha (+.f64 beta (*.f64 #s(literal 2 binary64) (neg.f64 i)))) (+.f64 alpha (+.f64 beta (*.f64 #s(literal 2 binary64) (neg.f64 i)))))) (fma.f64 (+.f64 alpha (+.f64 beta (*.f64 #s(literal 2 binary64) (neg.f64 i)))) (+.f64 alpha (+.f64 beta (*.f64 #s(literal 2 binary64) (neg.f64 i)))) #s(literal -1 binary64)))
(/.f64 (*.f64 (*.f64 (neg.f64 i) (+.f64 beta (-.f64 alpha i))) (/.f64 (/.f64 (-.f64 (*.f64 alpha beta) (*.f64 i (+.f64 beta (-.f64 alpha i)))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal -2 binary64)))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal -2 binary64))))) (fma.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal -2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal -2 binary64))) #s(literal -1 binary64)))
(*.f64 (/.f64 (fma.f64 i (+.f64 (neg.f64 alpha) (-.f64 i beta)) (*.f64 alpha beta)) (*.f64 (+.f64 beta (fma.f64 i #s(literal -2 binary64) alpha)) (+.f64 beta (fma.f64 i #s(literal -2 binary64) alpha)))) (/.f64 (*.f64 i (+.f64 (neg.f64 alpha) (-.f64 i beta))) (fma.f64 (+.f64 beta (fma.f64 i #s(literal -2 binary64) alpha)) (+.f64 beta (fma.f64 i #s(literal -2 binary64) alpha)) #s(literal -1 binary64))))
(neg.f64 (/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 (neg.f64 alpha) beta) i)) (+.f64 (*.f64 beta (neg.f64 alpha)) (*.f64 i (+.f64 (+.f64 (neg.f64 alpha) beta) i)))) (*.f64 (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64))))
(/.f64 (*.f64 (*.f64 i (+.f64 i (+.f64 beta (neg.f64 alpha)))) (/.f64 (fma.f64 beta (neg.f64 alpha) (*.f64 i (+.f64 i (+.f64 beta (neg.f64 alpha))))) (*.f64 (+.f64 (*.f64 i #s(literal 2 binary64)) (+.f64 beta (neg.f64 alpha))) (+.f64 (*.f64 i #s(literal 2 binary64)) (+.f64 beta (neg.f64 alpha)))))) (neg.f64 (fma.f64 (+.f64 (*.f64 i #s(literal 2 binary64)) (+.f64 beta (neg.f64 alpha))) (+.f64 (*.f64 i #s(literal 2 binary64)) (+.f64 beta (neg.f64 alpha))) #s(literal -1 binary64))))
(*.f64 (*.f64 i (+.f64 i (-.f64 beta alpha))) (/.f64 (/.f64 (-.f64 (*.f64 i (+.f64 i (-.f64 beta alpha))) (*.f64 alpha beta)) (*.f64 (fma.f64 i #s(literal 2 binary64) (-.f64 beta alpha)) (fma.f64 i #s(literal 2 binary64) (-.f64 beta alpha)))) (neg.f64 (fma.f64 (fma.f64 i #s(literal 2 binary64) (-.f64 beta alpha)) (fma.f64 i #s(literal 2 binary64) (-.f64 beta alpha)) #s(literal -1 binary64)))))
(*.f64 i (*.f64 (/.f64 (+.f64 i (-.f64 beta alpha)) (-.f64 (fma.f64 i #s(literal 2 binary64) beta) alpha)) (/.f64 (/.f64 (-.f64 (*.f64 i (+.f64 i (-.f64 beta alpha))) (*.f64 alpha beta)) (-.f64 (fma.f64 i #s(literal 2 binary64) beta) alpha)) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 (fma.f64 i #s(literal 2 binary64) beta) alpha) (-.f64 (fma.f64 i #s(literal 2 binary64) beta) alpha))))))
(neg.f64 (/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha (neg.f64 beta)) i)) (+.f64 (*.f64 (neg.f64 beta) alpha) (*.f64 i (+.f64 (+.f64 alpha (neg.f64 beta)) i)))) (*.f64 (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64))))
(/.f64 (*.f64 (*.f64 i (+.f64 i (-.f64 alpha beta))) (/.f64 (fma.f64 (neg.f64 beta) alpha (*.f64 i (+.f64 i (-.f64 alpha beta)))) (*.f64 (+.f64 (*.f64 i #s(literal 2 binary64)) (-.f64 alpha beta)) (+.f64 (*.f64 i #s(literal 2 binary64)) (-.f64 alpha beta))))) (neg.f64 (fma.f64 (+.f64 (*.f64 i #s(literal 2 binary64)) (-.f64 alpha beta)) (+.f64 (*.f64 i #s(literal 2 binary64)) (-.f64 alpha beta)) #s(literal -1 binary64))))
(/.f64 (neg.f64 (*.f64 (*.f64 i (+.f64 i (-.f64 alpha beta))) (-.f64 (*.f64 i (+.f64 i (-.f64 alpha beta))) (*.f64 alpha beta)))) (*.f64 (*.f64 (fma.f64 i #s(literal 2 binary64) (-.f64 alpha beta)) (fma.f64 i #s(literal 2 binary64) (-.f64 alpha beta))) (fma.f64 (fma.f64 i #s(literal 2 binary64) (-.f64 alpha beta)) (fma.f64 i #s(literal 2 binary64) (-.f64 alpha beta)) #s(literal -1 binary64))))
(/.f64 (/.f64 (*.f64 (*.f64 (+.f64 i (-.f64 alpha beta)) (/.f64 i (-.f64 alpha (fma.f64 i #s(literal -2 binary64) beta)))) (-.f64 (*.f64 i (+.f64 i (-.f64 alpha beta))) (*.f64 alpha beta))) (+.f64 (-.f64 beta alpha) (*.f64 i #s(literal -2 binary64)))) (fma.f64 (-.f64 alpha (fma.f64 i #s(literal -2 binary64) beta)) (-.f64 alpha (fma.f64 i #s(literal -2 binary64) beta)) #s(literal -1 binary64)))
(neg.f64 (/.f64 (/.f64 (*.f64 (*.f64 (neg.f64 i) (+.f64 (+.f64 alpha beta) (neg.f64 i))) (+.f64 (*.f64 beta alpha) (*.f64 (neg.f64 i) (+.f64 (+.f64 alpha beta) (neg.f64 i))))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i)))) #s(literal 1 binary64))))
(/.f64 (/.f64 (*.f64 (*.f64 (neg.f64 i) (-.f64 (+.f64 alpha beta) i)) (fma.f64 beta alpha (*.f64 (neg.f64 i) (-.f64 (+.f64 alpha beta) i)))) (*.f64 (+.f64 alpha (+.f64 beta (*.f64 #s(literal 2 binary64) (neg.f64 i)))) (+.f64 alpha (+.f64 beta (*.f64 #s(literal 2 binary64) (neg.f64 i)))))) (neg.f64 (fma.f64 (+.f64 alpha (+.f64 beta (*.f64 #s(literal 2 binary64) (neg.f64 i)))) (+.f64 alpha (+.f64 beta (*.f64 #s(literal 2 binary64) (neg.f64 i)))) #s(literal -1 binary64))))
(/.f64 (*.f64 (*.f64 (neg.f64 i) (+.f64 beta (-.f64 alpha i))) (neg.f64 (/.f64 (/.f64 (-.f64 (*.f64 alpha beta) (*.f64 i (+.f64 beta (-.f64 alpha i)))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal -2 binary64)))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal -2 binary64)))))) (fma.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal -2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal -2 binary64))) #s(literal -1 binary64)))
(*.f64 (*.f64 i (+.f64 alpha (-.f64 beta i))) (/.f64 (fma.f64 i (+.f64 (neg.f64 alpha) (-.f64 i beta)) (*.f64 alpha beta)) (*.f64 (+.f64 beta (fma.f64 i #s(literal -2 binary64) alpha)) (*.f64 (+.f64 beta (fma.f64 i #s(literal -2 binary64) alpha)) (fma.f64 (+.f64 beta (fma.f64 i #s(literal -2 binary64) alpha)) (+.f64 beta (fma.f64 i #s(literal -2 binary64) alpha)) #s(literal -1 binary64))))))
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 beta alpha) i)) (+.f64 (*.f64 alpha beta) (*.f64 i (+.f64 (+.f64 beta alpha) i)))) (*.f64 (+.f64 (+.f64 beta alpha) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 beta alpha) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 beta alpha) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 beta alpha) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
(/.f64 (*.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 alpha beta (*.f64 i (+.f64 i (+.f64 alpha beta))))) (*.f64 (fma.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) #s(literal -1 binary64)) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))))))
(*.f64 (/.f64 (*.f64 i (+.f64 beta (+.f64 i alpha))) (fma.f64 (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta)) (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta)) #s(literal -1 binary64))) (/.f64 (/.f64 (fma.f64 i (+.f64 beta (+.f64 i alpha)) (*.f64 alpha beta)) (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta))) (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta))))
(*.f64 i (*.f64 (/.f64 (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)) (fma.f64 (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta)) (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta)) #s(literal -1 binary64))) (/.f64 (+.f64 i (+.f64 alpha beta)) (*.f64 (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta)) (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta))))))
(/.f64 (/.f64 (*.f64 (*.f64 alpha (+.f64 (+.f64 i beta) alpha)) (+.f64 (*.f64 beta i) (*.f64 alpha (+.f64 (+.f64 i beta) alpha)))) (*.f64 (+.f64 (+.f64 i beta) (*.f64 #s(literal 2 binary64) alpha)) (+.f64 (+.f64 i beta) (*.f64 #s(literal 2 binary64) alpha)))) (-.f64 (*.f64 (+.f64 (+.f64 i beta) (*.f64 #s(literal 2 binary64) alpha)) (+.f64 (+.f64 i beta) (*.f64 #s(literal 2 binary64) alpha))) #s(literal 1 binary64)))
(/.f64 (*.f64 (*.f64 alpha (+.f64 i (+.f64 alpha beta))) (fma.f64 beta i (*.f64 alpha (+.f64 i (+.f64 alpha beta))))) (*.f64 (fma.f64 (+.f64 i (+.f64 beta (*.f64 alpha #s(literal 2 binary64)))) (+.f64 i (+.f64 beta (*.f64 alpha #s(literal 2 binary64)))) #s(literal -1 binary64)) (*.f64 (+.f64 i (+.f64 beta (*.f64 alpha #s(literal 2 binary64)))) (+.f64 i (+.f64 beta (*.f64 alpha #s(literal 2 binary64)))))))
(*.f64 (*.f64 alpha (+.f64 beta (+.f64 i alpha))) (/.f64 (/.f64 (fma.f64 i beta (*.f64 alpha (+.f64 beta (+.f64 i alpha)))) (*.f64 (fma.f64 alpha #s(literal 2 binary64) (+.f64 i beta)) (fma.f64 alpha #s(literal 2 binary64) (+.f64 i beta)))) (fma.f64 (fma.f64 alpha #s(literal 2 binary64) (+.f64 i beta)) (fma.f64 alpha #s(literal 2 binary64) (+.f64 i beta)) #s(literal -1 binary64))))
(*.f64 alpha (*.f64 (/.f64 (fma.f64 alpha (+.f64 i (+.f64 alpha beta)) (*.f64 i beta)) (*.f64 (+.f64 i (fma.f64 alpha #s(literal 2 binary64) beta)) (+.f64 i (fma.f64 alpha #s(literal 2 binary64) beta)))) (/.f64 (+.f64 i (+.f64 alpha beta)) (fma.f64 (+.f64 i (fma.f64 alpha #s(literal 2 binary64) beta)) (+.f64 i (fma.f64 alpha #s(literal 2 binary64) beta)) #s(literal -1 binary64)))))
(/.f64 (/.f64 (*.f64 (*.f64 beta (+.f64 (+.f64 alpha i) beta)) (+.f64 (*.f64 i alpha) (*.f64 beta (+.f64 (+.f64 alpha i) beta)))) (*.f64 (+.f64 (+.f64 alpha i) (*.f64 #s(literal 2 binary64) beta)) (+.f64 (+.f64 alpha i) (*.f64 #s(literal 2 binary64) beta)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha i) (*.f64 #s(literal 2 binary64) beta)) (+.f64 (+.f64 alpha i) (*.f64 #s(literal 2 binary64) beta))) #s(literal 1 binary64)))
(/.f64 (*.f64 (*.f64 beta (+.f64 i (+.f64 alpha beta))) (fma.f64 i alpha (*.f64 beta (+.f64 i (+.f64 alpha beta))))) (*.f64 (fma.f64 (+.f64 alpha (+.f64 i (*.f64 beta #s(literal 2 binary64)))) (+.f64 alpha (+.f64 i (*.f64 beta #s(literal 2 binary64)))) #s(literal -1 binary64)) (*.f64 (+.f64 alpha (+.f64 i (*.f64 beta #s(literal 2 binary64)))) (+.f64 alpha (+.f64 i (*.f64 beta #s(literal 2 binary64)))))))
(/.f64 (*.f64 (fma.f64 i alpha (*.f64 beta (+.f64 beta (+.f64 i alpha)))) (*.f64 beta (/.f64 (+.f64 beta (+.f64 i alpha)) (fma.f64 beta #s(literal 2 binary64) (+.f64 i alpha))))) (*.f64 (fma.f64 (fma.f64 beta #s(literal 2 binary64) (+.f64 i alpha)) (fma.f64 beta #s(literal 2 binary64) (+.f64 i alpha)) #s(literal -1 binary64)) (fma.f64 beta #s(literal 2 binary64) (+.f64 i alpha))))
(*.f64 (*.f64 beta (+.f64 i (+.f64 alpha beta))) (/.f64 (fma.f64 i alpha (*.f64 beta (+.f64 i (+.f64 alpha beta)))) (*.f64 (*.f64 (+.f64 i (fma.f64 beta #s(literal 2 binary64) alpha)) (+.f64 i (fma.f64 beta #s(literal 2 binary64) alpha))) (fma.f64 (+.f64 i (fma.f64 beta #s(literal 2 binary64) alpha)) (+.f64 i (fma.f64 beta #s(literal 2 binary64) alpha)) #s(literal -1 binary64)))))
Symmetry

(sort alpha beta)

explain164.0ms (8.9%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
2130-0-(/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha beta) i)) (+.f64 (*.f64 beta alpha) (*.f64 i (+.f64 (+.f64 alpha beta) i)))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i))))
1250-0-(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha beta) i)) (+.f64 (*.f64 beta alpha) (*.f64 i (+.f64 (+.f64 alpha beta) i)))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
00-0-#s(literal 2 binary64)
00-0-(+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i))
00-0-(+.f64 (*.f64 beta alpha) (*.f64 i (+.f64 (+.f64 alpha beta) i)))
00-0-(*.f64 (*.f64 i (+.f64 (+.f64 alpha beta) i)) (+.f64 (*.f64 beta alpha) (*.f64 i (+.f64 (+.f64 alpha beta) i))))
00-0-(*.f64 beta alpha)
00-0-alpha
00-0-(+.f64 (+.f64 alpha beta) i)
00-0-(-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64))
00-0-(+.f64 alpha beta)
00-0-(*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)))
00-0-beta
00-0-(*.f64 #s(literal 2 binary64) i)
00-0-(*.f64 i (+.f64 (+.f64 alpha beta) i))
00-0-i
00-0-#s(literal 1 binary64)
Results
80.0ms512×256valid
Compiler

Compiled 430 to 53 computations (87.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 43.0ms
ival-mult: 21.0ms (49.3% of total)
ival-add: 11.0ms (25.8% of total)
ival-div: 6.0ms (14.1% of total)
ival-sub: 3.0ms (7% of total)
const: 1.0ms (2.3% of total)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0.1%)

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

Compiled 112 to 34 computations (69.6% saved)

simplify6.0ms (0.3%)

Algorithm
egg-herbie
Rules
+-commutative
*-commutative
1-exp
unsub-neg
sub-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023223
139223
243223
346223
449223
552223
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha beta) i)) (+.f64 (*.f64 beta alpha) (*.f64 i (+.f64 (+.f64 alpha beta) i)))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
Outputs
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha beta) i)) (+.f64 (*.f64 beta alpha) (*.f64 i (+.f64 (+.f64 alpha beta) i)))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (+.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (*.f64 alpha beta))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64)))) #s(literal 1 binary64)))
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (+.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (*.f64 alpha beta))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))))) (+.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64)))) #s(literal -1 binary64)))

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 56 to 17 computations (69.6% saved)

preprocess19.0ms (1%)

Remove

(sort alpha beta)

Compiler

Compiled 448 to 136 computations (69.6% saved)

end0.0ms (0%)

Profiling

Loading profile data...