Details

Time bar (total: 18.6s)

analyze456.0ms (2.4%)

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

Compiled 22 to 14 computations (36.4% saved)

sample2.1s (11%)

Results
1.3s8256×body256valid
697.0ms3990×body256infinite
Bogosity

preprocess64.0ms (0.3%)

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)

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

prune4.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
4.0b
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
2.5b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
Compiler

Compiled 37 to 22 computations (40.5% saved)

localize32.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 55 to 13 computations (76.4% saved)

series32.0ms (0.2%)

Counts
4 → 204
Calls

51 calls:

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

rewrite111.0ms (0.6%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01449
131137
2468637
Stop Event
node limit
Counts
4 → 170
Calls
Call 1
Inputs
(*.f64 (*.f64 a z) b)
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a))
(+.f64 x (*.f64 y z))
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
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 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))))))
((#(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))))))))

simplify200.0ms (1.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
0561812
11881693
23941693
37911693
420081693
533611693
638511693
741551693
841811693
941811693
1043171693
1143171693
Stop Event
saturated
Counts
374 → 204
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 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)
(+.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)))
Outputs
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 b z))
(*.f64 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 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 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))
(fma.f64 a 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))
(fma.f64 a 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))
(fma.f64 a t (fma.f64 z y 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))
(fma.f64 a 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))
(fma.f64 a 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))
(fma.f64 a t (fma.f64 z y 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))
(fma.f64 a 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))
(fma.f64 a 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))
(fma.f64 a t (fma.f64 z y 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))
(fma.f64 a 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))
(fma.f64 a 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))
(fma.f64 a t (fma.f64 z y 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))
(fma.f64 a 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))
(fma.f64 a 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))
(fma.f64 a t (fma.f64 z y 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))
(fma.f64 a 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))
(fma.f64 a 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))
(fma.f64 a t (fma.f64 z y 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))
(fma.f64 a 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))
(fma.f64 a 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))
(fma.f64 a t (fma.f64 z y 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))
(fma.f64 a 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))
(fma.f64 a 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))
(fma.f64 a t (fma.f64 z y 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))
(fma.f64 a 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))
(fma.f64 a 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))
(fma.f64 a 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 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(fma.f64 a 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))
(fma.f64 a 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))
(fma.f64 a t (fma.f64 z y 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))
(fma.f64 a 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))
(fma.f64 a 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))
(fma.f64 a t (fma.f64 z y 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))
(fma.f64 a 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))
(fma.f64 a 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))
(fma.f64 a 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 a t) x))
(fma.f64 y z (fma.f64 a t x))
(fma.f64 z y (fma.f64 a t x))
(fma.f64 a 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))
(fma.f64 a 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))
(fma.f64 a t (fma.f64 z y 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))
(fma.f64 a 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))
(fma.f64 a 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))
(fma.f64 a t (fma.f64 z y 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))
(fma.f64 a 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))
(fma.f64 a 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))
(fma.f64 a t (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)
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)
(+.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)))
(+.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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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))
(fma.f64 a 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(*.f64 a (*.f64 b z))
(+.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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(*.f64 a (*.f64 b z))
(+.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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b 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 z (fma.f64 a b y) (fma.f64 a t x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))

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

rewrite118.0ms (0.6%)

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

simplify203.0ms (1.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))

eval97.0ms (0.5%)

Compiler

Compiled 5208 to 1166 computations (77.6% saved)

prune196.0ms (1%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New27613289
Fresh000
Picked101
Done101
Total27813291
Error
0.0b
Counts
291 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
30.4b
(+.f64 x (*.f64 (*.f64 a z) b))
12.0b
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
38.5b
(*.f64 z (+.f64 (*.f64 a b) y))
48.2b
(*.f64 z y)
15.1b
(+.f64 (+.f64 (*.f64 y z) x) (*.f64 (*.f64 a z) b))
18.1b
(+.f64 x (*.f64 a (+.f64 (*.f64 z b) t)))
18.2b
(+.f64 (+.f64 (*.f64 a t) x) (*.f64 (*.f64 a z) b))
1.8b
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
26.4b
(+.f64 (fma.f64 a t (*.f64 z y)) (*.f64 (*.f64 a z) b))
24.6b
(+.f64 (*.f64 y z) x)
41.3b
(*.f64 (+.f64 t (*.f64 b z)) a)
38.5b
(+.f64 (*.f64 z y) (*.f64 (*.f64 a z) b))
4.2b
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (pow.f64 (cbrt.f64 (*.f64 a (*.f64 z b))) 3))
Compiler

Compiled 398 to 266 computations (33.2% saved)

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 48 to 12 computations (75% saved)

series108.0ms (0.6%)

Counts
3 → 99
Calls

39 calls:

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

rewrite113.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

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

simplify216.0ms (1.2%)

Algorithm
egg-herbie
Rules
1338×fma-neg_binary64
834×fma-def_binary64
180×distribute-rgt-in_binary64
167×cancel-sign-sub-inv_binary64
129×unsub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
048875
1154872
2311872
3567872
41343872
52484872
63350872
74046872
84070872
94070872
104272872
114272872
Stop Event
saturated
Counts
222 → 158
Calls
Call 1
Inputs
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 a (*.f64 z b))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
y
(*.f64 a b)
(*.f64 a b)
y
(*.f64 a b)
(*.f64 a b)
(*.f64 a b)
y
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 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 (*.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 (+.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 a t) (+.f64 (*.f64 a (*.f64 b z)) 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 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) 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 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(*.f64 a t)
(*.f64 a t)
(+.f64 (*.f64 a t) (*.f64 z (+.f64 (*.f64 a b) y)))
x
x
Outputs
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 z (fma.f64 a b y))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 z (fma.f64 a b y))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 b z)))
(*.f64 z (fma.f64 a b y))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 z (fma.f64 a b y))
y
(*.f64 a b)
(*.f64 a b)
y
(*.f64 a b)
(*.f64 a b)
(*.f64 a b)
y
y
(+.f64 (*.f64 a t) x)
(fma.f64 a t 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 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) 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 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(*.f64 (+.f64 t (*.f64 b z)) a)
(*.f64 a (fma.f64 z b t))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 t (*.f64 b z)) a) x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b)))))
(*.f64 a (fma.f64 z b t))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x))
(fma.f64 y z (fma.f64 a t x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x)))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 a t (fma.f64 a (*.f64 z b) x))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x)))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x)))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(+.f64 (*.f64 a t) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))
(fma.f64 a t (fma.f64 z (fma.f64 a b y) x))
(fma.f64 y z (fma.f64 a (fma.f64 z b t) x))
(*.f64 a t)
(*.f64 a t)
(+.f64 (*.f64 a t) (*.f64 z (+.f64 (*.f64 a b) y)))
(fma.f64 a t (*.f64 z (fma.f64 a b y)))
(fma.f64 y z (*.f64 a (fma.f64 z b t)))
(fma.f64 a (fma.f64 z b t) (*.f64 y z))
(fma.f64 z (fma.f64 a b y) (*.f64 a t))
x
x

localize9.0ms (0.1%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

localize20.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 25 to 9 computations (64% saved)

series14.0ms (0.1%)

Counts
2 → 71
Calls

21 calls:

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

rewrite117.0ms (0.6%)

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

simplify36.0ms (0.2%)

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
015445
137445
248445
350445
Stop Event
saturated
Counts
127 → 67
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))
(*.f64 z b)
(+.f64 (*.f64 z b) t)
(+.f64 (*.f64 z b) t)
(+.f64 (*.f64 z b) t)
t
(+.f64 (*.f64 z b) t)
(+.f64 (*.f64 z b) t)
(+.f64 (*.f64 z b) t)
t
(+.f64 (*.f64 z b) t)
(+.f64 (*.f64 z b) t)
(+.f64 (*.f64 z b) t)
t
(+.f64 (*.f64 z b) t)
(+.f64 (*.f64 z b) t)
(+.f64 (*.f64 z b) t)
(*.f64 z b)
(+.f64 (*.f64 z b) t)
(+.f64 (*.f64 z b) t)
(+.f64 (*.f64 z b) t)
(*.f64 z b)
(+.f64 (*.f64 z b) t)
(+.f64 (*.f64 z b) t)
(+.f64 (*.f64 z b) t)
t
(*.f64 b z)
(*.f64 b z)
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))
(*.f64 z b)
(*.f64 b z)
(+.f64 (*.f64 z b) t)
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 (*.f64 z b) t)
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 (*.f64 z b) t)
(fma.f64 z b t)
(fma.f64 b z t)
t
(+.f64 (*.f64 z b) t)
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 (*.f64 z b) t)
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 (*.f64 z b) t)
(fma.f64 z b t)
(fma.f64 b z t)
t
(+.f64 (*.f64 z b) t)
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 (*.f64 z b) t)
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 (*.f64 z b) t)
(fma.f64 z b t)
(fma.f64 b z t)
t
(+.f64 (*.f64 z b) t)
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 (*.f64 z b) t)
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 (*.f64 z b) t)
(fma.f64 z b t)
(fma.f64 b z t)
(*.f64 z b)
(*.f64 b z)
(+.f64 (*.f64 z b) t)
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 (*.f64 z b) t)
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 (*.f64 z b) t)
(fma.f64 z b t)
(fma.f64 b z t)
(*.f64 z b)
(*.f64 b z)
(+.f64 (*.f64 z b) t)
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 (*.f64 z b) t)
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 (*.f64 z b) t)
(fma.f64 z b t)
(fma.f64 b z t)
t
(*.f64 b z)
(*.f64 b z)

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

series9.0ms (0%)

Counts
1 → 15
Calls

15 calls:

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

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

simplify22.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

localize27.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 38 to 11 computations (71.1% saved)

series13.0ms (0.1%)

Counts
2 → 69
Calls

24 calls:

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

rewrite113.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
669×fma-def_binary64
656×log-prod_binary64
336×pow2_binary64
312×fma-neg_binary64
232×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify73.0ms (0.4%)

Algorithm
egg-herbie
Rules
410×fma-neg_binary64
388×fma-def_binary64
138×cancel-sign-sub-inv_binary64
90×distribute-rgt-in_binary64
74×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
030510
179510
2156510
3344510
4748510
51262510
61638510
71845510
81918510
91928510
Stop Event
saturated
Counts
240 → 190
Calls
Call 1
Inputs
(+.f64 (*.f64 a (*.f64 z b)) x)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
x
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)
(*.f64 z (+.f64 (*.f64 a b) y))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
x
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 z b)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 z b)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 z b)) x))
x
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 z b)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 z b)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 z b)) x))
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(*.f64 a (*.f64 z b))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
x
(*.f64 y z)
(*.f64 y z)
x
(*.f64 y z)
(*.f64 y z)
(*.f64 y z)
x
x
Outputs
(+.f64 (*.f64 a (*.f64 z b)) x)
(fma.f64 a (*.f64 z b) x)
(fma.f64 (*.f64 a z) b x)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 z (fma.f64 a b y) x)
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 z (fma.f64 a b y) x)
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 z (fma.f64 a b y) x)
x
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)
(fma.f64 z (fma.f64 a b y) x)
(*.f64 z (+.f64 (*.f64 a b) y))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)
(fma.f64 z (fma.f64 a b y) x)
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x)
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x)
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 y) (*.f64 -1 (*.f64 a b))) z)) x)
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (*.f64 a (*.f64 z b)))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 z (fma.f64 a b y) x)
x
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 z b)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 z b)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 z b)) x))
(fma.f64 z (fma.f64 a b y) x)
x
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 z b)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 z b)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 z b)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(*.f64 a (*.f64 z b))
(*.f64 b (*.f64 a z))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 z (fma.f64 a b y) x)
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 b (*.f64 a z))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 b (*.f64 a z))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 b (*.f64 a z))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 z (fma.f64 a b y) x)
x
(*.f64 y z)
(*.f64 z y)
(*.f64 y z)
(*.f64 z y)
x
(*.f64 y z)
(*.f64 z y)
(*.f64 y z)
(*.f64 z y)
(*.f64 y z)
(*.f64 z y)
x
x

eval116.0ms (0.6%)

Compiler

Compiled 8288 to 2141 computations (74.2% saved)

prune237.0ms (1.3%)

Pruning

21 alts after pruning (19 fresh and 2 done)

PrunedKeptTotal
New51916535
Fresh538
Picked101
Done224
Total52721548
Error
0b
Counts
548 → 21
Alt Table
Click to see full alt table
StatusErrorProgram
24.1b
(+.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (fma.f64 a b (neg.f64 y))) (+.f64 (*.f64 a t) x))
24.6b
(+.f64 (*.f64 y z) x)
20.6b
(+.f64 (*.f64 z (/.f64 1 (/.f64 (fma.f64 a b (neg.f64 y)) (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))))) (+.f64 (*.f64 a t) x))
27.3b
(+.f64 (*.f64 a t) x)
51.6b
(/.f64 (*.f64 (-.f64 (*.f64 t t) (pow.f64 (*.f64 b z) 2)) a) (-.f64 t (*.f64 b z)))
34.4b
(+.f64 (*.f64 z (*.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 y 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y (-.f64 y (*.f64 a b))))))) (+.f64 (*.f64 a t) x))
12.0b
(fma.f64 t a (+.f64 x (*.f64 y z)))
41.3b
(*.f64 (+.f64 t (*.f64 b z)) a)
53.0b
(*.f64 b (*.f64 a z))
39.5b
x
38.5b
(+.f64 (*.f64 z y) (*.f64 (*.f64 a z) b))
30.6b
(+.f64 (*.f64 a (*.f64 z b)) x)
35.9b
(+.f64 (*.f64 y z) (*.f64 a t))
53.3b
(*.f64 (*.f64 z b) a)
18.1b
(+.f64 x (*.f64 a (+.f64 (*.f64 z b) t)))
18.2b
(+.f64 (+.f64 (*.f64 a t) x) (*.f64 (*.f64 a z) b))
38.5b
(*.f64 z (+.f64 (*.f64 a b) y))
53.0b
(*.f64 z (*.f64 a b))
14.5b
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)
50.5b
(*.f64 t a)
48.2b
(*.f64 z y)
Compiler

Compiled 631 to 422 computations (33.1% saved)

localize12.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%)

Compiler

Compiled 17 to 8 computations (52.9% saved)

localize8.0ms (0%)

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)

series4.0ms (0%)

Counts
1 → 12
Calls

12 calls:

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

rewrite63.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
088
11688
222708
Stop Event
node limit
Counts
1 → 37
Calls
Call 1
Inputs
(+.f64 (*.f64 y 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))))))

simplify9.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 38 to 11 computations (71.1% saved)

series5.0ms (0%)

Counts
1 → 60
Calls

15 calls:

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

rewrite74.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
669×fma-def_binary64
656×log-prod_binary64
336×pow2_binary64
312×fma-neg_binary64
232×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify68.0ms (0.4%)

Algorithm
egg-herbie
Rules
465×fma-neg_binary64
423×fma-def_binary64
95×cancel-sign-sub-inv_binary64
71×unsub-neg_binary64
66×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031486
188486
2192486
3386486
4863486
51375486
61606486
71809486
81882486
91892486
Stop Event
saturated
Counts
173 → 133
Calls
Call 1
Inputs
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 x (*.f64 a (+.f64 (*.f64 z b) t)))
(+.f64 x (*.f64 a (+.f64 (*.f64 z b) t)))
(+.f64 x (*.f64 a (+.f64 (*.f64 z b) t)))
(*.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 (*.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 a t) (*.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))))
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))
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 (*.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))
Outputs
x
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
(fma.f64 a (fma.f64 z b t) x)
(*.f64 a (+.f64 (*.f64 z b) t))
(*.f64 a (fma.f64 z b t))
(+.f64 x (*.f64 a (+.f64 (*.f64 z b) t)))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 x (*.f64 a (+.f64 (*.f64 z b) t)))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 x (*.f64 a (+.f64 (*.f64 z b) t)))
(fma.f64 a (fma.f64 z b t) x)
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b)))))
(*.f64 a (fma.f64 z b t))
(+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x)
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x)
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 z b))))) x)
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a (*.f64 z b)) x)
(fma.f64 a (*.f64 z b) x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 a (fma.f64 z b t) x)
(*.f64 a t)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 a (fma.f64 z b t) x)
(*.f64 a t)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 a (fma.f64 z b t) x)
x
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
(fma.f64 a (fma.f64 z b t) x)
x
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) x)
(fma.f64 a t x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 z b)) x))
(fma.f64 a (fma.f64 z b t) x)
(*.f64 a (*.f64 z b))
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 a (fma.f64 z b t) x)
(*.f64 a (*.f64 z b))
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) x)
(fma.f64 a t x)
(+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a (*.f64 b z)) (+.f64 (*.f64 a t) x))
(fma.f64 a (fma.f64 z b t) x)
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 a (fma.f64 z b t) x)
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 a (fma.f64 z b t) x)
(+.f64 (*.f64 a t) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 a (fma.f64 z b t) x)

eval47.0ms (0.3%)

Compiler

Compiled 3477 to 949 computations (72.7% saved)

prune63.0ms (0.3%)

Pruning

21 alts after pruning (15 fresh and 6 done)

PrunedKeptTotal
New2302232
Fresh11314
Picked011
Done156
Total23221253
Error
0b
Counts
253 → 21
Alt Table
Click to see full alt table
StatusErrorProgram
24.1b
(+.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (fma.f64 a b (neg.f64 y))) (+.f64 (*.f64 a t) x))
24.6b
(+.f64 (*.f64 y z) x)
20.6b
(+.f64 (*.f64 z (/.f64 1 (/.f64 (fma.f64 a b (neg.f64 y)) (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))))) (+.f64 (*.f64 a t) x))
27.3b
(+.f64 (*.f64 a t) x)
51.6b
(/.f64 (*.f64 (-.f64 (*.f64 t t) (pow.f64 (*.f64 b z) 2)) a) (-.f64 t (*.f64 b z)))
14.5b
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)
35.9b
(fma.f64 t a (*.f64 y z))
34.4b
(+.f64 (*.f64 z (*.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 y 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y (-.f64 y (*.f64 a b))))))) (+.f64 (*.f64 a t) x))
41.3b
(*.f64 (+.f64 t (*.f64 b z)) a)
53.0b
(*.f64 b (*.f64 a z))
39.5b
x
38.5b
(+.f64 (*.f64 z y) (*.f64 (*.f64 a z) b))
30.6b
(+.f64 (*.f64 a (*.f64 z b)) x)
35.9b
(+.f64 (*.f64 y z) (*.f64 a t))
53.3b
(*.f64 (*.f64 z b) a)
18.1b
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
18.2b
(+.f64 (+.f64 (*.f64 a t) x) (*.f64 (*.f64 a z) b))
38.5b
(*.f64 z (+.f64 (*.f64 a b) y))
53.0b
(*.f64 z (*.f64 a b))
50.5b
(*.f64 t a)
48.2b
(*.f64 z y)
Compiler

Compiled 577 to 385 computations (33.3% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 35 to 10 computations (71.4% saved)

series5.0ms (0%)

Counts
1 → 42
Calls

15 calls:

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

rewrite81.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
594×log-prod_binary64
574×fma-def_binary64
483×pow-prod-down_binary64
313×pow2_binary64
271×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify17.0ms (0.1%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
019405
147378
267324
378324
Stop Event
saturated
Counts
117 → 89
Calls
Call 1
Inputs
x
(*.f64 z (+.f64 (*.f64 a b) y))
(*.f64 z (+.f64 (*.f64 a b) y))
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(*.f64 a (*.f64 z b))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(*.f64 a (*.f64 b z))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 a (*.f64 b z)) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(*.f64 z (+.f64 (*.f64 a b) y))
x
x
Outputs
x
(*.f64 z (+.f64 (*.f64 a b) y))
(*.f64 z (fma.f64 a b y))
(*.f64 z (+.f64 (*.f64 a b) y))
(*.f64 z (fma.f64 a b y))
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) x)
(fma.f64 y z x)
(fma.f64 z y x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 a (*.f64 b z)) x)
(fma.f64 a (*.f64 z b) x)
(fma.f64 z (*.f64 a b) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 a (*.f64 z b))))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 a (*.f64 b z)) x))
(fma.f64 y z (fma.f64 a (*.f64 z b) x))
(+.f64 x (*.f64 z (fma.f64 a b y)))
(fma.f64 z (fma.f64 a b y) x)
(*.f64 z (+.f64 (*.f64 a b) y))
(*.f64 z (fma.f64 a b y))
x
x

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 17 to 8 computations (52.9% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

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

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

localize13.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 17 to 8 computations (52.9% saved)

localize20.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 35 to 10 computations (71.4% saved)

series20.0ms (0.1%)

Counts
3 → 122
Calls

36 calls:

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

rewrite121.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
594×log-prod_binary64
574×fma-def_binary64
483×pow-prod-down_binary64
313×pow2_binary64
271×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify48.0ms (0.3%)

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
028850
166850
286850
392850
Stop Event
saturated
Counts
313 → 218
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)))
t
(+.f64 t (*.f64 b z))
(+.f64 t (*.f64 b z))
(+.f64 t (*.f64 b z))
(*.f64 b z)
(+.f64 t (*.f64 b z))
(+.f64 t (*.f64 b z))
(+.f64 t (*.f64 b z))
(*.f64 b z)
(+.f64 t (*.f64 b z))
(+.f64 t (*.f64 b z))
(+.f64 t (*.f64 b z))
t
(*.f64 z b)
(*.f64 z b)
(*.f64 b z)
(+.f64 t (*.f64 b z))
(+.f64 t (*.f64 b z))
(+.f64 t (*.f64 b z))
t
(+.f64 t (*.f64 b z))
(+.f64 t (*.f64 b z))
(+.f64 t (*.f64 b z))
t
(+.f64 t (*.f64 b z))
(+.f64 t (*.f64 b z))
(+.f64 t (*.f64 b z))
x
(*.f64 a (+.f64 (*.f64 z b) t))
(+.f64 x (*.f64 a (+.f64 (*.f64 z b) t)))
(+.f64 x (*.f64 a (+.f64 (*.f64 z b) t)))
(+.f64 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))
(*.f64 a (+.f64 (*.f64 z b) t))
(+.f64 x (*.f64 a (+.f64 (*.f64 z b) t)))
(+.f64 x (*.f64 a (+.f64 (*.f64 z b) t)))
(+.f64 x (*.f64 a (+.f64 (*.f64 z b) t)))
x
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)
t
(+.f64 t (*.f64 b z))
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 t (*.f64 b z))
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 t (*.f64 b z))
(fma.f64 z b t)
(fma.f64 b z t)
(*.f64 b z)
(+.f64 t (*.f64 b z))
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 t (*.f64 b z))
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 t (*.f64 b z))
(fma.f64 z b t)
(fma.f64 b z t)
(*.f64 b z)
(+.f64 t (*.f64 b z))
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 t (*.f64 b z))
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 t (*.f64 b z))
(fma.f64 z b t)
(fma.f64 b z t)
t
(*.f64 z b)
(*.f64 b z)
(*.f64 z b)
(*.f64 b z)
(*.f64 b z)
(+.f64 t (*.f64 b z))
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 t (*.f64 b z))
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 t (*.f64 b z))
(fma.f64 z b t)
(fma.f64 b z t)
t
(+.f64 t (*.f64 b z))
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 t (*.f64 b z))
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 t (*.f64 b z))
(fma.f64 z b t)
(fma.f64 b z t)
t
(+.f64 t (*.f64 b z))
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 t (*.f64 b z))
(fma.f64 z b t)
(fma.f64 b z t)
(+.f64 t (*.f64 b z))
(fma.f64 z b t)
(fma.f64 b z t)
x
(*.f64 a (+.f64 (*.f64 z b) t))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.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 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 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 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)
(*.f64 a (+.f64 (*.f64 z b) t))
(*.f64 (fma.f64 z b t) a)
(*.f64 (fma.f64 b z t) a)
(+.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 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 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)
x
x

localize37.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (*.f64 b z) 2)
2.3b
(-.f64 (*.f64 t t) (pow.f64 (*.f64 b z) 2))
8.5b
(*.f64 (-.f64 (*.f64 t t) (pow.f64 (*.f64 b z) 2)) a)
18.2b
(/.f64 (*.f64 (-.f64 (*.f64 t t) (pow.f64 (*.f64 b z) 2)) a) (-.f64 t (*.f64 b z)))
Compiler

Compiled 64 to 24 computations (62.5% saved)

series39.0ms (0.2%)

Counts
4 → 156
Calls

39 calls:

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

rewrite136.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
772×log-prod_binary64
464×fma-def_binary64
259×expm1-udef_binary64
259×log1p-udef_binary64
244×pow3_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify121.0ms (0.6%)

Algorithm
egg-herbie
Rules
583×associate-*l/_binary64
580×associate-/r/_binary64
418×associate-*r/_binary64
321×distribute-rgt-neg-in_binary64
245×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0722366
13012195
28202039
336022039
Stop Event
node limit
Counts
369 → 252
Calls
Call 1
Inputs
(*.f64 a (*.f64 z b))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(+.f64 (*.f64 (-.f64 (*.f64 -1 (/.f64 a (*.f64 z b))) (*.f64 -1 (/.f64 a (*.f64 b z)))) (pow.f64 t 2)) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(+.f64 (/.f64 (*.f64 (-.f64 (*.f64 -1 (/.f64 a (*.f64 b z))) (*.f64 -1 (/.f64 a (*.f64 z b)))) (pow.f64 t 3)) (*.f64 z b)) (+.f64 (*.f64 (-.f64 (*.f64 -1 (/.f64 a (*.f64 z b))) (*.f64 -1 (/.f64 a (*.f64 b z)))) (pow.f64 t 2)) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))))
(*.f64 a t)
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t))
(-.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2))) t)) (+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t))) (*.f64 -1 (/.f64 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2))) t)))
(-.f64 (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2))))) (*.f64 b z)) (pow.f64 t 2)) (+.f64 (*.f64 -1 (/.f64 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2))) t)) (+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t)))) (*.f64 -1 (/.f64 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2))) t)))
(*.f64 a t)
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t))
(-.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2))) t)) (+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t))) (*.f64 -1 (/.f64 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2))) t)))
(-.f64 (+.f64 (/.f64 (*.f64 b (*.f64 z (-.f64 (*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2)))) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2))))))) (pow.f64 t 2)) (+.f64 (*.f64 -1 (/.f64 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2))) t)) (+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t)))) (*.f64 -1 (/.f64 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2))) 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 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2)))) (-.f64 t (*.f64 b z)))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2)))) (-.f64 t (*.f64 b z)))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2)))) (-.f64 t (*.f64 b z)))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2)))) (-.f64 t (*.f64 b z)))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2)))) (-.f64 t (*.f64 z b)))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2)))) (-.f64 t (*.f64 z b)))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2)))) (-.f64 t (*.f64 z b)))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2)))) (-.f64 t (*.f64 z b)))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2)))) (-.f64 t (*.f64 b z)))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2)))) (-.f64 t (*.f64 b z)))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2)))) (-.f64 t (*.f64 b z)))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2)))) (-.f64 t (*.f64 b z)))
(*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(*.f64 a (pow.f64 t 2))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(*.f64 a (pow.f64 t 2))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(*.f64 a (pow.f64 t 2))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2)))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2)))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2)))))
(*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2)))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2)))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2)))))
(*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2)))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2)))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2)))))
(*.f64 a (pow.f64 t 2))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2)))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(pow.f64 t 2)
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(pow.f64 t 2)
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(pow.f64 t 2)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 b 2) (pow.f64 z 2))) (pow.f64 t 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 b 2) (pow.f64 z 2))) (pow.f64 t 2))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 b 2) (pow.f64 z 2))) (pow.f64 t 2))
(*.f64 -1 (*.f64 (pow.f64 b 2) (pow.f64 z 2)))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(*.f64 -1 (*.f64 (pow.f64 b 2) (pow.f64 z 2)))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(pow.f64 t 2)
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2)))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2)))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
Outputs
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(*.f64 b (*.f64 a z))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(+.f64 (*.f64 (-.f64 (*.f64 -1 (/.f64 a (*.f64 z b))) (*.f64 -1 (/.f64 a (*.f64 b z)))) (pow.f64 t 2)) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b))))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(+.f64 (/.f64 (*.f64 (-.f64 (*.f64 -1 (/.f64 a (*.f64 b z))) (*.f64 -1 (/.f64 a (*.f64 z b)))) (pow.f64 t 3)) (*.f64 z b)) (+.f64 (*.f64 (-.f64 (*.f64 -1 (/.f64 a (*.f64 z b))) (*.f64 -1 (/.f64 a (*.f64 b z)))) (pow.f64 t 2)) (+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a t)
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(-.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2))) t)) (+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t))) (*.f64 -1 (/.f64 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2))) t)))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(-.f64 (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2))))) (*.f64 b z)) (pow.f64 t 2)) (+.f64 (*.f64 -1 (/.f64 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2))) t)) (+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t)))) (*.f64 -1 (/.f64 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2))) t)))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a t)
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(-.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2))) t)) (+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t))) (*.f64 -1 (/.f64 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2))) t)))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(-.f64 (+.f64 (/.f64 (*.f64 b (*.f64 z (-.f64 (*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2)))) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2))))))) (pow.f64 t 2)) (+.f64 (*.f64 -1 (/.f64 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2))) t)) (+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t)))) (*.f64 -1 (/.f64 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2))) t)))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a t)
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(+.f64 (*.f64 a (*.f64 b z)) (*.f64 a t))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(*.f64 b (*.f64 a z))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (*.f64 b z))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(*.f64 b (*.f64 a z))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 b z)))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a t)
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(*.f64 b (*.f64 a z))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(*.f64 a (*.f64 z b))
(*.f64 z (*.f64 a b))
(*.f64 b (*.f64 a z))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(+.f64 (*.f64 a t) (*.f64 a (*.f64 z b)))
(*.f64 a (+.f64 t (*.f64 z b)))
(*.f64 a (fma.f64 z b t))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2)))) (-.f64 t (*.f64 b z)))
(/.f64 a (/.f64 (-.f64 t (*.f64 z b)) (-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 (/.f64 a (-.f64 t (*.f64 z b))) (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)) (/.f64 a (fma.f64 b (neg.f64 z) t)))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2)))) (-.f64 t (*.f64 b z)))
(/.f64 a (/.f64 (-.f64 t (*.f64 z b)) (-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 (/.f64 a (-.f64 t (*.f64 z b))) (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)) (/.f64 a (fma.f64 b (neg.f64 z) t)))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2)))) (-.f64 t (*.f64 b z)))
(/.f64 a (/.f64 (-.f64 t (*.f64 z b)) (-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 (/.f64 a (-.f64 t (*.f64 z b))) (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)) (/.f64 a (fma.f64 b (neg.f64 z) t)))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2)))) (-.f64 t (*.f64 b z)))
(/.f64 a (/.f64 (-.f64 t (*.f64 z b)) (-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 (/.f64 a (-.f64 t (*.f64 z b))) (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)) (/.f64 a (fma.f64 b (neg.f64 z) t)))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2)))) (-.f64 t (*.f64 z b)))
(/.f64 a (/.f64 (-.f64 t (*.f64 z b)) (-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 (/.f64 a (-.f64 t (*.f64 z b))) (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)) (/.f64 a (fma.f64 b (neg.f64 z) t)))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2)))) (-.f64 t (*.f64 z b)))
(/.f64 a (/.f64 (-.f64 t (*.f64 z b)) (-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 (/.f64 a (-.f64 t (*.f64 z b))) (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)) (/.f64 a (fma.f64 b (neg.f64 z) t)))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2)))) (-.f64 t (*.f64 z b)))
(/.f64 a (/.f64 (-.f64 t (*.f64 z b)) (-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 (/.f64 a (-.f64 t (*.f64 z b))) (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)) (/.f64 a (fma.f64 b (neg.f64 z) t)))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2)))) (-.f64 t (*.f64 z b)))
(/.f64 a (/.f64 (-.f64 t (*.f64 z b)) (-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 (/.f64 a (-.f64 t (*.f64 z b))) (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)) (/.f64 a (fma.f64 b (neg.f64 z) t)))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2)))) (-.f64 t (*.f64 b z)))
(/.f64 a (/.f64 (-.f64 t (*.f64 z b)) (-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 (/.f64 a (-.f64 t (*.f64 z b))) (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)) (/.f64 a (fma.f64 b (neg.f64 z) t)))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2)))) (-.f64 t (*.f64 b z)))
(/.f64 a (/.f64 (-.f64 t (*.f64 z b)) (-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 (/.f64 a (-.f64 t (*.f64 z b))) (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)) (/.f64 a (fma.f64 b (neg.f64 z) t)))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2)))) (-.f64 t (*.f64 b z)))
(/.f64 a (/.f64 (-.f64 t (*.f64 z b)) (-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 (/.f64 a (-.f64 t (*.f64 z b))) (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)) (/.f64 a (fma.f64 b (neg.f64 z) t)))
(/.f64 (*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2)))) (-.f64 t (*.f64 b z)))
(/.f64 a (/.f64 (-.f64 t (*.f64 z b)) (-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 (/.f64 a (-.f64 t (*.f64 z b))) (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)) (/.f64 a (fma.f64 b (neg.f64 z) t)))
(*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z))))
(*.f64 (*.f64 a (*.f64 b b)) (*.f64 z (neg.f64 z)))
(*.f64 a (*.f64 (*.f64 b b) (*.f64 z (neg.f64 z))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(*.f64 a (pow.f64 t 2))
(*.f64 a (*.f64 t t))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(*.f64 a (pow.f64 t 2))
(*.f64 a (*.f64 t t))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(*.f64 a (pow.f64 t 2))
(*.f64 a (*.f64 t t))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z))))
(*.f64 (*.f64 a (*.f64 b b)) (*.f64 z (neg.f64 z)))
(*.f64 a (*.f64 (*.f64 b b) (*.f64 z (neg.f64 z))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z))))
(*.f64 (*.f64 a (*.f64 b b)) (*.f64 z (neg.f64 z)))
(*.f64 a (*.f64 (*.f64 b b) (*.f64 z (neg.f64 z))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 z 2) (pow.f64 b 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(*.f64 a (pow.f64 t 2))
(*.f64 a (*.f64 t t))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z))))
(*.f64 (*.f64 a (*.f64 b b)) (*.f64 z (neg.f64 z)))
(*.f64 a (*.f64 (*.f64 b b) (*.f64 z (neg.f64 z))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z))))
(*.f64 (*.f64 a (*.f64 b b)) (*.f64 z (neg.f64 z)))
(*.f64 a (*.f64 (*.f64 b b) (*.f64 z (neg.f64 z))))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(+.f64 (*.f64 a (pow.f64 t 2)) (*.f64 -1 (*.f64 a (*.f64 (pow.f64 b 2) (pow.f64 z 2)))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(*.f64 a (-.f64 (pow.f64 t 2) (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(fma.f64 a (*.f64 t t) (neg.f64 (*.f64 a (*.f64 (*.f64 b b) (*.f64 z z)))))
(*.f64 a (-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b)))))
(*.f64 a (*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t)))
(*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2)))
(neg.f64 (*.f64 (*.f64 b b) (*.f64 z z)))
(*.f64 (*.f64 b b) (*.f64 z (neg.f64 z)))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(pow.f64 t 2)
(*.f64 t t)
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(pow.f64 t 2)
(*.f64 t t)
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(pow.f64 t 2)
(*.f64 t t)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 b 2) (pow.f64 z 2))) (pow.f64 t 2))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 b 2) (pow.f64 z 2))) (pow.f64 t 2))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 b 2) (pow.f64 z 2))) (pow.f64 t 2))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(*.f64 -1 (*.f64 (pow.f64 b 2) (pow.f64 z 2)))
(neg.f64 (*.f64 (*.f64 b b) (*.f64 z z)))
(*.f64 (*.f64 b b) (*.f64 z (neg.f64 z)))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(*.f64 -1 (*.f64 (pow.f64 b 2) (pow.f64 z 2)))
(neg.f64 (*.f64 (*.f64 b b) (*.f64 z z)))
(*.f64 (*.f64 b b) (*.f64 z (neg.f64 z)))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 b 2) (pow.f64 z 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(pow.f64 t 2)
(*.f64 t t)
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2)))
(neg.f64 (*.f64 (*.f64 b b) (*.f64 z z)))
(*.f64 (*.f64 b b) (*.f64 z (neg.f64 z)))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2)))
(neg.f64 (*.f64 (*.f64 b b) (*.f64 z z)))
(*.f64 (*.f64 b b) (*.f64 z (neg.f64 z)))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(+.f64 (pow.f64 t 2) (*.f64 -1 (*.f64 (pow.f64 z 2) (pow.f64 b 2))))
(-.f64 (*.f64 t t) (*.f64 (*.f64 b b) (*.f64 z z)))
(-.f64 (*.f64 t t) (*.f64 z (*.f64 z (*.f64 b b))))
(*.f64 (fma.f64 z b t) (fma.f64 b (neg.f64 z) t))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 z 2) (pow.f64 b 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))
(*.f64 (pow.f64 b 2) (pow.f64 z 2))
(*.f64 (*.f64 b b) (*.f64 z z))
(*.f64 z (*.f64 z (*.f64 b b)))

eval288.0ms (1.5%)

Compiler

Compiled 12286 to 4297 computations (65% saved)

prune273.0ms (1.5%)

Pruning

21 alts after pruning (11 fresh and 10 done)

PrunedKeptTotal
New7045709
Fresh4610
Picked101
Done01010
Total70921730
Error
0b
Counts
730 → 21
Alt Table
Click to see full alt table
StatusErrorProgram
27.3b
(+.f64 (*.f64 a t) x)
29.8b
(+.f64 (*.f64 z (/.f64 1 (/.f64 (fma.f64 a b (neg.f64 y)) (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y))))) x)
33.3b
(+.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y y)) z) (fma.f64 a b (neg.f64 y))) x)
53.0b
(*.f64 z (*.f64 a b))
14.5b
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x)
35.9b
(fma.f64 t a (*.f64 y z))
51.9b
(/.f64 (*.f64 (-.f64 (*.f64 t t) (*.f64 (*.f64 (*.f64 b z) z) b)) a) (-.f64 t (*.f64 b z)))
41.3b
(*.f64 (+.f64 t (*.f64 b z)) a)
50.5b
(*.f64 t a)
29.7b
(+.f64 (*.f64 z (*.f64 a b)) x)
53.0b
(*.f64 b (*.f64 a z))
39.5b
x
38.5b
(+.f64 (*.f64 z y) (*.f64 (*.f64 a z) b))
35.9b
(+.f64 (*.f64 y z) (*.f64 a t))
53.3b
(*.f64 (*.f64 z b) a)
18.1b
(+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)
18.2b
(+.f64 (+.f64 (*.f64 a t) x) (*.f64 (*.f64 a z) b))
24.6b
(+.f64 (*.f64 y z) x)
39.7b
(+.f64 (*.f64 z (*.f64 (+.f64 (pow.f64 (*.f64 a b) 3) (pow.f64 y 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 a b) 2) (*.f64 y (-.f64 y (*.f64 a b))))))) x)
38.5b
(*.f64 z (+.f64 (*.f64 a b) y))
48.2b
(*.f64 z y)
Compiler

Compiled 318 to 215 computations (32.4% saved)

regimes685.0ms (3.7%)

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

7 calls:

189.0ms
t
179.0ms
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
98.0ms
a
84.0ms
z
67.0ms
b
Results
ErrorSegmentsBranch
1.8b1x
1.8b1y
0.1b3z
1.8b1t
0.6b2a
0.8b2b
1.8b1(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
Compiler

Compiled 490 to 173 computations (64.7% saved)

bsearch43.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
3.776360276973203e+64
3.2064425416467697e+65
27.0ms
-8.086234189914132e+21
-4.607641485389623e+20
Compiler

Compiled 67 to 44 computations (34.3% saved)

regimes522.0ms (2.8%)

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

7 calls:

201.0ms
z
176.0ms
b
46.0ms
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
35.0ms
a
18.0ms
t
Results
ErrorSegmentsBranch
1.8b1x
1.8b1y
0.2b3z
1.8b1t
0.6b2a
0.8b2b
1.8b1(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
Compiler

Compiled 418 to 142 computations (66% saved)

bsearch209.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
157.0ms
4.4318531566821476e-91
4.160917880627897e-82
52.0ms
-0.00011966967526124306
-8.3949552870448e-7
Compiler

Compiled 30 to 21 computations (30% saved)

regimes169.0ms (0.9%)

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

7 calls:

52.0ms
z
30.0ms
b
17.0ms
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
16.0ms
a
16.0ms
t
Results
ErrorSegmentsBranch
1.8b1x
1.8b1y
1.8b1z
1.8b1t
1.8b1a
0.8b2b
1.8b1(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
Compiler

Compiled 312 to 107 computations (65.7% saved)

bsearch158.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
158.0ms
2.335634592166482e-15
4.927007074035136e-9
Compiler

Compiled 30 to 21 computations (30% saved)

regimes108.0ms (0.6%)

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

6 calls:

36.0ms
y
14.0ms
a
14.0ms
b
13.0ms
x
12.0ms
t
Results
ErrorSegmentsBranch
1.8b1x
1.8b1y
1.8b1z
1.8b1t
1.8b1a
1.8b1b
Compiler

Compiled 214 to 75 computations (65% saved)

regimes597.0ms (3.2%)

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

6 calls:

189.0ms
b
176.0ms
t
72.0ms
x
65.0ms
a
56.0ms
z
Results
ErrorSegmentsBranch
8.0b4x
7.3b3y
5.8b4z
6.7b3t
6.2b3a
5.8b3b
Compiler

Compiled 201 to 74 computations (63.2% saved)

bsearch239.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
88.0ms
4.496314084547616e+114
9.559849766465658e+115
151.0ms
-7.508810351864106e-39
-3.5878019857069354e-40
Compiler

Compiled 268 to 182 computations (32.1% saved)

regimes570.0ms (3.1%)

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

6 calls:

182.0ms
t
67.0ms
a
53.0ms
z
47.0ms
b
43.0ms
x
Results
ErrorSegmentsBranch
8.0b4x
7.3b3y
5.8b4z
6.7b3t
6.2b3a
6.8b3b
Compiler

Compiled 190 to 73 computations (61.6% saved)

bsearch237.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
27.0ms
9.121290013732101e-8
1.1994354778072748e-7
162.0ms
-1.1328118981900156e-255
-2.6228220478335295e-260
47.0ms
-0.00011966967526124306
-8.3949552870448e-7
Compiler

Compiled 30 to 21 computations (30% saved)

regimes624.0ms (3.3%)

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

6 calls:

179.0ms
a
170.0ms
z
79.0ms
b
75.0ms
t
60.0ms
y
Results
ErrorSegmentsBranch
8.9b6x
10.1b5y
7.4b3z
6.7b9t
7.1b3a
10.9b4b
Compiler

Compiled 152 to 69 computations (54.6% saved)

bsearch470.0ms (2.5%)

Algorithm
binary-search
Steps
TimeLeftRight
155.0ms
4.349970787462654e+107
2.358030466450478e+147
34.0ms
5.5564425779898784e+51
1.353578189990726e+53
33.0ms
1.0341013562544121
229.3194768977306
24.0ms
-9.756897735676488e-53
-1.2472194076665383e-56
32.0ms
-1.0095861082384868e-24
-1.7765867210721695e-25
31.0ms
-5.300031462110169e+31
-4.5918465084466745e+26
24.0ms
-7.967264116071019e+68
-2.787132978813964e+68
137.0ms
-3.5179267389950054e+134
-1.3220098609057801e+126
Compiler

Compiled 678 to 471 computations (30.5% saved)

regimes275.0ms (1.5%)

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

6 calls:

59.0ms
t
57.0ms
b
56.0ms
y
40.0ms
x
34.0ms
z
Results
ErrorSegmentsBranch
11.5b5x
11.5b7y
12.4b3z
12.9b7t
9.5b3a
13.7b7b
Compiler

Compiled 143 to 68 computations (52.4% saved)

bsearch48.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
23.0ms
9.750250438381509e-147
3.754107130704367e-144
25.0ms
-2.882361394296282e-48
-1.2898328860277062e-49
Compiler

Compiled 30 to 21 computations (30% saved)

regimes364.0ms (2%)

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

6 calls:

83.0ms
t
70.0ms
a
68.0ms
x
52.0ms
y
47.0ms
z
Results
ErrorSegmentsBranch
11.6b9x
16.3b7y
17.0b6z
13.3b11t
14.8b7a
17.6b5b
Compiler

Compiled 134 to 65 computations (51.5% saved)

bsearch281.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
23.0ms
1.789820708801463e+51
3.021639008889832e+51
25.0ms
3339641572.0928273
183156251758.78082
77.0ms
2.2483491753769737e-8
0.005673590723702407
52.0ms
4.965198060111953e-93
1.2789956497972289e-85
32.0ms
1.9210257740025723e-265
5.9468442373199394e-260
24.0ms
-5.965355785483692e-237
-2.3536714006056888e-240
25.0ms
-8.401835841823392e-81
-4.834755068678527e-83
25.0ms
-6.403399738490304e-31
-1.0385354659285998e-35
Compiler

Compiled 30 to 21 computations (30% saved)

regimes413.0ms (2.2%)

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

6 calls:

75.0ms
y
74.0ms
a
72.0ms
b
69.0ms
x
65.0ms
t
Results
ErrorSegmentsBranch
11.9b9x
16.5b7y
18.1b3z
14.5b8t
15.8b7a
17.6b5b
Compiler

Compiled 127 to 62 computations (51.2% saved)

bsearch207.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
23.0ms
1.789820708801463e+51
3.021639008889832e+51
39.0ms
3339641572.0928273
183156251758.78082
23.0ms
2.2483491753769737e-8
0.005673590723702407
24.0ms
4.965198060111953e-93
1.2789956497972289e-85
23.0ms
1.9210257740025723e-265
5.9468442373199394e-260
24.0ms
-5.965355785483692e-237
-2.3536714006056888e-240
24.0ms
-5.556884527388353e-78
-1.3030636958436786e-79
24.0ms
-6.403399738490304e-31
-1.0385354659285998e-35
Compiler

Compiled 30 to 21 computations (30% saved)

regimes576.0ms (3.1%)

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

6 calls:

135.0ms
x
131.0ms
a
95.0ms
t
90.0ms
z
63.0ms
y
Results
ErrorSegmentsBranch
11.9b9x
16.5b7y
18.1b3z
14.5b8t
15.8b7a
18.1b5b
Compiler

Compiled 113 to 60 computations (46.9% saved)

bsearch289.0ms (1.6%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
1.789820708801463e+51
3.021639008889832e+51
48.0ms
3339641572.0928273
183156251758.78082
25.0ms
2.2483491753769737e-8
0.005673590723702407
25.0ms
4.965198060111953e-93
1.2789956497972289e-85
43.0ms
1.9210257740025723e-265
5.9468442373199394e-260
46.0ms
-5.965355785483692e-237
-2.3536714006056888e-240
45.0ms
-5.556884527388353e-78
-1.3030636958436786e-79
31.0ms
-6.403399738490304e-31
-1.0385354659285998e-35
Compiler

Compiled 30 to 21 computations (30% saved)

regimes398.0ms (2.1%)

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

6 calls:

71.0ms
t
68.0ms
a
58.0ms
y
57.0ms
b
53.0ms
z
Results
ErrorSegmentsBranch
13.4b7x
16.5b7y
18.6b3z
14.4b9t
15.8b7a
18.1b5b
Compiler

Compiled 106 to 58 computations (45.3% saved)

bsearch155.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
1.789820708801463e+51
3.021639008889832e+51
26.0ms
3339641572.0928273
183156251758.78082
26.0ms
2.2483491753769737e-8
0.005673590723702407
29.0ms
4.965198060111953e-93
1.2789956497972289e-85
24.0ms
-5.556884527388353e-78
-1.3030636958436786e-79
26.0ms
-6.403399738490304e-31
-1.0385354659285998e-35
Compiler

Compiled 30 to 21 computations (30% saved)

regimes440.0ms (2.4%)

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

6 calls:

124.0ms
x
110.0ms
t
60.0ms
a
51.0ms
y
45.0ms
z
Results
ErrorSegmentsBranch
18.3b8x
16.5b7y
18.6b3z
16.0b7t
17.0b5a
17.2b7b
Compiler

Compiled 99 to 57 computations (42.4% saved)

bsearch804.0ms (4.3%)

Algorithm
binary-search
Steps
TimeLeftRight
26.0ms
7.830329276068105e-31
3.356121001722443e-10
26.0ms
4.938764174122652e-280
3.13838869666221e-279
26.0ms
-5.978744050236661e-233
-2.778367095606149e-236
25.0ms
-5.300031462110169e+31
-4.5918465084466745e+26
469.0ms
-5.585712138121227e+96
-2.162279652365572e+89
232.0ms
-3.5179267389950054e+134
-1.3220098609057801e+126
Compiler

Compiled 462 to 345 computations (25.3% saved)

regimes304.0ms (1.6%)

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

6 calls:

68.0ms
t
68.0ms
b
50.0ms
a
47.0ms
x
44.0ms
y
Results
ErrorSegmentsBranch
18.5b8x
16.5b7y
18.6b3z
16.4b7t
18.5b3a
17.4b7b
Compiler

Compiled 92 to 55 computations (40.2% saved)

bsearch573.0ms (3.1%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
7.830329276068105e-31
3.356121001722443e-10
58.0ms
4.938764174122652e-280
3.13838869666221e-279
24.0ms
-1.9740308522548582e-255
-4.3453718060303646e-259
56.0ms
-5.300031462110169e+31
-4.5918465084466745e+26
243.0ms
-5.585712138121227e+96
-2.162279652365572e+89
167.0ms
-3.5179267389950054e+134
-1.3220098609057801e+126
Compiler

Compiled 462 to 345 computations (25.3% saved)

regimes259.0ms (1.4%)

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

6 calls:

72.0ms
x
64.0ms
y
48.0ms
b
30.0ms
t
26.0ms
a
Results
ErrorSegmentsBranch
18.5b8x
19.1b5y
18.6b3z
18.4b5t
18.5b3a
19.9b5b
Compiler

Compiled 85 to 54 computations (36.5% saved)

bsearch767.0ms (4.1%)

Algorithm
binary-search
Steps
TimeLeftRight
70.0ms
7.830329276068105e-31
3.356121001722443e-10
62.0ms
-5.300031462110169e+31
-4.5918465084466745e+26
490.0ms
-5.585712138121227e+96
-2.162279652365572e+89
145.0ms
-3.5179267389950054e+134
-1.3220098609057801e+126
Compiler

Compiled 462 to 345 computations (25.3% saved)

regimes58.0ms (0.3%)

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

6 calls:

19.0ms
z
13.0ms
x
12.0ms
t
4.0ms
b
4.0ms
y
Results
ErrorSegmentsBranch
22.6b3x
24.6b1y
22.3b5z
22.9b2t
24.6b1a
24.6b1b
Compiler

Compiled 60 to 46 computations (23.3% saved)

bsearch222.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
32.0ms
1.4042096399570052e-291
4.788938685311838e-288
104.0ms
-3.4224304329795645e-302
-5.1278469882263855e-307
25.0ms
-2.602932285226193e-72
-2.867679167940388e-76
61.0ms
-4.268815121260368e-48
-2.209120527456171e-48
Compiler

Compiled 30 to 21 computations (30% saved)

regimes195.0ms (1%)

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

6 calls:

66.0ms
t
59.0ms
z
24.0ms
a
20.0ms
x
17.0ms
b
Results
ErrorSegmentsBranch
29.1b4x
36.7b2y
33.2b7z
31.7b7t
34.9b6a
37.0b5b
Compiler

Compiled 55 to 44 computations (20% saved)

bsearch84.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
1.1254396580877976e-21
1.3226705845151008e-18
29.0ms
3.741837837039182e-307
2.9846447341727072e-294
30.0ms
-2.341221650485404e+70
-7.785687641069111e+52
Compiler

Compiled 30 to 21 computations (30% saved)

regimes108.0ms (0.6%)

Accuracy

Total -30.9b remaining (-98.3%)

Threshold costs -30.9b (-98.3%)

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

6 calls:

66.0ms
z
12.0ms
t
12.0ms
x
10.0ms
a
3.0ms
b
Results
ErrorSegmentsBranch
31.5b3x
39.5b1y
35.5b7z
33.9b3t
37.7b2a
39.5b1b
Compiler

Compiled 52 to 43 computations (17.3% saved)

bsearch59.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
1.1254396580877976e-21
1.3226705845151008e-18
34.0ms
-5.556884527388353e-78
-1.3030636958436786e-79
Compiler

Compiled 30 to 21 computations (30% saved)

simplify73.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01871356
12161356
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 z -8086234189914132447232) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x)) (if (<=.f64 z 99999999999999999209038626283633850822756121694230455365568299008) (fma.f64 y z (fma.f64 a (fma.f64 z b t) x)) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))))
(if (<=.f64 z -1103757936464041/9223372036854775808) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x)) (if (<=.f64 z 2032889816224347/4586997231980143023221641790604173881593129978336562247475177678773845752176969616140037106220251373109248) (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (pow.f64 (cbrt.f64 (*.f64 a (*.f64 z b))) 3)) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))))
(if (<=.f64 b 5921537185347313/2535301200456458802993406410752) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x)) (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(if (<=.f64 b -1438402297679921/191561942608236107294793378393788647952342390272950272) (+.f64 (+.f64 (*.f64 y z) x) (*.f64 (*.f64 a z) b)) (if (<=.f64 b 94999999999999997103643082733326238560474678472258105463789343354504336359110578990267613643177661082213242636337152) (+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) (+.f64 (+.f64 (*.f64 a t) x) (*.f64 (*.f64 a z) b))))
(if (<=.f64 z -1103757936464041/9223372036854775808) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x) (if (<=.f64 z -2393833322476789/2113178124542660985409359139666066426075389304144486088511842836106695610226899437897669023550628751578697579973028514715529390238010742149002155913851758307633546735996020336674926070705705764212096931632844753616592113171006246955353587595068145905958154323590951993344) (+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) (if (<=.f64 z 6891851878621133/75557863725914323419136) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))))
(if (<=.f64 t -350000000000000002779453532678407637556727192715699017566552648391932096611100470115714736162865562564329259354047671356353766313951232) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x) (if (<=.f64 t -796726411607101932172941711731119026851492347783402606563050091708416) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x) (if (<=.f64 t -53000314621101693771131918483456) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x) (if (<=.f64 t -5496709608350257/5444517870735015415413993718908291383296) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x) (if (<=.f64 t -5260908851813619/53919893334301279589334030174039261347274288845081144962207220498432) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 t 4657178482690695/4503599627370496) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x) (if (<=.f64 t 5556442577989878357878386154379019781306605386072064) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x) (if (<=.f64 t 2350000000000000143487445119400867524077694703922425261739965232135257149190165082472616285660706069843153620507938430108111567603629650788885725184) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x) (+.f64 (*.f64 y z) (*.f64 a t))))))))))
(if (<=.f64 a -2371469405080619/822752278660603021077484591278675252491367932816789931674304512) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x) (if (<=.f64 a 2193276809874271/224945689727159819140526925384299092943484855915095831655037778630591879033574393515952034305194542857496045531676044756160413302774714984450425759043258192756736) (+.f64 (*.f64 y z) x) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)))
(if (<=.f64 x -7311390001787387/11417981541647679048466287755595961091061972992) (+.f64 (*.f64 y z) x) (if (<=.f64 x -4486553109017603/533996758980227520598755426542388028650676130589163192486760401955554931445160137505740521734144) (*.f64 (+.f64 t (*.f64 b z)) a) (if (<=.f64 x -2733460018879779/458222462695599379270700542938797415851547826754730440471063195236977024085646466549524548253194054006869752147503995521190349772113174027207120416665033273928205988927667393636268820183663660419920640131707923959614888857707801337845740593703588724736) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 x 6974115741121693/36304123742133375556593322708737806643829594767075060035541305159080582450205184901005085803128817153071257905034008131114613897596311174506612074733945181293529561534361813328678867427595159591558574115780064384913763396164010744339772923348355910229786257457376560371673958711296) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 x 1457622384509869/293567822846729153486185074598667128421960318613539983838411371441526128139326055432962374798096087878991872) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 x 6795218424056209/302231454903657293676544) (+.f64 x (*.f64 (*.f64 a z) b)) (if (<=.f64 x 7003736002197617/2097152) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 x 1789820708801462890080081972720702457671698515755008) (+.f64 (*.f64 a t) x) (+.f64 (*.f64 y z) x)))))))))
(if (<=.f64 x -7311390001787387/11417981541647679048466287755595961091061972992) (+.f64 (*.f64 y z) x) (if (<=.f64 x -5795621733696785/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (+.f64 (*.f64 a (*.f64 z b)) x) (if (<=.f64 x -2733460018879779/458222462695599379270700542938797415851547826754730440471063195236977024085646466549524548253194054006869752147503995521190349772113174027207120416665033273928205988927667393636268820183663660419920640131707923959614888857707801337845740593703588724736) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 x 6974115741121693/36304123742133375556593322708737806643829594767075060035541305159080582450205184901005085803128817153071257905034008131114613897596311174506612074733945181293529561534361813328678867427595159591558574115780064384913763396164010744339772923348355910229786257457376560371673958711296) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 x 1457622384509869/293567822846729153486185074598667128421960318613539983838411371441526128139326055432962374798096087878991872) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 x 6795218424056209/302231454903657293676544) (+.f64 x (*.f64 (*.f64 a z) b)) (if (<=.f64 x 7003736002197617/2097152) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 x 1789820708801462890080081972720702457671698515755008) (+.f64 (*.f64 a t) x) (+.f64 (*.f64 y z) x)))))))))
(if (<=.f64 x -7311390001787387/11417981541647679048466287755595961091061972992) (+.f64 (*.f64 y z) x) (if (<=.f64 x -5795621733696785/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (+.f64 (*.f64 a (*.f64 z b)) x) (if (<=.f64 x -2733460018879779/458222462695599379270700542938797415851547826754730440471063195236977024085646466549524548253194054006869752147503995521190349772113174027207120416665033273928205988927667393636268820183663660419920640131707923959614888857707801337845740593703588724736) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 x 6974115741121693/36304123742133375556593322708737806643829594767075060035541305159080582450205184901005085803128817153071257905034008131114613897596311174506612074733945181293529561534361813328678867427595159591558574115780064384913763396164010744339772923348355910229786257457376560371673958711296) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 x 1457622384509869/293567822846729153486185074598667128421960318613539983838411371441526128139326055432962374798096087878991872) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 x 6795218424056209/302231454903657293676544) (+.f64 (*.f64 z (*.f64 a b)) x) (if (<=.f64 x 7003736002197617/2097152) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 x 1789820708801462890080081972720702457671698515755008) (+.f64 (*.f64 a t) x) (+.f64 (*.f64 y z) x)))))))))
(if (<=.f64 x -7311390001787387/11417981541647679048466287755595961091061972992) (+.f64 (*.f64 y z) x) (if (<=.f64 x -5795621733696785/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (+.f64 (*.f64 a (*.f64 z b)) x) (if (<=.f64 x 1457622384509869/293567822846729153486185074598667128421960318613539983838411371441526128139326055432962374798096087878991872) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 x 6795218424056209/302231454903657293676544) (+.f64 (*.f64 z (*.f64 a b)) x) (if (<=.f64 x 7003736002197617/2097152) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 x 1789820708801462890080081972720702457671698515755008) (+.f64 (*.f64 a t) x) (+.f64 (*.f64 y z) x)))))))
(if (<=.f64 t -350000000000000002779453532678407637556727192715699017566552648391932096611100470115714736162865562564329259354047671356353766313951232) (+.f64 (*.f64 a t) x) (if (<=.f64 t -220000000000000001672761769067385778428024144180170411692245963411188611778847181369245696) (+.f64 (*.f64 y z) x) (if (<=.f64 t -53000314621101693771131918483456) (+.f64 (*.f64 a t) x) (if (<=.f64 t -3344231961091437/55935359215771408602380437370458668927190896820645805721565331449826296885454890936221258331688727295760467791443358828270306368666158938868056691487430819571314207632771898637239846213826130422353593766077627436476426862513159342998747631067332608) (+.f64 (*.f64 y z) x) (if (<=.f64 t 5046776124415969/10218702384817765435680628290748613458265350453429542612493041881278524886369096016818984783322294789577433327842265575649138882500575199542984559607218336872038429045509558663769793133795138494375185186532064890845853749530218856391110938974453986086436459043203870933208875495579361330830770176) (+.f64 (*.f64 a (*.f64 z b)) x) (if (<=.f64 t 4470327756958453/5708990770823839524233143877797980545530986496) (+.f64 (*.f64 y z) x) (+.f64 (*.f64 a t) x)))))))
(if (<=.f64 t -350000000000000002779453532678407637556727192715699017566552648391932096611100470115714736162865562564329259354047671356353766313951232) (+.f64 (*.f64 a t) x) (if (<=.f64 t -220000000000000001672761769067385778428024144180170411692245963411188611778847181369245696) (+.f64 (*.f64 y z) x) (if (<=.f64 t -53000314621101693771131918483456) (+.f64 (*.f64 a t) x) (if (<=.f64 t -521434851769659/264147265567832623176169892458258303259423663018060761063980354513336951278362429737208627943828593947337197496628564339441173779751342768625269489231469788454193341999502542084365758838213220526512116454105594202074014146375780869419198449383518238244769290448868999168) (+.f64 (*.f64 y z) x) (if (<=.f64 t 5046776124415969/10218702384817765435680628290748613458265350453429542612493041881278524886369096016818984783322294789577433327842265575649138882500575199542984559607218336872038429045509558663769793133795138494375185186532064890845853749530218856391110938974453986086436459043203870933208875495579361330830770176) (+.f64 (*.f64 z (*.f64 a b)) x) (if (<=.f64 t 4470327756958453/5708990770823839524233143877797980545530986496) (+.f64 (*.f64 y z) x) (+.f64 (*.f64 a t) x)))))))
(if (<=.f64 t -350000000000000002779453532678407637556727192715699017566552648391932096611100470115714736162865562564329259354047671356353766313951232) (+.f64 (*.f64 a t) x) (if (<=.f64 t -220000000000000001672761769067385778428024144180170411692245963411188611778847181369245696) (+.f64 (*.f64 y z) x) (if (<=.f64 t -53000314621101693771131918483456) (+.f64 (*.f64 a t) x) (if (<=.f64 t 4470327756958453/5708990770823839524233143877797980545530986496) (+.f64 (*.f64 y z) x) (+.f64 (*.f64 a t) x)))))
(if (<=.f64 z -1756088684098903/411376139330301510538742295639337626245683966408394965837152256) (+.f64 (*.f64 y z) x) (if (<=.f64 z -5177994832976849/1989292945639146568621528992587283360401824603189390869761855907572637988050133502132224) (*.f64 t a) (if (<=.f64 z -3303087384331601/96512915280967053581473992690523770832804036027976092508745841039385957511899636693935577250212251899331606800230413394637016647999665010865694713564271216355093681467326336557610944624945266886348613585697529348641399137222620343503047635864810732050328281646899590278784472758879901186078227762530329829839567060992) (+.f64 (*.f64 y z) x) (if (<=.f64 z 1972139085670463/1404447761611184302913519680303925573139044514798677009948672509044786529730476274474284979081308875165000889686495260606709295068862629863225370551870891596701311667381761603721111090634735110308227210563164107569048052205800491261514946176100212790338675864723330454999587858894372783631526221325189251072) (*.f64 t a) (+.f64 (*.f64 y z) x)))))
(if (<=.f64 x -23412216504854038957942111390263589150934910605845168867070551665934336) x (if (<=.f64 x 1183369390198881/3162535207926728411757739792483082922649322652564720599326583719178599055749927295186880995334955070237298091629950186115465761521653023076047084374074039217523709754321349396319795433470206505331871369976136641696281366928510823415907864932018118067825157133005605774255209603362976602065411367322593847864182933454585856) (*.f64 z y) (if (<=.f64 x 5983863604387617/5316911983139663491615228241121378304) (*.f64 t a) x)))
(if (<=.f64 x -5795621733696785/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) x (if (<=.f64 x 5983863604387617/5316911983139663491615228241121378304) (*.f64 t a) x))
x
Outputs
(if (<=.f64 z -8086234189914132447232) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x)) (if (<=.f64 z 99999999999999999209038626283633850822756121694230455365568299008) (fma.f64 y z (fma.f64 a (fma.f64 z b t) x)) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))))
(if (<=.f64 z -8086234189914132447232) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 x (*.f64 a t))) (if (<=.f64 z 99999999999999999209038626283633850822756121694230455365568299008) (fma.f64 y z (fma.f64 a (fma.f64 z b t) x)) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 x (*.f64 a t)))))
(if (<=.f64 z -1103757936464041/9223372036854775808) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x)) (if (<=.f64 z 2032889816224347/4586997231980143023221641790604173881593129978336562247475177678773845752176969616140037106220251373109248) (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (pow.f64 (cbrt.f64 (*.f64 a (*.f64 z b))) 3)) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))))
(if (<=.f64 z -1103757936464041/9223372036854775808) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 x (*.f64 a t))) (if (<=.f64 z 2032889816224347/4586997231980143023221641790604173881593129978336562247475177678773845752176969616140037106220251373109248) (+.f64 (+.f64 (*.f64 a t) (+.f64 x (*.f64 z y))) (pow.f64 (cbrt.f64 (*.f64 a (*.f64 z b))) 3)) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 x (*.f64 a t)))))
(if (<=.f64 b 5921537185347313/2535301200456458802993406410752) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x)) (+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b)))
(if (<=.f64 b 5921537185347313/2535301200456458802993406410752) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 x (*.f64 a t))) (+.f64 (+.f64 (*.f64 a t) (+.f64 x (*.f64 z y))) (*.f64 b (*.f64 z a))))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 (*.f64 a t) x))
(+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) (+.f64 x (*.f64 a t)))
(if (<=.f64 b -1438402297679921/191561942608236107294793378393788647952342390272950272) (+.f64 (+.f64 (*.f64 y z) x) (*.f64 (*.f64 a z) b)) (if (<=.f64 b 94999999999999997103643082733326238560474678472258105463789343354504336359110578990267613643177661082213242636337152) (+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) (+.f64 (+.f64 (*.f64 a t) x) (*.f64 (*.f64 a z) b))))
(if (<=.f64 b -1438402297679921/191561942608236107294793378393788647952342390272950272) (+.f64 (*.f64 b (*.f64 z a)) (+.f64 x (*.f64 z y))) (if (<=.f64 b 94999999999999997103643082733326238560474678472258105463789343354504336359110578990267613643177661082213242636337152) (+.f64 (+.f64 x (*.f64 a t)) (*.f64 z y)) (+.f64 (+.f64 x (*.f64 a t)) (*.f64 b (*.f64 z a)))))
(if (<=.f64 z -1103757936464041/9223372036854775808) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x) (if (<=.f64 z -2393833322476789/2113178124542660985409359139666066426075389304144486088511842836106695610226899437897669023550628751578697579973028514715529390238010742149002155913851758307633546735996020336674926070705705764212096931632844753616592113171006246955353587595068145905958154323590951993344) (+.f64 (*.f64 y z) (+.f64 (*.f64 a t) x)) (if (<=.f64 z 6891851878621133/75557863725914323419136) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))))
(if (<=.f64 z -1103757936464041/9223372036854775808) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x) (if (<=.f64 z -2393833322476789/2113178124542660985409359139666066426075389304144486088511842836106695610226899437897669023550628751578697579973028514715529390238010742149002155913851758307633546735996020336674926070705705764212096931632844753616592113171006246955353587595068145905958154323590951993344) (+.f64 (+.f64 x (*.f64 a t)) (*.f64 z y)) (if (<=.f64 z 6891851878621133/75557863725914323419136) (+.f64 x (*.f64 a (+.f64 t (*.f64 z b)))) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x))))
(if (<=.f64 t -350000000000000002779453532678407637556727192715699017566552648391932096611100470115714736162865562564329259354047671356353766313951232) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x) (if (<=.f64 t -796726411607101932172941711731119026851492347783402606563050091708416) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x) (if (<=.f64 t -53000314621101693771131918483456) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x) (if (<=.f64 t -5496709608350257/5444517870735015415413993718908291383296) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x) (if (<=.f64 t -5260908851813619/53919893334301279589334030174039261347274288845081144962207220498432) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 t 4657178482690695/4503599627370496) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x) (if (<=.f64 t 5556442577989878357878386154379019781306605386072064) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x) (if (<=.f64 t 2350000000000000143487445119400867524077694703922425261739965232135257149190165082472616285660706069843153620507938430108111567603629650788885725184) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x) (+.f64 (*.f64 y z) (*.f64 a t))))))))))
(if (<=.f64 t -350000000000000002779453532678407637556727192715699017566552648391932096611100470115714736162865562564329259354047671356353766313951232) (+.f64 x (*.f64 a (+.f64 t (*.f64 z b)))) (if (<=.f64 t -796726411607101932172941711731119026851492347783402606563050091708416) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x) (if (<=.f64 t -53000314621101693771131918483456) (+.f64 x (*.f64 a (+.f64 t (*.f64 z b)))) (if (<=.f64 t -5496709608350257/5444517870735015415413993718908291383296) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x) (if (<=.f64 t -5260908851813619/53919893334301279589334030174039261347274288845081144962207220498432) (+.f64 (*.f64 z y) (*.f64 a t)) (if (<=.f64 t 4657178482690695/4503599627370496) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x) (if (<=.f64 t 5556442577989878357878386154379019781306605386072064) (+.f64 x (*.f64 a (+.f64 t (*.f64 z b)))) (if (<=.f64 t 2350000000000000143487445119400867524077694703922425261739965232135257149190165082472616285660706069843153620507938430108111567603629650788885725184) (+.f64 (*.f64 z (+.f64 (*.f64 a b) y)) x) (+.f64 (*.f64 z y) (*.f64 a t))))))))))
(if (<=.f64 a -2371469405080619/822752278660603021077484591278675252491367932816789931674304512) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x) (if (<=.f64 a 2193276809874271/224945689727159819140526925384299092943484855915095831655037778630591879033574393515952034305194542857496045531676044756160413302774714984450425759043258192756736) (+.f64 (*.f64 y z) x) (+.f64 (*.f64 a (+.f64 (*.f64 z b) t)) x)))
(if (<=.f64 a -2371469405080619/822752278660603021077484591278675252491367932816789931674304512) (+.f64 x (*.f64 a (+.f64 t (*.f64 z b)))) (if (<=.f64 a 2193276809874271/224945689727159819140526925384299092943484855915095831655037778630591879033574393515952034305194542857496045531676044756160413302774714984450425759043258192756736) (+.f64 x (*.f64 z y)) (+.f64 x (*.f64 a (+.f64 t (*.f64 z b))))))
(if (<=.f64 x -7311390001787387/11417981541647679048466287755595961091061972992) (+.f64 (*.f64 y z) x) (if (<=.f64 x -4486553109017603/533996758980227520598755426542388028650676130589163192486760401955554931445160137505740521734144) (*.f64 (+.f64 t (*.f64 b z)) a) (if (<=.f64 x -2733460018879779/458222462695599379270700542938797415851547826754730440471063195236977024085646466549524548253194054006869752147503995521190349772113174027207120416665033273928205988927667393636268820183663660419920640131707923959614888857707801337845740593703588724736) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 x 6974115741121693/36304123742133375556593322708737806643829594767075060035541305159080582450205184901005085803128817153071257905034008131114613897596311174506612074733945181293529561534361813328678867427595159591558574115780064384913763396164010744339772923348355910229786257457376560371673958711296) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 x 1457622384509869/293567822846729153486185074598667128421960318613539983838411371441526128139326055432962374798096087878991872) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 x 6795218424056209/302231454903657293676544) (+.f64 x (*.f64 (*.f64 a z) b)) (if (<=.f64 x 7003736002197617/2097152) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 x 1789820708801462890080081972720702457671698515755008) (+.f64 (*.f64 a t) x) (+.f64 (*.f64 y z) x)))))))))
(if (<=.f64 x -7311390001787387/11417981541647679048466287755595961091061972992) (+.f64 x (*.f64 z y)) (if (<=.f64 x -4486553109017603/533996758980227520598755426542388028650676130589163192486760401955554931445160137505740521734144) (*.f64 a (+.f64 t (*.f64 z b))) (if (<=.f64 x -2733460018879779/458222462695599379270700542938797415851547826754730440471063195236977024085646466549524548253194054006869752147503995521190349772113174027207120416665033273928205988927667393636268820183663660419920640131707923959614888857707801337845740593703588724736) (+.f64 (*.f64 z y) (*.f64 a t)) (if (<=.f64 x 6974115741121693/36304123742133375556593322708737806643829594767075060035541305159080582450205184901005085803128817153071257905034008131114613897596311174506612074733945181293529561534361813328678867427595159591558574115780064384913763396164010744339772923348355910229786257457376560371673958711296) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 x 1457622384509869/293567822846729153486185074598667128421960318613539983838411371441526128139326055432962374798096087878991872) (+.f64 (*.f64 z y) (*.f64 a t)) (if (<=.f64 x 6795218424056209/302231454903657293676544) (+.f64 x (*.f64 b (*.f64 z a))) (if (<=.f64 x 7003736002197617/2097152) (+.f64 (*.f64 z y) (*.f64 a t)) (if (<=.f64 x 1789820708801462890080081972720702457671698515755008) (+.f64 x (*.f64 a t)) (+.f64 x (*.f64 z y))))))))))
(if (<=.f64 x -7311390001787387/11417981541647679048466287755595961091061972992) (+.f64 (*.f64 y z) x) (if (<=.f64 x -5795621733696785/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (+.f64 (*.f64 a (*.f64 z b)) x) (if (<=.f64 x -2733460018879779/458222462695599379270700542938797415851547826754730440471063195236977024085646466549524548253194054006869752147503995521190349772113174027207120416665033273928205988927667393636268820183663660419920640131707923959614888857707801337845740593703588724736) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 x 6974115741121693/36304123742133375556593322708737806643829594767075060035541305159080582450205184901005085803128817153071257905034008131114613897596311174506612074733945181293529561534361813328678867427595159591558574115780064384913763396164010744339772923348355910229786257457376560371673958711296) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 x 1457622384509869/293567822846729153486185074598667128421960318613539983838411371441526128139326055432962374798096087878991872) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 x 6795218424056209/302231454903657293676544) (+.f64 x (*.f64 (*.f64 a z) b)) (if (<=.f64 x 7003736002197617/2097152) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 x 1789820708801462890080081972720702457671698515755008) (+.f64 (*.f64 a t) x) (+.f64 (*.f64 y z) x)))))))))
(if (<=.f64 x -7311390001787387/11417981541647679048466287755595961091061972992) (+.f64 x (*.f64 z y)) (if (<=.f64 x -5795621733696785/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (+.f64 x (*.f64 a (*.f64 z b))) (if (<=.f64 x -2733460018879779/458222462695599379270700542938797415851547826754730440471063195236977024085646466549524548253194054006869752147503995521190349772113174027207120416665033273928205988927667393636268820183663660419920640131707923959614888857707801337845740593703588724736) (+.f64 (*.f64 z y) (*.f64 a t)) (if (<=.f64 x 6974115741121693/36304123742133375556593322708737806643829594767075060035541305159080582450205184901005085803128817153071257905034008131114613897596311174506612074733945181293529561534361813328678867427595159591558574115780064384913763396164010744339772923348355910229786257457376560371673958711296) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 x 1457622384509869/293567822846729153486185074598667128421960318613539983838411371441526128139326055432962374798096087878991872) (+.f64 (*.f64 z y) (*.f64 a t)) (if (<=.f64 x 6795218424056209/302231454903657293676544) (+.f64 x (*.f64 b (*.f64 z a))) (if (<=.f64 x 7003736002197617/2097152) (+.f64 (*.f64 z y) (*.f64 a t)) (if (<=.f64 x 1789820708801462890080081972720702457671698515755008) (+.f64 x (*.f64 a t)) (+.f64 x (*.f64 z y))))))))))
(if (<=.f64 x -7311390001787387/11417981541647679048466287755595961091061972992) (+.f64 (*.f64 y z) x) (if (<=.f64 x -5795621733696785/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (+.f64 (*.f64 a (*.f64 z b)) x) (if (<=.f64 x -2733460018879779/458222462695599379270700542938797415851547826754730440471063195236977024085646466549524548253194054006869752147503995521190349772113174027207120416665033273928205988927667393636268820183663660419920640131707923959614888857707801337845740593703588724736) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 x 6974115741121693/36304123742133375556593322708737806643829594767075060035541305159080582450205184901005085803128817153071257905034008131114613897596311174506612074733945181293529561534361813328678867427595159591558574115780064384913763396164010744339772923348355910229786257457376560371673958711296) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 x 1457622384509869/293567822846729153486185074598667128421960318613539983838411371441526128139326055432962374798096087878991872) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 x 6795218424056209/302231454903657293676544) (+.f64 (*.f64 z (*.f64 a b)) x) (if (<=.f64 x 7003736002197617/2097152) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 x 1789820708801462890080081972720702457671698515755008) (+.f64 (*.f64 a t) x) (+.f64 (*.f64 y z) x)))))))))
(if (<=.f64 x -7311390001787387/11417981541647679048466287755595961091061972992) (+.f64 x (*.f64 z y)) (if (<=.f64 x -5795621733696785/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (+.f64 x (*.f64 a (*.f64 z b))) (if (<=.f64 x -2733460018879779/458222462695599379270700542938797415851547826754730440471063195236977024085646466549524548253194054006869752147503995521190349772113174027207120416665033273928205988927667393636268820183663660419920640131707923959614888857707801337845740593703588724736) (+.f64 (*.f64 z y) (*.f64 a t)) (if (<=.f64 x 6974115741121693/36304123742133375556593322708737806643829594767075060035541305159080582450205184901005085803128817153071257905034008131114613897596311174506612074733945181293529561534361813328678867427595159591558574115780064384913763396164010744339772923348355910229786257457376560371673958711296) (*.f64 z (+.f64 (*.f64 a b) y)) (if (<=.f64 x 1457622384509869/293567822846729153486185074598667128421960318613539983838411371441526128139326055432962374798096087878991872) (+.f64 (*.f64 z y) (*.f64 a t)) (if (<=.f64 x 6795218424056209/302231454903657293676544) (+.f64 x (*.f64 z (*.f64 a b))) (if (<=.f64 x 7003736002197617/2097152) (+.f64 (*.f64 z y) (*.f64 a t)) (if (<=.f64 x 1789820708801462890080081972720702457671698515755008) (+.f64 x (*.f64 a t)) (+.f64 x (*.f64 z y))))))))))
(if (<=.f64 x -7311390001787387/11417981541647679048466287755595961091061972992) (+.f64 (*.f64 y z) x) (if (<=.f64 x -5795621733696785/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (+.f64 (*.f64 a (*.f64 z b)) x) (if (<=.f64 x 1457622384509869/293567822846729153486185074598667128421960318613539983838411371441526128139326055432962374798096087878991872) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 x 6795218424056209/302231454903657293676544) (+.f64 (*.f64 z (*.f64 a b)) x) (if (<=.f64 x 7003736002197617/2097152) (+.f64 (*.f64 y z) (*.f64 a t)) (if (<=.f64 x 1789820708801462890080081972720702457671698515755008) (+.f64 (*.f64 a t) x) (+.f64 (*.f64 y z) x)))))))
(if (<=.f64 x -7311390001787387/11417981541647679048466287755595961091061972992) (+.f64 x (*.f64 z y)) (if (<=.f64 x -5795621733696785/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (+.f64 x (*.f64 a (*.f64 z b))) (if (<=.f64 x 1457622384509869/293567822846729153486185074598667128421960318613539983838411371441526128139326055432962374798096087878991872) (+.f64 (*.f64 z y) (*.f64 a t)) (if (<=.f64 x 6795218424056209/302231454903657293676544) (+.f64 x (*.f64 z (*.f64 a b))) (if (<=.f64 x 7003736002197617/2097152) (+.f64 (*.f64 z y) (*.f64 a t)) (if (<=.f64 x 1789820708801462890080081972720702457671698515755008) (+.f64 x (*.f64 a t)) (+.f64 x (*.f64 z y))))))))
(if (<=.f64 t -350000000000000002779453532678407637556727192715699017566552648391932096611100470115714736162865562564329259354047671356353766313951232) (+.f64 (*.f64 a t) x) (if (<=.f64 t -220000000000000001672761769067385778428024144180170411692245963411188611778847181369245696) (+.f64 (*.f64 y z) x) (if (<=.f64 t -53000314621101693771131918483456) (+.f64 (*.f64 a t) x) (if (<=.f64 t -3344231961091437/55935359215771408602380437370458668927190896820645805721565331449826296885454890936221258331688727295760467791443358828270306368666158938868056691487430819571314207632771898637239846213826130422353593766077627436476426862513159342998747631067332608) (+.f64 (*.f64 y z) x) (if (<=.f64 t 5046776124415969/10218702384817765435680628290748613458265350453429542612493041881278524886369096016818984783322294789577433327842265575649138882500575199542984559607218336872038429045509558663769793133795138494375185186532064890845853749530218856391110938974453986086436459043203870933208875495579361330830770176) (+.f64 (*.f64 a (*.f64 z b)) x) (if (<=.f64 t 4470327756958453/5708990770823839524233143877797980545530986496) (+.f64 (*.f64 y z) x) (+.f64 (*.f64 a t) x)))))))
(if (<=.f64 t -350000000000000002779453532678407637556727192715699017566552648391932096611100470115714736162865562564329259354047671356353766313951232) (+.f64 x (*.f64 a t)) (if (<=.f64 t -220000000000000001672761769067385778428024144180170411692245963411188611778847181369245696) (+.f64 x (*.f64 z y)) (if (<=.f64 t -53000314621101693771131918483456) (+.f64 x (*.f64 a t)) (if (<=.f64 t -3344231961091437/55935359215771408602380437370458668927190896820645805721565331449826296885454890936221258331688727295760467791443358828270306368666158938868056691487430819571314207632771898637239846213826130422353593766077627436476426862513159342998747631067332608) (+.f64 x (*.f64 z y)) (if (<=.f64 t 5046776124415969/10218702384817765435680628290748613458265350453429542612493041881278524886369096016818984783322294789577433327842265575649138882500575199542984559607218336872038429045509558663769793133795138494375185186532064890845853749530218856391110938974453986086436459043203870933208875495579361330830770176) (+.f64 x (*.f64 a (*.f64 z b))) (if (<=.f64 t 4470327756958453/5708990770823839524233143877797980545530986496) (+.f64 x (*.f64 z y)) (+.f64 x (*.f64 a t))))))))
(if (<=.f64 t -350000000000000002779453532678407637556727192715699017566552648391932096611100470115714736162865562564329259354047671356353766313951232) (+.f64 (*.f64 a t) x) (if (<=.f64 t -220000000000000001672761769067385778428024144180170411692245963411188611778847181369245696) (+.f64 (*.f64 y z) x) (if (<=.f64 t -53000314621101693771131918483456) (+.f64 (*.f64 a t) x) (if (<=.f64 t -521434851769659/264147265567832623176169892458258303259423663018060761063980354513336951278362429737208627943828593947337197496628564339441173779751342768625269489231469788454193341999502542084365758838213220526512116454105594202074014146375780869419198449383518238244769290448868999168) (+.f64 (*.f64 y z) x) (if (<=.f64 t 5046776124415969/10218702384817765435680628290748613458265350453429542612493041881278524886369096016818984783322294789577433327842265575649138882500575199542984559607218336872038429045509558663769793133795138494375185186532064890845853749530218856391110938974453986086436459043203870933208875495579361330830770176) (+.f64 (*.f64 z (*.f64 a b)) x) (if (<=.f64 t 4470327756958453/5708990770823839524233143877797980545530986496) (+.f64 (*.f64 y z) x) (+.f64 (*.f64 a t) x)))))))
(if (<=.f64 t -350000000000000002779453532678407637556727192715699017566552648391932096611100470115714736162865562564329259354047671356353766313951232) (+.f64 x (*.f64 a t)) (if (<=.f64 t -220000000000000001672761769067385778428024144180170411692245963411188611778847181369245696) (+.f64 x (*.f64 z y)) (if (<=.f64 t -53000314621101693771131918483456) (+.f64 x (*.f64 a t)) (if (<=.f64 t -521434851769659/264147265567832623176169892458258303259423663018060761063980354513336951278362429737208627943828593947337197496628564339441173779751342768625269489231469788454193341999502542084365758838213220526512116454105594202074014146375780869419198449383518238244769290448868999168) (+.f64 x (*.f64 z y)) (if (<=.f64 t 5046776124415969/10218702384817765435680628290748613458265350453429542612493041881278524886369096016818984783322294789577433327842265575649138882500575199542984559607218336872038429045509558663769793133795138494375185186532064890845853749530218856391110938974453986086436459043203870933208875495579361330830770176) (+.f64 x (*.f64 z (*.f64 a b))) (if (<=.f64 t 4470327756958453/5708990770823839524233143877797980545530986496) (+.f64 x (*.f64 z y)) (+.f64 x (*.f64 a t))))))))
(if (<=.f64 t -350000000000000002779453532678407637556727192715699017566552648391932096611100470115714736162865562564329259354047671356353766313951232) (+.f64 (*.f64 a t) x) (if (<=.f64 t -220000000000000001672761769067385778428024144180170411692245963411188611778847181369245696) (+.f64 (*.f64 y z) x) (if (<=.f64 t -53000314621101693771131918483456) (+.f64 (*.f64 a t) x) (if (<=.f64 t 4470327756958453/5708990770823839524233143877797980545530986496) (+.f64 (*.f64 y z) x) (+.f64 (*.f64 a t) x)))))
(if (<=.f64 t -350000000000000002779453532678407637556727192715699017566552648391932096611100470115714736162865562564329259354047671356353766313951232) (+.f64 x (*.f64 a t)) (if (<=.f64 t -220000000000000001672761769067385778428024144180170411692245963411188611778847181369245696) (+.f64 x (*.f64 z y)) (if (<=.f64 t -53000314621101693771131918483456) (+.f64 x (*.f64 a t)) (if (<=.f64 t 4470327756958453/5708990770823839524233143877797980545530986496) (+.f64 x (*.f64 z y)) (+.f64 x (*.f64 a t))))))
(if (<=.f64 z -1756088684098903/411376139330301510538742295639337626245683966408394965837152256) (+.f64 (*.f64 y z) x) (if (<=.f64 z -5177994832976849/1989292945639146568621528992587283360401824603189390869761855907572637988050133502132224) (*.f64 t a) (if (<=.f64 z -3303087384331601/96512915280967053581473992690523770832804036027976092508745841039385957511899636693935577250212251899331606800230413394637016647999665010865694713564271216355093681467326336557610944624945266886348613585697529348641399137222620343503047635864810732050328281646899590278784472758879901186078227762530329829839567060992) (+.f64 (*.f64 y z) x) (if (<=.f64 z 1972139085670463/1404447761611184302913519680303925573139044514798677009948672509044786529730476274474284979081308875165000889686495260606709295068862629863225370551870891596701311667381761603721111090634735110308227210563164107569048052205800491261514946176100212790338675864723330454999587858894372783631526221325189251072) (*.f64 t a) (+.f64 (*.f64 y z) x)))))
(if (<=.f64 z -1756088684098903/411376139330301510538742295639337626245683966408394965837152256) (+.f64 x (*.f64 z y)) (if (<=.f64 z -5177994832976849/1989292945639146568621528992587283360401824603189390869761855907572637988050133502132224) (*.f64 a t) (if (<=.f64 z -3303087384331601/96512915280967053581473992690523770832804036027976092508745841039385957511899636693935577250212251899331606800230413394637016647999665010865694713564271216355093681467326336557610944624945266886348613585697529348641399137222620343503047635864810732050328281646899590278784472758879901186078227762530329829839567060992) (+.f64 x (*.f64 z y)) (if (<=.f64 z 1972139085670463/1404447761611184302913519680303925573139044514798677009948672509044786529730476274474284979081308875165000889686495260606709295068862629863225370551870891596701311667381761603721111090634735110308227210563164107569048052205800491261514946176100212790338675864723330454999587858894372783631526221325189251072) (*.f64 a t) (+.f64 x (*.f64 z y))))))
(if (<=.f64 x -23412216504854038957942111390263589150934910605845168867070551665934336) x (if (<=.f64 x 1183369390198881/3162535207926728411757739792483082922649322652564720599326583719178599055749927295186880995334955070237298091629950186115465761521653023076047084374074039217523709754321349396319795433470206505331871369976136641696281366928510823415907864932018118067825157133005605774255209603362976602065411367322593847864182933454585856) (*.f64 z y) (if (<=.f64 x 5983863604387617/5316911983139663491615228241121378304) (*.f64 t a) x)))
(if (<=.f64 x -23412216504854038957942111390263589150934910605845168867070551665934336) x (if (<=.f64 x 1183369390198881/3162535207926728411757739792483082922649322652564720599326583719178599055749927295186880995334955070237298091629950186115465761521653023076047084374074039217523709754321349396319795433470206505331871369976136641696281366928510823415907864932018118067825157133005605774255209603362976602065411367322593847864182933454585856) (*.f64 z y) (if (<=.f64 x 5983863604387617/5316911983139663491615228241121378304) (*.f64 a t) x)))
(if (<=.f64 x -5795621733696785/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) x (if (<=.f64 x 5983863604387617/5316911983139663491615228241121378304) (*.f64 t a) x))
(if (<=.f64 x -5795621733696785/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) x (if (<=.f64 x 5983863604387617/5316911983139663491615228241121378304) (*.f64 a t) x))
x
Compiler

Compiled 1050 to 495 computations (52.9% saved)

soundness17.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
Compiler

Compiled 232 to 140 computations (39.7% saved)

end373.0ms (2%)

Compiler

Compiled 942 to 264 computations (72% saved)

Profiling

Loading profile data...