Details

Time bar (total: 13.6s)

analyze627.0ms (4.6%)

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

Compiled 22 to 14 computations (36.4% saved)

sample3.0s (22.1%)

Results
2.0s8256×body256valid
985.0ms3946×body256invalid

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)

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

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 37 to 22 computations (40.5% saved)

localize15.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.6b
(*.f64 (*.f64 a z) b)
Compiler

Compiled 55 to 13 computations (76.4% saved)

series25.0ms (0.2%)

Counts
4 → 204
Calls

51 calls:

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

rewrite109.0ms (0.8%)

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

simplify197.0ms (1.4%)

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)

localize11.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))
3.1b
(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
x
@inf
(fma.f64 y z (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)
1.0ms
z
@-inf
(fma.f64 a (fma.f64 z b t) x)
1.0ms
b
@inf
(fma.f64 a (fma.f64 z b t) x)

rewrite68.0ms (0.5%)

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

simplify140.0ms (1%)

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

eval62.0ms (0.5%)

Compiler

Compiled 5176 to 1160 computations (77.6% saved)

prune63.0ms (0.5%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New27813291
Fresh000
Picked101
Done101
Total28013293
Error
0.0b
Counts
293 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
50.6b
(*.f64 a t)
38.3b
x
17.6b
(+.f64 x (*.f64 a (+.f64 (*.f64 z b) t)))
38.3b
(*.f64 z (+.f64 (*.f64 a b) y))
29.7b
(fma.f64 y z (pow.f64 (sqrt.f64 (fma.f64 a (fma.f64 z b t) x)) 2))
26.1b
(+.f64 (*.f64 a t) x)
47.9b
(*.f64 z y)
42.3b
(*.f64 (+.f64 t (*.f64 b z)) a)
23.6b
(fma.f64 z y x)
23.6b
(+.f64 (*.f64 y z) x)
11.2b
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
27.4b
(+.f64 (fma.f64 a t (*.f64 z y)) (*.f64 (*.f64 a z) b))
27.4b
(+.f64 (+.f64 (*.f64 y z) (*.f64 a t)) (*.f64 (*.f64 a z) b))
Compiler

Compiled 331 to 226 computations (31.7% saved)

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 31 to 10 computations (67.7% saved)

series5.0ms (0%)

Counts
1 → 15
Calls

15 calls:

TimeVariablePointExpression
1.0ms
a
@0
(+.f64 (*.f64 y z) (+.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
t
@-inf
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))

rewrite68.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
0109
12209
231639
Stop Event
node limit
Counts
1 → 93
Calls
Call 1
Inputs
(+.f64 (*.f64 y z) (+.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))))))

simplify13.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01162
11962
22462
Stop Event
saturated
Counts
108 → 102
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
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

localize5.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

localize7.0ms (0%)

Compiler

Compiled 17 to 8 computations (52.9% saved)

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 25 to 9 computations (64% saved)

series7.0ms (0%)

Counts
1 → 36
Calls

12 calls:

TimeVariablePointExpression
1.0ms
b
@0
(*.f64 z (+.f64 (*.f64 a b) y))
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))
0.0ms
y
@0
(*.f64 z (+.f64 (*.f64 a b) y))

rewrite58.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
973×pow1_binary64
901×add-log-exp_binary64
901×log1p-expm1-u_binary64
901×expm1-log1p-u_binary64
93×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
088
11748
224788
Stop Event
node limit
Counts
1 → 25
Calls
Call 1
Inputs
(*.f64 z (+.f64 (*.f64 a b) y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 z a) b) (*.f64 z y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z y) (*.f64 (*.f64 z a) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (*.f64 z a) b) 1) (*.f64 (*.f64 z y) 1))))) (#(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 (*.f64 z a) b) 3) (pow.f64 (*.f64 z y) 3)) (+.f64 (*.f64 (*.f64 (*.f64 z a) b) (*.f64 (*.f64 z a) b)) (-.f64 (*.f64 (*.f64 z y) (*.f64 z y)) (*.f64 (*.f64 (*.f64 z a) b) (*.f64 z y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (*.f64 z a) b) (*.f64 (*.f64 z a) b)) (*.f64 (*.f64 z y) (*.f64 z y))) (-.f64 (*.f64 (*.f64 z a) b) (*.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) (-.f64 (*.f64 a b) 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))) (-.f64 (*.f64 a b) 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 (pow.f64 (*.f64 z (fma.f64 a b y)) 3) 1/3)))) (#(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 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 cbrt.f64 (pow.f64 (*.f64 z (fma.f64 a b y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (fma.f64 a b y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 a b y) 3) (pow.f64 z 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 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))))))

simplify14.0ms (0.1%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
012348
123321
238267
344267
Stop Event
saturated
Counts
61 → 32
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)))
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 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 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 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 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 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 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 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))

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 35 to 10 computations (71.4% saved)

series12.0ms (0.1%)

Counts
2 → 98
Calls

27 calls:

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

rewrite77.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
594×log-prod_binary64
537×fma-def_binary64
487×pow-prod-down_binary64
313×pow2_binary64
249×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify25.0ms (0.2%)

Algorithm
egg-herbie
Rules
32×fma-def_binary64
11×+-commutative_binary64
10×*-commutative_binary64
associate-+r+_binary64
distribute-lft-out_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
028763
168763
287763
393763
Stop Event
saturated
Counts
231 → 155
Calls
Call 1
Inputs
(*.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 (+.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 t)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (*.f64 z b))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (*.f64 z b))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.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)))
(*.f64 a (*.f64 z b))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a t)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a t)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (+.f64 (*.f64 z b) t))
x
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
x
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
x
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
(*.f64 a (+.f64 (*.f64 z b) t))
(*.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 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 t) (+.f64 (*.f64 a (*.f64 b z)) x))
(*.f64 a t)
(+.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 t)
(+.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))
Outputs
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(*.f64 a t)
(*.f64 t a)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 b z) a)
(*.f64 b (*.f64 z a))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 b z) a)
(*.f64 b (*.f64 z a))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(*.f64 a t)
(*.f64 t a)
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(*.f64 a (*.f64 b z))
(*.f64 (*.f64 b z) a)
(*.f64 b (*.f64 z a))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(*.f64 a (*.f64 b z))
(*.f64 (*.f64 b z) a)
(*.f64 b (*.f64 z a))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 b z) a)
(*.f64 b (*.f64 z a))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(*.f64 a t)
(*.f64 t a)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(*.f64 a t)
(*.f64 t a)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(*.f64 a (+.f64 (*.f64 z b) t))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
x
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
x
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
x
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 (fma.f64 b z t) a x)
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
(fma.f64 (fma.f64 z b t) a x)
(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 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 b z)) 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 (*.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 t)
(*.f64 t a)
(+.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 t)
(*.f64 t a)
(+.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)

eval52.0ms (0.4%)

Compiler

Compiled 3940 to 1021 computations (74.1% saved)

prune64.0ms (0.5%)

Pruning

16 alts after pruning (13 fresh and 3 done)

PrunedKeptTotal
New2809289
Fresh448
Picked101
Done134
Total28616302
Error
0.0b
Counts
302 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
38.3b
x
36.8b
(+.f64 x (fma.f64 (*.f64 a (sqrt.f64 (*.f64 z b))) (sqrt.f64 (*.f64 z b)) (*.f64 a t)))
26.1b
(+.f64 (*.f64 a t) x)
36.0b
(+.f64 (*.f64 y z) (*.f64 a t))
42.3b
(*.f64 (+.f64 t (*.f64 b z)) a)
28.2b
(+.f64 x (*.f64 b (*.f64 z a)))
54.3b
(*.f64 a (*.f64 z b))
11.2b
(fma.f64 t a (+.f64 x (*.f64 y z)))
38.3b
(*.f64 z (+.f64 (*.f64 a b) y))
42.0b
(+.f64 x (fma.f64 (*.f64 (*.f64 z b) (sqrt.f64 a)) (sqrt.f64 a) (*.f64 a t)))
48.5b
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (-.f64 (*.f64 a b) y))
47.9b
(*.f64 z y)
23.6b
(fma.f64 z y x)
23.6b
(+.f64 (*.f64 y z) x)
50.6b
(*.f64 a t)
52.9b
(*.f64 z (*.f64 a b))
Compiler

Compiled 380 to 254 computations (33.2% saved)

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 27 to 9 computations (66.7% saved)

localize5.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 17 to 8 computations (52.9% saved)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite47.0ms (0.3%)

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

simplify11.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
08252
114252
220252
Stop Event
saturated
Counts
47 → 13
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))
(*.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 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))
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))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 25 to 9 computations (64% saved)

series5.0ms (0%)

Counts
1 → 44
Calls

12 calls:

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

rewrite58.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
911×pow1_binary64
841×add-log-exp_binary64
841×log1p-expm1-u_binary64
841×expm1-log1p-u_binary64
822×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify14.0ms (0.1%)

Algorithm
egg-herbie
Rules
11×fma-def_binary64
*-commutative_binary64
+-commutative_binary64
distribute-lft-out_binary64
associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
015331
137331
248331
350331
Stop Event
saturated
Counts
65 → 28
Calls
Call 1
Inputs
(*.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 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 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 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)))
(*.f64 a t)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (*.f64 z b))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (*.f64 z b))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.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 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))
Outputs
(*.f64 a (*.f64 b z))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(+.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 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 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 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 b) z)
(*.f64 z (*.f64 a b))
(+.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 b) z)
(*.f64 z (*.f64 a b))
(+.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 t)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.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 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))

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

series3.0ms (0%)

Counts
1 → 12
Calls

12 calls:

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

rewrite57.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
088
11688
222708
Stop Event
node limit
Counts
1 → 37
Calls
Call 1
Inputs
(+.f64 (*.f64 y z) (*.f64 a t))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (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 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 (*.f64 a t) (-.f64 (*.f64 a t) (*.f64 y z))))))))) (#(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 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 (*.f64 a t) (-.f64 (*.f64 a t) (*.f64 y z)))) (+.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)) (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 (*.f64 a t) (-.f64 (*.f64 a t) (*.f64 y z)))))))) (#(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 (*.f64 y 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 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 (*.f64 a t) (-.f64 (*.f64 a t) (*.f64 y z))))))))) (#(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 (pow.f64 (fma.f64 y z (*.f64 a t)) 3) 1/3)))) (#(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 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 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 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 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 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 (*.f64 a t)) 2) (cbrt.f64 (*.f64 a t)) (*.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)) (*.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))))))

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0748
1948
Stop Event
saturated
Counts
49 → 39
Calls
Call 1
Inputs
(*.f64 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 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)

eval23.0ms (0.2%)

Compiler

Compiled 1523 to 510 computations (66.5% saved)

prune31.0ms (0.2%)

Pruning

16 alts after pruning (9 fresh and 7 done)

PrunedKeptTotal
New1202122
Fresh178
Picked011
Done167
Total12216138
Error
0.0b
Counts
138 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
38.3b
x
36.8b
(+.f64 x (fma.f64 (*.f64 a (sqrt.f64 (*.f64 z b))) (sqrt.f64 (*.f64 z b)) (*.f64 a t)))
26.1b
(+.f64 (*.f64 a t) x)
36.0b
(+.f64 (*.f64 y z) (*.f64 a t))
42.3b
(*.f64 (+.f64 t (*.f64 b z)) a)
28.2b
(+.f64 x (*.f64 b (*.f64 z a)))
36.0b
(fma.f64 t a (*.f64 y z))
38.3b
(*.f64 z (+.f64 (*.f64 a b) y))
42.0b
(+.f64 x (fma.f64 (*.f64 (*.f64 z b) (sqrt.f64 a)) (sqrt.f64 a) (*.f64 a t)))
48.5b
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (-.f64 (*.f64 a b) y))
47.9b
(*.f64 z y)
23.6b
(fma.f64 z y x)
23.6b
(+.f64 (*.f64 y z) x)
50.6b
(*.f64 a t)
52.9b
(*.f64 z (*.f64 a b))
54.3b
(*.f64 a (*.f64 z b))
Compiler

Compiled 330 to 219 computations (33.6% saved)

localize6.0ms (0%)

Compiler

Compiled 13 to 7 computations (46.2% saved)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 17 to 8 computations (52.9% saved)

series3.0ms (0%)

Counts
1 → 12
Calls

9 calls:

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

rewrite48.0ms (0.3%)

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

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

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 25 to 9 computations (64% saved)

series6.0ms (0%)

Counts
2 → 84
Calls

21 calls:

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

rewrite62.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
934×pow1_binary64
863×add-log-exp_binary64
863×log1p-expm1-u_binary64
863×expm1-log1p-u_binary64
843×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify19.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
012594
121594
230594
332594
Stop Event
saturated
Counts
131 → 55
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 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 z b))
(+.f64 x (*.f64 a (*.f64 z b)))
(+.f64 x (*.f64 a (*.f64 z b)))
(+.f64 x (*.f64 a (*.f64 z b)))
x
(+.f64 (*.f64 a (*.f64 z b)) x)
(+.f64 (*.f64 a (*.f64 z b)) x)
(+.f64 (*.f64 a (*.f64 z b)) x)
x
(+.f64 (*.f64 a (*.f64 z b)) x)
(+.f64 (*.f64 a (*.f64 z b)) x)
(+.f64 (*.f64 a (*.f64 z b)) x)
x
(+.f64 (*.f64 a (*.f64 b z)) x)
(+.f64 (*.f64 a (*.f64 b z)) x)
(+.f64 (*.f64 a (*.f64 b z)) x)
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 a (*.f64 b z)) x)
(+.f64 (*.f64 a (*.f64 b z)) x)
(+.f64 (*.f64 a (*.f64 b z)) x)
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 a (*.f64 b z)) x)
(+.f64 (*.f64 a (*.f64 b z)) x)
(+.f64 (*.f64 a (*.f64 b z)) x)
x
(+.f64 (*.f64 a (*.f64 z b)) x)
(+.f64 (*.f64 a (*.f64 z b)) x)
(+.f64 (*.f64 a (*.f64 z b)) x)
(*.f64 a (*.f64 z b))
(+.f64 x (*.f64 a (*.f64 z b)))
(+.f64 x (*.f64 a (*.f64 z b)))
(+.f64 x (*.f64 a (*.f64 z b)))
(*.f64 a (*.f64 z b))
(+.f64 x (*.f64 a (*.f64 z b)))
(+.f64 x (*.f64 a (*.f64 z b)))
(+.f64 x (*.f64 a (*.f64 z b)))
x
(+.f64 (*.f64 a (*.f64 b z)) x)
(+.f64 (*.f64 a (*.f64 b z)) x)
(+.f64 (*.f64 a (*.f64 b z)) x)
(*.f64 a (*.f64 z b))
(+.f64 x (*.f64 a (*.f64 z b)))
(+.f64 x (*.f64 a (*.f64 z b)))
(+.f64 x (*.f64 a (*.f64 z b)))
(*.f64 a (*.f64 z b))
(+.f64 x (*.f64 a (*.f64 z b)))
(+.f64 x (*.f64 a (*.f64 z b)))
(+.f64 x (*.f64 a (*.f64 z b)))
Outputs
(*.f64 a (*.f64 b z))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 b z))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(+.f64 x (*.f64 a (*.f64 z b)))
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 x (*.f64 a (*.f64 z b)))
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 x (*.f64 a (*.f64 z b)))
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
x
(+.f64 (*.f64 a (*.f64 z b)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 (*.f64 a (*.f64 z b)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 (*.f64 a (*.f64 z b)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
x
(+.f64 (*.f64 a (*.f64 z b)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 (*.f64 a (*.f64 z b)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 (*.f64 a (*.f64 z b)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
x
(+.f64 (*.f64 a (*.f64 b z)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 (*.f64 a (*.f64 b z)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 (*.f64 a (*.f64 b z)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(*.f64 a (*.f64 b z))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 a (*.f64 b z)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 (*.f64 a (*.f64 b z)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 (*.f64 a (*.f64 b z)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(*.f64 a (*.f64 b z))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 a (*.f64 b z)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 (*.f64 a (*.f64 b z)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 (*.f64 a (*.f64 b z)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
x
(+.f64 (*.f64 a (*.f64 z b)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 (*.f64 a (*.f64 z b)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 (*.f64 a (*.f64 z b)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(+.f64 x (*.f64 a (*.f64 z b)))
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 x (*.f64 a (*.f64 z b)))
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 x (*.f64 a (*.f64 z b)))
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(+.f64 x (*.f64 a (*.f64 z b)))
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 x (*.f64 a (*.f64 z b)))
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 x (*.f64 a (*.f64 z b)))
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
x
(+.f64 (*.f64 a (*.f64 b z)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 (*.f64 a (*.f64 b z)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 (*.f64 a (*.f64 b z)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(+.f64 x (*.f64 a (*.f64 z b)))
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 x (*.f64 a (*.f64 z b)))
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 x (*.f64 a (*.f64 z b)))
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(*.f64 a (*.f64 z b))
(*.f64 (*.f64 a b) z)
(*.f64 z (*.f64 a b))
(+.f64 x (*.f64 a (*.f64 z b)))
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 x (*.f64 a (*.f64 z b)))
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)
(+.f64 x (*.f64 a (*.f64 z b)))
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 z (*.f64 a b) x)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (*.f64 a b) 2)
1.6b
(-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))
6.2b
(*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z)
17.4b
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (-.f64 (*.f64 a b) y))
Compiler

Compiled 64 to 24 computations (62.5% saved)

series23.0ms (0.2%)

Counts
4 → 156
Calls

39 calls:

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

rewrite97.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
758×log-prod_binary64
509×fma-def_binary64
258×fma-neg_binary64
257×expm1-udef_binary64
257×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01361
129544
2423144
Stop Event
node limit
Counts
4 → 217
Calls
Call 1
Inputs
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (-.f64 (*.f64 a b) 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 (-.f64 (*.f64 a b) y) z)) (/.f64 (*.f64 y y) (/.f64 (-.f64 (*.f64 a b) y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) (/.f64 1 (/.f64 (-.f64 (*.f64 a b) y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) (*.f64 z (/.f64 1 (-.f64 (*.f64 a b) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) (/.f64 1 (-.f64 (*.f64 a b) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (/.f64 1 (-.f64 (*.f64 a b) y)))))) (#(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 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z)) 2) (*.f64 (cbrt.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z)) (/.f64 1 (-.f64 (*.f64 a b) y))))))) (#(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 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z)) (*.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z)) (/.f64 1 (-.f64 (*.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 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) (neg.f64 z)) (/.f64 1 (neg.f64 (-.f64 (*.f64 a b) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 (*.f64 a b) y)) (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a b y) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) 1) (/.f64 z (-.f64 (*.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 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z)) 2) 1) (/.f64 (cbrt.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z)) (-.f64 (*.f64 a b) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z)) 1) (/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z)) (-.f64 (*.f64 a b) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) (pow.f64 (cbrt.f64 (-.f64 (*.f64 a b) y)) 2)) (/.f64 z (cbrt.f64 (-.f64 (*.f64 a b) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z (pow.f64 (cbrt.f64 (-.f64 (*.f64 a b) y)) 2)) (/.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) (cbrt.f64 (-.f64 (*.f64 a b) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (-.f64 (*.f64 a b) y)) 2)) (/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (cbrt.f64 (-.f64 (*.f64 a b) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z)) 2) (pow.f64 (cbrt.f64 (-.f64 (*.f64 a b) y)) 2)) (cbrt.f64 (*.f64 (fma.f64 a b y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z)) (pow.f64 (cbrt.f64 (-.f64 (*.f64 a b) y)) 2)) (/.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z)) (cbrt.f64 (-.f64 (*.f64 a b) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) (sqrt.f64 (-.f64 (*.f64 a b) y))) (/.f64 z (sqrt.f64 (-.f64 (*.f64 a b) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z (sqrt.f64 (-.f64 (*.f64 a b) y))) (/.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) (sqrt.f64 (-.f64 (*.f64 a b) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (-.f64 (*.f64 a b) y))) (/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (sqrt.f64 (-.f64 (*.f64 a b) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z)) 2) (sqrt.f64 (-.f64 (*.f64 a b) y))) (/.f64 (cbrt.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z)) (sqrt.f64 (-.f64 (*.f64 a b) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))) (fma.f64 a b y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (-.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 y 3))) (fma.f64 y (fma.f64 a b y) (pow.f64 (*.f64 a b) 2)))))) (#(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 pow.f64 (/.f64 (/.f64 1 (*.f64 (fma.f64 a b y) z)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (neg.f64 (-.f64 (*.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 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) 3) (pow.f64 (-.f64 (*.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 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (*.f64 a b) 2) z) (*.f64 (*.f64 y (neg.f64 y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (pow.f64 (*.f64 a b) 2)) (*.f64 z (*.f64 y (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)))) (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) 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) (fma.f64 y y (pow.f64 (*.f64 a b) 2)) (pow.f64 (*.f64 a b) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 4) (pow.f64 y 4)) z) (fma.f64 y y (pow.f64 (*.f64 a b) 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) (fma.f64 y y (pow.f64 (*.f64 a b) 2)) (pow.f64 (*.f64 a b) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 (pow.f64 (*.f64 a b) 4) (pow.f64 y 4))) (fma.f64 y y (pow.f64 (*.f64 a b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) 3) (pow.f64 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 a b) 2) z (*.f64 (*.f64 y (neg.f64 y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (pow.f64 (*.f64 a b) 2) (*.f64 z (*.f64 y (neg.f64 y))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 y (neg.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) (fma.f64 (neg.f64 y) y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) (fma.f64 (*.f64 y (neg.f64 y)) 1 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y 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 +.f64 (*.f64 y (neg.f64 y)) (pow.f64 (*.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)))) (cbrt.f64 (exp.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)))))) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))) (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))) 2) (cbrt.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 (*.f64 a b) (sqrt.f64 (*.f64 y (neg.f64 y)))) (hypot.f64 (*.f64 a b) (sqrt.f64 (*.f64 y (neg.f64 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) (fma.f64 y y (pow.f64 (*.f64 a b) 2)) (pow.f64 (*.f64 a b) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 a b) 4) (pow.f64 y 4)) (/.f64 1 (fma.f64 y y (pow.f64 (*.f64 a b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 y y) (fma.f64 y y (pow.f64 (*.f64 a b) 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 (fma.f64 y y (pow.f64 (*.f64 a b) 2)) (-.f64 (pow.f64 (*.f64 a b) 4) (pow.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a b) 6) (pow.f64 y 6)) (fma.f64 (*.f64 y y) (fma.f64 y y (pow.f64 (*.f64 a b) 2)) (pow.f64 (*.f64 a b) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a b) 4) (pow.f64 y 4)) (fma.f64 y y (pow.f64 (*.f64 a b) 2)))))) (#(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) (fma.f64 y y (pow.f64 (*.f64 a b) 2)) (pow.f64 (*.f64 a b) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 a b) 4) (pow.f64 y 4))) (neg.f64 (fma.f64 y y (pow.f64 (*.f64 a b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a b) 6) (pow.f64 (*.f64 y (neg.f64 y)) 3)) (+.f64 (pow.f64 (*.f64 a b) 4) (-.f64 (*.f64 (*.f64 y (neg.f64 y)) (*.f64 y (neg.f64 y))) (*.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y (neg.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a b) 4) (*.f64 (*.f64 y (neg.f64 y)) (*.f64 y (neg.f64 y)))) (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 (*.f64 a b) (sqrt.f64 (*.f64 y (neg.f64 y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 y y) (fma.f64 y y (pow.f64 (*.f64 a b) 2)) (pow.f64 (*.f64 a b) 4)) (-.f64 (pow.f64 (*.f64 a b) 6) (pow.f64 y 6))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 y y (pow.f64 (*.f64 a b) 2)) (-.f64 (pow.f64 (*.f64 a b) 4) (pow.f64 y 4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.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 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 a b) 2))) (exp.f64 (*.f64 y (neg.f64 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 (exp.f64 (*.f64 y (neg.f64 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 (exp.f64 (*.f64 y (neg.f64 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 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (*.f64 b (*.f64 a b)) (*.f64 y (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (*.f64 b (*.f64 a b)) (*.f64 (*.f64 y (neg.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (*.f64 a (*.f64 a b)) (*.f64 y (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (*.f64 a (*.f64 a b)) (*.f64 (*.f64 y (neg.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) (*.f64 a b) (*.f64 y (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a b) (*.f64 a b) (*.f64 (*.f64 y (neg.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 a b) 2) 1 (*.f64 y (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 a b) 2) 1 (*.f64 (*.f64 y (neg.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (neg.f64 y) (pow.f64 (*.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) 1 (fma.f64 (neg.f64 y) y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) 1 (fma.f64 (*.f64 y (neg.f64 y)) 1 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) 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 1 (pow.f64 (*.f64 a b) 2) (*.f64 y (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 (*.f64 a b) 2) (*.f64 (*.f64 y (neg.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) (fma.f64 (neg.f64 y) y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) (fma.f64 (*.f64 y (neg.f64 y)) 1 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y 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 (*.f64 y (neg.f64 y)) (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 (cbrt.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))) (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))) 2) (fma.f64 (neg.f64 y) y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))) (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))) 2) (fma.f64 (*.f64 y (neg.f64 y)) 1 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))) (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y 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 (pow.f64 (*.f64 a b) 2) (*.f64 y y))) 2) (cbrt.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))) (fma.f64 (neg.f64 y) y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))) 2) (cbrt.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))) (fma.f64 (*.f64 y (neg.f64 y)) 1 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))) 2) (cbrt.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y 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 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (pow.f64 (*.f64 a b) 4)) (*.f64 y (neg.f64 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 (*.f64 y (neg.f64 y)) 1))))) (#(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 (neg.f64 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 (*.f64 y (neg.f64 y)) 1))))) (#(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 (neg.f64 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 (*.f64 y (neg.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 (*.f64 a b) (sqrt.f64 (*.f64 y (neg.f64 y)))) (hypot.f64 (*.f64 a b) (sqrt.f64 (*.f64 y (neg.f64 y)))) (fma.f64 (neg.f64 y) y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 (*.f64 a b) (sqrt.f64 (*.f64 y (neg.f64 y)))) (hypot.f64 (*.f64 a b) (sqrt.f64 (*.f64 y (neg.f64 y)))) (fma.f64 (*.f64 y (neg.f64 y)) 1 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 (*.f64 a b) (sqrt.f64 (*.f64 y (neg.f64 y)))) (hypot.f64 (*.f64 a b) (sqrt.f64 (*.f64 y (neg.f64 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 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a b)) (*.f64 y (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a b)) (*.f64 (*.f64 y (neg.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 y) y (pow.f64 (*.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a a) (*.f64 b b) (*.f64 y (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a a) (*.f64 b b) (*.f64 (*.f64 y (neg.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b b) (*.f64 a a) (*.f64 y (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b b) (*.f64 a a) (*.f64 (*.f64 y (neg.f64 y)) 1))))) (#(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) (fma.f64 y y (pow.f64 (*.f64 a b) 2)) (pow.f64 (*.f64 a b) 4))) (fma.f64 (neg.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) (fma.f64 y y (pow.f64 (*.f64 a b) 2)) (pow.f64 (*.f64 a b) 4))) (fma.f64 (*.f64 y (neg.f64 y)) 1 (*.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) (fma.f64 y y (pow.f64 (*.f64 a b) 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 (-.f64 (pow.f64 (*.f64 a b) 4) (pow.f64 y 4)) (/.f64 1 (fma.f64 y y (pow.f64 (*.f64 a b) 2))) (fma.f64 (neg.f64 y) y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 a b) 4) (pow.f64 y 4)) (/.f64 1 (fma.f64 y y (pow.f64 (*.f64 a b) 2))) (fma.f64 (*.f64 y (neg.f64 y)) 1 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 a b) 4) (pow.f64 y 4)) (/.f64 1 (fma.f64 y y (pow.f64 (*.f64 a b) 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 (fma.f64 a b y) (-.f64 (*.f64 a b) y) (fma.f64 (neg.f64 y) y (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 a b y) (-.f64 (*.f64 a b) y) (fma.f64 (*.f64 y (neg.f64 y)) 1 (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 a b y) (-.f64 (*.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 (pow.f64 (sqrt.f64 (*.f64 a b)) 3) (sqrt.f64 (*.f64 a b)) (*.f64 y (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (sqrt.f64 (*.f64 a b)) 3) (sqrt.f64 (*.f64 a b)) (*.f64 (*.f64 y (neg.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 y (neg.f64 y))) (cbrt.f64 (*.f64 y (neg.f64 y)))) (cbrt.f64 (*.f64 y (neg.f64 y))) (pow.f64 (*.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y (neg.f64 y))) (sqrt.f64 (*.f64 y (neg.f64 y))) (pow.f64 (*.f64 a b) 2))))) (#(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 (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 (neg.f64 y) 1) y (pow.f64 (*.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (neg.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 (neg.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) a) b (*.f64 y (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a b) a) b (*.f64 (*.f64 y (neg.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a b) b) a (*.f64 y (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a b) b) a (*.f64 (*.f64 y (neg.f64 y)) 1))))) (#(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 (neg.f64 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 (*.f64 y (neg.f64 y)) 1))))))
((#(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 (pow.f64 (sqrt.f64 (*.f64 a b)) 3) (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 (log.f64 (pow.f64 (*.f64 a b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 a b) 2)) 1))))))

simplify117.0ms (0.9%)

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
373 → 244
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)))

localize31.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (fma.f64 (*.f64 a (sqrt.f64 (*.f64 z b))) (sqrt.f64 (*.f64 z b)) (*.f64 a t)))
0.1b
(fma.f64 (*.f64 a (sqrt.f64 (*.f64 z b))) (sqrt.f64 (*.f64 z b)) (*.f64 a t))
0.1b
(*.f64 a (sqrt.f64 (*.f64 z b)))
9.6b
(sqrt.f64 (*.f64 z b))
Compiler

Compiled 57 to 12 computations (78.9% saved)

series73.0ms (0.5%)

Counts
4 → 72
Calls

42 calls:

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

rewrite119.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
721×prod-diff_binary64
643×log-prod_binary64
331×pow2_binary64
269×fma-def_binary64
234×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01260
124844
2323138
Stop Event
node limit
Counts
4 → 138
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 z b))
(*.f64 a (sqrt.f64 (*.f64 z b)))
(fma.f64 (*.f64 a (sqrt.f64 (*.f64 z b))) (sqrt.f64 (*.f64 z b)) (*.f64 a t))
(+.f64 x (fma.f64 (*.f64 a (sqrt.f64 (*.f64 z b))) (sqrt.f64 (*.f64 z b)) (*.f64 a t)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 z b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 z b)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 z b))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 z b))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 z b))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 z b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 z b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 z b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 z b))) (cbrt.f64 (*.f64 z b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 z b)) (cbrt.f64 (sqrt.f64 (*.f64 z b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 z b) 1/4) (pow.f64 (*.f64 z b) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (sqrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 b) (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 z b)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 z b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 z b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z b) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z b) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 z b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z b) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 z b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 z b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 z b)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z b) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 z b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 z b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 z b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 z b)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 z b))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (*.f64 z b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 z b))) a)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 z b))) a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 z b))) a))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 z b))) a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (*.f64 z b)) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (*.f64 z b)) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 z b) (*.f64 a a)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 z b)) a) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (*.f64 z b)) a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (*.f64 z b)) a)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 z b) 3/2) (pow.f64 a 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 a 3) (pow.f64 (*.f64 z b) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 z b) (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 z b))) a))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (*.f64 z b)) a))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 z b)) a) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 z b) 3/2) (pow.f64 a 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 a 3) (pow.f64 (*.f64 z b) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (*.f64 z b)) a)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (*.f64 z b)) a)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (*.f64 z b)) a)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (*.f64 z b)) a)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (*.f64 z b)) (*.f64 a t))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 a (*.f64 z b) (*.f64 a t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a (*.f64 z b)) 1) (*.f64 a t))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a (*.f64 z b) (*.f64 a t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))) (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))) 2) (cbrt.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))) (sqrt.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a (*.f64 z b)) 3) (pow.f64 (*.f64 a t) 3)) (+.f64 (pow.f64 (*.f64 a (*.f64 z b)) 2) (-.f64 (pow.f64 (*.f64 a t) 2) (*.f64 (*.f64 a (*.f64 z b)) (*.f64 a t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a (*.f64 z b)) 2) (pow.f64 (*.f64 a t) 2)) (-.f64 (*.f64 a (*.f64 z b)) (*.f64 a t)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 t) a) (exp.f64 (*.f64 a (*.f64 z b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a t))) (exp.f64 (*.f64 a (*.f64 z b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 a (*.f64 z b))) (+.f64 1 (expm1.f64 (*.f64 a t)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 a (*.f64 z b) (fma.f64 a t x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x x) (-.f64 x (fma.f64 a (*.f64 z b) (*.f64 a t)))) (/.f64 (pow.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) 2) (-.f64 x (fma.f64 a (*.f64 z b) (*.f64 a t)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a (*.f64 z b) (fma.f64 a t x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a (*.f64 z b) (fma.f64 a t x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a (*.f64 z b) (fma.f64 a t x))) (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 z b) (fma.f64 a t x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 z b) (fma.f64 a t x))) 2) (cbrt.f64 (fma.f64 a (*.f64 z b) (fma.f64 a t x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a (*.f64 z b) (fma.f64 a t x))) (sqrt.f64 (fma.f64 a (*.f64 z b) (fma.f64 a t x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 3) (pow.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) 3)) (/.f64 1 (fma.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) (-.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) x) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) 2)) (/.f64 1 (-.f64 x (fma.f64 a (*.f64 z b) (*.f64 a t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) (-.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) x) (*.f64 x x)) (+.f64 (pow.f64 x 3) (pow.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 x (fma.f64 a (*.f64 z b) (*.f64 a t))) (-.f64 (*.f64 x x) (pow.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) 3)) (fma.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) (-.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) x) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) 3)) (+.f64 (pow.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) 2) (-.f64 (*.f64 x x) (*.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) 2)) (-.f64 x (fma.f64 a (*.f64 z b) (*.f64 a t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 x 3) (pow.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) 3))) (neg.f64 (fma.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) (-.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) x) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) 2))) (neg.f64 (-.f64 x (fma.f64 a (*.f64 z b) (*.f64 a t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) 2) (*.f64 x x)) (-.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a (*.f64 z b) (fma.f64 a t x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 z b) (fma.f64 a t x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 z b) (fma.f64 a t 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 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a (*.f64 z b) (fma.f64 a t x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) (-.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) x) (*.f64 x x)) (+.f64 (pow.f64 x 3) (pow.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 x (fma.f64 a (*.f64 z b) (*.f64 a t))) (-.f64 (*.f64 x x) (pow.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a (*.f64 z b) (fma.f64 a t x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a (*.f64 z b) (fma.f64 a t x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 z b) (fma.f64 a t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)))) (exp.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)))) (+.f64 1 (expm1.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 x) (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a (*.f64 z b) (fma.f64 a t x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a (*.f64 z b) (fma.f64 a t x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a (*.f64 z b) (fma.f64 a t x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a (*.f64 z b) (fma.f64 a t x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 a (*.f64 z b) (fma.f64 a t x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z b)) (*.f64 (sqrt.f64 (*.f64 z b)) a) (fma.f64 a t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (*.f64 z b) (fma.f64 a t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 z b)) a) (sqrt.f64 (*.f64 z b)) (fma.f64 a t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 a (*.f64 z b) (*.f64 a t)) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (fma.f64 a (*.f64 z b) (*.f64 a t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 a (*.f64 z b) (*.f64 a t)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (fma.f64 a (*.f64 z b) (*.f64 a t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a (*.f64 z b)) (fma.f64 a t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (fma.f64 a (*.f64 z b) (*.f64 a t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (fma.f64 a (*.f64 z b) (*.f64 a t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))) (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))) 2) (cbrt.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 z b) (*.f64 a a))) (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 (*.f64 z b)) a)) (sqrt.f64 (*.f64 z b))) (fma.f64 a t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (fma.f64 a (*.f64 z b) (*.f64 a t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))) (sqrt.f64 (fma.f64 a (*.f64 z b) (*.f64 a t))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sqrt.f64 (*.f64 z b)) a)) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 (*.f64 z b)) a)) (sqrt.f64 (*.f64 z b))) (fma.f64 a t x))))) (#(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 x))))) (#(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 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 (*.f64 z b)) a)) (pow.f64 (*.f64 z b) 1/4)) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 (*.f64 z b)) a)) (pow.f64 (*.f64 z b) 1/4)) (fma.f64 a t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 z b)) a) (cbrt.f64 (*.f64 z b))) (cbrt.f64 (sqrt.f64 (*.f64 z b))) (fma.f64 a t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 z b)) a) (pow.f64 (*.f64 z b) 1/4)) (pow.f64 (*.f64 z b) 1/4) (fma.f64 a t x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 z b)) a) (sqrt.f64 z)) (sqrt.f64 b) (fma.f64 a t x))))))

simplify121.0ms (0.9%)

Algorithm
egg-herbie
Rules
474×fma-def_binary64
470×fma-neg_binary64
96×cancel-sign-sub-inv_binary64
81×associate-*l*_binary64
77×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031559
192559
2195559
3384559
4866559
51396559
61676559
71984559
82059559
92071559
102077559
112082559
Stop Event
saturated
Counts
210 → 157
Calls
Call 1
Inputs
(*.f64 a (sqrt.f64 (*.f64 b z)))
(*.f64 a (sqrt.f64 (*.f64 b z)))
(*.f64 a (sqrt.f64 (*.f64 b z)))
(*.f64 a (sqrt.f64 (*.f64 b z)))
(*.f64 a (sqrt.f64 (*.f64 b z)))
(*.f64 a (sqrt.f64 (*.f64 b z)))
(*.f64 a (sqrt.f64 (*.f64 b z)))
(*.f64 a (sqrt.f64 (*.f64 b z)))
(*.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 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 t) (*.f64 -1 (*.f64 z b)))))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b)))))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b)))))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b)))))
(*.f64 a t)
(*.f64 a t)
(*.f64 a (*.f64 z b))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a t)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a t)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t))
(+.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))
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 t) (+.f64 (*.f64 a (*.f64 b z)) x))
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 t) (+.f64 (*.f64 a (*.f64 b z)) 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 (+.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 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b)))))
(+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x)
(+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x)
(+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x)
(+.f64 (*.f64 a t) x)
(+.f64 (*.f64 a t) x)
(+.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 t) (+.f64 (*.f64 a (*.f64 b z)) x))
(*.f64 a t)
(+.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 t)
(+.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))
Outputs
(*.f64 a (sqrt.f64 (*.f64 b z)))
(*.f64 a (sqrt.f64 (*.f64 b z)))
(*.f64 a (sqrt.f64 (*.f64 b z)))
(*.f64 a (sqrt.f64 (*.f64 b z)))
(*.f64 a (sqrt.f64 (*.f64 b z)))
(*.f64 a (sqrt.f64 (*.f64 b z)))
(*.f64 a (sqrt.f64 (*.f64 b z)))
(*.f64 a (sqrt.f64 (*.f64 b z)))
(*.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 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 t) (*.f64 -1 (*.f64 z b)))))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b)))))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b)))))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b)))))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(*.f64 a t)
(*.f64 a t)
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(*.f64 a t)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(*.f64 a t)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.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 t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
x
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
x
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
x
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b)))))
(*.f64 a (fma.f64 z b t))
(*.f64 a (fma.f64 b z t))
(+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x)
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(+.f64 (*.f64 a t) x)
(fma.f64 a t x)
(+.f64 (*.f64 a t) x)
(fma.f64 a t x)
(+.f64 (*.f64 a (*.f64 b z)) x)
(fma.f64 a (*.f64 b z) x)
(fma.f64 (*.f64 a b) z x)
(fma.f64 b (*.f64 a z) x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(*.f64 a t)
(+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(*.f64 a t)
(+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)
(+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))
(fma.f64 (fma.f64 z b t) a x)
(fma.f64 a (fma.f64 b z t) x)

eval158.0ms (1.2%)

Compiler

Compiled 9725 to 3016 computations (69% saved)

prune104.0ms (0.8%)

Pruning

17 alts after pruning (7 fresh and 10 done)

PrunedKeptTotal
New4923495
Fresh044
Picked101
Done11011
Total49417511
Error
0b
Counts
511 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
44.5b
(pow.f64 (sqrt.f64 (fma.f64 (*.f64 b z) a x)) 2)
42.0b
(+.f64 x (fma.f64 (*.f64 (*.f64 z b) (sqrt.f64 a)) (sqrt.f64 a) (*.f64 a t)))
38.3b
x
26.1b
(+.f64 (*.f64 a t) x)
36.0b
(+.f64 (*.f64 y z) (*.f64 a t))
42.3b
(*.f64 (+.f64 t (*.f64 b z)) a)
28.2b
(+.f64 x (*.f64 b (*.f64 z a)))
36.0b
(fma.f64 t a (*.f64 y z))
38.3b
(*.f64 z (+.f64 (*.f64 a b) y))
47.4b
(*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) 1) (/.f64 z (-.f64 (*.f64 a b) y)))
47.9b
(*.f64 z y)
23.6b
(fma.f64 z y x)
23.6b
(+.f64 (*.f64 y z) x)
50.6b
(*.f64 a t)
52.9b
(*.f64 z (*.f64 a b))
58.7b
(/.f64 (*.f64 b (*.f64 z (*.f64 b (*.f64 a a)))) (-.f64 (*.f64 a b) y))
54.3b
(*.f64 a (*.f64 z b))
Compiler

Compiled 224 to 155 computations (30.8% saved)

regimes462.0ms (3.4%)

Counts
29 → 3
Calls
Call 1
Inputs
x
x
(*.f64 a t)
(*.f64 z y)
(*.f64 a (*.f64 z b))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 a t) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) (*.f64 a t))
(+.f64 x (*.f64 b (*.f64 z a)))
(*.f64 z (+.f64 (*.f64 a b) y))
(*.f64 (+.f64 t (*.f64 b z)) a)
(+.f64 x (*.f64 a (+.f64 (*.f64 z b) t)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(+.f64 (+.f64 (*.f64 y z) (*.f64 a t)) (*.f64 (*.f64 a z) b))
(/.f64 (*.f64 b (*.f64 z (*.f64 b (*.f64 a a)))) (-.f64 (*.f64 a b) y))
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
(fma.f64 z y x)
(fma.f64 t a (*.f64 y z))
(fma.f64 t a (+.f64 x (*.f64 y z)))
(+.f64 (fma.f64 a t (*.f64 z y)) (*.f64 (*.f64 a z) b))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (-.f64 (*.f64 a b) y))
(*.f64 (/.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) 1) (/.f64 z (-.f64 (*.f64 a b) y)))
(pow.f64 (sqrt.f64 (fma.f64 (*.f64 b z) a x)) 2)
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 x (fma.f64 (*.f64 (*.f64 z b) (sqrt.f64 a)) (sqrt.f64 a) (*.f64 a t)))
(+.f64 x (fma.f64 (*.f64 a (sqrt.f64 (*.f64 z b))) (sqrt.f64 (*.f64 z b)) (*.f64 a t)))
(fma.f64 y z (pow.f64 (sqrt.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 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
Calls

7 calls:

163.0ms
z
134.0ms
t
46.0ms
x
41.0ms
a
27.0ms
b
Results
ErrorSegmentsBranch
2.6b1x
2.6b1y
2.6b1z
1.3b2t
0.1b3a
1.0b2b
0.8b2(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
Compiler

Compiled 319 to 127 computations (60.2% saved)

bsearch44.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
6.467021878229546e-40
8.278332259814782e-40
19.0ms
-55664276797161.75
-116959637922.06657
Compiler

Compiled 69 to 45 computations (34.8% saved)

regimes227.0ms (1.7%)

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

7 calls:

61.0ms
b
28.0ms
x
27.0ms
t
27.0ms
a
26.0ms
y
Results
ErrorSegmentsBranch
2.6b1x
2.6b1y
2.6b1z
2.6b1t
2.6b1a
0.8b3b
1.1b2(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
Compiler

Compiled 266 to 112 computations (57.9% saved)

bsearch95.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
47.0ms
1.5814842360598363e-229
1.2720869879867593e-225
47.0ms
-1.598754333812799e-67
-3.586737575193678e-85
Compiler

Compiled 30 to 21 computations (30% saved)

regimes233.0ms (1.7%)

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

7 calls:

62.0ms
b
41.0ms
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
25.0ms
x
25.0ms
a
25.0ms
z
Results
ErrorSegmentsBranch
2.6b1x
2.6b1y
2.6b1z
2.6b1t
2.6b1a
0.8b3b
1.1b2(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
Compiler

Compiled 201 to 92 computations (54.2% saved)

bsearch101.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
50.0ms
1.5814842360598363e-229
1.2720869879867593e-225
50.0ms
-1.598754333812799e-67
-3.586737575193678e-85
Compiler

Compiled 30 to 21 computations (30% saved)

regimes388.0ms (2.8%)

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

6 calls:

95.0ms
z
90.0ms
t
68.0ms
x
50.0ms
y
49.0ms
b
Results
ErrorSegmentsBranch
7.1b3x
6.6b3y
6.1b6z
7.9b5t
8.3b3a
7.0b3b
Compiler

Compiled 155 to 73 computations (52.9% saved)

bsearch360.0ms (2.6%)

Algorithm
binary-search
Steps
TimeLeftRight
26.0ms
31080.30376776488
3704898.9319669474
25.0ms
-1.8149598722105035e-278
-3.287100163621304e-285
25.0ms
-9.971070094947713e+19
-18436644706322108000.0
177.0ms
-3.724062929541388e+70
-2.4815672684307038e+64
108.0ms
-1.0305455464253943e+102
-1.4946979221254972e+100
Compiler

Compiled 510 to 357 computations (30% saved)

regimes245.0ms (1.8%)

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

6 calls:

50.0ms
x
48.0ms
b
42.0ms
y
37.0ms
z
34.0ms
t
Results
ErrorSegmentsBranch
10.2b7x
10.7b5y
8.5b5z
13.7b5t
11.5b3a
12.0b6b
Compiler

Compiled 118 to 63 computations (46.6% saved)

bsearch226.0ms (1.7%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
31080.30376776488
3704898.9319669474
25.0ms
-136122.17519292585
-160.01904838634462
124.0ms
-3.724062929541388e+70
-2.4815672684307038e+64
53.0ms
-1.0305455464253943e+102
-1.4946979221254972e+100
Compiler

Compiled 510 to 357 computations (30% saved)

regimes258.0ms (1.9%)

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

6 calls:

59.0ms
b
57.0ms
a
41.0ms
y
41.0ms
x
27.0ms
z
Results
ErrorSegmentsBranch
14.3b6x
15.3b6y
13.6b4z
17.2b4t
13.7b9a
13.8b9b
Compiler

Compiled 109 to 60 computations (45% saved)

bsearch101.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
35.0ms
31080.30376776488
3704898.9319669474
41.0ms
9.884033008853764e-114
1.9856477031309846e-106
25.0ms
-136122.17519292585
-160.01904838634462
Compiler

Compiled 30 to 21 computations (30% saved)

regimes226.0ms (1.7%)

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

6 calls:

58.0ms
b
44.0ms
a
36.0ms
z
36.0ms
x
24.0ms
y
Results
ErrorSegmentsBranch
14.3b6x
17.4b3y
13.9b6z
17.2b4t
16.0b7a
13.3b10b
Compiler

Compiled 95 to 55 computations (42.1% saved)

bsearch1.1s (8.2%)

Algorithm
binary-search
Steps
TimeLeftRight
221.0ms
3.4415128184473606e+126
8.440218251825178e+132
45.0ms
5.085013598100387e+38
7.73952177407602e+40
81.0ms
5081784959440276.0
4.404525450520363e+28
80.0ms
2.4512454174338468e-48
1.7856608981405802e-43
49.0ms
2.2240412131145797e-144
5.175321671010884e-141
48.0ms
2.2080577885491834e-266
1.756947065402339e-258
83.0ms
-9.236275042974385e-243
-1.1573611478240138e-243
282.0ms
-9.822855479846294e+114
-4.2422005822058574e+111
223.0ms
-1.1946659218858912e+175
-1.220146280475545e+164
Compiler

Compiled 752 to 544 computations (27.7% saved)

regimes223.0ms (1.6%)

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

6 calls:

56.0ms
b
54.0ms
x
42.0ms
z
24.0ms
y
22.0ms
a
Results
ErrorSegmentsBranch
15.9b3x
17.4b3y
17.1b3z
18.9b3t
18.9b3a
18.4b5b
Compiler

Compiled 88 to 52 computations (40.9% saved)

bsearch51.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
8.876939943983883e-121
8.678402690772755e-116
26.0ms
-2.1677078980924566e+42
-1.2391788623462622e+36
Compiler

Compiled 30 to 21 computations (30% saved)

regimes168.0ms (1.2%)

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

6 calls:

48.0ms
t
44.0ms
b
21.0ms
y
18.0ms
a
17.0ms
z
Results
ErrorSegmentsBranch
22.3b3x
17.4b3y
17.1b3z
18.9b3t
18.9b3a
19.0b5b
Compiler

Compiled 81 to 51 computations (37% saved)

bsearch61.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
37.0ms
1.0369457006605977e-104
4.176352747490032e-104
24.0ms
-7.599981451806761e-88
-1.5318097925202378e-89
Compiler

Compiled 30 to 21 computations (30% saved)

regimes210.0ms (1.5%)

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

6 calls:

78.0ms
x
57.0ms
a
29.0ms
z
27.0ms
y
11.0ms
b
Results
ErrorSegmentsBranch
21.7b8x
23.6b5y
20.5b6z
26.1b1t
23.4b5a
24.2b2b
Compiler

Compiled 76 to 49 computations (35.5% saved)

bsearch1.0s (7.4%)

Algorithm
binary-search
Steps
TimeLeftRight
188.0ms
3.182779182140992e+90
2.558725888469694e+98
431.0ms
7.542444663345132e+27
1.4196014363006357e+47
56.0ms
-136122.17519292585
-160.01904838634462
210.0ms
-3.724062929541388e+70
-2.4815672684307038e+64
120.0ms
-7.219279413637779e+116
-8.473189878860533e+112
Compiler

Compiled 844 to 650 computations (23% saved)

regimes517.0ms (3.8%)

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

6 calls:

139.0ms
a
110.0ms
b
69.0ms
t
65.0ms
y
64.0ms
x
Results
ErrorSegmentsBranch
27.9b5x
32.7b5y
31.0b5z
35.2b2t
30.4b10a
30.5b11b
Compiler

Compiled 71 to 48 computations (32.4% saved)

bsearch197.0ms (1.4%)

Algorithm
binary-search
Steps
TimeLeftRight
48.0ms
8.678402690772755e-116
1.481445470423946e-111
48.0ms
-1.4613912396342752e-300
1.2638193061443339e-306
49.0ms
-2.3963888539005345e-208
-3.882142378087259e-209
50.0ms
-2.1677078980924566e+42
-1.2391788623462622e+36
Compiler

Compiled 30 to 21 computations (30% saved)

regimes137.0ms (1%)

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

6 calls:

37.0ms
b
36.0ms
a
30.0ms
x
14.0ms
t
9.0ms
y
Results
ErrorSegmentsBranch
31.0b3x
38.3b1y
38.3b1z
35.2b2t
35.1b4a
35.0b5b
Compiler

Compiled 53 to 43 computations (18.9% saved)

bsearch131.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
46.0ms
8.678402690772755e-116
1.481445470423946e-111
84.0ms
-2.2926148297862894e+48
-2.4785597992355738e+47
Compiler

Compiled 30 to 21 computations (30% saved)

regimes46.0ms (0.3%)

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:

7.0ms
z
7.0ms
a
7.0ms
x
7.0ms
y
7.0ms
t
Results
ErrorSegmentsBranch
38.3b1x
38.3b1y
38.3b1z
38.3b1t
38.3b1a
38.3b1b
Compiler

Compiled 50 to 42 computations (16% saved)

simplify57.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0139758
1163758
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 a -10000000000000) (fma.f64 y z (fma.f64 a (fma.f64 z b t) x)) (if (<=.f64 a 1982136438213785/3064991081731777716716694054300618367237478244367204352) (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) (fma.f64 y z (fma.f64 a (fma.f64 z b t) x))))
(if (<=.f64 b -4852891110326865/30354201441027016733116592294117482916287606860189680019559568902170379456331382784) (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) (if (<=.f64 b 8638758675594411/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (fma.f64 t a (+.f64 x (*.f64 y z))) (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))))
(if (<=.f64 b -4852891110326865/30354201441027016733116592294117482916287606860189680019559568902170379456331382784) (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) (if (<=.f64 b 8638758675594411/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))))
(if (<=.f64 z -1019999999999999989023584440794909414900335777993154008763999664160326257236005131858313945684476166144) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 z -24999999999999999802259656570908462705689030423557613841392074752) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))) (if (<=.f64 z -99710700949477130240) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 z -5795792117033131/319334449525555169865019634085894170570792201669673206640407558789953902699034250525593274478821712174294791495070799239035590078142974985718267487725573027251200907672173708242806035431098077949224537079127027838932929672819339262222216842951687065201139345100120966662777359236855041588461568) (+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) (if (<=.f64 z 8543288846866927/274877906944) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))) (+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)))))))
(if (<=.f64 z -1019999999999999989023584440794909414900335777993154008763999664160326257236005131858313945684476166144) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 z -24999999999999999802259656570908462705689030423557613841392074752) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))) (if (<=.f64 z -584640290713999/4294967296) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 z 8543288846866927/274877906944) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))) (+.f64 (*.f64 y z) x)))))
(if (<=.f64 z -584640290713999/4294967296) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 z 6851289694834651/693167423530203714894603546035770925859109268843954143792619895153655326951406405759993601526034894524347802740350892957243539456) (+.f64 (*.f64 a t) x) (if (<=.f64 z 8543288846866927/274877906944) (+.f64 x (*.f64 b (*.f64 z a))) (+.f64 (*.f64 y z) x))))
(if (<=.f64 b -11799999999999999891070491413212132971054480564019509368294533061780297560962174389344000386834508962761864093667633825838920279010616161920107077117296006883616619826002264064) (+.f64 x (*.f64 b (*.f64 z a))) (if (<=.f64 b -4299999999999999934474293129610999895861920224248333058122333109740113522291869839061814178234989923584037617664) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 b -8875710761036679/960962154087001629436308185025184878247905227974336452694771122017616840015261658617268505418282416748614914455642299215255384405286687137505466996049907860485085046091635529899088428785810612776957410293491536147754283397719630991265870577566668501257551872) (+.f64 (*.f64 y z) x) (if (<=.f64 b 3206464127410837/145216494968533502226373290834951226575318379068300240142165220636322329800820739604020343212515268612285031620136032524458455590385244698026448298935780725174118246137447253314715469710380638366234296463120257539655053584656042977359091693393423640919145029829506241486695834845184) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 b 7817007572901381/3514776401986872174070733209129673327241950873673372369609965291102998109899599898686750536018664732148375711432438199315006457855854921632037902485050909261824) (+.f64 (*.f64 y z) x) (if (<=.f64 b 4033535505500117/1645504557321206042154969182557350504982735865633579863348609024) (+.f64 (*.f64 a t) x) (if (<=.f64 b 5081784959440276) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 b 508501359810038666398656753821045227520) (+.f64 x (*.f64 b (*.f64 z a))) (if (<=.f64 b 8399999999999999733838736437141222916028121859163526996283626204514276867839228603709296142300338256316180903229376779018097129422848) (+.f64 (*.f64 a t) x) (+.f64 x (*.f64 b (*.f64 z a))))))))))))
(if (<=.f64 x -2167707898092456631850481727290989522976768) (+.f64 (*.f64 a t) x) (if (<=.f64 x 5161682963627169/5814709794364855124394590463104036274829130885498544482251921593445114304907183386609528405710108524486100172850129423468276813028917248) (+.f64 (*.f64 y z) (*.f64 a t)) (+.f64 (*.f64 y z) x)))
(if (<=.f64 z -6808807398933211/8958978968711216842229769122273777112486581988938598139599956403855167484720643781523509973086428463104) (+.f64 (*.f64 y z) x) (if (<=.f64 z 6694132272783931/645562469521727147413979793000752968582426448207305878207664839135161905504210298657411338320034457858975792993186873344) (+.f64 (*.f64 a t) x) (+.f64 (*.f64 y z) x)))
(if (<=.f64 z -699999999999999993393585492362694722007723160903772080533483959155884155409164141005865779345525827585238980423057408) (*.f64 z y) (if (<=.f64 z -24999999999999999802259656570908462705689030423557613841392074752) (+.f64 (*.f64 a t) x) (if (<=.f64 z -584640290713999/4294967296) (*.f64 z y) (if (<=.f64 z 139999999999999993968972264119665375280415899648) (+.f64 (*.f64 a t) x) (if (<=.f64 z 3199999999999999983211730406137757834105427534421829619902134231421065873225851044378968064) (*.f64 z y) (+.f64 (*.f64 a t) x))))))
(if (<=.f64 x -2167707898092456631850481727290989522976768) x (if (<=.f64 x -5543883222145349/23134322349737717735007099635340311456574291245888123082206428617627187858318938111228919160792924135185595314161942499967986047925275778642956722900885062503881081581426410459731001937860227299113020288850612472756100399104) (*.f64 z y) (if (<=.f64 x -8815195556448139/6032057205060440848842124543157735677050252251748505781796615064961622344493727293370973578138265743708225425014400837164813540499979063179105919597766951022193355091707896034850684039059079180396788349106095584290087446076413771468940477241550670753145517602931224392424029547429993824129889235158145614364972941312) (*.f64 a t) (if (<=.f64 x 481246882681643/5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648) (*.f64 z y) x))))
(if (<=.f64 x -2292614829786289446496565057389166872298826760192) x (if (<=.f64 x 481246882681643/5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648) (*.f64 a t) x))
x
Outputs
(if (<=.f64 a -10000000000000) (fma.f64 y z (fma.f64 a (fma.f64 z b t) x)) (if (<=.f64 a 1982136438213785/3064991081731777716716694054300618367237478244367204352) (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) (fma.f64 y z (fma.f64 a (fma.f64 z b t) x))))
(if (<=.f64 a -10000000000000) (fma.f64 y z (fma.f64 a (fma.f64 z b t) x)) (if (<=.f64 a 1982136438213785/3064991081731777716716694054300618367237478244367204352) (+.f64 (+.f64 (*.f64 a t) (+.f64 x (*.f64 y z))) (*.f64 b (*.f64 a z))) (fma.f64 y z (fma.f64 a (fma.f64 z b t) x))))
(if (<=.f64 b -4852891110326865/30354201441027016733116592294117482916287606860189680019559568902170379456331382784) (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) (if (<=.f64 b 8638758675594411/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (fma.f64 t a (+.f64 x (*.f64 y z))) (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))))
(if (<=.f64 b -4852891110326865/30354201441027016733116592294117482916287606860189680019559568902170379456331382784) (+.f64 (+.f64 (*.f64 a t) (+.f64 x (*.f64 y z))) (*.f64 b (*.f64 a z))) (if (<=.f64 b 8638758675594411/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (fma.f64 t a (+.f64 x (*.f64 y z))) (+.f64 (+.f64 (*.f64 a t) (+.f64 x (*.f64 y z))) (*.f64 b (*.f64 a z)))))
(if (<=.f64 b -4852891110326865/30354201441027016733116592294117482916287606860189680019559568902170379456331382784) (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)) (if (<=.f64 b 8638758675594411/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))))
(if (<=.f64 b -4852891110326865/30354201441027016733116592294117482916287606860189680019559568902170379456331382784) (+.f64 (+.f64 (*.f64 a t) (+.f64 x (*.f64 y z))) (*.f64 b (*.f64 a z))) (if (<=.f64 b 8638758675594411/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (+.f64 (+.f64 x (*.f64 a t)) (*.f64 y z)) (+.f64 (+.f64 (*.f64 a t) (+.f64 x (*.f64 y z))) (*.f64 b (*.f64 a z)))))
(if (<=.f64 z -1019999999999999989023584440794909414900335777993154008763999664160326257236005131858313945684476166144) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 z -24999999999999999802259656570908462705689030423557613841392074752) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))) (if (<=.f64 z -99710700949477130240) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 z -5795792117033131/319334449525555169865019634085894170570792201669673206640407558789953902699034250525593274478821712174294791495070799239035590078142974985718267487725573027251200907672173708242806035431098077949224537079127027838932929672819339262222216842951687065201139345100120966662777359236855041588461568) (+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) (if (<=.f64 z 8543288846866927/274877906944) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))) (+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)))))))
(if (<=.f64 z -1019999999999999989023584440794909414900335777993154008763999664160326257236005131858313945684476166144) (*.f64 z (+.f64 y (*.f64 a b))) (if (<=.f64 z -24999999999999999802259656570908462705689030423557613841392074752) (+.f64 x (*.f64 a (+.f64 t (*.f64 z b)))) (if (<=.f64 z -99710700949477130240) (*.f64 z (+.f64 y (*.f64 a b))) (if (<=.f64 z -5795792117033131/319334449525555169865019634085894170570792201669673206640407558789953902699034250525593274478821712174294791495070799239035590078142974985718267487725573027251200907672173708242806035431098077949224537079127027838932929672819339262222216842951687065201139345100120966662777359236855041588461568) (+.f64 (+.f64 x (*.f64 a t)) (*.f64 y z)) (if (<=.f64 z 8543288846866927/274877906944) (+.f64 x (*.f64 a (+.f64 t (*.f64 z b)))) (+.f64 (+.f64 x (*.f64 a t)) (*.f64 y z)))))))
(if (<=.f64 z -1019999999999999989023584440794909414900335777993154008763999664160326257236005131858313945684476166144) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 z -24999999999999999802259656570908462705689030423557613841392074752) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))) (if (<=.f64 z -584640290713999/4294967296) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 z 8543288846866927/274877906944) (+.f64 x (*.f64 a (+.f64 (*.f64 z b) t))) (+.f64 (*.f64 y z) x)))))
(if (<=.f64 z -1019999999999999989023584440794909414900335777993154008763999664160326257236005131858313945684476166144) (*.f64 z (+.f64 y (*.f64 a b))) (if (<=.f64 z -24999999999999999802259656570908462705689030423557613841392074752) (+.f64 x (*.f64 a (+.f64 t (*.f64 z b)))) (if (<=.f64 z -584640290713999/4294967296) (*.f64 z (+.f64 y (*.f64 a b))) (if (<=.f64 z 8543288846866927/274877906944) (+.f64 x (*.f64 a (+.f64 t (*.f64 z b)))) (+.f64 x (*.f64 y z))))))
(if (<=.f64 z -584640290713999/4294967296) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 z 6851289694834651/693167423530203714894603546035770925859109268843954143792619895153655326951406405759993601526034894524347802740350892957243539456) (+.f64 (*.f64 a t) x) (if (<=.f64 z 8543288846866927/274877906944) (+.f64 x (*.f64 b (*.f64 z a))) (+.f64 (*.f64 y z) x))))
(if (<=.f64 z -584640290713999/4294967296) (*.f64 z (+.f64 y (*.f64 a b))) (if (<=.f64 z 6851289694834651/693167423530203714894603546035770925859109268843954143792619895153655326951406405759993601526034894524347802740350892957243539456) (+.f64 x (*.f64 a t)) (if (<=.f64 z 8543288846866927/274877906944) (+.f64 x (*.f64 b (*.f64 a z))) (+.f64 x (*.f64 y z)))))
(if (<=.f64 b -11799999999999999891070491413212132971054480564019509368294533061780297560962174389344000386834508962761864093667633825838920279010616161920107077117296006883616619826002264064) (+.f64 x (*.f64 b (*.f64 z a))) (if (<=.f64 b -4299999999999999934474293129610999895861920224248333058122333109740113522291869839061814178234989923584037617664) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 b -8875710761036679/960962154087001629436308185025184878247905227974336452694771122017616840015261658617268505418282416748614914455642299215255384405286687137505466996049907860485085046091635529899088428785810612776957410293491536147754283397719630991265870577566668501257551872) (+.f64 (*.f64 y z) x) (if (<=.f64 b 3206464127410837/145216494968533502226373290834951226575318379068300240142165220636322329800820739604020343212515268612285031620136032524458455590385244698026448298935780725174118246137447253314715469710380638366234296463120257539655053584656042977359091693393423640919145029829506241486695834845184) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 b 7817007572901381/3514776401986872174070733209129673327241950873673372369609965291102998109899599898686750536018664732148375711432438199315006457855854921632037902485050909261824) (+.f64 (*.f64 y z) x) (if (<=.f64 b 4033535505500117/1645504557321206042154969182557350504982735865633579863348609024) (+.f64 (*.f64 a t) x) (if (<=.f64 b 5081784959440276) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 b 508501359810038666398656753821045227520) (+.f64 x (*.f64 b (*.f64 z a))) (if (<=.f64 b 8399999999999999733838736437141222916028121859163526996283626204514276867839228603709296142300338256316180903229376779018097129422848) (+.f64 (*.f64 a t) x) (+.f64 x (*.f64 b (*.f64 z a))))))))))))
(if (<=.f64 b -11799999999999999891070491413212132971054480564019509368294533061780297560962174389344000386834508962761864093667633825838920279010616161920107077117296006883616619826002264064) (+.f64 x (*.f64 b (*.f64 a z))) (if (<=.f64 b -4299999999999999934474293129610999895861920224248333058122333109740113522291869839061814178234989923584037617664) (+.f64 (*.f64 a t) (*.f64 y z)) (if (<=.f64 b -8875710761036679/960962154087001629436308185025184878247905227974336452694771122017616840015261658617268505418282416748614914455642299215255384405286687137505466996049907860485085046091635529899088428785810612776957410293491536147754283397719630991265870577566668501257551872) (+.f64 x (*.f64 y z)) (if (<=.f64 b 3206464127410837/145216494968533502226373290834951226575318379068300240142165220636322329800820739604020343212515268612285031620136032524458455590385244698026448298935780725174118246137447253314715469710380638366234296463120257539655053584656042977359091693393423640919145029829506241486695834845184) (+.f64 (*.f64 a t) (*.f64 y z)) (if (<=.f64 b 7817007572901381/3514776401986872174070733209129673327241950873673372369609965291102998109899599898686750536018664732148375711432438199315006457855854921632037902485050909261824) (+.f64 x (*.f64 y z)) (if (<=.f64 b 4033535505500117/1645504557321206042154969182557350504982735865633579863348609024) (+.f64 x (*.f64 a t)) (if (<=.f64 b 5081784959440276) (+.f64 (*.f64 a t) (*.f64 y z)) (if (<=.f64 b 508501359810038666398656753821045227520) (+.f64 x (*.f64 b (*.f64 a z))) (if (<=.f64 b 8399999999999999733838736437141222916028121859163526996283626204514276867839228603709296142300338256316180903229376779018097129422848) (+.f64 x (*.f64 a t)) (+.f64 x (*.f64 b (*.f64 a z))))))))))))
(if (<=.f64 x -2167707898092456631850481727290989522976768) (+.f64 (*.f64 a t) x) (if (<=.f64 x 5161682963627169/5814709794364855124394590463104036274829130885498544482251921593445114304907183386609528405710108524486100172850129423468276813028917248) (+.f64 (*.f64 y z) (*.f64 a t)) (+.f64 (*.f64 y z) x)))
(if (<=.f64 x -2167707898092456631850481727290989522976768) (+.f64 x (*.f64 a t)) (if (<=.f64 x 5161682963627169/5814709794364855124394590463104036274829130885498544482251921593445114304907183386609528405710108524486100172850129423468276813028917248) (+.f64 (*.f64 a t) (*.f64 y z)) (+.f64 x (*.f64 y z))))
(if (<=.f64 z -6808807398933211/8958978968711216842229769122273777112486581988938598139599956403855167484720643781523509973086428463104) (+.f64 (*.f64 y z) x) (if (<=.f64 z 6694132272783931/645562469521727147413979793000752968582426448207305878207664839135161905504210298657411338320034457858975792993186873344) (+.f64 (*.f64 a t) x) (+.f64 (*.f64 y z) x)))
(if (<=.f64 z -6808807398933211/8958978968711216842229769122273777112486581988938598139599956403855167484720643781523509973086428463104) (+.f64 x (*.f64 y z)) (if (<=.f64 z 6694132272783931/645562469521727147413979793000752968582426448207305878207664839135161905504210298657411338320034457858975792993186873344) (+.f64 x (*.f64 a t)) (+.f64 x (*.f64 y z))))
(if (<=.f64 z -699999999999999993393585492362694722007723160903772080533483959155884155409164141005865779345525827585238980423057408) (*.f64 z y) (if (<=.f64 z -24999999999999999802259656570908462705689030423557613841392074752) (+.f64 (*.f64 a t) x) (if (<=.f64 z -584640290713999/4294967296) (*.f64 z y) (if (<=.f64 z 139999999999999993968972264119665375280415899648) (+.f64 (*.f64 a t) x) (if (<=.f64 z 3199999999999999983211730406137757834105427534421829619902134231421065873225851044378968064) (*.f64 z y) (+.f64 (*.f64 a t) x))))))
(if (<=.f64 z -699999999999999993393585492362694722007723160903772080533483959155884155409164141005865779345525827585238980423057408) (*.f64 y z) (if (<=.f64 z -24999999999999999802259656570908462705689030423557613841392074752) (+.f64 x (*.f64 a t)) (if (<=.f64 z -584640290713999/4294967296) (*.f64 y z) (if (<=.f64 z 139999999999999993968972264119665375280415899648) (+.f64 x (*.f64 a t)) (if (<=.f64 z 3199999999999999983211730406137757834105427534421829619902134231421065873225851044378968064) (*.f64 y z) (+.f64 x (*.f64 a t)))))))
(if (<=.f64 x -2167707898092456631850481727290989522976768) x (if (<=.f64 x -5543883222145349/23134322349737717735007099635340311456574291245888123082206428617627187858318938111228919160792924135185595314161942499967986047925275778642956722900885062503881081581426410459731001937860227299113020288850612472756100399104) (*.f64 z y) (if (<=.f64 x -8815195556448139/6032057205060440848842124543157735677050252251748505781796615064961622344493727293370973578138265743708225425014400837164813540499979063179105919597766951022193355091707896034850684039059079180396788349106095584290087446076413771468940477241550670753145517602931224392424029547429993824129889235158145614364972941312) (*.f64 a t) (if (<=.f64 x 481246882681643/5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648) (*.f64 z y) x))))
(if (<=.f64 x -2167707898092456631850481727290989522976768) x (if (<=.f64 x -5543883222145349/23134322349737717735007099635340311456574291245888123082206428617627187858318938111228919160792924135185595314161942499967986047925275778642956722900885062503881081581426410459731001937860227299113020288850612472756100399104) (*.f64 y z) (if (<=.f64 x -8815195556448139/6032057205060440848842124543157735677050252251748505781796615064961622344493727293370973578138265743708225425014400837164813540499979063179105919597766951022193355091707896034850684039059079180396788349106095584290087446076413771468940477241550670753145517602931224392424029547429993824129889235158145614364972941312) (*.f64 a t) (if (<=.f64 x 481246882681643/5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648) (*.f64 y z) x))))
(if (<=.f64 x -2292614829786289446496565057389166872298826760192) x (if (<=.f64 x 481246882681643/5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648) (*.f64 a t) x))
x
Compiler

Compiled 604 to 284 computations (53% saved)

soundness66.0ms (0.5%)

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
Compiler

Compiled 232 to 140 computations (39.7% saved)

end496.0ms (3.6%)

Compiler

Compiled 532 to 154 computations (71.1% saved)

Profiling

Loading profile data...