Details

Time bar (total: 16.7s)

analyze663.0ms (4%)

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

Compiled 22 to 14 computations (36.4% saved)

sample2.2s (13%)

Results
1.5s8256×body256valid
642.0ms3879×body256infinite
Bogosity

preprocess61.0ms (0.4%)

Algorithm
egg-herbie
Rules
1158×fma-def_binary64
333×associate-+l+_binary64
303×associate-+r+_binary64
244×+-commutative_binary64
64×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
086352
1257254
2793236
31763236
41917236
51939236
61939208
72483208
82483208
066
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
2
3
4
5
Outputs
0
1
2
3
4
5
Call 2
Inputs
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
(+.f64 (+.f64 (+.f64 y (*.f64 x z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
(+.f64 (+.f64 (+.f64 z (*.f64 y x)) (*.f64 t a)) (*.f64 (*.f64 a x) b))
(+.f64 (+.f64 (+.f64 t (*.f64 y z)) (*.f64 x a)) (*.f64 (*.f64 a z) b))
(+.f64 (+.f64 (+.f64 a (*.f64 y z)) (*.f64 t x)) (*.f64 (*.f64 x z) b))
(+.f64 (+.f64 (+.f64 b (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) x))
(+.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 t a)) (*.f64 (*.f64 a y) b))
(+.f64 (+.f64 (+.f64 x (*.f64 t z)) (*.f64 y a)) (*.f64 (*.f64 a z) b))
(+.f64 (+.f64 (+.f64 x (*.f64 a z)) (*.f64 t y)) (*.f64 (*.f64 y z) b))
(+.f64 (+.f64 (+.f64 x (*.f64 b z)) (*.f64 t a)) (*.f64 (*.f64 a z) y))
(+.f64 (+.f64 (+.f64 x (*.f64 y t)) (*.f64 z a)) (*.f64 (*.f64 a t) b))
(+.f64 (+.f64 (+.f64 x (*.f64 y a)) (*.f64 t z)) (*.f64 (*.f64 z a) b))
(+.f64 (+.f64 (+.f64 x (*.f64 y b)) (*.f64 t a)) (*.f64 (*.f64 a b) z))
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 a t)) (*.f64 (*.f64 t z) b))
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 b a)) (*.f64 (*.f64 a z) t))
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t b)) (*.f64 (*.f64 b z) a))
Outputs
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
(+.f64 (+.f64 x (*.f64 y z)) (+.f64 (*.f64 t a) (*.f64 a (*.f64 z b))))
(fma.f64 z (*.f64 a b) (fma.f64 t a (fma.f64 y z x)))
(fma.f64 a (+.f64 t (*.f64 z b)) (fma.f64 y z x))
(fma.f64 z (fma.f64 a b y) (fma.f64 t a x))
(+.f64 (+.f64 (+.f64 y (*.f64 x z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
(+.f64 (+.f64 y (*.f64 x z)) (+.f64 (*.f64 t a) (*.f64 a (*.f64 z b))))
(fma.f64 z (*.f64 a b) (fma.f64 t a (fma.f64 x z y)))
(fma.f64 a (+.f64 t (*.f64 z b)) (fma.f64 x z y))
(+.f64 (fma.f64 t a y) (*.f64 z (fma.f64 a b x)))
(fma.f64 x z (fma.f64 a (fma.f64 z b t) y))
(+.f64 (+.f64 (+.f64 z (*.f64 y x)) (*.f64 t a)) (*.f64 (*.f64 a x) b))
(+.f64 (+.f64 z (*.f64 x y)) (+.f64 (*.f64 t a) (*.f64 a (*.f64 x b))))
(fma.f64 a (*.f64 x b) (fma.f64 t a (fma.f64 x y z)))
(fma.f64 a (+.f64 t (*.f64 x b)) (fma.f64 x y z))
(fma.f64 x y (fma.f64 a (fma.f64 x b t) z))
(+.f64 (+.f64 (+.f64 t (*.f64 y z)) (*.f64 x a)) (*.f64 (*.f64 a z) b))
(+.f64 (*.f64 a (*.f64 z b)) (+.f64 t (+.f64 (*.f64 y z) (*.f64 x a))))
(+.f64 (fma.f64 y z t) (*.f64 a (fma.f64 z b x)))
(fma.f64 a (fma.f64 z b x) (fma.f64 y z t))
(fma.f64 x a (fma.f64 z (fma.f64 a b y) t))
(+.f64 (+.f64 (+.f64 a (*.f64 y z)) (*.f64 t x)) (*.f64 (*.f64 x z) b))
(+.f64 (+.f64 (*.f64 y z) a) (+.f64 (*.f64 x t) (*.f64 x (*.f64 z b))))
(fma.f64 x (*.f64 z b) (fma.f64 x t (fma.f64 y z a)))
(fma.f64 x (+.f64 t (*.f64 z b)) (fma.f64 y z a))
(fma.f64 x (fma.f64 z b t) (fma.f64 y z a))
(+.f64 (+.f64 (+.f64 b (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) x))
(+.f64 (+.f64 b (+.f64 (*.f64 y z) (*.f64 t a))) (*.f64 x (*.f64 z a)))
(fma.f64 x (*.f64 z a) (fma.f64 t a (fma.f64 y z b)))
(fma.f64 a (+.f64 t (*.f64 x z)) (fma.f64 y z b))
(fma.f64 y z (fma.f64 a (fma.f64 x z t) b))
(+.f64 (+.f64 (+.f64 x (*.f64 z y)) (*.f64 t a)) (*.f64 (*.f64 a y) b))
(+.f64 (+.f64 x (*.f64 y z)) (+.f64 (*.f64 t a) (*.f64 b (*.f64 y a))))
(fma.f64 a (*.f64 y b) (fma.f64 t a (fma.f64 y z x)))
(fma.f64 a (+.f64 t (*.f64 y b)) (fma.f64 y z x))
(fma.f64 y z (fma.f64 a (fma.f64 y b t) x))
(+.f64 (+.f64 (+.f64 x (*.f64 t z)) (*.f64 y a)) (*.f64 (*.f64 a z) b))
(+.f64 (*.f64 a (*.f64 z b)) (+.f64 x (+.f64 (*.f64 z t) (*.f64 y a))))
(fma.f64 z (*.f64 a b) (fma.f64 z t (fma.f64 y a x)))
(fma.f64 z (+.f64 t (*.f64 a b)) (fma.f64 y a x))
(fma.f64 y a (fma.f64 z (fma.f64 a b t) x))
(+.f64 (+.f64 (+.f64 x (*.f64 a z)) (*.f64 t y)) (*.f64 (*.f64 y z) b))
(+.f64 (+.f64 x (+.f64 (*.f64 z a) (*.f64 y t))) (*.f64 y (*.f64 z b)))
(fma.f64 y (*.f64 z b) (fma.f64 y t (fma.f64 z a x)))
(fma.f64 y (+.f64 t (*.f64 z b)) (fma.f64 z a x))
(fma.f64 y t (fma.f64 z (fma.f64 y b a) x))
(+.f64 (+.f64 (+.f64 x (*.f64 b z)) (*.f64 t a)) (*.f64 (*.f64 a z) y))
(+.f64 (+.f64 x (*.f64 z b)) (+.f64 (*.f64 t a) (*.f64 y (*.f64 z a))))
(+.f64 (fma.f64 z b x) (*.f64 a (fma.f64 y z t)))
(fma.f64 a (fma.f64 y z t) (fma.f64 z b x))
(fma.f64 t a (fma.f64 z (fma.f64 y a b) x))
(+.f64 (+.f64 (+.f64 x (*.f64 y t)) (*.f64 z a)) (*.f64 (*.f64 a t) b))
(+.f64 (+.f64 x (*.f64 y t)) (+.f64 (*.f64 z a) (*.f64 (*.f64 t a) b)))
(fma.f64 a (*.f64 t b) (fma.f64 y t (fma.f64 z a x)))
(fma.f64 a (+.f64 z (*.f64 t b)) (fma.f64 y t x))
(fma.f64 z a (fma.f64 t (fma.f64 a b y) x))
(+.f64 (+.f64 (+.f64 x (*.f64 y a)) (*.f64 t z)) (*.f64 (*.f64 z a) b))
(+.f64 (*.f64 a (*.f64 z b)) (+.f64 x (+.f64 (*.f64 z t) (*.f64 y a))))
(fma.f64 z (*.f64 a b) (fma.f64 z t (fma.f64 y a x)))
(fma.f64 z (+.f64 t (*.f64 a b)) (fma.f64 y a x))
(fma.f64 y a (fma.f64 z (fma.f64 a b t) x))
(+.f64 (+.f64 (+.f64 x (*.f64 y b)) (*.f64 t a)) (*.f64 (*.f64 a b) z))
(+.f64 (*.f64 a (*.f64 z b)) (+.f64 x (+.f64 (*.f64 y b) (*.f64 t a))))
(fma.f64 z (*.f64 a b) (fma.f64 t a (fma.f64 y b x)))
(fma.f64 a (+.f64 t (*.f64 z b)) (fma.f64 y b x))
(fma.f64 a (fma.f64 z b t) (fma.f64 y b x))
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 a t)) (*.f64 (*.f64 t z) b))
(+.f64 (+.f64 x (*.f64 y z)) (+.f64 (*.f64 t a) (*.f64 t (*.f64 z b))))
(fma.f64 t (*.f64 z b) (fma.f64 t a (fma.f64 y z x)))
(fma.f64 t (+.f64 a (*.f64 z b)) (fma.f64 y z x))
(fma.f64 y z (fma.f64 t (fma.f64 z b a) x))
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 b a)) (*.f64 (*.f64 a z) t))
(+.f64 (+.f64 x (*.f64 y z)) (+.f64 (*.f64 a b) (*.f64 t (*.f64 z a))))
(fma.f64 t (*.f64 z a) (fma.f64 a b (fma.f64 y z x)))
(fma.f64 a (+.f64 b (*.f64 z t)) (fma.f64 y z x))
(fma.f64 y z (fma.f64 a (fma.f64 z t b) x))
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t b)) (*.f64 (*.f64 b z) a))
(+.f64 (+.f64 x (*.f64 y z)) (+.f64 (*.f64 t b) (*.f64 a (*.f64 z b))))
(fma.f64 z (*.f64 a b) (fma.f64 t b (fma.f64 y z x)))
(fma.f64 b (+.f64 t (*.f64 z a)) (fma.f64 y z x))
(fma.f64 z (fma.f64 a b y) (fma.f64 t b x))
Compiler

Compiled 27 to 19 computations (29.6% saved)

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Rules
89×fma-def_binary64
23×associate-+l+_binary64
21×associate-+r+_binary64
19×+-commutative_binary64
10×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01422
12716
26915
314813
419113
520313
620613
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
Outputs
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
(+.f64 (+.f64 x (*.f64 y z)) (+.f64 (*.f64 t a) (*.f64 a (*.f64 z b))))
(fma.f64 a (*.f64 z b) (fma.f64 t a (fma.f64 y z x)))
(fma.f64 a (+.f64 t (*.f64 z b)) (fma.f64 y z x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))

eval1.0ms (0%)

Compiler

Compiled 31 to 16 computations (48.4% saved)

prune1.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
1.3b
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
1.9b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
Compiler

Compiled 37 to 22 computations (40.5% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 55 to 13 computations (76.4% saved)

series26.0ms (0.2%)

Counts
4 → 204
Calls

51 calls:

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

rewrite100.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
854×log-prod_binary64
458×fma-neg_binary64
296×expm1-udef_binary64
296×log1p-udef_binary64
245×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify192.0ms (1.1%)

Algorithm
egg-herbie
Rules
1275×fma-neg_binary64
1117×fma-def_binary64
182×cancel-sign-sub-inv_binary64
150×distribute-rgt-in_binary64
134×sub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0561812
11901693
23971693
37971693
420111693
533631693
638511693
741541693
841801693
941801693
1043161693
1143161693
Stop Event
saturated
Counts
374 → 206
Calls
Call 1
Inputs
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
x
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
x
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(+.f64 (*.f64 a t) x)
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(*.f64 z (+.f64 (*.f64 a b) y))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z))
(+.f64 (*.f64 a t) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(*.f64 (+.f64 t (*.f64 b z)) a)
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b)))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(+.f64 (*.f64 y z) (*.f64 a t))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
x
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
x
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 a t) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 a t) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
x
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
x
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
x
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
x
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
Outputs
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(fma.f64 y z (*.f64 a (+.f64 (*.f64 b z) t)))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 b z t) (*.f64 z y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
x
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
x
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
(fma.f64 (+.f64 (*.f64 b z) t) a x)
(fma.f64 a (fma.f64 b z t) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 a t) x)
(fma.f64 a t x)
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(*.f64 z (+.f64 (*.f64 a b) y))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 a t) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 y z (fma.f64 a (*.f64 b z) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 a (+.f64 (*.f64 b z) t))
(*.f64 a (fma.f64 b z t))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b)))))
(*.f64 a (+.f64 (*.f64 b z) t))
(*.f64 a (fma.f64 b z t))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(*.f64 a (*.f64 b z))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 b z) t) a x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
(+.f64 (*.f64 y z) (*.f64 a t))
(fma.f64 y z (*.f64 a t))
(fma.f64 z y (*.f64 a t))
(fma.f64 a t (*.f64 z y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
x
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
x
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 a t) x)
(fma.f64 a t x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 a t) x)
(fma.f64 a t x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
x
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
x
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
x
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
x
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 33 to 9 computations (72.7% saved)

series15.0ms (0.1%)

Counts
2 → 132
Calls

33 calls:

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

rewrite69.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
977×pow1_binary64
889×add-log-exp_binary64
889×log1p-expm1-u_binary64
889×expm1-log1p-u_binary64
866×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify143.0ms (0.9%)

Algorithm
egg-herbie
Rules
1240×fma-neg_binary64
695×fma-def_binary64
292×cancel-sign-sub-inv_binary64
189×distribute-rgt-in_binary64
128×associate--r+_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0511304
11561301
22861301
35361301
410581301
521011301
630061301
737961301
840131301
940131301
1040701301
Stop Event
saturated
Counts
175 → 85
Calls
Call 1
Inputs
x
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(*.f64 (+.f64 t (*.f64 b z)) a)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(*.f64 (+.f64 t (*.f64 b z)) a)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(+.f64 (*.f64 a t) x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
(*.f64 a (*.f64 z b))
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(*.f64 a (*.f64 z b))
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 a t) x)
(+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 a (*.f64 z b)) x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(*.f64 a t)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(*.f64 a t)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(*.f64 (+.f64 t (*.f64 b z)) a)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
x
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
x
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(+.f64 x (*.f64 a (+.f64 (*.f64 z b) t)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(+.f64 (*.f64 a t) x)
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(*.f64 z (+.f64 (*.f64 a b) y))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z))
(+.f64 (*.f64 a t) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x))
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(*.f64 a (+.f64 (*.f64 z b) t))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))))
(*.f64 a (+.f64 (*.f64 z b) t))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 y z) (*.f64 a (+.f64 (*.f64 z b) t)))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))))
x
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
x
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
Outputs
x
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a t) x)
(fma.f64 a t x)
(fma.f64 t a x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 b z) a)
(*.f64 b (*.f64 z a))
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 b z) a)
(*.f64 b (*.f64 z a))
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a t) x)
(fma.f64 a t x)
(fma.f64 t a x)
(+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(*.f64 a (*.f64 b z))
(*.f64 (*.f64 b z) a)
(*.f64 b (*.f64 z a))
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(*.f64 a (*.f64 b z))
(*.f64 (*.f64 b z) a)
(*.f64 b (*.f64 z a))
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a (*.f64 z b)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 b z) a x)
(fma.f64 b (*.f64 z a) x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(*.f64 a t)
(*.f64 t a)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(*.f64 a t)
(*.f64 t a)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
x
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
x
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 x (*.f64 a (+.f64 (*.f64 z b) t)))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 a t) x)
(fma.f64 a t x)
(fma.f64 t a x)
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(*.f64 z (+.f64 (*.f64 a b) y))
(*.f64 z (fma.f64 a b y))
(*.f64 z (fma.f64 b a y))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z))
(*.f64 z (fma.f64 a b y))
(*.f64 z (fma.f64 b a y))
(+.f64 (*.f64 a t) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(*.f64 a (+.f64 (*.f64 z b) t))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(*.f64 a (+.f64 (*.f64 z b) t))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 t a x))
(fma.f64 t a (fma.f64 z y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(*.f64 a (*.f64 b z))
(*.f64 (*.f64 b z) a)
(*.f64 b (*.f64 z a))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(*.f64 a (*.f64 b z))
(*.f64 (*.f64 b z) a)
(*.f64 b (*.f64 z a))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 y z (fma.f64 a (*.f64 b z) x))
(fma.f64 z (fma.f64 b a y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(*.f64 a t)
(*.f64 t a)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(*.f64 a t)
(*.f64 t a)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (*.f64 a (+.f64 (*.f64 z b) t)))
(fma.f64 y z (*.f64 (fma.f64 z b t) a))
(fma.f64 t a (*.f64 z (fma.f64 b a y)))
(fma.f64 z (fma.f64 b a y) (*.f64 t a))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
x
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
x
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(fma.f64 y z (fma.f64 (fma.f64 z b t) a x))
(fma.f64 t a (fma.f64 z (fma.f64 b a y) x))
(fma.f64 z y (fma.f64 (fma.f64 b z t) a x))

eval58.0ms (0.3%)

Compiler

Compiled 5176 to 1160 computations (77.6% saved)

prune69.0ms (0.4%)

Pruning

16 alts after pruning (16 fresh and 0 done)

PrunedKeptTotal
New27516291
Fresh000
Picked101
Done101
Total27716293
Error
0.0b
Counts
293 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
22.8b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 z b))) 2))
39.7b
(*.f64 (+.f64 t (*.f64 b z)) a)
24.6b
(+.f64 (*.f64 y z) x)
2.3b
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
46.4b
(*.f64 a t)
38.8b
x
25.6b
(+.f64 (*.f64 y z) (*.f64 a (+.f64 (*.f64 z b) t)))
42.1b
(fma.f64 y z (*.f64 a (*.f64 z b)))
22.3b
(fma.f64 a t x)
31.7b
(fma.f64 y z (*.f64 (cbrt.f64 (fma.f64 a (fma.f64 z b t) x)) (cbrt.f64 (pow.f64 (fma.f64 a (fma.f64 z b t) x) 2))))
16.0b
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
26.0b
(+.f64 (+.f64 (*.f64 y z) (*.f64 a t)) (*.f64 (*.f64 a z) b))
42.3b
(*.f64 z (+.f64 (*.f64 a b) y))
7.7b
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
22.3b
(+.f64 (*.f64 a t) x)
48.5b
(*.f64 z y)
Compiler

Compiled 465 to 306 computations (34.2% saved)

localize15.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 52 to 12 computations (76.9% saved)

series21.0ms (0.1%)

Counts
3 → 132
Calls

45 calls:

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

rewrite90.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
791×log-prod_binary64
452×fma-neg_binary64
278×expm1-udef_binary64
278×log1p-udef_binary64
229×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify162.0ms (1%)

Algorithm
egg-herbie
Rules
1362×fma-neg_binary64
835×fma-def_binary64
179×distribute-rgt-in_binary64
167×cancel-sign-sub-inv_binary64
129×unsub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0471251
11521172
23081172
35601172
413241172
524661172
633641172
740571172
840811172
940811172
1042831172
1142831172
Stop Event
saturated
Counts
255 → 158
Calls
Call 1
Inputs
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 a (*.f64 z b))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(*.f64 (+.f64 t (*.f64 b z)) a)
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b)))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)
(*.f64 a t)
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(*.f64 a t)
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 a t) x)
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(*.f64 z (+.f64 (*.f64 a b) y))
(*.f64 z (+.f64 (*.f64 a b) y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (*.f64 a t))
x
x
x
(*.f64 z (+.f64 (*.f64 a b) y))
(*.f64 z (+.f64 (*.f64 a b) y))
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(*.f64 a (*.f64 z b))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 a (*.f64 b z)) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(*.f64 z (+.f64 (*.f64 a b) y))
x
x
Outputs
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 z (fma.f64 a b y))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 z (fma.f64 a b y))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 a (+.f64 (*.f64 z b) t))
(*.f64 a (fma.f64 z b t))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b)))))
(*.f64 a (+.f64 (*.f64 z b) t))
(*.f64 a (fma.f64 z b t))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)
(fma.f64 z (fma.f64 a b y) x)
(*.f64 a t)
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(*.f64 a t)
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 a t) x)
(fma.f64 a t x)
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(*.f64 z (+.f64 (*.f64 a b) y))
(*.f64 z (fma.f64 a b y))
(*.f64 z (+.f64 (*.f64 a b) y))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))
(fma.f64 a (*.f64 z b) (fma.f64 a t x))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(fma.f64 y z (fma.f64 (+.f64 (*.f64 z b) t) a x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 z (fma.f64 a b y) (fma.f64 a t x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (*.f64 a t))
(fma.f64 z (fma.f64 a b y) (*.f64 a t))
(fma.f64 y z (*.f64 a (fma.f64 z b t)))
x
x
x
(*.f64 z (+.f64 (*.f64 a b) y))
(*.f64 z (fma.f64 a b y))
(*.f64 z (+.f64 (*.f64 a b) y))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 z (fma.f64 a b y) x)
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 a (*.f64 b z)) x)
(fma.f64 a (*.f64 z b) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 z (fma.f64 a b y) x)
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(*.f64 z (+.f64 (*.f64 a b) y))
(*.f64 z (fma.f64 a b y))
x
x

localize6.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

localize7.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 17 to 8 computations (52.9% saved)

series2.0ms (0%)

Counts
1 → 9
Calls

9 calls:

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

rewrite58.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
707×pow1_binary64
655×add-log-exp_binary64
655×log1p-expm1-u_binary64
655×expm1-log1p-u_binary64
640×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0524
1624
Stop Event
saturated
Counts
44 → 37
Calls
Call 1
Inputs
x
(*.f64 y z)
(*.f64 y z)
x
(*.f64 y z)
(*.f64 y z)
(*.f64 y z)
x
x
Outputs
x
(*.f64 y z)
(*.f64 y z)
x
(*.f64 y z)
(*.f64 y z)
(*.f64 y z)
x
x

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 31 to 10 computations (67.7% saved)

series7.0ms (0%)

Counts
2 → 24
Calls

24 calls:

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

rewrite76.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
577×fma-def_binary64
567×log-prod_binary64
449×pow-prod-down_binary64
306×pow2_binary64
304×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify12.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01186
11986
22486
Stop Event
saturated
Counts
175 → 159
Calls
Call 1
Inputs
(+.f64 (*.f64 a t) x)
(*.f64 y z)
(*.f64 y z)
(+.f64 (*.f64 a t) x)
(*.f64 y z)
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(*.f64 a t)
(*.f64 a t)
(+.f64 (*.f64 y z) x)
(*.f64 a t)
(*.f64 a t)
(+.f64 (*.f64 y z) (*.f64 a t))
x
x
x
(*.f64 a t)
(*.f64 a t)
x
(*.f64 a t)
(*.f64 a t)
(*.f64 a t)
x
x
Outputs
(+.f64 (*.f64 a t) x)
(fma.f64 a t x)
(*.f64 y z)
(*.f64 y z)
(+.f64 (*.f64 a t) x)
(fma.f64 a t x)
(*.f64 y z)
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(*.f64 a t)
(*.f64 a t)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(*.f64 a t)
(*.f64 a t)
(+.f64 (*.f64 y z) (*.f64 a t))
(fma.f64 y z (*.f64 a t))
x
x
x
(*.f64 a t)
(*.f64 a t)
x
(*.f64 a t)
(*.f64 a t)
(*.f64 a t)
x
x

localize15.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 45 to 12 computations (73.3% saved)

series10.0ms (0.1%)

Counts
2 → 72
Calls

27 calls:

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

rewrite88.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
794×fma-def_binary64
727×log-prod_binary64
353×fma-neg_binary64
250×pow1/3_binary64
246×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify89.0ms (0.5%)

Algorithm
egg-herbie
Rules
644×fma-def_binary64
552×fma-neg_binary64
95×cancel-sign-sub-inv_binary64
83×unsub-neg_binary64
74×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044682
1128682
2289682
3601682
41540682
52172682
62376682
72414682
Stop Event
saturated
Counts
262 → 215
Calls
Call 1
Inputs
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(*.f64 a t)
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (*.f64 a t))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (*.f64 a t))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (*.f64 a t))
(*.f64 z (+.f64 (*.f64 a b) y))
(+.f64 (*.f64 a t) (*.f64 z (+.f64 (*.f64 a b) y)))
(+.f64 (*.f64 a t) (*.f64 z (+.f64 (*.f64 a b) y)))
(+.f64 (*.f64 a t) (*.f64 z (+.f64 (*.f64 a b) y)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z))
(+.f64 (*.f64 a t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)))
(+.f64 (*.f64 a t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)))
(+.f64 (*.f64 a t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 (+.f64 t (*.f64 b z)) a))
(+.f64 (*.f64 y z) (*.f64 (+.f64 t (*.f64 b z)) a))
(+.f64 (*.f64 y z) (*.f64 (+.f64 t (*.f64 b z)) a))
(*.f64 a (+.f64 (*.f64 z b) t))
(+.f64 (*.f64 y z) (*.f64 a (+.f64 (*.f64 z b) t)))
(+.f64 (*.f64 y z) (*.f64 a (+.f64 (*.f64 z b) t)))
(+.f64 (*.f64 y z) (*.f64 a (+.f64 (*.f64 z b) t)))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b)))))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (*.f64 a t))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t)))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))))
(*.f64 a t)
(*.f64 y z)
(*.f64 y z)
(*.f64 a t)
(*.f64 y z)
(*.f64 y z)
(*.f64 y z)
(*.f64 a t)
(*.f64 a t)
(*.f64 y z)
(*.f64 a t)
(*.f64 a t)
Outputs
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(*.f64 a t)
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (*.f64 a t))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (*.f64 a t))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (*.f64 a t))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(*.f64 z (+.f64 (*.f64 a b) y))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 a t) (*.f64 z (+.f64 (*.f64 a b) y)))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 a t) (*.f64 z (+.f64 (*.f64 a b) y)))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 a t) (*.f64 z (+.f64 (*.f64 a b) y)))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 a t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 a t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 a t) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) (*.f64 (+.f64 t (*.f64 b z)) a))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (*.f64 (+.f64 t (*.f64 b z)) a))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (*.f64 (+.f64 t (*.f64 b z)) a))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(*.f64 a (+.f64 (*.f64 z b) t))
(*.f64 a (fma.f64 z b t))
(+.f64 (*.f64 y z) (*.f64 a (+.f64 (*.f64 z b) t)))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (*.f64 a (+.f64 (*.f64 z b) t)))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (*.f64 a (+.f64 (*.f64 z b) t)))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b)))))
(*.f64 a (fma.f64 z b t))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (*.f64 a t))
(fma.f64 y z (*.f64 a t))
(fma.f64 z y (*.f64 a t))
(fma.f64 a t (*.f64 z y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t)))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t)))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t)))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (*.f64 a (*.f64 b z))))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 a (fma.f64 z b t) (*.f64 z y))
(*.f64 a t)
(*.f64 y z)
(*.f64 z y)
(*.f64 y z)
(*.f64 z y)
(*.f64 a t)
(*.f64 y z)
(*.f64 z y)
(*.f64 y z)
(*.f64 z y)
(*.f64 y z)
(*.f64 z y)
(*.f64 a t)
(*.f64 a t)
(*.f64 y z)
(*.f64 z y)
(*.f64 a t)
(*.f64 a t)

eval332.0ms (2%)

Compiler

Compiled 9679 to 2370 computations (75.5% saved)

prune181.0ms (1.1%)

Pruning

19 alts after pruning (16 fresh and 3 done)

PrunedKeptTotal
New57810588
Fresh5611
Picked011
Done224
Total58519604
Error
0b
Counts
604 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
24.6b
(+.f64 (*.f64 y z) x)
39.7b
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
46.4b
(*.f64 a t)
38.8b
x
7.7b
(+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x))
42.3b
(*.f64 z (+.f64 (*.f64 a b) y))
56.4b
(*.f64 z (*.f64 a b))
26.4b
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (*.f64 a t))
22.3b
(fma.f64 a t x)
56.0b
(*.f64 a (*.f64 b z))
24.8b
(+.f64 (*.f64 a t) (+.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (fma.f64 a b (neg.f64 y))) x))
39.7b
(*.f64 (+.f64 t (*.f64 b z)) a)
32.4b
(+.f64 (*.f64 y z) (*.f64 a t))
40.9b
(+.f64 (+.f64 (*.f64 y z) (*.f64 a t)) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 z b))) 2))
42.1b
(fma.f64 y z (*.f64 a (*.f64 z b)))
26.0b
(+.f64 (+.f64 (*.f64 y z) (*.f64 a t)) (*.f64 (*.f64 a z) b))
26.1b
(fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (*.f64 z a)) (fma.f64 y z (*.f64 a t)))
22.3b
(+.f64 (*.f64 a t) x)
48.5b
(*.f64 z y)
Compiler

Compiled 498 to 337 computations (32.3% saved)

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 31 to 10 computations (67.7% saved)

series4.0ms (0%)

Counts
1 → 60
Calls

15 calls:

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

rewrite74.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
577×fma-def_binary64
567×log-prod_binary64
449×pow-prod-down_binary64
306×pow2_binary64
304×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify19.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
012467
123467
232467
334467
Stop Event
saturated
Counts
153 → 104
Calls
Call 1
Inputs
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 a t) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 a t) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (*.f64 a t))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
x
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
x
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
Outputs
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(*.f64 a t)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 a t) x)
(fma.f64 a t x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 a t) x)
(fma.f64 a t x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (*.f64 a t))
(fma.f64 y z (*.f64 a t))
(fma.f64 a t (*.f64 y z))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
x
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
x
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))

localize26.0ms (0.2%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

localize7.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 17 to 8 computations (52.9% saved)

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 23 to 9 computations (60.9% saved)

localize6.0ms (0%)

Compiler

Compiled 13 to 7 computations (46.2% saved)

eval107.0ms (0.6%)

Compiler

Compiled 3530 to 1041 computations (70.5% saved)

prune92.0ms (0.5%)

Pruning

19 alts after pruning (11 fresh and 8 done)

PrunedKeptTotal
New2641265
Fresh11011
Picked011
Done077
Total26519284
Error
0b
Counts
284 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
38.8b
x
32.4b
(+.f64 (*.f64 y z) (*.f64 a t))
24.6b
(+.f64 (*.f64 y z) x)
39.7b
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
7.7b
(+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x))
42.3b
(*.f64 z (+.f64 (*.f64 a b) y))
56.4b
(*.f64 z (*.f64 a b))
26.4b
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (*.f64 a t))
22.3b
(fma.f64 a t x)
56.0b
(*.f64 a (*.f64 b z))
24.8b
(+.f64 (*.f64 a t) (+.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (fma.f64 a b (neg.f64 y))) x))
39.7b
(*.f64 (+.f64 t (*.f64 b z)) a)
40.9b
(+.f64 (+.f64 (*.f64 y z) (*.f64 a t)) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 z b))) 2))
46.4b
(*.f64 a t)
42.1b
(fma.f64 y z (*.f64 a (*.f64 z b)))
26.0b
(+.f64 (+.f64 (*.f64 y z) (*.f64 a t)) (*.f64 (*.f64 a z) b))
26.1b
(fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (*.f64 z a)) (fma.f64 y z (*.f64 a t)))
22.3b
(+.f64 (*.f64 a t) x)
48.5b
(*.f64 z y)
Compiler

Compiled 440 to 296 computations (32.7% saved)

localize41.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (*.f64 a b) 2)
1.4b
(-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))
9.0b
(*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z)
19.2b
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (fma.f64 a b (neg.f64 y)))
Compiler

Compiled 113 to 39 computations (65.5% saved)

series82.0ms (0.5%)

Counts
4 → 156
Calls

39 calls:

TimeVariablePointExpression
60.0ms
z
@0
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (fma.f64 a b (neg.f64 y)))
1.0ms
a
@0
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (fma.f64 a b (neg.f64 y)))
1.0ms
y
@0
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (fma.f64 a b (neg.f64 y)))
1.0ms
y
@inf
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (fma.f64 a b (neg.f64 y)))
1.0ms
b
@-inf
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (fma.f64 a b (neg.f64 y)))

rewrite137.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
722×prod-diff_binary64
699×log-prod_binary64
278×fma-def_binary64
237×expm1-udef_binary64
237×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01461
130734
2428334
Stop Event
node limit
Counts
4 → 314
Calls
Call 1
Inputs
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (fma.f64 a b (neg.f64 y)))
(*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z)
(-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))
(pow.f64 (*.f64 a b) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (fma.f64 a b y) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (fma.f64 a b y) z))) (cbrt.f64 (exp.f64 (*.f64 (fma.f64 a b y) z))))) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (fma.f64 a b y) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (fma.f64 a b y) z)))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (fma.f64 a b y) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 a b y) z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 a b) 2) (/.f64 (fma.f64 a b y) z)) (/.f64 (*.f64 y y) (/.f64 (fma.f64 a b y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 a b y) 2) (/.f64 1 (/.f64 (fma.f64 a b y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 a b y) 2) (*.f64 z (/.f64 1 (fma.f64 a b y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 (pow.f64 (fma.f64 a b y) 2) (/.f64 1 (fma.f64 a b y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z) (/.f64 1 (fma.f64 a b y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a b y) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 a b y) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (fma.f64 a b y) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (fma.f64 a b y) z)) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 a b y) z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 a b y) z)) 2) (cbrt.f64 (*.f64 (fma.f64 a b y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z)) 2) (*.f64 (cbrt.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z)) (/.f64 1 (fma.f64 a b y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (fma.f64 a b y) z)) (sqrt.f64 (*.f64 (fma.f64 a b y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 a b y) (sqrt.f64 z)) (*.f64 (*.f64 (fma.f64 a b y) (sqrt.f64 z)) (/.f64 1 (fma.f64 a b y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) (neg.f64 z)) (/.f64 1 (neg.f64 (fma.f64 a b y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 a b y)) (*.f64 (pow.f64 (fma.f64 a b y) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (fma.f64 a b y) 2) 1) (/.f64 z (fma.f64 a b y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z 1) (fma.f64 a b y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z)) 2) 1) (/.f64 (cbrt.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z)) (fma.f64 a b y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (fma.f64 a b y) (sqrt.f64 z)) 1) (/.f64 (*.f64 (fma.f64 a b y) (sqrt.f64 z)) (fma.f64 a b y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (fma.f64 a b y) 2) (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2)) (/.f64 z (cbrt.f64 (fma.f64 a b y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2)) (/.f64 (pow.f64 (fma.f64 a b y) 2) (cbrt.f64 (fma.f64 a b y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2)) (/.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z) (cbrt.f64 (fma.f64 a b y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z)) 2) (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2)) (cbrt.f64 (*.f64 (fma.f64 a b y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (fma.f64 a b y) (sqrt.f64 z)) (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2)) (/.f64 (*.f64 (fma.f64 a b y) (sqrt.f64 z)) (cbrt.f64 (fma.f64 a b y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (fma.f64 a b y) 2) (sqrt.f64 (fma.f64 a b y))) (/.f64 z (sqrt.f64 (fma.f64 a b y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z (sqrt.f64 (fma.f64 a b y))) (/.f64 (pow.f64 (fma.f64 a b y) 2) (sqrt.f64 (fma.f64 a b y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (fma.f64 a b y))) (/.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z) (sqrt.f64 (fma.f64 a b y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z)) 2) (sqrt.f64 (fma.f64 a b y))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z)) (sqrt.f64 (fma.f64 a b y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 a b y) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 a b y) z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 a b y) z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (fma.f64 a b y) z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (*.f64 (fma.f64 a b y) z)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z) (neg.f64 (fma.f64 a b y))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 a b y) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (fma.f64 a b y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 a b y) z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 a b y) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z) 3) (pow.f64 (fma.f64 a b y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 a b y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 a b y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 a b y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 a b y) z)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 (fma.f64 a b y) 2) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (*.f64 a b) 2) z) (*.f64 (*.f64 y y) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (pow.f64 (*.f64 a b) 2)) (*.f64 z (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (fma.f64 a b y) 2)) z)) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (fma.f64 a b y) 2)) z)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (fma.f64 a b y) 2)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (fma.f64 a b y) 2)) z))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (fma.f64 a b y) 2)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 6) (pow.f64 y 6)) z) (fma.f64 (*.f64 y y) (pow.f64 (fma.f64 a b y) 2) (pow.f64 (*.f64 a b) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (pow.f64 (fma.f64 a b y) 2) 2) z) (pow.f64 (fma.f64 a b y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 (pow.f64 (*.f64 a b) 6) (pow.f64 y 6))) (fma.f64 (*.f64 y y) (pow.f64 (fma.f64 a b y) 2) (pow.f64 (*.f64 a b) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (pow.f64 (pow.f64 (fma.f64 a b y) 2) 2)) (pow.f64 (fma.f64 a b y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 a b y) (sqrt.f64 z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 (fma.f64 a b y) 2)) z))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 (fma.f64 a b y) 2) 3) (pow.f64 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (pow.f64 (fma.f64 a b y) 2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (fma.f64 a b y) 2) z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 a b) 2) z (*.f64 (*.f64 y y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (pow.f64 (*.f64 a b) 2) (*.f64 z (*.f64 y y)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y y) (pow.f64 (*.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (fma.f64 a b y) 2) (fma.f64 y y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (fma.f64 a b y) 2) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (fma.f64 a b y) 2) (fma.f64 -1 (*.f64 y y) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (fma.f64 a b y) 2) (fma.f64 (neg.f64 (cbrt.f64 (pow.f64 y 4))) (pow.f64 (cbrt.f64 y) 2) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (fma.f64 a b y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a b) (fma.f64 a b y)) (*.f64 y (fma.f64 a b y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 a b y) (*.f64 a b)) (*.f64 (fma.f64 a b y) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 a (*.f64 b (*.f64 a b)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 y) y)) (pow.f64 (cbrt.f64 y) 2) (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 b (*.f64 a (*.f64 a b)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 y) y)) (pow.f64 (cbrt.f64 y) 2) (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) (*.f64 a b) (neg.f64 (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 y) y)) (pow.f64 (cbrt.f64 y) 2) (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (*.f64 a b) 2) 1 (neg.f64 (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 y) y)) (pow.f64 (cbrt.f64 y) 2) (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (pow.f64 (*.f64 a b) 2) (neg.f64 (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 y) y)) (pow.f64 (cbrt.f64 y) 2) (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (pow.f64 (*.f64 a b) 4)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 y) y)) (pow.f64 (cbrt.f64 y) 2) (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 y) y)) (pow.f64 (cbrt.f64 y) 2) (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 4)) (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (neg.f64 (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 y) y)) (pow.f64 (cbrt.f64 y) 2) (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a b)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 y) y)) (pow.f64 (cbrt.f64 y) 2) (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a a) (*.f64 b b) (neg.f64 (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 y) y)) (pow.f64 (cbrt.f64 y) 2) (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 b b) (*.f64 a a) (neg.f64 (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 y) y)) (pow.f64 (cbrt.f64 y) 2) (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 y) y)) (pow.f64 (cbrt.f64 y) 2) (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) a) b (neg.f64 (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 y) y)) (pow.f64 (cbrt.f64 y) 2) (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) b) a (neg.f64 (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 y) y)) (pow.f64 (cbrt.f64 y) 2) (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (cbrt.f64 (*.f64 a b)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2)))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 y) y)) (pow.f64 (cbrt.f64 y) 2) (*.f64 (*.f64 (cbrt.f64 y) y) (pow.f64 (cbrt.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 a (*.f64 b (*.f64 a b)) (neg.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4))))) (fma.f64 (neg.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2))) (cbrt.f64 (pow.f64 y 4)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 b (*.f64 a (*.f64 a b)) (neg.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4))))) (fma.f64 (neg.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2))) (cbrt.f64 (pow.f64 y 4)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) (*.f64 a b) (neg.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4))))) (fma.f64 (neg.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2))) (cbrt.f64 (pow.f64 y 4)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (*.f64 a b) 2) 1 (neg.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4))))) (fma.f64 (neg.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2))) (cbrt.f64 (pow.f64 y 4)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (pow.f64 (*.f64 a b) 2) (neg.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4))))) (fma.f64 (neg.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2))) (cbrt.f64 (pow.f64 y 4)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (pow.f64 (*.f64 a b) 4)) (neg.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4))))) (fma.f64 (neg.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2))) (cbrt.f64 (pow.f64 y 4)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b)) (neg.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4))))) (fma.f64 (neg.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2))) (cbrt.f64 (pow.f64 y 4)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 4)) (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (neg.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4))))) (fma.f64 (neg.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2))) (cbrt.f64 (pow.f64 y 4)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a b)) (neg.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4))))) (fma.f64 (neg.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2))) (cbrt.f64 (pow.f64 y 4)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a a) (*.f64 b b) (neg.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4))))) (fma.f64 (neg.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2))) (cbrt.f64 (pow.f64 y 4)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 b b) (*.f64 a a) (neg.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4))))) (fma.f64 (neg.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2))) (cbrt.f64 (pow.f64 y 4)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)) (neg.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4))))) (fma.f64 (neg.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2))) (cbrt.f64 (pow.f64 y 4)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) a) b (neg.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4))))) (fma.f64 (neg.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2))) (cbrt.f64 (pow.f64 y 4)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) b) a (neg.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4))))) (fma.f64 (neg.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2))) (cbrt.f64 (pow.f64 y 4)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (cbrt.f64 (*.f64 a b)) (neg.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4))))) (fma.f64 (neg.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2))) (cbrt.f64 (pow.f64 y 4)) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 a (*.f64 b (*.f64 a b)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 y) y)) (sqrt.f64 y) (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 b (*.f64 a (*.f64 a b)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 y) y)) (sqrt.f64 y) (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) (*.f64 a b) (neg.f64 (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 y) y)) (sqrt.f64 y) (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (*.f64 a b) 2) 1 (neg.f64 (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 y) y)) (sqrt.f64 y) (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (pow.f64 (*.f64 a b) 2) (neg.f64 (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 y) y)) (sqrt.f64 y) (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (pow.f64 (*.f64 a b) 4)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 y) y)) (sqrt.f64 y) (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 y) y)) (sqrt.f64 y) (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 4)) (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (neg.f64 (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 y) y)) (sqrt.f64 y) (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a b)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 y) y)) (sqrt.f64 y) (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a a) (*.f64 b b) (neg.f64 (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 y) y)) (sqrt.f64 y) (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 b b) (*.f64 a a) (neg.f64 (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 y) y)) (sqrt.f64 y) (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 y) y)) (sqrt.f64 y) (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) a) b (neg.f64 (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 y) y)) (sqrt.f64 y) (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) b) a (neg.f64 (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 y) y)) (sqrt.f64 y) (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (cbrt.f64 (*.f64 a b)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y)))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 y) y)) (sqrt.f64 y) (*.f64 (*.f64 (sqrt.f64 y) y) (sqrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 a (*.f64 b (*.f64 a b)) (neg.f64 (*.f64 (*.f64 y y) -1))) (fma.f64 (*.f64 y y) -1 (*.f64 (*.f64 y y) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 b (*.f64 a (*.f64 a b)) (neg.f64 (*.f64 (*.f64 y y) -1))) (fma.f64 (*.f64 y y) -1 (*.f64 (*.f64 y y) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) (*.f64 a b) (neg.f64 (*.f64 (*.f64 y y) -1))) (fma.f64 (*.f64 y y) -1 (*.f64 (*.f64 y y) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (*.f64 a b) 2) 1 (neg.f64 (*.f64 (*.f64 y y) -1))) (fma.f64 (*.f64 y y) -1 (*.f64 (*.f64 y y) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (pow.f64 (*.f64 a b) 2) (neg.f64 (*.f64 (*.f64 y y) -1))) (fma.f64 (*.f64 y y) -1 (*.f64 (*.f64 y y) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (pow.f64 (*.f64 a b) 4)) (neg.f64 (*.f64 (*.f64 y y) -1))) (fma.f64 (*.f64 y y) -1 (*.f64 (*.f64 y y) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b)) (neg.f64 (*.f64 (*.f64 y y) -1))) (fma.f64 (*.f64 y y) -1 (*.f64 (*.f64 y y) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 4)) (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (neg.f64 (*.f64 (*.f64 y y) -1))) (fma.f64 (*.f64 y y) -1 (*.f64 (*.f64 y y) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a b)) (neg.f64 (*.f64 (*.f64 y y) -1))) (fma.f64 (*.f64 y y) -1 (*.f64 (*.f64 y y) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a a) (*.f64 b b) (neg.f64 (*.f64 (*.f64 y y) -1))) (fma.f64 (*.f64 y y) -1 (*.f64 (*.f64 y y) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 b b) (*.f64 a a) (neg.f64 (*.f64 (*.f64 y y) -1))) (fma.f64 (*.f64 y y) -1 (*.f64 (*.f64 y y) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)) (neg.f64 (*.f64 (*.f64 y y) -1))) (fma.f64 (*.f64 y y) -1 (*.f64 (*.f64 y y) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) a) b (neg.f64 (*.f64 (*.f64 y y) -1))) (fma.f64 (*.f64 y y) -1 (*.f64 (*.f64 y y) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) b) a (neg.f64 (*.f64 (*.f64 y y) -1))) (fma.f64 (*.f64 y y) -1 (*.f64 (*.f64 y y) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (cbrt.f64 (*.f64 a b)) (neg.f64 (*.f64 (*.f64 y y) -1))) (fma.f64 (*.f64 y y) -1 (*.f64 (*.f64 y y) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 a (*.f64 b (*.f64 a b)) (neg.f64 (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y))))) (fma.f64 (neg.f64 (sqrt.f64 y)) (*.f64 y (sqrt.f64 y)) (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 b (*.f64 a (*.f64 a b)) (neg.f64 (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y))))) (fma.f64 (neg.f64 (sqrt.f64 y)) (*.f64 y (sqrt.f64 y)) (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) (*.f64 a b) (neg.f64 (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y))))) (fma.f64 (neg.f64 (sqrt.f64 y)) (*.f64 y (sqrt.f64 y)) (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (*.f64 a b) 2) 1 (neg.f64 (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y))))) (fma.f64 (neg.f64 (sqrt.f64 y)) (*.f64 y (sqrt.f64 y)) (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (pow.f64 (*.f64 a b) 2) (neg.f64 (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y))))) (fma.f64 (neg.f64 (sqrt.f64 y)) (*.f64 y (sqrt.f64 y)) (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (pow.f64 (*.f64 a b) 4)) (neg.f64 (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y))))) (fma.f64 (neg.f64 (sqrt.f64 y)) (*.f64 y (sqrt.f64 y)) (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b)) (neg.f64 (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y))))) (fma.f64 (neg.f64 (sqrt.f64 y)) (*.f64 y (sqrt.f64 y)) (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 4)) (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (neg.f64 (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y))))) (fma.f64 (neg.f64 (sqrt.f64 y)) (*.f64 y (sqrt.f64 y)) (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a b)) (neg.f64 (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y))))) (fma.f64 (neg.f64 (sqrt.f64 y)) (*.f64 y (sqrt.f64 y)) (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a a) (*.f64 b b) (neg.f64 (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y))))) (fma.f64 (neg.f64 (sqrt.f64 y)) (*.f64 y (sqrt.f64 y)) (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 b b) (*.f64 a a) (neg.f64 (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y))))) (fma.f64 (neg.f64 (sqrt.f64 y)) (*.f64 y (sqrt.f64 y)) (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)) (neg.f64 (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y))))) (fma.f64 (neg.f64 (sqrt.f64 y)) (*.f64 y (sqrt.f64 y)) (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) a) b (neg.f64 (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y))))) (fma.f64 (neg.f64 (sqrt.f64 y)) (*.f64 y (sqrt.f64 y)) (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) b) a (neg.f64 (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y))))) (fma.f64 (neg.f64 (sqrt.f64 y)) (*.f64 y (sqrt.f64 y)) (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (cbrt.f64 (*.f64 a b)) (neg.f64 (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y))))) (fma.f64 (neg.f64 (sqrt.f64 y)) (*.f64 y (sqrt.f64 y)) (*.f64 (sqrt.f64 y) (*.f64 y (sqrt.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 a (*.f64 b (*.f64 a b)) (neg.f64 (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4)))))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (neg.f64 (cbrt.f64 (pow.f64 y 4))) (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 b (*.f64 a (*.f64 a b)) (neg.f64 (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4)))))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (neg.f64 (cbrt.f64 (pow.f64 y 4))) (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) (*.f64 a b) (neg.f64 (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4)))))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (neg.f64 (cbrt.f64 (pow.f64 y 4))) (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (*.f64 a b) 2) 1 (neg.f64 (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4)))))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (neg.f64 (cbrt.f64 (pow.f64 y 4))) (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (pow.f64 (*.f64 a b) 2) (neg.f64 (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4)))))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (neg.f64 (cbrt.f64 (pow.f64 y 4))) (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (pow.f64 (*.f64 a b) 4)) (neg.f64 (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4)))))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (neg.f64 (cbrt.f64 (pow.f64 y 4))) (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b)) (neg.f64 (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4)))))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (neg.f64 (cbrt.f64 (pow.f64 y 4))) (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 4)) (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (neg.f64 (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4)))))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (neg.f64 (cbrt.f64 (pow.f64 y 4))) (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a b)) (neg.f64 (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4)))))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (neg.f64 (cbrt.f64 (pow.f64 y 4))) (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a a) (*.f64 b b) (neg.f64 (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4)))))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (neg.f64 (cbrt.f64 (pow.f64 y 4))) (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 b b) (*.f64 a a) (neg.f64 (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4)))))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (neg.f64 (cbrt.f64 (pow.f64 y 4))) (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)) (neg.f64 (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4)))))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (neg.f64 (cbrt.f64 (pow.f64 y 4))) (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) a) b (neg.f64 (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4)))))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (neg.f64 (cbrt.f64 (pow.f64 y 4))) (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) b) a (neg.f64 (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4)))))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (neg.f64 (cbrt.f64 (pow.f64 y 4))) (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (cbrt.f64 (*.f64 a b)) (neg.f64 (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4)))))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (neg.f64 (cbrt.f64 (pow.f64 y 4))) (*.f64 (pow.f64 (cbrt.f64 y) 2) (neg.f64 (cbrt.f64 (pow.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 a (*.f64 b (*.f64 a b)) (neg.f64 (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2))))) (fma.f64 (neg.f64 (cbrt.f64 y)) (*.f64 y (pow.f64 (cbrt.f64 y) 2)) (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 b (*.f64 a (*.f64 a b)) (neg.f64 (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2))))) (fma.f64 (neg.f64 (cbrt.f64 y)) (*.f64 y (pow.f64 (cbrt.f64 y) 2)) (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a b) (*.f64 a b) (neg.f64 (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2))))) (fma.f64 (neg.f64 (cbrt.f64 y)) (*.f64 y (pow.f64 (cbrt.f64 y) 2)) (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (*.f64 a b) 2) 1 (neg.f64 (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2))))) (fma.f64 (neg.f64 (cbrt.f64 y)) (*.f64 y (pow.f64 (cbrt.f64 y) 2)) (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (pow.f64 (*.f64 a b) 2) (neg.f64 (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2))))) (fma.f64 (neg.f64 (cbrt.f64 y)) (*.f64 y (pow.f64 (cbrt.f64 y) 2)) (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (pow.f64 (*.f64 a b) 4)) (neg.f64 (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2))))) (fma.f64 (neg.f64 (cbrt.f64 y)) (*.f64 y (pow.f64 (cbrt.f64 y) 2)) (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b)) (neg.f64 (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2))))) (fma.f64 (neg.f64 (cbrt.f64 y)) (*.f64 y (pow.f64 (cbrt.f64 y) 2)) (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 4)) (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (neg.f64 (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2))))) (fma.f64 (neg.f64 (cbrt.f64 y)) (*.f64 y (pow.f64 (cbrt.f64 y) 2)) (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a b)) (neg.f64 (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2))))) (fma.f64 (neg.f64 (cbrt.f64 y)) (*.f64 y (pow.f64 (cbrt.f64 y) 2)) (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 a a) (*.f64 b b) (neg.f64 (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2))))) (fma.f64 (neg.f64 (cbrt.f64 y)) (*.f64 y (pow.f64 (cbrt.f64 y) 2)) (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 b b) (*.f64 a a) (neg.f64 (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2))))) (fma.f64 (neg.f64 (cbrt.f64 y)) (*.f64 y (pow.f64 (cbrt.f64 y) 2)) (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)) (neg.f64 (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2))))) (fma.f64 (neg.f64 (cbrt.f64 y)) (*.f64 y (pow.f64 (cbrt.f64 y) 2)) (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) a) b (neg.f64 (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2))))) (fma.f64 (neg.f64 (cbrt.f64 y)) (*.f64 y (pow.f64 (cbrt.f64 y) 2)) (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) b) a (neg.f64 (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2))))) (fma.f64 (neg.f64 (cbrt.f64 y)) (*.f64 y (pow.f64 (cbrt.f64 y) 2)) (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (*.f64 a b) (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (cbrt.f64 (*.f64 a b)) (neg.f64 (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2))))) (fma.f64 (neg.f64 (cbrt.f64 y)) (*.f64 y (pow.f64 (cbrt.f64 y) 2)) (*.f64 (cbrt.f64 y) (*.f64 y (pow.f64 (cbrt.f64 y) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (fma.f64 a b y) 2))) (cbrt.f64 (exp.f64 (pow.f64 (fma.f64 a b y) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (fma.f64 a b y) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (fma.f64 a b y) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (fma.f64 a b y) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 a b y) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a b y) (fma.f64 a b y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (fma.f64 a b y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (fma.f64 a b y) 2) 2) (/.f64 1 (pow.f64 (fma.f64 a b y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2) 2) (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2) (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2) (*.f64 (cbrt.f64 (fma.f64 a b y)) (fma.f64 a b y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a b y)) (*.f64 (sqrt.f64 (fma.f64 a b y)) (fma.f64 a b y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 a b) 6) (pow.f64 y 6)) (/.f64 1 (fma.f64 (*.f64 y y) (pow.f64 (fma.f64 a b y) 2) (pow.f64 (*.f64 a b) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 a b y) (sqrt.f64 (fma.f64 a b y))) (sqrt.f64 (fma.f64 a b y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 a b y) (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2)) (cbrt.f64 (fma.f64 a b y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 y y) (pow.f64 (fma.f64 a b y) 2) (pow.f64 (*.f64 a b) 4)) (-.f64 (pow.f64 (*.f64 a b) 6) (pow.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (pow.f64 (fma.f64 a b y) 2) (pow.f64 (pow.f64 (fma.f64 a b y) 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (pow.f64 (fma.f64 a b y) 2) 2) (pow.f64 (fma.f64 a b y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a b) 6) (pow.f64 y 6)) (fma.f64 (*.f64 y y) (pow.f64 (fma.f64 a b y) 2) (pow.f64 (*.f64 a b) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 a b) 6) (pow.f64 y 6))) (neg.f64 (fma.f64 (*.f64 y y) (pow.f64 (fma.f64 a b y) 2) (pow.f64 (*.f64 a b) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (pow.f64 (fma.f64 a b y) 2) 2)) (neg.f64 (pow.f64 (fma.f64 a b y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a b) 6) (pow.f64 y 6)) (+.f64 (pow.f64 (*.f64 a b) 4) (-.f64 (pow.f64 y 4) (pow.f64 (*.f64 (*.f64 a b) y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a b y) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a b y) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (fma.f64 a b y) 2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (pow.f64 (fma.f64 a b y) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (fma.f64 a b y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (fma.f64 a b y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 a b) 2))) (pow.f64 (exp.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (pow.f64 (*.f64 a b) 2)) (+.f64 1 (expm1.f64 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 a b) 2))) (+.f64 1 (expm1.f64 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (pow.f64 (*.f64 a b) 2)) (/.f64 1 (pow.f64 (exp.f64 y) y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (pow.f64 (exp.f64 y) y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 a b) 2))) (pow.f64 (exp.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (pow.f64 (*.f64 a b) 2)) (+.f64 1 (expm1.f64 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 a b) 2))) (+.f64 1 (expm1.f64 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (pow.f64 (*.f64 a b) 2)) (/.f64 1 (pow.f64 (exp.f64 y) y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 a b) 2))) (/.f64 1 (pow.f64 (exp.f64 y) y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y) y) (exp.f64 (pow.f64 (*.f64 a b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y y))) (exp.f64 (pow.f64 (*.f64 a b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 (exp.f64 y) y)) (exp.f64 (pow.f64 (*.f64 a b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 y) y) (+.f64 1 (expm1.f64 (pow.f64 (*.f64 a b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y y))) (+.f64 1 (expm1.f64 (pow.f64 (*.f64 a b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 (exp.f64 y) y)) (+.f64 1 (expm1.f64 (pow.f64 (*.f64 a b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (fma.f64 a b y) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (fma.f64 a b y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (fma.f64 a b y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (fma.f64 a b y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (fma.f64 a b y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (*.f64 b (*.f64 a b)) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (*.f64 a (*.f64 a b)) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) (*.f64 a b) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) (fma.f64 a b y) (*.f64 y (fma.f64 a b y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 a b) 2) 1 (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y y (pow.f64 (*.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y y) 1 (pow.f64 (*.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 a b y) 2) 1 (fma.f64 y y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 a b y) 2) 1 (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 a b y) (*.f64 a b) (*.f64 (fma.f64 a b y) y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 a b y) (fma.f64 a b y) (fma.f64 y y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 a b y) (fma.f64 a b y) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 (*.f64 a b) 2) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y y) (pow.f64 (*.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 (fma.f64 a b y) 2) (fma.f64 y y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 (fma.f64 a b y) 2) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (pow.f64 (fma.f64 a b y) 2) 2) (/.f64 1 (pow.f64 (fma.f64 a b y) 2)) (fma.f64 y y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (pow.f64 (fma.f64 a b y) 2) 2) (/.f64 1 (pow.f64 (fma.f64 a b y) 2)) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 (pow.f64 y 4)) (pow.f64 (*.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) y) (pow.f64 (*.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 y 4)) (pow.f64 (cbrt.f64 y) 2) (pow.f64 (*.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 y 4)) (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (pow.f64 (*.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2) 2) (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2) (fma.f64 y y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2) 2) (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (pow.f64 (*.f64 a b) 4)) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b)) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 4)) (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2) (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2) 2) (fma.f64 y y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2) (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2) 2) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2) (*.f64 (cbrt.f64 (fma.f64 a b y)) (fma.f64 a b y)) (fma.f64 y y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2) (*.f64 (cbrt.f64 (fma.f64 a b y)) (fma.f64 a b y)) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 a b y)) (*.f64 (sqrt.f64 (fma.f64 a b y)) (fma.f64 a b y)) (fma.f64 y y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 a b y)) (*.f64 (sqrt.f64 (fma.f64 a b y)) (fma.f64 a b y)) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) y) (pow.f64 (*.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a b)) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a a) (*.f64 b b) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b b) (*.f64 a a) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 a b) 6) (pow.f64 y 6)) (/.f64 1 (fma.f64 (*.f64 y y) (pow.f64 (fma.f64 a b y) 2) (pow.f64 (*.f64 a b) 4))) (fma.f64 y y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 a b) 6) (pow.f64 y 6)) (/.f64 1 (fma.f64 (*.f64 y y) (pow.f64 (fma.f64 a b y) 2) (pow.f64 (*.f64 a b) 4))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 y y) (pow.f64 (*.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 y)) (sqrt.f64 y) (pow.f64 (*.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 a b y) (sqrt.f64 (fma.f64 a b y))) (sqrt.f64 (fma.f64 a b y)) (fma.f64 y y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 a b y) (sqrt.f64 (fma.f64 a b y))) (sqrt.f64 (fma.f64 a b y)) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (pow.f64 y 4))) (pow.f64 (cbrt.f64 y) 2) (pow.f64 (*.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 a b y) (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2)) (cbrt.f64 (fma.f64 a b y)) (fma.f64 y y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 a b y) (pow.f64 (cbrt.f64 (fma.f64 a b y)) 2)) (cbrt.f64 (fma.f64 a b y)) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (pow.f64 y 4)) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (pow.f64 (*.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a b) a) b (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a b) b) a (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a b) (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (cbrt.f64 (*.f64 a b)) (*.f64 y y))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 a b) 2))) (cbrt.f64 (exp.f64 (pow.f64 (*.f64 a b) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 a b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 a b) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 a b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 a b) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a (*.f64 b (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 b (*.f64 a (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a b) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 a b) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (pow.f64 (*.f64 a b) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 4)) (pow.f64 (cbrt.f64 (*.f64 a b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a a) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 b b) (*.f64 a a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 a b) (sqrt.f64 (*.f64 a b))) (sqrt.f64 (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 a b) a) b)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 a b) b) a)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 a b) (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (cbrt.f64 (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a b) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 a b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 a b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a b) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 a b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 a b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 a b))) 1))))))

simplify195.0ms (1.2%)

Algorithm
egg-herbie
Rules
862×fma-def_binary64
561×fma-neg_binary64
520×cancel-sign-sub-inv_binary64
271×distribute-rgt-neg-in_binary64
235×*-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0602389
12082245
27012035
329012035
477402035
Stop Event
node limit
Counts
470 → 341
Calls
Call 1
Inputs
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 a (*.f64 z b))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(-.f64 (+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 z b)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2))) y)))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) y)))
(-.f64 (+.f64 (*.f64 y z) (+.f64 (/.f64 (*.f64 a (*.f64 (-.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2)))) (*.f64 -1 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)))) b)) (pow.f64 y 2)) (+.f64 (*.f64 a (*.f64 z b)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2))) y))))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) y)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 z b)) (*.f64 -1 (/.f64 (-.f64 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2))) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z))) y))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 (/.f64 (*.f64 a (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2))) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z))) b)) (pow.f64 y 2))) (+.f64 (*.f64 a (*.f64 z b)) (*.f64 -1 (/.f64 (-.f64 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2))) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z))) y)))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2))) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2))) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2))) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2))) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2))) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2))) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(*.f64 -1 (pow.f64 y 2))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(*.f64 -1 (pow.f64 y 2))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(*.f64 -1 (pow.f64 y 2))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(*.f64 -1 (pow.f64 y 2))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
Outputs
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 b (*.f64 z a))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 b (*.f64 z a))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 b (*.f64 z a))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 b (*.f64 z a))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(*.f64 a (*.f64 z b))
(*.f64 b (*.f64 z a))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(-.f64 (+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 z b)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2))) y)))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) y)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(-.f64 (+.f64 (*.f64 y z) (+.f64 (/.f64 (*.f64 a (*.f64 (-.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2)))) (*.f64 -1 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)))) b)) (pow.f64 y 2)) (+.f64 (*.f64 a (*.f64 z b)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2))) y))))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) y)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 z b)) (*.f64 -1 (/.f64 (-.f64 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2))) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z))) y))))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 (/.f64 (*.f64 a (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2))) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z))) b)) (pow.f64 y 2))) (+.f64 (*.f64 a (*.f64 z b)) (*.f64 -1 (/.f64 (-.f64 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2))) (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z))) y)))))
(fma.f64 y z (*.f64 a (*.f64 z b)))
(*.f64 z (+.f64 y (*.f64 a b)))
(*.f64 z (fma.f64 a b y))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y)) (/.f64 (-.f64 (*.f64 a b) y) z))
(/.f64 (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)) (/.f64 (fma.f64 a b (neg.f64 y)) z))
(*.f64 z (/.f64 (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)) (-.f64 (*.f64 a b) y)))
(*.f64 (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)) (/.f64 z (fma.f64 a b (neg.f64 y))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y)) (/.f64 (-.f64 (*.f64 a b) y) z))
(/.f64 (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)) (/.f64 (fma.f64 a b (neg.f64 y)) z))
(*.f64 z (/.f64 (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)) (-.f64 (*.f64 a b) y)))
(*.f64 (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)) (/.f64 z (fma.f64 a b (neg.f64 y))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y)) (/.f64 (-.f64 (*.f64 a b) y) z))
(/.f64 (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)) (/.f64 (fma.f64 a b (neg.f64 y)) z))
(*.f64 z (/.f64 (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)) (-.f64 (*.f64 a b) y)))
(*.f64 (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)) (/.f64 z (fma.f64 a b (neg.f64 y))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y)) (/.f64 (-.f64 (*.f64 a b) y) z))
(/.f64 (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)) (/.f64 (fma.f64 a b (neg.f64 y)) z))
(*.f64 z (/.f64 (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)) (-.f64 (*.f64 a b) y)))
(*.f64 (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)) (/.f64 z (fma.f64 a b (neg.f64 y))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y)) (/.f64 (-.f64 (*.f64 a b) y) z))
(/.f64 (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)) (/.f64 (fma.f64 a b (neg.f64 y)) z))
(*.f64 z (/.f64 (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)) (-.f64 (*.f64 a b) y)))
(*.f64 (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)) (/.f64 z (fma.f64 a b (neg.f64 y))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y)) (/.f64 (-.f64 (*.f64 a b) y) z))
(/.f64 (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)) (/.f64 (fma.f64 a b (neg.f64 y)) z))
(*.f64 z (/.f64 (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)) (-.f64 (*.f64 a b) y)))
(*.f64 (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)) (/.f64 z (fma.f64 a b (neg.f64 y))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y)) (/.f64 (-.f64 (*.f64 a b) y) z))
(/.f64 (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)) (/.f64 (fma.f64 a b (neg.f64 y)) z))
(*.f64 z (/.f64 (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)) (-.f64 (*.f64 a b) y)))
(*.f64 (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)) (/.f64 z (fma.f64 a b (neg.f64 y))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y)) (/.f64 (-.f64 (*.f64 a b) y) z))
(/.f64 (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)) (/.f64 (fma.f64 a b (neg.f64 y)) z))
(*.f64 z (/.f64 (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)) (-.f64 (*.f64 a b) y)))
(*.f64 (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)) (/.f64 z (fma.f64 a b (neg.f64 y))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y)) (/.f64 (-.f64 (*.f64 a b) y) z))
(/.f64 (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)) (/.f64 (fma.f64 a b (neg.f64 y)) z))
(*.f64 z (/.f64 (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)) (-.f64 (*.f64 a b) y)))
(*.f64 (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)) (/.f64 z (fma.f64 a b (neg.f64 y))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y)) (/.f64 (-.f64 (*.f64 a b) y) z))
(/.f64 (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)) (/.f64 (fma.f64 a b (neg.f64 y)) z))
(*.f64 z (/.f64 (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)) (-.f64 (*.f64 a b) y)))
(*.f64 (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)) (/.f64 z (fma.f64 a b (neg.f64 y))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y)) (/.f64 (-.f64 (*.f64 a b) y) z))
(/.f64 (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)) (/.f64 (fma.f64 a b (neg.f64 y)) z))
(*.f64 z (/.f64 (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)) (-.f64 (*.f64 a b) y)))
(*.f64 (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)) (/.f64 z (fma.f64 a b (neg.f64 y))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z) (-.f64 (*.f64 a b) y))
(/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y)) (/.f64 (-.f64 (*.f64 a b) y) z))
(/.f64 (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)) (/.f64 (fma.f64 a b (neg.f64 y)) z))
(*.f64 z (/.f64 (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)) (-.f64 (*.f64 a b) y)))
(*.f64 (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)) (/.f64 z (fma.f64 a b (neg.f64 y))))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 (neg.f64 (*.f64 y y)) z)
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 (*.f64 y z) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 z)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z))
(*.f64 (*.f64 a a) (*.f64 z (*.f64 b b)))
(*.f64 a (*.f64 a (*.f64 z (*.f64 b b))))
(*.f64 (*.f64 z a) (*.f64 a (*.f64 b b)))
(*.f64 b (*.f64 z (*.f64 b (*.f64 a a))))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z))
(*.f64 (*.f64 a a) (*.f64 z (*.f64 b b)))
(*.f64 a (*.f64 a (*.f64 z (*.f64 b b))))
(*.f64 (*.f64 z a) (*.f64 a (*.f64 b b)))
(*.f64 b (*.f64 z (*.f64 b (*.f64 a a))))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 (neg.f64 (*.f64 y y)) z)
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 (*.f64 y z) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 z)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z))
(*.f64 (*.f64 a a) (*.f64 z (*.f64 b b)))
(*.f64 a (*.f64 a (*.f64 z (*.f64 b b))))
(*.f64 (*.f64 z a) (*.f64 a (*.f64 b b)))
(*.f64 b (*.f64 z (*.f64 b (*.f64 a a))))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z))
(*.f64 (*.f64 a a) (*.f64 z (*.f64 b b)))
(*.f64 a (*.f64 a (*.f64 z (*.f64 b b))))
(*.f64 (*.f64 z a) (*.f64 a (*.f64 b b)))
(*.f64 b (*.f64 z (*.f64 b (*.f64 a a))))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z))
(*.f64 (*.f64 a a) (*.f64 z (*.f64 b b)))
(*.f64 a (*.f64 a (*.f64 z (*.f64 b b))))
(*.f64 (*.f64 z a) (*.f64 a (*.f64 b b)))
(*.f64 b (*.f64 z (*.f64 b (*.f64 a a))))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 (pow.f64 b 2) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 (neg.f64 (*.f64 y y)) z)
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 (*.f64 y z) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 z)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2))) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2))) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2))) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(*.f64 -1 (*.f64 (pow.f64 y 2) z))
(*.f64 (neg.f64 (*.f64 y y)) z)
(*.f64 (*.f64 y y) (neg.f64 z))
(*.f64 (*.f64 y z) (neg.f64 y))
(*.f64 y (*.f64 y (neg.f64 z)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2))) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2))) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(+.f64 (*.f64 (pow.f64 a 2) (*.f64 z (pow.f64 b 2))) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(*.f64 (-.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 y 2)) z)
(fma.f64 (*.f64 a a) (*.f64 z (*.f64 b b)) (*.f64 (neg.f64 (*.f64 y y)) z))
(*.f64 z (-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y)))
(*.f64 z (*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y)))
(*.f64 z (*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y)))
(*.f64 -1 (pow.f64 y 2))
(neg.f64 (*.f64 y y))
(*.f64 y (neg.f64 y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(*.f64 -1 (pow.f64 y 2))
(neg.f64 (*.f64 y y))
(*.f64 y (neg.f64 y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(*.f64 -1 (pow.f64 y 2))
(neg.f64 (*.f64 y y))
(*.f64 y (neg.f64 y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(*.f64 -1 (pow.f64 y 2))
(neg.f64 (*.f64 y y))
(*.f64 y (neg.f64 y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
(-.f64 (*.f64 (*.f64 a a) (*.f64 b b)) (*.f64 y y))
(-.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 y y))
(*.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))
(*.f64 (fma.f64 a b (neg.f64 y)) (fma.f64 a b y))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))
(*.f64 (pow.f64 a 2) (pow.f64 b 2))
(*.f64 (*.f64 a a) (*.f64 b b))
(*.f64 b (*.f64 b (*.f64 a a)))
(*.f64 a (*.f64 a (*.f64 b b)))

localize14.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
5.5b
(*.f64 a (*.f64 b z))
Compiler

Compiled 17 to 8 computations (52.9% saved)

series5.0ms (0%)

Counts
1 → 12
Calls

9 calls:

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

rewrite73.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
582×pow1_binary64
532×add-log-exp_binary64
532×log1p-expm1-u_binary64
532×expm1-log1p-u_binary64
519×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11197
214547
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 a (*.f64 b z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 a (*.f64 b z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a (*.f64 b z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a (*.f64 b z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a (*.f64 b z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 a (*.f64 b z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a (*.f64 b z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a) (*.f64 b z)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a (*.f64 b z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a (*.f64 b z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a (*.f64 b z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a (*.f64 b z))))))))

simplify18.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0684
11084
21784
31984
Stop Event
saturated
Counts
23 → 12
Calls
Call 1
Inputs
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
Outputs
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))

localize20.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
2.2b
(*.f64 z (+.f64 (*.f64 a b) y))
Compiler

Compiled 25 to 9 computations (64% saved)

localize41.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 30 to 10 computations (66.7% saved)

series14.0ms (0.1%)

Counts
2 → 42
Calls

21 calls:

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

rewrite103.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
544×log-prod_binary64
411×pow-prod-down_binary64
410×fma-def_binary64
390×exp-prod_binary64
263×pow2_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify69.0ms (0.4%)

Algorithm
egg-herbie
Rules
230×fma-neg_binary64
152×fma-def_binary64
64×associate-*l*_binary64
57×cancel-sign-sub-inv_binary64
55×unsub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022303
160303
2151303
3319303
4660303
5929303
61049303
71100303
Stop Event
saturated
Counts
153 → 120
Calls
Call 1
Inputs
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 a (+.f64 (*.f64 z b) t))
(*.f64 a (+.f64 (*.f64 z b) t))
(*.f64 a (+.f64 (*.f64 z b) t))
(*.f64 a (+.f64 (*.f64 z b) t))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 (*.f64 b z)) (*.f64 -1 t))))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 (*.f64 b z)) (*.f64 -1 t))))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 (*.f64 b z)) (*.f64 -1 t))))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 (*.f64 b z)) (*.f64 -1 t))))
(*.f64 a (*.f64 z b))
(*.f64 a t)
(*.f64 a t)
(*.f64 a t)
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 a t)
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t))
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t))
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
Outputs
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(*.f64 a (+.f64 (*.f64 z b) t))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(*.f64 a (+.f64 (*.f64 z b) t))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(*.f64 a (+.f64 (*.f64 z b) t))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(*.f64 a (+.f64 (*.f64 z b) t))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 (*.f64 b z)) (*.f64 -1 t))))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 (*.f64 b z)) (*.f64 -1 t))))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 (*.f64 b z)) (*.f64 -1 t))))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 (*.f64 b z)) (*.f64 -1 t))))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a t)
(*.f64 a t)
(*.f64 a t)
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a t)
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))

localize118.0ms (0.7%)

Local error

Found 1 expressions with local error:

NewErrorProgram
5.5b
(*.f64 a (*.f64 z b))
Compiler

Compiled 26 to 9 computations (65.4% saved)

eval503.0ms (3%)

Compiler

Compiled 14283 to 4873 computations (65.9% saved)

prune332.0ms (2%)

Pruning

19 alts after pruning (8 fresh and 11 done)

PrunedKeptTotal
New5304534
Fresh246
Picked011
Done21012
Total53419553
Error
0b
Counts
553 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
38.8b
x
32.4b
(+.f64 (*.f64 y z) (*.f64 a t))
24.6b
(+.f64 (*.f64 y z) x)
39.7b
(+.f64 (*.f64 a t) (+.f64 0 (*.f64 b (*.f64 a z))))
39.7b
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
26.1b
(fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (*.f64 z a)) (fma.f64 y z (*.f64 a t)))
28.5b
(+.f64 (*.f64 a t) (+.f64 (/.f64 (*.f64 b (*.f64 z (*.f64 b (*.f64 a a)))) (fma.f64 a b (neg.f64 y))) x))
7.7b
(+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x))
42.3b
(*.f64 z (+.f64 (*.f64 a b) y))
22.3b
(fma.f64 a t x)
56.0b
(*.f64 a (*.f64 b z))
39.7b
(*.f64 (+.f64 t (*.f64 b z)) a)
31.6b
(+.f64 (*.f64 a t) (+.f64 (/.f64 (*.f64 (*.f64 a (*.f64 a (*.f64 b b))) z) (fma.f64 a b (neg.f64 y))) x))
46.4b
(*.f64 a t)
42.1b
(fma.f64 y z (*.f64 a (*.f64 z b)))
56.4b
(*.f64 z (*.f64 a b))
26.4b
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (*.f64 a t))
22.3b
(+.f64 (*.f64 a t) x)
48.5b
(*.f64 z y)
Compiler

Compiled 273 to 184 computations (32.6% saved)

regimes421.0ms (2.5%)

Counts
33 → 2
Calls
Call 1
Inputs
x
x
(*.f64 a t)
(*.f64 z y)
(*.f64 z (*.f64 a b))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 a t) x)
(*.f64 z (+.f64 (*.f64 a b) y))
(+.f64 (*.f64 y z) (*.f64 a t))
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 z (+.f64 (*.f64 a b) y))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 a t) (+.f64 0 (*.f64 b (*.f64 a z))))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (*.f64 a t))
(+.f64 (*.f64 y z) (*.f64 a (+.f64 (*.f64 z b) t)))
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(+.f64 (+.f64 (*.f64 y z) (*.f64 a t)) (*.f64 (*.f64 a z) b))
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
(fma.f64 a t x)
(fma.f64 y z (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (+.f64 (/.f64 (*.f64 b (*.f64 z (*.f64 b (*.f64 a a)))) (fma.f64 a b (neg.f64 y))) x))
(+.f64 (*.f64 a t) (+.f64 (/.f64 (*.f64 (*.f64 a (*.f64 a (*.f64 b b))) z) (fma.f64 a b (neg.f64 y))) x))
(+.f64 (+.f64 (*.f64 y z) (*.f64 a t)) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 z b))) 2))
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 z b))) 2))
(+.f64 (*.f64 a t) (+.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (fma.f64 a b (neg.f64 y))) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (*.f64 z a)) (fma.f64 y z (*.f64 a t)))
(fma.f64 y z (*.f64 (cbrt.f64 (fma.f64 a (fma.f64 z b t) x)) (cbrt.f64 (pow.f64 (fma.f64 a (fma.f64 z b t) x) 2))))
Outputs
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
Calls

7 calls:

134.0ms
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
72.0ms
z
53.0ms
t
33.0ms
b
18.0ms
y
Results
ErrorSegmentsBranch
1.3b1x
1.3b1y
0.3b2z
1.3b1t
1.3b1a
0.3b2b
1.3b1(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
Compiler

Compiled 402 to 142 computations (64.7% saved)

bsearch25.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
1.590135594514713e-79
3.6944028476627727e-79
Compiler

Compiled 30 to 21 computations (30% saved)

regimes249.0ms (1.5%)

Counts
30 → 3
Calls
Call 1
Inputs
x
x
(*.f64 a t)
(*.f64 z y)
(*.f64 z (*.f64 a b))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 a t) x)
(*.f64 z (+.f64 (*.f64 a b) y))
(+.f64 (*.f64 y z) (*.f64 a t))
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 z (+.f64 (*.f64 a b) y))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 a t) (+.f64 0 (*.f64 b (*.f64 a z))))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (*.f64 a t))
(+.f64 (*.f64 y z) (*.f64 a (+.f64 (*.f64 z b) t)))
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(+.f64 (+.f64 (*.f64 y z) (*.f64 a t)) (*.f64 (*.f64 a z) b))
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
(fma.f64 a t x)
(fma.f64 y z (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (+.f64 (/.f64 (*.f64 b (*.f64 z (*.f64 b (*.f64 a a)))) (fma.f64 a b (neg.f64 y))) x))
(+.f64 (*.f64 a t) (+.f64 (/.f64 (*.f64 (*.f64 a (*.f64 a (*.f64 b b))) z) (fma.f64 a b (neg.f64 y))) x))
(+.f64 (+.f64 (*.f64 y z) (*.f64 a t)) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 z b))) 2))
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 z b))) 2))
(+.f64 (*.f64 a t) (+.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (fma.f64 a b (neg.f64 y))) x))
Outputs
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
Calls

7 calls:

71.0ms
y
65.0ms
a
30.0ms
z
20.0ms
t
18.0ms
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
Results
ErrorSegmentsBranch
1.9b1x
0.4b3y
0.6b2z
1.9b1t
1.9b1a
1.9b1b
1.9b1(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
Compiler

Compiled 353 to 126 computations (64.3% saved)

bsearch60.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
32.0ms
3.481267235167165e+83
7.755877820403567e+84
27.0ms
-2.8082781696137605e-252
-4.693682608371106e-253
Compiler

Compiled 30 to 21 computations (30% saved)

regimes100.0ms (0.6%)

Counts
22 → 2
Calls
Call 1
Inputs
x
x
(*.f64 a t)
(*.f64 z y)
(*.f64 z (*.f64 a b))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 a t) x)
(*.f64 z (+.f64 (*.f64 a b) y))
(+.f64 (*.f64 y z) (*.f64 a t))
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 z (+.f64 (*.f64 a b) y))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 a t) (+.f64 0 (*.f64 b (*.f64 a z))))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (*.f64 a t))
(+.f64 (*.f64 y z) (*.f64 a (+.f64 (*.f64 z b) t)))
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(+.f64 (+.f64 (*.f64 y z) (*.f64 a t)) (*.f64 (*.f64 a z) b))
Outputs
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
Calls

6 calls:

23.0ms
a
17.0ms
b
14.0ms
z
12.0ms
x
12.0ms
t
Results
ErrorSegmentsBranch
2.3b1x
2.3b1y
2.3b1z
2.3b1t
1.0b2a
2.3b1b
Compiler

Compiled 206 to 76 computations (63.1% saved)

bsearch9.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
8.0ms
4.295877483085527e+117
8.847742959825825e+117
Compiler

Compiled 68 to 46 computations (32.4% saved)

regimes202.0ms (1.2%)

Counts
20 → 4
Calls
Call 1
Inputs
x
x
(*.f64 a t)
(*.f64 z y)
(*.f64 z (*.f64 a b))
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 a t) x)
(*.f64 z (+.f64 (*.f64 a b) y))
(+.f64 (*.f64 y z) (*.f64 a t))
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 z (+.f64 (*.f64 a b) y))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 a t) (+.f64 0 (*.f64 b (*.f64 a z))))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (*.f64 a t))
(+.f64 (*.f64 y z) (*.f64 a (+.f64 (*.f64 z b) t)))
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
Outputs
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x))
Calls

6 calls:

42.0ms
b
38.0ms
y
30.0ms
a
30.0ms
x
29.0ms
t
Results
ErrorSegmentsBranch
4.1b3x
5.5b3y
7.7b1z
6.5b3t
5.1b3a
3.7b4b
Compiler

Compiled 180 to 72 computations (60% saved)

bsearch430.0ms (2.6%)

Algorithm
binary-search
Steps
TimeLeftRight
254.0ms
1.972856585897298e+142
5.244985601711085e+154
31.0ms
1.050488971173852e+42
5.625625771604202e+46
145.0ms
-3.3373997971228034e+98
-6.649620877917966e+97
Compiler

Compiled 574 to 389 computations (32.2% saved)

regimes277.0ms (1.7%)

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

6 calls:

62.0ms
b
55.0ms
t
52.0ms
y
47.0ms
a
30.0ms
x
Results
ErrorSegmentsBranch
4.1b3x
6.6b3y
7.7b1z
6.7b3t
6.4b2a
5.9b3b
Compiler

Compiled 169 to 70 computations (58.6% saved)

bsearch52.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
26.0ms
3.43739127080597e-155
1.2574903059378074e-152
26.0ms
-4.5779433922819695e-70
-5.882330793246577e-79
Compiler

Compiled 30 to 21 computations (30% saved)

regimes185.0ms (1.1%)

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

6 calls:

63.0ms
y
52.0ms
x
27.0ms
b
17.0ms
a
10.0ms
t
Results
ErrorSegmentsBranch
4.3b3x
6.6b3y
7.7b1z
7.7b1t
6.7b2a
5.9b3b
Compiler

Compiled 158 to 67 computations (57.6% saved)

bsearch87.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
37.0ms
9.333394028759037e-122
1.1936784699036839e-111
50.0ms
-4.5779433922819695e-70
-5.882330793246577e-79
Compiler

Compiled 30 to 21 computations (30% saved)

regimes138.0ms (0.8%)

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

6 calls:

40.0ms
b
27.0ms
y
26.0ms
x
19.0ms
a
10.0ms
t
Results
ErrorSegmentsBranch
6.4b3x
6.6b3y
7.7b1z
7.7b1t
6.7b2a
5.9b3b
Compiler

Compiled 147 to 66 computations (55.1% saved)

bsearch192.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
86.0ms
-7.961347946829668e+146
-8.080559429902325e+145
106.0ms
-1.933729311013345e+226
-7.2523434061927e+213
Compiler

Compiled 574 to 405 computations (29.4% saved)

regimes122.0ms (0.7%)

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

6 calls:

35.0ms
b
33.0ms
x
19.0ms
a
13.0ms
z
9.0ms
y
Results
ErrorSegmentsBranch
6.7b3x
7.7b1y
7.7b1z
7.7b1t
6.7b2a
6.2b3b
Compiler

Compiled 136 to 61 computations (55.1% saved)

bsearch336.0ms (2%)

Algorithm
binary-search
Steps
TimeLeftRight
139.0ms
-7.961347946829668e+146
-8.080559429902325e+145
197.0ms
-1.933729311013345e+226
-7.2523434061927e+213
Compiler

Compiled 542 to 373 computations (31.2% saved)

regimes298.0ms (1.8%)

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

6 calls:

68.0ms
b
58.0ms
a
49.0ms
t
44.0ms
x
38.0ms
y
Results
ErrorSegmentsBranch
13.6b5x
13.6b5y
13.7b5z
13.8b7t
12.0b8a
15.3b8b
Compiler

Compiled 118 to 59 computations (50% saved)

bsearch556.0ms (3.3%)

Algorithm
binary-search
Steps
TimeLeftRight
115.0ms
2.9626100963762623e+74
3.079560963708872e+78
163.0ms
1.873169869997492e+33
4.269221214622828e+38
27.0ms
9.384367446799105e-54
5.36037918215804e-51
28.0ms
-8.622372021997244e-97
-2.4798493586895647e-109
24.0ms
-3.1186309155163883e-26
-3.741198401780803e-36
150.0ms
-2.9630961919347462e+41
-1.4279357188567553e+40
48.0ms
-3.798940612939235e+215
-1.885537828040927e+203
Compiler

Compiled 914 to 667 computations (27% saved)

regimes1.2s (7.2%)

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

6 calls:

375.0ms
a
231.0ms
t
203.0ms
x
189.0ms
z
105.0ms
b
Results
ErrorSegmentsBranch
13.6b5x
13.6b5y
13.9b5z
15.1b6t
13.2b7a
17.0b6b
Compiler

Compiled 95 to 54 computations (43.2% saved)

bsearch2.0s (11.9%)

Algorithm
binary-search
Steps
TimeLeftRight
482.0ms
2.9626100963762623e+74
3.079560963708872e+78
732.0ms
1.873169869997492e+33
4.269221214622828e+38
69.0ms
9.384367446799105e-54
5.36037918215804e-51
202.0ms
-8.622372021997244e-97
-2.4798493586895647e-109
51.0ms
-3.1186309155163883e-26
-3.741198401780803e-36
456.0ms
-2.9630961919347462e+41
-1.4279357188567553e+40
Compiler

Compiled 654 to 477 computations (27.1% saved)

regimes277.0ms (1.7%)

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

6 calls:

91.0ms
x
43.0ms
b
40.0ms
t
37.0ms
a
32.0ms
y
Results
ErrorSegmentsBranch
17.8b3x
13.6b5y
13.9b5z
15.1b6t
14.6b5a
18.0b4b
Compiler

Compiled 88 to 53 computations (39.8% saved)

bsearch244.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
29.0ms
6.411945780274456e+61
5.346886728032169e+74
151.0ms
4.622660815538323e+30
2.7367139851693625e+40
25.0ms
0.00023807532134435702
0.1549310302214826
39.0ms
-15436893359104.363
-268245467028.69226
Compiler

Compiled 30 to 21 computations (30% saved)

regimes283.0ms (1.7%)

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

6 calls:

66.0ms
t
55.0ms
x
54.0ms
z
44.0ms
b
33.0ms
y
Results
ErrorSegmentsBranch
19.5b5x
15.0b3y
13.9b5z
15.1b6t
15.0b5a
18.0b4b
Compiler

Compiled 81 to 51 computations (37% saved)

bsearch364.0ms (2.2%)

Algorithm
binary-search
Steps
TimeLeftRight
65.0ms
2.2957545662386847e+95
6.022752885950594e+103
174.0ms
3.521202597522158e+50
4.0923369501999986e+50
61.0ms
3.6944028476627727e-79
3.069023656436487e-78
64.0ms
-3.689039332145516e-104
-1.4849413920889368e-109
Compiler

Compiled 294 to 219 computations (25.5% saved)

regimes276.0ms (1.6%)

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

6 calls:

76.0ms
z
63.0ms
t
49.0ms
a
48.0ms
x
20.0ms
y
Results
ErrorSegmentsBranch
21.6b5x
23.1b3y
20.7b7z
20.6b5t
18.5b8a
23.1b3b
Compiler

Compiled 76 to 50 computations (34.2% saved)

bsearch533.0ms (3.2%)

Algorithm
binary-search
Steps
TimeLeftRight
56.0ms
3.332492576972213e+211
4.943314352698837e+215
90.0ms
5.9882986396674355e+165
1.5714271871902124e+168
81.0ms
4.068541400936323e+149
9.042337137325656e+151
104.0ms
1.2060620363814461e+91
4.018692565429097e+99
31.0ms
-962044713.8640698
-267301.2902228268
122.0ms
-1.3622443619904056e+75
-8.841672738317061e+73
48.0ms
-1.885537828040927e+203
-3.01969071680362e+197
Compiler

Compiled 1098 to 837 computations (23.8% saved)

regimes209.0ms (1.3%)

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

6 calls:

43.0ms
z
42.0ms
a
36.0ms
y
36.0ms
x
32.0ms
b
Results
ErrorSegmentsBranch
27.9b6x
31.4b8y
29.9b9z
34.2b3t
29.1b10a
33.9b7b
Compiler

Compiled 71 to 48 computations (32.4% saved)

bsearch129.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
30.0ms
2.1836583727236428e-71
5.0003892337729615e-70
24.0ms
6.521891652524814e-221
2.913737784478393e-219
25.0ms
-3.2547396609877853e-302
1.9593729357396722e-303
25.0ms
-1.9343396106457694e-106
-9.986491145270923e-115
25.0ms
-2.2173588269797715e-44
-4.802883040532462e-50
Compiler

Compiled 30 to 21 computations (30% saved)

regimes105.0ms (0.6%)

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

6 calls:

22.0ms
a
22.0ms
z
21.0ms
y
13.0ms
t
13.0ms
b
Results
ErrorSegmentsBranch
30.3b3x
34.5b7y
34.0b7z
34.2b3t
30.4b7a
36.8b3b
Compiler

Compiled 53 to 43 computations (18.9% saved)

bsearch79.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
55.0ms
2.3349423261662076e-56
1.919334038841363e-40
24.0ms
-2.2173588269797715e-44
-4.802883040532462e-50
Compiler

Compiled 30 to 21 computations (30% saved)

regimes24.0ms (0.1%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0.0b (0%)

Counts
2 → 1
Calls
Call 1
Inputs
x
x
Outputs
x
Calls

6 calls:

5.0ms
t
4.0ms
b
4.0ms
a
3.0ms
y
3.0ms
z
Results
ErrorSegmentsBranch
38.8b1x
38.8b1y
38.8b1z
38.8b1t
38.8b1a
38.8b1b
Compiler

Compiled 50 to 42 computations (16% saved)

simplify72.0ms (0.4%)

Algorithm
egg-herbie
Rules
16×+-commutative_binary64
10×*-commutative_binary64
+-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0170915
1200915
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 z 1326761334078053/8343699359066055009355553539724812947666814540455674882605631280555545803830627148527195652096) (fma.f64 y z (fma.f64 a (fma.f64 z b t) x)) (+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)))
(if (<=.f64 y -5795304683260257/2063650512248692368563827284830142994214247367328599695812346519635444931862206482321942405811160890213571855442410658901884170154307365379884917884620857722298385484371113610034107490923540785363375909797699954703703235518560788042337487885808736236287260081631789056) (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) (if (<=.f64 y 348126723516716493449653661966528423141517951242094115617493760986794075747539484672) (+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)) (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))))
(if (<=.f64 a 4999999999999999832824999471636879591620757547431714247293876642114376026137470598410191039245133837347555577757171712) (+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(if (<=.f64 b -330000000000000028074313549873089538759584087786541438911064168268318054190418389438969860694474752) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)) (if (<=.f64 b 1050488971173852027849108173988363713380352) (+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x)) (if (<=.f64 b 20000000000000001016445696805993759409582178897019679576898416057743923428824704540156776745107920382581920574891563668662589154296936754315264) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)) (+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x)))))
(if (<=.f64 x -889342821855651/1942668892225729070919461906823518906642406839052139521251812409738904285205208498176) (+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x)) (if (<=.f64 x 8302454717076031/241533595188578646543459493183249209018682958106652187416077203215719946393097526533512110411370161122653976001968886073585317416315186728483931792091692546793561300926464) (+.f64 (*.f64 y z) (*.f64 a (+.f64 (*.f64 z b) t))) (+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x))))
(if (<=.f64 x -889342821855651/1942668892225729070919461906823518906642406839052139521251812409738904285205208498176) (+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x)) (if (<=.f64 x 2170839106947665/23258839177459420497578361852416145099316523541994177929007686373780457219628733546438113622840434097944400691400517693873107252115668992) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (*.f64 a t)) (+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x))))
(if (<=.f64 b -7399999999999999854252866866652107154641301101357664964784657681753002694334975769535596865476755217778275429216480405395313231084769041642271126911508779488274259492871083941087367814659282343754477068292584374272) (+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x)) (if (<=.f64 b -779999999999999997033247110311547017046043256597473404596915357000206737471559296839863414514946390861088208617313560284336977321636581952731480064) (+.f64 (*.f64 a t) (+.f64 0 (*.f64 b (*.f64 a z)))) (+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x))))
(if (<=.f64 b -7399999999999999854252866866652107154641301101357664964784657681753002694334975769535596865476755217778275429216480405395313231084769041642271126911508779488274259492871083941087367814659282343754477068292584374272) (+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x)) (if (<=.f64 b -779999999999999997033247110311547017046043256597473404596915357000206737471559296839863414514946390861088208617313560284336977321636581952731480064) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) (+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x))))
(if (<=.f64 a -369999999999999971184347544545455976613581845783334204928643995612653234765215607057403233484310314341205627281165872245462288738752470501156319756931068239362691292692872106082012336254012805846274352873342614110208) (*.f64 (+.f64 t (*.f64 b z)) a) (if (<=.f64 a -295000000000000004730447469945406061805568) (+.f64 (*.f64 a t) x) (if (<=.f64 a -5433421360561817/174224571863520493293247799005065324265472) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 a -4147201609354905/4809815209520810450717656262224562232065397860164239095208531909697964083434718092213655548692006303809402830848) (+.f64 (*.f64 a t) x) (if (<=.f64 a 506004091741297/53919893334301279589334030174039261347274288845081144962207220498432) (+.f64 (*.f64 y z) x) (if (<=.f64 a 420000000000000001878680817402491437056) (+.f64 (*.f64 a t) x) (if (<=.f64 a 2999999999999999819792794635918353659075461954127468724843014103910907799142400) (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))))))))
(if (<=.f64 a -295000000000000004730447469945406061805568) (+.f64 (*.f64 a t) x) (if (<=.f64 a -5433421360561817/174224571863520493293247799005065324265472) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 a -4147201609354905/4809815209520810450717656262224562232065397860164239095208531909697964083434718092213655548692006303809402830848) (+.f64 (*.f64 a t) x) (if (<=.f64 a 506004091741297/53919893334301279589334030174039261347274288845081144962207220498432) (+.f64 (*.f64 y z) x) (if (<=.f64 a 420000000000000001878680817402491437056) (+.f64 (*.f64 a t) x) (if (<=.f64 a 2999999999999999819792794635918353659075461954127468724843014103910907799142400) (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x)))))))
(if (<=.f64 y -3951844699930717/256) (+.f64 (*.f64 y z) x) (if (<=.f64 y 4391714523105515/18446744073709551616) (+.f64 (*.f64 a t) x) (if (<=.f64 y 4622660815538323187401469460480) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 y 64119457802744556157092052070998566130976921819229362765955072) (+.f64 (*.f64 a t) x) (+.f64 (*.f64 y z) x)))))
(if (<=.f64 z -2976881676778303/80695308690215893426747474125094121072803306025913234775958104891895238188026287332176417290004307232371974124148359168) (+.f64 (*.f64 y z) x) (if (<=.f64 z 6164997334435137/16687398718132110018711107079449625895333629080911349765211262561111091607661254297054391304192) (+.f64 (*.f64 a t) x) (if (<=.f64 z 359999999999999985928796559652172183617903261646848) (+.f64 (*.f64 y z) x) (if (<=.f64 z 60000000000000000114940505144080124172957307635911520669168210875962759452239325357674168706490819411968) (+.f64 (*.f64 a t) x) (+.f64 (*.f64 y z) x)))))
(if (<=.f64 a -185000000000000001403150906610674336126314021146925753612602903371330545067246557772383759254182534228969327834334584713773871055255184582912164313550686018436505043532249114378157829310233388095847268352) (*.f64 a (*.f64 b z)) (if (<=.f64 a -89999999999999996903757277699849130863834366364245302870957226680091934720) (+.f64 (*.f64 y z) x) (if (<=.f64 a -8070215983077847/8388608) (*.f64 a t) (if (<=.f64 a 3999999999999999869344675216466765095398132743226221891671847117885183383686911450434959473821876224) (+.f64 (*.f64 y z) x) (if (<=.f64 a 420000000000000031927080228682076308253519839732983282548564058067215362607505959785206119055698666764842654568790028126976841923747316002661106450432) (*.f64 a t) (if (<=.f64 a 1549999999999999981282566555992842444014179074253552150594160253279394613156644677080848458483229823126631923172679131349785153926377277665544928258041841522326603038720) (+.f64 (*.f64 y z) x) (if (<=.f64 a 480000000000000016405946678181817618581517680189625166857610094041632487021768015584743351982308982952234255083901609508288633386262474269837690620859873666567965999478343091640929629394057126611641155830734127104000) (*.f64 a (*.f64 b z)) (*.f64 a t))))))))
(if (<=.f64 x -8907895642118207/401734511064747568885490523085290650630550748445698208825344) x (if (<=.f64 x -3995958579014973/20657999024695268717247353376024094994637646342633788102645274852325180976134729557037162826241102651487225375781979947008) (*.f64 a t) (if (<=.f64 x -6282488263250351/193025830561934107162947985381047541665608072055952185017491682078771915023799273387871154500424503798663213600460826789274033295999330021731389427128542432710187362934652673115221889249890533772697227171395058697282798274445240687006095271729621464100656563293799180557568945517759802372156455525060659659679134121984) (*.f64 z y) (if (<=.f64 x 3317876256463173/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (*.f64 a t) (if (<=.f64 x 5429920245681251/248661618204893321077691124073410420050228075398673858720231988446579748506266687766528) (*.f64 z y) x)))))
(if (<=.f64 x -8907895642118207/401734511064747568885490523085290650630550748445698208825344) x (if (<=.f64 x 5156857494266971/220855883097298041197912187592864814478435487109452369765200775161577472) (*.f64 a t) x))
x
Outputs
(if (<=.f64 z 1326761334078053/8343699359066055009355553539724812947666814540455674882605631280555545803830627148527195652096) (fma.f64 y z (fma.f64 a (fma.f64 z b t) x)) (+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)))
(if (<=.f64 z 1326761334078053/8343699359066055009355553539724812947666814540455674882605631280555545803830627148527195652096) (fma.f64 y z (fma.f64 a (fma.f64 z b t) x)) (+.f64 (*.f64 a t) (+.f64 x (*.f64 z (+.f64 y (*.f64 a b))))))
(if (<=.f64 y -5795304683260257/2063650512248692368563827284830142994214247367328599695812346519635444931862206482321942405811160890213571855442410658901884170154307365379884917884620857722298385484371113610034107490923540785363375909797699954703703235518560788042337487885808736236287260081631789056) (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) (if (<=.f64 y 348126723516716493449653661966528423141517951242094115617493760986794075747539484672) (+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)) (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))))
(if (<=.f64 y -5795304683260257/2063650512248692368563827284830142994214247367328599695812346519635444931862206482321942405811160890213571855442410658901884170154307365379884917884620857722298385484371113610034107490923540785363375909797699954703703235518560788042337487885808736236287260081631789056) (+.f64 (+.f64 (*.f64 a t) (+.f64 x (*.f64 z y))) (*.f64 b (*.f64 z a))) (if (<=.f64 y 348126723516716493449653661966528423141517951242094115617493760986794075747539484672) (+.f64 (*.f64 a t) (+.f64 x (*.f64 z (+.f64 y (*.f64 a b))))) (+.f64 (+.f64 (*.f64 a t) (+.f64 x (*.f64 z y))) (*.f64 b (*.f64 z a)))))
(if (<=.f64 a 4999999999999999832824999471636879591620757547431714247293876642114376026137470598410191039245133837347555577757171712) (+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(if (<=.f64 a 4999999999999999832824999471636879591620757547431714247293876642114376026137470598410191039245133837347555577757171712) (+.f64 (*.f64 a t) (+.f64 x (*.f64 z (+.f64 y (*.f64 a b))))) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))))
(if (<=.f64 b -330000000000000028074313549873089538759584087786541438911064168268318054190418389438969860694474752) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)) (if (<=.f64 b 1050488971173852027849108173988363713380352) (+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x)) (if (<=.f64 b 20000000000000001016445696805993759409582178897019679576898416057743923428824704540156776745107920382581920574891563668662589154296936754315264) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)) (+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x)))))
(if (<=.f64 b -330000000000000028074313549873089538759584087786541438911064168268318054190418389438969860694474752) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))) (if (<=.f64 b 1050488971173852027849108173988363713380352) (+.f64 (*.f64 a t) (+.f64 x (*.f64 z y))) (if (<=.f64 b 20000000000000001016445696805993759409582178897019679576898416057743923428824704540156776745107920382581920574891563668662589154296936754315264) (+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b)))) (+.f64 (*.f64 a t) (+.f64 x (*.f64 z y))))))
(if (<=.f64 x -889342821855651/1942668892225729070919461906823518906642406839052139521251812409738904285205208498176) (+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x)) (if (<=.f64 x 8302454717076031/241533595188578646543459493183249209018682958106652187416077203215719946393097526533512110411370161122653976001968886073585317416315186728483931792091692546793561300926464) (+.f64 (*.f64 y z) (*.f64 a (+.f64 (*.f64 z b) t))) (+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x))))
(if (<=.f64 x -889342821855651/1942668892225729070919461906823518906642406839052139521251812409738904285205208498176) (+.f64 (*.f64 a t) (+.f64 x (*.f64 z y))) (if (<=.f64 x 8302454717076031/241533595188578646543459493183249209018682958106652187416077203215719946393097526533512110411370161122653976001968886073585317416315186728483931792091692546793561300926464) (+.f64 (*.f64 z y) (*.f64 a (+.f64 t (*.f64 z b)))) (+.f64 (*.f64 a t) (+.f64 x (*.f64 z y)))))
(if (<=.f64 x -889342821855651/1942668892225729070919461906823518906642406839052139521251812409738904285205208498176) (+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x)) (if (<=.f64 x 2170839106947665/23258839177459420497578361852416145099316523541994177929007686373780457219628733546438113622840434097944400691400517693873107252115668992) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (*.f64 a t)) (+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x))))
(if (<=.f64 x -889342821855651/1942668892225729070919461906823518906642406839052139521251812409738904285205208498176) (+.f64 (*.f64 a t) (+.f64 x (*.f64 z y))) (if (<=.f64 x 2170839106947665/23258839177459420497578361852416145099316523541994177929007686373780457219628733546438113622840434097944400691400517693873107252115668992) (+.f64 (*.f64 a t) (*.f64 z (+.f64 y (*.f64 a b)))) (+.f64 (*.f64 a t) (+.f64 x (*.f64 z y)))))
(if (<=.f64 b -7399999999999999854252866866652107154641301101357664964784657681753002694334975769535596865476755217778275429216480405395313231084769041642271126911508779488274259492871083941087367814659282343754477068292584374272) (+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x)) (if (<=.f64 b -779999999999999997033247110311547017046043256597473404596915357000206737471559296839863414514946390861088208617313560284336977321636581952731480064) (+.f64 (*.f64 a t) (+.f64 0 (*.f64 b (*.f64 a z)))) (+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x))))
(if (<=.f64 b -7399999999999999854252866866652107154641301101357664964784657681753002694334975769535596865476755217778275429216480405395313231084769041642271126911508779488274259492871083941087367814659282343754477068292584374272) (+.f64 (*.f64 a t) (+.f64 x (*.f64 z y))) (if (<=.f64 b -779999999999999997033247110311547017046043256597473404596915357000206737471559296839863414514946390861088208617313560284336977321636581952731480064) (+.f64 (*.f64 a t) (*.f64 b (*.f64 z a))) (+.f64 (*.f64 a t) (+.f64 x (*.f64 z y)))))
(if (<=.f64 b -7399999999999999854252866866652107154641301101357664964784657681753002694334975769535596865476755217778275429216480405395313231084769041642271126911508779488274259492871083941087367814659282343754477068292584374272) (+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x)) (if (<=.f64 b -779999999999999997033247110311547017046043256597473404596915357000206737471559296839863414514946390861088208617313560284336977321636581952731480064) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) (+.f64 (*.f64 a t) (+.f64 (*.f64 y z) x))))
(if (<=.f64 b -7399999999999999854252866866652107154641301101357664964784657681753002694334975769535596865476755217778275429216480405395313231084769041642271126911508779488274259492871083941087367814659282343754477068292584374272) (+.f64 (*.f64 a t) (+.f64 x (*.f64 z y))) (if (<=.f64 b -779999999999999997033247110311547017046043256597473404596915357000206737471559296839863414514946390861088208617313560284336977321636581952731480064) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))) (+.f64 (*.f64 a t) (+.f64 x (*.f64 z y)))))
(if (<=.f64 a -369999999999999971184347544545455976613581845783334204928643995612653234765215607057403233484310314341205627281165872245462288738752470501156319756931068239362691292692872106082012336254012805846274352873342614110208) (*.f64 (+.f64 t (*.f64 b z)) a) (if (<=.f64 a -295000000000000004730447469945406061805568) (+.f64 (*.f64 a t) x) (if (<=.f64 a -5433421360561817/174224571863520493293247799005065324265472) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 a -4147201609354905/4809815209520810450717656262224562232065397860164239095208531909697964083434718092213655548692006303809402830848) (+.f64 (*.f64 a t) x) (if (<=.f64 a 506004091741297/53919893334301279589334030174039261347274288845081144962207220498432) (+.f64 (*.f64 y z) x) (if (<=.f64 a 420000000000000001878680817402491437056) (+.f64 (*.f64 a t) x) (if (<=.f64 a 2999999999999999819792794635918353659075461954127468724843014103910907799142400) (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))))))))
(if (<=.f64 a -369999999999999971184347544545455976613581845783334204928643995612653234765215607057403233484310314341205627281165872245462288738752470501156319756931068239362691292692872106082012336254012805846274352873342614110208) (*.f64 a (+.f64 t (*.f64 z b))) (if (<=.f64 a -295000000000000004730447469945406061805568) (+.f64 x (*.f64 a t)) (if (<=.f64 a -5433421360561817/174224571863520493293247799005065324265472) (+.f64 (*.f64 a t) (*.f64 z y)) (if (<=.f64 a -4147201609354905/4809815209520810450717656262224562232065397860164239095208531909697964083434718092213655548692006303809402830848) (+.f64 x (*.f64 a t)) (if (<=.f64 a 506004091741297/53919893334301279589334030174039261347274288845081144962207220498432) (+.f64 x (*.f64 z y)) (if (<=.f64 a 420000000000000001878680817402491437056) (+.f64 x (*.f64 a t)) (if (<=.f64 a 2999999999999999819792794635918353659075461954127468724843014103910907799142400) (*.f64 z (+.f64 y (*.f64 a b))) (+.f64 x (*.f64 a t)))))))))
(if (<=.f64 a -295000000000000004730447469945406061805568) (+.f64 (*.f64 a t) x) (if (<=.f64 a -5433421360561817/174224571863520493293247799005065324265472) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 a -4147201609354905/4809815209520810450717656262224562232065397860164239095208531909697964083434718092213655548692006303809402830848) (+.f64 (*.f64 a t) x) (if (<=.f64 a 506004091741297/53919893334301279589334030174039261347274288845081144962207220498432) (+.f64 (*.f64 y z) x) (if (<=.f64 a 420000000000000001878680817402491437056) (+.f64 (*.f64 a t) x) (if (<=.f64 a 2999999999999999819792794635918353659075461954127468724843014103910907799142400) (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x)))))))
(if (<=.f64 a -295000000000000004730447469945406061805568) (+.f64 x (*.f64 a t)) (if (<=.f64 a -5433421360561817/174224571863520493293247799005065324265472) (+.f64 (*.f64 a t) (*.f64 z y)) (if (<=.f64 a -4147201609354905/4809815209520810450717656262224562232065397860164239095208531909697964083434718092213655548692006303809402830848) (+.f64 x (*.f64 a t)) (if (<=.f64 a 506004091741297/53919893334301279589334030174039261347274288845081144962207220498432) (+.f64 x (*.f64 z y)) (if (<=.f64 a 420000000000000001878680817402491437056) (+.f64 x (*.f64 a t)) (if (<=.f64 a 2999999999999999819792794635918353659075461954127468724843014103910907799142400) (*.f64 z (+.f64 y (*.f64 a b))) (+.f64 x (*.f64 a t))))))))
(if (<=.f64 y -3951844699930717/256) (+.f64 (*.f64 y z) x) (if (<=.f64 y 4391714523105515/18446744073709551616) (+.f64 (*.f64 a t) x) (if (<=.f64 y 4622660815538323187401469460480) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 y 64119457802744556157092052070998566130976921819229362765955072) (+.f64 (*.f64 a t) x) (+.f64 (*.f64 y z) x)))))
(if (<=.f64 y -3951844699930717/256) (+.f64 x (*.f64 z y)) (if (<=.f64 y 4391714523105515/18446744073709551616) (+.f64 x (*.f64 a t)) (if (<=.f64 y 4622660815538323187401469460480) (*.f64 z (+.f64 y (*.f64 a b))) (if (<=.f64 y 64119457802744556157092052070998566130976921819229362765955072) (+.f64 x (*.f64 a t)) (+.f64 x (*.f64 z y))))))
(if (<=.f64 z -2976881676778303/80695308690215893426747474125094121072803306025913234775958104891895238188026287332176417290004307232371974124148359168) (+.f64 (*.f64 y z) x) (if (<=.f64 z 6164997334435137/16687398718132110018711107079449625895333629080911349765211262561111091607661254297054391304192) (+.f64 (*.f64 a t) x) (if (<=.f64 z 359999999999999985928796559652172183617903261646848) (+.f64 (*.f64 y z) x) (if (<=.f64 z 60000000000000000114940505144080124172957307635911520669168210875962759452239325357674168706490819411968) (+.f64 (*.f64 a t) x) (+.f64 (*.f64 y z) x)))))
(if (<=.f64 z -2976881676778303/80695308690215893426747474125094121072803306025913234775958104891895238188026287332176417290004307232371974124148359168) (+.f64 x (*.f64 z y)) (if (<=.f64 z 6164997334435137/16687398718132110018711107079449625895333629080911349765211262561111091607661254297054391304192) (+.f64 x (*.f64 a t)) (if (<=.f64 z 359999999999999985928796559652172183617903261646848) (+.f64 x (*.f64 z y)) (if (<=.f64 z 60000000000000000114940505144080124172957307635911520669168210875962759452239325357674168706490819411968) (+.f64 x (*.f64 a t)) (+.f64 x (*.f64 z y))))))
(if (<=.f64 a -185000000000000001403150906610674336126314021146925753612602903371330545067246557772383759254182534228969327834334584713773871055255184582912164313550686018436505043532249114378157829310233388095847268352) (*.f64 a (*.f64 b z)) (if (<=.f64 a -89999999999999996903757277699849130863834366364245302870957226680091934720) (+.f64 (*.f64 y z) x) (if (<=.f64 a -8070215983077847/8388608) (*.f64 a t) (if (<=.f64 a 3999999999999999869344675216466765095398132743226221891671847117885183383686911450434959473821876224) (+.f64 (*.f64 y z) x) (if (<=.f64 a 420000000000000031927080228682076308253519839732983282548564058067215362607505959785206119055698666764842654568790028126976841923747316002661106450432) (*.f64 a t) (if (<=.f64 a 1549999999999999981282566555992842444014179074253552150594160253279394613156644677080848458483229823126631923172679131349785153926377277665544928258041841522326603038720) (+.f64 (*.f64 y z) x) (if (<=.f64 a 480000000000000016405946678181817618581517680189625166857610094041632487021768015584743351982308982952234255083901609508288633386262474269837690620859873666567965999478343091640929629394057126611641155830734127104000) (*.f64 a (*.f64 b z)) (*.f64 a t))))))))
(if (<=.f64 a -185000000000000001403150906610674336126314021146925753612602903371330545067246557772383759254182534228969327834334584713773871055255184582912164313550686018436505043532249114378157829310233388095847268352) (*.f64 a (*.f64 z b)) (if (<=.f64 a -89999999999999996903757277699849130863834366364245302870957226680091934720) (+.f64 x (*.f64 z y)) (if (<=.f64 a -8070215983077847/8388608) (*.f64 a t) (if (<=.f64 a 3999999999999999869344675216466765095398132743226221891671847117885183383686911450434959473821876224) (+.f64 x (*.f64 z y)) (if (<=.f64 a 420000000000000031927080228682076308253519839732983282548564058067215362607505959785206119055698666764842654568790028126976841923747316002661106450432) (*.f64 a t) (if (<=.f64 a 1549999999999999981282566555992842444014179074253552150594160253279394613156644677080848458483229823126631923172679131349785153926377277665544928258041841522326603038720) (+.f64 x (*.f64 z y)) (if (<=.f64 a 480000000000000016405946678181817618581517680189625166857610094041632487021768015584743351982308982952234255083901609508288633386262474269837690620859873666567965999478343091640929629394057126611641155830734127104000) (*.f64 a (*.f64 z b)) (*.f64 a t))))))))
(if (<=.f64 x -8907895642118207/401734511064747568885490523085290650630550748445698208825344) x (if (<=.f64 x -3995958579014973/20657999024695268717247353376024094994637646342633788102645274852325180976134729557037162826241102651487225375781979947008) (*.f64 a t) (if (<=.f64 x -6282488263250351/193025830561934107162947985381047541665608072055952185017491682078771915023799273387871154500424503798663213600460826789274033295999330021731389427128542432710187362934652673115221889249890533772697227171395058697282798274445240687006095271729621464100656563293799180557568945517759802372156455525060659659679134121984) (*.f64 z y) (if (<=.f64 x 3317876256463173/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (*.f64 a t) (if (<=.f64 x 5429920245681251/248661618204893321077691124073410420050228075398673858720231988446579748506266687766528) (*.f64 z y) x)))))
(if (<=.f64 x -8907895642118207/401734511064747568885490523085290650630550748445698208825344) x (if (<=.f64 x 5156857494266971/220855883097298041197912187592864814478435487109452369765200775161577472) (*.f64 a t) x))
x
Compiler

Compiled 729 to 353 computations (51.6% saved)

soundness38.0ms (0.2%)

Algorithm
egg-herbie
Rules
89×fma-def_binary64
89×fma-def_binary64
23×associate-+l+_binary64
23×associate-+l+_binary64
21×associate-+r+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01422
12716
26915
314813
419113
520313
620613
01422
12716
26915
314813
419113
520313
620613
Stop Event
saturated
saturated
Compiler

Compiled 464 to 280 computations (39.7% saved)

end236.0ms (1.4%)

Compiler

Compiled 639 to 183 computations (71.4% saved)

Profiling

Loading profile data...