Details

Time bar (total: 8.4s)

analyze201.0ms (2.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%87.3%12.7%4
0%87.3%12.7%5
0%81.1%18.9%6
0%31.2%68.8%7
0%31.2%68.8%8
0%31.2%68.8%9
0%28.1%71.9%10
2.3%24.2%73.5%11
3.5%23%73.5%12
Compiler

Compiled 18 to 13 computations (27.8% saved)

sample2.3s (27%)

Results
1.3s6622×body256valid
446.0ms665×body1024valid
389.0ms953×body512valid
103.0ms542×body256invalid
15.0ms16×body2048valid

preprocess177.0ms (2.1%)

Algorithm
egg-herbie
Rules
833×distribute-rgt-in_binary64
717×sub-neg_binary64
620×associate--r+_binary64
535×fma-neg_binary64
519×distribute-lft-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044126
1101119
2216119
3382119
4662119
51095119
62181119
73682119
84434119
94693119
105061119
115740119
126622119
136622119
146622119
156622119
166940119
176968119
186976119
197208119
044
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
3
Call 2
Inputs
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 y (log.f64 x)) (*.f64 z (log.f64 (-.f64 1 x)))) t)
(-.f64 (+.f64 (*.f64 z (log.f64 y)) (*.f64 x (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 t (log.f64 y)) (*.f64 z (log.f64 (-.f64 1 y)))) x)
(-.f64 (+.f64 (*.f64 x (log.f64 z)) (*.f64 y (log.f64 (-.f64 1 z)))) t)
(-.f64 (+.f64 (*.f64 x (log.f64 t)) (*.f64 z (log.f64 (-.f64 1 t)))) y)
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 t (log.f64 (-.f64 1 y)))) z)
Outputs
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 x (log.f64 y) (-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t))
(fma.f64 x (log.f64 y) (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (+.f64 (*.f64 y (log.f64 x)) (*.f64 z (log.f64 (-.f64 1 x)))) t)
(-.f64 (fma.f64 y (log.f64 x) (*.f64 z (log.f64 (-.f64 1 x)))) t)
(-.f64 (fma.f64 y (log.f64 x) (*.f64 z (log1p.f64 (neg.f64 x)))) t)
(fma.f64 y (log.f64 x) (fma.f64 z (log1p.f64 (neg.f64 x)) (neg.f64 t)))
(fma.f64 z (log1p.f64 (neg.f64 x)) (-.f64 (*.f64 y (log.f64 x)) t))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 x)) (*.f64 y (log.f64 x))) t)
(-.f64 (+.f64 (*.f64 z (log.f64 y)) (*.f64 x (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log.f64 y) (*.f64 x (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 x (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) z)) t)
(fma.f64 x (log1p.f64 (neg.f64 y)) (fma.f64 (log.f64 y) z (neg.f64 t)))
(fma.f64 (log.f64 y) z (fma.f64 x (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (+.f64 (*.f64 t (log.f64 y)) (*.f64 z (log.f64 (-.f64 1 y)))) x)
(-.f64 (fma.f64 t (log.f64 y) (*.f64 z (log.f64 (-.f64 1 y)))) x)
(-.f64 (fma.f64 (log.f64 y) t (*.f64 z (log1p.f64 (neg.f64 y)))) x)
(-.f64 (+.f64 (*.f64 x (log.f64 z)) (*.f64 y (log.f64 (-.f64 1 z)))) t)
(-.f64 (fma.f64 x (log.f64 z) (*.f64 y (log.f64 (-.f64 1 z)))) t)
(-.f64 (fma.f64 x (log.f64 z) (*.f64 y (log1p.f64 (neg.f64 z)))) t)
(-.f64 (fma.f64 y (log1p.f64 (neg.f64 z)) (*.f64 x (log.f64 z))) t)
(-.f64 (+.f64 (*.f64 x (log.f64 t)) (*.f64 z (log.f64 (-.f64 1 t)))) y)
(-.f64 (fma.f64 x (log.f64 t) (*.f64 z (log.f64 (-.f64 1 t)))) y)
(-.f64 (fma.f64 x (log.f64 t) (*.f64 z (log1p.f64 (neg.f64 t)))) y)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 t)) (*.f64 x (log.f64 t))) y)
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 t (log.f64 (-.f64 1 y)))) z)
(-.f64 (fma.f64 x (log.f64 y) (*.f64 (log.f64 (-.f64 1 y)) t)) z)
(-.f64 (fma.f64 x (log.f64 y) (*.f64 (log1p.f64 (neg.f64 y)) t)) z)
(fma.f64 x (log.f64 y) (-.f64 (*.f64 (log1p.f64 (neg.f64 y)) t) z))
(fma.f64 x (log.f64 y) (fma.f64 (log1p.f64 (neg.f64 y)) t (neg.f64 z)))
Compiler

Compiled 21 to 16 computations (23.8% saved)

simplify41.0ms (0.5%)

Algorithm
egg-herbie
Rules
821×fma-neg_binary64
312×fma-def_binary64
173×distribute-rgt-in_binary64
132×unsub-neg_binary64
123×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01318
12517
24617
37517
412317
520117
637917
772117
8127917
9201217
10269717
11297317
12298917
13298917
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
Outputs
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 (neg.f64 y)))) t)

eval1.0ms (0%)

Compiler

Compiled 28 to 17 computations (39.3% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
7.6b
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
0.1b
(-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 (neg.f64 y)))) t)
Compiler

Compiled 32 to 22 computations (31.3% saved)

localize16.0ms (0.2%)

Local error

Found 6 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 (neg.f64 y))))
0.0b
(*.f64 z (log1p.f64 (neg.f64 y)))
0.0b
(-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 (neg.f64 y)))) t)
0.0b
(-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 (neg.f64 y)))) t)
0.0b
(*.f64 z (log1p.f64 (neg.f64 y)))
0.2b
(fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 (neg.f64 y))))
Compiler

Compiled 40 to 10 computations (75% saved)

series59.0ms (0.7%)

Counts
3 → 108
Calls

27 calls:

TimeVariablePointExpression
32.0ms
z
@0
(*.f64 z (log1p.f64 (neg.f64 y)))
9.0ms
x
@0
(fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 (neg.f64 y))))
3.0ms
t
@0
(-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 (neg.f64 y)))) t)
3.0ms
z
@0
(fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 (neg.f64 y))))
2.0ms
y
@inf
(fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 (neg.f64 y))))

rewrite68.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
714×prod-diff_binary64
517×log-prod_binary64
332×pow-prod-down_binary64
280×pow2_binary64
274×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify71.0ms (0.8%)

Algorithm
egg-herbie
Rules
785×fma-def_binary64
509×associate-+l+_binary64
483×associate--r+_binary64
450×sub-neg_binary64
404×unsub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0992074
13061875
29531810
340801735
Stop Event
node limit
Counts
257 → 230
Calls
Call 1
Inputs
(*.f64 z (log.f64 (-.f64 1 y)))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 (log.f64 y) x) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z)))))
(+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))))
(+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)))))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1/3 (/.f64 z (pow.f64 y 3))) (+.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y))))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y)))))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1/3 (/.f64 z (pow.f64 y 3)))))))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(*.f64 z (log.f64 (-.f64 1 y)))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(*.f64 z (log.f64 (-.f64 1 y)))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 y 4) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z)))))
(*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))
(+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1/3 (/.f64 z (pow.f64 y 3))) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z))
(+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y))))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1/3 (/.f64 z (pow.f64 y 3))))))
(-.f64 (*.f64 z (log.f64 (-.f64 1 y))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(*.f64 (log.f64 y) x)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(*.f64 (log.f64 y) x)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 (log.f64 y) x) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z))))) t)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))) t)
(-.f64 (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)))) t)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))))) t)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1/3 (/.f64 z (pow.f64 y 3))) (+.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)))))) t)
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z))) t)
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y)))) t)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y))))) t)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1/3 (/.f64 z (pow.f64 y 3))))))) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(*.f64 z (log.f64 (-.f64 1 y)))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(*.f64 z (log.f64 (-.f64 1 y)))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
Outputs
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x))
(fma.f64 -1 (*.f64 z y) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) (*.f64 z y))
(fma.f64 (log.f64 y) x (*.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x)))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 -1 (*.f64 z y) (*.f64 (log.f64 y) x)))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (-.f64 (*.f64 (log.f64 y) x) (*.f64 z y)))
(fma.f64 z (*.f64 y (+.f64 -1 (*.f64 y -1/2))) (*.f64 (log.f64 y) x))
(fma.f64 z (-.f64 (*.f64 -1/2 (*.f64 y y)) y) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 (log.f64 y) x) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z)))))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 -1 (*.f64 z y) (fma.f64 (log.f64 y) x (*.f64 -1/3 (*.f64 z (pow.f64 y 3))))))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (-.f64 (fma.f64 (log.f64 y) x (*.f64 -1/3 (*.f64 z (pow.f64 y 3)))) (*.f64 z y)))
(fma.f64 z (*.f64 y (*.f64 y -1/2)) (fma.f64 z (-.f64 (*.f64 -1/3 (pow.f64 y 3)) y) (*.f64 (log.f64 y) x)))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 (*.f64 y -1/3) -1/2)) y)))
(+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))))
(fma.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (*.f64 (neg.f64 (neg.f64 (log.f64 y))) x))
(fma.f64 z (+.f64 (log.f64 y) (log.f64 -1)) (*.f64 (log.f64 y) x))
(fma.f64 z (log.f64 -1) (*.f64 (log.f64 y) (+.f64 z x)))
(+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))))
(fma.f64 -1 (/.f64 z y) (fma.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (*.f64 (neg.f64 (neg.f64 (log.f64 y))) x)))
(-.f64 (fma.f64 z (+.f64 (log.f64 y) (log.f64 -1)) (*.f64 (log.f64 y) x)) (/.f64 z y))
(-.f64 (fma.f64 z (log.f64 -1) (*.f64 (log.f64 y) (+.f64 z x))) (/.f64 z y))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (/.f64 z y) (fma.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (*.f64 (neg.f64 (neg.f64 (log.f64 y))) x))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (-.f64 (fma.f64 z (+.f64 (log.f64 y) (log.f64 -1)) (*.f64 (log.f64 y) x)) (/.f64 z y)))
(+.f64 (fma.f64 z (log.f64 -1) (*.f64 (log.f64 y) (+.f64 z x))) (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1/3 (/.f64 z (pow.f64 y 3))) (+.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (/.f64 z y) (fma.f64 -1/3 (/.f64 z (pow.f64 y 3)) (fma.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (*.f64 (neg.f64 (neg.f64 (log.f64 y))) x)))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (-.f64 (fma.f64 -1/3 (/.f64 z (pow.f64 y 3)) (fma.f64 z (+.f64 (log.f64 y) (log.f64 -1)) (*.f64 (log.f64 y) x))) (/.f64 z y)))
(+.f64 (fma.f64 z (log.f64 -1) (*.f64 (log.f64 y) (+.f64 z x))) (-.f64 (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2)) (/.f64 z y)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)))
(fma.f64 (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1)) x (*.f64 (neg.f64 (log.f64 (/.f64 -1 y))) z))
(fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (*.f64 z (neg.f64 (log.f64 (/.f64 -1 y)))))
(-.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (/.f64 -1 y))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y))))
(fma.f64 (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1)) x (*.f64 -1 (+.f64 (*.f64 z (log.f64 (/.f64 -1 y))) (/.f64 z y))))
(fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (neg.f64 (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y))))
(-.f64 (*.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y)))
(-.f64 (*.f64 (log.f64 y) x) (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y)))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y)))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1)) x (*.f64 -1 (+.f64 (*.f64 z (log.f64 (/.f64 -1 y))) (/.f64 z y)))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (neg.f64 (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y)))))
(fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (-.f64 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))) (*.f64 z (log.f64 (/.f64 -1 y)))))
(fma.f64 (log.f64 y) x (-.f64 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))) (*.f64 z (log.f64 (/.f64 -1 y)))))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1/3 (/.f64 z (pow.f64 y 3)))))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1)) x (fma.f64 -1 (*.f64 z (log.f64 (/.f64 -1 y))) (fma.f64 -1 (/.f64 z y) (/.f64 (*.f64 -1/3 z) (pow.f64 y 3))))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (fma.f64 -1 (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y)) (*.f64 -1/3 (/.f64 z (pow.f64 y 3))))))
(fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (fma.f64 -1 (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y)) (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2))))
(fma.f64 (log.f64 y) x (-.f64 (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2)) (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y))))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 z y))
(*.f64 z (neg.f64 y))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1 (*.f64 y z)))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (neg.f64 (*.f64 z y)))
(*.f64 z (+.f64 (neg.f64 y) (*.f64 -1/2 (*.f64 y y))))
(*.f64 z (*.f64 y (+.f64 -1 (*.f64 y -1/2))))
(*.f64 z (-.f64 (*.f64 -1/2 (*.f64 y y)) y))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z))))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 -1 (*.f64 z y) (*.f64 -1/3 (*.f64 z (pow.f64 y 3)))))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (*.f64 z (+.f64 (neg.f64 y) (*.f64 -1/3 (pow.f64 y 3)))))
(*.f64 z (+.f64 (*.f64 y (*.f64 y -1/2)) (-.f64 (*.f64 -1/3 (pow.f64 y 3)) y)))
(*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 (*.f64 y -1/3) -1/2)) y))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 y 4) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z)))))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 -1/4 (*.f64 z (pow.f64 y 4)) (fma.f64 -1 (*.f64 z y) (*.f64 -1/3 (*.f64 z (pow.f64 y 3))))))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 -1/4 (*.f64 z (pow.f64 y 4)) (*.f64 z (+.f64 (neg.f64 y) (*.f64 -1/3 (pow.f64 y 3))))))
(*.f64 z (+.f64 (fma.f64 -1/2 (*.f64 y y) (*.f64 -1/4 (pow.f64 y 4))) (-.f64 (*.f64 -1/3 (pow.f64 y 3)) y)))
(*.f64 z (+.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) (*.f64 (pow.f64 y 3) (+.f64 -1/3 (*.f64 -1/4 y)))))
(*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))))
(*.f64 z (+.f64 (log.f64 y) (log.f64 -1)))
(+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))))
(fma.f64 -1 (/.f64 z y) (*.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y))))))
(-.f64 (*.f64 z (+.f64 (log.f64 y) (log.f64 -1))) (/.f64 z y))
(fma.f64 z (+.f64 (log.f64 y) (log.f64 -1)) (/.f64 (neg.f64 z) y))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (/.f64 z y) (*.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (-.f64 (*.f64 z (+.f64 (log.f64 y) (log.f64 -1))) (/.f64 z y)))
(fma.f64 z (+.f64 (log.f64 y) (log.f64 -1)) (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1/3 (/.f64 z (pow.f64 y 3))) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (/.f64 z y) (fma.f64 -1/3 (/.f64 z (pow.f64 y 3)) (*.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y))))))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (-.f64 (fma.f64 z (+.f64 (log.f64 y) (log.f64 -1)) (*.f64 -1/3 (/.f64 z (pow.f64 y 3)))) (/.f64 z y)))
(+.f64 (-.f64 (*.f64 z (+.f64 (log.f64 y) (log.f64 -1))) (/.f64 z y)) (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2)))
(+.f64 (*.f64 z (+.f64 (log.f64 y) (log.f64 -1))) (-.f64 (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2)) (/.f64 z y)))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z))
(*.f64 (neg.f64 (log.f64 (/.f64 -1 y))) z)
(*.f64 z (neg.f64 (log.f64 (/.f64 -1 y))))
(*.f64 (log.f64 (/.f64 -1 y)) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y)))
(*.f64 -1 (+.f64 (*.f64 z (log.f64 (/.f64 -1 y))) (/.f64 z y)))
(neg.f64 (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y)))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (*.f64 -1 (+.f64 (*.f64 z (log.f64 (/.f64 -1 y))) (/.f64 z y))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (neg.f64 (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y))))
(-.f64 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))) (*.f64 z (log.f64 (/.f64 -1 y))))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1/3 (/.f64 z (pow.f64 y 3))))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (*.f64 z (log.f64 (/.f64 -1 y))) (fma.f64 -1 (/.f64 z y) (/.f64 (*.f64 -1/3 z) (pow.f64 y 3)))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y)) (*.f64 -1/3 (/.f64 z (pow.f64 y 3)))))
(fma.f64 -1 (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y)) (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2)))
(-.f64 (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2)) (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y)))
(-.f64 (*.f64 z (log.f64 (-.f64 1 y))) t)
(fma.f64 z (log.f64 (-.f64 1 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(*.f64 (log.f64 y) x)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(*.f64 (log.f64 y) x)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(-.f64 (*.f64 (log.f64 y) x) t)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x)) t)
(-.f64 (fma.f64 -1 (*.f64 z y) (*.f64 (log.f64 y) x)) t)
(-.f64 (-.f64 (*.f64 (log.f64 y) x) (*.f64 z y)) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 y (neg.f64 z))) t)
(fma.f64 (log.f64 y) x (fma.f64 y (neg.f64 z) (neg.f64 t)))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 -1 (*.f64 z y) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 -1/2 (*.f64 z (*.f64 y y)) (-.f64 (*.f64 (log.f64 y) x) (*.f64 z y))) t)
(-.f64 (fma.f64 z (*.f64 y (+.f64 -1 (*.f64 y -1/2))) (*.f64 (log.f64 y) x)) t)
(-.f64 (fma.f64 z (-.f64 (*.f64 -1/2 (*.f64 y y)) y) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 (log.f64 y) x) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z))))) t)
(-.f64 (fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 -1 (*.f64 z y) (fma.f64 (log.f64 y) x (*.f64 -1/3 (*.f64 z (pow.f64 y 3)))))) t)
(-.f64 (fma.f64 -1/2 (*.f64 z (*.f64 y y)) (-.f64 (fma.f64 (log.f64 y) x (*.f64 -1/3 (*.f64 z (pow.f64 y 3)))) (*.f64 z y))) t)
(-.f64 (fma.f64 z (*.f64 y (*.f64 y -1/2)) (fma.f64 z (-.f64 (*.f64 -1/3 (pow.f64 y 3)) y) (*.f64 (log.f64 y) x))) t)
(-.f64 (*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 (*.f64 y -1/3) -1/2)) y)) (-.f64 t (*.f64 (log.f64 y) x)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))) t)
(-.f64 (fma.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (*.f64 (neg.f64 (neg.f64 (log.f64 y))) x)) t)
(-.f64 (fma.f64 z (+.f64 (log.f64 y) (log.f64 -1)) (*.f64 (log.f64 y) x)) t)
(-.f64 (fma.f64 z (log.f64 -1) (*.f64 (log.f64 y) (+.f64 z x))) t)
(-.f64 (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)))) t)
(-.f64 (fma.f64 -1 (/.f64 z y) (fma.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (*.f64 (neg.f64 (neg.f64 (log.f64 y))) x))) t)
(-.f64 (-.f64 (fma.f64 z (+.f64 (log.f64 y) (log.f64 -1)) (*.f64 (log.f64 y) x)) (/.f64 z y)) t)
(-.f64 (fma.f64 z (log.f64 -1) (*.f64 (log.f64 y) (+.f64 z x))) (+.f64 (/.f64 z y) t))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (/.f64 z y) (fma.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (*.f64 (neg.f64 (neg.f64 (log.f64 y))) x)))) t)
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (-.f64 (-.f64 (fma.f64 z (+.f64 (log.f64 y) (log.f64 -1)) (*.f64 (log.f64 y) x)) (/.f64 z y)) t))
(+.f64 (fma.f64 z (log.f64 -1) (*.f64 (log.f64 y) (+.f64 z x))) (-.f64 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))) t))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1/3 (/.f64 z (pow.f64 y 3))) (+.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (/.f64 z y) (fma.f64 -1/3 (/.f64 z (pow.f64 y 3)) (fma.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (*.f64 (neg.f64 (neg.f64 (log.f64 y))) x))))) t)
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (-.f64 (-.f64 (fma.f64 -1/3 (/.f64 z (pow.f64 y 3)) (fma.f64 z (+.f64 (log.f64 y) (log.f64 -1)) (*.f64 (log.f64 y) x))) (/.f64 z y)) t))
(+.f64 (-.f64 (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2)) (/.f64 z y)) (-.f64 (fma.f64 z (log.f64 -1) (*.f64 (log.f64 y) (+.f64 z x))) t))
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z))) t)
(-.f64 (fma.f64 (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1)) x (*.f64 (neg.f64 (log.f64 (/.f64 -1 y))) z)) t)
(-.f64 (fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (*.f64 z (neg.f64 (log.f64 (/.f64 -1 y))))) t)
(fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (fma.f64 (log.f64 (/.f64 -1 y)) (neg.f64 z) (neg.f64 t)))
(-.f64 (-.f64 (*.f64 (log.f64 y) x) t) (*.f64 z (log.f64 (/.f64 -1 y))))
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y)))) t)
(-.f64 (fma.f64 (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1)) x (*.f64 -1 (+.f64 (*.f64 z (log.f64 (/.f64 -1 y))) (/.f64 z y)))) t)
(-.f64 (fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (neg.f64 (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y)))) t)
(-.f64 (-.f64 (*.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y))) t)
(-.f64 (*.f64 (log.f64 y) x) (+.f64 (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y)) t))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1)) x (*.f64 -1 (+.f64 (*.f64 z (log.f64 (/.f64 -1 y))) (/.f64 z y))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (neg.f64 (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y))))) t)
(-.f64 (fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (-.f64 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))) (*.f64 z (log.f64 (/.f64 -1 y))))) t)
(-.f64 (fma.f64 (log.f64 y) x (-.f64 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))) (*.f64 z (log.f64 (/.f64 -1 y))))) t)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1/3 (/.f64 z (pow.f64 y 3))))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1)) x (fma.f64 -1 (*.f64 z (log.f64 (/.f64 -1 y))) (fma.f64 -1 (/.f64 z y) (/.f64 (*.f64 -1/3 z) (pow.f64 y 3)))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (fma.f64 -1 (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y)) (*.f64 -1/3 (/.f64 z (pow.f64 y 3)))))) t)
(-.f64 (fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (fma.f64 -1 (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y)) (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2)))) t)
(-.f64 (fma.f64 (log.f64 y) x (-.f64 (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2)) (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y)))) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) x) t))

localize25.0ms (0.3%)

Local error

Found 8 expressions with local error:

NewErrorProgram
6.6b
(log.f64 (-.f64 1 y))
0.2b
(*.f64 x (log.f64 y))
0.0b
(*.f64 z (log.f64 (-.f64 1 y)))
0.0b
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
0.0b
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
0.0b
(*.f64 z (log.f64 (-.f64 1 y)))
0.2b
(*.f64 x (log.f64 y))
6.6b
(log.f64 (-.f64 1 y))
Compiler

Compiled 52 to 27 computations (48.1% saved)

series92.0ms (1.1%)

Counts
4 → 96
Calls

27 calls:

TimeVariablePointExpression
34.0ms
y
@-inf
(*.f64 x (log.f64 y))
15.0ms
x
@0
(*.f64 x (log.f64 y))
11.0ms
y
@0
(*.f64 x (log.f64 y))
10.0ms
z
@0
(*.f64 z (log.f64 (-.f64 1 y)))
6.0ms
y
@inf
(*.f64 x (log.f64 y))

rewrite93.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
718×fma-def_binary64
685×log-prod_binary64
349×fma-neg_binary64
255×pow1/3_binary64
253×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify70.0ms (0.8%)

Algorithm
egg-herbie
Rules
880×fma-def_binary64
620×sub-neg_binary64
554×associate-+l+_binary64
472×associate-*l*_binary64
439×unsub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01231637
13801494
212011447
349181411
Stop Event
node limit
Counts
322 → 312
Calls
Call 1
Inputs
(*.f64 -1 y)
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1 y))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 -1/3 (pow.f64 y 3)) (*.f64 -1 y)))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 -1/4 (pow.f64 y 4)) (+.f64 (*.f64 -1/3 (pow.f64 y 3)) (*.f64 -1 y))))
(+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))) (/.f64 1 y))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))) (+.f64 (/.f64 1 y) (*.f64 1/2 (/.f64 1 (pow.f64 y 2)))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))) (+.f64 (/.f64 1 y) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 y 2))) (*.f64 1/3 (/.f64 1 (pow.f64 y 3))))))
(*.f64 -1 (log.f64 (/.f64 -1 y)))
(-.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (/.f64 1 y))
(-.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (+.f64 (/.f64 1 y) (*.f64 1/2 (/.f64 1 (pow.f64 y 2)))))
(-.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (+.f64 (/.f64 1 y) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 y 2))) (*.f64 1/3 (/.f64 1 (pow.f64 y 3))))))
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 y 4) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z)))))
(*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))
(+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1/3 (/.f64 z (pow.f64 y 3))) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z))
(+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y))))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1/3 (/.f64 z (pow.f64 y 3))))))
(-.f64 (*.f64 z (log.f64 (-.f64 1 y))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(*.f64 (log.f64 y) x)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(*.f64 (log.f64 y) x)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 (log.f64 y) x) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z))))) t)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))) t)
(-.f64 (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)))) t)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))))) t)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1/3 (/.f64 z (pow.f64 y 3))) (+.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)))))) t)
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z))) t)
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y)))) t)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y))))) t)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1/3 (/.f64 z (pow.f64 y 3))))))) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(*.f64 z (log.f64 (-.f64 1 y)))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(*.f64 z (log.f64 (-.f64 1 y)))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
Outputs
(*.f64 -1 y)
(neg.f64 y)
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1 y))
(fma.f64 -1/2 (*.f64 y y) (neg.f64 y))
(-.f64 (*.f64 -1/2 (*.f64 y y)) y)
(-.f64 (*.f64 y (*.f64 y -1/2)) y)
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 -1/3 (pow.f64 y 3)) (*.f64 -1 y)))
(fma.f64 -1/2 (*.f64 y y) (fma.f64 -1/3 (pow.f64 y 3) (neg.f64 y)))
(fma.f64 -1/2 (*.f64 y y) (-.f64 (*.f64 -1/3 (pow.f64 y 3)) y))
(-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) y)
(-.f64 (*.f64 (*.f64 y y) (+.f64 (*.f64 y -1/3) -1/2)) y)
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 -1/4 (pow.f64 y 4)) (+.f64 (*.f64 -1/3 (pow.f64 y 3)) (*.f64 -1 y))))
(fma.f64 -1/2 (*.f64 y y) (fma.f64 -1/4 (pow.f64 y 4) (fma.f64 -1/3 (pow.f64 y 3) (neg.f64 y))))
(fma.f64 -1/2 (*.f64 y y) (-.f64 (fma.f64 -1/4 (pow.f64 y 4) (*.f64 -1/3 (pow.f64 y 3))) y))
(fma.f64 -1/4 (pow.f64 y 4) (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) y))
(-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y (+.f64 -1/3 (*.f64 -1/4 y))))) y)
(+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))
(+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y))))
(+.f64 (log.f64 -1) (log.f64 y))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))) (/.f64 1 y))
(+.f64 (log.f64 -1) (-.f64 (neg.f64 (neg.f64 (log.f64 y))) (/.f64 1 y)))
(+.f64 (log.f64 -1) (-.f64 (log.f64 y) (/.f64 1 y)))
(-.f64 (log.f64 y) (-.f64 (/.f64 1 y) (log.f64 -1)))
(-.f64 (+.f64 (log.f64 -1) (log.f64 y)) (/.f64 1 y))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))) (+.f64 (/.f64 1 y) (*.f64 1/2 (/.f64 1 (pow.f64 y 2)))))
(+.f64 (log.f64 -1) (-.f64 (neg.f64 (neg.f64 (log.f64 y))) (+.f64 (/.f64 1 y) (/.f64 1/2 (*.f64 y y)))))
(+.f64 (log.f64 y) (-.f64 (log.f64 -1) (+.f64 (/.f64 1 y) (/.f64 (/.f64 1/2 y) y))))
(+.f64 (log.f64 y) (+.f64 (log.f64 -1) (-.f64 (/.f64 -1 y) (/.f64 (/.f64 1/2 y) y))))
(+.f64 (+.f64 (log.f64 -1) (log.f64 y)) (-.f64 (/.f64 (/.f64 -1/2 y) y) (/.f64 1 y)))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))) (+.f64 (/.f64 1 y) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 y 2))) (*.f64 1/3 (/.f64 1 (pow.f64 y 3))))))
(-.f64 (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (+.f64 (+.f64 (/.f64 1 y) (/.f64 1/2 (*.f64 y y))) (/.f64 1/3 (pow.f64 y 3))))
(+.f64 (log.f64 -1) (-.f64 (-.f64 (log.f64 y) (+.f64 (/.f64 1 y) (/.f64 (/.f64 1/2 y) y))) (/.f64 1/3 (pow.f64 y 3))))
(+.f64 (+.f64 (log.f64 -1) (log.f64 y)) (+.f64 (-.f64 (/.f64 -1 y) (/.f64 (/.f64 1/2 y) y)) (/.f64 -1/3 (pow.f64 y 3))))
(+.f64 (+.f64 (log.f64 y) (-.f64 (/.f64 (/.f64 -1/2 y) y) (/.f64 1 y))) (+.f64 (log.f64 -1) (/.f64 -1/3 (pow.f64 y 3))))
(*.f64 -1 (log.f64 (/.f64 -1 y)))
(neg.f64 (log.f64 (/.f64 -1 y)))
(-.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (/.f64 1 y))
(-.f64 (neg.f64 (log.f64 (/.f64 -1 y))) (/.f64 1 y))
(fma.f64 -1 (log.f64 (/.f64 -1 y)) (/.f64 -1 y))
(-.f64 (/.f64 -1 y) (log.f64 (/.f64 -1 y)))
(-.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (+.f64 (/.f64 1 y) (*.f64 1/2 (/.f64 1 (pow.f64 y 2)))))
(-.f64 (neg.f64 (log.f64 (/.f64 -1 y))) (+.f64 (/.f64 1 y) (/.f64 1/2 (*.f64 y y))))
(-.f64 (fma.f64 -1 (log.f64 (/.f64 -1 y)) (/.f64 -1 y)) (/.f64 (/.f64 1/2 y) y))
(+.f64 (-.f64 (/.f64 -1 y) (log.f64 (/.f64 -1 y))) (/.f64 -1/2 (*.f64 y y)))
(+.f64 (/.f64 -1 y) (-.f64 (/.f64 (/.f64 -1/2 y) y) (log.f64 (/.f64 -1 y))))
(-.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (+.f64 (/.f64 1 y) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 y 2))) (*.f64 1/3 (/.f64 1 (pow.f64 y 3))))))
(-.f64 (neg.f64 (log.f64 (/.f64 -1 y))) (+.f64 (+.f64 (/.f64 1 y) (/.f64 1/2 (*.f64 y y))) (/.f64 1/3 (pow.f64 y 3))))
(-.f64 (fma.f64 -1 (log.f64 (/.f64 -1 y)) (/.f64 -1 y)) (+.f64 (/.f64 (/.f64 1/2 y) y) (/.f64 1/3 (pow.f64 y 3))))
(+.f64 (-.f64 (/.f64 -1 y) (log.f64 (/.f64 -1 y))) (+.f64 (/.f64 -1/2 (*.f64 y y)) (/.f64 -1/3 (pow.f64 y 3))))
(+.f64 (/.f64 -1 y) (-.f64 (+.f64 (/.f64 (/.f64 -1/2 y) y) (/.f64 -1/3 (pow.f64 y 3))) (log.f64 (/.f64 -1 y))))
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (log.f64 y) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (log.f64 y) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (log.f64 y) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (log.f64 y) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 y z))
(*.f64 (neg.f64 y) z)
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1 (*.f64 y z)))
(fma.f64 -1/2 (*.f64 (*.f64 y y) z) (*.f64 (neg.f64 y) z))
(*.f64 z (-.f64 (*.f64 -1/2 (*.f64 y y)) y))
(*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y))
(*.f64 y (*.f64 (+.f64 (*.f64 y -1/2) -1) z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z))))
(fma.f64 -1/2 (*.f64 (*.f64 y y) z) (fma.f64 -1 (*.f64 y z) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z))))
(fma.f64 -1/2 (*.f64 (*.f64 y y) z) (*.f64 z (-.f64 (*.f64 -1/3 (pow.f64 y 3)) y)))
(*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) y))
(*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 (*.f64 y -1/3) -1/2)) y))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 y 4) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z)))))
(fma.f64 -1/2 (*.f64 (*.f64 y y) z) (fma.f64 -1/4 (*.f64 (pow.f64 y 4) z) (fma.f64 -1 (*.f64 y z) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z)))))
(+.f64 (*.f64 z (-.f64 (*.f64 -1/3 (pow.f64 y 3)) y)) (*.f64 z (fma.f64 -1/2 (*.f64 y y) (*.f64 -1/4 (pow.f64 y 4)))))
(*.f64 z (fma.f64 -1/4 (pow.f64 y 4) (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) y)))
(*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y (+.f64 -1/3 (*.f64 -1/4 y))))) y))
(*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) z)
(*.f64 (+.f64 (log.f64 -1) (log.f64 y)) z)
(+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))))
(fma.f64 -1 (/.f64 z y) (*.f64 (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) z))
(fma.f64 (+.f64 (log.f64 -1) (log.f64 y)) z (/.f64 (neg.f64 z) y))
(*.f64 z (-.f64 (+.f64 (log.f64 -1) (log.f64 y)) (/.f64 1 y)))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (/.f64 z y) (*.f64 (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) z)))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 (+.f64 (log.f64 -1) (log.f64 y)) z (/.f64 (neg.f64 z) y)))
(fma.f64 (+.f64 (log.f64 -1) (log.f64 y)) z (*.f64 (/.f64 z y) (+.f64 (/.f64 -1/2 y) -1)))
(fma.f64 (+.f64 (log.f64 -1) (log.f64 y)) z (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1/3 (/.f64 z (pow.f64 y 3))) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (/.f64 z y) (fma.f64 -1/3 (/.f64 z (pow.f64 y 3)) (*.f64 (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) z))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (-.f64 (fma.f64 (+.f64 (log.f64 -1) (log.f64 y)) z (*.f64 -1/3 (/.f64 z (pow.f64 y 3)))) (/.f64 z y)))
(+.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 y)) z) (-.f64 (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2)) (/.f64 z y)))
(+.f64 (*.f64 z (-.f64 (+.f64 (log.f64 -1) (log.f64 y)) (/.f64 1 y))) (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2)))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z))
(*.f64 (neg.f64 (log.f64 (/.f64 -1 y))) z)
(*.f64 (log.f64 (/.f64 -1 y)) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y)))
(*.f64 -1 (+.f64 (*.f64 (log.f64 (/.f64 -1 y)) z) (/.f64 z y)))
(neg.f64 (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y)))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (*.f64 -1 (+.f64 (*.f64 (log.f64 (/.f64 -1 y)) z) (/.f64 z y))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (neg.f64 (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y))))
(-.f64 (*.f64 (/.f64 z y) (+.f64 (/.f64 -1/2 y) -1)) (*.f64 (log.f64 (/.f64 -1 y)) z))
(fma.f64 (log.f64 (/.f64 -1 y)) (neg.f64 z) (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1/3 (/.f64 z (pow.f64 y 3))))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z) (fma.f64 -1 (/.f64 z y) (*.f64 -1/3 (/.f64 z (pow.f64 y 3))))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y)) (*.f64 -1/3 (/.f64 z (pow.f64 y 3)))))
(fma.f64 -1 (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y)) (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2)))
(-.f64 (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2)) (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y)))
(-.f64 (*.f64 z (log.f64 (-.f64 1 y))) t)
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(*.f64 (log.f64 y) x)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(*.f64 (log.f64 y) x)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x)) t)
(-.f64 (fma.f64 -1 (*.f64 y z) (*.f64 (log.f64 y) x)) t)
(-.f64 (-.f64 (*.f64 (log.f64 y) x) (*.f64 y z)) t)
(-.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 y z) t))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 -1/2 (*.f64 (*.f64 y y) z) (fma.f64 -1 (*.f64 y z) (*.f64 (log.f64 y) x))) t)
(+.f64 (*.f64 z (-.f64 (*.f64 -1/2 (*.f64 y y)) y)) (-.f64 (*.f64 (log.f64 y) x) t))
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y))) t)
(fma.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y) (-.f64 (*.f64 (log.f64 y) x) t))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 (log.f64 y) x) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z))))) t)
(-.f64 (fma.f64 -1/2 (*.f64 (*.f64 y y) z) (fma.f64 -1 (*.f64 y z) (fma.f64 (log.f64 y) x (*.f64 -1/3 (*.f64 (pow.f64 y 3) z))))) t)
(+.f64 (*.f64 z (-.f64 (*.f64 -1/2 (*.f64 y y)) y)) (-.f64 (fma.f64 -1/3 (*.f64 (pow.f64 y 3) z) (*.f64 (log.f64 y) x)) t))
(+.f64 (*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) y)) (fma.f64 (log.f64 y) x (neg.f64 t)))
(+.f64 (*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 (*.f64 y -1/3) -1/2)) y)) (-.f64 (*.f64 (log.f64 y) x) t))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))) t)
(-.f64 (fma.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (*.f64 (neg.f64 (neg.f64 (log.f64 y))) x)) t)
(-.f64 (fma.f64 (+.f64 (log.f64 -1) (log.f64 y)) z (*.f64 (log.f64 y) x)) t)
(-.f64 (fma.f64 (log.f64 -1) z (*.f64 (log.f64 y) (+.f64 z x))) t)
(-.f64 (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)))) t)
(-.f64 (fma.f64 -1 (/.f64 z y) (fma.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (*.f64 (neg.f64 (neg.f64 (log.f64 y))) x))) t)
(-.f64 (-.f64 (fma.f64 (+.f64 (log.f64 -1) (log.f64 y)) z (*.f64 (log.f64 y) x)) (/.f64 z y)) t)
(-.f64 (fma.f64 (log.f64 -1) z (*.f64 (log.f64 y) (+.f64 z x))) (+.f64 (/.f64 z y) t))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (/.f64 z y) (fma.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (*.f64 (neg.f64 (neg.f64 (log.f64 y))) x)))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (-.f64 (fma.f64 (+.f64 (log.f64 -1) (log.f64 y)) z (*.f64 (log.f64 y) x)) (/.f64 z y))) t)
(+.f64 (fma.f64 (log.f64 -1) z (*.f64 (log.f64 y) (+.f64 z x))) (-.f64 (*.f64 (/.f64 z y) (+.f64 (/.f64 -1/2 y) -1)) t))
(+.f64 (fma.f64 (log.f64 -1) z (*.f64 (log.f64 y) (+.f64 z x))) (-.f64 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))) t))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1/3 (/.f64 z (pow.f64 y 3))) (+.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (/.f64 z y) (fma.f64 -1/3 (/.f64 z (pow.f64 y 3)) (fma.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (*.f64 (neg.f64 (neg.f64 (log.f64 y))) x))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (-.f64 (fma.f64 -1/3 (/.f64 z (pow.f64 y 3)) (fma.f64 (+.f64 (log.f64 -1) (log.f64 y)) z (*.f64 (log.f64 y) x))) (/.f64 z y))) t)
(+.f64 (-.f64 (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2)) (/.f64 z y)) (-.f64 (fma.f64 (log.f64 -1) z (*.f64 (log.f64 y) (+.f64 z x))) t))
(-.f64 (+.f64 (fma.f64 (log.f64 -1) z (*.f64 (log.f64 y) (+.f64 z x))) (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2))) (+.f64 (/.f64 z y) t))
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z))) t)
(-.f64 (fma.f64 (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1)) x (*.f64 (neg.f64 (log.f64 (/.f64 -1 y))) z)) t)
(-.f64 (fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (*.f64 (log.f64 (/.f64 -1 y)) (neg.f64 z))) t)
(-.f64 (fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (neg.f64 t)) (*.f64 (log.f64 (/.f64 -1 y)) z))
(-.f64 (-.f64 (*.f64 (log.f64 y) x) t) (*.f64 (log.f64 (/.f64 -1 y)) z))
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y)))) t)
(-.f64 (fma.f64 (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1)) x (*.f64 -1 (+.f64 (*.f64 (log.f64 (/.f64 -1 y)) z) (/.f64 z y)))) t)
(fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (-.f64 (neg.f64 (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y))) t))
(-.f64 (-.f64 (*.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y))) t)
(-.f64 (-.f64 (*.f64 (log.f64 y) x) t) (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y)))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1)) x (*.f64 -1 (+.f64 (*.f64 (log.f64 (/.f64 -1 y)) z) (/.f64 z y))))) t)
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (-.f64 (neg.f64 (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y))) t)))
(-.f64 (fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (-.f64 (*.f64 (/.f64 z y) (+.f64 (/.f64 -1/2 y) -1)) (*.f64 (log.f64 (/.f64 -1 y)) z))) t)
(-.f64 (fma.f64 (log.f64 y) x (fma.f64 (log.f64 (/.f64 -1 y)) (neg.f64 z) (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))))) t)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1/3 (/.f64 z (pow.f64 y 3))))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1)) x (fma.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z) (fma.f64 -1 (/.f64 z y) (*.f64 -1/3 (/.f64 z (pow.f64 y 3))))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (fma.f64 -1 (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y)) (*.f64 -1/3 (/.f64 z (pow.f64 y 3)))))) t)
(-.f64 (fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (fma.f64 -1 (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y)) (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2)))) t)
(-.f64 (fma.f64 (log.f64 y) x (-.f64 (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2)) (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y)))) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 y) x) (*.f64 z (log.f64 (-.f64 1 y)))))
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 (log.f64 y) x (fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)

eval173.0ms (2.1%)

Compiler

Compiled 10854 to 3833 computations (64.7% saved)

prune105.0ms (1.3%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New52715542
Fresh000
Picked101
Done101
Total52915544
Error
0.0b
Counts
544 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (*.f64 1/3 (*.f64 3 (log1p.f64 (neg.f64 y)))))) t)
8.0b
(-.f64 (*.f64 (log.f64 y) x) t)
8.6b
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (log.f64 y)) (-.f64 (*.f64 z (log1p.f64 y)) t))
0.4b
(-.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 y z) t))
26.3b
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
8.6b
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 y)) 2)) (cbrt.f64 (log.f64 y)) (-.f64 (*.f64 z (log1p.f64 y)) t))
30.4b
(-.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 x (log.f64 y)) 3)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
34.7b
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 y)) (-.f64 (*.f64 z (log1p.f64 y)) t))
8.1b
(-.f64 (+.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3) (*.f64 z (log.f64 (-.f64 1 y)))) t)
54.9b
(*.f64 z (log1p.f64 (neg.f64 y)))
42.0b
(*.f64 (-.f64 (pow.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) 2) (*.f64 t t)) (/.f64 1 (fma.f64 x (log.f64 y) (fma.f64 z (log1p.f64 y) t))))
48.9b
(fma.f64 (+.f64 (pow.f64 (*.f64 x (log.f64 y)) 3) (pow.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) 3)) (/.f64 1 (fma.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) (log.f64 (/.f64 (pow.f64 (-.f64 1 y) z) (pow.f64 y x))) (pow.f64 (*.f64 x (log.f64 y)) 2))) (neg.f64 t))
34.0b
(neg.f64 t)
0.5b
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 y)) 2) (*.f64 (cbrt.f64 (log.f64 y)) x) (-.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) t))
37.1b
(-.f64 (+.f64 (pow.f64 (sqrt.f64 (*.f64 x (log.f64 y))) 2) (*.f64 z (log.f64 (-.f64 1 y)))) t)
Compiler

Compiled 572 to 382 computations (33.2% saved)

localize28.0ms (0.3%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.0b
(*.f64 3 (log1p.f64 (neg.f64 y)))
0.0b
(*.f64 z (*.f64 1/3 (*.f64 3 (log1p.f64 (neg.f64 y)))))
0.0b
(+.f64 (*.f64 x (log.f64 y)) (*.f64 z (*.f64 1/3 (*.f64 3 (log1p.f64 (neg.f64 y))))))
0.0b
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (*.f64 1/3 (*.f64 3 (log1p.f64 (neg.f64 y)))))) t)
0.0b
(*.f64 z (*.f64 1/3 (*.f64 3 (log1p.f64 (neg.f64 y)))))
0.0b
(*.f64 3 (log1p.f64 (neg.f64 y)))
0.2b
(*.f64 x (log.f64 y))
0.3b
(*.f64 1/3 (*.f64 3 (log1p.f64 (neg.f64 y))))
Compiler

Compiled 72 to 34 computations (52.8% saved)

series5.0ms (0.1%)

Counts
3 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
(*.f64 z (*.f64 1/3 (*.f64 3 (log1p.f64 (neg.f64 y)))))
0.0ms
y
@inf
(*.f64 3 (log1p.f64 (neg.f64 y)))
0.0ms
y
@0
(*.f64 1/3 (*.f64 3 (log1p.f64 (neg.f64 y))))
0.0ms
y
@-inf
(*.f64 3 (log1p.f64 (neg.f64 y)))
0.0ms
y
@0
(*.f64 3 (log1p.f64 (neg.f64 y)))

rewrite53.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
739×pow1_binary64
684×add-log-exp_binary64
683×expm1-log1p-u_binary64
682×log1p-expm1-u_binary64
672×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify46.0ms (0.5%)

Algorithm
egg-herbie
Rules
855×fma-neg_binary64
582×fma-def_binary64
579×associate-*l*_binary64
418×sub-neg_binary64
358×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0105867
1328768
21017736
33350730
Stop Event
node limit
Counts
83 → 109
Calls
Call 1
Inputs
(*.f64 -1 y)
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1 y))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 -1/3 (pow.f64 y 3)) (*.f64 -1 y)))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 -1/4 (pow.f64 y 4)) (+.f64 (*.f64 -1/3 (pow.f64 y 3)) (*.f64 -1 y))))
(+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))) (/.f64 1 y))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))) (+.f64 (/.f64 1 y) (*.f64 1/2 (/.f64 1 (pow.f64 y 2)))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))) (+.f64 (/.f64 1 y) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 y 2))) (*.f64 1/3 (/.f64 1 (pow.f64 y 3))))))
(*.f64 -1 (log.f64 (/.f64 -1 y)))
(-.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (/.f64 1 y))
(-.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (+.f64 (/.f64 1 y) (*.f64 1/2 (/.f64 1 (pow.f64 y 2)))))
(-.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (+.f64 (/.f64 1 y) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 y 2))) (*.f64 1/3 (/.f64 1 (pow.f64 y 3))))))
(*.f64 -3 y)
(+.f64 (*.f64 -3 y) (*.f64 -3/2 (pow.f64 y 2)))
(+.f64 (*.f64 -3 y) (+.f64 (*.f64 -3/2 (pow.f64 y 2)) (*.f64 -1 (pow.f64 y 3))))
(+.f64 (*.f64 -3/4 (pow.f64 y 4)) (+.f64 (*.f64 -3 y) (+.f64 (*.f64 -3/2 (pow.f64 y 2)) (*.f64 -1 (pow.f64 y 3)))))
(*.f64 3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))
(-.f64 (*.f64 3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 3 (/.f64 1 y)))
(-.f64 (*.f64 3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (+.f64 (*.f64 3/2 (/.f64 1 (pow.f64 y 2))) (*.f64 3 (/.f64 1 y))))
(-.f64 (*.f64 3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (+.f64 (/.f64 1 (pow.f64 y 3)) (+.f64 (*.f64 3/2 (/.f64 1 (pow.f64 y 2))) (*.f64 3 (/.f64 1 y)))))
(*.f64 -3 (log.f64 (/.f64 -1 y)))
(-.f64 (*.f64 -3 (log.f64 (/.f64 -1 y))) (*.f64 3 (/.f64 1 y)))
(-.f64 (*.f64 -3 (log.f64 (/.f64 -1 y))) (+.f64 (*.f64 3/2 (/.f64 1 (pow.f64 y 2))) (*.f64 3 (/.f64 1 y))))
(-.f64 (*.f64 -3 (log.f64 (/.f64 -1 y))) (+.f64 (/.f64 1 (pow.f64 y 3)) (+.f64 (*.f64 3/2 (/.f64 1 (pow.f64 y 2))) (*.f64 3 (/.f64 1 y)))))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 y 4) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z)))))
(*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))
(+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1/3 (/.f64 z (pow.f64 y 3))) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z))
(+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y))))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1/3 (/.f64 z (pow.f64 y 3))))))
Outputs
(*.f64 -1 y)
(neg.f64 y)
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1 y))
(fma.f64 -1/2 (*.f64 y y) (neg.f64 y))
(-.f64 (*.f64 y (*.f64 y -1/2)) y)
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 -1/3 (pow.f64 y 3)) (*.f64 -1 y)))
(fma.f64 -1/2 (*.f64 y y) (fma.f64 -1/3 (pow.f64 y 3) (neg.f64 y)))
(-.f64 (fma.f64 -1/2 (*.f64 y y) (*.f64 -1/3 (pow.f64 y 3))) y)
(-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) y)
(-.f64 (*.f64 (*.f64 y y) (+.f64 (*.f64 y -1/3) -1/2)) y)
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 -1/4 (pow.f64 y 4)) (+.f64 (*.f64 -1/3 (pow.f64 y 3)) (*.f64 -1 y))))
(fma.f64 -1/2 (*.f64 y y) (fma.f64 -1/4 (pow.f64 y 4) (fma.f64 -1/3 (pow.f64 y 3) (neg.f64 y))))
(fma.f64 -1/2 (*.f64 y y) (-.f64 (fma.f64 -1/4 (pow.f64 y 4) (*.f64 -1/3 (pow.f64 y 3))) y))
(fma.f64 -1/4 (pow.f64 y 4) (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) y))
(-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y (+.f64 -1/3 (*.f64 -1/4 y))))) y)
(+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))
(+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y))))
(+.f64 (log.f64 -1) (log.f64 y))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))) (/.f64 1 y))
(+.f64 (log.f64 -1) (-.f64 (neg.f64 (neg.f64 (log.f64 y))) (/.f64 1 y)))
(+.f64 (log.f64 y) (-.f64 (log.f64 -1) (/.f64 1 y)))
(+.f64 (log.f64 -1) (+.f64 (log.f64 y) (/.f64 -1 y)))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))) (+.f64 (/.f64 1 y) (*.f64 1/2 (/.f64 1 (pow.f64 y 2)))))
(+.f64 (log.f64 -1) (-.f64 (neg.f64 (neg.f64 (log.f64 y))) (+.f64 (/.f64 1 y) (/.f64 1/2 (*.f64 y y)))))
(+.f64 (+.f64 (log.f64 -1) (log.f64 y)) (-.f64 (/.f64 -1 y) (/.f64 1/2 (*.f64 y y))))
(+.f64 (log.f64 -1) (+.f64 (log.f64 y) (-.f64 (/.f64 -1/2 (*.f64 y y)) (/.f64 1 y))))
(+.f64 (log.f64 -1) (+.f64 (+.f64 (log.f64 y) (/.f64 -1 y)) (/.f64 -1/2 (*.f64 y y))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))) (+.f64 (/.f64 1 y) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 y 2))) (*.f64 1/3 (/.f64 1 (pow.f64 y 3))))))
(+.f64 (log.f64 -1) (-.f64 (neg.f64 (neg.f64 (log.f64 y))) (+.f64 (+.f64 (/.f64 1 y) (/.f64 1/2 (*.f64 y y))) (/.f64 1/3 (pow.f64 y 3)))))
(+.f64 (log.f64 -1) (-.f64 (+.f64 (log.f64 y) (/.f64 -1 y)) (+.f64 (/.f64 1/2 (*.f64 y y)) (/.f64 1/3 (pow.f64 y 3)))))
(+.f64 (log.f64 y) (+.f64 (+.f64 (log.f64 -1) (-.f64 (/.f64 -1/2 (*.f64 y y)) (/.f64 1 y))) (/.f64 -1/3 (pow.f64 y 3))))
(+.f64 (+.f64 (log.f64 -1) (log.f64 y)) (-.f64 (/.f64 -1/3 (pow.f64 y 3)) (-.f64 (/.f64 1 y) (/.f64 -1/2 (*.f64 y y)))))
(*.f64 -1 (log.f64 (/.f64 -1 y)))
(neg.f64 (log.f64 (/.f64 -1 y)))
(-.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (/.f64 1 y))
(-.f64 (neg.f64 (log.f64 (/.f64 -1 y))) (/.f64 1 y))
(fma.f64 -1 (log.f64 (/.f64 -1 y)) (/.f64 -1 y))
(-.f64 (/.f64 -1 y) (log.f64 (/.f64 -1 y)))
(-.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (+.f64 (/.f64 1 y) (*.f64 1/2 (/.f64 1 (pow.f64 y 2)))))
(-.f64 (neg.f64 (log.f64 (/.f64 -1 y))) (+.f64 (/.f64 1 y) (/.f64 1/2 (*.f64 y y))))
(-.f64 (fma.f64 -1 (log.f64 (/.f64 -1 y)) (/.f64 -1 y)) (/.f64 1/2 (*.f64 y y)))
(-.f64 (-.f64 (/.f64 -1/2 (*.f64 y y)) (/.f64 1 y)) (log.f64 (/.f64 -1 y)))
(+.f64 (/.f64 -1 y) (-.f64 (/.f64 -1/2 (*.f64 y y)) (log.f64 (/.f64 -1 y))))
(-.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (+.f64 (/.f64 1 y) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 y 2))) (*.f64 1/3 (/.f64 1 (pow.f64 y 3))))))
(-.f64 (neg.f64 (log.f64 (/.f64 -1 y))) (+.f64 (+.f64 (/.f64 1 y) (/.f64 1/2 (*.f64 y y))) (/.f64 1/3 (pow.f64 y 3))))
(-.f64 (fma.f64 -1 (log.f64 (/.f64 -1 y)) (/.f64 -1 y)) (+.f64 (/.f64 1/2 (*.f64 y y)) (/.f64 1/3 (pow.f64 y 3))))
(+.f64 (-.f64 (/.f64 -1 y) (log.f64 (/.f64 -1 y))) (+.f64 (/.f64 -1/2 (*.f64 y y)) (/.f64 -1/3 (pow.f64 y 3))))
(+.f64 (+.f64 (/.f64 -1 y) (/.f64 -1/2 (*.f64 y y))) (-.f64 (/.f64 -1/3 (pow.f64 y 3)) (log.f64 (/.f64 -1 y))))
(*.f64 -3 y)
(*.f64 y -3)
(+.f64 (*.f64 -3 y) (*.f64 -3/2 (pow.f64 y 2)))
(fma.f64 -3 y (*.f64 (*.f64 y y) -3/2))
(fma.f64 y -3 (*.f64 (*.f64 y y) -3/2))
(*.f64 y (+.f64 (*.f64 y -3/2) -3))
(*.f64 y (+.f64 -3 (*.f64 y -3/2)))
(+.f64 (*.f64 -3 y) (+.f64 (*.f64 -3/2 (pow.f64 y 2)) (*.f64 -1 (pow.f64 y 3))))
(fma.f64 -3 y (fma.f64 -3/2 (*.f64 y y) (neg.f64 (pow.f64 y 3))))
(-.f64 (fma.f64 y -3 (*.f64 (*.f64 y y) -3/2)) (pow.f64 y 3))
(fma.f64 y -3 (*.f64 (*.f64 y y) (-.f64 -3/2 y)))
(*.f64 y (+.f64 -3 (*.f64 y (-.f64 -3/2 y))))
(+.f64 (*.f64 -3/4 (pow.f64 y 4)) (+.f64 (*.f64 -3 y) (+.f64 (*.f64 -3/2 (pow.f64 y 2)) (*.f64 -1 (pow.f64 y 3)))))
(fma.f64 -3/4 (pow.f64 y 4) (fma.f64 -3 y (fma.f64 -3/2 (*.f64 y y) (neg.f64 (pow.f64 y 3)))))
(fma.f64 (pow.f64 y 4) -3/4 (-.f64 (fma.f64 y -3 (*.f64 (*.f64 y y) -3/2)) (pow.f64 y 3)))
(fma.f64 y -3 (fma.f64 (pow.f64 y 4) -3/4 (*.f64 (*.f64 y y) (-.f64 -3/2 y))))
(fma.f64 (pow.f64 y 4) -3/4 (*.f64 y (+.f64 -3 (*.f64 y (-.f64 -3/2 y)))))
(*.f64 3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 3 (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))))
(*.f64 3 (+.f64 (log.f64 -1) (log.f64 y)))
(-.f64 (*.f64 3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 3 (/.f64 1 y)))
(fma.f64 3 (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (neg.f64 (/.f64 3 y)))
(fma.f64 3 (+.f64 (log.f64 -1) (log.f64 y)) (/.f64 -3 y))
(-.f64 (*.f64 3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (+.f64 (*.f64 3/2 (/.f64 1 (pow.f64 y 2))) (*.f64 3 (/.f64 1 y))))
(fma.f64 3 (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (neg.f64 (+.f64 (/.f64 3 y) (/.f64 3/2 (*.f64 y y)))))
(-.f64 (fma.f64 3 (+.f64 (log.f64 -1) (log.f64 y)) (/.f64 -3 y)) (/.f64 3/2 (*.f64 y y)))
(+.f64 (/.f64 -3 y) (fma.f64 3 (+.f64 (log.f64 -1) (log.f64 y)) (/.f64 -3/2 (*.f64 y y))))
(-.f64 (*.f64 3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (+.f64 (/.f64 1 (pow.f64 y 3)) (+.f64 (*.f64 3/2 (/.f64 1 (pow.f64 y 2))) (*.f64 3 (/.f64 1 y)))))
(-.f64 (*.f64 3 (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y))))) (+.f64 (/.f64 1 (pow.f64 y 3)) (+.f64 (/.f64 3 y) (/.f64 3/2 (*.f64 y y)))))
(-.f64 (-.f64 (fma.f64 3 (+.f64 (log.f64 -1) (log.f64 y)) (/.f64 -3 y)) (/.f64 3/2 (*.f64 y y))) (/.f64 1 (pow.f64 y 3)))
(-.f64 (fma.f64 3 (+.f64 (log.f64 -1) (log.f64 y)) (/.f64 -3 y)) (+.f64 (/.f64 1 (pow.f64 y 3)) (/.f64 3/2 (*.f64 y y))))
(+.f64 (-.f64 (/.f64 -3/2 (*.f64 y y)) (/.f64 1 (pow.f64 y 3))) (fma.f64 3 (+.f64 (log.f64 -1) (log.f64 y)) (/.f64 -3 y)))
(*.f64 -3 (log.f64 (/.f64 -1 y)))
(*.f64 (log.f64 (/.f64 -1 y)) -3)
(-.f64 (*.f64 -3 (log.f64 (/.f64 -1 y))) (*.f64 3 (/.f64 1 y)))
(-.f64 (*.f64 (log.f64 (/.f64 -1 y)) -3) (/.f64 3 y))
(fma.f64 (log.f64 (/.f64 -1 y)) -3 (/.f64 -3 y))
(-.f64 (*.f64 -3 (log.f64 (/.f64 -1 y))) (+.f64 (*.f64 3/2 (/.f64 1 (pow.f64 y 2))) (*.f64 3 (/.f64 1 y))))
(-.f64 (*.f64 (log.f64 (/.f64 -1 y)) -3) (+.f64 (/.f64 3 y) (/.f64 3/2 (*.f64 y y))))
(-.f64 (fma.f64 (log.f64 (/.f64 -1 y)) -3 (/.f64 -3 y)) (/.f64 3/2 (*.f64 y y)))
(+.f64 (/.f64 -3 y) (fma.f64 (log.f64 (/.f64 -1 y)) -3 (/.f64 -3/2 (*.f64 y y))))
(-.f64 (*.f64 -3 (log.f64 (/.f64 -1 y))) (+.f64 (/.f64 1 (pow.f64 y 3)) (+.f64 (*.f64 3/2 (/.f64 1 (pow.f64 y 2))) (*.f64 3 (/.f64 1 y)))))
(-.f64 (*.f64 (log.f64 (/.f64 -1 y)) -3) (+.f64 (/.f64 1 (pow.f64 y 3)) (+.f64 (/.f64 3 y) (/.f64 3/2 (*.f64 y y)))))
(-.f64 (-.f64 (fma.f64 (log.f64 (/.f64 -1 y)) -3 (/.f64 -3 y)) (/.f64 3/2 (*.f64 y y))) (/.f64 1 (pow.f64 y 3)))
(+.f64 (+.f64 (/.f64 -3 y) (/.f64 -3/2 (*.f64 y y))) (fma.f64 (log.f64 (/.f64 -1 y)) -3 (/.f64 -1 (pow.f64 y 3))))
(+.f64 (-.f64 (/.f64 -3/2 (*.f64 y y)) (/.f64 1 (pow.f64 y 3))) (fma.f64 (log.f64 (/.f64 -1 y)) -3 (/.f64 -3 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(*.f64 -1 (*.f64 y z))
(*.f64 (neg.f64 y) z)
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1 (*.f64 y z)))
(fma.f64 -1/2 (*.f64 (*.f64 y y) z) (*.f64 (neg.f64 y) z))
(*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y))
(*.f64 y (*.f64 (+.f64 (*.f64 y -1/2) -1) z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z))))
(fma.f64 -1/2 (*.f64 (*.f64 y y) z) (fma.f64 -1 (*.f64 y z) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z))))
(fma.f64 -1/2 (*.f64 (*.f64 y y) z) (*.f64 z (-.f64 (*.f64 -1/3 (pow.f64 y 3)) y)))
(*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) y))
(*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 (*.f64 y -1/3) -1/2)) y))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 y 4) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z)))))
(fma.f64 -1/2 (*.f64 (*.f64 y y) z) (fma.f64 -1/4 (*.f64 (pow.f64 y 4) z) (fma.f64 -1 (*.f64 y z) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z)))))
(+.f64 (*.f64 z (-.f64 (*.f64 -1/3 (pow.f64 y 3)) y)) (*.f64 z (fma.f64 -1/2 (*.f64 y y) (*.f64 -1/4 (pow.f64 y 4)))))
(*.f64 z (fma.f64 -1/4 (pow.f64 y 4) (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) y)))
(*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y (+.f64 -1/3 (*.f64 -1/4 y))))) y))
(*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) z)
(*.f64 (+.f64 (log.f64 -1) (log.f64 y)) z)
(+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))))
(fma.f64 -1 (/.f64 z y) (*.f64 (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) z))
(fma.f64 (+.f64 (log.f64 -1) (log.f64 y)) z (/.f64 (neg.f64 z) y))
(-.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 y)) z) (/.f64 z y))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (/.f64 z y) (*.f64 (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) z)))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 (+.f64 (log.f64 -1) (log.f64 y)) z (/.f64 (neg.f64 z) y)))
(fma.f64 (+.f64 (log.f64 -1) (log.f64 y)) z (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1/3 (/.f64 z (pow.f64 y 3))) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (/.f64 z y) (fma.f64 -1/3 (/.f64 z (pow.f64 y 3)) (*.f64 (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) z))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (-.f64 (fma.f64 (+.f64 (log.f64 -1) (log.f64 y)) z (/.f64 (*.f64 -1/3 z) (pow.f64 y 3))) (/.f64 z y)))
(+.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 y)) z) (-.f64 (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2)) (/.f64 z y)))
(fma.f64 -1/3 (/.f64 z (pow.f64 y 3)) (fma.f64 (+.f64 (log.f64 -1) (log.f64 y)) z (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y)))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z))
(*.f64 (neg.f64 (log.f64 (/.f64 -1 y))) z)
(*.f64 (log.f64 (/.f64 -1 y)) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y)))
(fma.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z) (neg.f64 (/.f64 z y)))
(neg.f64 (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y)))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z) (neg.f64 (/.f64 z y))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (neg.f64 (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y))))
(-.f64 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))) (*.f64 (log.f64 (/.f64 -1 y)) z))
(-.f64 (*.f64 z (-.f64 (/.f64 -1/2 (*.f64 y y)) (log.f64 (/.f64 -1 y)))) (/.f64 z y))
(+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1/3 (/.f64 z (pow.f64 y 3))))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z) (fma.f64 -1 (/.f64 z y) (/.f64 (*.f64 -1/3 z) (pow.f64 y 3)))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y)) (/.f64 (*.f64 -1/3 z) (pow.f64 y 3))))
(fma.f64 -1 (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y)) (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2)))
(-.f64 (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2)) (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y)))

localize4.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 z (log1p.f64 (neg.f64 y)))
0.0b
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
0.0b
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
0.0b
(*.f64 z (log1p.f64 (neg.f64 y)))
Compiler

Compiled 24 to 8 computations (66.7% saved)

series29.0ms (0.3%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
26.0ms
y
@inf
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
1.0ms
y
@-inf
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
0.0ms
z
@0
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
0.0ms
y
@0
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
0.0ms
z
@inf
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)

rewrite63.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
819×pow1_binary64
757×add-log-exp_binary64
756×expm1-log1p-u_binary64
755×log1p-expm1-u_binary64
740×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify53.0ms (0.6%)

Algorithm
egg-herbie
Rules
646×fma-neg_binary64
533×times-frac_binary64
519×associate-+l-_binary64
421×distribute-neg-in_binary64
335×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
062565
1194493
2582474
31946466
46437466
Stop Event
node limit
Counts
73 → 65
Calls
Call 1
Inputs
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(*.f64 z (log.f64 (-.f64 1 y)))
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(*.f64 z (log.f64 (-.f64 1 y)))
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 t) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z)))))
(-.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) t)
(-.f64 (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))) t)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))))) t)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1/3 (/.f64 z (pow.f64 y 3))) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))))) t)
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) t)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y))) t)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y)))) t)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1/3 (/.f64 z (pow.f64 y 3)))))) t)
(*.f64 z (log.f64 (-.f64 1 y)))
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
Outputs
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 -1 t (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 -1 t (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 -1 t (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 -1 t (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 -1 t (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 -1 t (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 -1 t (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 -1 t (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 -1 t (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(fma.f64 -1 t (neg.f64 (*.f64 z y)))
(-.f64 (neg.f64 t) (*.f64 z y))
(neg.f64 (fma.f64 z y t))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z))))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 -1 t (neg.f64 (*.f64 z y))))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (-.f64 (neg.f64 t) (*.f64 z y)))
(-.f64 (*.f64 y (*.f64 y (*.f64 z -1/2))) (fma.f64 z y t))
(-.f64 (*.f64 (*.f64 z y) (+.f64 -1 (*.f64 y -1/2))) t)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 t) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z)))))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 -1 t (fma.f64 -1 (*.f64 z y) (*.f64 -1/3 (*.f64 z (pow.f64 y 3))))))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (-.f64 (*.f64 z (+.f64 (*.f64 -1/3 (pow.f64 y 3)) (neg.f64 y))) t))
(-.f64 (*.f64 z (+.f64 (-.f64 (*.f64 -1/3 (pow.f64 y 3)) y) (*.f64 y (*.f64 y -1/2)))) t)
(-.f64 (*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 (*.f64 y -1/3) -1/2)) y)) t)
(-.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) t)
(-.f64 (*.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y))))) t)
(fma.f64 z (+.f64 (log.f64 -1) (log.f64 y)) (neg.f64 t))
(-.f64 (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))) t)
(-.f64 (fma.f64 -1 (/.f64 z y) (*.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))))) t)
(-.f64 (-.f64 (*.f64 z (+.f64 (log.f64 -1) (log.f64 y))) (/.f64 z y)) t)
(-.f64 (*.f64 z (+.f64 (log.f64 -1) (log.f64 y))) (+.f64 (/.f64 z y) t))
(-.f64 (*.f64 z (+.f64 (log.f64 -1) (log.f64 y))) (+.f64 t (/.f64 z y)))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (/.f64 z y) (*.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y))))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (-.f64 (*.f64 z (+.f64 (log.f64 -1) (log.f64 y))) (/.f64 z y))) t)
(-.f64 (fma.f64 z (+.f64 (log.f64 -1) (log.f64 y)) (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y)))) t)
(fma.f64 z (+.f64 (log.f64 -1) (log.f64 y)) (-.f64 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))) t))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1/3 (/.f64 z (pow.f64 y 3))) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (/.f64 z y) (fma.f64 -1/3 (/.f64 z (pow.f64 y 3)) (*.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (-.f64 (fma.f64 z (+.f64 (log.f64 -1) (log.f64 y)) (*.f64 -1/3 (/.f64 z (pow.f64 y 3)))) (/.f64 z y))) t)
(+.f64 (-.f64 (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2)) (/.f64 z y)) (fma.f64 z (+.f64 (log.f64 -1) (log.f64 y)) (neg.f64 t)))
(-.f64 (fma.f64 -1/3 (/.f64 z (pow.f64 y 3)) (fma.f64 z (+.f64 (log.f64 -1) (log.f64 y)) (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))))) t)
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) t)
(-.f64 (neg.f64 (*.f64 z (log.f64 (/.f64 -1 y)))) t)
(-.f64 (*.f64 (log.f64 (/.f64 -1 y)) (neg.f64 z)) t)
(neg.f64 (fma.f64 z (log.f64 (/.f64 -1 y)) t))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y))) t)
(-.f64 (*.f64 -1 (+.f64 (*.f64 z (log.f64 (/.f64 -1 y))) (/.f64 z y))) t)
(-.f64 (neg.f64 (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y))) t)
(-.f64 (neg.f64 t) (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y)))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y)))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (*.f64 -1 (+.f64 (*.f64 z (log.f64 (/.f64 -1 y))) (/.f64 z y)))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (neg.f64 (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y)))) t)
(+.f64 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))) (neg.f64 (fma.f64 z (log.f64 (/.f64 -1 y)) t)))
(-.f64 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))) (fma.f64 z (log.f64 (/.f64 -1 y)) t))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (+.f64 (*.f64 -1 (/.f64 z y)) (*.f64 -1/3 (/.f64 z (pow.f64 y 3)))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (*.f64 z (log.f64 (/.f64 -1 y))) (fma.f64 -1 (/.f64 z y) (*.f64 -1/3 (/.f64 z (pow.f64 y 3)))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y)) (*.f64 -1/3 (/.f64 z (pow.f64 y 3))))) t)
(-.f64 (fma.f64 -1 (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y)) (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2))) t)
(-.f64 (-.f64 (*.f64 (/.f64 z (*.f64 y y)) (+.f64 -1/2 (/.f64 -1/3 y))) (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y))) t)
(-.f64 (-.f64 (*.f64 (/.f64 z y) (/.f64 (+.f64 -1/2 (/.f64 -1/3 y)) y)) (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y))) t)
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 -1 t (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 -1 t (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 -1 t (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 -1 t (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 -1 t (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 -1 t (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 -1 t (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 -1 t (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(+.f64 (*.f64 -1 t) (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 -1 t (*.f64 z (log.f64 (-.f64 1 y))))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)

localize46.0ms (0.6%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 (*.f64 x (log.f64 y)))
0.2b
(*.f64 x (log.f64 y))
0.0b
(*.f64 z (log.f64 (-.f64 1 y)))
0.0b
(-.f64 (+.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3) (*.f64 z (log.f64 (-.f64 1 y)))) t)
0.2b
(*.f64 x (log.f64 y))
0.6b
(cbrt.f64 (*.f64 x (log.f64 y)))
0.7b
(pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3)
6.6b
(log.f64 (-.f64 1 y))
Compiler

Compiled 71 to 35 computations (50.7% saved)

series14.0ms (0.2%)

Counts
2 → 24
Calls

12 calls:

TimeVariablePointExpression
2.0ms
y
@0
(pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3)
2.0ms
y
@-inf
(pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3)
2.0ms
y
@inf
(pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3)
2.0ms
x
@-inf
(pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3)
2.0ms
x
@0
(pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3)

rewrite50.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
611×pow1_binary64
571×add-log-exp_binary64
571×log1p-expm1-u_binary64
571×expm1-log1p-u_binary64
557×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0814
116414
2162414
Stop Event
node limit
Counts
2 → 52
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3)
(cbrt.f64 (*.f64 x (log.f64 y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x (log.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (log.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (log.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (log.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2) (cbrt.f64 (*.f64 x (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (log.f64 y)) (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 y)) 2) (*.f64 (cbrt.f64 (log.f64 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (log.f64 y))) (sqrt.f64 (*.f64 x (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 x (log.f64 y)) 1/6) (*.f64 (pow.f64 (*.f64 x (log.f64 y)) 1/6) (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 y)) (*.f64 (sqrt.f64 (log.f64 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))) 2) 3) (cbrt.f64 (*.f64 x (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 x (log.f64 y)) 1/6) 3) (pow.f64 (pow.f64 (*.f64 x (log.f64 y)) 1/6) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 y)) 2)) (cbrt.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (sqrt.f64 (log.f64 y))) (sqrt.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 y) (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2) 1) (cbrt.f64 (*.f64 x (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2) (cbrt.f64 x)) (cbrt.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2) (pow.f64 (*.f64 x (log.f64 y)) 1/6)) (pow.f64 (*.f64 x (log.f64 y)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (log.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (log.f64 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 y x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (log.f64 y))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (*.f64 x (log.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 x (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (cbrt.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 x (log.f64 y)) 1/6) (pow.f64 (*.f64 x (log.f64 y)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 x (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 x (log.f64 y))) 1/3) (pow.f64 (sqrt.f64 (*.f64 x (log.f64 y))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (log.f64 y)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (log.f64 y)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 x (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 x (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 x (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 x (log.f64 y)))))))))

simplify77.0ms (0.9%)

Algorithm
egg-herbie
Rules
934×fma-neg_binary64
843×fma-def_binary64
418×unswap-sqr_binary64
370×associate--r-_binary64
352×sqr-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
028232
175196
2147196
3297196
4541196
51169196
62745196
74298196
84884196
95090196
105328196
115665196
Stop Event
node limit
Counts
76 → 60
Calls
Call 1
Inputs
(*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(pow.f64 (*.f64 (log.f64 y) x) 1/3)
(pow.f64 (*.f64 (log.f64 y) x) 1/3)
(pow.f64 (*.f64 (log.f64 y) x) 1/3)
(pow.f64 (*.f64 (log.f64 y) x) 1/3)
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 y)) x)) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 y)) x)) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 y)) x)) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 y)) x)) 1/3) (cbrt.f64 -1))
(pow.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) 1/3)
(pow.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) 1/3)
(pow.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) 1/3)
(pow.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) 1/3)
Outputs
(*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(pow.f64 (*.f64 (log.f64 y) x) 1/3)
(cbrt.f64 (*.f64 (log.f64 y) x))
(pow.f64 (*.f64 (log.f64 y) x) 1/3)
(cbrt.f64 (*.f64 (log.f64 y) x))
(pow.f64 (*.f64 (log.f64 y) x) 1/3)
(cbrt.f64 (*.f64 (log.f64 y) x))
(pow.f64 (*.f64 (log.f64 y) x) 1/3)
(cbrt.f64 (*.f64 (log.f64 y) x))
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 y)) x)) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (*.f64 x (neg.f64 (log.f64 y)))) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (*.f64 (log.f64 y) (neg.f64 x))) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 y)) x)) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (*.f64 x (neg.f64 (log.f64 y)))) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (*.f64 (log.f64 y) (neg.f64 x))) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 y)) x)) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (*.f64 x (neg.f64 (log.f64 y)))) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (*.f64 (log.f64 y) (neg.f64 x))) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 y)) x)) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (*.f64 x (neg.f64 (log.f64 y)))) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (*.f64 (log.f64 y) (neg.f64 x))) (cbrt.f64 -1))
(pow.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) 1/3)
(cbrt.f64 (*.f64 (log.f64 y) x))
(pow.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) 1/3)
(cbrt.f64 (*.f64 (log.f64 y) x))
(pow.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) 1/3)
(cbrt.f64 (*.f64 (log.f64 y) x))
(pow.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) 1/3)
(cbrt.f64 (*.f64 (log.f64 y) x))

localize25.0ms (0.3%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (cbrt.f64 x) (log.f64 y))
0.1b
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (log.f64 y)) (-.f64 (*.f64 z (log1p.f64 y)) t))
0.0b
(*.f64 z (log1p.f64 y))
0.0b
(-.f64 (*.f64 z (log1p.f64 y)) t)
0.1b
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (log.f64 y)) (-.f64 (*.f64 z (log1p.f64 y)) t))
0.3b
(*.f64 (cbrt.f64 x) (log.f64 y))
0.5b
(pow.f64 (cbrt.f64 x) 2)
0.6b
(cbrt.f64 x)
Compiler

Compiled 50 to 16 computations (68% saved)

series22.0ms (0.3%)

Counts
4 → 51
Calls

24 calls:

TimeVariablePointExpression
4.0ms
z
@0
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (log.f64 y)) (-.f64 (*.f64 z (log1p.f64 y)) t))
3.0ms
t
@0
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (log.f64 y)) (-.f64 (*.f64 z (log1p.f64 y)) t))
2.0ms
y
@0
(*.f64 (cbrt.f64 x) (log.f64 y))
2.0ms
x
@0
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (log.f64 y)) (-.f64 (*.f64 z (log1p.f64 y)) t))
2.0ms
x
@-inf
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (log.f64 y)) (-.f64 (*.f64 z (log1p.f64 y)) t))

rewrite83.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
768×prod-diff_binary64
659×log-prod_binary64
356×pow2_binary64
317×fma-def_binary64
249×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01442
128734
2348632
Stop Event
node limit
Counts
4 → 97
Calls
Call 1
Inputs
(cbrt.f64 x)
(pow.f64 (cbrt.f64 x) 2)
(*.f64 (cbrt.f64 x) (log.f64 y))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (log.f64 y)) (-.f64 (*.f64 z (log1p.f64 y)) t))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 x))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 x)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x 1/6) (pow.f64 x 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (*.f64 x (cbrt.f64 x)))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 x) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (cbrt.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 x) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cbrt.f64 x) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cbrt.f64 x) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 x) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cbrt.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (*.f64 x (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (cbrt.f64 x))) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (pow.f64 x 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x 1/6) (*.f64 (pow.f64 x 1/6) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 x (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (cbrt.f64 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2/3 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2/3 (log.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 x) 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cbrt.f64 x) (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 y (cbrt.f64 x))) 2)) (log.f64 (cbrt.f64 (pow.f64 y (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 y (cbrt.f64 x)))) (log.f64 (sqrt.f64 (pow.f64 y (cbrt.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cbrt.f64 x) (log.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 x) (log.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cbrt.f64 x) (log.f64 y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 x) (log.f64 y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cbrt.f64 x) (log.f64 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (pow.f64 (log.f64 y) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (log.f64 y) 3) x) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 x) (log.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 y (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (-.f64 (pow.f64 y (cbrt.f64 x)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 x) (log.f64 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 x (pow.f64 (log.f64 y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (log.f64 y) 3) x))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 y (cbrt.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cbrt.f64 x) (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 x) (log.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 x) (log.f64 y))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 z (log1p.f64 y)) t) (*.f64 x (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (log.f64 y)) (-.f64 (*.f64 z (log1p.f64 y)) t))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x (log.f64 y)) 1) (-.f64 (*.f64 z (log1p.f64 y)) t))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) (neg.f64 t))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t)))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t)) (pow.f64 (cbrt.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t)) 2) (cbrt.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t)) (sqrt.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x (log.f64 y)) 3) (pow.f64 (-.f64 (*.f64 z (log1p.f64 y)) t) 3)) (+.f64 (pow.f64 (*.f64 x (log.f64 y)) 2) (-.f64 (pow.f64 (-.f64 (*.f64 z (log1p.f64 y)) t) 2) (*.f64 (*.f64 x (log.f64 y)) (-.f64 (*.f64 z (log1p.f64 y)) t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (log.f64 y)) 2) (pow.f64 (-.f64 (*.f64 z (log1p.f64 y)) t) 2)) (-.f64 (*.f64 x (log.f64 y)) (-.f64 (*.f64 z (log1p.f64 y)) t)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (-.f64 (*.f64 z (log1p.f64 y)) t)) (exp.f64 (*.f64 x (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (-.f64 (*.f64 z (log1p.f64 y)) t))) (exp.f64 (*.f64 x (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 x (log.f64 y))) (+.f64 1 (expm1.f64 (-.f64 (*.f64 z (log1p.f64 y)) t)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) t)))))))

simplify61.0ms (0.7%)

Algorithm
egg-herbie
Rules
618×fma-neg_binary64
480×associate--l+_binary64
468×fma-def_binary64
415×times-frac_binary64
399×associate-+l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
089878
1283772
2875693
33415687
47389687
Stop Event
node limit
Counts
148 → 132
Calls
Call 1
Inputs
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (log.f64 y))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(-.f64 (*.f64 (log.f64 (+.f64 1 y)) z) t)
(-.f64 (*.f64 (log.f64 (+.f64 1 y)) z) t)
(-.f64 (*.f64 (log.f64 (+.f64 1 y)) z) t)
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 y z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 y z) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x)))) t)
(-.f64 (+.f64 (*.f64 y z) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 y 3) z)) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))) t)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) z)) (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))) t)
(-.f64 (+.f64 (/.f64 z y) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) z)) (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x))))) t)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (/.f64 z y) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) z)) (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))))) t)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (/.f64 z y) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) z)) (+.f64 (*.f64 1/3 (/.f64 z (pow.f64 y 3))) (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x))))))) t)
(-.f64 (+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) z)) t)
(-.f64 (+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)) (+.f64 (/.f64 z y) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) z))) t)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)) (+.f64 (/.f64 z y) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) z)))) t)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)) (+.f64 (/.f64 z y) (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) z) (*.f64 1/3 (/.f64 z (pow.f64 y 3))))))) t)
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(*.f64 (log.f64 (+.f64 1 y)) z)
(-.f64 (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(*.f64 (log.f64 (+.f64 1 y)) z)
(-.f64 (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x)))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
Outputs
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (log.f64 y))
(*.f64 (cbrt.f64 x) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (log.f64 y))
(*.f64 (cbrt.f64 x) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (log.f64 y))
(*.f64 (cbrt.f64 x) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (log.f64 y))
(*.f64 (cbrt.f64 x) (log.f64 y))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 (cbrt.f64 x) (log.f64 y))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 (cbrt.f64 x) (log.f64 y))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 (cbrt.f64 x) (log.f64 y))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 (cbrt.f64 x) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (cbrt.f64 x) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (cbrt.f64 x) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (cbrt.f64 x) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (cbrt.f64 x) (log.f64 y))
(-.f64 (*.f64 (log.f64 (+.f64 1 y)) z) t)
(-.f64 (*.f64 (log1p.f64 y) z) t)
(fma.f64 (log1p.f64 y) z (neg.f64 t))
(-.f64 (*.f64 (log.f64 (+.f64 1 y)) z) t)
(-.f64 (*.f64 (log1p.f64 y) z) t)
(fma.f64 (log1p.f64 y) z (neg.f64 t))
(-.f64 (*.f64 (log.f64 (+.f64 1 y)) z) t)
(-.f64 (*.f64 (log1p.f64 y) z) t)
(fma.f64 (log1p.f64 y) z (neg.f64 t))
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x)) t)
(fma.f64 1 (*.f64 x (log.f64 y)) (neg.f64 t))
(-.f64 (*.f64 x (log.f64 y)) t)
(-.f64 (+.f64 (*.f64 y z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 y z (*.f64 1 (*.f64 x (log.f64 y)))) t)
(fma.f64 y z (-.f64 (*.f64 x (log.f64 y)) t))
(-.f64 (fma.f64 x (log.f64 y) (*.f64 y z)) t)
(-.f64 (+.f64 (*.f64 y z) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x)))) t)
(-.f64 (fma.f64 y z (fma.f64 -1/2 (*.f64 z (*.f64 y y)) (*.f64 1 (*.f64 x (log.f64 y))))) t)
(-.f64 (fma.f64 y z (fma.f64 (log.f64 y) x (*.f64 -1/2 (*.f64 z (*.f64 y y))))) t)
(-.f64 (fma.f64 x (log.f64 y) (*.f64 z (+.f64 y (*.f64 -1/2 (*.f64 y y))))) t)
(-.f64 (+.f64 (*.f64 y z) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 y 3) z)) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))) t)
(-.f64 (fma.f64 y z (fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 1/3 (*.f64 z (pow.f64 y 3)) (*.f64 1 (*.f64 x (log.f64 y)))))) t)
(-.f64 (fma.f64 y z (fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 1/3 (*.f64 z (pow.f64 y 3)) (*.f64 x (log.f64 y))))) t)
(-.f64 (fma.f64 z (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 1/3 y))) (fma.f64 x (log.f64 y) (*.f64 y z))) t)
(-.f64 (fma.f64 y z (fma.f64 x (log.f64 y) (*.f64 (*.f64 z (*.f64 y y)) (+.f64 -1/2 (*.f64 1/3 y))))) t)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) z)) (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))) t)
(-.f64 (fma.f64 -1 (*.f64 (neg.f64 (log.f64 y)) z) (*.f64 -1 (*.f64 x (neg.f64 (log.f64 y))))) t)
(-.f64 (neg.f64 (fma.f64 (neg.f64 (log.f64 y)) z (*.f64 x (neg.f64 (log.f64 y))))) t)
(-.f64 (*.f64 (log.f64 y) (+.f64 z x)) t)
(-.f64 (+.f64 (/.f64 z y) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) z)) (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x))))) t)
(+.f64 (/.f64 z y) (-.f64 (fma.f64 -1 (*.f64 (neg.f64 (log.f64 y)) z) (*.f64 -1 (*.f64 x (neg.f64 (log.f64 y))))) t))
(-.f64 (fma.f64 -1 (fma.f64 (neg.f64 (log.f64 y)) z (*.f64 x (neg.f64 (log.f64 y)))) (/.f64 z y)) t)
(+.f64 (*.f64 (log.f64 y) (+.f64 z x)) (-.f64 (/.f64 z y) t))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (/.f64 z y) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) z)) (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (+.f64 (fma.f64 -1 (*.f64 (neg.f64 (log.f64 y)) z) (*.f64 -1 (*.f64 x (neg.f64 (log.f64 y))))) (/.f64 z y))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (fma.f64 (neg.f64 (log.f64 y)) z (*.f64 x (neg.f64 (log.f64 y)))) (/.f64 z y))) t)
(+.f64 (*.f64 (log.f64 y) (+.f64 z x)) (-.f64 (*.f64 (+.f64 (/.f64 -1/2 y) 1) (/.f64 z y)) t))
(-.f64 (fma.f64 (+.f64 (/.f64 -1/2 y) 1) (/.f64 z y) (*.f64 (log.f64 y) (+.f64 z x))) t)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (/.f64 z y) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) z)) (+.f64 (*.f64 1/3 (/.f64 z (pow.f64 y 3))) (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x))))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 z y) (fma.f64 -1 (*.f64 (neg.f64 (log.f64 y)) z) (fma.f64 1/3 (/.f64 z (pow.f64 y 3)) (*.f64 -1 (*.f64 x (neg.f64 (log.f64 y)))))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (+.f64 (fma.f64 -1 (fma.f64 (neg.f64 (log.f64 y)) z (*.f64 x (neg.f64 (log.f64 y)))) (/.f64 z y)) (*.f64 1/3 (/.f64 z (pow.f64 y 3))))) t)
(+.f64 (fma.f64 1/3 (/.f64 z (pow.f64 y 3)) (*.f64 (log.f64 y) (+.f64 z x))) (-.f64 (*.f64 (+.f64 (/.f64 -1/2 y) 1) (/.f64 z y)) t))
(+.f64 (+.f64 (*.f64 (log.f64 y) (+.f64 z x)) (/.f64 z y)) (-.f64 (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 1/3 y) -1/2)) t))
(-.f64 (+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) z)) t)
(-.f64 (fma.f64 -1 (*.f64 (neg.f64 (log.f64 y)) z) (*.f64 -1 (*.f64 x (neg.f64 (log.f64 y))))) t)
(-.f64 (neg.f64 (fma.f64 (neg.f64 (log.f64 y)) z (*.f64 x (neg.f64 (log.f64 y))))) t)
(-.f64 (*.f64 (log.f64 y) (+.f64 z x)) t)
(-.f64 (+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)) (+.f64 (/.f64 z y) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) z))) t)
(+.f64 (/.f64 z y) (-.f64 (fma.f64 -1 (*.f64 (neg.f64 (log.f64 y)) z) (*.f64 -1 (*.f64 x (neg.f64 (log.f64 y))))) t))
(-.f64 (fma.f64 -1 (fma.f64 (neg.f64 (log.f64 y)) z (*.f64 x (neg.f64 (log.f64 y)))) (/.f64 z y)) t)
(+.f64 (*.f64 (log.f64 y) (+.f64 z x)) (-.f64 (/.f64 z y) t))
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)) (+.f64 (/.f64 z y) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) z)))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (+.f64 (fma.f64 -1 (*.f64 (neg.f64 (log.f64 y)) z) (*.f64 -1 (*.f64 x (neg.f64 (log.f64 y))))) (/.f64 z y))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (fma.f64 (neg.f64 (log.f64 y)) z (*.f64 x (neg.f64 (log.f64 y)))) (/.f64 z y))) t)
(+.f64 (*.f64 (log.f64 y) (+.f64 z x)) (-.f64 (*.f64 (+.f64 (/.f64 -1/2 y) 1) (/.f64 z y)) t))
(-.f64 (fma.f64 (+.f64 (/.f64 -1/2 y) 1) (/.f64 z y) (*.f64 (log.f64 y) (+.f64 z x))) t)
(-.f64 (+.f64 (*.f64 -1/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)) (+.f64 (/.f64 z y) (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) z) (*.f64 1/3 (/.f64 z (pow.f64 y 3))))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 z y) (fma.f64 -1 (*.f64 (neg.f64 (log.f64 y)) z) (fma.f64 1/3 (/.f64 z (pow.f64 y 3)) (*.f64 -1 (*.f64 x (neg.f64 (log.f64 y)))))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (+.f64 (fma.f64 -1 (fma.f64 (neg.f64 (log.f64 y)) z (*.f64 x (neg.f64 (log.f64 y)))) (/.f64 z y)) (*.f64 1/3 (/.f64 z (pow.f64 y 3))))) t)
(+.f64 (fma.f64 1/3 (/.f64 z (pow.f64 y 3)) (*.f64 (log.f64 y) (+.f64 z x))) (-.f64 (*.f64 (+.f64 (/.f64 -1/2 y) 1) (/.f64 z y)) t))
(+.f64 (+.f64 (*.f64 (log.f64 y) (+.f64 z x)) (/.f64 z y)) (-.f64 (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 1/3 y) -1/2)) t))
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x)) t)
(fma.f64 1 (*.f64 x (log.f64 y)) (neg.f64 t))
(-.f64 (*.f64 x (log.f64 y)) t)
(-.f64 (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 (log1p.f64 y) z (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 (log1p.f64 y) z)) t)
(fma.f64 x (log.f64 y) (fma.f64 (log1p.f64 y) z (neg.f64 t)))
(-.f64 (fma.f64 x (log.f64 y) (*.f64 (log1p.f64 y) z)) t)
(-.f64 (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 (log1p.f64 y) z (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 (log1p.f64 y) z)) t)
(fma.f64 x (log.f64 y) (fma.f64 (log1p.f64 y) z (neg.f64 t)))
(-.f64 (fma.f64 x (log.f64 y) (*.f64 (log1p.f64 y) z)) t)
(-.f64 (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 (log1p.f64 y) z (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 (log1p.f64 y) z)) t)
(fma.f64 x (log.f64 y) (fma.f64 (log1p.f64 y) z (neg.f64 t)))
(-.f64 (fma.f64 x (log.f64 y) (*.f64 (log1p.f64 y) z)) t)
(*.f64 (log.f64 (+.f64 1 y)) z)
(*.f64 (log1p.f64 y) z)
(-.f64 (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 (log1p.f64 y) z (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 (log1p.f64 y) z)) t)
(fma.f64 x (log.f64 y) (fma.f64 (log1p.f64 y) z (neg.f64 t)))
(-.f64 (fma.f64 x (log.f64 y) (*.f64 (log1p.f64 y) z)) t)
(-.f64 (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 (log1p.f64 y) z (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 (log1p.f64 y) z)) t)
(fma.f64 x (log.f64 y) (fma.f64 (log1p.f64 y) z (neg.f64 t)))
(-.f64 (fma.f64 x (log.f64 y) (*.f64 (log1p.f64 y) z)) t)
(-.f64 (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 (log1p.f64 y) z (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 (log1p.f64 y) z)) t)
(fma.f64 x (log.f64 y) (fma.f64 (log1p.f64 y) z (neg.f64 t)))
(-.f64 (fma.f64 x (log.f64 y) (*.f64 (log1p.f64 y) z)) t)
(*.f64 (log.f64 (+.f64 1 y)) z)
(*.f64 (log1p.f64 y) z)
(-.f64 (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 (log1p.f64 y) z (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 (log1p.f64 y) z)) t)
(fma.f64 x (log.f64 y) (fma.f64 (log1p.f64 y) z (neg.f64 t)))
(-.f64 (fma.f64 x (log.f64 y) (*.f64 (log1p.f64 y) z)) t)
(-.f64 (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 (log1p.f64 y) z (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 (log1p.f64 y) z)) t)
(fma.f64 x (log.f64 y) (fma.f64 (log1p.f64 y) z (neg.f64 t)))
(-.f64 (fma.f64 x (log.f64 y) (*.f64 (log1p.f64 y) z)) t)
(-.f64 (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 (log1p.f64 y) z (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 (log1p.f64 y) z)) t)
(fma.f64 x (log.f64 y) (fma.f64 (log1p.f64 y) z (neg.f64 t)))
(-.f64 (fma.f64 x (log.f64 y) (*.f64 (log1p.f64 y) z)) t)
(+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x)))
(fma.f64 (log1p.f64 y) z (*.f64 1 (*.f64 x (log.f64 y))))
(fma.f64 (log.f64 y) x (*.f64 (log1p.f64 y) z))
(fma.f64 x (log.f64 y) (*.f64 (log1p.f64 y) z))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 (log1p.f64 y) z (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 (log1p.f64 y) z)) t)
(fma.f64 x (log.f64 y) (fma.f64 (log1p.f64 y) z (neg.f64 t)))
(-.f64 (fma.f64 x (log.f64 y) (*.f64 (log1p.f64 y) z)) t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 (log1p.f64 y) z (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 (log1p.f64 y) z)) t)
(fma.f64 x (log.f64 y) (fma.f64 (log1p.f64 y) z (neg.f64 t)))
(-.f64 (fma.f64 x (log.f64 y) (*.f64 (log1p.f64 y) z)) t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 (log1p.f64 y) z (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 (log1p.f64 y) z)) t)
(fma.f64 x (log.f64 y) (fma.f64 (log1p.f64 y) z (neg.f64 t)))
(-.f64 (fma.f64 x (log.f64 y) (*.f64 (log1p.f64 y) z)) t)
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 (log1p.f64 y) z (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 (log1p.f64 y) z)) t)
(fma.f64 x (log.f64 y) (fma.f64 (log1p.f64 y) z (neg.f64 t)))
(-.f64 (fma.f64 x (log.f64 y) (*.f64 (log1p.f64 y) z)) t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 (log1p.f64 y) z (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 (log1p.f64 y) z)) t)
(fma.f64 x (log.f64 y) (fma.f64 (log1p.f64 y) z (neg.f64 t)))
(-.f64 (fma.f64 x (log.f64 y) (*.f64 (log1p.f64 y) z)) t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 (log1p.f64 y) z (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 (log1p.f64 y) z)) t)
(fma.f64 x (log.f64 y) (fma.f64 (log1p.f64 y) z (neg.f64 t)))
(-.f64 (fma.f64 x (log.f64 y) (*.f64 (log1p.f64 y) z)) t)
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 (log1p.f64 y) z (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 (log1p.f64 y) z)) t)
(fma.f64 x (log.f64 y) (fma.f64 (log1p.f64 y) z (neg.f64 t)))
(-.f64 (fma.f64 x (log.f64 y) (*.f64 (log1p.f64 y) z)) t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 (log1p.f64 y) z (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 (log1p.f64 y) z)) t)
(fma.f64 x (log.f64 y) (fma.f64 (log1p.f64 y) z (neg.f64 t)))
(-.f64 (fma.f64 x (log.f64 y) (*.f64 (log1p.f64 y) z)) t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 (log.f64 (+.f64 1 y)) z) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 (log1p.f64 y) z (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 (log1p.f64 y) z)) t)
(fma.f64 x (log.f64 y) (fma.f64 (log1p.f64 y) z (neg.f64 t)))
(-.f64 (fma.f64 x (log.f64 y) (*.f64 (log1p.f64 y) z)) t)

eval374.0ms (4.4%)

Compiler

Compiled 10062 to 4786 computations (52.4% saved)

prune181.0ms (2.2%)

Pruning

23 alts after pruning (21 fresh and 2 done)

PrunedKeptTotal
New51516531
Fresh5510
Picked101
Done224
Total52323546
Error
0.0b
Counts
546 → 23
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (*.f64 1/3 (*.f64 3 (log1p.f64 (neg.f64 y)))))) t)
0.8b
(-.f64 (+.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3) (*.f64 z (neg.f64 y))) t)
42.0b
(*.f64 (-.f64 (pow.f64 (fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 y))) 2) (*.f64 t t)) (/.f64 1 (fma.f64 x (log.f64 y) (fma.f64 z (log1p.f64 y) t))))
25.5b
(fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) (log.f64 y)) (-.f64 (*.f64 z (log1p.f64 y)) t))
34.7b
(-.f64 (+.f64 (*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 y))) (*.f64 z (log.f64 (-.f64 1 y)))) t)
8.0b
(-.f64 (*.f64 x (log.f64 y)) t)
8.2b
(-.f64 (+.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3)) 3) (*.f64 z (log.f64 (-.f64 1 y)))) t)
30.4b
(-.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 x (log.f64 y)) 3)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
26.5b
(-.f64 (*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 (*.f64 y -1/3) -1/2)) y)) t)
8.0b
(-.f64 (+.f64 (*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (log.f64 y)) (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2))) (*.f64 z (log.f64 (-.f64 1 y)))) t)
26.5b
(-.f64 (*.f64 (*.f64 z y) (+.f64 -1 (*.f64 y -1/2))) t)
26.6b
(-.f64 (*.f64 y (neg.f64 z)) t)
62.3b
(*.f64 (log1p.f64 y) z)
8.1b
(-.f64 (+.f64 (*.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
54.9b
(*.f64 z (log1p.f64 (neg.f64 y)))
8.1b
(-.f64 (+.f64 (pow.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 (log.f64 y))) 3) (*.f64 z (log.f64 (-.f64 1 y)))) t)
9.1b
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 (*.f64 (pow.f64 (log.f64 y) 3) x)) (-.f64 (*.f64 z (log1p.f64 y)) t))
0.4b
(-.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 y z) t))
16.3b
(fma.f64 (sqrt.f64 (*.f64 x (cbrt.f64 x))) (*.f64 (cbrt.f64 x) (log.f64 y)) (-.f64 (*.f64 z (log1p.f64 y)) t))
34.0b
(neg.f64 t)
26.6b
(neg.f64 (fma.f64 z y t))
37.1b
(-.f64 (+.f64 (pow.f64 (sqrt.f64 (*.f64 x (log.f64 y))) 2) (*.f64 z (log.f64 (-.f64 1 y)))) t)
8.0b
(-.f64 (+.f64 (*.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 y)) 2)) (cbrt.f64 (log.f64 y))) (*.f64 z (log.f64 (-.f64 1 y)))) t)
Compiler

Compiled 794 to 554 computations (30.2% saved)

localize18.0ms (0.2%)

Local error

Found 6 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (log.f64 y) x)
0.0b
(-.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 y z) t))
0.0b
(+.f64 (*.f64 y z) t)
0.0b
(+.f64 (*.f64 y z) t)
0.0b
(-.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 y z) t))
0.2b
(*.f64 (log.f64 y) x)
Compiler

Compiled 32 to 9 computations (71.9% saved)

series11.0ms (0.1%)

Counts
3 → 65
Calls

27 calls:

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

rewrite83.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
652×fma-def_binary64
570×log-prod_binary64
426×pow-prod-down_binary64
308×fma-neg_binary64
303×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify182.0ms (2.2%)

Algorithm
egg-herbie
Rules
3801×fma-def_binary64
690×distribute-rgt-in_binary64
604×unsub-neg_binary64
542×distribute-lft-in_binary64
528×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
037731
1102659
2213619
3549619
41196619
52437619
64124619
74716619
84965619
95043619
105062619
115065619
125253619
136401619
146735619
156823619
166865619
176885619
187123619
197239619
207275619
Stop Event
node limit
Counts
274 → 231
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(-.f64 (*.f64 (log.f64 y) x) t)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x)) t)
(*.f64 -1 (*.f64 y z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))) t)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))) t)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))) t)
(*.f64 -1 (*.f64 y z))
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (*.f64 -1 (*.f64 y z))) t)
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (*.f64 -1 (*.f64 y z))) t)
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (*.f64 -1 (*.f64 y z))) t)
(*.f64 -1 (+.f64 (*.f64 y z) t))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (+.f64 (*.f64 y z) t)))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (+.f64 (*.f64 y z) t)))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (+.f64 (*.f64 y z) t)))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (+.f64 (*.f64 y z) t)))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (+.f64 (*.f64 y z) t)))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (+.f64 (*.f64 y z) t)))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (+.f64 (*.f64 y z) t)))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (+.f64 (*.f64 y z) t)))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (+.f64 (*.f64 y z) t)))
(-.f64 (*.f64 (log.f64 y) x) t)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x)) t)
(*.f64 -1 (*.f64 y z))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (*.f64 y z))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (*.f64 y z))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (*.f64 y z))) t)
(*.f64 -1 (*.f64 y z))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (*.f64 y z))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (*.f64 y z))) t)
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (*.f64 y z))) t)
(-.f64 (*.f64 (log.f64 y) x) (*.f64 y z))
(-.f64 (+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x)) (*.f64 y z))
(-.f64 (+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x)) (*.f64 y z))
(-.f64 (+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x)) (*.f64 y z))
(*.f64 -1 t)
(-.f64 (+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x)) (*.f64 y z))
(-.f64 (+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x)) (*.f64 y z))
(-.f64 (+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x)) (*.f64 y z))
(*.f64 -1 t)
(-.f64 (+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x)) (*.f64 y z))
(-.f64 (+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x)) (*.f64 y z))
(-.f64 (+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x)) (*.f64 y z))
t
(*.f64 y z)
(*.f64 y z)
t
(*.f64 y z)
(*.f64 y z)
(*.f64 y z)
t
t
Outputs
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(neg.f64 (*.f64 (neg.f64 (log.f64 y)) x))
(*.f64 (neg.f64 (log.f64 y)) (neg.f64 x))
(*.f64 x (log.f64 y))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(neg.f64 (*.f64 (neg.f64 (log.f64 y)) x))
(*.f64 (neg.f64 (log.f64 y)) (neg.f64 x))
(*.f64 x (log.f64 y))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(neg.f64 (*.f64 (neg.f64 (log.f64 y)) x))
(*.f64 (neg.f64 (log.f64 y)) (neg.f64 x))
(*.f64 x (log.f64 y))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(neg.f64 (*.f64 (neg.f64 (log.f64 y)) x))
(*.f64 (neg.f64 (log.f64 y)) (neg.f64 x))
(*.f64 x (log.f64 y))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(neg.f64 (*.f64 (neg.f64 (log.f64 y)) x))
(*.f64 (neg.f64 (log.f64 y)) (neg.f64 x))
(*.f64 x (log.f64 y))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(neg.f64 (*.f64 (neg.f64 (log.f64 y)) x))
(*.f64 (neg.f64 (log.f64 y)) (neg.f64 x))
(*.f64 x (log.f64 y))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(neg.f64 (*.f64 (neg.f64 (log.f64 y)) x))
(*.f64 (neg.f64 (log.f64 y)) (neg.f64 x))
(*.f64 x (log.f64 y))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(neg.f64 (*.f64 (neg.f64 (log.f64 y)) x))
(*.f64 (neg.f64 (log.f64 y)) (neg.f64 x))
(*.f64 x (log.f64 y))
(-.f64 (*.f64 (log.f64 y) x) t)
(-.f64 (*.f64 x (log.f64 y)) t)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x)) t)
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x)) t)
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x)) t)
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))) t)
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))) t)
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))) t)
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (*.f64 -1 (*.f64 y z))) t)
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (*.f64 -1 (*.f64 y z))) t)
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (*.f64 -1 (*.f64 y z))) t)
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(*.f64 -1 (+.f64 (*.f64 y z) t))
(neg.f64 (fma.f64 y z t))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (+.f64 (*.f64 y z) t)))
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (+.f64 (*.f64 y z) t)))
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (+.f64 (*.f64 y z) t)))
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(*.f64 (log.f64 y) x)
(neg.f64 (*.f64 (neg.f64 (log.f64 y)) x))
(*.f64 (neg.f64 (log.f64 y)) (neg.f64 x))
(*.f64 x (log.f64 y))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (+.f64 (*.f64 y z) t)))
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (+.f64 (*.f64 y z) t)))
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (+.f64 (*.f64 y z) t)))
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(*.f64 (log.f64 y) x)
(neg.f64 (*.f64 (neg.f64 (log.f64 y)) x))
(*.f64 (neg.f64 (log.f64 y)) (neg.f64 x))
(*.f64 x (log.f64 y))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (+.f64 (*.f64 y z) t)))
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (+.f64 (*.f64 y z) t)))
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (+.f64 (*.f64 y z) t)))
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(-.f64 (*.f64 (log.f64 y) x) t)
(-.f64 (*.f64 x (log.f64 y)) t)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x)) t)
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x)) t)
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (log.f64 y) x)) t)
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (*.f64 y z))) t)
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (*.f64 y z))) t)
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (*.f64 y z))) t)
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (*.f64 y z))) t)
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (*.f64 y z))) t)
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(-.f64 (+.f64 (*.f64 (log.f64 y) x) (*.f64 -1 (*.f64 y z))) t)
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(-.f64 (*.f64 (log.f64 y) x) (*.f64 y z))
(fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z)))
(fma.f64 x (log.f64 y) (*.f64 y (neg.f64 z)))
(-.f64 (+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x)) (*.f64 y z))
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(-.f64 (+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x)) (*.f64 y z))
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(-.f64 (+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x)) (*.f64 y z))
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(*.f64 -1 t)
(neg.f64 t)
(-.f64 (+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x)) (*.f64 y z))
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(-.f64 (+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x)) (*.f64 y z))
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(-.f64 (+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x)) (*.f64 y z))
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(*.f64 -1 t)
(neg.f64 t)
(-.f64 (+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x)) (*.f64 y z))
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(-.f64 (+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x)) (*.f64 y z))
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
(-.f64 (+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x)) (*.f64 y z))
(-.f64 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 x (log.f64 y)) (fma.f64 y z t))
(fma.f64 x (log.f64 y) (neg.f64 (fma.f64 y z t)))
t
(*.f64 y z)
(*.f64 y z)
t
(*.f64 y z)
(*.f64 y z)
(*.f64 y z)
t
t

localize37.0ms (0.4%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 y (neg.f64 z)) t)
0.0b
(-.f64 (*.f64 y (neg.f64 z)) t)
Compiler

Compiled 19 to 7 computations (63.2% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite63.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
749×pow1_binary64
694×add-log-exp_binary64
693×log1p-expm1-u_binary64
693×expm1-log1p-u_binary64
679×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify23.0ms (0.3%)

Algorithm
egg-herbie
Rules
51×fma-neg_binary64
37×fma-def_binary64
24×cancel-sign-sub-inv_binary64
18×sub-neg_binary64
17×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
09312
120285
245231
366231
4118231
5188231
6283231
7314231
8320231
9321231
Stop Event
saturated
Counts
74 → 43
Calls
Call 1
Inputs
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
Outputs
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))
(+.f64 (*.f64 -1 t) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (+.f64 t (*.f64 y z)))
(-.f64 (neg.f64 t) (*.f64 y z))
(neg.f64 (fma.f64 y z t))

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 z (log1p.f64 (neg.f64 y)))
0.0b
(*.f64 z (log1p.f64 (neg.f64 y)))
Compiler

Compiled 16 to 7 computations (56.3% saved)

rewrite0.0ms (0%)

Counts
0 → 0

simplify22.0ms (0.3%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
0 → 0
Calls
Call 1
Inputs
Outputs

localize54.0ms (0.6%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 y)))
0.2b
(*.f64 (sqrt.f64 x) (log.f64 y))
0.0b
(*.f64 z (log.f64 (-.f64 1 y)))
0.0b
(-.f64 (+.f64 (*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 y))) (*.f64 z (log.f64 (-.f64 1 y)))) t)
0.0b
(*.f64 z (log.f64 (-.f64 1 y)))
0.2b
(*.f64 (sqrt.f64 x) (log.f64 y))
0.2b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 y)))
6.6b
(log.f64 (-.f64 1 y))
Compiler

Compiled 71 to 29 computations (59.2% saved)

series6.0ms (0.1%)

Counts
2 → 36
Calls

12 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 y)))
1.0ms
x
@0
(*.f64 (sqrt.f64 x) (log.f64 y))
1.0ms
x
@-inf
(*.f64 (sqrt.f64 x) (log.f64 y))
1.0ms
y
@0
(*.f64 (sqrt.f64 x) (log.f64 y))
1.0ms
x
@inf
(*.f64 (sqrt.f64 x) (log.f64 y))

rewrite117.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
614×pow1_binary64
563×add-log-exp_binary64
563×log1p-expm1-u_binary64
563×expm1-log1p-u_binary64
549×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0714
113614
2159614
Stop Event
node limit
Counts
2 → 22
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 y)))
(*.f64 (sqrt.f64 x) (log.f64 y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x (log.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (log.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (log.f64 y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (log.f64 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (log.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (log.f64 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (log.f64 y))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sqrt.f64 x) (log.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 x) (log.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 x) (log.f64 y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 x) (log.f64 y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 x) (log.f64 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 x (pow.f64 (log.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 y (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 x) (log.f64 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 y (sqrt.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 x) (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 x) (log.f64 y))))))))

simplify61.0ms (0.7%)

Algorithm
egg-herbie
Rules
557×unsub-neg_binary64
461×fma-def_binary64
363×fma-neg_binary64
334×distribute-neg-in_binary64
313×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027240
161240
2144240
3342240
41098240
53375240
65910240
77234240
Stop Event
node limit
Counts
58 → 29
Calls
Call 1
Inputs
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 y) x)))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 y) x)))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 y) x)))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 y) x)))
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (log.f64 y) (sqrt.f64 x))
(*.f64 (log.f64 y) (sqrt.f64 x))
(*.f64 (log.f64 y) (sqrt.f64 x))
(*.f64 (log.f64 y) (sqrt.f64 x))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) (sqrt.f64 x)))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) (sqrt.f64 x)))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) (sqrt.f64 x)))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) (sqrt.f64 x)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) (sqrt.f64 x))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) (sqrt.f64 x))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) (sqrt.f64 x))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) (sqrt.f64 x))
Outputs
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 y) x)))
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 y) x)))
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 y) x)))
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 y) x)))
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (log.f64 y) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (log.f64 y) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (log.f64 y) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (log.f64 y) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) (sqrt.f64 x))
(*.f64 (log.f64 y) (sqrt.f64 x))
(*.f64 (log.f64 y) (sqrt.f64 x))
(*.f64 (log.f64 y) (sqrt.f64 x))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) (sqrt.f64 x)))
(*.f64 (log.f64 y) (sqrt.f64 x))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) (sqrt.f64 x)))
(*.f64 (log.f64 y) (sqrt.f64 x))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) (sqrt.f64 x)))
(*.f64 (log.f64 y) (sqrt.f64 x))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) (sqrt.f64 x)))
(*.f64 (log.f64 y) (sqrt.f64 x))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) (sqrt.f64 x))
(*.f64 (log.f64 y) (sqrt.f64 x))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) (sqrt.f64 x))
(*.f64 (log.f64 y) (sqrt.f64 x))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) (sqrt.f64 x))
(*.f64 (log.f64 y) (sqrt.f64 x))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) (sqrt.f64 x))
(*.f64 (log.f64 y) (sqrt.f64 x))

localize44.0ms (0.5%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 (*.f64 x (log.f64 y)))
0.2b
(*.f64 x (log.f64 y))
0.0b
(*.f64 z (log.f64 (-.f64 1 y)))
0.0b
(-.f64 (+.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3)) 3) (*.f64 z (log.f64 (-.f64 1 y)))) t)
0.6b
(cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3))
0.7b
(pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3)
0.7b
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3)) 3)
6.6b
(log.f64 (-.f64 1 y))
Compiler

Compiled 95 to 49 computations (48.4% saved)

series10.0ms (0.1%)

Counts
2 → 24
Calls

12 calls:

TimeVariablePointExpression
2.0ms
y
@-inf
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3)) 3)
2.0ms
y
@inf
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3)) 3)
2.0ms
y
@0
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3)) 3)
1.0ms
x
@-inf
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3)) 3)
1.0ms
x
@0
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3)) 3)

rewrite111.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
613×pow1_binary64
573×add-log-exp_binary64
573×log1p-expm1-u_binary64
573×expm1-log1p-u_binary64
559×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01014
120714
2166714
Stop Event
node limit
Counts
2 → 52
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3)) 3)
(cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x (log.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (log.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (log.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (log.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2) (cbrt.f64 (*.f64 x (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (log.f64 y)) (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 y)) 2) (*.f64 (cbrt.f64 (log.f64 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (log.f64 y))) (sqrt.f64 (*.f64 x (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 x (log.f64 y)) 1/6) (*.f64 (pow.f64 (*.f64 x (log.f64 y)) 1/6) (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 y)) (*.f64 (sqrt.f64 (log.f64 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))) 2) 3) (cbrt.f64 (*.f64 x (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 x (log.f64 y)) 1/6) 3) (pow.f64 (pow.f64 (*.f64 x (log.f64 y)) 1/6) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 y)) 2)) (cbrt.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (sqrt.f64 (log.f64 y))) (sqrt.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 y) (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2) 1) (cbrt.f64 (*.f64 x (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2) (cbrt.f64 x)) (cbrt.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2) (pow.f64 (*.f64 x (log.f64 y)) 1/6)) (pow.f64 (*.f64 x (log.f64 y)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (log.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (log.f64 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 y x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (log.f64 y))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (*.f64 x (log.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 x (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (cbrt.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 x (log.f64 y)) 1/6) (pow.f64 (*.f64 x (log.f64 y)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 x (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 x (log.f64 y))) 1/3) (pow.f64 (sqrt.f64 (*.f64 x (log.f64 y))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (log.f64 y)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (log.f64 y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (log.f64 y)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 x (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 x (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 x (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 x (log.f64 y)))))))))

simplify76.0ms (0.9%)

Algorithm
egg-herbie
Rules
934×fma-neg_binary64
843×fma-def_binary64
418×unswap-sqr_binary64
370×associate--r-_binary64
352×sqr-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
028232
175196
2147196
3297196
4541196
51169196
62745196
74298196
84884196
95090196
105328196
115665196
Stop Event
node limit
Counts
76 → 60
Calls
Call 1
Inputs
(*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(pow.f64 (*.f64 (log.f64 y) x) 1/3)
(pow.f64 (*.f64 (log.f64 y) x) 1/3)
(pow.f64 (*.f64 (log.f64 y) x) 1/3)
(pow.f64 (*.f64 (log.f64 y) x) 1/3)
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 y)) x)) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 y)) x)) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 y)) x)) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 y)) x)) 1/3) (cbrt.f64 -1))
(pow.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) 1/3)
(pow.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) 1/3)
(pow.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) 1/3)
(pow.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) 1/3)
Outputs
(*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(*.f64 1 (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(pow.f64 (*.f64 (log.f64 y) x) 1/3)
(cbrt.f64 (*.f64 (log.f64 y) x))
(pow.f64 (*.f64 (log.f64 y) x) 1/3)
(cbrt.f64 (*.f64 (log.f64 y) x))
(pow.f64 (*.f64 (log.f64 y) x) 1/3)
(cbrt.f64 (*.f64 (log.f64 y) x))
(pow.f64 (*.f64 (log.f64 y) x) 1/3)
(cbrt.f64 (*.f64 (log.f64 y) x))
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 y)) x)) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (*.f64 x (neg.f64 (log.f64 y)))) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (*.f64 (log.f64 y) (neg.f64 x))) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 y)) x)) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (*.f64 x (neg.f64 (log.f64 y)))) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (*.f64 (log.f64 y) (neg.f64 x))) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 y)) x)) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (*.f64 x (neg.f64 (log.f64 y)))) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (*.f64 (log.f64 y) (neg.f64 x))) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (*.f64 (log.f64 (/.f64 1 y)) x)) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (*.f64 x (neg.f64 (log.f64 y)))) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (*.f64 (log.f64 y) (neg.f64 x))) (cbrt.f64 -1))
(pow.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) 1/3)
(cbrt.f64 (*.f64 (log.f64 y) x))
(pow.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) 1/3)
(cbrt.f64 (*.f64 (log.f64 y) x))
(pow.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) 1/3)
(cbrt.f64 (*.f64 (log.f64 y) x))
(pow.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) 1/3)
(cbrt.f64 (*.f64 (log.f64 y) x))

eval260.0ms (3.1%)

Compiler

Compiled 11648 to 4741 computations (59.3% saved)

prune269.0ms (3.2%)

Pruning

26 alts after pruning (22 fresh and 4 done)

PrunedKeptTotal
New58416600
Fresh10616
Picked101
Done246
Total59726623
Error
0b
Counts
623 → 26
Alt Table
Click to see full alt table
StatusErrorProgram
33.6b
(-.f64 (pow.f64 (sqrt.f64 (*.f64 (log.f64 y) x)) 2) (+.f64 (*.f64 y z) t))
36.7b
(*.f64 (log.f64 y) x)
36.9b
(*.f64 (-.f64 (pow.f64 (*.f64 (log.f64 y) x) 2) (pow.f64 (fma.f64 y z t) 2)) (/.f64 1 (fma.f64 (log.f64 y) x (fma.f64 y z t))))
8.1b
(-.f64 (+.f64 (*.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
16.3b
(fma.f64 (sqrt.f64 (*.f64 x (cbrt.f64 x))) (*.f64 (cbrt.f64 x) (log.f64 y)) (-.f64 (*.f64 z (log1p.f64 y)) t))
55.2b
(*.f64 y (neg.f64 z))
8.0b
(-.f64 (+.f64 (*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (log.f64 y)) (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 2))) (*.f64 z (log.f64 (-.f64 1 y)))) t)
26.5b
(-.f64 (*.f64 (*.f64 z y) (+.f64 -1 (*.f64 y -1/2))) t)
26.6b
(-.f64 (*.f64 y (neg.f64 z)) t)
8.0b
(-.f64 (+.f64 (*.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 y)) 2)) (cbrt.f64 (log.f64 y))) (*.f64 z (log.f64 (-.f64 1 y)))) t)
55.1b
(*.f64 z (-.f64 (*.f64 -1/2 (*.f64 y y)) y))
54.9b
(*.f64 z (log1p.f64 (neg.f64 y)))
23.5b
(-.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 y) x) 3)) (+.f64 (*.f64 y z) t))
8.1b
(-.f64 (+.f64 (pow.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 (log.f64 y))) 3) (*.f64 z (log.f64 (-.f64 1 y)))) t)
9.1b
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 (*.f64 (pow.f64 (log.f64 y) 3) x)) (-.f64 (*.f64 z (log1p.f64 y)) t))
30.9b
(-.f64 (+.f64 (*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 y))) (*.f64 z (neg.f64 y))) t)
55.1b
(*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 (*.f64 y -1/3) -1/2)) y))
8.0b
(-.f64 (*.f64 (log.f64 y) x) t)
0.1b
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (*.f64 1/3 (*.f64 3 (log1p.f64 (neg.f64 y)))))) t)
29.3b
(-.f64 (*.f64 (log.f64 y) x) (*.f64 y z))
25.5b
(fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) (log.f64 y)) (-.f64 (*.f64 z (log1p.f64 y)) t))
0.8b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 y) x)) 3) (+.f64 (*.f64 y z) t))
0.9b
(-.f64 (+.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3)) 3) (*.f64 z (neg.f64 y))) t)
34.1b
(+.f64 (*.f64 y z) (neg.f64 t))
34.0b
(neg.f64 t)
0.6b
(fma.f64 (cbrt.f64 (pow.f64 (log.f64 y) 2)) (*.f64 (cbrt.f64 (log.f64 y)) x) (neg.f64 (fma.f64 y z t)))
Compiler

Compiled 825 to 570 computations (30.9% saved)

localize26.0ms (0.3%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.5b
(pow.f64 (log.f64 y) 2)
0.5b
(cbrt.f64 (log.f64 y))
0.2b
(*.f64 (cbrt.f64 (log.f64 y)) x)
0.2b
(fma.f64 (cbrt.f64 (pow.f64 (log.f64 y) 2)) (*.f64 (cbrt.f64 (log.f64 y)) x) (neg.f64 (fma.f64 y z t)))
0.2b
(*.f64 (cbrt.f64 (log.f64 y)) x)
0.5b
(cbrt.f64 (log.f64 y))
0.5b
(pow.f64 (log.f64 y) 2)
0.6b
(cbrt.f64 (pow.f64 (log.f64 y) 2))
Compiler

Compiled 53 to 19 computations (64.2% saved)

series29.0ms (0.3%)

Counts
4 → 56
Calls

15 calls:

TimeVariablePointExpression
10.0ms
y
@-inf
(cbrt.f64 (log.f64 y))
2.0ms
y
@-inf
(cbrt.f64 (pow.f64 (log.f64 y) 2))
2.0ms
y
@0
(cbrt.f64 (pow.f64 (log.f64 y) 2))
2.0ms
y
@inf
(*.f64 (cbrt.f64 (log.f64 y)) x)
2.0ms
x
@0
(*.f64 (cbrt.f64 (log.f64 y)) x)

rewrite63.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
686×pow1_binary64
631×add-log-exp_binary64
631×log1p-expm1-u_binary64
631×expm1-log1p-u_binary64
614×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0927
117427
2185327
Stop Event
node limit
Counts
4 → 74
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 (log.f64 y) 2))
(pow.f64 (log.f64 y) 2)
(cbrt.f64 (log.f64 y))
(*.f64 (cbrt.f64 (log.f64 y)) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (cbrt.f64 (log.f64 y)) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 y)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cbrt.f64 (log.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 y))) 2) (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 y) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 y))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (log.f64 y))) (cbrt.f64 (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 y) 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 y)) (pow.f64 (log.f64 y) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 y) 1/6) (*.f64 (pow.f64 (log.f64 y) 1/6) (cbrt.f64 (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (pow.f64 (cbrt.f64 (log.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (log.f64 y) 4)) 1/3) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (log.f64 y)) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 y))) 2)) (cbrt.f64 (cbrt.f64 (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 y) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 y) 2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (log.f64 y)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 y))) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 (pow.f64 (log.f64 y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (log.f64 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (cbrt.f64 (log.f64 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (log.f64 y)) 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (log.f64 y) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 y) (log.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 y) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 y)) 2) (cbrt.f64 (pow.f64 (log.f64 y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (log.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (log.f64 y) 4)) (pow.f64 (cbrt.f64 (log.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 y)) (*.f64 (sqrt.f64 (log.f64 y)) (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 y) (sqrt.f64 (log.f64 y))) (sqrt.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 (log.f64 y)) 2)) (cbrt.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (log.f64 y) 4)) 1) (pow.f64 (cbrt.f64 (log.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (log.f64 y) 4)) (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 y) 4)))) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (log.f64 y) 4)) (cbrt.f64 (log.f64 y))) (cbrt.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 y (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (log.f64 y) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (log.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (log.f64 y) 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (log.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 y))) 2) (cbrt.f64 (cbrt.f64 (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (log.f64 y))) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 y) 1/6) (pow.f64 (log.f64 y) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (log.f64 y) 4)))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (log.f64 y)) 1/3) (pow.f64 (sqrt.f64 (log.f64 y)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 y) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 y) 2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (log.f64 y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 y) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (log.f64 y))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cbrt.f64 (log.f64 y)) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 (log.f64 y)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cbrt.f64 (log.f64 y)) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 (log.f64 y)) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cbrt.f64 (log.f64 y)) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 (log.f64 y)) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (cbrt.f64 (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 (log.f64 y)) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (log.f64 y) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cbrt.f64 (log.f64 y)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cbrt.f64 (log.f64 y)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 (log.f64 y)) x)))))))

simplify61.0ms (0.7%)

Algorithm
egg-herbie
Rules
723×unsub-neg_binary64
481×fma-def_binary64
382×unswap-sqr_binary64
349×sub-neg_binary64
340×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
035468
194452
2175452
3441452
41515452
53634452
67040452
Stop Event
node limit
Counts
130 → 89
Calls
Call 1
Inputs
(pow.f64 (pow.f64 (log.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (log.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (log.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (log.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (log.f64 (/.f64 1 y)) 2) 1/3)
(pow.f64 (pow.f64 (log.f64 (/.f64 1 y)) 2) 1/3)
(pow.f64 (pow.f64 (log.f64 (/.f64 1 y)) 2) 1/3)
(pow.f64 (pow.f64 (log.f64 (/.f64 1 y)) 2) 1/3)
(pow.f64 (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2) 1/3)
(pow.f64 (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2) 1/3)
(pow.f64 (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2) 1/3)
(pow.f64 (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2) 1/3)
(pow.f64 (log.f64 (/.f64 1 y)) 2)
(pow.f64 (log.f64 (/.f64 1 y)) 2)
(pow.f64 (log.f64 (/.f64 1 y)) 2)
(pow.f64 (log.f64 (/.f64 1 y)) 2)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2)
(pow.f64 (log.f64 y) 1/3)
(pow.f64 (log.f64 y) 1/3)
(pow.f64 (log.f64 y) 1/3)
(pow.f64 (log.f64 y) 1/3)
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 y))) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 y))) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 y))) 1/3) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 y))) 1/3) (cbrt.f64 -1))
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1/3)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1/3)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1/3)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1/3)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 y))) 1/3) (*.f64 (cbrt.f64 -1) x))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 y))) 1/3) (*.f64 (cbrt.f64 -1) x))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 y))) 1/3) (*.f64 (cbrt.f64 -1) x))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 y))) 1/3) (*.f64 (cbrt.f64 -1) x))
(*.f64 (pow.f64 (*.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
Outputs
(pow.f64 (pow.f64 (log.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (log.f64 y) 2))
(pow.f64 (pow.f64 (log.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (log.f64 y) 2))
(pow.f64 (pow.f64 (log.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (log.f64 y) 2))
(pow.f64 (pow.f64 (log.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (log.f64 y) 2))
(pow.f64 (pow.f64 (log.f64 (/.f64 1 y)) 2) 1/3)
(cbrt.f64 (pow.f64 (log.f64 y) 2))
(pow.f64 (pow.f64 (log.f64 (/.f64 1 y)) 2) 1/3)
(cbrt.f64 (pow.f64 (log.f64 y) 2))
(pow.f64 (pow.f64 (log.f64 (/.f64 1 y)) 2) 1/3)
(cbrt.f64 (pow.f64 (log.f64 y) 2))
(pow.f64 (pow.f64 (log.f64 (/.f64 1 y)) 2) 1/3)
(cbrt.f64 (pow.f64 (log.f64 y) 2))
(pow.f64 (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2) 1/3)
(cbrt.f64 (pow.f64 (log.f64 y) 2))
(pow.f64 (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2) 1/3)
(cbrt.f64 (pow.f64 (log.f64 y) 2))
(pow.f64 (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2) 1/3)
(cbrt.f64 (pow.f64 (log.f64 y) 2))
(pow.f64 (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2) 1/3)
(cbrt.f64 (pow.f64 (log.f64 y) 2))
(pow.f64 (log.f64 (/.f64 1 y)) 2)
(pow.f64 (neg.f64 (log.f64 y)) 2)
(pow.f64 (log.f64 y) 2)
(pow.f64 (log.f64 (/.f64 1 y)) 2)
(pow.f64 (neg.f64 (log.f64 y)) 2)
(pow.f64 (log.f64 y) 2)
(pow.f64 (log.f64 (/.f64 1 y)) 2)
(pow.f64 (neg.f64 (log.f64 y)) 2)
(pow.f64 (log.f64 y) 2)
(pow.f64 (log.f64 (/.f64 1 y)) 2)
(pow.f64 (neg.f64 (log.f64 y)) 2)
(pow.f64 (log.f64 y) 2)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2)
(pow.f64 (neg.f64 (log.f64 y)) 2)
(pow.f64 (log.f64 y) 2)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2)
(pow.f64 (neg.f64 (log.f64 y)) 2)
(pow.f64 (log.f64 y) 2)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2)
(pow.f64 (neg.f64 (log.f64 y)) 2)
(pow.f64 (log.f64 y) 2)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2)
(pow.f64 (neg.f64 (log.f64 y)) 2)
(pow.f64 (log.f64 y) 2)
(pow.f64 (log.f64 y) 1/3)
(cbrt.f64 (log.f64 y))
(pow.f64 (log.f64 y) 1/3)
(cbrt.f64 (log.f64 y))
(pow.f64 (log.f64 y) 1/3)
(cbrt.f64 (log.f64 y))
(pow.f64 (log.f64 y) 1/3)
(cbrt.f64 (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 y))) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (neg.f64 (log.f64 y))) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 y))) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (neg.f64 (log.f64 y))) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 y))) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (neg.f64 (log.f64 y))) (cbrt.f64 -1))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 y))) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 (neg.f64 (log.f64 y))) (cbrt.f64 -1))
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1/3)
(cbrt.f64 (log.f64 y))
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1/3)
(cbrt.f64 (log.f64 y))
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1/3)
(cbrt.f64 (log.f64 y))
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1/3)
(cbrt.f64 (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (cbrt.f64 (log.f64 y)) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (cbrt.f64 (log.f64 y)) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (cbrt.f64 (log.f64 y)) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (cbrt.f64 (log.f64 y)) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 y))) 1/3) (*.f64 (cbrt.f64 -1) x))
(*.f64 (cbrt.f64 (neg.f64 (log.f64 y))) (*.f64 (cbrt.f64 -1) x))
(*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 (neg.f64 (log.f64 y))) x))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 y))) 1/3) (*.f64 (cbrt.f64 -1) x))
(*.f64 (cbrt.f64 (neg.f64 (log.f64 y))) (*.f64 (cbrt.f64 -1) x))
(*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 (neg.f64 (log.f64 y))) x))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 y))) 1/3) (*.f64 (cbrt.f64 -1) x))
(*.f64 (cbrt.f64 (neg.f64 (log.f64 y))) (*.f64 (cbrt.f64 -1) x))
(*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 (neg.f64 (log.f64 y))) x))
(*.f64 (pow.f64 (*.f64 1 (log.f64 (/.f64 1 y))) 1/3) (*.f64 (cbrt.f64 -1) x))
(*.f64 (cbrt.f64 (neg.f64 (log.f64 y))) (*.f64 (cbrt.f64 -1) x))
(*.f64 (cbrt.f64 -1) (*.f64 (cbrt.f64 (neg.f64 (log.f64 y))) x))
(*.f64 (pow.f64 (*.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) 1/3) x)
(*.f64 (cbrt.f64 (log.f64 y)) x)
(*.f64 (pow.f64 (*.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) 1/3) x)
(*.f64 (cbrt.f64 (log.f64 y)) x)
(*.f64 (pow.f64 (*.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) 1/3) x)
(*.f64 (cbrt.f64 (log.f64 y)) x)
(*.f64 (pow.f64 (*.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) 1/3) x)
(*.f64 (cbrt.f64 (log.f64 y)) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (cbrt.f64 (log.f64 y)) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (cbrt.f64 (log.f64 y)) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (cbrt.f64 (log.f64 y)) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (cbrt.f64 (log.f64 y)) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (cbrt.f64 (log.f64 y)) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (cbrt.f64 (log.f64 y)) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (cbrt.f64 (log.f64 y)) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (cbrt.f64 (log.f64 y)) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (cbrt.f64 (log.f64 y)) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (cbrt.f64 (log.f64 y)) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (cbrt.f64 (log.f64 y)) x)
(*.f64 (pow.f64 (*.f64 1 (log.f64 y)) 1/3) x)
(*.f64 (cbrt.f64 (log.f64 y)) x)

localize7.0ms (0.1%)

Compiler

Compiled 12 to 6 computations (50% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (log.f64 y) x)
0.2b
(*.f64 (log.f64 y) x)
Compiler

Compiled 12 to 6 computations (50% saved)

rewrite0.0ms (0%)

Counts
0 → 0

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
0 → 0
Calls
Call 1
Inputs
Outputs

localize22.0ms (0.3%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (sqrt.f64 (*.f64 (log.f64 y) x)) 2)
0.0b
(sqrt.f64 (*.f64 (log.f64 y) x))
0.0b
(+.f64 (*.f64 y z) t)
0.0b
(-.f64 (pow.f64 (sqrt.f64 (*.f64 (log.f64 y) x)) 2) (+.f64 (*.f64 y z) t))
0.0b
(+.f64 (*.f64 y z) t)
0.0b
(sqrt.f64 (*.f64 (log.f64 y) x))
0.2b
(pow.f64 (sqrt.f64 (*.f64 (log.f64 y) x)) 2)
0.2b
(*.f64 (log.f64 y) x)
Compiler

Compiled 48 to 15 computations (68.8% saved)

series9.0ms (0.1%)

Counts
2 → 20
Calls

12 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(pow.f64 (sqrt.f64 (*.f64 (log.f64 y) x)) 2)
1.0ms
x
@0
(pow.f64 (sqrt.f64 (*.f64 (log.f64 y) x)) 2)
1.0ms
y
@0
(pow.f64 (sqrt.f64 (*.f64 (log.f64 y) x)) 2)
1.0ms
y
@inf
(pow.f64 (sqrt.f64 (*.f64 (log.f64 y) x)) 2)
1.0ms
y
@-inf
(pow.f64 (sqrt.f64 (*.f64 (log.f64 y) x)) 2)

rewrite52.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
586×pow1_binary64
540×add-log-exp_binary64
540×log1p-expm1-u_binary64
540×expm1-log1p-u_binary64
527×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0814
116114
2154514
Stop Event
node limit
Counts
2 → 50
Calls
Call 1
Inputs
(pow.f64 (sqrt.f64 (*.f64 (log.f64 y) x)) 2)
(sqrt.f64 (*.f64 (log.f64 y) x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (log.f64 y) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (log.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (log.f64 y) x)) (sqrt.f64 (*.f64 (log.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (log.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (log.f64 y) x)) (pow.f64 (cbrt.f64 (*.f64 (log.f64 y) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (log.f64 y) x)) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (log.f64 y) x))) (sqrt.f64 (*.f64 (log.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 y) x)) 2) (cbrt.f64 (*.f64 (log.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 y)) 2) (*.f64 (cbrt.f64 (log.f64 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (log.f64 y) x) 1/4) (*.f64 (pow.f64 (*.f64 (log.f64 y) x) 1/4) (sqrt.f64 (*.f64 (log.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 y)) (*.f64 (sqrt.f64 (log.f64 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 y)) (*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (log.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 (log.f64 y) x)) (pow.f64 (*.f64 (log.f64 y) x) 1/4)) (pow.f64 (*.f64 (log.f64 y) x) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 y) (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 y)) 2)) (cbrt.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (sqrt.f64 (log.f64 y))) (sqrt.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 (log.f64 y) x)) (cbrt.f64 (*.f64 (log.f64 y) x))) (cbrt.f64 (sqrt.f64 (*.f64 (log.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 (log.f64 y) x)) (sqrt.f64 (log.f64 y))) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (log.f64 y) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (log.f64 y) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 y x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (log.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (log.f64 y) x)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (*.f64 (log.f64 y) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (log.f64 y) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (log.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (log.f64 y) x)) (cbrt.f64 (sqrt.f64 (*.f64 (log.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 (log.f64 y) x))) (cbrt.f64 (*.f64 (log.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (log.f64 y) x) 1/4) (pow.f64 (*.f64 (log.f64 y) x) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 y)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (sqrt.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 y) x)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 (log.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (log.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 y) x)) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 (log.f64 y) x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (log.f64 y) x) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (log.f64 y) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (log.f64 y) x) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (log.f64 y) x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (log.f64 y) x) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 (log.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (log.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (log.f64 y) x) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (log.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 (log.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (log.f64 y) x))))))))

simplify52.0ms (0.6%)

Algorithm
egg-herbie
Rules
712×unswap-sqr_binary64
326×unsub-neg_binary64
317×fma-neg_binary64
315×distribute-rgt-neg-in_binary64
315×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
023200
144196
282196
3208164
4725164
52619164
65173164
76434164
Stop Event
node limit
Counts
70 → 56
Calls
Call 1
Inputs
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 (/.f64 1 y)) x)))
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
Outputs
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (log.f64 y) x)
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (log.f64 y) x)
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (log.f64 y) x)
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (log.f64 y) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (log.f64 y) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (log.f64 y) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (log.f64 y) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (log.f64 y) x)
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 x (neg.f64 (log.f64 y)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 y) (neg.f64 x))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 x (neg.f64 (log.f64 y)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 y) (neg.f64 x))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 x (neg.f64 (log.f64 y)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 y) (neg.f64 x))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 (/.f64 1 y)) x)))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 x (neg.f64 (log.f64 y)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (*.f64 (log.f64 y) (neg.f64 x))))
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1))))
(sqrt.f64 (*.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(sqrt.f64 (*.f64 (log.f64 y) x))
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1))))
(sqrt.f64 (*.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(sqrt.f64 (*.f64 (log.f64 y) x))
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1))))
(sqrt.f64 (*.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(sqrt.f64 (*.f64 (log.f64 y) x))
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1))))
(sqrt.f64 (*.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(sqrt.f64 (*.f64 (log.f64 y) x))

localize39.0ms (0.5%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
0.4b
(*.f64 (log.f64 y) (pow.f64 (cbrt.f64 x) 2))
0.0b
(*.f64 z (log.f64 (-.f64 1 y)))
0.0b
(-.f64 (+.f64 (*.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
0.4b
(*.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
0.5b
(pow.f64 (cbrt.f64 x) 2)
0.6b
(cbrt.f64 x)
6.6b
(log.f64 (-.f64 1 y))
Compiler

Compiled 84 to 45 computations (46.4% saved)

series7.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
2.0ms
x
@-inf
(*.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
2.0ms
y
@0
(*.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
2.0ms
x
@0
(*.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
0.0ms
y
@inf
(*.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
0.0ms
x
@inf
(*.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))

rewrite54.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
739×pow1_binary64
680×add-log-exp_binary64
680×log1p-expm1-u_binary64
680×expm1-log1p-u_binary64
664×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
096
11796
219676
Stop Event
node limit
Counts
1 → 13
Calls
Call 1
Inputs
(*.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (log.f64 y) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (log.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (log.f64 y) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (log.f64 y) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (log.f64 y) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (log.f64 y) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (log.f64 y) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 x (*.f64 (pow.f64 (*.f64 (log.f64 y) x) 2) (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 y x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (log.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (log.f64 y) x)))))))

simplify124.0ms (1.5%)

Algorithm
egg-herbie
Rules
3183×fma-neg_binary64
757×fma-def_binary64
376×associate--r-_binary64
349×unsub-neg_binary64
309×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
017144
134144
261144
3135144
4275144
5650144
61890144
72912144
83528144
93574144
103592144
113594144
125993144
136607144
146873144
156960144
166974144
176978144
187128144
197136144
Stop Event
node limit
Counts
37 → 16
Calls
Call 1
Inputs
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
Outputs
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (log.f64 y) x)
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))
(*.f64 (log.f64 y) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (log.f64 y) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (log.f64 y) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (log.f64 y) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)
(*.f64 (log.f64 y) x)

eval244.0ms (2.9%)

Compiler

Compiled 7753 to 3452 computations (55.5% saved)

prune95.0ms (1.1%)

Pruning

26 alts after pruning (20 fresh and 6 done)

PrunedKeptTotal
New38112393
Fresh9817
Picked101
Done268
Total39326419
Error
0b
Counts
419 → 26
Alt Table
Click to see full alt table
StatusErrorProgram
0.8b
(-.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 y)) 2) (*.f64 (cbrt.f64 (log.f64 y)) x)) (+.f64 (*.f64 y z) t))
0.1b
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (*.f64 1/3 (*.f64 3 (log1p.f64 (neg.f64 y)))))) t)
33.7b
(-.f64 (pow.f64 (pow.f64 (pow.f64 (*.f64 (log.f64 y) x) 1/4) 2) 2) (+.f64 (*.f64 y z) t))
29.3b
(-.f64 (*.f64 (log.f64 y) x) (*.f64 y z))
33.9b
(-.f64 (pow.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (log.f64 y) x))) 3) 2) (+.f64 (*.f64 y z) t))
0.9b
(-.f64 (+.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3)) 3) (*.f64 z (neg.f64 y))) t)
51.2b
(pow.f64 (sqrt.f64 (*.f64 (log.f64 y) x)) 2)
30.9b
(-.f64 (*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 y))) (+.f64 (*.f64 y z) t))
55.2b
(*.f64 y (neg.f64 z))
26.5b
(-.f64 (*.f64 (*.f64 z y) (+.f64 -1 (*.f64 y -1/2))) t)
26.6b
(-.f64 (*.f64 y (neg.f64 z)) t)
15.7b
(-.f64 (+.f64 (*.f64 (*.f64 (log.f64 y) (sqrt.f64 (*.f64 x (cbrt.f64 x)))) (cbrt.f64 x)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
55.1b
(*.f64 z (-.f64 (*.f64 -1/2 (*.f64 y y)) y))
54.9b
(*.f64 z (log1p.f64 (neg.f64 y)))
30.4b
(-.f64 (+.f64 (cbrt.f64 (*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 3))) (*.f64 z (log.f64 (-.f64 1 y)))) t)
33.6b
(-.f64 (*.f64 (pow.f64 (*.f64 (log.f64 y) x) 1/4) (*.f64 (pow.f64 (*.f64 (log.f64 y) x) 1/4) (sqrt.f64 (*.f64 (log.f64 y) x)))) (+.f64 (*.f64 y z) t))
8.1b
(-.f64 (+.f64 (pow.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 (log.f64 y))) 3) (*.f64 z (log.f64 (-.f64 1 y)))) t)
55.4b
(cbrt.f64 (pow.f64 (*.f64 (log.f64 y) x) 3))
24.9b
(-.f64 (+.f64 (*.f64 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
0.9b
(-.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (log.f64 y))) (+.f64 (*.f64 y z) t))
55.1b
(*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 (*.f64 y -1/3) -1/2)) y))
8.0b
(-.f64 (*.f64 (log.f64 y) x) t)
36.7b
(*.f64 (log.f64 y) x)
37.1b
(pow.f64 (cbrt.f64 (*.f64 (log.f64 y) x)) 3)
34.1b
(+.f64 (*.f64 y z) (neg.f64 t))
34.0b
(neg.f64 t)
Compiler

Compiled 410 to 291 computations (29% saved)

regimes145.0ms (1.7%)

Counts
26 → 1
Calls
Call 1
Inputs
(neg.f64 t)
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y z) (neg.f64 t))
(-.f64 (*.f64 y (neg.f64 z)) t)
(*.f64 z (-.f64 (*.f64 -1/2 (*.f64 y y)) y))
(-.f64 (*.f64 (*.f64 z y) (+.f64 -1 (*.f64 y -1/2))) t)
(*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 (*.f64 y -1/3) -1/2)) y))
(*.f64 (log.f64 y) x)
(*.f64 z (log1p.f64 (neg.f64 y)))
(-.f64 (*.f64 (log.f64 y) x) t)
(-.f64 (*.f64 (log.f64 y) x) (*.f64 y z))
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (*.f64 1/3 (*.f64 3 (log1p.f64 (neg.f64 y)))))) t)
(pow.f64 (cbrt.f64 (*.f64 (log.f64 y) x)) 3)
(cbrt.f64 (pow.f64 (*.f64 (log.f64 y) x) 3))
(pow.f64 (sqrt.f64 (*.f64 (log.f64 y) x)) 2)
(-.f64 (*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 y))) (+.f64 (*.f64 y z) t))
(-.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (log.f64 y))) (+.f64 (*.f64 y z) t))
(-.f64 (pow.f64 (pow.f64 (pow.f64 (*.f64 (log.f64 y) x) 1/4) 2) 2) (+.f64 (*.f64 y z) t))
(-.f64 (+.f64 (*.f64 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (pow.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (log.f64 y) x))) 3) 2) (+.f64 (*.f64 y z) t))
(-.f64 (+.f64 (pow.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 (log.f64 y))) 3) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 y))) 3)) 3) (*.f64 z (neg.f64 y))) t)
(-.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 y)) 2) (*.f64 (cbrt.f64 (log.f64 y)) x)) (+.f64 (*.f64 y z) t))
(-.f64 (+.f64 (cbrt.f64 (*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 3))) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (+.f64 (*.f64 (*.f64 (log.f64 y) (sqrt.f64 (*.f64 x (cbrt.f64 x)))) (cbrt.f64 x)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
(-.f64 (*.f64 (pow.f64 (*.f64 (log.f64 y) x) 1/4) (*.f64 (pow.f64 (*.f64 (log.f64 y) x) 1/4) (sqrt.f64 (*.f64 (log.f64 y) x)))) (+.f64 (*.f64 y z) t))
Outputs
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (*.f64 1/3 (*.f64 3 (log1p.f64 (neg.f64 y)))))) t)
Calls

4 calls:

36.0ms
t
24.0ms
y
17.0ms
z
14.0ms
x
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1z
0.1b1t
Compiler

Compiled 330 to 156 computations (52.7% saved)

regimes168.0ms (2%)

Counts
11 → 3
Calls
Call 1
Inputs
(neg.f64 t)
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y z) (neg.f64 t))
(-.f64 (*.f64 y (neg.f64 z)) t)
(*.f64 z (-.f64 (*.f64 -1/2 (*.f64 y y)) y))
(-.f64 (*.f64 (*.f64 z y) (+.f64 -1 (*.f64 y -1/2))) t)
(*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 (*.f64 y -1/3) -1/2)) y))
(*.f64 (log.f64 y) x)
(*.f64 z (log1p.f64 (neg.f64 y)))
(-.f64 (*.f64 (log.f64 y) x) t)
(-.f64 (*.f64 (log.f64 y) x) (*.f64 y z))
Outputs
(-.f64 (*.f64 (log.f64 y) x) t)
(-.f64 (*.f64 (log.f64 y) x) (*.f64 y z))
(-.f64 (*.f64 (log.f64 y) x) t)
Calls

4 calls:

54.0ms
x
50.0ms
t
38.0ms
z
22.0ms
y
Results
ErrorSegmentsBranch
4.8b3x
6.7b3y
5.4b4z
4.1b3t
Compiler

Compiled 98 to 52 computations (46.9% saved)

bsearch130.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
71.0ms
3.850130319430743e-86
3.2707775508987127e-84
59.0ms
-2.008210813311964e-75
-9.503827415252146e-76
Compiler

Compiled 24 to 18 computations (25% saved)

regimes117.0ms (1.4%)

Counts
10 → 3
Calls
Call 1
Inputs
(neg.f64 t)
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y z) (neg.f64 t))
(-.f64 (*.f64 y (neg.f64 z)) t)
(*.f64 z (-.f64 (*.f64 -1/2 (*.f64 y y)) y))
(-.f64 (*.f64 (*.f64 z y) (+.f64 -1 (*.f64 y -1/2))) t)
(*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 (*.f64 y -1/3) -1/2)) y))
(*.f64 (log.f64 y) x)
(*.f64 z (log1p.f64 (neg.f64 y)))
(-.f64 (*.f64 (log.f64 y) x) t)
Outputs
(-.f64 (*.f64 (log.f64 y) x) t)
(-.f64 (*.f64 y (neg.f64 z)) t)
(-.f64 (*.f64 (log.f64 y) x) t)
Calls

4 calls:

55.0ms
z
30.0ms
x
19.0ms
y
9.0ms
t
Results
ErrorSegmentsBranch
4.8b3x
6.7b3y
6.7b2z
8.0b1t
Compiler

Compiled 90 to 51 computations (43.3% saved)

bsearch143.0ms (1.7%)

Algorithm
binary-search
Steps
TimeLeftRight
86.0ms
6.060342914185974e-205
7.881518931299937e-191
57.0ms
-7.432213117427062e-136
-3.5259010577043925e-140
Compiler

Compiled 24 to 18 computations (25% saved)

regimes196.0ms (2.3%)

Counts
9 → 3
Calls
Call 1
Inputs
(neg.f64 t)
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y z) (neg.f64 t))
(-.f64 (*.f64 y (neg.f64 z)) t)
(*.f64 z (-.f64 (*.f64 -1/2 (*.f64 y y)) y))
(-.f64 (*.f64 (*.f64 z y) (+.f64 -1 (*.f64 y -1/2))) t)
(*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 (*.f64 y -1/3) -1/2)) y))
(*.f64 (log.f64 y) x)
(*.f64 z (log1p.f64 (neg.f64 y)))
Outputs
(*.f64 (log.f64 y) x)
(-.f64 (*.f64 (*.f64 z y) (+.f64 -1 (*.f64 y -1/2))) t)
(*.f64 (log.f64 y) x)
Calls

4 calls:

88.0ms
y
61.0ms
z
26.0ms
t
18.0ms
x
Results
ErrorSegmentsBranch
12.7b3x
17.5b12y
20.5b7z
17.1b3t
Compiler

Compiled 84 to 50 computations (40.5% saved)

bsearch130.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
53.0ms
2.1310013792096254e+62
1.5380579476896014e+65
77.0ms
-6.267401684283695e+84
-1.1340709772356521e+83
Compiler

Compiled 24 to 18 computations (25% saved)

regimes27.0ms (0.3%)

Counts
7 → 1
Calls
Call 1
Inputs
(neg.f64 t)
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y z) (neg.f64 t))
(-.f64 (*.f64 y (neg.f64 z)) t)
(*.f64 z (-.f64 (*.f64 -1/2 (*.f64 y y)) y))
(-.f64 (*.f64 (*.f64 z y) (+.f64 -1 (*.f64 y -1/2))) t)
(*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 (*.f64 y -1/3) -1/2)) y))
Outputs
(-.f64 (*.f64 (*.f64 z y) (+.f64 -1 (*.f64 y -1/2))) t)
Calls

4 calls:

7.0ms
x
7.0ms
t
6.0ms
z
5.0ms
y
Results
ErrorSegmentsBranch
26.5b1x
26.5b1y
26.5b1z
26.5b1t
Compiler

Compiled 75 to 45 computations (40% saved)

regimes26.0ms (0.3%)

Counts
5 → 1
Calls
Call 1
Inputs
(neg.f64 t)
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y z) (neg.f64 t))
(-.f64 (*.f64 y (neg.f64 z)) t)
(*.f64 z (-.f64 (*.f64 -1/2 (*.f64 y y)) y))
Outputs
(-.f64 (*.f64 y (neg.f64 z)) t)
Calls

4 calls:

9.0ms
x
6.0ms
z
5.0ms
t
5.0ms
y
Results
ErrorSegmentsBranch
26.6b1x
26.6b1y
26.6b1z
26.6b1t
Compiler

Compiled 51 to 31 computations (39.2% saved)

regimes43.0ms (0.5%)

Accuracy

Total -32.5b remaining (-108.2%)

Threshold costs -32.5b (-108.2%)

Counts
3 → 3
Calls
Call 1
Inputs
(neg.f64 t)
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y z) (neg.f64 t))
Outputs
(neg.f64 t)
(*.f64 y (neg.f64 z))
(neg.f64 t)
Calls

4 calls:

17.0ms
z
15.0ms
t
5.0ms
y
4.0ms
x
Results
ErrorSegmentsBranch
34.0b1x
34.0b1y
32.8b3z
30.1b3t
Compiler

Compiled 36 to 25 computations (30.6% saved)

bsearch124.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
62.0ms
3.850130319430743e-86
3.2707775508987127e-84
61.0ms
-9.503827415252146e-76
-2.338877790389972e-97
Compiler

Compiled 24 to 18 computations (25% saved)

simplify31.0ms (0.4%)

Algorithm
egg-herbie
Rules
13×+-commutative_binary64
13×*-commutative_binary64
10×sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054198
181198
297198
3107198
4110198
5111198
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (*.f64 1/3 (*.f64 3 (log1p.f64 (neg.f64 y)))))) t)
(if (<=.f64 t -4090797674780409/2037035976334486086268445688409378161051468393665936250636140449354381299763336706183397376) (-.f64 (*.f64 (log.f64 y) x) t) (if (<=.f64 t 5389568212277723/139984046386112763159840142535527767382602843577165595931249318810236991948760059086304843329475444736) (-.f64 (*.f64 (log.f64 y) x) (*.f64 y z)) (-.f64 (*.f64 (log.f64 y) x) t)))
(if (<=.f64 x -9964968597286195200/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (-.f64 (*.f64 (log.f64 y) x) t) (if (<=.f64 x 219065510198011232/361473786714651839609485931802192366508973300717001923159475447150424810286233407987951861887389439612274926783780351561999781998832434041296198795326329101623141899709787663433296905279066051548640942013290819886814068736) (-.f64 (*.f64 y (neg.f64 z)) t) (-.f64 (*.f64 (log.f64 y) x) t)))
(if (<=.f64 x -6267401684283694948918460861126179641653225107454671313476034005265199440265421520896) (*.f64 (log.f64 y) x) (if (<=.f64 x 213100137920962537633289060213681882399025212492454744545034240) (-.f64 (*.f64 (*.f64 z y) (+.f64 -1 (*.f64 y -1/2))) t) (*.f64 (log.f64 y) x)))
(-.f64 (*.f64 (*.f64 z y) (+.f64 -1 (*.f64 y -1/2))) t)
(-.f64 (*.f64 y (neg.f64 z)) t)
(if (<=.f64 t -1935963835774261/2037035976334486086268445688409378161051468393665936250636140449354381299763336706183397376) (neg.f64 t) (if (<=.f64 t 5389568212277723/139984046386112763159840142535527767382602843577165595931249318810236991948760059086304843329475444736) (*.f64 y (neg.f64 z)) (neg.f64 t)))
(neg.f64 t)
Outputs
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (*.f64 1/3 (*.f64 3 (log1p.f64 (neg.f64 y)))))) t)
(-.f64 (+.f64 (*.f64 z (*.f64 1/3 (*.f64 3 (log1p.f64 (neg.f64 y))))) (*.f64 x (log.f64 y))) t)
(if (<=.f64 t -4090797674780409/2037035976334486086268445688409378161051468393665936250636140449354381299763336706183397376) (-.f64 (*.f64 (log.f64 y) x) t) (if (<=.f64 t 5389568212277723/139984046386112763159840142535527767382602843577165595931249318810236991948760059086304843329475444736) (-.f64 (*.f64 (log.f64 y) x) (*.f64 y z)) (-.f64 (*.f64 (log.f64 y) x) t)))
(if (<=.f64 t -4090797674780409/2037035976334486086268445688409378161051468393665936250636140449354381299763336706183397376) (-.f64 (*.f64 x (log.f64 y)) t) (if (<=.f64 t 5389568212277723/139984046386112763159840142535527767382602843577165595931249318810236991948760059086304843329475444736) (-.f64 (*.f64 x (log.f64 y)) (*.f64 y z)) (-.f64 (*.f64 x (log.f64 y)) t)))
(if (<=.f64 x -9964968597286195200/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (-.f64 (*.f64 (log.f64 y) x) t) (if (<=.f64 x 219065510198011232/361473786714651839609485931802192366508973300717001923159475447150424810286233407987951861887389439612274926783780351561999781998832434041296198795326329101623141899709787663433296905279066051548640942013290819886814068736) (-.f64 (*.f64 y (neg.f64 z)) t) (-.f64 (*.f64 (log.f64 y) x) t)))
(if (<=.f64 x -2432853661446825/3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376) (-.f64 (*.f64 x (log.f64 y)) t) (if (<=.f64 x 6845797193687851/11296055834832869987796435368818511453405415647406310098733607723450775321444793999623495683980919987883591461993135986312493187463513563790506212353947784425723184365930864482290528289970814110895029437915338121462939648) (-.f64 (*.f64 y (neg.f64 z)) t) (-.f64 (*.f64 x (log.f64 y)) t)))
(if (<=.f64 x -6267401684283694948918460861126179641653225107454671313476034005265199440265421520896) (*.f64 (log.f64 y) x) (if (<=.f64 x 213100137920962537633289060213681882399025212492454744545034240) (-.f64 (*.f64 (*.f64 z y) (+.f64 -1 (*.f64 y -1/2))) t) (*.f64 (log.f64 y) x)))
(if (<=.f64 x -6267401684283694948918460861126179641653225107454671313476034005265199440265421520896) (*.f64 x (log.f64 y)) (if (<=.f64 x 213100137920962537633289060213681882399025212492454744545034240) (-.f64 (*.f64 (*.f64 y z) (+.f64 -1 (*.f64 y -1/2))) t) (*.f64 x (log.f64 y))))
(-.f64 (*.f64 (*.f64 z y) (+.f64 -1 (*.f64 y -1/2))) t)
(-.f64 (*.f64 (*.f64 y z) (+.f64 -1 (*.f64 y -1/2))) t)
(-.f64 (*.f64 y (neg.f64 z)) t)
(if (<=.f64 t -1935963835774261/2037035976334486086268445688409378161051468393665936250636140449354381299763336706183397376) (neg.f64 t) (if (<=.f64 t 5389568212277723/139984046386112763159840142535527767382602843577165595931249318810236991948760059086304843329475444736) (*.f64 y (neg.f64 z)) (neg.f64 t)))
(neg.f64 t)

end88.0ms (1%)

Stop Event
fuel
Compiler

Compiled 300 to 159 computations (47% saved)

Profiling

Loading profile data...