Details

Time bar (total: 16.5s)

analyze519.0ms (3.1%)

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

Compiled 24 to 16 computations (33.3% saved)

sample2.4s (14.6%)

Results
1.4s8256×body256valid
949.0ms5700×body256infinite
Bogosity

preprocess66.0ms (0.4%)

Algorithm
egg-herbie
Rules
771×fma-def_binary64
329×associate-+l+_binary64
267×associate-+r+_binary64
212×+-commutative_binary64
28×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0133580
1363464
21010464
31727464
41866464
51872464
088
188
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
3
4
5
6
7
Outputs
0
1
0
2
3
2
4
5
4
6
7
6
Call 2
Inputs
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
(+.f64 (+.f64 (+.f64 (*.f64 y x) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
(+.f64 (+.f64 (+.f64 (*.f64 z y) (*.f64 x t)) (*.f64 a b)) (*.f64 c i))
(+.f64 (+.f64 (+.f64 (*.f64 t y) (*.f64 z x)) (*.f64 a b)) (*.f64 c i))
(+.f64 (+.f64 (+.f64 (*.f64 a y) (*.f64 z t)) (*.f64 x b)) (*.f64 c i))
(+.f64 (+.f64 (+.f64 (*.f64 b y) (*.f64 z t)) (*.f64 a x)) (*.f64 c i))
(+.f64 (+.f64 (+.f64 (*.f64 c y) (*.f64 z t)) (*.f64 a b)) (*.f64 x i))
(+.f64 (+.f64 (+.f64 (*.f64 i y) (*.f64 z t)) (*.f64 a b)) (*.f64 c x))
(+.f64 (+.f64 (+.f64 (*.f64 x z) (*.f64 y t)) (*.f64 a b)) (*.f64 c i))
(+.f64 (+.f64 (+.f64 (*.f64 x t) (*.f64 z y)) (*.f64 a b)) (*.f64 c i))
(+.f64 (+.f64 (+.f64 (*.f64 x a) (*.f64 z t)) (*.f64 y b)) (*.f64 c i))
(+.f64 (+.f64 (+.f64 (*.f64 x b) (*.f64 z t)) (*.f64 a y)) (*.f64 c i))
(+.f64 (+.f64 (+.f64 (*.f64 x c) (*.f64 z t)) (*.f64 a b)) (*.f64 y i))
(+.f64 (+.f64 (+.f64 (*.f64 x i) (*.f64 z t)) (*.f64 a b)) (*.f64 c y))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 t z)) (*.f64 a b)) (*.f64 c i))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 a t)) (*.f64 z b)) (*.f64 c i))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 b t)) (*.f64 a z)) (*.f64 c i))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 c t)) (*.f64 a b)) (*.f64 z i))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 i t)) (*.f64 a b)) (*.f64 c z))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z a)) (*.f64 t b)) (*.f64 c i))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z b)) (*.f64 a t)) (*.f64 c i))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z c)) (*.f64 a b)) (*.f64 t i))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z i)) (*.f64 a b)) (*.f64 c t))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 b a)) (*.f64 c i))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 c b)) (*.f64 a i))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 i b)) (*.f64 c a))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a c)) (*.f64 b i))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a i)) (*.f64 c b))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 i c))
Outputs
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 c i)))
(fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))
(fma.f64 c i (fma.f64 z t (fma.f64 a b (*.f64 x y))))
(+.f64 (+.f64 (+.f64 (*.f64 y x) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 c i)))
(fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))
(fma.f64 c i (fma.f64 z t (fma.f64 a b (*.f64 x y))))
(+.f64 (+.f64 (+.f64 (*.f64 z y) (*.f64 x t)) (*.f64 a b)) (*.f64 c i))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (fma.f64 x t (*.f64 y z))))
(fma.f64 c i (fma.f64 x t (fma.f64 y z (*.f64 a b))))
(fma.f64 a b (fma.f64 c i (fma.f64 x t (*.f64 y z))))
(fma.f64 x t (fma.f64 c i (fma.f64 y z (*.f64 a b))))
(+.f64 (+.f64 (+.f64 (*.f64 t y) (*.f64 z x)) (*.f64 a b)) (*.f64 c i))
(+.f64 (fma.f64 t y (*.f64 x z)) (+.f64 (*.f64 a b) (*.f64 c i)))
(fma.f64 c i (fma.f64 x z (fma.f64 y t (*.f64 a b))))
(fma.f64 y t (fma.f64 x z (fma.f64 a b (*.f64 c i))))
(fma.f64 x z (fma.f64 a b (fma.f64 c i (*.f64 y t))))
(+.f64 (+.f64 (+.f64 (*.f64 a y) (*.f64 z t)) (*.f64 x b)) (*.f64 c i))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y a) (fma.f64 x b (*.f64 z t))))
(fma.f64 c i (fma.f64 x b (fma.f64 y a (*.f64 z t))))
(fma.f64 x b (fma.f64 z t (fma.f64 y a (*.f64 c i))))
(fma.f64 x b (fma.f64 y a (fma.f64 z t (*.f64 c i))))
(+.f64 (+.f64 (+.f64 (*.f64 b y) (*.f64 z t)) (*.f64 a x)) (*.f64 c i))
(+.f64 (*.f64 c i) (+.f64 (fma.f64 b y (*.f64 z t)) (*.f64 x a)))
(fma.f64 c i (fma.f64 x a (fma.f64 y b (*.f64 z t))))
(fma.f64 z t (fma.f64 y b (fma.f64 x a (*.f64 c i))))
(+.f64 (+.f64 (+.f64 (*.f64 c y) (*.f64 z t)) (*.f64 a b)) (*.f64 x i))
(+.f64 (fma.f64 c y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 x i)))
(fma.f64 x i (fma.f64 y c (fma.f64 z t (*.f64 a b))))
(+.f64 (+.f64 (+.f64 (*.f64 i y) (*.f64 z t)) (*.f64 a b)) (*.f64 c x))
(+.f64 (fma.f64 i y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 x c)))
(fma.f64 x c (fma.f64 y i (fma.f64 z t (*.f64 a b))))
(+.f64 (+.f64 (+.f64 (*.f64 x z) (*.f64 y t)) (*.f64 a b)) (*.f64 c i))
(+.f64 (fma.f64 t y (*.f64 x z)) (+.f64 (*.f64 a b) (*.f64 c i)))
(fma.f64 c i (fma.f64 x z (fma.f64 y t (*.f64 a b))))
(fma.f64 y t (fma.f64 x z (fma.f64 a b (*.f64 c i))))
(fma.f64 x z (fma.f64 a b (fma.f64 c i (*.f64 y t))))
(+.f64 (+.f64 (+.f64 (*.f64 x t) (*.f64 z y)) (*.f64 a b)) (*.f64 c i))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (fma.f64 x t (*.f64 y z))))
(fma.f64 c i (fma.f64 x t (fma.f64 y z (*.f64 a b))))
(fma.f64 a b (fma.f64 c i (fma.f64 x t (*.f64 y z))))
(fma.f64 x t (fma.f64 c i (fma.f64 y z (*.f64 a b))))
(+.f64 (+.f64 (+.f64 (*.f64 x a) (*.f64 z t)) (*.f64 y b)) (*.f64 c i))
(+.f64 (*.f64 c i) (+.f64 (fma.f64 b y (*.f64 z t)) (*.f64 x a)))
(fma.f64 c i (fma.f64 x a (fma.f64 y b (*.f64 z t))))
(fma.f64 z t (fma.f64 y b (fma.f64 x a (*.f64 c i))))
(+.f64 (+.f64 (+.f64 (*.f64 x b) (*.f64 z t)) (*.f64 a y)) (*.f64 c i))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y a) (fma.f64 x b (*.f64 z t))))
(fma.f64 c i (fma.f64 x b (fma.f64 y a (*.f64 z t))))
(fma.f64 x b (fma.f64 z t (fma.f64 y a (*.f64 c i))))
(fma.f64 x b (fma.f64 y a (fma.f64 z t (*.f64 c i))))
(+.f64 (+.f64 (+.f64 (*.f64 x c) (*.f64 z t)) (*.f64 a b)) (*.f64 y i))
(+.f64 (fma.f64 i y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 x c)))
(fma.f64 x c (fma.f64 y i (fma.f64 z t (*.f64 a b))))
(+.f64 (+.f64 (+.f64 (*.f64 x i) (*.f64 z t)) (*.f64 a b)) (*.f64 c y))
(+.f64 (fma.f64 c y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 x i)))
(fma.f64 x i (fma.f64 y c (fma.f64 z t (*.f64 a b))))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 t z)) (*.f64 a b)) (*.f64 c i))
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 c i)))
(fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))
(fma.f64 c i (fma.f64 z t (fma.f64 a b (*.f64 x y))))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 a t)) (*.f64 z b)) (*.f64 c i))
(+.f64 (*.f64 c i) (+.f64 (fma.f64 x y (*.f64 t a)) (*.f64 z b)))
(fma.f64 c i (fma.f64 x y (fma.f64 z b (*.f64 t a))))
(fma.f64 x y (fma.f64 z b (fma.f64 t a (*.f64 c i))))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 b t)) (*.f64 a z)) (*.f64 c i))
(+.f64 (*.f64 c i) (+.f64 (fma.f64 x y (*.f64 t b)) (*.f64 z a)))
(fma.f64 c i (fma.f64 t b (fma.f64 x y (*.f64 z a))))
(fma.f64 z a (fma.f64 c i (fma.f64 x y (*.f64 t b))))
(fma.f64 z a (fma.f64 t b (fma.f64 x y (*.f64 c i))))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 c t)) (*.f64 a b)) (*.f64 z i))
(+.f64 (fma.f64 x y (*.f64 t c)) (+.f64 (*.f64 a b) (*.f64 z i)))
(fma.f64 z i (fma.f64 x y (fma.f64 a b (*.f64 t c))))
(fma.f64 x y (fma.f64 z i (fma.f64 a b (*.f64 t c))))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 i t)) (*.f64 a b)) (*.f64 c z))
(+.f64 (fma.f64 x y (*.f64 t i)) (+.f64 (*.f64 a b) (*.f64 z c)))
(fma.f64 z c (fma.f64 x y (fma.f64 t i (*.f64 a b))))
(fma.f64 x y (fma.f64 t i (fma.f64 z c (*.f64 a b))))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z a)) (*.f64 t b)) (*.f64 c i))
(+.f64 (*.f64 c i) (+.f64 (fma.f64 x y (*.f64 t b)) (*.f64 z a)))
(fma.f64 c i (fma.f64 t b (fma.f64 x y (*.f64 z a))))
(fma.f64 z a (fma.f64 c i (fma.f64 x y (*.f64 t b))))
(fma.f64 z a (fma.f64 t b (fma.f64 x y (*.f64 c i))))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z b)) (*.f64 a t)) (*.f64 c i))
(+.f64 (*.f64 c i) (+.f64 (fma.f64 x y (*.f64 t a)) (*.f64 z b)))
(fma.f64 c i (fma.f64 x y (fma.f64 z b (*.f64 t a))))
(fma.f64 x y (fma.f64 z b (fma.f64 t a (*.f64 c i))))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z c)) (*.f64 a b)) (*.f64 t i))
(+.f64 (fma.f64 x y (*.f64 t i)) (+.f64 (*.f64 a b) (*.f64 z c)))
(fma.f64 z c (fma.f64 x y (fma.f64 t i (*.f64 a b))))
(fma.f64 x y (fma.f64 t i (fma.f64 z c (*.f64 a b))))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z i)) (*.f64 a b)) (*.f64 c t))
(+.f64 (fma.f64 x y (*.f64 t c)) (+.f64 (*.f64 a b) (*.f64 z i)))
(fma.f64 z i (fma.f64 x y (fma.f64 a b (*.f64 t c))))
(fma.f64 x y (fma.f64 z i (fma.f64 a b (*.f64 t c))))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 b a)) (*.f64 c i))
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 c i)))
(fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))
(fma.f64 c i (fma.f64 z t (fma.f64 a b (*.f64 x y))))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 c b)) (*.f64 a i))
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 b c) (*.f64 a i)))
(fma.f64 a i (fma.f64 b c (fma.f64 x y (*.f64 z t))))
(fma.f64 a i (fma.f64 x y (fma.f64 b c (*.f64 z t))))
(fma.f64 x y (fma.f64 a i (fma.f64 b c (*.f64 z t))))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 i b)) (*.f64 c a))
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 b i) (*.f64 a c)))
(fma.f64 a c (fma.f64 b i (fma.f64 x y (*.f64 z t))))
(fma.f64 a c (fma.f64 z t (fma.f64 x y (*.f64 b i))))
(fma.f64 x y (fma.f64 b i (fma.f64 a c (*.f64 z t))))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a c)) (*.f64 b i))
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 b i) (*.f64 a c)))
(fma.f64 a c (fma.f64 b i (fma.f64 x y (*.f64 z t))))
(fma.f64 a c (fma.f64 z t (fma.f64 x y (*.f64 b i))))
(fma.f64 x y (fma.f64 b i (fma.f64 a c (*.f64 z t))))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a i)) (*.f64 c b))
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 b c) (*.f64 a i)))
(fma.f64 a i (fma.f64 b c (fma.f64 x y (*.f64 z t))))
(fma.f64 a i (fma.f64 x y (fma.f64 b c (*.f64 z t))))
(fma.f64 x y (fma.f64 a i (fma.f64 b c (*.f64 z t))))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 i c))
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 c i)))
(fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))
(fma.f64 c i (fma.f64 z t (fma.f64 a b (*.f64 x y))))
Symmetry

(sort x y)

(sort z t)

(sort a b)

(sort c i)

Compiler

Compiled 31 to 23 computations (25.8% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
58×fma-def_binary64
24×associate-+l+_binary64
21×associate-+r+_binary64
17×+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01620
12816
26316
312416
415016
515216
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
Outputs
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
(+.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 c i)))
(fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))
(fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))

eval1.0ms (0%)

Compiler

Compiled 35 to 18 computations (48.6% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))
0.0b
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
Compiler

Compiled 43 to 27 computations (37.2% saved)

localize17.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
0.0b
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
0.0b
(+.f64 (*.f64 x y) (*.f64 z t))
Compiler

Compiled 61 to 15 computations (75.4% saved)

series24.0ms (0.1%)

Counts
3 → 216
Calls

54 calls:

TimeVariablePointExpression
2.0ms
x
@0
(+.f64 (*.f64 x y) (*.f64 z t))
1.0ms
a
@inf
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
1.0ms
z
@0
(+.f64 (*.f64 x y) (*.f64 z t))
1.0ms
c
@0
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
1.0ms
x
@-inf
(+.f64 (*.f64 x y) (*.f64 z t))

rewrite135.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
922×log-prod_binary64
509×fma-neg_binary64
330×expm1-udef_binary64
330×log1p-udef_binary64
276×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01642
134836
2505836
Stop Event
node limit
Counts
3 → 157
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 z t))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x y (*.f64 z t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 x y) (*.f64 z t))) (/.f64 (pow.f64 (*.f64 z t) 2) (-.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x y (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x y (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x y (*.f64 z t))) (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 z t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 z t))) 2) (cbrt.f64 (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x y (*.f64 z t))) (sqrt.f64 (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z t) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 z t) (-.f64 (*.f64 z t) (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z t) 2)) (/.f64 1 (-.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 z t) (-.f64 (*.f64 z t) (*.f64 x y)))) (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z t) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z t) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z t) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 z t) (-.f64 (*.f64 z t) (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z t) 3)) (+.f64 (pow.f64 (*.f64 z t) 2) (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 x y) (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z t) 2)) (-.f64 (*.f64 x y) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 z t) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (*.f64 z t) (-.f64 (*.f64 z t) (*.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (*.f64 z t) 2))) (neg.f64 (-.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z t) 2) (pow.f64 (*.f64 x y) 2)) (-.f64 (*.f64 z t) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x y (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 z t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x y (*.f64 z t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (pow.f64 (exp.f64 t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) y) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (+.f64 1 (expm1.f64 (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z t))) (pow.f64 (exp.f64 x) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 t) z) (+.f64 1 (expm1.f64 (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z t))) (+.f64 1 (expm1.f64 (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x y (*.f64 z t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x y) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z t) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (cbrt.f64 (*.f64 z t)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z t)) (sqrt.f64 (*.f64 z t)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (*.f64 z t))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b))) (/.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a b (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) (pow.f64 (cbrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) 2) (cbrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) (sqrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 3) (pow.f64 (*.f64 a b) 3)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (fma.f64 x y (*.f64 z t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (pow.f64 (*.f64 a b) 2)) (/.f64 1 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (fma.f64 x y (*.f64 z t))))) (+.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 3) (pow.f64 (*.f64 a b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b)) (-.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (pow.f64 (*.f64 a b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 3) (pow.f64 (*.f64 a b) 3)) (+.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 3) (pow.f64 (*.f64 a b) 3)) (+.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (*.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (pow.f64 (*.f64 a b) 2)) (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 3) (pow.f64 (*.f64 a b) 3))) (neg.f64 (+.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (fma.f64 x y (*.f64 z t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (pow.f64 (*.f64 a b) 2))) (neg.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (fma.f64 z t (*.f64 a b)) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (*.f64 (fma.f64 z t (*.f64 a b)) (fma.f64 z t (*.f64 a b))) (*.f64 (*.f64 x y) (fma.f64 z t (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (*.f64 (fma.f64 z t (*.f64 a b)) (fma.f64 z t (*.f64 a b)))) (-.f64 (*.f64 x y) (fma.f64 z t (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (fma.f64 x y (*.f64 z t)) 2)) (-.f64 (*.f64 a b) (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (exp.f64 (fma.f64 z t (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) y) (*.f64 (pow.f64 (exp.f64 t) z) (pow.f64 (exp.f64 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x y))) (*.f64 (pow.f64 (exp.f64 t) z) (pow.f64 (exp.f64 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y (*.f64 z t)))) (pow.f64 (exp.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 x y (*.f64 z t))) (+.f64 1 (expm1.f64 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y (*.f64 z t)))) (+.f64 1 (expm1.f64 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a b))) (exp.f64 (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 a) b) (+.f64 1 (expm1.f64 (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a b))) (+.f64 1 (expm1.f64 (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z t (*.f64 a b))) (pow.f64 (exp.f64 x) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 t) z) (pow.f64 (exp.f64 a) b)) (pow.f64 (exp.f64 x) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z t (*.f64 a b))) (+.f64 1 (expm1.f64 (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 t) z) (pow.f64 (exp.f64 a) b)) (+.f64 1 (expm1.f64 (*.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (fma.f64 z t (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (fma.f64 z t (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a b (fma.f64 x y (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b a (fma.f64 x y (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x y) (fma.f64 z t (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x y (*.f64 z t)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a b) (fma.f64 x y (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (*.f64 a b)) (fma.f64 x y (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 z t))) 2) (cbrt.f64 (fma.f64 x y (*.f64 z t))) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x y)) 2) (cbrt.f64 (*.f64 x y)) (fma.f64 z t (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)) (fma.f64 x y (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x y (*.f64 z t))) (sqrt.f64 (fma.f64 x y (*.f64 z t))) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x y)) (sqrt.f64 (*.f64 x y)) (fma.f64 z t (*.f64 a b)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2) (-.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) (*.f64 c i))) (/.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))) (pow.f64 (cbrt.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))) 2) (cbrt.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))) (sqrt.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 3) (pow.f64 (*.f64 c i) 3)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 a b (fma.f64 x y (*.f64 z t))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2) (pow.f64 (*.f64 c i) 2)) (/.f64 1 (-.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 a b (fma.f64 x y (*.f64 z t)))))) (+.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 3) (pow.f64 (*.f64 c i) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) (*.f64 c i)) (-.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2) (pow.f64 (*.f64 c i) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 3) (pow.f64 (*.f64 c i) 3)) (+.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 3) (pow.f64 (*.f64 c i) 3)) (+.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2) (*.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2) (pow.f64 (*.f64 c i) 2)) (-.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 3) (pow.f64 (*.f64 c i) 3))) (neg.f64 (+.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 a b (fma.f64 x y (*.f64 z t))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2) (pow.f64 (*.f64 c i) 2))) (neg.f64 (-.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 3) (pow.f64 (fma.f64 a b (*.f64 c i)) 3)) (+.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (-.f64 (*.f64 (fma.f64 a b (*.f64 c i)) (fma.f64 a b (*.f64 c i))) (*.f64 (fma.f64 x y (*.f64 z t)) (fma.f64 a b (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x y (*.f64 z t)) 2) (*.f64 (fma.f64 a b (*.f64 c i)) (fma.f64 a b (*.f64 c i)))) (-.f64 (fma.f64 x y (*.f64 z t)) (fma.f64 a b (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))) 2)) (-.f64 (*.f64 c i) (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y (*.f64 z t)))) (exp.f64 (fma.f64 a b (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 x y (*.f64 z t))) (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 i) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x y (*.f64 z t)))) (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 i) c))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))))) (pow.f64 (exp.f64 i) c)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) (+.f64 1 (expm1.f64 (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))))) (+.f64 1 (expm1.f64 (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 c i))) (exp.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 i) c) (+.f64 1 (expm1.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 c i))) (+.f64 1 (expm1.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 a b (*.f64 c i))) (exp.f64 (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 i) c)) (exp.f64 (fma.f64 x y (*.f64 z t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 a b (*.f64 c i))) (+.f64 1 (expm1.f64 (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 i) c)) (+.f64 1 (expm1.f64 (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c i (fma.f64 a b (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 i c (fma.f64 a b (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x y (*.f64 z t)) (fma.f64 a b (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 a b (fma.f64 x y (*.f64 z t))) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 c i) (fma.f64 a b (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 c i)) 2) (cbrt.f64 (*.f64 c i)) (fma.f64 a b (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) 2) (cbrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 z t))) 2) (cbrt.f64 (fma.f64 x y (*.f64 z t))) (fma.f64 a b (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 c i)) (sqrt.f64 (*.f64 c i)) (fma.f64 a b (fma.f64 x y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) (sqrt.f64 (fma.f64 a b (fma.f64 x y (*.f64 z t)))) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x y (*.f64 z t))) (sqrt.f64 (fma.f64 x y (*.f64 z t))) (fma.f64 a b (*.f64 c i)))))))

simplify75.0ms (0.5%)

Algorithm
egg-herbie
Rules
56×fma-def_binary64
22×associate-+l+_binary64
17×associate-+r+_binary64
16×+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0222392
1532392
21042392
31382392
41422392
Stop Event
saturated
Counts
373 → 178
Calls
Call 1
Inputs
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
Outputs
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(fma.f64 t z (*.f64 a b))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(fma.f64 t z (*.f64 a b))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(fma.f64 t z (fma.f64 a b (*.f64 c i)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(fma.f64 t z (fma.f64 a b (*.f64 c i)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 a b (fma.f64 y x (*.f64 c i)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 a b (fma.f64 y x (*.f64 c i)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 c i)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 c i)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 a b (fma.f64 c i (fma.f64 t z (*.f64 y x))))
(fma.f64 a b (fma.f64 t z (fma.f64 y x (*.f64 c i))))
(fma.f64 t z (fma.f64 a b (fma.f64 y x (*.f64 c i))))

localize16.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))
0.0b
(fma.f64 z t (fma.f64 c i (*.f64 a b)))
Compiler

Compiled 46 to 12 computations (73.9% saved)

series20.0ms (0.1%)

Counts
2 → 168
Calls

42 calls:

TimeVariablePointExpression
2.0ms
b
@inf
(fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))
2.0ms
t
@-inf
(fma.f64 z t (fma.f64 c i (*.f64 a b)))
1.0ms
z
@0
(fma.f64 z t (fma.f64 c i (*.f64 a b)))
1.0ms
z
@inf
(fma.f64 z t (fma.f64 c i (*.f64 a b)))
0.0ms
z
@-inf
(fma.f64 z t (fma.f64 c i (*.f64 a b)))

rewrite72.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
621×log-prod_binary64
405×pow-prod-down_binary64
350×pow2_binary64
304×prod-diff_binary64
245×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01328
125528
2303828
Stop Event
node limit
Counts
2 → 62
Calls
Call 1
Inputs
(fma.f64 z t (fma.f64 c i (*.f64 a b)))
(fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 a b (*.f64 c i)) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z t) (fma.f64 a b (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 z t (fma.f64 a b (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z t) 1) (fma.f64 a b (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z t (*.f64 c i)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z t (fma.f64 a b (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i)))) (pow.f64 (cbrt.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i)))) 2) (cbrt.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i)))) (sqrt.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z t) 3) (pow.f64 (fma.f64 a b (*.f64 c i)) 3)) (+.f64 (pow.f64 (*.f64 z t) 2) (-.f64 (pow.f64 (fma.f64 a b (*.f64 c i)) 2) (*.f64 (*.f64 z t) (fma.f64 a b (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z t) 2) (pow.f64 (fma.f64 a b (*.f64 c i)) 2)) (-.f64 (*.f64 z t) (fma.f64 a b (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 a b (*.f64 c i))) (exp.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 a b (*.f64 c i)))) (exp.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 z t)) (+.f64 1 (expm1.f64 (fma.f64 a b (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i))) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (fma.f64 z t (fma.f64 a b (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x y) 1) (fma.f64 z t (fma.f64 a b (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x y (*.f64 z t)) (fma.f64 a b (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i)))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i))))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i))))) (pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i))))) 2) (cbrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i))))) (sqrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i))) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (pow.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i))) 2) (*.f64 (*.f64 x y) (fma.f64 z t (fma.f64 a b (*.f64 c i)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i))) 2)) (-.f64 (*.f64 x y) (fma.f64 z t (fma.f64 a b (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i)))) (exp.f64 (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i))))) (exp.f64 (*.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 x y)) (+.f64 1 (expm1.f64 (fma.f64 z t (fma.f64 a b (*.f64 c i)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x y (fma.f64 z t (fma.f64 a b (*.f64 c i))))) 1))))))

simplify55.0ms (0.3%)

Algorithm
egg-herbie
Rules
56×fma-def_binary64
15×associate-+l+_binary64
14×+-commutative_binary64
12×associate-+r+_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0252056
1612056
21032056
31232056
41272056
Stop Event
saturated
Counts
230 → 84
Calls
Call 1
Inputs
(+.f64 (*.f64 c i) (*.f64 a b))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 c i) (*.f64 a b))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
Outputs
(+.f64 (*.f64 c i) (*.f64 a b))
(fma.f64 c i (*.f64 a b))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 c i) (*.f64 a b))
(fma.f64 c i (*.f64 a b))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(fma.f64 t z (*.f64 a b))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(fma.f64 t z (*.f64 a b))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(fma.f64 c i (fma.f64 t z (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 c i (fma.f64 y x (fma.f64 t z (*.f64 a b))))

eval58.0ms (0.4%)

Compiler

Compiled 5169 to 1134 computations (78.1% saved)

prune67.0ms (0.4%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New2539262
Fresh000
Picked101
Done101
Total2559264
Error
0b
Counts
264 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
32.5b
(fma.f64 x y (*.f64 a b))
48.4b
(*.f64 c i)
16.7b
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
30.9b
(fma.f64 x y (*.f64 t z))
14.6b
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
32.5b
(+.f64 (*.f64 a b) (*.f64 c i))
16.7b
(fma.f64 x y (fma.f64 c i (*.f64 t z)))
18.2b
(+.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i))
48.6b
(*.f64 y x)
Compiler

Compiled 276 to 196 computations (29% saved)

localize17.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
0.0b
(+.f64 (*.f64 y x) (*.f64 t z))
Compiler

Compiled 41 to 13 computations (68.3% saved)

series9.0ms (0.1%)

Counts
2 → 30
Calls

30 calls:

TimeVariablePointExpression
0.0ms
y
@0
(+.f64 (*.f64 y x) (*.f64 t z))
0.0ms
y
@inf
(+.f64 (*.f64 y x) (*.f64 t z))
0.0ms
x
@inf
(+.f64 (*.f64 y x) (*.f64 t z))
0.0ms
y
@-inf
(+.f64 (*.f64 y x) (*.f64 t z))
0.0ms
x
@inf
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))

rewrite81.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
681×log-prod_binary64
679×fma-def_binary64
358×pow2_binary64
338×fma-neg_binary64
245×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01220
125920
2365820
Stop Event
node limit
Counts
2 → 171
Calls
Call 1
Inputs
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 y x (*.f64 t z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 y x) (*.f64 t z))) (/.f64 (pow.f64 (*.f64 t z) 2) (-.f64 (*.f64 y x) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y x (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y x (*.f64 t z))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 t z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 t z))) 2) (cbrt.f64 (fma.f64 y x (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y x (*.f64 t z))) (sqrt.f64 (fma.f64 y x (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 t z) 3)) (/.f64 1 (fma.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 t z) 2)) (/.f64 1 (-.f64 (*.f64 y x) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 t z) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 y x) (*.f64 t z)) (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 t z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 t z) 3)) (fma.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 t z) 3)) (+.f64 (pow.f64 (*.f64 t z) 2) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 y x) (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 t z) 2)) (-.f64 (*.f64 y x) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 t z) 3))) (neg.f64 (fma.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 t z) 2))) (neg.f64 (-.f64 (*.f64 y x) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 t z) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y x (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 t z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y x (*.f64 t z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 y x)) (pow.f64 (*.f64 y x) 2)) (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 t z) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 y x) (*.f64 t z)) (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 t z) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y x (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (pow.f64 (exp.f64 t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y) x) (+.f64 1 (expm1.f64 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (+.f64 1 (expm1.f64 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 t z))) (pow.f64 (exp.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 t) z) (+.f64 1 (expm1.f64 (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 t z))) (+.f64 1 (expm1.f64 (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y x (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y x (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y x (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y x (*.f64 t z))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1 (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t z) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) z) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) t) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 t z)) (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (cbrt.f64 (*.f64 t z)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) z) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) t) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (sqrt.f64 (*.f64 t z)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 z)) (sqrt.f64 z) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 t)) (sqrt.f64 t) (*.f64 y x))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (*.f64 a b) (fma.f64 y x (*.f64 t z)))) (/.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 2) (-.f64 (*.f64 a b) (fma.f64 y x (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y x (fma.f64 t z (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))) (pow.f64 (cbrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))) 2) (cbrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))) (sqrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (fma.f64 y x (*.f64 t z)) 3)) (/.f64 1 (fma.f64 (fma.f64 y x (*.f64 t z)) (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 a b)) (pow.f64 (*.f64 a b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (fma.f64 y x (*.f64 t z)) 2)) (/.f64 1 (-.f64 (*.f64 a b) (fma.f64 y x (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (fma.f64 y x (*.f64 t z)) (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 a b)) (pow.f64 (*.f64 a b) 2)) (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (fma.f64 y x (*.f64 t z)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 a b) (fma.f64 y x (*.f64 t z))) (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (fma.f64 y x (*.f64 t z)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (fma.f64 y x (*.f64 t z)) 3)) (fma.f64 (fma.f64 y x (*.f64 t z)) (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 a b)) (pow.f64 (*.f64 a b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (fma.f64 y x (*.f64 t z)) 3)) (+.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 2) (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (fma.f64 y x (*.f64 t z)) (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (fma.f64 y x (*.f64 t z)) 2)) (-.f64 (*.f64 a b) (fma.f64 y x (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (fma.f64 y x (*.f64 t z)) 3))) (neg.f64 (fma.f64 (fma.f64 y x (*.f64 t z)) (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 a b)) (pow.f64 (*.f64 a b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (fma.f64 y x (*.f64 t z)) 2))) (neg.f64 (-.f64 (*.f64 a b) (fma.f64 y x (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 y x (*.f64 a b)) 3) (pow.f64 (*.f64 t z) 3)) (+.f64 (pow.f64 (fma.f64 y x (*.f64 a b)) 2) (-.f64 (pow.f64 (*.f64 t z) 2) (*.f64 (fma.f64 y x (*.f64 a b)) (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 2) (pow.f64 (*.f64 a b) 2)) (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 y x (*.f64 a b)) 2) (pow.f64 (*.f64 t z) 2)) (-.f64 (fma.f64 y x (*.f64 a b)) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (fma.f64 y x (*.f64 t z)) (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 a b)) (pow.f64 (*.f64 a b) 2)) (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (fma.f64 y x (*.f64 t z)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 a b) (fma.f64 y x (*.f64 t z))) (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (fma.f64 y x (*.f64 t z)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 t) z) (exp.f64 (fma.f64 y x (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 t z))) (exp.f64 (fma.f64 y x (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 t) z) (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 t z))) (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 t z)))) (pow.f64 (exp.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 y x (*.f64 t z))) (+.f64 1 (expm1.f64 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 t z)))) (+.f64 1 (expm1.f64 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a b))) (exp.f64 (fma.f64 y x (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 a) b) (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 t z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a b))) (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 t z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 y) x)) (pow.f64 (exp.f64 t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 y x (*.f64 a b))) (+.f64 1 (expm1.f64 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 y) x)) (+.f64 1 (expm1.f64 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y x (fma.f64 t z (*.f64 a b)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1 (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x (*.f64 t z)) 1 (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a b (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b a (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) 1 (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t z) (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x (*.f64 t z)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a b) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x (*.f64 a b)) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a b)) (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (*.f64 a b)) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 y x (*.f64 t z))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 t z))) 2) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 t z))) 2) (cbrt.f64 (fma.f64 y x (*.f64 t z))) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) z) (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (*.f64 (cbrt.f64 a) b) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) t) (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) a) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 t z)) (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (cbrt.f64 (*.f64 t z)) (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x (*.f64 t z))) (sqrt.f64 (fma.f64 y x (*.f64 t z))) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) z) (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) b) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) t) (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) a) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (sqrt.f64 (*.f64 t z)) (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 t z) 3)) (/.f64 1 (fma.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 t z) 2)) (/.f64 1 (-.f64 (*.f64 y x) (*.f64 t z))) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x (*.f64 a b)) 1 (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 a b))) 2) (cbrt.f64 (fma.f64 y x (*.f64 a b))) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x (*.f64 a b))) (sqrt.f64 (fma.f64 y x (*.f64 a b))) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (sqrt.f64 b)) (sqrt.f64 b) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 a)) (sqrt.f64 a) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (fma.f64 y x (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 t)) (sqrt.f64 t) (fma.f64 y x (*.f64 a b)))))))

simplify13.0ms (0.1%)

Algorithm
egg-herbie
Rules
12×fma-def_binary64
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
013144
122144
231144
Stop Event
saturated
Counts
201 → 179
Calls
Call 1
Inputs
(*.f64 t z)
(*.f64 y x)
(*.f64 y x)
(*.f64 t z)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 t z)
(*.f64 t z)
(*.f64 y x)
(*.f64 t z)
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 a b)
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 a b)
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 y x)
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 y x)
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 t z)
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 t z)
(*.f64 t z)
Outputs
(*.f64 t z)
(*.f64 y x)
(*.f64 y x)
(*.f64 t z)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 t z)
(*.f64 t z)
(*.f64 y x)
(*.f64 t z)
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 a b)
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 a b)
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(fma.f64 t z (*.f64 a b))
(*.f64 y x)
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(fma.f64 t z (*.f64 a b))
(*.f64 y x)
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(*.f64 t z)
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(*.f64 t z)
(*.f64 t z)

localize6.0ms (0%)

Compiler

Compiled 13 to 9 computations (30.8% saved)

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 a b) (*.f64 c i))
Compiler

Compiled 25 to 11 computations (56% saved)

series3.0ms (0%)

Counts
1 → 30
Calls

12 calls:

TimeVariablePointExpression
0.0ms
a
@0
(+.f64 (*.f64 a b) (*.f64 c i))
0.0ms
c
@inf
(+.f64 (*.f64 a b) (*.f64 c i))
0.0ms
a
@-inf
(+.f64 (*.f64 a b) (*.f64 c i))
0.0ms
a
@inf
(+.f64 (*.f64 a b) (*.f64 c i))
0.0ms
i
@inf
(+.f64 (*.f64 a b) (*.f64 c i))

rewrite53.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
903×pow1_binary64
833×add-log-exp_binary64
833×log1p-expm1-u_binary64
833×expm1-log1p-u_binary64
814×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
088
11688
222708
Stop Event
node limit
Counts
1 → 37
Calls
Call 1
Inputs
(+.f64 (*.f64 a b) (*.f64 c i))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 a b (*.f64 c i))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (*.f64 a b) (*.f64 c i))) (/.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (*.f64 a b) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a b (*.f64 c i)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a b (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a b (*.f64 c i))) (pow.f64 (cbrt.f64 (fma.f64 a b (*.f64 c i))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a b (*.f64 c i))) 2) (cbrt.f64 (fma.f64 a b (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a b (*.f64 c i))) (sqrt.f64 (fma.f64 a b (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 c i) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 c i) 2)) (/.f64 1 (-.f64 (*.f64 a b) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (*.f64 a b)))) (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 c i) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 a b) (*.f64 c i)) (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 c i) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 c i) 3)) (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 c i) 3)) (+.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 a b) (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 c i) 2)) (-.f64 (*.f64 a b) (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 c i) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 c i) 2))) (neg.f64 (-.f64 (*.f64 a b) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 a b) 2)) (-.f64 (*.f64 c i) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a b (*.f64 c i)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a b (*.f64 c i)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a b (*.f64 c i))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a b (*.f64 c i))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a b (*.f64 c i)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a b (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a b (*.f64 c i)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a b (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a b (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a b (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a b (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b a (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c i (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 i c (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a b) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 c i) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 c i)) 2) (cbrt.f64 (*.f64 c i)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (*.f64 a b)) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 c i)) (sqrt.f64 (*.f64 c i)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)) (*.f64 c i))))))

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08192
112192
215192
Stop Event
saturated
Counts
67 → 40
Calls
Call 1
Inputs
(*.f64 c i)
(*.f64 a b)
(+.f64 (*.f64 c i) (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(*.f64 a b)
(+.f64 (*.f64 c i) (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(*.f64 c i)
(*.f64 a b)
(+.f64 (*.f64 c i) (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(*.f64 a b)
(+.f64 (*.f64 c i) (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(*.f64 a b)
(+.f64 (*.f64 c i) (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(*.f64 c i)
(*.f64 c i)
(*.f64 a b)
(+.f64 (*.f64 c i) (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(*.f64 c i)
(*.f64 c i)
Outputs
(*.f64 c i)
(*.f64 a b)
(+.f64 (*.f64 c i) (*.f64 a b))
(fma.f64 c i (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(fma.f64 c i (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(fma.f64 c i (*.f64 a b))
(*.f64 a b)
(+.f64 (*.f64 c i) (*.f64 a b))
(fma.f64 c i (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(fma.f64 c i (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(fma.f64 c i (*.f64 a b))
(*.f64 c i)
(*.f64 a b)
(+.f64 (*.f64 c i) (*.f64 a b))
(fma.f64 c i (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(fma.f64 c i (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(fma.f64 c i (*.f64 a b))
(*.f64 a b)
(+.f64 (*.f64 c i) (*.f64 a b))
(fma.f64 c i (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(fma.f64 c i (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(fma.f64 c i (*.f64 a b))
(*.f64 a b)
(+.f64 (*.f64 c i) (*.f64 a b))
(fma.f64 c i (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(fma.f64 c i (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(fma.f64 c i (*.f64 a b))
(*.f64 c i)
(*.f64 c i)
(*.f64 a b)
(+.f64 (*.f64 c i) (*.f64 a b))
(fma.f64 c i (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(fma.f64 c i (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 a b))
(fma.f64 c i (*.f64 a b))
(*.f64 c i)
(*.f64 c i)

localize13.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 x y (*.f64 a b))
Compiler

Compiled 21 to 10 computations (52.4% saved)

series8.0ms (0%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
2.0ms
x
@0
(fma.f64 x y (*.f64 a b))
1.0ms
x
@inf
(fma.f64 x y (*.f64 a b))
1.0ms
x
@-inf
(fma.f64 x y (*.f64 a b))
0.0ms
y
@-inf
(fma.f64 x y (*.f64 a b))
0.0ms
y
@0
(fma.f64 x y (*.f64 a b))

rewrite69.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
661×pow1_binary64
602×add-log-exp_binary64
602×log1p-expm1-u_binary64
602×expm1-log1p-u_binary64
587×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
078
11378
216268
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(fma.f64 x y (*.f64 a b))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a b) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x y) 1) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 x y (*.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x y (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x y (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x y (*.f64 a b))) (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 a b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 a b))) 2) (cbrt.f64 (fma.f64 x y (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x y (*.f64 a b))) (sqrt.f64 (fma.f64 x y (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (*.f64 a b) 3)) (+.f64 (*.f64 (*.f64 x y) (*.f64 x y)) (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 x y) (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x y) (*.f64 x y)) (pow.f64 (*.f64 a b) 2)) (-.f64 (*.f64 x y) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x y (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x y (*.f64 a b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 a b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x y (*.f64 a b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x y (*.f64 a b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x y (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x y (*.f64 a b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x y (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x y (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x y (*.f64 a b))))))))

simplify21.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08336
112336
215336
Stop Event
saturated
Counts
69 → 25
Calls
Call 1
Inputs
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
Outputs
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))

localize13.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 a b (*.f64 y x))
Compiler

Compiled 36 to 12 computations (66.7% saved)

series4.0ms (0%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
b
@-inf
(fma.f64 a b (*.f64 y x))
0.0ms
a
@inf
(fma.f64 a b (*.f64 y x))
0.0ms
a
@-inf
(fma.f64 a b (*.f64 y x))
0.0ms
b
@inf
(fma.f64 a b (*.f64 y x))
0.0ms
a
@0
(fma.f64 a b (*.f64 y x))

rewrite59.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
661×pow1_binary64
602×add-log-exp_binary64
602×log1p-expm1-u_binary64
602×expm1-log1p-u_binary64
587×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
078
11378
216268
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(fma.f64 a b (*.f64 y x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a b) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a b) 1) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 a b (*.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a b (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a b (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a b (*.f64 y x))) (pow.f64 (cbrt.f64 (fma.f64 a b (*.f64 y x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a b (*.f64 y x))) 2) (cbrt.f64 (fma.f64 a b (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a b (*.f64 y x))) (sqrt.f64 (fma.f64 a b (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (*.f64 (*.f64 a b) (*.f64 a b)) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 a b) (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 a b) (*.f64 a b)) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 a b) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a b (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a b (*.f64 y x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a b (*.f64 y x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a b (*.f64 y x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a b (*.f64 y x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a b (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a b (*.f64 y x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a b (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a b (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a b (*.f64 y x))))))))

simplify14.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08336
112336
215336
Stop Event
saturated
Counts
69 → 24
Calls
Call 1
Inputs
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
Outputs
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 a b))

eval91.0ms (0.5%)

Compiler

Compiled 4133 to 1075 computations (74% saved)

prune136.0ms (0.8%)

Pruning

13 alts after pruning (10 fresh and 3 done)

PrunedKeptTotal
New2617268
Fresh134
Picked101
Done134
Total26413277
Error
0b
Counts
277 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
32.5b
(fma.f64 x y (*.f64 a b))
48.4b
(*.f64 c i)
16.7b
(fma.f64 x y (fma.f64 c i (*.f64 t z)))
34.6b
(+.f64 (*.f64 y x) (*.f64 c i))
46.7b
(*.f64 a b)
28.8b
(+.f64 (*.f64 a b) (*.f64 t z))
32.6b
(+.f64 (*.f64 x y) (*.f64 a b))
16.7b
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
30.9b
(fma.f64 x y (*.f64 t z))
48.6b
(*.f64 y x)
30.9b
(+.f64 (*.f64 y x) (*.f64 t z))
32.5b
(fma.f64 a b (*.f64 y x))
32.5b
(+.f64 (*.f64 a b) (*.f64 c i))
Compiler

Compiled 332 to 242 computations (27.1% saved)

localize15.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 x y (fma.f64 c i (*.f64 t z)))
Compiler

Compiled 32 to 11 computations (65.6% saved)

series6.0ms (0%)

Counts
1 → 72
Calls

18 calls:

TimeVariablePointExpression
0.0ms
x
@0
(fma.f64 x y (fma.f64 c i (*.f64 t z)))
0.0ms
c
@0
(fma.f64 x y (fma.f64 c i (*.f64 t z)))
0.0ms
x
@inf
(fma.f64 x y (fma.f64 c i (*.f64 t z)))
0.0ms
t
@inf
(fma.f64 x y (fma.f64 c i (*.f64 t z)))
0.0ms
t
@0
(fma.f64 x y (fma.f64 c i (*.f64 t z)))

rewrite67.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
956×pow1_binary64
869×add-log-exp_binary64
869×log1p-expm1-u_binary64
869×expm1-log1p-u_binary64
847×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01012
119612
2233212
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(fma.f64 x y (fma.f64 c i (*.f64 t z)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 c i (*.f64 t z)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (fma.f64 c i (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x y) 1) (fma.f64 c i (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x y) (*.f64 c i)) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 x y (fma.f64 c i (*.f64 t z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x y (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))) (pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))) 2) (cbrt.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))) (sqrt.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (fma.f64 c i (*.f64 t z)) 3)) (+.f64 (*.f64 (*.f64 x y) (*.f64 x y)) (-.f64 (pow.f64 (fma.f64 c i (*.f64 t z)) 2) (*.f64 (*.f64 x y) (fma.f64 c i (*.f64 t z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x y) (*.f64 x y)) (pow.f64 (fma.f64 c i (*.f64 t z)) 2)) (-.f64 (*.f64 x y) (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x y (fma.f64 c i (*.f64 t z)))))))))

simplify20.0ms (0.1%)

Algorithm
egg-herbie
Rules
18×fma-def_binary64
+-commutative_binary64
*-commutative_binary64
associate-+r+_binary64
associate-+l+_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
014744
126744
239744
343744
Stop Event
saturated
Counts
94 → 33
Calls
Call 1
Inputs
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 c i)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 c i)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 c i)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 c i)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
Outputs
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(*.f64 c i)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(*.f64 c i)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(*.f64 c i)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(*.f64 c i)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(fma.f64 y x (*.f64 c i))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(fma.f64 y x (*.f64 c i))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 c i (fma.f64 y x (*.f64 t z)))

localize9.0ms (0.1%)

Compiler

Compiled 13 to 9 computations (30.8% saved)

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 a b) (*.f64 t z))
Compiler

Compiled 25 to 11 computations (56% saved)

series3.0ms (0%)

Counts
1 → 12
Calls

12 calls:

TimeVariablePointExpression
0.0ms
a
@0
(+.f64 (*.f64 a b) (*.f64 t z))
0.0ms
a
@inf
(+.f64 (*.f64 a b) (*.f64 t z))
0.0ms
a
@-inf
(+.f64 (*.f64 a b) (*.f64 t z))
0.0ms
t
@inf
(+.f64 (*.f64 a b) (*.f64 t z))
0.0ms
z
@inf
(+.f64 (*.f64 a b) (*.f64 t z))

rewrite62.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
903×pow1_binary64
833×add-log-exp_binary64
833×log1p-expm1-u_binary64
833×expm1-log1p-u_binary64
814×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
088
11688
222708
Stop Event
node limit
Counts
1 → 37
Calls
Call 1
Inputs
(+.f64 (*.f64 a b) (*.f64 t z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 a b (*.f64 t z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (*.f64 a b) (*.f64 t z))) (/.f64 (pow.f64 (*.f64 t z) 2) (-.f64 (*.f64 a b) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a b (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a b (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a b (*.f64 t z))) (pow.f64 (cbrt.f64 (fma.f64 a b (*.f64 t z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a b (*.f64 t z))) 2) (cbrt.f64 (fma.f64 a b (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a b (*.f64 t z))) (sqrt.f64 (fma.f64 a b (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 t z) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 t z) 2)) (/.f64 1 (-.f64 (*.f64 a b) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 a b)))) (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 t z) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 a b) (*.f64 t z)) (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 t z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 t z) 3)) (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 t z) 3)) (+.f64 (pow.f64 (*.f64 t z) 2) (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 a b) (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 t z) 2)) (-.f64 (*.f64 a b) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 t z) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 t z) 2))) (neg.f64 (-.f64 (*.f64 a b) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (*.f64 a b) 2)) (-.f64 (*.f64 t z) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a b (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a b (*.f64 t z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a b (*.f64 t z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a b (*.f64 t z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a b (*.f64 t z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a b (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a b (*.f64 t z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a b (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a b (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a b (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a b (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b a (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a b) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t z) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (cbrt.f64 (*.f64 t z)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (*.f64 a b)) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (sqrt.f64 (*.f64 t z)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)) (*.f64 t z))))))

simplify7.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0748
1948
Stop Event
saturated
Counts
49 → 39
Calls
Call 1
Inputs
(*.f64 t z)
(*.f64 a b)
(*.f64 a b)
(*.f64 t z)
(*.f64 a b)
(*.f64 a b)
(*.f64 a b)
(*.f64 t z)
(*.f64 t z)
(*.f64 a b)
(*.f64 t z)
(*.f64 t z)
Outputs
(*.f64 t z)
(*.f64 a b)
(*.f64 a b)
(*.f64 t z)
(*.f64 a b)
(*.f64 a b)
(*.f64 a b)
(*.f64 t z)
(*.f64 t z)
(*.f64 a b)
(*.f64 t z)
(*.f64 t z)

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 y x) (*.f64 c i))
Compiler

Compiled 25 to 11 computations (56% saved)

series8.0ms (0%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
4.0ms
y
@0
(+.f64 (*.f64 y x) (*.f64 c i))
0.0ms
c
@-inf
(+.f64 (*.f64 y x) (*.f64 c i))
0.0ms
y
@inf
(+.f64 (*.f64 y x) (*.f64 c i))
0.0ms
y
@-inf
(+.f64 (*.f64 y x) (*.f64 c i))
0.0ms
i
@-inf
(+.f64 (*.f64 y x) (*.f64 c i))

rewrite57.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
903×pow1_binary64
833×add-log-exp_binary64
833×log1p-expm1-u_binary64
833×expm1-log1p-u_binary64
814×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
088
11688
222708
Stop Event
node limit
Counts
1 → 37
Calls
Call 1
Inputs
(+.f64 (*.f64 y x) (*.f64 c i))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 y x (*.f64 c i))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 y x) (*.f64 c i))) (/.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (*.f64 y x) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y x (*.f64 c i)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y x (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y x (*.f64 c i))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 c i))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 c i))) 2) (cbrt.f64 (fma.f64 y x (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y x (*.f64 c i))) (sqrt.f64 (fma.f64 y x (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 c i) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 c i) 2)) (/.f64 1 (-.f64 (*.f64 y x) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (*.f64 y x)))) (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 c i) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 y x) (*.f64 c i)) (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 c i) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 c i) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 c i) 3)) (+.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 y x) (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 c i) 2)) (-.f64 (*.f64 y x) (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 c i) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 c i) (-.f64 (*.f64 c i) (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 c i) 2))) (neg.f64 (-.f64 (*.f64 y x) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 c i) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y x (*.f64 c i)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (*.f64 c i)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 c i))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y x (*.f64 c i))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y x (*.f64 c i)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y x (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y x (*.f64 c i)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y x (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y x (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y x (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c i (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 i c (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 c i) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 c i)) 2) (cbrt.f64 (*.f64 c i)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 c i)) (sqrt.f64 (*.f64 c i)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 c i))))))

simplify14.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08336
112336
215336
Stop Event
saturated
Counts
85 → 40
Calls
Call 1
Inputs
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
Outputs
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))

localize16.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
0.0b
(+.f64 (*.f64 y x) (*.f64 t z))
Compiler

Compiled 41 to 13 computations (68.3% saved)

series6.0ms (0%)

Counts
1 → 18
Calls

18 calls:

TimeVariablePointExpression
0.0ms
c
@0
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
0.0ms
y
@-inf
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
0.0ms
c
@inf
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
0.0ms
c
@-inf
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
0.0ms
i
@0
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))

rewrite75.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
681×log-prod_binary64
679×fma-def_binary64
358×pow2_binary64
338×fma-neg_binary64
245×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01212
125912
2365712
Stop Event
node limit
Counts
1 → 103
Calls
Call 1
Inputs
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (*.f64 c i) (fma.f64 y x (*.f64 t z)))) (/.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 2) (-.f64 (*.f64 c i) (fma.f64 y x (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y x (fma.f64 t z (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i)))) (pow.f64 (cbrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i)))) 2) (cbrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i)))) (sqrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (fma.f64 y x (*.f64 t z)) 3)) (/.f64 1 (fma.f64 (fma.f64 y x (*.f64 t z)) (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 c i)) (pow.f64 (*.f64 c i) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (fma.f64 y x (*.f64 t z)) 2)) (/.f64 1 (-.f64 (*.f64 c i) (fma.f64 y x (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (fma.f64 y x (*.f64 t z)) (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 c i)) (pow.f64 (*.f64 c i) 2)) (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (fma.f64 y x (*.f64 t z)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 c i) (fma.f64 y x (*.f64 t z))) (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (fma.f64 y x (*.f64 t z)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (fma.f64 y x (*.f64 t z)) 3)) (fma.f64 (fma.f64 y x (*.f64 t z)) (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 c i)) (pow.f64 (*.f64 c i) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (fma.f64 y x (*.f64 t z)) 3)) (+.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 2) (-.f64 (pow.f64 (*.f64 c i) 2) (*.f64 c (*.f64 i (fma.f64 y x (*.f64 t z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (fma.f64 y x (*.f64 t z)) 2)) (-.f64 (*.f64 c i) (fma.f64 y x (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (fma.f64 y x (*.f64 t z)) 3))) (neg.f64 (fma.f64 (fma.f64 y x (*.f64 t z)) (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 c i)) (pow.f64 (*.f64 c i) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (fma.f64 y x (*.f64 t z)) 2))) (neg.f64 (-.f64 (*.f64 c i) (fma.f64 y x (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 c i (*.f64 y x)) 3) (pow.f64 (*.f64 t z) 3)) (+.f64 (pow.f64 (fma.f64 c i (*.f64 y x)) 2) (-.f64 (pow.f64 (*.f64 t z) 2) (*.f64 (fma.f64 c i (*.f64 y x)) (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 2) (pow.f64 (*.f64 c i) 2)) (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 c i (*.f64 y x)) 2) (pow.f64 (*.f64 t z) 2)) (-.f64 (fma.f64 c i (*.f64 y x)) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (fma.f64 y x (*.f64 t z)) (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 c i)) (pow.f64 (*.f64 c i) 2)) (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (fma.f64 y x (*.f64 t z)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 c i) (fma.f64 y x (*.f64 t z))) (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (fma.f64 y x (*.f64 t z)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 c i))) (exp.f64 (fma.f64 y x (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 c) i) (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 t z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 c i))) (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 t z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 t) z) (exp.f64 (fma.f64 c i (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 t z))) (exp.f64 (fma.f64 c i (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 t) z) (*.f64 (pow.f64 (exp.f64 c) i) (pow.f64 (exp.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 t z))) (*.f64 (pow.f64 (exp.f64 c) i) (pow.f64 (exp.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 t z)))) (pow.f64 (exp.f64 c) i)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 y x (*.f64 t z))) (+.f64 1 (expm1.f64 (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 t z)))) (+.f64 1 (expm1.f64 (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 c) i) (pow.f64 (exp.f64 y) x)) (pow.f64 (exp.f64 t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 c i (*.f64 y x))) (+.f64 1 (expm1.f64 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 c) i) (pow.f64 (exp.f64 y) x)) (+.f64 1 (expm1.f64 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 y x (fma.f64 t z (*.f64 c i)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c i (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 i c (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c i) 1 (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y x) 1 (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (fma.f64 c i (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (fma.f64 c i (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1 (fma.f64 c i (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 y x (*.f64 t z)) 1 (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 c i) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t z) (fma.f64 c i (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y x (*.f64 t z)) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 c i (*.f64 y x)) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 y x (*.f64 t z))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 t z))) 2) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 t z))) 2) (cbrt.f64 (fma.f64 y x (*.f64 t z))) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) z) (fma.f64 c i (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) x) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (*.f64 (cbrt.f64 c) i) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) t) (fma.f64 c i (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) y) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 i) 2) (*.f64 (cbrt.f64 i) c) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 t z)) (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (fma.f64 c i (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (cbrt.f64 (*.f64 t z)) (fma.f64 c i (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y x)) (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 c i)) (pow.f64 (cbrt.f64 (*.f64 c i)) 2) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 c i)) 2) (cbrt.f64 (*.f64 c i)) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y x (*.f64 t z))) (sqrt.f64 (fma.f64 y x (*.f64 t z))) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) z) (fma.f64 c i (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (*.f64 (sqrt.f64 c) i) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) t) (fma.f64 c i (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) y) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 i) (*.f64 (sqrt.f64 i) c) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (sqrt.f64 (*.f64 t z)) (fma.f64 c i (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 c i)) (sqrt.f64 (*.f64 c i)) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 t z) 3)) (/.f64 1 (fma.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 y x)) (pow.f64 (*.f64 y x) 2))) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 t z) 2)) (/.f64 1 (-.f64 (*.f64 y x) (*.f64 t z))) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 c i (*.f64 y x)) 1 (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 y x))) 2) (cbrt.f64 (fma.f64 c i (*.f64 y x))) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 c i (*.f64 y x))) (sqrt.f64 (fma.f64 c i (*.f64 y x))) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c (pow.f64 (cbrt.f64 i) 2)) (cbrt.f64 i) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c (sqrt.f64 i)) (sqrt.f64 i) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 i (pow.f64 (cbrt.f64 c) 2)) (cbrt.f64 c) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 i (sqrt.f64 c)) (sqrt.f64 c) (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (fma.f64 c i (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 c i (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (fma.f64 c i (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 t)) (sqrt.f64 t) (fma.f64 c i (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 y)) (sqrt.f64 y) (fma.f64 t z (*.f64 c i)))))))

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
12×fma-def_binary64
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01396
12296
23196
Stop Event
saturated
Counts
121 → 112
Calls
Call 1
Inputs
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 c i)
(*.f64 c i)
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 c i)
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 t z))
(*.f64 y x)
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 t z))
(*.f64 y x)
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 y x))
(*.f64 t z)
(*.f64 t z)
(+.f64 (*.f64 c i) (*.f64 y x))
(*.f64 t z)
(*.f64 t z)
Outputs
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(*.f64 c i)
(*.f64 c i)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(*.f64 c i)
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(fma.f64 t z (*.f64 c i))
(*.f64 y x)
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(fma.f64 t z (*.f64 c i))
(*.f64 y x)
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(fma.f64 y x (*.f64 c i))
(*.f64 t z)
(*.f64 t z)
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(fma.f64 y x (*.f64 c i))
(*.f64 t z)
(*.f64 t z)

eval64.0ms (0.4%)

Compiler

Compiled 4474 to 1148 computations (74.3% saved)

prune79.0ms (0.5%)

Pruning

14 alts after pruning (8 fresh and 6 done)

PrunedKeptTotal
New2885293
Fresh235
Picked101
Done167
Total29214306
Error
0b
Counts
306 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
48.6b
(*.f64 y x)
48.4b
(*.f64 c i)
32.5b
(fma.f64 x y (*.f64 a b))
34.6b
(+.f64 (*.f64 y x) (*.f64 c i))
46.7b
(*.f64 a b)
30.9b
(+.f64 (*.f64 y x) (*.f64 t z))
30.4b
(fma.f64 c i (*.f64 t z))
28.8b
(+.f64 (*.f64 a b) (*.f64 t z))
32.6b
(+.f64 (*.f64 x y) (*.f64 a b))
30.4b
(+.f64 (*.f64 c i) (*.f64 t z))
32.5b
(fma.f64 a b (*.f64 y x))
32.5b
(+.f64 (*.f64 a b) (*.f64 c i))
44.7b
(*.f64 t z)
30.9b
(fma.f64 y x (*.f64 t z))
Compiler

Compiled 299 to 223 computations (25.4% saved)

localize8.0ms (0%)

Compiler

Compiled 21 to 10 computations (52.4% saved)

localize5.0ms (0%)

Compiler

Compiled 13 to 9 computations (30.8% saved)

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 c i) (*.f64 t z))
Compiler

Compiled 25 to 11 computations (56% saved)

series3.0ms (0%)

Counts
1 → 12
Calls

12 calls:

TimeVariablePointExpression
0.0ms
c
@0
(+.f64 (*.f64 c i) (*.f64 t z))
0.0ms
c
@inf
(+.f64 (*.f64 c i) (*.f64 t z))
0.0ms
c
@-inf
(+.f64 (*.f64 c i) (*.f64 t z))
0.0ms
i
@inf
(+.f64 (*.f64 c i) (*.f64 t z))
0.0ms
t
@0
(+.f64 (*.f64 c i) (*.f64 t z))

rewrite58.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
903×pow1_binary64
833×add-log-exp_binary64
833×log1p-expm1-u_binary64
833×expm1-log1p-u_binary64
814×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
088
11688
222708
Stop Event
node limit
Counts
1 → 37
Calls
Call 1
Inputs
(+.f64 (*.f64 c i) (*.f64 t z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 c i (*.f64 t z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (*.f64 c i) (*.f64 t z))) (/.f64 (pow.f64 (*.f64 t z) 2) (-.f64 (*.f64 c i) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 c i (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 c i (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 c i (*.f64 t z))) (pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 t z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 t z))) 2) (cbrt.f64 (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 c i (*.f64 t z))) (sqrt.f64 (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 t z) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 t z) 2)) (/.f64 1 (-.f64 (*.f64 c i) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 c i)))) (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 t z) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 c i) (*.f64 t z)) (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 t z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 t z) 3)) (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 t z) 3)) (+.f64 (pow.f64 (*.f64 t z) 2) (-.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 c i) (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 t z) 2)) (-.f64 (*.f64 c i) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 t z) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 t z) (-.f64 (*.f64 t z) (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 t z) 2))) (neg.f64 (-.f64 (*.f64 c i) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (*.f64 c i) 2)) (-.f64 (*.f64 t z) (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 c i (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 c i (*.f64 t z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 t z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 c i (*.f64 t z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 c i (*.f64 t z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 c i (*.f64 t z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 c i (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c i (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 i c (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 c i) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t z) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (cbrt.f64 (*.f64 t z)) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 c i)) 2) (cbrt.f64 (*.f64 c i)) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (sqrt.f64 (*.f64 t z)) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 c i)) (sqrt.f64 (*.f64 c i)) (*.f64 t z))))))

simplify8.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0748
1948
Stop Event
saturated
Counts
49 → 39
Calls
Call 1
Inputs
(*.f64 t z)
(*.f64 c i)
(*.f64 c i)
(*.f64 t z)
(*.f64 c i)
(*.f64 c i)
(*.f64 c i)
(*.f64 t z)
(*.f64 t z)
(*.f64 c i)
(*.f64 t z)
(*.f64 t z)
Outputs
(*.f64 t z)
(*.f64 c i)
(*.f64 c i)
(*.f64 t z)
(*.f64 c i)
(*.f64 c i)
(*.f64 c i)
(*.f64 t z)
(*.f64 t z)
(*.f64 c i)
(*.f64 t z)
(*.f64 t z)

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 y x) (*.f64 t z))
Compiler

Compiled 25 to 11 computations (56% saved)

localize8.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 y x (*.f64 t z))
Compiler

Compiled 21 to 10 computations (52.4% saved)

series4.0ms (0%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
y
@inf
(fma.f64 y x (*.f64 t z))
0.0ms
x
@-inf
(fma.f64 y x (*.f64 t z))
0.0ms
y
@0
(fma.f64 y x (*.f64 t z))
0.0ms
x
@inf
(fma.f64 y x (*.f64 t z))
0.0ms
y
@-inf
(fma.f64 y x (*.f64 t z))

rewrite54.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
661×pow1_binary64
602×add-log-exp_binary64
602×log1p-expm1-u_binary64
602×expm1-log1p-u_binary64
587×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
078
11378
216268
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(fma.f64 y x (*.f64 t z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t z) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y x) 1) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 y x (*.f64 t z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y x (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y x (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y x (*.f64 t z))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 t z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 t z))) 2) (cbrt.f64 (fma.f64 y x (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 y x (*.f64 t z))) (sqrt.f64 (fma.f64 y x (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 (*.f64 t z) 3)) (+.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (-.f64 (pow.f64 (*.f64 t z) 2) (*.f64 (*.f64 y x) (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (pow.f64 (*.f64 t z) 2)) (-.f64 (*.f64 y x) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y x (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 t z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 y x (*.f64 t z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 y x (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 y x (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 y x (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 y x (*.f64 t z))))))))

simplify13.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08336
112336
215336
Stop Event
saturated
Counts
69 → 24
Calls
Call 1
Inputs
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
Outputs
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 t z (*.f64 y x))

eval27.0ms (0.2%)

Compiler

Compiled 1705 to 510 computations (70.1% saved)

prune36.0ms (0.2%)

Pruning

14 alts after pruning (3 fresh and 11 done)

PrunedKeptTotal
New1311132
Fresh123
Picked011
Done01010
Total13214146
Error
0b
Counts
146 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
32.5b
(fma.f64 x y (*.f64 a b))
48.4b
(*.f64 c i)
34.6b
(+.f64 (*.f64 y x) (*.f64 c i))
46.7b
(*.f64 a b)
30.9b
(+.f64 (*.f64 y x) (*.f64 t z))
30.4b
(fma.f64 c i (*.f64 t z))
28.8b
(+.f64 (*.f64 a b) (*.f64 t z))
32.6b
(+.f64 (*.f64 x y) (*.f64 a b))
30.4b
(+.f64 (*.f64 c i) (*.f64 t z))
48.6b
(*.f64 y x)
32.5b
(fma.f64 a b (*.f64 y x))
32.5b
(+.f64 (*.f64 a b) (*.f64 c i))
44.7b
(*.f64 t z)
30.9b
(fma.f64 y x (*.f64 t z))
Compiler

Compiled 190 to 142 computations (25.3% saved)

regimes273.0ms (1.7%)

Counts
24 → 1
Calls
Call 1
Inputs
(*.f64 y x)
(*.f64 y x)
(*.f64 t z)
(*.f64 a b)
(*.f64 y x)
(*.f64 c i)
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 x y) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 c i))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
(fma.f64 c i (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 a b (*.f64 y x))
(fma.f64 x y (*.f64 a b))
(fma.f64 x y (*.f64 t z))
(+.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i))
(fma.f64 x y (fma.f64 c i (*.f64 t z)))
(fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))
Outputs
(fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))
Calls

20 calls:

15.0ms
z
15.0ms
c
14.0ms
(*.f64 x y)
14.0ms
(+.f64 (*.f64 x y) (*.f64 z t))
14.0ms
x
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1t
0.0b1a
0.0b1b
0.0b1c
0.0b1i
0.0b1(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
0.0b1(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
0.0b1(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
0.0b1(+.f64 (*.f64 x y) (*.f64 z t))
0.0b1(+.f64 (*.f64 x y) (*.f64 z t))
0.0b1(*.f64 x y)
0.0b1(*.f64 x y)
0.0b1(*.f64 z t)
0.0b1(*.f64 z t)
0.0b1(*.f64 a b)
0.0b1(*.f64 c i)
0.0b1(*.f64 c i)
Compiler

Compiled 409 to 225 computations (45% saved)

regimes197.0ms (1.2%)

Counts
23 → 1
Calls
Call 1
Inputs
(*.f64 y x)
(*.f64 y x)
(*.f64 t z)
(*.f64 a b)
(*.f64 y x)
(*.f64 c i)
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 x y) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 c i))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
(fma.f64 c i (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(fma.f64 a b (*.f64 y x))
(fma.f64 x y (*.f64 a b))
(fma.f64 x y (*.f64 t z))
(+.f64 (fma.f64 a b (*.f64 y x)) (*.f64 c i))
(fma.f64 x y (fma.f64 c i (*.f64 t z)))
Outputs
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
Calls

15 calls:

18.0ms
(*.f64 x y)
13.0ms
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
13.0ms
b
13.0ms
i
13.0ms
c
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1t
0.0b1a
0.0b1b
0.0b1c
0.0b1i
0.0b1(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
0.0b1(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
0.0b1(+.f64 (*.f64 x y) (*.f64 z t))
0.0b1(*.f64 x y)
0.0b1(*.f64 z t)
0.0b1(*.f64 a b)
0.0b1(*.f64 c i)
Compiler

Compiled 330 to 171 computations (48.2% saved)

regimes648.0ms (3.9%)

Counts
15 → 3
Calls
Call 1
Inputs
(*.f64 y x)
(*.f64 y x)
(*.f64 t z)
(*.f64 a b)
(*.f64 y x)
(*.f64 c i)
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 x y) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 c i))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
Outputs
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
Calls

12 calls:

107.0ms
x
103.0ms
z
78.0ms
t
69.0ms
c
66.0ms
y
Results
ErrorSegmentsBranch
8.8b6x
11.6b3y
9.5b7z
10.4b5t
7.7b3a
7.5b5b
8.7b3c
8.0b3i
10.5b4(*.f64 x y)
10.5b4(*.f64 x y)
3.8b3(*.f64 a b)
5.3b3(*.f64 c i)
Compiler

Compiled 209 to 121 computations (42.1% saved)

bsearch126.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
52.0ms
647862829457.7161
13247377003254350.0
73.0ms
-1.7133184715305773e-7
-1.9623525828821343e-10
Compiler

Compiled 34 to 25 computations (26.5% saved)

regimes762.0ms (4.6%)

Counts
14 → 3
Calls
Call 1
Inputs
(*.f64 y x)
(*.f64 y x)
(*.f64 t z)
(*.f64 a b)
(*.f64 y x)
(*.f64 c i)
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 x y) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 c i))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
Outputs
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 x y) (*.f64 a b))
Calls

12 calls:

100.0ms
a
97.0ms
(*.f64 c i)
85.0ms
c
85.0ms
z
83.0ms
y
Results
ErrorSegmentsBranch
11.1b6x
10.6b6y
12.7b6z
12.4b5t
7.3b9a
10.0b5b
12.9b5c
11.1b7i
12.7b3(*.f64 x y)
12.7b3(*.f64 x y)
6.5b3(*.f64 a b)
11.2b7(*.f64 c i)
Compiler

Compiled 198 to 120 computations (39.4% saved)

bsearch53.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
3.1637184468039277e+98
3.8929459012354156e+105
27.0ms
-1.4033230368514006e+107
-4.515752963061405e+101
Compiler

Compiled 34 to 25 computations (26.5% saved)

regimes928.0ms (5.6%)

Counts
13 → 13
Calls
Call 1
Inputs
(*.f64 y x)
(*.f64 y x)
(*.f64 t z)
(*.f64 a b)
(*.f64 y x)
(*.f64 c i)
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 x y) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 c i))
Outputs
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 c i))
(+.f64 (*.f64 y x) (*.f64 c i))
(+.f64 (*.f64 x y) (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 c i))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 c i))
Calls

12 calls:

110.0ms
(*.f64 a b)
103.0ms
z
96.0ms
c
87.0ms
(*.f64 c i)
85.0ms
i
Results
ErrorSegmentsBranch
16.8b7x
14.5b8y
14.1b13z
15.2b8t
15.0b11a
16.3b9b
13.1b13c
15.1b10i
14.3b6(*.f64 x y)
14.3b6(*.f64 x y)
14.4b7(*.f64 a b)
13.5b8(*.f64 c i)
Compiler

Compiled 187 to 119 computations (36.4% saved)

bsearch667.0ms (4.1%)

Algorithm
12×binary-search
Steps
TimeLeftRight
27.0ms
6.683106745506148e-27
1.1726276930385184e-23
28.0ms
1.9911277113322299e-125
1.9532142639257838e-120
49.0ms
1.3351196157635446e-170
1.0287310445265306e-168
50.0ms
-9.935589498688963e-298
-1.0762562963697562e-299
49.0ms
-8.866393046620784e-116
-3.2895870094588644e-120
47.0ms
-2.5853453954942436e-98
-4.6893727755552814e-101
48.0ms
-1.213348884728547e-43
-6.062767097287904e-47
49.0ms
-1.3810584533796385e-11
-2.144413028364492e-14
48.0ms
-4.416404699707867e+43
-7.844507981942717e+40
250.0ms
-7.786709480999204e+79
-3.9344366443745516e+77
15.0ms
-6.229351910576114e+124
-2.339621854325547e+118
6.0ms
-5.837978210489376e+253
-2.4683409273615817e+252
Compiler

Compiled 322 to 241 computations (25.2% saved)

regimes736.0ms (4.5%)

Counts
12 → 13
Calls
Call 1
Inputs
(*.f64 y x)
(*.f64 y x)
(*.f64 t z)
(*.f64 a b)
(*.f64 y x)
(*.f64 c i)
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 x y) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 t z))
Outputs
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 c i))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 x y) (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 x y) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 c i))
(+.f64 (*.f64 x y) (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 x y) (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
Calls

12 calls:

88.0ms
x
86.0ms
z
79.0ms
a
78.0ms
c
70.0ms
i
Results
ErrorSegmentsBranch
18.3b6x
15.6b5y
14.0b13z
15.2b8t
15.0b11a
16.3b9b
15.6b12c
15.1b10i
16.1b4(*.f64 x y)
16.1b4(*.f64 x y)
14.4b7(*.f64 a b)
14.2b8(*.f64 c i)
Compiler

Compiled 180 to 118 computations (34.4% saved)

bsearch541.0ms (3.3%)

Algorithm
12×binary-search
Steps
TimeLeftRight
28.0ms
1.1305807991024928e-26
3.356275442514743e-21
31.0ms
1.2382982087947776e-114
3.0629957269073647e-109
29.0ms
2.920588260265729e-152
6.962840912079473e-146
28.0ms
3.746613471948433e-194
4.989547114646386e-187
29.0ms
-2.3718968462187837e-294
-9.135798259539724e-297
32.0ms
-2.4753945096812134e-228
-1.9335469101952874e-228
30.0ms
-2.201343148291517e-128
-2.5887706848193733e-134
31.0ms
-3.254748266135068e-111
-6.476927352206065e-124
26.0ms
-4.524989730031518e-91
-2.3283535383248028e-94
31.0ms
-3.633819394952762e-26
-2.041314360194038e-28
151.0ms
-1.2334605817327e+63
-1.581361475067993e+62
93.0ms
-1.1335566549396291e+108
-4.543967920580692e+105
Compiler

Compiled 450 to 337 computations (25.1% saved)

regimes610.0ms (3.7%)

Counts
11 → 14
Calls
Call 1
Inputs
(*.f64 y x)
(*.f64 y x)
(*.f64 t z)
(*.f64 a b)
(*.f64 y x)
(*.f64 c i)
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 x y) (*.f64 a b))
Outputs
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 x y) (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 x y) (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 x y) (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 x y) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 c i))
(+.f64 (*.f64 x y) (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 x y) (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
Calls

12 calls:

88.0ms
z
83.0ms
i
81.0ms
c
55.0ms
a
52.0ms
t
Results
ErrorSegmentsBranch
19.3b6x
15.6b5y
14.3b14z
15.2b8t
16.1b9a
17.9b8b
16.3b12c
15.0b13i
16.4b4(*.f64 x y)
16.4b4(*.f64 x y)
15.7b5(*.f64 a b)
17.2b5(*.f64 c i)
Compiler

Compiled 173 to 117 computations (32.4% saved)

bsearch443.0ms (2.7%)

Algorithm
13×binary-search
Steps
TimeLeftRight
25.0ms
1.1305807991024928e-26
3.356275442514743e-21
26.0ms
1.2382982087947776e-114
3.0629957269073647e-109
27.0ms
2.920588260265729e-152
6.962840912079473e-146
25.0ms
3.746613471948433e-194
4.989547114646386e-187
26.0ms
-2.3718968462187837e-294
-9.135798259539724e-297
27.0ms
-2.4753945096812134e-228
-1.9335469101952874e-228
26.0ms
-2.201343148291517e-128
-2.5887706848193733e-134
27.0ms
-3.254748266135068e-111
-6.476927352206065e-124
27.0ms
-4.524989730031518e-91
-2.3283535383248028e-94
26.0ms
-5.82025291643974e+23
-2.0371905268534825e+23
27.0ms
-9.575870123414639e+33
-3.077199121723765e+30
69.0ms
-8.630577487505174e+73
-5.1363207273821564e+73
85.0ms
-1.1335566549396291e+108
-4.543967920580692e+105
Compiler

Compiled 386 to 289 computations (25.1% saved)

regimes545.0ms (3.3%)

Counts
10 → 6
Calls
Call 1
Inputs
(*.f64 y x)
(*.f64 y x)
(*.f64 t z)
(*.f64 a b)
(*.f64 y x)
(*.f64 c i)
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 t z))
Outputs
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 c i))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 t z))
Calls

10 calls:

104.0ms
y
61.0ms
c
60.0ms
x
57.0ms
a
54.0ms
t
Results
ErrorSegmentsBranch
19.7b6x
17.8b6y
20.0b7z
16.3b9t
15.7b10a
18.3b8b
16.8b10c
17.7b8i
15.5b6(*.f64 a b)
18.5b5(*.f64 c i)
Compiler

Compiled 144 to 97 computations (32.6% saved)

bsearch180.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
27.0ms
647862829457.7161
13247377003254350.0
48.0ms
5.597765517608566e-22
2.6868928383781977e-20
27.0ms
3.4524827158117685e-272
1.1709733278264379e-270
51.0ms
-2.295004615232815e-307
-0.0
26.0ms
-1.7133184715305773e-7
-1.9623525828821343e-10
Compiler

Compiled 34 to 25 computations (26.5% saved)

regimes892.0ms (5.4%)

Counts
9 → 6
Calls
Call 1
Inputs
(*.f64 y x)
(*.f64 y x)
(*.f64 t z)
(*.f64 a b)
(*.f64 y x)
(*.f64 c i)
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 c i))
Outputs
(*.f64 a b)
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 c i))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 c i))
(*.f64 a b)
Calls

10 calls:

204.0ms
a
158.0ms
b
106.0ms
z
102.0ms
t
63.0ms
(*.f64 c i)
Results
ErrorSegmentsBranch
25.2b5x
19.6b7y
24.2b5z
21.2b5t
20.4b9a
22.4b7b
26.0b6c
25.6b6i
18.4b6(*.f64 a b)
23.3b11(*.f64 c i)
Compiler

Compiled 137 to 96 computations (29.9% saved)

bsearch435.0ms (2.6%)

Algorithm
binary-search
Steps
TimeLeftRight
50.0ms
3.1637184468039277e+98
3.8929459012354156e+105
68.0ms
5.597765517608566e-22
2.6868928383781977e-20
193.0ms
3.4524827158117685e-272
1.1709733278264379e-270
56.0ms
-2.295004615232815e-307
-0.0
69.0ms
-1.2262941703047695e+137
-2.3875713838198044e+132
Compiler

Compiled 34 to 25 computations (26.5% saved)

regimes890.0ms (5.4%)

Counts
8 → 5
Calls
Call 1
Inputs
(*.f64 y x)
(*.f64 y x)
(*.f64 t z)
(*.f64 a b)
(*.f64 y x)
(*.f64 c i)
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 t z))
Outputs
(*.f64 a b)
(+.f64 (*.f64 c i) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 t z))
(*.f64 a b)
Calls

10 calls:

163.0ms
(*.f64 c i)
124.0ms
(*.f64 a b)
121.0ms
y
108.0ms
x
91.0ms
z
Results
ErrorSegmentsBranch
25.2b6x
22.5b7y
24.9b9z
25.4b7t
23.1b7a
25.3b3b
28.3b3c
27.6b5i
19.6b5(*.f64 a b)
24.6b8(*.f64 c i)
Compiler

Compiled 130 to 95 computations (26.9% saved)

bsearch339.0ms (2.1%)

Algorithm
binary-search
Steps
TimeLeftRight
102.0ms
3.1637184468039277e+98
3.8929459012354156e+105
64.0ms
3.05383689775349e-5
3.6443751282281003
100.0ms
5.597765517608566e-22
2.6868928383781977e-20
73.0ms
-1.2262941703047695e+137
-2.3875713838198044e+132
Compiler

Compiled 34 to 25 computations (26.5% saved)

regimes775.0ms (4.7%)

Counts
7 → 11
Calls
Call 1
Inputs
(*.f64 y x)
(*.f64 y x)
(*.f64 t z)
(*.f64 a b)
(*.f64 y x)
(*.f64 c i)
(*.f64 y x)
Outputs
(*.f64 a b)
(*.f64 t z)
(*.f64 a b)
(*.f64 c i)
(*.f64 t z)
(*.f64 c i)
(*.f64 t z)
(*.f64 y x)
(*.f64 t z)
(*.f64 y x)
(*.f64 a b)
Calls

10 calls:

122.0ms
(*.f64 c i)
121.0ms
(*.f64 a b)
113.0ms
a
99.0ms
t
73.0ms
z
Results
ErrorSegmentsBranch
33.6b8x
34.7b5y
32.5b9z
32.2b7t
30.4b12a
31.9b9b
34.3b8c
35.2b6i
28.8b11(*.f64 a b)
29.2b9(*.f64 c i)
Compiler

Compiled 123 to 94 computations (23.6% saved)

bsearch264.0ms (1.6%)

Algorithm
10×binary-search
Steps
TimeLeftRight
27.0ms
2.091612017628143e+77
5.0104663876806054e+82
24.0ms
5.597765517608566e-22
2.6868928383781977e-20
29.0ms
3.4524827158117685e-272
1.1709733278264379e-270
31.0ms
-2.295004615232815e-307
-0.0
27.0ms
-2.2000216942998936e-160
-3.326078565806741e-162
24.0ms
-1.1377419624280116e-120
-2.0074670603190668e-125
25.0ms
-3.3717413330577254e-52
-1.1661991896154851e-52
25.0ms
-1.7133184715305773e-7
-1.9623525828821343e-10
26.0ms
-1.752068487092581e+41
-3.6749257019570877e+39
25.0ms
-1.2262941703047695e+137
-2.3875713838198044e+132
Compiler

Compiled 34 to 25 computations (26.5% saved)

regimes262.0ms (1.6%)

Counts
5 → 10
Calls
Call 1
Inputs
(*.f64 y x)
(*.f64 y x)
(*.f64 t z)
(*.f64 a b)
(*.f64 y x)
Outputs
(*.f64 a b)
(*.f64 t z)
(*.f64 a b)
(*.f64 y x)
(*.f64 a b)
(*.f64 y x)
(*.f64 t z)
(*.f64 y x)
(*.f64 t z)
(*.f64 a b)
Calls

9 calls:

39.0ms
a
35.0ms
c
35.0ms
b
29.0ms
i
28.0ms
z
Results
ErrorSegmentsBranch
36.7b4x
34.7b5y
35.2b7z
33.9b6t
31.6b10a
33.3b9b
38.3b8c
39.2b6i
31.8b6(*.f64 a b)
Compiler

Compiled 106 to 84 computations (20.8% saved)

bsearch493.0ms (3%)

Algorithm
binary-search
Steps
TimeLeftRight
27.0ms
2.4726653561487757e-88
8.917716585468127e-83
27.0ms
2.0538911176509357e-285
1.0987683304591856e-273
27.0ms
-2.732159090092539e-210
-4.1291678961426904e-215
27.0ms
-196247603231.12012
-4914500770.213065
28.0ms
-3.003169964668077e+34
-1.3119995652070048e+32
148.0ms
-5.937846484319343e+74
-2.1043782475157894e+74
99.0ms
-1.203259262785996e+97
-1.2006644504659833e+95
36.0ms
-1.2925552901049052e+122
-8.83208137738108e+121
73.0ms
-7.657313725444458e+176
-2.3967054675912672e+169
Compiler

Compiled 610 to 505 computations (17.2% saved)

regimes126.0ms (0.8%)

Counts
3 → 3
Calls
Call 1
Inputs
(*.f64 y x)
(*.f64 y x)
(*.f64 t z)
Outputs
(*.f64 y x)
(*.f64 t z)
(*.f64 y x)
Calls

8 calls:

22.0ms
z
20.0ms
b
17.0ms
i
17.0ms
a
14.0ms
y
Results
ErrorSegmentsBranch
40.5b3x
36.4b3y
38.5b5z
36.5b3t
40.8b5a
40.4b6b
41.3b4c
41.4b5i
Compiler

Compiled 89 to 74 computations (16.9% saved)

bsearch54.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
27.0ms
13320579269985864.0
9.211500350329284e+21
27.0ms
-1.2689455329832716e-85
-2.3327680502088145e-91
Compiler

Compiled 34 to 25 computations (26.5% saved)

regimes32.0ms (0.2%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0.0b (-0%)

Counts
2 → 1
Calls
Call 1
Inputs
(*.f64 y x)
(*.f64 y x)
Outputs
(*.f64 y x)
Calls

8 calls:

5.0ms
c
5.0ms
z
3.0ms
y
3.0ms
a
3.0ms
i
Results
ErrorSegmentsBranch
48.6b1x
48.6b1y
48.6b1z
48.6b1t
48.6b1a
48.6b1b
48.6b1c
48.6b1i
Compiler

Compiled 86 to 73 computations (15.1% saved)

simplify34.0ms (0.2%)

Algorithm
egg-herbie
Rules
10×+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02011302
12161302
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
(if (<=.f64 (*.f64 a b) -6472734179549959/37778931862957161709568) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) (if (<=.f64 (*.f64 a b) 2653646149458805/4096) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))))
(if (<=.f64 (*.f64 a b) -140332303685140056084842571785904986547726643732538145424172492362031747973915610630857644592188479569395712) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 316371844680392769046223323572550327618197839255580098149443383579813241630534559582217637294243840) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) (+.f64 (*.f64 x y) (*.f64 a b))))
(if (<=.f64 c -9999999999999999363587069377675917736425707327570073564839440723358156278052707548893386994586947577981035182609405692455150664165314335743772262409420005560181719702721238568128862437403998276353831973920663150777435958293799716241167969694049028276224) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 c -999999999999999980003468347394201181668805192897008518188648311830772414627428725464789434929992439754776075181077037056) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 c -74999999999999996728948283888863373093113435771199596858127251822957592490016768) (+.f64 (*.f64 y x) (*.f64 c i)) (if (<=.f64 c -44164046997078671684696066078688722110382080) (+.f64 (*.f64 x y) (*.f64 a b)) (if (<=.f64 c -8548337780160981/618970019642690137449562112) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 c -6093051511967245/50216813883093446110686315385661331328818843555712276103168) (+.f64 (*.f64 y x) (*.f64 c i)) (if (<=.f64 c -7958421507272197/307828173409331868845930000782371982852185463050511302093346042220669701339821957901673955116288403443801781174272) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 c -3933372687444635/44362715105933037753254626946289339254982993206013065202727673289833940924890009968639590497666233249558259375382457149263586525184) (+.f64 (*.f64 y x) (*.f64 t z)) (if (<=.f64 c -5852738693563439/5890680864316836766447387249177476247119386964598150177535756899376584320794655559932591384900650140340063891615625817543763223144510803885845624607194288107610698331745992221533871131893632012106238622173921469033288521558997823700137184806201826907368669534112523820726591354912103343876844956209126576528293888) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 c 3630759694781145/271942652322184754529069161754863937192751676276240344678115398758606622648756348282451201159797394262471336696958208519857448620878186106577674229128492724195241610667721328144244801536) (+.f64 (*.f64 y x) (*.f64 t z)) (if (<=.f64 c 237113954404655/11908525658859223294760121268437066290850060053501019099651935423375594096449911575776314174894302258147533153997065059263030913083222523904) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 c 2328722822908029/348449143727040986586495598010130648530944) (+.f64 (*.f64 y x) (*.f64 t z)) (+.f64 (*.f64 a b) (*.f64 c i))))))))))))))
(if (<=.f64 z -1100000000000000063472951381384528958674477003324228313943569225245646807038118668358096414989516629660925952) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 z -159999999999999991901941647531843018714183201762145611693424640) (+.f64 (*.f64 y x) (*.f64 c i)) (if (<=.f64 z -1582751570787505/43556142965880123323311949751266331066368) (+.f64 (*.f64 y x) (*.f64 t z)) (if (<=.f64 z -8302446146557259/18347988927920572092886567162416695526372519913346248989900710715095383008707878464560148424881005492436992) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 z -4406416933352037/1353842624082429130653522550851115089568572790710847937094960732721983060451965636249987502980536903367866802227247837807116288) (+.f64 (*.f64 x y) (*.f64 a b)) (if (<=.f64 z -8590049727408857/390218568789499028922699653724145788218574767833121393857394619953171467352470702515038262882936496394978366390175827861930996959911035663286272) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 z -8451054754624451/3414023389634485388328884116849283992138116261025744978122883999623187065762627620618973286846235796860380114223837819108295066446909114921146038298793384983600720680711175453933096082386848780661230088261573940214625662995187948181075905216512) (+.f64 (*.f64 x y) (*.f64 a b)) (if (<=.f64 z -6822308283278537/2876309015779705452366888305262439573788763166307690516374881298523722812888015410123335637158520576337921822077942293722540636301030665959885558890231585990044286294797847764420835513619937505911249327233360092301410410917479406103582609768653235794613608170953380771839155935015675460877365701273987586195456) (+.f64 (*.f64 y x) (*.f64 c i)) (if (<=.f64 z 6158655010318985/164379246923386672101280933840004020798448118838224183109321278220897879821783775691052079258674639100843217776755569303531857257818243870722744211582871276561100739722763893693489492433885084914727914116743168) (+.f64 (*.f64 x y) (*.f64 a b)) (if (<=.f64 z 6888868970386111/235872651551346334515097161311766805682307576276027526773512893765351510149509303255382920323603672971341773439422740306235661539370299539535089640714543502728087207936) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 z 3433391915809369/2772669694120814859578414184143083703436437075375816575170479580614621307805625623039974406104139578097391210961403571828974157824) (+.f64 (*.f64 x y) (*.f64 a b)) (if (<=.f64 z 7878998227229947/696898287454081973172991196020261297061888) (+.f64 (*.f64 c i) (*.f64 t z)) (+.f64 (*.f64 a b) (*.f64 t z))))))))))))))
(if (<=.f64 z -1100000000000000063472951381384528958674477003324228313943569225245646807038118668358096414989516629660925952) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 z -52000000000000001000882753953993170648344044213860137704266595176957345792) (+.f64 (*.f64 x y) (*.f64 a b)) (if (<=.f64 z -9575870123414639401407414167142400) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 z -582025291643974005555200) (+.f64 (*.f64 x y) (*.f64 a b)) (if (<=.f64 z -8302446146557259/18347988927920572092886567162416695526372519913346248989900710715095383008707878464560148424881005492436992) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 z -4406416933352037/1353842624082429130653522550851115089568572790710847937094960732721983060451965636249987502980536903367866802227247837807116288) (+.f64 (*.f64 x y) (*.f64 a b)) (if (<=.f64 z -8590049727408857/390218568789499028922699653724145788218574767833121393857394619953171467352470702515038262882936496394978366390175827861930996959911035663286272) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 z -8451054754624451/3414023389634485388328884116849283992138116261025744978122883999623187065762627620618973286846235796860380114223837819108295066446909114921146038298793384983600720680711175453933096082386848780661230088261573940214625662995187948181075905216512) (+.f64 (*.f64 x y) (*.f64 a b)) (if (<=.f64 z -6822308283278537/2876309015779705452366888305262439573788763166307690516374881298523722812888015410123335637158520576337921822077942293722540636301030665959885558890231585990044286294797847764420835513619937505911249327233360092301410410917479406103582609768653235794613608170953380771839155935015675460877365701273987586195456) (+.f64 (*.f64 y x) (*.f64 c i)) (if (<=.f64 z 6158655010318985/164379246923386672101280933840004020798448118838224183109321278220897879821783775691052079258674639100843217776755569303531857257818243870722744211582871276561100739722763893693489492433885084914727914116743168) (+.f64 (*.f64 x y) (*.f64 a b)) (if (<=.f64 z 6888868970386111/235872651551346334515097161311766805682307576276027526773512893765351510149509303255382920323603672971341773439422740306235661539370299539535089640714543502728087207936) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 z 3433391915809369/2772669694120814859578414184143083703436437075375816575170479580614621307805625623039974406104139578097391210961403571828974157824) (+.f64 (*.f64 x y) (*.f64 a b)) (if (<=.f64 z 7878998227229947/696898287454081973172991196020261297061888) (+.f64 (*.f64 c i) (*.f64 t z)) (+.f64 (*.f64 a b) (*.f64 t z)))))))))))))))
(if (<=.f64 (*.f64 a b) -6472734179549959/37778931862957161709568) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 a b) -2903213159211245/12650140831706913647030959169932331690597290610258882397306334876714396222999709180747523981339820280949192366519800744461863046086612092304188337496296156870094839017285397585279181733880826021327485479904546566785125467714043293663631459728072472271300628532022423097020838413451906408261645469290375391456731733818343424) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 2628556889415371/76135265714062492815260799905274908678720522324960996303655519196976161646612703925512617702203205150197694658057880220183274764571899172238890525752442604840088107030909945545865544183516044127756246824056393584950668733792147460513643465745851293850216709399252168336576785859311828992) (+.f64 (*.f64 y x) (*.f64 c i)) (if (<=.f64 (*.f64 a b) 5952565311875797/10633823966279326983230456482242756608) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 2653646149458805/4096) (+.f64 (*.f64 y x) (*.f64 c i)) (+.f64 (*.f64 a b) (*.f64 t z)))))))
(if (<=.f64 (*.f64 a b) -122629417030476946694103263219526235565963714681842482060770573077471772883160572189466529871905866357496234595216452318068565113183404032) (*.f64 a b) (if (<=.f64 (*.f64 a b) -2903213159211245/12650140831706913647030959169932331690597290610258882397306334876714396222999709180747523981339820280949192366519800744461863046086612092304188337496296156870094839017285397585279181733880826021327485479904546566785125467714043293663631459728072472271300628532022423097020838413451906408261645469290375391456731733818343424) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 2628556889415371/76135265714062492815260799905274908678720522324960996303655519196976161646612703925512617702203205150197694658057880220183274764571899172238890525752442604840088107030909945545865544183516044127756246824056393584950668733792147460513643465745851293850216709399252168336576785859311828992) (+.f64 (*.f64 y x) (*.f64 c i)) (if (<=.f64 (*.f64 a b) 5952565311875797/10633823966279326983230456482242756608) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 316371844680392769046223323572550327618197839255580098149443383579813241630534559582217637294243840) (+.f64 (*.f64 y x) (*.f64 c i)) (*.f64 a b))))))
(if (<=.f64 (*.f64 a b) -122629417030476946694103263219526235565963714681842482060770573077471772883160572189466529871905866357496234595216452318068565113183404032) (*.f64 a b) (if (<=.f64 (*.f64 a b) 5952565311875797/10633823966279326983230456482242756608) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 1126666953914195/36893488147419103232) (*.f64 y x) (if (<=.f64 (*.f64 a b) 316371844680392769046223323572550327618197839255580098149443383579813241630534559582217637294243840) (+.f64 (*.f64 c i) (*.f64 t z)) (*.f64 a b)))))
(if (<=.f64 (*.f64 a b) -122629417030476946694103263219526235565963714681842482060770573077471772883160572189466529871905866357496234595216452318068565113183404032) (*.f64 a b) (if (<=.f64 (*.f64 a b) -175206848709258098322996381766423161077760) (*.f64 t z) (if (<=.f64 (*.f64 a b) -6472734179549959/37778931862957161709568) (*.f64 a b) (if (<=.f64 (*.f64 a b) -71017161339581/210624583337114373395836055367340864637790190801098222508621955072) (*.f64 c i) (if (<=.f64 (*.f64 a b) -3307819666195025/2907354897182427562197295231552018137414565442749272241125960796722557152453591693304764202855054262243050086425064711734138406514458624) (*.f64 t z) (if (<=.f64 (*.f64 a b) -3482446392964687/15829145694278690179872161345257420162248406342477557754500035589945422406818039498900249667919554879334250971265032917718487362195632077437922953926521162746662833417516744704) (*.f64 c i) (if (<=.f64 (*.f64 a b) -2903213159211245/12650140831706913647030959169932331690597290610258882397306334876714396222999709180747523981339820280949192366519800744461863046086612092304188337496296156870094839017285397585279181733880826021327485479904546566785125467714043293663631459728072472271300628532022423097020838413451906408261645469290375391456731733818343424) (*.f64 t z) (if (<=.f64 (*.f64 a b) 2628556889415371/76135265714062492815260799905274908678720522324960996303655519196976161646612703925512617702203205150197694658057880220183274764571899172238890525752442604840088107030909945545865544183516044127756246824056393584950668733792147460513643465745851293850216709399252168336576785859311828992) (*.f64 y x) (if (<=.f64 (*.f64 a b) 5952565311875797/10633823966279326983230456482242756608) (*.f64 t z) (if (<=.f64 (*.f64 a b) 209161201762814288145875956872184458043403247722029418633231477284506339115008) (*.f64 y x) (*.f64 a b)))))))))))
(if (<=.f64 a -749999999999999949350312944765785133449764857862592168398517927210521975591417462549820148886831914818340625653452770338782692455596140847214601237158433015215964412205781221376) (*.f64 a b) (if (<=.f64 a -90000000000000006800931961228246274890770824743556794624097057445823731332426732992791834475517349840499420929268257914880) (*.f64 t z) (if (<=.f64 a -12000000000000000124055450146859579749176467229675875251904857976880110483573405688201329179099136) (*.f64 a b) (if (<=.f64 a -215000000000000000275433395533360523974013614679511620983498918080706248704) (*.f64 y x) (if (<=.f64 a -30031699646680768373111535599353856) (*.f64 a b) (if (<=.f64 a -200957545708667/1024) (*.f64 y x) (if (<=.f64 a -4045225542461881/1480596630383213935040454376661779933220754639736839877261211431528140022932412039118650826290747144651878100106364319997951107067217649833149230265656644000248389221211290269422784124023054547143233298486439198256390425542656) (*.f64 t z) (if (<=.f64 a 343869064185375/167423219872854268898191413915625282900219501828989626163085998182867351738271269139562246689952477832436667643367679191435491450889424069312259024604665231311477621481628609147204290704099549091843034096141351171618467832303105743111961624157454108040174944963852221369694216119572256044331338563584) (*.f64 y x) (if (<=.f64 a 8861022768959085/35835915874844867368919076489095108449946327955754392558399825615420669938882575126094039892345713852416) (*.f64 t z) (*.f64 a b))))))))))
(if (<=.f64 y -2220401629382261/17498005798264095394980017816940970922825355447145699491406164851279623993595007385788105416184430592) (*.f64 y x) (if (<=.f64 y 13320579269985864) (*.f64 t z) (*.f64 y x)))
(*.f64 y x)
Outputs
(fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t))))
(if (<=.f64 (*.f64 a b) -6472734179549959/37778931862957161709568) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) (if (<=.f64 (*.f64 a b) 2653646149458805/4096) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))))
(if (<=.f64 (*.f64 a b) -6472734179549959/37778931862957161709568) (+.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t))) (if (<=.f64 (*.f64 a b) 2653646149458805/4096) (+.f64 (*.f64 c i) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t)))))
(if (<=.f64 (*.f64 a b) -140332303685140056084842571785904986547726643732538145424172492362031747973915610630857644592188479569395712) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 316371844680392769046223323572550327618197839255580098149443383579813241630534559582217637294243840) (+.f64 (*.f64 c i) (+.f64 (*.f64 y x) (*.f64 t z))) (+.f64 (*.f64 x y) (*.f64 a b))))
(if (<=.f64 (*.f64 a b) -140332303685140056084842571785904986547726643732538145424172492362031747973915610630857644592188479569395712) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 (*.f64 a b) 316371844680392769046223323572550327618197839255580098149443383579813241630534559582217637294243840) (+.f64 (*.f64 c i) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 a b) (*.f64 x y))))
(if (<=.f64 c -9999999999999999363587069377675917736425707327570073564839440723358156278052707548893386994586947577981035182609405692455150664165314335743772262409420005560181719702721238568128862437403998276353831973920663150777435958293799716241167969694049028276224) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 c -999999999999999980003468347394201181668805192897008518188648311830772414627428725464789434929992439754776075181077037056) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 c -74999999999999996728948283888863373093113435771199596858127251822957592490016768) (+.f64 (*.f64 y x) (*.f64 c i)) (if (<=.f64 c -44164046997078671684696066078688722110382080) (+.f64 (*.f64 x y) (*.f64 a b)) (if (<=.f64 c -8548337780160981/618970019642690137449562112) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 c -6093051511967245/50216813883093446110686315385661331328818843555712276103168) (+.f64 (*.f64 y x) (*.f64 c i)) (if (<=.f64 c -7958421507272197/307828173409331868845930000782371982852185463050511302093346042220669701339821957901673955116288403443801781174272) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 c -3933372687444635/44362715105933037753254626946289339254982993206013065202727673289833940924890009968639590497666233249558259375382457149263586525184) (+.f64 (*.f64 y x) (*.f64 t z)) (if (<=.f64 c -5852738693563439/5890680864316836766447387249177476247119386964598150177535756899376584320794655559932591384900650140340063891615625817543763223144510803885845624607194288107610698331745992221533871131893632012106238622173921469033288521558997823700137184806201826907368669534112523820726591354912103343876844956209126576528293888) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 c 3630759694781145/271942652322184754529069161754863937192751676276240344678115398758606622648756348282451201159797394262471336696958208519857448620878186106577674229128492724195241610667721328144244801536) (+.f64 (*.f64 y x) (*.f64 t z)) (if (<=.f64 c 237113954404655/11908525658859223294760121268437066290850060053501019099651935423375594096449911575776314174894302258147533153997065059263030913083222523904) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 c 2328722822908029/348449143727040986586495598010130648530944) (+.f64 (*.f64 y x) (*.f64 t z)) (+.f64 (*.f64 a b) (*.f64 c i))))))))))))))
(if (<=.f64 c -9999999999999999363587069377675917736425707327570073564839440723358156278052707548893386994586947577981035182609405692455150664165314335743772262409420005560181719702721238568128862437403998276353831973920663150777435958293799716241167969694049028276224) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 c -999999999999999980003468347394201181668805192897008518188648311830772414627428725464789434929992439754776075181077037056) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 c -74999999999999996728948283888863373093113435771199596858127251822957592490016768) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 c -44164046997078671684696066078688722110382080) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 c -8548337780160981/618970019642690137449562112) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 c -6093051511967245/50216813883093446110686315385661331328818843555712276103168) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 c -7958421507272197/307828173409331868845930000782371982852185463050511302093346042220669701339821957901673955116288403443801781174272) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 c -3933372687444635/44362715105933037753254626946289339254982993206013065202727673289833940924890009968639590497666233249558259375382457149263586525184) (+.f64 (*.f64 x y) (*.f64 z t)) (if (<=.f64 c -5852738693563439/5890680864316836766447387249177476247119386964598150177535756899376584320794655559932591384900650140340063891615625817543763223144510803885845624607194288107610698331745992221533871131893632012106238622173921469033288521558997823700137184806201826907368669534112523820726591354912103343876844956209126576528293888) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 c 3630759694781145/271942652322184754529069161754863937192751676276240344678115398758606622648756348282451201159797394262471336696958208519857448620878186106577674229128492724195241610667721328144244801536) (+.f64 (*.f64 x y) (*.f64 z t)) (if (<=.f64 c 237113954404655/11908525658859223294760121268437066290850060053501019099651935423375594096449911575776314174894302258147533153997065059263030913083222523904) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 c 2328722822908029/348449143727040986586495598010130648530944) (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 c i))))))))))))))
(if (<=.f64 z -1100000000000000063472951381384528958674477003324228313943569225245646807038118668358096414989516629660925952) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 z -159999999999999991901941647531843018714183201762145611693424640) (+.f64 (*.f64 y x) (*.f64 c i)) (if (<=.f64 z -1582751570787505/43556142965880123323311949751266331066368) (+.f64 (*.f64 y x) (*.f64 t z)) (if (<=.f64 z -8302446146557259/18347988927920572092886567162416695526372519913346248989900710715095383008707878464560148424881005492436992) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 z -4406416933352037/1353842624082429130653522550851115089568572790710847937094960732721983060451965636249987502980536903367866802227247837807116288) (+.f64 (*.f64 x y) (*.f64 a b)) (if (<=.f64 z -8590049727408857/390218568789499028922699653724145788218574767833121393857394619953171467352470702515038262882936496394978366390175827861930996959911035663286272) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 z -8451054754624451/3414023389634485388328884116849283992138116261025744978122883999623187065762627620618973286846235796860380114223837819108295066446909114921146038298793384983600720680711175453933096082386848780661230088261573940214625662995187948181075905216512) (+.f64 (*.f64 x y) (*.f64 a b)) (if (<=.f64 z -6822308283278537/2876309015779705452366888305262439573788763166307690516374881298523722812888015410123335637158520576337921822077942293722540636301030665959885558890231585990044286294797847764420835513619937505911249327233360092301410410917479406103582609768653235794613608170953380771839155935015675460877365701273987586195456) (+.f64 (*.f64 y x) (*.f64 c i)) (if (<=.f64 z 6158655010318985/164379246923386672101280933840004020798448118838224183109321278220897879821783775691052079258674639100843217776755569303531857257818243870722744211582871276561100739722763893693489492433885084914727914116743168) (+.f64 (*.f64 x y) (*.f64 a b)) (if (<=.f64 z 6888868970386111/235872651551346334515097161311766805682307576276027526773512893765351510149509303255382920323603672971341773439422740306235661539370299539535089640714543502728087207936) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 z 3433391915809369/2772669694120814859578414184143083703436437075375816575170479580614621307805625623039974406104139578097391210961403571828974157824) (+.f64 (*.f64 x y) (*.f64 a b)) (if (<=.f64 z 7878998227229947/696898287454081973172991196020261297061888) (+.f64 (*.f64 c i) (*.f64 t z)) (+.f64 (*.f64 a b) (*.f64 t z))))))))))))))
(if (<=.f64 z -1100000000000000063472951381384528958674477003324228313943569225245646807038118668358096414989516629660925952) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 z -159999999999999991901941647531843018714183201762145611693424640) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 z -1582751570787505/43556142965880123323311949751266331066368) (+.f64 (*.f64 x y) (*.f64 z t)) (if (<=.f64 z -8302446146557259/18347988927920572092886567162416695526372519913346248989900710715095383008707878464560148424881005492436992) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 z -4406416933352037/1353842624082429130653522550851115089568572790710847937094960732721983060451965636249987502980536903367866802227247837807116288) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 z -8590049727408857/390218568789499028922699653724145788218574767833121393857394619953171467352470702515038262882936496394978366390175827861930996959911035663286272) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 z -8451054754624451/3414023389634485388328884116849283992138116261025744978122883999623187065762627620618973286846235796860380114223837819108295066446909114921146038298793384983600720680711175453933096082386848780661230088261573940214625662995187948181075905216512) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 z -6822308283278537/2876309015779705452366888305262439573788763166307690516374881298523722812888015410123335637158520576337921822077942293722540636301030665959885558890231585990044286294797847764420835513619937505911249327233360092301410410917479406103582609768653235794613608170953380771839155935015675460877365701273987586195456) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 z 6158655010318985/164379246923386672101280933840004020798448118838224183109321278220897879821783775691052079258674639100843217776755569303531857257818243870722744211582871276561100739722763893693489492433885084914727914116743168) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 z 6888868970386111/235872651551346334515097161311766805682307576276027526773512893765351510149509303255382920323603672971341773439422740306235661539370299539535089640714543502728087207936) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 z 3433391915809369/2772669694120814859578414184143083703436437075375816575170479580614621307805625623039974406104139578097391210961403571828974157824) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 z 7878998227229947/696898287454081973172991196020261297061888) (+.f64 (*.f64 c i) (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 z t))))))))))))))
(if (<=.f64 z -1100000000000000063472951381384528958674477003324228313943569225245646807038118668358096414989516629660925952) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 z -52000000000000001000882753953993170648344044213860137704266595176957345792) (+.f64 (*.f64 x y) (*.f64 a b)) (if (<=.f64 z -9575870123414639401407414167142400) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 z -582025291643974005555200) (+.f64 (*.f64 x y) (*.f64 a b)) (if (<=.f64 z -8302446146557259/18347988927920572092886567162416695526372519913346248989900710715095383008707878464560148424881005492436992) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 z -4406416933352037/1353842624082429130653522550851115089568572790710847937094960732721983060451965636249987502980536903367866802227247837807116288) (+.f64 (*.f64 x y) (*.f64 a b)) (if (<=.f64 z -8590049727408857/390218568789499028922699653724145788218574767833121393857394619953171467352470702515038262882936496394978366390175827861930996959911035663286272) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 z -8451054754624451/3414023389634485388328884116849283992138116261025744978122883999623187065762627620618973286846235796860380114223837819108295066446909114921146038298793384983600720680711175453933096082386848780661230088261573940214625662995187948181075905216512) (+.f64 (*.f64 x y) (*.f64 a b)) (if (<=.f64 z -6822308283278537/2876309015779705452366888305262439573788763166307690516374881298523722812888015410123335637158520576337921822077942293722540636301030665959885558890231585990044286294797847764420835513619937505911249327233360092301410410917479406103582609768653235794613608170953380771839155935015675460877365701273987586195456) (+.f64 (*.f64 y x) (*.f64 c i)) (if (<=.f64 z 6158655010318985/164379246923386672101280933840004020798448118838224183109321278220897879821783775691052079258674639100843217776755569303531857257818243870722744211582871276561100739722763893693489492433885084914727914116743168) (+.f64 (*.f64 x y) (*.f64 a b)) (if (<=.f64 z 6888868970386111/235872651551346334515097161311766805682307576276027526773512893765351510149509303255382920323603672971341773439422740306235661539370299539535089640714543502728087207936) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 z 3433391915809369/2772669694120814859578414184143083703436437075375816575170479580614621307805625623039974406104139578097391210961403571828974157824) (+.f64 (*.f64 x y) (*.f64 a b)) (if (<=.f64 z 7878998227229947/696898287454081973172991196020261297061888) (+.f64 (*.f64 c i) (*.f64 t z)) (+.f64 (*.f64 a b) (*.f64 t z)))))))))))))))
(if (<=.f64 z -1100000000000000063472951381384528958674477003324228313943569225245646807038118668358096414989516629660925952) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 z -52000000000000001000882753953993170648344044213860137704266595176957345792) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 z -9575870123414639401407414167142400) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 z -582025291643974005555200) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 z -8302446146557259/18347988927920572092886567162416695526372519913346248989900710715095383008707878464560148424881005492436992) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 z -4406416933352037/1353842624082429130653522550851115089568572790710847937094960732721983060451965636249987502980536903367866802227247837807116288) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 z -8590049727408857/390218568789499028922699653724145788218574767833121393857394619953171467352470702515038262882936496394978366390175827861930996959911035663286272) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 z -8451054754624451/3414023389634485388328884116849283992138116261025744978122883999623187065762627620618973286846235796860380114223837819108295066446909114921146038298793384983600720680711175453933096082386848780661230088261573940214625662995187948181075905216512) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 z -6822308283278537/2876309015779705452366888305262439573788763166307690516374881298523722812888015410123335637158520576337921822077942293722540636301030665959885558890231585990044286294797847764420835513619937505911249327233360092301410410917479406103582609768653235794613608170953380771839155935015675460877365701273987586195456) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 z 6158655010318985/164379246923386672101280933840004020798448118838224183109321278220897879821783775691052079258674639100843217776755569303531857257818243870722744211582871276561100739722763893693489492433885084914727914116743168) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 z 6888868970386111/235872651551346334515097161311766805682307576276027526773512893765351510149509303255382920323603672971341773439422740306235661539370299539535089640714543502728087207936) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 z 3433391915809369/2772669694120814859578414184143083703436437075375816575170479580614621307805625623039974406104139578097391210961403571828974157824) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 z 7878998227229947/696898287454081973172991196020261297061888) (+.f64 (*.f64 c i) (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 z t)))))))))))))))
(if (<=.f64 (*.f64 a b) -6472734179549959/37778931862957161709568) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 a b) -2903213159211245/12650140831706913647030959169932331690597290610258882397306334876714396222999709180747523981339820280949192366519800744461863046086612092304188337496296156870094839017285397585279181733880826021327485479904546566785125467714043293663631459728072472271300628532022423097020838413451906408261645469290375391456731733818343424) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 2628556889415371/76135265714062492815260799905274908678720522324960996303655519196976161646612703925512617702203205150197694658057880220183274764571899172238890525752442604840088107030909945545865544183516044127756246824056393584950668733792147460513643465745851293850216709399252168336576785859311828992) (+.f64 (*.f64 y x) (*.f64 c i)) (if (<=.f64 (*.f64 a b) 5952565311875797/10633823966279326983230456482242756608) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 2653646149458805/4096) (+.f64 (*.f64 y x) (*.f64 c i)) (+.f64 (*.f64 a b) (*.f64 t z)))))))
(if (<=.f64 (*.f64 a b) -6472734179549959/37778931862957161709568) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 (*.f64 a b) -2903213159211245/12650140831706913647030959169932331690597290610258882397306334876714396222999709180747523981339820280949192366519800744461863046086612092304188337496296156870094839017285397585279181733880826021327485479904546566785125467714043293663631459728072472271300628532022423097020838413451906408261645469290375391456731733818343424) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 (*.f64 a b) 2628556889415371/76135265714062492815260799905274908678720522324960996303655519196976161646612703925512617702203205150197694658057880220183274764571899172238890525752442604840088107030909945545865544183516044127756246824056393584950668733792147460513643465745851293850216709399252168336576785859311828992) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 (*.f64 a b) 5952565311875797/10633823966279326983230456482242756608) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 (*.f64 a b) 2653646149458805/4096) (+.f64 (*.f64 c i) (*.f64 x y)) (+.f64 (*.f64 a b) (*.f64 z t)))))))
(if (<=.f64 (*.f64 a b) -122629417030476946694103263219526235565963714681842482060770573077471772883160572189466529871905866357496234595216452318068565113183404032) (*.f64 a b) (if (<=.f64 (*.f64 a b) -2903213159211245/12650140831706913647030959169932331690597290610258882397306334876714396222999709180747523981339820280949192366519800744461863046086612092304188337496296156870094839017285397585279181733880826021327485479904546566785125467714043293663631459728072472271300628532022423097020838413451906408261645469290375391456731733818343424) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 2628556889415371/76135265714062492815260799905274908678720522324960996303655519196976161646612703925512617702203205150197694658057880220183274764571899172238890525752442604840088107030909945545865544183516044127756246824056393584950668733792147460513643465745851293850216709399252168336576785859311828992) (+.f64 (*.f64 y x) (*.f64 c i)) (if (<=.f64 (*.f64 a b) 5952565311875797/10633823966279326983230456482242756608) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 316371844680392769046223323572550327618197839255580098149443383579813241630534559582217637294243840) (+.f64 (*.f64 y x) (*.f64 c i)) (*.f64 a b))))))
(if (<=.f64 (*.f64 a b) -122629417030476946694103263219526235565963714681842482060770573077471772883160572189466529871905866357496234595216452318068565113183404032) (*.f64 a b) (if (<=.f64 (*.f64 a b) -2903213159211245/12650140831706913647030959169932331690597290610258882397306334876714396222999709180747523981339820280949192366519800744461863046086612092304188337496296156870094839017285397585279181733880826021327485479904546566785125467714043293663631459728072472271300628532022423097020838413451906408261645469290375391456731733818343424) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 (*.f64 a b) 2628556889415371/76135265714062492815260799905274908678720522324960996303655519196976161646612703925512617702203205150197694658057880220183274764571899172238890525752442604840088107030909945545865544183516044127756246824056393584950668733792147460513643465745851293850216709399252168336576785859311828992) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 (*.f64 a b) 5952565311875797/10633823966279326983230456482242756608) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 (*.f64 a b) 316371844680392769046223323572550327618197839255580098149443383579813241630534559582217637294243840) (+.f64 (*.f64 c i) (*.f64 x y)) (*.f64 a b))))))
(if (<=.f64 (*.f64 a b) -122629417030476946694103263219526235565963714681842482060770573077471772883160572189466529871905866357496234595216452318068565113183404032) (*.f64 a b) (if (<=.f64 (*.f64 a b) 5952565311875797/10633823966279326983230456482242756608) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 1126666953914195/36893488147419103232) (*.f64 y x) (if (<=.f64 (*.f64 a b) 316371844680392769046223323572550327618197839255580098149443383579813241630534559582217637294243840) (+.f64 (*.f64 c i) (*.f64 t z)) (*.f64 a b)))))
(if (<=.f64 (*.f64 a b) -122629417030476946694103263219526235565963714681842482060770573077471772883160572189466529871905866357496234595216452318068565113183404032) (*.f64 a b) (if (<=.f64 (*.f64 a b) 5952565311875797/10633823966279326983230456482242756608) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 (*.f64 a b) 1126666953914195/36893488147419103232) (*.f64 x y) (if (<=.f64 (*.f64 a b) 316371844680392769046223323572550327618197839255580098149443383579813241630534559582217637294243840) (+.f64 (*.f64 c i) (*.f64 z t)) (*.f64 a b)))))
(if (<=.f64 (*.f64 a b) -122629417030476946694103263219526235565963714681842482060770573077471772883160572189466529871905866357496234595216452318068565113183404032) (*.f64 a b) (if (<=.f64 (*.f64 a b) -175206848709258098322996381766423161077760) (*.f64 t z) (if (<=.f64 (*.f64 a b) -6472734179549959/37778931862957161709568) (*.f64 a b) (if (<=.f64 (*.f64 a b) -71017161339581/210624583337114373395836055367340864637790190801098222508621955072) (*.f64 c i) (if (<=.f64 (*.f64 a b) -3307819666195025/2907354897182427562197295231552018137414565442749272241125960796722557152453591693304764202855054262243050086425064711734138406514458624) (*.f64 t z) (if (<=.f64 (*.f64 a b) -3482446392964687/15829145694278690179872161345257420162248406342477557754500035589945422406818039498900249667919554879334250971265032917718487362195632077437922953926521162746662833417516744704) (*.f64 c i) (if (<=.f64 (*.f64 a b) -2903213159211245/12650140831706913647030959169932331690597290610258882397306334876714396222999709180747523981339820280949192366519800744461863046086612092304188337496296156870094839017285397585279181733880826021327485479904546566785125467714043293663631459728072472271300628532022423097020838413451906408261645469290375391456731733818343424) (*.f64 t z) (if (<=.f64 (*.f64 a b) 2628556889415371/76135265714062492815260799905274908678720522324960996303655519196976161646612703925512617702203205150197694658057880220183274764571899172238890525752442604840088107030909945545865544183516044127756246824056393584950668733792147460513643465745851293850216709399252168336576785859311828992) (*.f64 y x) (if (<=.f64 (*.f64 a b) 5952565311875797/10633823966279326983230456482242756608) (*.f64 t z) (if (<=.f64 (*.f64 a b) 209161201762814288145875956872184458043403247722029418633231477284506339115008) (*.f64 y x) (*.f64 a b)))))))))))
(if (<=.f64 (*.f64 a b) -122629417030476946694103263219526235565963714681842482060770573077471772883160572189466529871905866357496234595216452318068565113183404032) (*.f64 a b) (if (<=.f64 (*.f64 a b) -175206848709258098322996381766423161077760) (*.f64 z t) (if (<=.f64 (*.f64 a b) -6472734179549959/37778931862957161709568) (*.f64 a b) (if (<=.f64 (*.f64 a b) -71017161339581/210624583337114373395836055367340864637790190801098222508621955072) (*.f64 c i) (if (<=.f64 (*.f64 a b) -3307819666195025/2907354897182427562197295231552018137414565442749272241125960796722557152453591693304764202855054262243050086425064711734138406514458624) (*.f64 z t) (if (<=.f64 (*.f64 a b) -3482446392964687/15829145694278690179872161345257420162248406342477557754500035589945422406818039498900249667919554879334250971265032917718487362195632077437922953926521162746662833417516744704) (*.f64 c i) (if (<=.f64 (*.f64 a b) -2903213159211245/12650140831706913647030959169932331690597290610258882397306334876714396222999709180747523981339820280949192366519800744461863046086612092304188337496296156870094839017285397585279181733880826021327485479904546566785125467714043293663631459728072472271300628532022423097020838413451906408261645469290375391456731733818343424) (*.f64 z t) (if (<=.f64 (*.f64 a b) 2628556889415371/76135265714062492815260799905274908678720522324960996303655519196976161646612703925512617702203205150197694658057880220183274764571899172238890525752442604840088107030909945545865544183516044127756246824056393584950668733792147460513643465745851293850216709399252168336576785859311828992) (*.f64 x y) (if (<=.f64 (*.f64 a b) 5952565311875797/10633823966279326983230456482242756608) (*.f64 z t) (if (<=.f64 (*.f64 a b) 209161201762814288145875956872184458043403247722029418633231477284506339115008) (*.f64 x y) (*.f64 a b)))))))))))
(if (<=.f64 a -749999999999999949350312944765785133449764857862592168398517927210521975591417462549820148886831914818340625653452770338782692455596140847214601237158433015215964412205781221376) (*.f64 a b) (if (<=.f64 a -90000000000000006800931961228246274890770824743556794624097057445823731332426732992791834475517349840499420929268257914880) (*.f64 t z) (if (<=.f64 a -12000000000000000124055450146859579749176467229675875251904857976880110483573405688201329179099136) (*.f64 a b) (if (<=.f64 a -215000000000000000275433395533360523974013614679511620983498918080706248704) (*.f64 y x) (if (<=.f64 a -30031699646680768373111535599353856) (*.f64 a b) (if (<=.f64 a -200957545708667/1024) (*.f64 y x) (if (<=.f64 a -4045225542461881/1480596630383213935040454376661779933220754639736839877261211431528140022932412039118650826290747144651878100106364319997951107067217649833149230265656644000248389221211290269422784124023054547143233298486439198256390425542656) (*.f64 t z) (if (<=.f64 a 343869064185375/167423219872854268898191413915625282900219501828989626163085998182867351738271269139562246689952477832436667643367679191435491450889424069312259024604665231311477621481628609147204290704099549091843034096141351171618467832303105743111961624157454108040174944963852221369694216119572256044331338563584) (*.f64 y x) (if (<=.f64 a 8861022768959085/35835915874844867368919076489095108449946327955754392558399825615420669938882575126094039892345713852416) (*.f64 t z) (*.f64 a b))))))))))
(if (<=.f64 a -749999999999999949350312944765785133449764857862592168398517927210521975591417462549820148886831914818340625653452770338782692455596140847214601237158433015215964412205781221376) (*.f64 a b) (if (<=.f64 a -90000000000000006800931961228246274890770824743556794624097057445823731332426732992791834475517349840499420929268257914880) (*.f64 z t) (if (<=.f64 a -12000000000000000124055450146859579749176467229675875251904857976880110483573405688201329179099136) (*.f64 a b) (if (<=.f64 a -215000000000000000275433395533360523974013614679511620983498918080706248704) (*.f64 x y) (if (<=.f64 a -30031699646680768373111535599353856) (*.f64 a b) (if (<=.f64 a -200957545708667/1024) (*.f64 x y) (if (<=.f64 a -4045225542461881/1480596630383213935040454376661779933220754639736839877261211431528140022932412039118650826290747144651878100106364319997951107067217649833149230265656644000248389221211290269422784124023054547143233298486439198256390425542656) (*.f64 z t) (if (<=.f64 a 343869064185375/167423219872854268898191413915625282900219501828989626163085998182867351738271269139562246689952477832436667643367679191435491450889424069312259024604665231311477621481628609147204290704099549091843034096141351171618467832303105743111961624157454108040174944963852221369694216119572256044331338563584) (*.f64 x y) (if (<=.f64 a 8861022768959085/35835915874844867368919076489095108449946327955754392558399825615420669938882575126094039892345713852416) (*.f64 z t) (*.f64 a b))))))))))
(if (<=.f64 y -2220401629382261/17498005798264095394980017816940970922825355447145699491406164851279623993595007385788105416184430592) (*.f64 y x) (if (<=.f64 y 13320579269985864) (*.f64 t z) (*.f64 y x)))
(if (<=.f64 y -2220401629382261/17498005798264095394980017816940970922825355447145699491406164851279623993595007385788105416184430592) (*.f64 x y) (if (<=.f64 y 13320579269985864) (*.f64 z t) (*.f64 x y)))
(*.f64 y x)
(*.f64 x y)
Compiler

Compiled 1011 to 421 computations (58.4% saved)

soundness15.0ms (0.1%)

Algorithm
egg-herbie
Rules
58×fma-def_binary64
24×associate-+l+_binary64
21×associate-+r+_binary64
17×+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01620
12816
26316
312416
415016
515216
Stop Event
saturated
Compiler

Compiled 153 to 97 computations (36.6% saved)

end198.0ms (1.2%)

Remove

(sort c i)

(sort a b)

(sort z t)

(sort x y)

Compiler

Compiled 1067 to 348 computations (67.4% saved)

Profiling

Loading profile data...