Details

Time bar (total: 12.0s)

analyze690.0ms (5.7%)

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

Compiled 24 to 16 computations (33.3% saved)

sample3.4s (28.3%)

Results
2.0s8256×body256valid
1.4s5733×body256invalid

preprocess51.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)

simplify8.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))))

eval2.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
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
0.0b
(fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))
Compiler

Compiled 43 to 27 computations (37.2% saved)

localize18.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 61 to 15 computations (75.4% saved)

series24.0ms (0.2%)

Counts
3 → 216
Calls

54 calls:

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

rewrite100.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 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
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 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)))))))
((#(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)))))))

simplify60.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
21022392
31362392
41402392
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 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))))
(+.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)))
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 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 a b (fma.f64 c i (fma.f64 y x (*.f64 t z))))
(fma.f64 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x))))
(*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x))))
(*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.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)))
(+.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x))))
(*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x))))
(*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x))))
(*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x))))
(*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x))))
(*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x))))
(*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.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)))
(fma.f64 c i (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x))))
(*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x))))
(*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.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)))
(fma.f64 c i (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x))))
(*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.f64 y x))))
(*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.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)))
(+.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.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)))
(+.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.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 c i (fma.f64 a b (fma.f64 t z (*.f64 y x))))
(fma.f64 t z (fma.f64 a b (fma.f64 c i (*.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)))
(+.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)))
(+.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)))
(*.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)))
(+.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)))
(+.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)))
(*.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)))
(+.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)))
(+.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)))
(+.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)))
(+.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)))
(+.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)))
(*.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)))
(+.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)))
(+.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)))
(*.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)))
(+.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)))
(+.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)))
(+.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 (*.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)))
(+.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)))
(+.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)))
(*.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)))
(+.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)))
(+.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)))
(*.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)))
(+.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)))
(+.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)))
(+.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 (*.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)))
(+.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)))
(+.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)))
(*.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)))
(+.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)))
(+.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)))
(*.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)))
(+.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)))
(+.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)))
(+.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)))
(+.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)))
(+.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)))
(*.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)))
(+.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)))
(+.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)))
(*.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)))
(+.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)))
(+.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)))
(+.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)))
(+.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)))
(+.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)))
(*.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)))
(+.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)))
(+.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)))
(*.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)))
(+.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)))
(+.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)))

localize15.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 46 to 12 computations (73.9% saved)

series18.0ms (0.2%)

Counts
2 → 168
Calls

42 calls:

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

rewrite67.0ms (0.6%)

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 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))
(fma.f64 z t (fma.f64 c i (*.f64 a b)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (fma.f64 z t (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x y) 1) (fma.f64 z t (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x y (*.f64 z t)) (fma.f64 c i (*.f64 a b)))))) (#(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 c i (*.f64 a b)))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))) (pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))) 2) (cbrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))) (sqrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x y) 3) (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 3)) (+.f64 (pow.f64 (*.f64 x y) 2) (-.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 2) (*.f64 (*.f64 x y) (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x y) 2) (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 2)) (-.f64 (*.f64 x y) (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))) (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 c i (*.f64 a b))))) (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 c i (*.f64 a b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x y (fma.f64 z t (fma.f64 c i (*.f64 a b))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 c i (*.f64 a b)) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z t) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 z t (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z t) 1) (fma.f64 c i (*.f64 a b)))))) (#(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 c i (*.f64 a b))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z t (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))) (pow.f64 (cbrt.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))) 2) (cbrt.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))) (sqrt.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z t) 3) (pow.f64 (fma.f64 c i (*.f64 a b)) 3)) (+.f64 (pow.f64 (*.f64 z t) 2) (-.f64 (pow.f64 (fma.f64 c i (*.f64 a b)) 2) (*.f64 (*.f64 z t) (fma.f64 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z t) 2) (pow.f64 (fma.f64 c i (*.f64 a b)) 2)) (-.f64 (*.f64 z t) (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 c i (*.f64 a b))) (exp.f64 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 c i (*.f64 a b)))) (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 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 z t (fma.f64 c i (*.f64 a b)))) 1))))))

simplify54.0ms (0.5%)

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 (*.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))))
(+.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)))
Outputs
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.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 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 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 a b (*.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 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 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 a b (*.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 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 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 a b (*.f64 t z))))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.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 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 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 a b (*.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 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 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 a b (*.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 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 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 a b (*.f64 t z))))
(+.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 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 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 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 a b (*.f64 t z))))
(*.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 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 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 a b (*.f64 t z))))
(*.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 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 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 a b (*.f64 t z))))
(+.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 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 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 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 a b (*.f64 t z))))
(*.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 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 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 a b (*.f64 t z))))
(*.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 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 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 a b (*.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 y x (fma.f64 a b (*.f64 t z)))
(+.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 a b (*.f64 t z))))
(+.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 a b (*.f64 t z))))
(+.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 a b (*.f64 t z))))
(*.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 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 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 a b (*.f64 t z))))
(*.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 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 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 a b (*.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 y x (fma.f64 a b (*.f64 t z)))
(+.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 a b (*.f64 t z))))
(+.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 a b (*.f64 t z))))
(+.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 a b (*.f64 t z))))
(*.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 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 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 a b (*.f64 t z))))
(*.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 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 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 a b (*.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)))
(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 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 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 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 a b (*.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 a b (*.f64 t z))))
(+.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 a b (*.f64 t z))))
(+.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 a b (*.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 a b (*.f64 t z))))
(+.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 a b (*.f64 t z))))
(+.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 a b (*.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)))
(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 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 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 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 a b (*.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 a b (*.f64 t z))))
(+.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 a b (*.f64 t z))))
(+.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 a b (*.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 a b (*.f64 t z))))
(+.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 a b (*.f64 t z))))
(+.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 a b (*.f64 t z))))
(+.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)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.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)))
(*.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)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.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)))
(*.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)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.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)))
(+.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)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.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)))
(*.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)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.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)))
(*.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)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.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)))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(*.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)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.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)))
(*.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)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.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)))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(*.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)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.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)))
(*.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)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.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)))
(+.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)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.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)))
(*.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)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.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)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(+.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)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 t z)))
(fma.f64 c i (fma.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)))
(*.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)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.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)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 c i (fma.f64 a b (*.f64 t z)))

eval52.0ms (0.4%)

Compiler

Compiled 5142 to 1129 computations (78% saved)

prune60.0ms (0.5%)

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
48.6b
(*.f64 c i)
14.7b
(+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i))
14.5b
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
45.2b
(*.f64 t z)
46.6b
(*.f64 a b)
47.8b
(*.f64 y x)
17.7b
(fma.f64 a b (fma.f64 c i (*.f64 y x)))
14.7b
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
17.7b
(+.f64 (+.f64 (*.f64 y x) (*.f64 a b)) (*.f64 c i))
Compiler

Compiled 270 to 194 computations (28.1% saved)

localize15.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)

series10.0ms (0.1%)

Counts
2 → 30
Calls

30 calls:

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

rewrite77.0ms (0.6%)

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)))))))

simplify11.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.1%)

Compiler

Compiled 13 to 9 computations (30.8% saved)

localize5.0ms (0%)

Compiler

Compiled 13 to 9 computations (30.8% saved)

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 41 to 13 computations (68.3% saved)

series9.0ms (0.1%)

Counts
2 → 120
Calls

30 calls:

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

rewrite78.0ms (0.6%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01222
125820
2365920
Stop Event
node limit
Counts
2 → 183
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i))
(+.f64 (*.f64 t z) (*.f64 a b))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 2) (-.f64 (fma.f64 t z (*.f64 a b)) (*.f64 c i))) (/.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (fma.f64 t z (*.f64 a b)) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 t z (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))) (pow.f64 (cbrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))) 2) (cbrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))) (sqrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 3) (pow.f64 (*.f64 c i) 3)) (/.f64 1 (fma.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 t z (*.f64 a b))) (pow.f64 (fma.f64 t z (*.f64 a b)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 2) (pow.f64 (*.f64 c i) 2)) (/.f64 1 (-.f64 (fma.f64 t z (*.f64 a b)) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 t z (*.f64 a b))) (pow.f64 (fma.f64 t z (*.f64 a b)) 2)) (+.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 3) (pow.f64 (*.f64 c i) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 t z (*.f64 a b)) (*.f64 c i)) (-.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 2) (pow.f64 (*.f64 c i) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 3) (pow.f64 (*.f64 c i) 3)) (fma.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 t z (*.f64 a b))) (pow.f64 (fma.f64 t z (*.f64 a b)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 3) (pow.f64 (*.f64 c i) 3)) (+.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 2) (*.f64 (fma.f64 t z (*.f64 a b)) (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 2) (pow.f64 (*.f64 c i) 2)) (-.f64 (fma.f64 t z (*.f64 a b)) (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 3) (pow.f64 (*.f64 c i) 3))) (neg.f64 (fma.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 t z (*.f64 a b))) (pow.f64 (fma.f64 t z (*.f64 a b)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 2) (pow.f64 (*.f64 c i) 2))) (neg.f64 (-.f64 (fma.f64 t z (*.f64 a b)) (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 t z) 3) (pow.f64 (fma.f64 c i (*.f64 a b)) 3)) (+.f64 (pow.f64 (*.f64 t z) 2) (-.f64 (pow.f64 (fma.f64 c i (*.f64 a b)) 2) (*.f64 (*.f64 t z) (fma.f64 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (fma.f64 c i (*.f64 a b)) 2)) (-.f64 (*.f64 t z) (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (fma.f64 t z (*.f64 a b)) 2)) (-.f64 (*.f64 c i) (fma.f64 t z (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 c i) (-.f64 (*.f64 c i) (fma.f64 t z (*.f64 a b))) (pow.f64 (fma.f64 t z (*.f64 a b)) 2)) (+.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 3) (pow.f64 (*.f64 c i) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (fma.f64 t z (*.f64 a b)) (*.f64 c i)) (-.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 2) (pow.f64 (*.f64 c i) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 t z))) (exp.f64 (fma.f64 c i (*.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 c) i))))))) (#(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 c) i))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 t z (*.f64 a b)))) (pow.f64 (exp.f64 c) i)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 t z (*.f64 a b))) (+.f64 1 (expm1.f64 (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 t z (*.f64 a b)))) (+.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 t z (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 c) i) (+.f64 1 (expm1.f64 (fma.f64 t z (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 c i))) (+.f64 1 (expm1.f64 (fma.f64 t z (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 c i (*.f64 a b))) (pow.f64 (exp.f64 t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 a) b) (pow.f64 (exp.f64 c) i)) (pow.f64 (exp.f64 t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 c i (*.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 c) i)) (+.f64 1 (expm1.f64 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 t z (fma.f64 c i (*.f64 a b)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t z (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z t (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1 (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t z) 1 (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a b (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b a (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) 1 (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 t z (*.f64 a b)) 1 (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c i (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 i c (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c i) 1 (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t z) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 t z) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a b) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 t z (*.f64 a b)) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 c i) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 c i (*.f64 a b)) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 c i)) (pow.f64 (cbrt.f64 (*.f64 c i)) 2) (fma.f64 t z (*.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)) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 t z (*.f64 a b))) (pow.f64 (cbrt.f64 (fma.f64 t z (*.f64 a b))) 2) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 t z (*.f64 a b))) 2) (cbrt.f64 (fma.f64 t z (*.f64 a b))) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (*.f64 (cbrt.f64 a) b) (fma.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 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.f64 t) z) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 c) 2) (*.f64 (cbrt.f64 c) i) (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 t z (*.f64 c i)))))) (#(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 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) t) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 i) 2) (*.f64 (cbrt.f64 i) c) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a b)) (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (*.f64 a b)) (fma.f64 t z (*.f64 c i)))))) (#(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 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 t z)) (pow.f64 (cbrt.f64 (*.f64 t z)) 2) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(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 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 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 c i)) (sqrt.f64 (*.f64 c i)) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 t z (*.f64 a b))) (sqrt.f64 (fma.f64 t z (*.f64 a b))) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) b) (fma.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 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) z) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 c) (*.f64 (sqrt.f64 c) i) (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 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) t) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) t) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 i) (*.f64 (sqrt.f64 i) c) (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 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (sqrt.f64 (*.f64 t z)) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 t z)) (sqrt.f64 (*.f64 t z)) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 t z) 3) (pow.f64 (*.f64 a b) 3)) (/.f64 1 (fma.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)) (pow.f64 (*.f64 t z) 2))) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (*.f64 a b) 2)) (/.f64 1 (-.f64 (*.f64 t z) (*.f64 a b))) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 a b))) 2) (cbrt.f64 (fma.f64 c i (*.f64 a b))) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 c i (*.f64 a b))) (sqrt.f64 (fma.f64 c i (*.f64 a b))) (*.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 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(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 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 t)) (sqrt.f64 t) (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 t)) (sqrt.f64 t) (*.f64 (fma.f64 c i (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c (pow.f64 (cbrt.f64 i) 2)) (cbrt.f64 i) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c (sqrt.f64 i)) (sqrt.f64 i) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 i (pow.f64 (cbrt.f64 c) 2)) (cbrt.f64 c) (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 i (sqrt.f64 c)) (sqrt.f64 c) (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 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (sqrt.f64 b)) (sqrt.f64 b) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a) (fma.f64 t z (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 a)) (sqrt.f64 a) (fma.f64 t z (*.f64 c i)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 t z (*.f64 a b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 t z) 2) (-.f64 (*.f64 t z) (*.f64 a b))) (/.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (*.f64 t z) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 t z (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 t z (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 t z (*.f64 a b))) (pow.f64 (cbrt.f64 (fma.f64 t z (*.f64 a b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 t z (*.f64 a b))) 2) (cbrt.f64 (fma.f64 t z (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 t z (*.f64 a b))) (sqrt.f64 (fma.f64 t z (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 t z) 3) (pow.f64 (*.f64 a b) 3)) (/.f64 1 (fma.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)) (pow.f64 (*.f64 t z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (*.f64 a b) 2)) (/.f64 1 (-.f64 (*.f64 t z) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)) (pow.f64 (*.f64 t z) 2)) (+.f64 (pow.f64 (*.f64 t z) 3) (pow.f64 (*.f64 a b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 t z) (*.f64 a b)) (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (*.f64 a b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 t z) 3) (pow.f64 (*.f64 a b) 3)) (fma.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)) (pow.f64 (*.f64 t z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 t z) 3) (pow.f64 (*.f64 a b) 3)) (+.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (pow.f64 (*.f64 t z) 2) (*.f64 (*.f64 t z) (*.f64 a b)))))))) (#(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 /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 t z) 3) (pow.f64 (*.f64 a b) 3))) (neg.f64 (fma.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)) (pow.f64 (*.f64 t z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (*.f64 a b) 2))) (neg.f64 (-.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 (*.f64 a b) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 t z (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 t z (*.f64 a b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 t z (*.f64 a b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)) (pow.f64 (*.f64 t z) 2)) (+.f64 (pow.f64 (*.f64 t z) 3) (pow.f64 (*.f64 a b) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 t z) (*.f64 a b)) (-.f64 (pow.f64 (*.f64 t z) 2) (pow.f64 (*.f64 a b) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 t z (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 t z (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 t z))) (pow.f64 (exp.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.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 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))) (pow.f64 (exp.f64 t) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 a) b) (+.f64 1 (expm1.f64 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a b))) (+.f64 1 (expm1.f64 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 t z (*.f64 a b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 t z (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 t z (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 t z (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 t z (*.f64 a b))) 1))))) (#(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 (*.f64 t z) 1 (*.f64 a b))))) (#(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 (*.f64 a b) 1 (*.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 1 (*.f64 a b) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (*.f64 (cbrt.f64 a) b) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (*.f64 (cbrt.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) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) t) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a b)) (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (*.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)) (*.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 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 (sqrt.f64 a) (*.f64 (sqrt.f64 a) b) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) z) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) a) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.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)) (*.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 (*.f64 t (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 t (sqrt.f64 z)) (sqrt.f64 z) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 t) 2)) (cbrt.f64 t) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 t)) (sqrt.f64 t) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (sqrt.f64 b)) (sqrt.f64 b) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a) (*.f64 t z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (sqrt.f64 a)) (sqrt.f64 a) (*.f64 t z))))))

simplify28.0ms (0.2%)

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
0151080
1301080
2421080
3441080
Stop Event
saturated
Counts
303 → 193
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 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 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 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.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 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(fma.f64 t z (*.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 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))
(fma.f64 t z (*.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 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 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 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 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(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 t z)
(+.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 t z))
(fma.f64 a b (*.f64 t z))
(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 t z)
(+.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 t z))
(fma.f64 a b (*.f64 t z))
(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 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 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(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 t z)
(+.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 t z))
(fma.f64 a b (*.f64 t z))
(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 t z)
(+.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 t z))
(fma.f64 a b (*.f64 t z))
(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 t z)
(+.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 t z))
(fma.f64 a b (*.f64 t z))
(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 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 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(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 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 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(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 t z)
(+.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 t z))
(fma.f64 a b (*.f64 t z))
(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 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 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(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 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 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(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))

localize12.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 32 to 11 computations (65.6% saved)

series6.0ms (0.1%)

Counts
1 → 72
Calls

18 calls:

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

rewrite55.0ms (0.5%)

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 a b (fma.f64 c i (*.f64 y x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 c i (*.f64 y x)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a b) (fma.f64 c i (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a b) 1) (fma.f64 c i (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 a b) (*.f64 c i)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 a b (fma.f64 c i (*.f64 y x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a b (fma.f64 c i (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))) (pow.f64 (cbrt.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))) 2) (cbrt.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))) (sqrt.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (fma.f64 c i (*.f64 y x)) 3)) (+.f64 (*.f64 (*.f64 a b) (*.f64 a b)) (-.f64 (pow.f64 (fma.f64 c i (*.f64 y x)) 2) (*.f64 (*.f64 a b) (fma.f64 c i (*.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 a b) (*.f64 a b)) (pow.f64 (fma.f64 c i (*.f64 y x)) 2)) (-.f64 (*.f64 a b) (fma.f64 c i (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a b (fma.f64 c i (*.f64 y x)))))))))

simplify19.0ms (0.2%)

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
015744
130744
242744
344744
Stop Event
saturated
Counts
94 → 34
Calls
Call 1
Inputs
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(*.f64 a b)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(+.f64 (*.f64 a b) (*.f64 c i))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(*.f64 y x)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(*.f64 y x)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 a b) (*.f64 c i))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(*.f64 y x)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(*.f64 y x)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
Outputs
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(*.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)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(*.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)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(+.f64 (*.f64 c i) (*.f64 y x))
(fma.f64 c i (*.f64 y x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(*.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)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(*.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)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.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)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.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)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(*.f64 c i)
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c i) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(+.f64 (*.f64 a b) (*.f64 c i))
(fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(*.f64 y x)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(*.f64 y x)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(+.f64 (*.f64 a b) (*.f64 c i))
(fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(*.f64 y x)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))
(*.f64 y x)
(+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 y x)))
(fma.f64 c i (fma.f64 a b (*.f64 y x)))
(fma.f64 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.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 c i (fma.f64 y x (*.f64 a b)))
(fma.f64 y x (fma.f64 a b (*.f64 c i)))

eval86.0ms (0.7%)

Compiler

Compiled 6574 to 1604 computations (75.6% saved)

prune92.0ms (0.8%)

Pruning

14 alts after pruning (10 fresh and 4 done)

PrunedKeptTotal
New3988406
Fresh224
Picked011
Done134
Total40114415
Error
0b
Counts
415 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
32.5b
(fma.f64 c i (*.f64 a b))
14.5b
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
33.9b
(+.f64 (*.f64 c i) (*.f64 y x))
32.5b
(+.f64 (*.f64 c i) (*.f64 a b))
45.2b
(*.f64 t z)
30.9b
(+.f64 (*.f64 c i) (*.f64 t z))
48.6b
(*.f64 c i)
33.9b
(fma.f64 c i (*.f64 y x))
46.6b
(*.f64 a b)
47.8b
(*.f64 y x)
17.7b
(fma.f64 a b (fma.f64 c i (*.f64 y x)))
29.2b
(+.f64 (*.f64 a b) (*.f64 t z))
31.8b
(+.f64 (*.f64 a b) (*.f64 y x))
30.9b
(fma.f64 t z (*.f64 c i))
Compiler

Compiled 336 to 248 computations (26.2% 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
t
@-inf
(+.f64 (*.f64 a b) (*.f64 t z))
0.0ms
z
@-inf
(+.f64 (*.f64 a b) (*.f64 t z))
0.0ms
a
@-inf
(+.f64 (*.f64 a b) (*.f64 t z))

rewrite56.0ms (0.5%)

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))))))

simplify8.0ms (0.1%)

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)

localize5.0ms (0%)

Compiler

Compiled 13 to 9 computations (30.8% saved)

localize11.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 a b) (*.f64 y x))
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 y x))
0.0ms
b
@-inf
(+.f64 (*.f64 a b) (*.f64 y x))
0.0ms
y
@-inf
(+.f64 (*.f64 a b) (*.f64 y x))
0.0ms
x
@inf
(+.f64 (*.f64 a b) (*.f64 y x))
0.0ms
b
@inf
(+.f64 (*.f64 a b) (*.f64 y x))

rewrite61.0ms (0.5%)

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 y x))
Outputs
((#(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 (/.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (*.f64 a b) (*.f64 y x))) (/.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 a b) (*.f64 y x))))))) (#(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 1 (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 y x) 2)) (/.f64 1 (-.f64 (*.f64 a b) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 a b)))) (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 y x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 a b) (*.f64 y x)) (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 a b) (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 a b) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 y x) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 a b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (pow.f64 (*.f64 y x) 2))) (neg.f64 (-.f64 (*.f64 a b) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (pow.f64 (*.f64 a b) 2)) (-.f64 (*.f64 y x) (*.f64 a b)))))) (#(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))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a b (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b a (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y x (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x y (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a b) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y x) (*.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)) (*.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 y x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a b)) (sqrt.f64 (*.f64 a b)) (*.f64 y x))))))

simplify7.0ms (0.1%)

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 y x)
(*.f64 a b)
(*.f64 a b)
(*.f64 y x)
(*.f64 a b)
(*.f64 a b)
(*.f64 a b)
(*.f64 y x)
(*.f64 y x)
(*.f64 a b)
(*.f64 y x)
(*.f64 y x)
Outputs
(*.f64 y x)
(*.f64 a b)
(*.f64 a b)
(*.f64 y x)
(*.f64 a b)
(*.f64 a b)
(*.f64 a b)
(*.f64 y x)
(*.f64 y x)
(*.f64 a b)
(*.f64 y x)
(*.f64 y x)

localize11.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
t
@inf
(+.f64 (*.f64 c i) (*.f64 t z))
0.0ms
i
@inf
(+.f64 (*.f64 c i) (*.f64 t z))
0.0ms
c
@-inf
(+.f64 (*.f64 c i) (*.f64 t z))

rewrite54.0ms (0.5%)

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))))))

simplify7.0ms (0.1%)

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)

localize9.0ms (0.1%)

Compiler

Compiled 21 to 10 computations (52.4% saved)

eval24.0ms (0.2%)

Compiler

Compiled 1628 to 494 computations (69.7% saved)

prune33.0ms (0.3%)

Pruning

14 alts after pruning (6 fresh and 8 done)

PrunedKeptTotal
New1152117
Fresh145
Picked011
Done178
Total11714131
Error
0b
Counts
131 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
30.9b
(fma.f64 z t (*.f64 c i))
33.9b
(fma.f64 c i (*.f64 y x))
32.5b
(fma.f64 c i (*.f64 a b))
14.5b
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
33.9b
(+.f64 (*.f64 c i) (*.f64 y x))
32.5b
(+.f64 (*.f64 c i) (*.f64 a b))
45.2b
(*.f64 t z)
29.2b
(+.f64 (*.f64 a b) (*.f64 t z))
31.8b
(fma.f64 b a (*.f64 y x))
30.9b
(+.f64 (*.f64 c i) (*.f64 t z))
48.6b
(*.f64 c i)
46.6b
(*.f64 a b)
47.8b
(*.f64 y x)
31.8b
(+.f64 (*.f64 a b) (*.f64 y x))
Compiler

Compiled 277 to 205 computations (26% saved)

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 21 to 10 computations (52.4% saved)

series3.0ms (0%)

Counts
1 → 48
Calls

12 calls:

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

rewrite47.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 z t (*.f64 c i))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 c i) (*.f64 z t))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z t) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z t) 1) (*.f64 c i))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 z t (*.f64 c i))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z t (*.f64 c i)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z t (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z t (*.f64 c i))) (pow.f64 (cbrt.f64 (fma.f64 z t (*.f64 c i))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z t (*.f64 c i))) 2) (cbrt.f64 (fma.f64 z t (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z t (*.f64 c i))) (sqrt.f64 (fma.f64 z t (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 z t) 3) (pow.f64 (*.f64 c i) 3)) (+.f64 (*.f64 (*.f64 z t) (*.f64 z t)) (-.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 z t) (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 z t) (*.f64 z t)) (pow.f64 (*.f64 c i) 2)) (-.f64 (*.f64 z t) (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z t (*.f64 c i)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z t (*.f64 c i)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z t (*.f64 c i))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z t (*.f64 c i))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z t (*.f64 c i)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 z t (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z t (*.f64 c i)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z t (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z t (*.f64 c i))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z t (*.f64 c i))))))))

simplify12.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 c i)
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
Outputs
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(*.f64 c i)
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))
(+.f64 (*.f64 c i) (*.f64 t z))
(fma.f64 c i (*.f64 t z))

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 a b))
Compiler

Compiled 25 to 11 computations (56% saved)

series3.0ms (0%)

Counts
1 → 30
Calls

12 calls:

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

rewrite54.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 a b))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 c i (*.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (*.f64 c i) (*.f64 a b))) (/.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (*.f64 c i) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 c i (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 c i (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 c i (*.f64 a b))) (pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 a b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 a b))) 2) (cbrt.f64 (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 c i (*.f64 a b))) (sqrt.f64 (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 a b) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 a b) (-.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 1 (-.f64 (*.f64 c i) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 c i)))) (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 a b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 c i) (*.f64 a b)) (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 a b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 a b) 3)) (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 a b) 3)) (+.f64 (pow.f64 (*.f64 a b) 2) (-.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 c i) (*.f64 a b)))))))) (#(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 /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 a b) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 a b) 2))) (neg.f64 (-.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 (*.f64 a b) (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 c i (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 c i (*.f64 a b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 a b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 c i (*.f64 a b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 c i (*.f64 a b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 c i (*.f64 a b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 c i (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 c i (*.f64 a b))))))) (#(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 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 1 (*.f64 c i) (*.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 (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 (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 (sqrt.f64 (*.f64 a b)) (sqrt.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))))))

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 a b)
(*.f64 c i)
(+.f64 (*.f64 a b) (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(*.f64 c i)
(+.f64 (*.f64 a b) (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(*.f64 a b)
(*.f64 c i)
(+.f64 (*.f64 a b) (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(*.f64 c i)
(+.f64 (*.f64 a b) (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(*.f64 c i)
(+.f64 (*.f64 a b) (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(*.f64 a b)
(*.f64 a b)
(*.f64 c i)
(+.f64 (*.f64 a b) (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(*.f64 a b)
(*.f64 a b)
Outputs
(*.f64 a b)
(*.f64 c i)
(+.f64 (*.f64 a b) (*.f64 c i))
(fma.f64 a b (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(fma.f64 a b (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(fma.f64 a b (*.f64 c i))
(*.f64 c i)
(+.f64 (*.f64 a b) (*.f64 c i))
(fma.f64 a b (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(fma.f64 a b (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(fma.f64 a b (*.f64 c i))
(*.f64 a b)
(*.f64 c i)
(+.f64 (*.f64 a b) (*.f64 c i))
(fma.f64 a b (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(fma.f64 a b (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(fma.f64 a b (*.f64 c i))
(*.f64 c i)
(+.f64 (*.f64 a b) (*.f64 c i))
(fma.f64 a b (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(fma.f64 a b (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(fma.f64 a b (*.f64 c i))
(*.f64 c i)
(+.f64 (*.f64 a b) (*.f64 c i))
(fma.f64 a b (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(fma.f64 a b (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(fma.f64 a b (*.f64 c i))
(*.f64 a b)
(*.f64 a b)
(*.f64 c i)
(+.f64 (*.f64 a b) (*.f64 c i))
(fma.f64 a b (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(fma.f64 a b (*.f64 c i))
(+.f64 (*.f64 a b) (*.f64 c i))
(fma.f64 a b (*.f64 c i))
(*.f64 a b)
(*.f64 a b)

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 c i) (*.f64 y x))
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 y x))
0.0ms
i
@0
(+.f64 (*.f64 c i) (*.f64 y x))
0.0ms
c
@inf
(+.f64 (*.f64 c i) (*.f64 y x))
0.0ms
i
@-inf
(+.f64 (*.f64 c i) (*.f64 y x))
0.0ms
y
@-inf
(+.f64 (*.f64 c i) (*.f64 y x))

rewrite53.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 y x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 c i (*.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 c i) 2) (-.f64 (*.f64 c i) (*.f64 y x))) (/.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (*.f64 c i) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 c i (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 c i (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 c i (*.f64 y x))) (pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 y x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 y x))) 2) (cbrt.f64 (fma.f64 c i (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 c i (*.f64 y x))) (sqrt.f64 (fma.f64 c i (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 y x) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 y x) (-.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 1 (-.f64 (*.f64 c i) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 c i)))) (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 y x) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 c i) (*.f64 y x)) (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 c i)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (-.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 c i) (*.f64 y x)))))))) (#(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 /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 c i) 3) (pow.f64 (*.f64 y x) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 c i) 2) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 c i))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 c i) 2) (pow.f64 (*.f64 y x) 2))) (neg.f64 (-.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 (*.f64 y x) (*.f64 c i)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 c i (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 c i (*.f64 y x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 c i (*.f64 y x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 c i (*.f64 y x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 c i (*.f64 y x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 c i (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 c i (*.f64 y x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 c i (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 c i (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 c i (*.f64 y x))))))) (#(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 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 1 (*.f64 c i) (*.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 (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 (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 (sqrt.f64 (*.f64 y x)) (sqrt.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))))))

simplify7.0ms (0.1%)

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 y x)
(*.f64 c i)
(*.f64 c i)
(*.f64 y x)
(*.f64 c i)
(*.f64 c i)
(*.f64 c i)
(*.f64 y x)
(*.f64 y x)
(*.f64 c i)
(*.f64 y x)
(*.f64 y x)
Outputs
(*.f64 y x)
(*.f64 c i)
(*.f64 c i)
(*.f64 y x)
(*.f64 c i)
(*.f64 c i)
(*.f64 c i)
(*.f64 y x)
(*.f64 y x)
(*.f64 c i)
(*.f64 y x)
(*.f64 y x)

localize9.0ms (0.1%)

Compiler

Compiled 21 to 10 computations (52.4% saved)

eval20.0ms (0.2%)

Compiler

Compiled 1352 to 402 computations (70.3% saved)

prune30.0ms (0.2%)

Pruning

14 alts after pruning (1 fresh and 13 done)

PrunedKeptTotal
New1031104
Fresh101
Picked011
Done01212
Total10414118
Error
0b
Counts
118 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
32.5b
(fma.f64 c i (*.f64 a b))
14.5b
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
33.9b
(+.f64 (*.f64 c i) (*.f64 y x))
32.5b
(+.f64 (*.f64 c i) (*.f64 a b))
45.2b
(*.f64 t z)
29.2b
(+.f64 (*.f64 a b) (*.f64 t z))
31.8b
(fma.f64 b a (*.f64 y x))
30.9b
(+.f64 (*.f64 c i) (*.f64 t z))
48.6b
(*.f64 c i)
30.9b
(fma.f64 z t (*.f64 c i))
46.6b
(*.f64 a b)
47.8b
(*.f64 y x)
31.8b
(+.f64 (*.f64 a b) (*.f64 y x))
33.9b
(fma.f64 i c (*.f64 y x))
Compiler

Compiled 194 to 144 computations (25.8% saved)

regimes336.0ms (2.8%)

Counts
22 → 1
Calls
Call 1
Inputs
(*.f64 c i)
(*.f64 t z)
(*.f64 a b)
(*.f64 y x)
(+.f64 (*.f64 c i) (*.f64 y x))
(+.f64 (*.f64 c i) (*.f64 a b))
(+.f64 (*.f64 c i) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (+.f64 (*.f64 y x) (*.f64 a b)) (*.f64 c i))
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
(fma.f64 i c (*.f64 y x))
(fma.f64 z t (*.f64 c i))
(fma.f64 b a (*.f64 y x))
(fma.f64 c i (*.f64 a b))
(fma.f64 c i (*.f64 y x))
(fma.f64 t z (*.f64 c i))
(fma.f64 a b (fma.f64 c i (*.f64 y x)))
(fma.f64 c i (fma.f64 t z (*.f64 a b)))
(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:

42.0ms
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
33.0ms
x
28.0ms
(*.f64 x y)
21.0ms
(+.f64 (*.f64 x y) (*.f64 z t))
18.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 (*.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 229 computations (44% saved)

regimes255.0ms (2.1%)

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

15 calls:

51.0ms
i
43.0ms
y
13.0ms
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
13.0ms
a
13.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 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 176 computations (46.7% saved)

regimes381.0ms (3.2%)

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

10 calls:

85.0ms
(*.f64 a b)
60.0ms
a
45.0ms
b
35.0ms
y
32.0ms
i
Results
ErrorSegmentsBranch
6.9b4x
6.7b5y
6.9b3z
7.1b3t
8.0b7a
9.7b6b
7.8b3c
7.7b3i
8.9b8(*.f64 a b)
4.1b3(*.f64 c i)
Compiler

Compiled 182 to 105 computations (42.3% saved)

bsearch67.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
9.794129869804682e+65
1.1815602745478598e+73
44.0ms
-6.552475320183716e+67
-1.532749344930522e+65
Compiler

Compiled 34 to 25 computations (26.5% saved)

regimes349.0ms (2.9%)

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

10 calls:

51.0ms
y
44.0ms
a
44.0ms
z
44.0ms
(*.f64 a b)
39.0ms
t
Results
ErrorSegmentsBranch
8.5b3x
6.3b8y
10.2b6z
9.3b5t
8.0b7a
10.9b4b
8.5b3c
7.8b3i
10.6b7(*.f64 a b)
4.5b3(*.f64 c i)
Compiler

Compiled 171 to 103 computations (39.8% saved)

bsearch48.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
2.855395496097922e+75
6.524965934140518e+79
24.0ms
-497.7125978490741
-0.0217263535246962
Compiler

Compiled 34 to 25 computations (26.5% saved)

regimes238.0ms (2%)

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

10 calls:

47.0ms
z
39.0ms
x
30.0ms
a
29.0ms
(*.f64 c i)
22.0ms
y
Results
ErrorSegmentsBranch
9.7b5x
10.1b3y
11.0b7z
13.0b3t
11.2b5a
14.7b1b
13.5b3c
13.2b3i
14.7b1(*.f64 a b)
12.1b5(*.f64 c i)
Compiler

Compiled 160 to 101 computations (36.9% saved)

bsearch297.0ms (2.5%)

Algorithm
binary-search
Steps
TimeLeftRight
50.0ms
8.81942464379364e-123
2.6815466979532874e-120
138.0ms
-7.234770067751775e+130
-1.0326970788283165e+128
54.0ms
-6.1264278257975265e+147
-1.0429111085528893e+147
54.0ms
-1.2560132232536473e+234
-1.6497316609395507e+224
Compiler

Compiled 898 to 649 computations (27.7% saved)

regimes475.0ms (4%)

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

10 calls:

61.0ms
z
59.0ms
b
58.0ms
i
55.0ms
x
47.0ms
(*.f64 c i)
Results
ErrorSegmentsBranch
16.9b10x
17.7b6y
15.8b11z
18.8b6t
18.3b8a
16.5b11b
19.4b5c
17.9b10i
15.4b7(*.f64 a b)
15.3b7(*.f64 c i)
Compiler

Compiled 149 to 99 computations (33.6% saved)

bsearch146.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
2.955115648612862e+56
2.5403001366645286e+59
24.0ms
2.702253921001196e-32
4.311429819953359e-27
24.0ms
1.788175022096186e-58
7.018401788796917e-56
24.0ms
-1.1964602259079888e-224
-6.4492356733796145e-239
26.0ms
-9.235571947182081e-87
-1.7157766087534746e-95
24.0ms
-6.552475320183716e+67
-1.532749344930522e+65
Compiler

Compiled 34 to 25 computations (26.5% saved)

regimes598.0ms (5%)

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

10 calls:

110.0ms
y
107.0ms
x
95.0ms
z
72.0ms
a
55.0ms
t
Results
ErrorSegmentsBranch
17.1b10x
16.8b8y
17.3b9z
20.2b4t
17.0b10a
17.7b9b
20.8b3c
19.7b8i
15.9b7(*.f64 a b)
18.1b3(*.f64 c i)
Compiler

Compiled 142 to 98 computations (31% saved)

bsearch189.0ms (1.6%)

Algorithm
binary-search
Steps
TimeLeftRight
44.0ms
7.016688697307986e+45
1.7878074252823242e+56
46.0ms
219660442780658.6
185723890452973700.0
49.0ms
1.1477818983799606e-96
2.643830831904012e-95
0.0ms
5.375343694468345e-173
5.410324953266254e-173
0.0ms
-6.1916e-320
-8.493e-321
49.0ms
-2.70639484167812e+55
-2.997917932771284e+51
Compiler

Compiled 34 to 25 computations (26.5% saved)

regimes404.0ms (3.4%)

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

10 calls:

69.0ms
(*.f64 c i)
43.0ms
c
42.0ms
i
38.0ms
x
38.0ms
a
Results
ErrorSegmentsBranch
20.9b7x
19.9b7y
19.7b8z
21.7b6t
20.5b8a
19.9b8b
24.7b9c
24.1b8i
17.3b7(*.f64 a b)
25.5b6(*.f64 c i)
Compiler

Compiled 135 to 97 computations (28.1% saved)

bsearch100.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
2.4995343008912378e+104
6.100242117843106e+108
25.0ms
3.684930364342622e+76
7.64280995792488e+89
25.0ms
1.1477818983799606e-96
2.643830831904012e-95
0.0ms
5.375343694468345e-173
5.410324953266254e-173
0.0ms
-6.1916e-320
-8.493e-321
25.0ms
-2.70639484167812e+55
-2.997917932771284e+51
Compiler

Compiled 34 to 25 computations (26.5% saved)

regimes302.0ms (2.5%)

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

10 calls:

46.0ms
z
36.0ms
(*.f64 c i)
32.0ms
t
29.0ms
(*.f64 a b)
29.0ms
c
Results
ErrorSegmentsBranch
23.0b6x
22.6b5y
21.8b10z
23.9b6t
23.9b6a
24.0b5b
27.4b6c
27.7b3i
19.9b7(*.f64 a b)
25.3b7(*.f64 c i)
Compiler

Compiled 128 to 96 computations (25% saved)

bsearch121.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
3.684930364342622e+76
7.64280995792488e+89
24.0ms
1.1477818983799606e-96
2.643830831904012e-95
24.0ms
1.2963300845675692e-159
1.0139835745103014e-158
0.0ms
-6.1916e-320
-8.493e-321
23.0ms
-3.216921093739587e-183
-2.3136577571339836e-185
25.0ms
-8.964551718449584e+21
-3.4944657696809485e-14
Compiler

Compiled 34 to 25 computations (26.5% saved)

regimes358.0ms (3%)

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

10 calls:

59.0ms
a
49.0ms
y
43.0ms
(*.f64 c i)
35.0ms
x
31.0ms
i
Results
ErrorSegmentsBranch
27.4b8x
25.5b11y
24.6b7z
26.3b5t
26.4b7a
25.9b7b
29.2b7c
27.8b8i
21.9b7(*.f64 a b)
25.5b10(*.f64 c i)
Compiler

Compiled 121 to 95 computations (21.5% saved)

bsearch151.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
3.684930364342622e+76
7.64280995792488e+89
24.0ms
1.1477818983799606e-96
2.643830831904012e-95
49.0ms
1.2963300845675692e-159
1.0139835745103014e-158
0.0ms
-6.1916e-320
-8.493e-321
25.0ms
-3.216921093739587e-183
-2.3136577571339836e-185
27.0ms
-2.70639484167812e+55
-2.997917932771284e+51
Compiler

Compiled 34 to 25 computations (26.5% saved)

regimes502.0ms (4.2%)

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

10 calls:

100.0ms
i
94.0ms
c
58.0ms
x
55.0ms
(*.f64 c i)
44.0ms
a
Results
ErrorSegmentsBranch
35.1b7x
34.1b7y
35.1b6z
33.5b8t
31.0b12a
32.5b10b
32.0b14c
32.6b13i
30.9b6(*.f64 a b)
30.7b7(*.f64 c i)
Compiler

Compiled 114 to 94 computations (17.5% saved)

bsearch180.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
2.955115648612862e+56
2.5403001366645286e+59
24.0ms
9.067602372408774e-213
1.3278990929049539e-207
25.0ms
1.228446676082557e-258
2.5389191963869487e-252
25.0ms
-4.063910719074392e-305
-0.0
25.0ms
-9.235571947182081e-87
-1.7157766087534746e-95
56.0ms
-6.552475320183716e+67
-1.532749344930522e+65
Compiler

Compiled 34 to 25 computations (26.5% saved)

regimes291.0ms (2.4%)

Counts
3 → 6
Calls
Call 1
Inputs
(*.f64 c i)
(*.f64 t z)
(*.f64 a b)
Outputs
(*.f64 a b)
(*.f64 t z)
(*.f64 c i)
(*.f64 t z)
(*.f64 c i)
(*.f64 a b)
Calls

10 calls:

47.0ms
i
42.0ms
x
32.0ms
c
30.0ms
y
28.0ms
t
Results
ErrorSegmentsBranch
36.6b12x
38.1b8y
35.3b6z
35.0b7t
35.2b7a
36.3b5b
34.8b9c
33.6b14i
30.9b6(*.f64 a b)
31.7b6(*.f64 c i)
Compiler

Compiled 111 to 93 computations (16.2% saved)

bsearch125.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
7.016688697307986e+45
1.7878074252823242e+56
25.0ms
1.1477818983799606e-96
2.643830831904012e-95
25.0ms
1.2963300845675692e-159
1.0139835745103014e-158
25.0ms
2.9352658655117442e-276
5.854255003085112e-275
25.0ms
-2.70639484167812e+55
-2.997917932771284e+51
Compiler

Compiled 34 to 25 computations (26.5% saved)

regimes135.0ms (1.1%)

Accuracy

Total -27.4b remaining (-78.1%)

Threshold costs -27.4b (-78.1%)

Counts
2 → 3
Calls
Call 1
Inputs
(*.f64 c i)
(*.f64 t z)
Outputs
(*.f64 c i)
(*.f64 t z)
(*.f64 c i)
Calls

9 calls:

27.0ms
x
18.0ms
a
17.0ms
i
17.0ms
b
15.0ms
y
Results
ErrorSegmentsBranch
39.4b9x
41.8b4y
38.4b3z
37.9b3t
41.2b5a
41.4b6b
38.7b3c
39.3b5i
35.1b3(*.f64 c i)
Compiler

Compiled 97 to 83 computations (14.4% saved)

bsearch47.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
9.794129869804682e+65
1.1815602745478598e+73
24.0ms
-6.552475320183716e+67
-1.532749344930522e+65
Compiler

Compiled 34 to 25 computations (26.5% saved)

simplify24.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01401019
11561019
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 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (+.f64 (+.f64 (*.f64 y x) (*.f64 a b)) (*.f64 c i)) (if (<=.f64 (*.f64 c i) 979412986980468208451803040704921623786331806041656520540600401920) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) (+.f64 (+.f64 (*.f64 y x) (*.f64 a b)) (*.f64 c i))))
(if (<=.f64 (*.f64 c i) -4377926309005257/8796093022208) (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) (if (<=.f64 (*.f64 c i) 2855395496097921976532978994912758424637618533088391856741016539748022353920) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i))))
(if (<=.f64 x -1250000000000000066457524578324561294504236821905637621669621623380486440286520699324375536418663113628215210226564011745368805642256706734146152038627550484587396299666777939181218835470354153904432972941143508401404616321294892269568) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 x -1050000000000000030131459653060188486988617419488398240790457754433405379463770814849001461762435502035765279035793830812191604381016282831435857920) (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) (if (<=.f64 x -72000000000000002334281323895992332718642884809653562848914824864646125683993472529149945880818999534095597599913347457502968545280) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 x 6564146541686995/744282853678701455922507579277316643178128753343813693728245963960974631028119473486019635930893891134220822124816566203939432067701407744) (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) (+.f64 (*.f64 c i) (*.f64 y x))))))
(if (<=.f64 (*.f64 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (+.f64 (*.f64 c i) (*.f64 a b)) (if (<=.f64 (*.f64 c i) -5171330927426473/559936185544451052639360570142111069530411374308662383724997275240947967795040236345219373317901778944) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) -79780140547211600/6668014432879854274079851790721257797144758322315908160396257811764037237817632071521432200871554290742929910593433240445888801654119365080363356052330830046095157579514014558463078285911814024728965016135886601981690748037476461291163877376) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 2527545431280535/14134776518227074636666380005943348126619871175004951664972849610340958208) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) 39493485300271000/1461501637330902918203684832716283019655932542976) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 295511564861286205037286070829306617341376818565915607040) (+.f64 (*.f64 a b) (*.f64 t z)) (+.f64 (*.f64 c i) (*.f64 y x))))))))
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (+.f64 (*.f64 c i) (*.f64 a b)) (if (<=.f64 (*.f64 a b) -33161216/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 1879667612850941/34808659497239648579720852704622583960672214563358764118798771041101647699040812580153753748454066465596331097210650690541753423472407821641942301328447068696990926165468330002463334596608) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 7029134168981075/32) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 7016688697307986080253136876024829686233169920) (+.f64 (*.f64 c i) (*.f64 t z)) (+.f64 (*.f64 a b) (*.f64 t z))))))))
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (+.f64 (*.f64 c i) (*.f64 a b)) (if (<=.f64 (*.f64 a b) -33161216/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 1879667612850941/34808659497239648579720852704622583960672214563358764118798771041101647699040812580153753748454066465596331097210650690541753423472407821641942301328447068696990926165468330002463334596608) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 36849303643426220011420030699847743951909687871921658188456119019531466178560) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 249953430089123779664093269740815019179566818334488857989297329475301108287008619014538115327769270288384) (*.f64 t z) (+.f64 (*.f64 c i) (*.f64 a b))))))))
(if (<=.f64 (*.f64 a b) -8964551718449584275456) (+.f64 (*.f64 c i) (*.f64 a b)) (if (<=.f64 (*.f64 a b) -7694980985264857/2392032866531905486790942578809394338145620987608332988883503686824375178865503049616412016019962016447144819201720664620106359620960485637227891297994520232330261783830994590149049944504587400511488) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) -33161216/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (*.f64 t z) (if (<=.f64 (*.f64 a b) 5129949444124167/3957286423569672544968040336314355040562101585619389438625008897486355601704509874725062416979888719833562742816258229429621840548908019359480738481630290686665708354379186176) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (*.f64 t z) (if (<=.f64 (*.f64 a b) 36849303643426220011420030699847743951909687871921658188456119019531466178560) (+.f64 (*.f64 c i) (*.f64 y x)) (+.f64 (*.f64 c i) (*.f64 a b))))))))
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (*.f64 a b) (if (<=.f64 (*.f64 a b) -7694980985264857/2392032866531905486790942578809394338145620987608332988883503686824375178865503049616412016019962016447144819201720664620106359620960485637227891297994520232330261783830994590149049944504587400511488) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) -33161216/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (*.f64 t z) (if (<=.f64 (*.f64 a b) 5129949444124167/3957286423569672544968040336314355040562101585619389438625008897486355601704509874725062416979888719833562742816258229429621840548908019359480738481630290686665708354379186176) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (*.f64 t z) (if (<=.f64 (*.f64 a b) 36849303643426220011420030699847743951909687871921658188456119019531466178560) (+.f64 (*.f64 c i) (*.f64 y x)) (*.f64 a b)))))))
(if (<=.f64 (*.f64 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (*.f64 c i) (if (<=.f64 (*.f64 c i) -5171330927426473/559936185544451052639360570142111069530411374308662383724997275240947967795040236345219373317901778944) (*.f64 t z) (if (<=.f64 (*.f64 c i) -8032662956839745/197658450495420525734858737030192682665582665785295037457911482448662440984370455949180062208434691889831130726871886632216610095103313942252942773379627451095231859645084337269987214591887906583241960623508540106017585433031926463494241558251132379239072320812850360890950600210186037629088210457662115491511433340911616) (*.f64 a b) (if (<=.f64 (*.f64 c i) 2658228882498359/2163894399531684849059183759018052020301198647443953754636127064173256304872345024407213080115843841616586321892381199068702095603722999960578207655784200507016751857659924824755124296402642702553187257992033027703390323887110396882282073697349781407701150027357134841184256) (*.f64 t z) (if (<=.f64 (*.f64 c i) 14077616736953452544/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (*.f64 y x) (if (<=.f64 (*.f64 c i) 295511564861286205037286070829306617341376818565915607040) (*.f64 a b) (*.f64 c i)))))))
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (*.f64 a b) (if (<=.f64 (*.f64 a b) 7322902416987071/2494800386918399764570465891296048207584314075544321926878184053046514864836205082231197456865794626361678058555240619054965547485491992075923964747856039275400007091188857095646922151805453733978316695930679904991663513068901087986111069085560055196883901133594695052052948119037930012409856) (*.f64 t z) (if (<=.f64 (*.f64 a b) 5129949444124167/3957286423569672544968040336314355040562101585619389438625008897486355601704509874725062416979888719833562742816258229429621840548908019359480738481630290686665708354379186176) (*.f64 c i) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (*.f64 t z) (if (<=.f64 (*.f64 a b) 7016688697307986080253136876024829686233169920) (*.f64 c i) (*.f64 a b))))))
(if (<=.f64 (*.f64 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (*.f64 c i) (if (<=.f64 (*.f64 c i) 979412986980468208451803040704921623786331806041656520540600401920) (*.f64 t z) (*.f64 c i)))
(*.f64 c i)
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 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (+.f64 (+.f64 (*.f64 y x) (*.f64 a b)) (*.f64 c i)) (if (<=.f64 (*.f64 c i) 979412986980468208451803040704921623786331806041656520540600401920) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) (+.f64 (+.f64 (*.f64 y x) (*.f64 a b)) (*.f64 c i))))
(if (<=.f64 (*.f64 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 x y))) (if (<=.f64 (*.f64 c i) 979412986980468208451803040704921623786331806041656520540600401920) (+.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 x y)))))
(if (<=.f64 (*.f64 c i) -4377926309005257/8796093022208) (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) (if (<=.f64 (*.f64 c i) 2855395496097921976532978994912758424637618533088391856741016539748022353920) (+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i))))
(if (<=.f64 (*.f64 c i) -4377926309005257/8796093022208) (+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 z t))) (if (<=.f64 (*.f64 c i) 2855395496097921976532978994912758424637618533088391856741016539748022353920) (+.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 z t)))))
(if (<=.f64 x -1250000000000000066457524578324561294504236821905637621669621623380486440286520699324375536418663113628215210226564011745368805642256706734146152038627550484587396299666777939181218835470354153904432972941143508401404616321294892269568) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 x -1050000000000000030131459653060188486988617419488398240790457754433405379463770814849001461762435502035765279035793830812191604381016282831435857920) (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) (if (<=.f64 x -72000000000000002334281323895992332718642884809653562848914824864646125683993472529149945880818999534095597599913347457502968545280) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 x 6564146541686995/744282853678701455922507579277316643178128753343813693728245963960974631028119473486019635930893891134220822124816566203939432067701407744) (+.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 c i)) (+.f64 (*.f64 c i) (*.f64 y x))))))
(if (<=.f64 x -1250000000000000066457524578324561294504236821905637621669621623380486440286520699324375536418663113628215210226564011745368805642256706734146152038627550484587396299666777939181218835470354153904432972941143508401404616321294892269568) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 x -1050000000000000030131459653060188486988617419488398240790457754433405379463770814849001461762435502035765279035793830812191604381016282831435857920) (+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 z t))) (if (<=.f64 x -72000000000000002334281323895992332718642884809653562848914824864646125683993472529149945880818999534095597599913347457502968545280) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 x 6564146541686995/744282853678701455922507579277316643178128753343813693728245963960974631028119473486019635930893891134220822124816566203939432067701407744) (+.f64 (*.f64 c i) (+.f64 (*.f64 a b) (*.f64 z t))) (+.f64 (*.f64 c i) (*.f64 x y))))))
(if (<=.f64 (*.f64 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (+.f64 (*.f64 c i) (*.f64 a b)) (if (<=.f64 (*.f64 c i) -5171330927426473/559936185544451052639360570142111069530411374308662383724997275240947967795040236345219373317901778944) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) -79780140547211600/6668014432879854274079851790721257797144758322315908160396257811764037237817632071521432200871554290742929910593433240445888801654119365080363356052330830046095157579514014558463078285911814024728965016135886601981690748037476461291163877376) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 2527545431280535/14134776518227074636666380005943348126619871175004951664972849610340958208) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 (*.f64 c i) 39493485300271000/1461501637330902918203684832716283019655932542976) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 c i) 295511564861286205037286070829306617341376818565915607040) (+.f64 (*.f64 a b) (*.f64 t z)) (+.f64 (*.f64 c i) (*.f64 y x))))))))
(if (<=.f64 (*.f64 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 c i) -5171330927426473/559936185544451052639360570142111069530411374308662383724997275240947967795040236345219373317901778944) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 (*.f64 c i) -4986258784200725/416750902054990892129990736920078612321547395144744260024766113235252327363602004470089512554472143171433119412089577527868050103382460317522709753270676877880947348719625909903942392869488376545560313508492912623855671752342278830697742336) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 (*.f64 c i) 2527545431280535/14134776518227074636666380005943348126619871175004951664972849610340958208) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 (*.f64 c i) 4936685662533875/182687704666362864775460604089535377456991567872) (+.f64 (*.f64 a b) (*.f64 x y)) (if (<=.f64 (*.f64 c i) 295511564861286205037286070829306617341376818565915607040) (+.f64 (*.f64 a b) (*.f64 z t)) (+.f64 (*.f64 c i) (*.f64 x y))))))))
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (+.f64 (*.f64 c i) (*.f64 a b)) (if (<=.f64 (*.f64 a b) -33161216/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 1879667612850941/34808659497239648579720852704622583960672214563358764118798771041101647699040812580153753748454066465596331097210650690541753423472407821641942301328447068696990926165468330002463334596608) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 7029134168981075/32) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 7016688697307986080253136876024829686233169920) (+.f64 (*.f64 c i) (*.f64 t z)) (+.f64 (*.f64 a b) (*.f64 t z))))))))
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 a b) -253/25300281663413827294061918339864663381194581220517764794612669753428792445999418361495047962679640561898384733039601488923726092173224184608376674992592313740189678034570795170558363467761652042654970959809093133570250935428086587327262919456144944542601257064044846194041676826903812816523290938580750782913463467636686848) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 (*.f64 a b) 1879667612850941/34808659497239648579720852704622583960672214563358764118798771041101647699040812580153753748454066465596331097210650690541753423472407821641942301328447068696990926165468330002463334596608) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 (*.f64 a b) 7029134168981075/32) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 (*.f64 a b) 7016688697307986080253136876024829686233169920) (+.f64 (*.f64 c i) (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 z t))))))))
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (+.f64 (*.f64 c i) (*.f64 a b)) (if (<=.f64 (*.f64 a b) -33161216/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 1879667612850941/34808659497239648579720852704622583960672214563358764118798771041101647699040812580153753748454066465596331097210650690541753423472407821641942301328447068696990926165468330002463334596608) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (+.f64 (*.f64 c i) (*.f64 t z)) (if (<=.f64 (*.f64 a b) 36849303643426220011420030699847743951909687871921658188456119019531466178560) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 249953430089123779664093269740815019179566818334488857989297329475301108287008619014538115327769270288384) (*.f64 t z) (+.f64 (*.f64 c i) (*.f64 a b))))))))
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 a b) -253/25300281663413827294061918339864663381194581220517764794612669753428792445999418361495047962679640561898384733039601488923726092173224184608376674992592313740189678034570795170558363467761652042654970959809093133570250935428086587327262919456144944542601257064044846194041676826903812816523290938580750782913463467636686848) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 (*.f64 a b) 1879667612850941/34808659497239648579720852704622583960672214563358764118798771041101647699040812580153753748454066465596331097210650690541753423472407821641942301328447068696990926165468330002463334596608) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (+.f64 (*.f64 c i) (*.f64 z t)) (if (<=.f64 (*.f64 a b) 36849303643426220011420030699847743951909687871921658188456119019531466178560) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 (*.f64 a b) 249953430089123779664093269740815019179566818334488857989297329475301108287008619014538115327769270288384) (*.f64 z t) (+.f64 (*.f64 a b) (*.f64 c i))))))))
(if (<=.f64 (*.f64 a b) -8964551718449584275456) (+.f64 (*.f64 c i) (*.f64 a b)) (if (<=.f64 (*.f64 a b) -7694980985264857/2392032866531905486790942578809394338145620987608332988883503686824375178865503049616412016019962016447144819201720664620106359620960485637227891297994520232330261783830994590149049944504587400511488) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) -33161216/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (*.f64 t z) (if (<=.f64 (*.f64 a b) 5129949444124167/3957286423569672544968040336314355040562101585619389438625008897486355601704509874725062416979888719833562742816258229429621840548908019359480738481630290686665708354379186176) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (*.f64 t z) (if (<=.f64 (*.f64 a b) 36849303643426220011420030699847743951909687871921658188456119019531466178560) (+.f64 (*.f64 c i) (*.f64 y x)) (+.f64 (*.f64 c i) (*.f64 a b))))))))
(if (<=.f64 (*.f64 a b) -8964551718449584275456) (+.f64 (*.f64 a b) (*.f64 c i)) (if (<=.f64 (*.f64 a b) -7694980985264857/2392032866531905486790942578809394338145620987608332988883503686824375178865503049616412016019962016447144819201720664620106359620960485637227891297994520232330261783830994590149049944504587400511488) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 (*.f64 a b) -253/25300281663413827294061918339864663381194581220517764794612669753428792445999418361495047962679640561898384733039601488923726092173224184608376674992592313740189678034570795170558363467761652042654970959809093133570250935428086587327262919456144944542601257064044846194041676826903812816523290938580750782913463467636686848) (*.f64 z t) (if (<=.f64 (*.f64 a b) 5129949444124167/3957286423569672544968040336314355040562101585619389438625008897486355601704509874725062416979888719833562742816258229429621840548908019359480738481630290686665708354379186176) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (*.f64 z t) (if (<=.f64 (*.f64 a b) 36849303643426220011420030699847743951909687871921658188456119019531466178560) (+.f64 (*.f64 c i) (*.f64 x y)) (+.f64 (*.f64 a b) (*.f64 c i))))))))
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (*.f64 a b) (if (<=.f64 (*.f64 a b) -7694980985264857/2392032866531905486790942578809394338145620987608332988883503686824375178865503049616412016019962016447144819201720664620106359620960485637227891297994520232330261783830994590149049944504587400511488) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) -33161216/3316158518186977171087283760642741158699936149735704467159471849921418683482035763477878926564345847729145083728966646356210626353328840324989147544629059746554141479347263264595425816446455256534872353644097455203319930608430165174159005378955830171087831965898486080345430665055936553487340789901656166618033483630075818541056) (*.f64 t z) (if (<=.f64 (*.f64 a b) 5129949444124167/3957286423569672544968040336314355040562101585619389438625008897486355601704509874725062416979888719833562742816258229429621840548908019359480738481630290686665708354379186176) (+.f64 (*.f64 c i) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (*.f64 t z) (if (<=.f64 (*.f64 a b) 36849303643426220011420030699847743951909687871921658188456119019531466178560) (+.f64 (*.f64 c i) (*.f64 y x)) (*.f64 a b)))))))
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (*.f64 a b) (if (<=.f64 (*.f64 a b) -7694980985264857/2392032866531905486790942578809394338145620987608332988883503686824375178865503049616412016019962016447144819201720664620106359620960485637227891297994520232330261783830994590149049944504587400511488) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 (*.f64 a b) -253/25300281663413827294061918339864663381194581220517764794612669753428792445999418361495047962679640561898384733039601488923726092173224184608376674992592313740189678034570795170558363467761652042654970959809093133570250935428086587327262919456144944542601257064044846194041676826903812816523290938580750782913463467636686848) (*.f64 z t) (if (<=.f64 (*.f64 a b) 5129949444124167/3957286423569672544968040336314355040562101585619389438625008897486355601704509874725062416979888719833562742816258229429621840548908019359480738481630290686665708354379186176) (+.f64 (*.f64 c i) (*.f64 x y)) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (*.f64 z t) (if (<=.f64 (*.f64 a b) 36849303643426220011420030699847743951909687871921658188456119019531466178560) (+.f64 (*.f64 c i) (*.f64 x y)) (*.f64 a b)))))))
(if (<=.f64 (*.f64 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (*.f64 c i) (if (<=.f64 (*.f64 c i) -5171330927426473/559936185544451052639360570142111069530411374308662383724997275240947967795040236345219373317901778944) (*.f64 t z) (if (<=.f64 (*.f64 c i) -8032662956839745/197658450495420525734858737030192682665582665785295037457911482448662440984370455949180062208434691889831130726871886632216610095103313942252942773379627451095231859645084337269987214591887906583241960623508540106017585433031926463494241558251132379239072320812850360890950600210186037629088210457662115491511433340911616) (*.f64 a b) (if (<=.f64 (*.f64 c i) 2658228882498359/2163894399531684849059183759018052020301198647443953754636127064173256304872345024407213080115843841616586321892381199068702095603722999960578207655784200507016751857659924824755124296402642702553187257992033027703390323887110396882282073697349781407701150027357134841184256) (*.f64 t z) (if (<=.f64 (*.f64 c i) 14077616736953452544/1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816057856) (*.f64 y x) (if (<=.f64 (*.f64 c i) 295511564861286205037286070829306617341376818565915607040) (*.f64 a b) (*.f64 c i)))))))
(if (<=.f64 (*.f64 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (*.f64 c i) (if (<=.f64 (*.f64 c i) -5171330927426473/559936185544451052639360570142111069530411374308662383724997275240947967795040236345219373317901778944) (*.f64 z t) (if (<=.f64 (*.f64 c i) -8032662956839745/197658450495420525734858737030192682665582665785295037457911482448662440984370455949180062208434691889831130726871886632216610095103313942252942773379627451095231859645084337269987214591887906583241960623508540106017585433031926463494241558251132379239072320812850360890950600210186037629088210457662115491511433340911616) (*.f64 a b) (if (<=.f64 (*.f64 c i) 2658228882498359/2163894399531684849059183759018052020301198647443953754636127064173256304872345024407213080115843841616586321892381199068702095603722999960578207655784200507016751857659924824755124296402642702553187257992033027703390323887110396882282073697349781407701150027357134841184256) (*.f64 z t) (if (<=.f64 (*.f64 c i) 6873836297340553/758065474756205534740712640850831325809026375545262017157740252942407691741394964028749223060862538061761587254458531838950966818415436714572405896016201728127175281260180617944465471499803928137335448825056869507271897877839872) (*.f64 x y) (if (<=.f64 (*.f64 c i) 295511564861286205037286070829306617341376818565915607040) (*.f64 a b) (*.f64 c i)))))))
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (*.f64 a b) (if (<=.f64 (*.f64 a b) 7322902416987071/2494800386918399764570465891296048207584314075544321926878184053046514864836205082231197456865794626361678058555240619054965547485491992075923964747856039275400007091188857095646922151805453733978316695930679904991663513068901087986111069085560055196883901133594695052052948119037930012409856) (*.f64 t z) (if (<=.f64 (*.f64 a b) 5129949444124167/3957286423569672544968040336314355040562101585619389438625008897486355601704509874725062416979888719833562742816258229429621840548908019359480738481630290686665708354379186176) (*.f64 c i) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (*.f64 t z) (if (<=.f64 (*.f64 a b) 7016688697307986080253136876024829686233169920) (*.f64 c i) (*.f64 a b))))))
(if (<=.f64 (*.f64 a b) -27063948416781197545160941380348611664216805512413446144) (*.f64 a b) (if (<=.f64 (*.f64 a b) 7322902416987071/2494800386918399764570465891296048207584314075544321926878184053046514864836205082231197456865794626361678058555240619054965547485491992075923964747856039275400007091188857095646922151805453733978316695930679904991663513068901087986111069085560055196883901133594695052052948119037930012409856) (*.f64 z t) (if (<=.f64 (*.f64 a b) 5129949444124167/3957286423569672544968040336314355040562101585619389438625008897486355601704509874725062416979888719833562742816258229429621840548908019359480738481630290686665708354379186176) (*.f64 c i) (if (<=.f64 (*.f64 a b) 1380154708010151/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (*.f64 z t) (if (<=.f64 (*.f64 a b) 7016688697307986080253136876024829686233169920) (*.f64 c i) (*.f64 a b))))))
(if (<=.f64 (*.f64 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (*.f64 c i) (if (<=.f64 (*.f64 c i) 979412986980468208451803040704921623786331806041656520540600401920) (*.f64 t z) (*.f64 c i)))
(if (<=.f64 (*.f64 c i) -65524753201837163975559014678290354549117950335734708880430864531456) (*.f64 c i) (if (<=.f64 (*.f64 c i) 979412986980468208451803040704921623786331806041656520540600401920) (*.f64 z t) (*.f64 c i)))
(*.f64 c i)
Compiler

Compiled 814 to 344 computations (57.7% saved)

soundness12.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)

end149.0ms (1.2%)

Remove

(sort c i)

(sort a b)

(sort z t)

(sort x y)

Compiler

Compiled 870 to 274 computations (68.5% saved)

Profiling

Loading profile data...