Details

Time bar (total: 9.6s)

analyze3.8s (39.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.7%0.3%0
0%99.7%0.3%1
0%99.7%0.3%2
0%99.7%0.3%3
0%99.7%0.3%4
0%99.7%0.3%5
0%99.7%0.3%6
0%99.7%0.3%7
0%99.7%0.3%8
0%99.7%0.3%9
0%99.7%0.3%10
0%99.7%0.3%11
0%99.7%0.3%12
1.6%98.1%0.3%13
2.3%97.4%0.3%14
Compiler

Compiled 18 to 12 computations (33.3% saved)

sample3.9s (40.3%)

Results
2.5s8256×body128valid
1.2s4040×body128invalid
Compiler

Compiled 36 to 24 computations (33.3% saved)

preprocess83.0ms (0.9%)

Algorithm
egg-herbie
Rules
135×fma-def_binary64
45×+-commutative_binary64
24×associate-+l+_binary64
15×*-commutative_binary64
15×associate-+r+_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
062224
1143192
2266192
3300192
066
166
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
3
4
5
Outputs
0
1
0
2
3
2
4
5
4
Call 2
Inputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 y x) (*.f64 z t)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 z y) (*.f64 x t)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 t y) (*.f64 z x)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 a y) (*.f64 z t)) (*.f64 x b))
(+.f64 (+.f64 (*.f64 b y) (*.f64 z t)) (*.f64 a x))
(+.f64 (+.f64 (*.f64 x z) (*.f64 y t)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 x t) (*.f64 z y)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 x a) (*.f64 z t)) (*.f64 y b))
(+.f64 (+.f64 (*.f64 x b) (*.f64 z t)) (*.f64 a y))
(+.f64 (+.f64 (*.f64 x y) (*.f64 t z)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 a t)) (*.f64 z b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 b t)) (*.f64 a z))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z a)) (*.f64 t b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z b)) (*.f64 a t))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 b a))
Outputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b))
(fma.f64 x y (fma.f64 z t (*.f64 a b)))
(+.f64 (+.f64 (*.f64 y x) (*.f64 z t)) (*.f64 a b))
(+.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b))
(fma.f64 x y (fma.f64 z t (*.f64 a b)))
(+.f64 (+.f64 (*.f64 z y) (*.f64 x t)) (*.f64 a b))
(+.f64 (*.f64 a b) (fma.f64 x t (*.f64 y z)))
(fma.f64 x t (fma.f64 y z (*.f64 a b)))
(+.f64 (+.f64 (*.f64 t y) (*.f64 z x)) (*.f64 a b))
(+.f64 (*.f64 a b) (fma.f64 x z (*.f64 y t)))
(fma.f64 y t (fma.f64 x z (*.f64 a b)))
(+.f64 (+.f64 (*.f64 a y) (*.f64 z t)) (*.f64 x b))
(+.f64 (*.f64 y a) (fma.f64 x b (*.f64 z t)))
(fma.f64 x b (fma.f64 z t (*.f64 y a)))
(+.f64 (+.f64 (*.f64 b y) (*.f64 z t)) (*.f64 a x))
(+.f64 (*.f64 y b) (fma.f64 x a (*.f64 z t)))
(fma.f64 y b (fma.f64 x a (*.f64 z t)))
(+.f64 (+.f64 (*.f64 x z) (*.f64 y t)) (*.f64 a b))
(+.f64 (*.f64 a b) (fma.f64 x z (*.f64 y t)))
(fma.f64 y t (fma.f64 x z (*.f64 a b)))
(+.f64 (+.f64 (*.f64 x t) (*.f64 z y)) (*.f64 a b))
(+.f64 (*.f64 a b) (fma.f64 x t (*.f64 y z)))
(fma.f64 x t (fma.f64 y z (*.f64 a b)))
(+.f64 (+.f64 (*.f64 x a) (*.f64 z t)) (*.f64 y b))
(+.f64 (*.f64 y b) (fma.f64 x a (*.f64 z t)))
(fma.f64 y b (fma.f64 x a (*.f64 z t)))
(+.f64 (+.f64 (*.f64 x b) (*.f64 z t)) (*.f64 a y))
(+.f64 (*.f64 y a) (fma.f64 x b (*.f64 z t)))
(fma.f64 x b (fma.f64 z t (*.f64 y a)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 t z)) (*.f64 a b))
(+.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b))
(fma.f64 x y (fma.f64 z t (*.f64 a b)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 a t)) (*.f64 z b))
(+.f64 (fma.f64 x y (*.f64 t a)) (*.f64 z b))
(fma.f64 x y (fma.f64 t a (*.f64 z b)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 b t)) (*.f64 a z))
(+.f64 (fma.f64 x y (*.f64 t b)) (*.f64 z a))
(fma.f64 z a (fma.f64 x y (*.f64 t b)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z a)) (*.f64 t b))
(+.f64 (fma.f64 x y (*.f64 t b)) (*.f64 z a))
(fma.f64 z a (fma.f64 x y (*.f64 t b)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z b)) (*.f64 a t))
(+.f64 (fma.f64 x y (*.f64 t a)) (*.f64 z b))
(fma.f64 x y (fma.f64 t a (*.f64 z b)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 b a))
(+.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b))
(fma.f64 x y (fma.f64 z t (*.f64 a b)))
Symmetry

(sort x y)

(sort z t)

(sort a b)

Compiler

Compiled 17 to 11 computations (35.3% saved)

simplify15.0ms (0.2%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01214
12012
23612
34612
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Outputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (fma.f64 x y (*.f64 z t)) (*.f64 a b))
(fma.f64 a b (fma.f64 x y (*.f64 z t)))
(fma.f64 x y (fma.f64 a b (*.f64 z t)))

prune10.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.0b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.0b
(fma.f64 x y (fma.f64 a b (*.f64 z t)))
Compiler

Compiled 56 to 31 computations (44.6% saved)

localize30.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

series118.0ms (1.2%)

Counts
2 → 120
Calls

30 calls:

TimeVariablePointExpression
16.0ms
y
@0
(fma.f64 x y (fma.f64 a b (*.f64 z t)))
16.0ms
b
@-inf
(fma.f64 a b (*.f64 z t))
11.0ms
t
@0
(fma.f64 x y (fma.f64 a b (*.f64 z t)))
10.0ms
x
@0
(fma.f64 x y (fma.f64 a b (*.f64 z t)))
7.0ms
t
@inf
(fma.f64 x y (fma.f64 a b (*.f64 z t)))

rewrite97.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
869×log1p-expm1-u_binary64
869×expm1-log1p-u_binary64
102×*-un-lft-identity_binary64
102×add-sqr-sqrt_binary64
102×pow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify53.0ms (0.6%)

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
167 → 59
Calls
Call 1
Inputs
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.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 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.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 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 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.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 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (*.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 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 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 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 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))
(*.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))
Outputs
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.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 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(*.f64 a b)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(*.f64 a b)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.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 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(*.f64 a b)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(*.f64 a b)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 a b))
(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)))
(fma.f64 t z (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)))
(fma.f64 t z (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)))
(fma.f64 t z (fma.f64 y x (*.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 t z (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)))
(fma.f64 t z (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)))
(fma.f64 t z (fma.f64 y x (*.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 t z (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)))
(fma.f64 t z (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)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 a b))
(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)))
(fma.f64 t z (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)))
(fma.f64 t z (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)))
(fma.f64 t z (fma.f64 y x (*.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 t z (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)))
(fma.f64 t z (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)))
(fma.f64 t z (fma.f64 y x (*.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 t z (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)))
(fma.f64 t z (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)))
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))

prune79.0ms (0.8%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New57259
Fresh000
Picked011
Done000
Total57360
Error
0b
Counts
60 → 3
Alt Table
StatusErrorProgram
0.0b
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
0.0b
(fma.f64 x y (fma.f64 a b (*.f64 z t)))
35.4b
(fma.f64 x y (/.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 (*.f64 z t) 3)) (+.f64 (*.f64 (*.f64 a b) (*.f64 a b)) (-.f64 (pow.f64 (*.f64 z t) 2) (*.f64 (*.f64 a b) (*.f64 z t))))))
Compiler

Compiled 897 to 252 computations (71.9% saved)

localize16.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

series81.0ms (0.8%)

Counts
2 → 120
Calls

30 calls:

TimeVariablePointExpression
10.0ms
t
@0
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
8.0ms
t
@inf
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
6.0ms
y
@inf
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
6.0ms
z
@-inf
(fma.f64 t z (fma.f64 y x (*.f64 a b)))
5.0ms
b
@inf
(fma.f64 t z (fma.f64 y x (*.f64 a b)))

rewrite113.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
869×log1p-expm1-u_binary64
869×expm1-log1p-u_binary64
102×*-un-lft-identity_binary64
102×add-sqr-sqrt_binary64
102×pow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify60.0ms (0.6%)

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
0161080
1311080
2421080
3441080
Stop Event
saturated
Counts
167 → 58
Calls
Call 1
Inputs
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.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 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 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 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 t z))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.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 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.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 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 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.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 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
Outputs
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.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 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (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 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (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 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.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 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(*.f64 a b)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(*.f64 a b)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (*.f64 t z))
(fma.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 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(*.f64 a b)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(*.f64 a b)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))

prune89.0ms (0.9%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New57158
Fresh101
Picked101
Done011
Total59261
Error
0b
Counts
61 → 2
Alt Table
StatusErrorProgram
0.0b
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
0.0b
(fma.f64 x y (fma.f64 a b (*.f64 z t)))
Compiler

Compiled 815 to 209 computations (74.4% saved)

localize14.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series56.0ms (0.6%)

Counts
2 → 120
Calls

30 calls:

TimeVariablePointExpression
4.0ms
b
@-inf
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
4.0ms
a
@inf
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
3.0ms
b
@inf
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
3.0ms
a
@-inf
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
3.0ms
b
@0
(fma.f64 t z (fma.f64 a b (*.f64 y x)))

rewrite91.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
869×log1p-expm1-u_binary64
869×expm1-log1p-u_binary64
102×*-un-lft-identity_binary64
102×add-sqr-sqrt_binary64
102×pow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify47.0ms (0.5%)

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
0161080
1311080
2421080
3441080
Stop Event
saturated
Counts
167 → 58
Calls
Call 1
Inputs
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.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 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.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 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.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 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.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 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
Outputs
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(*.f64 t z)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(*.f64 t z)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(*.f64 t z)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(*.f64 t z)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 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 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(*.f64 a b)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(*.f64 a b)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 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 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(*.f64 a b)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(*.f64 a b)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(fma.f64 t z (*.f64 a b))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(fma.f64 t z (*.f64 a b))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(fma.f64 y x (fma.f64 a b (*.f64 t z)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 y x (fma.f64 t z (*.f64 a b)))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(fma.f64 a b (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(fma.f64 a b (*.f64 y x))

prune55.0ms (0.6%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New58058
Fresh000
Picked011
Done011
Total58260
Error
0b
Counts
60 → 2
Alt Table
StatusErrorProgram
0.0b
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
0.0b
(fma.f64 x y (fma.f64 a b (*.f64 z t)))
Compiler

Compiled 788 to 196 computations (75.1% saved)

regimes683.0ms (7.1%)

Accuracy

Total 0.0b remaining (45.4%)

Threshold costs 0.0b (45.4%)

Counts
20 → 1
Compiler

Compiled 4364 to 2722 computations (37.6% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01012
11112
Stop Event
saturated
Calls
Call 1
Inputs
(fma.f64 t z (fma.f64 a b (*.f64 y x)))
Outputs
(fma.f64 t z (fma.f64 a b (*.f64 y x)))

end156.0ms (1.6%)

Stop Event
done
Remove

(sort a b)

(sort z t)

(sort x y)

Compiler

Compiled 150 to 90 computations (40% saved)

Profiling

Loading profile data...