Details

Time bar (total: 10.7s)

analyze163.0ms (1.5%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%87.3%0.2%12.5%0%0%4
0%0%87.3%0.2%12.5%0%0%5
0%0%81.1%0.2%18.7%0%0%6
0%0%31.2%0.2%28.1%40.5%0%7
0%0%31.2%0.2%28.1%40.5%0%8
0%0%31.2%0.2%28.1%40.5%0%9
0%0%28.1%0.2%31.2%40.5%0%10
8.8%2.3%24.2%0.2%31.2%42.1%0%11
13.2%3.5%23%0.2%31.2%42.1%0%12
Compiler

Compiled 18 to 13 computations (27.8% saved)

sample2.3s (21.9%)

Results
1.3s6615×body256valid
500.0ms699×body1024valid
373.0ms921×body512valid
100.0ms488×body256invalid
19.0ms21×body2048valid
5.0ms27×body256infinite
Bogosity

preprocess297.0ms (2.8%)

Algorithm
egg-herbie
Rules
819×distribute-rgt-in_binary64
723×sub-neg_binary64
600×associate--r+_binary64
535×fma-neg_binary64
519×distribute-lft-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044126
1101119
2216119
3386119
4666119
51102119
62189119
73695119
84449119
94708119
105076119
115755119
126617119
136617119
146617119
156617119
166935119
176963119
186971119
197202119
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) (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 (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)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 (log.f64 y) t) 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)
(fma.f64 x (log.f64 z) (fma.f64 y (log1p.f64 (neg.f64 z)) (neg.f64 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)
(fma.f64 z (log1p.f64 (neg.f64 t)) (fma.f64 x (log.f64 t) (neg.f64 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)))
(fma.f64 (log1p.f64 (neg.f64 y)) t (fma.f64 x (log.f64 y) (neg.f64 z)))
Compiler

Compiled 21 to 16 computations (23.8% saved)

simplify81.0ms (0.8%)

Algorithm
egg-herbie
Rules
821×fma-neg_binary64
314×fma-def_binary64
173×distribute-rgt-in_binary64
134×unsub-neg_binary64
124×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01318
12517
24617
37517
412317
520017
637617
771917
8127817
9203017
10271317
11298917
12300517
13300517
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)
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 x (log.f64 y)) t))

eval1.0ms (0%)

Compiler

Compiled 28 to 16 computations (42.9% 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
0.1b
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 x (log.f64 y)) t))
11.1b
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
Compiler

Compiled 32 to 22 computations (31.3% saved)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
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.3b
(*.f64 x (log.f64 y))
6.1b
(log.f64 (-.f64 1 y))
Compiler

Compiled 52 to 27 computations (48.1% saved)

series137.0ms (1.3%)

Counts
4 → 96
Calls

27 calls:

TimeVariablePointExpression
45.0ms
z
@0
(*.f64 z (log.f64 (-.f64 1 y)))
40.0ms
x
@0
(*.f64 x (log.f64 y))
14.0ms
y
@-inf
(*.f64 x (log.f64 y))
13.0ms
y
@0
(*.f64 x (log.f64 y))
8.0ms
y
@inf
(*.f64 x (log.f64 y))

rewrite129.0ms (1.2%)

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
2390536
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 2 (*.f64 1/3 (log1p.f64 (neg.f64 y)))) (*.f64 1/3 (log1p.f64 (neg.f64 y))))))) (#(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 (pow.f64 y 3))) (log.f64 (/.f64 1 (+.f64 1 (fma.f64 y y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (log1p.f64 (neg.f64 y))) (*.f64 2 (*.f64 1/3 (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 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 (pow.f64 y 3))) (log1p.f64 (fma.f64 y y y)))))) (#(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 (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))) (cbrt.f64 (pow.f64 (log1p.f64 (neg.f64 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.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 expm1.f64 (log1p.f64 (log1p.f64 (neg.f64 y))))))) (#(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 +.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 expm1.f64 (log1p.f64 (*.f64 x (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 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 +.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 expm1.f64 (log1p.f64 (*.f64 (log1p.f64 (neg.f64 y)) z)))))) (#(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 +.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 expm1.f64 (log1p.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 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 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)))) (cbrt.f64 (pow.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)))) (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.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))) (cbrt.f64 (pow.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))) (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 (-.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 (*.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 (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 (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 (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 (cbrt.f64 (pow.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)))))))

simplify82.0ms (0.8%)

Algorithm
egg-herbie
Rules
880×fma-def_binary64
618×sub-neg_binary64
557×associate-+l+_binary64
441×unsub-neg_binary64
340×associate-+r+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01231637
13801494
212321447
349561411
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 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 y (*.f64 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 (+.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) (neg.f64 (neg.f64 (log.f64 y)))) (+.f64 (/.f64 1 y) (/.f64 1/2 (*.f64 y y))))
(+.f64 (log.f64 -1) (-.f64 (log.f64 y) (+.f64 (/.f64 1 y) (/.f64 (/.f64 1/2 y) y))))
(+.f64 (log.f64 -1) (+.f64 (log.f64 y) (+.f64 (/.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 (+.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 -1 y)) (+.f64 (/.f64 (/.f64 1/2 y) y) (/.f64 1/3 (pow.f64 y 3)))))
(+.f64 (log.f64 -1) (+.f64 (log.f64 y) (+.f64 (+.f64 (/.f64 -1 y) (/.f64 -1/2 (*.f64 y y))) (/.f64 -1/3 (pow.f64 y 3)))))
(+.f64 (+.f64 (log.f64 -1) (log.f64 y)) (+.f64 (+.f64 (/.f64 -1 y) (/.f64 -1/2 (*.f64 y y))) (/.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 (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 (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 y (*.f64 y -1/2)) y))
(*.f64 (-.f64 (*.f64 y (*.f64 y -1/2)) y) z)
(*.f64 y (-.f64 (*.f64 (*.f64 y z) -1/2) 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 y (*.f64 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 (log.f64 -1) (+.f64 (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 -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 (log.f64 -1) (+.f64 (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 z (-.f64 (/.f64 -1 y) (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 -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))))
(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)
(-.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 z (log1p.f64 (neg.f64 y)) (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 z (log1p.f64 (neg.f64 y)) (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 z (log1p.f64 (neg.f64 y)) (fma.f64 (log.f64 y) x (neg.f64 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 z (log1p.f64 (neg.f64 y)) (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 z (log1p.f64 (neg.f64 y)) (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 z (log1p.f64 (neg.f64 y)) (fma.f64 (log.f64 y) x (neg.f64 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 z (log1p.f64 (neg.f64 y)) (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 z (log1p.f64 (neg.f64 y)) (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 z (log1p.f64 (neg.f64 y)) (fma.f64 (log.f64 y) x (neg.f64 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 y (*.f64 y -1/2)) y)) (-.f64 (*.f64 (log.f64 y) x) t))
(fma.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y) (fma.f64 (log.f64 y) x (neg.f64 t)))
(-.f64 (fma.f64 (log.f64 y) x (*.f64 y (-.f64 (*.f64 (*.f64 y z) -1/2) z))) 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 y (*.f64 y -1/2)) 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 y (*.f64 y (+.f64 (*.f64 y -1/3) -1/2))) y)) (fma.f64 (log.f64 y) x (neg.f64 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 -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 (fma.f64 (log.f64 -1) z (*.f64 (log.f64 y) (+.f64 z x))) (-.f64 (*.f64 (/.f64 z (*.f64 y y)) (+.f64 (/.f64 -1/3 y) -1/2)) (/.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 (*.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)
(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 (fma.f64 (log.f64 y) x (neg.f64 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)
(-.f64 (fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (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 (fma.f64 (log.f64 y) x (neg.f64 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)
(-.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 (log.f64 (/.f64 -1 y)) z (/.f64 z y))))) t)
(-.f64 (fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (fma.f64 (log.f64 (/.f64 -1 y)) (neg.f64 z) (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))))) 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 z (log1p.f64 (neg.f64 y)) (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 z (log1p.f64 (neg.f64 y)) (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 z (log1p.f64 (neg.f64 y)) (fma.f64 (log.f64 y) x (neg.f64 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 z (log1p.f64 (neg.f64 y)) (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 z (log1p.f64 (neg.f64 y)) (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 z (log1p.f64 (neg.f64 y)) (fma.f64 (log.f64 y) x (neg.f64 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 z (log1p.f64 (neg.f64 y)) (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 z (log1p.f64 (neg.f64 y)) (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 z (log1p.f64 (neg.f64 y)) (fma.f64 (log.f64 y) x (neg.f64 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))))
(+.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 z (log1p.f64 (neg.f64 y)) (fma.f64 (log.f64 y) x (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 z (log1p.f64 (neg.f64 y)) (fma.f64 (log.f64 y) x (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 z (log1p.f64 (neg.f64 y)) (fma.f64 (log.f64 y) x (neg.f64 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 z (log1p.f64 (neg.f64 y)) (fma.f64 (log.f64 y) x (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 z (log1p.f64 (neg.f64 y)) (fma.f64 (log.f64 y) x (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 z (log1p.f64 (neg.f64 y)) (fma.f64 (log.f64 y) x (neg.f64 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 z (log1p.f64 (neg.f64 y)) (fma.f64 (log.f64 y) x (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 z (log1p.f64 (neg.f64 y)) (fma.f64 (log.f64 y) x (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 z (log1p.f64 (neg.f64 y)) (fma.f64 (log.f64 y) x (neg.f64 t)))

localize15.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 36 to 10 computations (72.2% saved)

series13.0ms (0.1%)

Counts
2 → 84
Calls

21 calls:

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

rewrite77.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
821×prod-diff_binary64
521×log-prod_binary64
338×pow-prod-down_binary64
303×fma-def_binary64
280×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify86.0ms (0.8%)

Algorithm
egg-herbie
Rules
578×fma-def_binary64
529×times-frac_binary64
453×associate--r+_binary64
409×associate-+l+_binary64
386×sub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0851273
12601191
28141173
334851134
479471134
Stop Event
node limit
Counts
228 → 182
Calls
Call 1
Inputs
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)) t)
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)) t)
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)) t)
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)) t)
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) t)
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) t)
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) t)
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) t)
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.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) 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 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) (*.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 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 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)
(-.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)
(-.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)
(-.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)
(-.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)
(-.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)
(-.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)
(-.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)
(-.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)
(-.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 (fma.f64 (log.f64 y) x (*.f64 y (neg.f64 z))) t)
(fma.f64 y (neg.f64 z) (fma.f64 (log.f64 y) x (neg.f64 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 z (*.f64 y y)) (fma.f64 -1 (*.f64 y z) (*.f64 (log.f64 y) x))) t)
(fma.f64 (*.f64 -1/2 (*.f64 y y)) z (-.f64 (fma.f64 (log.f64 y) x (*.f64 y (neg.f64 z))) t))
(-.f64 (fma.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y) (*.f64 (log.f64 y) x)) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 y (*.f64 (+.f64 (*.f64 y -1/2) -1) z))) t)
(fma.f64 z (fma.f64 -1/2 (*.f64 y y) (neg.f64 y)) (fma.f64 (log.f64 y) x (neg.f64 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 y z) (fma.f64 (log.f64 y) x (*.f64 -1/3 (*.f64 z (pow.f64 y 3)))))) t)
(-.f64 (fma.f64 -1/2 (*.f64 y (*.f64 y z)) (-.f64 (fma.f64 (log.f64 y) x (*.f64 z (*.f64 -1/3 (pow.f64 y 3)))) (*.f64 y z))) t)
(-.f64 (fma.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y) (fma.f64 z (*.f64 -1/3 (pow.f64 y 3)) (*.f64 (log.f64 y) x))) t)
(-.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 z (-.f64 y (*.f64 (*.f64 y y) (+.f64 (*.f64 y -1/3) -1/2)))) 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 (log.f64 y) x (*.f64 z (+.f64 (log.f64 y) (log.f64 -1)))) 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 (log.f64 y) x (*.f64 z (+.f64 (log.f64 y) (log.f64 -1)))) (/.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 (log.f64 y) x (*.f64 z (+.f64 (log.f64 y) (log.f64 -1)))) (/.f64 z y))) 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 (log.f64 y) x (*.f64 z (+.f64 (log.f64 y) (log.f64 -1))))) (/.f64 z y))) t)
(+.f64 (fma.f64 -1/3 (/.f64 z (pow.f64 y 3)) (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 z y) (+.f64 (/.f64 -1/3 (*.f64 y y)) (+.f64 (/.f64 -1/2 y) -1))) (-.f64 (fma.f64 (log.f64 -1) z (*.f64 (log.f64 y) (+.f64 z x))) t))
(+.f64 (-.f64 (*.f64 (/.f64 (/.f64 z y) y) (+.f64 -1/2 (/.f64 -1/3 y))) (/.f64 z y)) (-.f64 (fma.f64 (log.f64 -1) z (*.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)
(fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (-.f64 (*.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 (fma.f64 (log.f64 y) x (*.f64 (log.f64 (/.f64 -1 y)) (neg.f64 z))) t)
(-.f64 (fma.f64 (-.f64 (log.f64 y) (log.f64 -1)) z (*.f64 (log.f64 y) x)) 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 (fma.f64 (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1)) x (fma.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z) (neg.f64 (/.f64 z y)))) t)
(-.f64 (fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (neg.f64 (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y)))) t)
(fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (neg.f64 (+.f64 (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y)) t)))
(-.f64 (-.f64 (*.f64 (log.f64 y) x) (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y))) t)
(-.f64 (*.f64 (log.f64 y) x) (+.f64 (fma.f64 (log.f64 (/.f64 -1 y)) z (/.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 (fma.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z) (neg.f64 (/.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 (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 -1 (/.f64 -1/2 y))) (*.f64 (log.f64 (/.f64 -1 y)) z))) t)
(-.f64 (fma.f64 (log.f64 y) x (-.f64 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))) (*.f64 (log.f64 (/.f64 -1 y)) z))) 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)
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) (-.f64 (-.f64 (*.f64 -1/3 (/.f64 z (pow.f64 y 3))) (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y))) t)))
(-.f64 (fma.f64 (log.f64 y) x (-.f64 (*.f64 (/.f64 z (*.f64 y y)) (+.f64 -1/2 (/.f64 -1/3 y))) (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (-.f64 (*.f64 (/.f64 (/.f64 z y) y) (+.f64 -1/2 (/.f64 -1/3 y))) (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y)))) t)
(-.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)
(-.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)
(-.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)
(-.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)
(-.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)
(-.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)
(-.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)
(-.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)
(-.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)
(-.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)
(-.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)
(-.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)
(-.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)
(-.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)
(-.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)
(-.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)
(-.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)
(-.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)
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)

eval124.0ms (1.2%)

Compiler

Compiled 10002 to 3416 computations (65.8% saved)

prune100.0ms (0.9%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New49914513
Fresh000
Picked101
Done101
Total50114515
Error
0.0b
Counts
515 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
11.6b
(-.f64 (*.f64 (log.f64 y) x) t)
15.2b
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x (log.f64 y)) 2)) (cbrt.f64 (*.f64 x (log.f64 y))) (-.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) 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))
34.7b
(-.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 x (log.f64 y)) 3)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
36.7b
(neg.f64 t)
29.6b
(fma.f64 (*.f64 (log1p.f64 (neg.f64 y)) (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 x (log.f64 y) (neg.f64 t)))
51.4b
(*.f64 z (log1p.f64 (neg.f64 y)))
0.6b
(fma.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (-.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) t))
0.5b
(-.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 y z) t))
25.7b
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
0.1b
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y))) t)
33.1b
(fma.f64 (*.f64 (log.f64 y) (sqrt.f64 x)) (sqrt.f64 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)
0.6b
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (log.f64 y)) (-.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) t))
Compiler

Compiled 472 to 320 computations (32.2% saved)

localize26.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x (log.f64 y)) (*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y)))
0.0b
(*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y))
0.3b
(*.f64 x (log.f64 y))
Compiler

Compiled 69 to 34 computations (50.7% saved)

series8.0ms (0.1%)

Counts
2 → 60
Calls

15 calls:

TimeVariablePointExpression
1.0ms
z
@0
(*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y))
1.0ms
y
@inf
(*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y))
1.0ms
y
@0
(*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y))
1.0ms
z
@inf
(+.f64 (*.f64 x (log.f64 y)) (*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y)))
1.0ms
z
@inf
(*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y))

rewrite87.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
684×log-prod_binary64
587×fma-def_binary64
346×pow2_binary64
291×fma-neg_binary64
237×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01232
126032
2357628
Stop Event
node limit
Counts
2 → 93
Calls
Call 1
Inputs
(*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y))
(+.f64 (*.f64 x (log.f64 y)) (*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -1/2 (*.f64 y y)) z) (*.f64 (neg.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 -1/2 (*.f64 y y))) (*.f64 z (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 y) (fma.f64 y -1/2 -1)) z)) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 y) (fma.f64 y -1/2 -1)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 y) (fma.f64 y -1/2 -1)) z))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 y) (fma.f64 y -1/2 -1)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (*.f64 y y) 3) -1/8) (pow.f64 y 3)) z) (fma.f64 y (*.f64 y (fma.f64 y -1/2 1)) (*.f64 (pow.f64 (*.f64 y y) 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (*.f64 y y) 2) 1/4) (*.f64 y y)) z) (*.f64 y (fma.f64 y -1/2 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 (*.f64 (pow.f64 (*.f64 y y) 3) -1/8) (pow.f64 y 3))) (fma.f64 y (*.f64 y (fma.f64 y -1/2 1)) (*.f64 (pow.f64 (*.f64 y y) 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 (*.f64 (pow.f64 (*.f64 y y) 2) 1/4) (*.f64 y y))) (*.f64 y (fma.f64 y -1/2 1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 y) (fma.f64 y -1/2 -1)) z))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 -1/2 (*.f64 y y)) (*.f64 z (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 (*.f64 y y)) z (*.f64 (neg.f64 y) z))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 z (*.f64 y (fma.f64 y -1/2 -1)) (log.f64 (pow.f64 y x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (log.f64 (pow.f64 y x)) 2) (fma.f64 x (log.f64 y) (*.f64 (neg.f64 z) (*.f64 y (fma.f64 y -1/2 -1))))) (/.f64 (pow.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) 2) (fma.f64 x (log.f64 y) (*.f64 (neg.f64 z) (*.f64 y (fma.f64 y -1/2 -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 z (*.f64 y (fma.f64 y -1/2 -1)) (log.f64 (pow.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 z (*.f64 y (fma.f64 y -1/2 -1)) (log.f64 (pow.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 z (*.f64 y (fma.f64 y -1/2 -1)) (log.f64 (pow.f64 y x)))) (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 y (fma.f64 y -1/2 -1)) (log.f64 (pow.f64 y x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 z (*.f64 y (fma.f64 y -1/2 -1)) (log.f64 (pow.f64 y x)))) 2) (cbrt.f64 (fma.f64 z (*.f64 y (fma.f64 y -1/2 -1)) (log.f64 (pow.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 z (*.f64 y (fma.f64 y -1/2 -1)) (log.f64 (pow.f64 y x)))) (sqrt.f64 (fma.f64 z (*.f64 y (fma.f64 y -1/2 -1)) (log.f64 (pow.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (log.f64 (pow.f64 y x)) 3) (pow.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) 3)) (/.f64 1 (fma.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) (-.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) (log.f64 (pow.f64 y x))) (pow.f64 (log.f64 (pow.f64 y x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 y x)) 2) (pow.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) 2)) (/.f64 1 (fma.f64 x (log.f64 y) (*.f64 (neg.f64 z) (*.f64 y (fma.f64 y -1/2 -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) (-.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) (log.f64 (pow.f64 y x))) (pow.f64 (log.f64 (pow.f64 y x)) 2)) (+.f64 (pow.f64 (log.f64 (pow.f64 y x)) 3) (pow.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x (log.f64 y) (*.f64 (neg.f64 z) (*.f64 y (fma.f64 y -1/2 -1)))) (-.f64 (pow.f64 (log.f64 (pow.f64 y x)) 2) (pow.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (log.f64 (pow.f64 y x)) 3) (pow.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) 3)) (fma.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) (-.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) (log.f64 (pow.f64 y x))) (pow.f64 (log.f64 (pow.f64 y x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (log.f64 (pow.f64 y x)) 3) (pow.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) 3)) (+.f64 (pow.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) 2) (-.f64 (pow.f64 (log.f64 (pow.f64 y x)) 2) (*.f64 (*.f64 (log.f64 (pow.f64 y x)) z) (*.f64 y (fma.f64 y -1/2 -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 y x)) 2) (pow.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) 2)) (fma.f64 x (log.f64 y) (*.f64 (neg.f64 z) (*.f64 y (fma.f64 y -1/2 -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (log.f64 (pow.f64 y x)) 3) (pow.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) 3))) (neg.f64 (fma.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) (-.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) (log.f64 (pow.f64 y x))) (pow.f64 (log.f64 (pow.f64 y x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (log.f64 (pow.f64 y x)) 2) (pow.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) 2))) (neg.f64 (fma.f64 x (log.f64 y) (*.f64 (neg.f64 z) (*.f64 y (fma.f64 y -1/2 -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) 2) (pow.f64 (log.f64 (pow.f64 y x)) 2)) (-.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) (log.f64 (pow.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 z (*.f64 y (fma.f64 y -1/2 -1)) (log.f64 (pow.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (*.f64 y (fma.f64 y -1/2 -1)) (log.f64 (pow.f64 y x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 z (*.f64 y (fma.f64 y -1/2 -1)) (log.f64 (pow.f64 y x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 z (*.f64 y (fma.f64 y -1/2 -1)) (log.f64 (pow.f64 y x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 z (*.f64 y (fma.f64 y -1/2 -1)) (log.f64 (pow.f64 y x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) (-.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) (log.f64 (pow.f64 y x))) (pow.f64 (log.f64 (pow.f64 y x)) 2)) (+.f64 (pow.f64 (log.f64 (pow.f64 y x)) 3) (pow.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x (log.f64 y) (*.f64 (neg.f64 z) (*.f64 y (fma.f64 y -1/2 -1)))) (-.f64 (pow.f64 (log.f64 (pow.f64 y x)) 2) (pow.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 z (*.f64 y (fma.f64 y -1/2 -1)) (log.f64 (pow.f64 y x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 y x) (pow.f64 (pow.f64 (exp.f64 y) (fma.f64 y -1/2 -1)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (*.f64 y (fma.f64 y -1/2 -1)) (log.f64 (pow.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))))) (pow.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 y) (fma.f64 y -1/2 -1)) z) (+.f64 1 (-.f64 (pow.f64 y x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))))) (+.f64 1 (-.f64 (pow.f64 y x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (-.f64 (pow.f64 y x) 1)) (pow.f64 (pow.f64 (exp.f64 y) (fma.f64 y -1/2 -1)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 y x) (+.f64 1 (expm1.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (-.f64 (pow.f64 y x) 1)) (+.f64 1 (expm1.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 z (*.f64 y (fma.f64 y -1/2 -1)) (log.f64 (pow.f64 y x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 z (*.f64 y (fma.f64 y -1/2 -1)) (log.f64 (pow.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 z (*.f64 y (fma.f64 y -1/2 -1)) (log.f64 (pow.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 z (*.f64 y (fma.f64 y -1/2 -1)) (log.f64 (pow.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 z (*.f64 y (fma.f64 y -1/2 -1)) (log.f64 (pow.f64 y x)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 y (fma.f64 y -1/2 -1)) (log.f64 (pow.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (fma.f64 y -1/2 -1)) z (log.f64 (pow.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) 1 (log.f64 (pow.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (log.f64 y) (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 y) x (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 (pow.f64 y x)) 1 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) (log.f64 (pow.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log.f64 (pow.f64 y x)) (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (log.f64 (pow.f64 y x))) (pow.f64 (cbrt.f64 (log.f64 (pow.f64 y x))) 2) (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 (pow.f64 y x))) 2) (cbrt.f64 (log.f64 (pow.f64 y x))) (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1)))) (cbrt.f64 (pow.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) 2)) (log.f64 (pow.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))) 2)) (cbrt.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1)))) (log.f64 (pow.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (*.f64 y (fma.f64 y -1/2 -1))) (log.f64 (pow.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (log.f64 y)) (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))))))) (#(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 z (*.f64 y (fma.f64 y -1/2 -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (fma.f64 y -1/2 -1))) 2) (*.f64 (cbrt.f64 (*.f64 y (fma.f64 y -1/2 -1))) z) (log.f64 (pow.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 (pow.f64 y x))) (sqrt.f64 (log.f64 (pow.f64 y x))) (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1)))) (sqrt.f64 (*.f64 z (*.f64 y (fma.f64 y -1/2 -1)))) (log.f64 (pow.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (*.f64 y (fma.f64 y -1/2 -1))) (log.f64 (pow.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 y)) (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 y)) (*.f64 (sqrt.f64 (log.f64 y)) x) (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y (fma.f64 y -1/2 -1))) (*.f64 (sqrt.f64 (*.f64 y (fma.f64 y -1/2 -1))) z) (log.f64 (pow.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (*.f64 y (fma.f64 y -1/2 -1))) 2)) (cbrt.f64 (*.f64 y (fma.f64 y -1/2 -1))) (log.f64 (pow.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 (*.f64 y (fma.f64 y -1/2 -1)))) (sqrt.f64 (*.f64 y (fma.f64 y -1/2 -1))) (log.f64 (pow.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y (fma.f64 y -1/2 -1)) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (log.f64 (pow.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y (fma.f64 y -1/2 -1)) (sqrt.f64 z)) (sqrt.f64 z) (log.f64 (pow.f64 y x)))))) (#(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 z (*.f64 y (fma.f64 y -1/2 -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (log.f64 y))) (sqrt.f64 (log.f64 y)) (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (log.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 z (*.f64 y (fma.f64 y -1/2 -1))))))))

simplify76.0ms (0.7%)

Algorithm
egg-herbie
Rules
531×distribute-rgt-neg-in_binary64
501×fma-neg_binary64
427×distribute-lft-neg-in_binary64
411×associate-*l*_binary64
367×associate--r-_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
036877
192876
2218876
3632776
41751776
55111776
Stop Event
node limit
Counts
153 → 108
Calls
Call 1
Inputs
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.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 -1 (*.f64 y z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1 (*.f64 y z)))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) 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 -1 (*.f64 y z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1 (*.f64 y z)))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) 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 -1 (*.f64 y z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(*.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 (log.f64 y) x)))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) 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 (*.f64 (log.f64 (/.f64 1 y)) x))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) 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 (+.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 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (*.f64 -1 (*.f64 y z))))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
Outputs
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (*.f64 y y) z))
(*.f64 -1/2 (*.f64 y (*.f64 y z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (*.f64 y y) z))
(*.f64 -1/2 (*.f64 y (*.f64 y z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.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 y z) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) (*.f64 y z))
(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 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.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)))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.f64 (log.f64 y) x))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (*.f64 y y) z))
(*.f64 -1/2 (*.f64 y (*.f64 y z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x))))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.f64 (log.f64 y) x))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (*.f64 y y) z))
(*.f64 -1/2 (*.f64 y (*.f64 y z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1 (*.f64 y z)))
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (*.f64 -1 (*.f64 y z))))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) (*.f64 -1 (*.f64 y z))))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.f64 (log.f64 y) x))
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.f64 (log.f64 y) x))
(*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z)
(*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z)
(*.f64 (*.f64 y z) (fma.f64 -1/2 y -1))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 (log.f64 y) x) (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 y 2)) y) z))
(fma.f64 (log.f64 y) x (*.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z))
(fma.f64 (-.f64 (*.f64 -1/2 (*.f64 y y)) y) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y (fma.f64 -1/2 y -1)) z (*.f64 (log.f64 y) x))
(fma.f64 (*.f64 y z) (fma.f64 -1/2 y -1) (*.f64 (log.f64 y) x))

localize3.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 24 to 8 computations (66.7% saved)

series13.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite47.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
469×pow1_binary64
449×add-sqr-sqrt_binary64
443×*-un-lft-identity_binary64
430×add-log-exp_binary64
429×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
068
11196
214396
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 z (log1p.f64 (neg.f64 y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.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)) 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 cbrt.f64 (pow.f64 (*.f64 z (log1p.f64 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (log1p.f64 y))))))) (#(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))))))))

simplify56.0ms (0.5%)

Algorithm
egg-herbie
Rules
619×distribute-rgt-neg-in_binary64
593×times-frac_binary64
412×fma-neg_binary64
390×associate-*l*_binary64
343×sub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
056401
1166356
2482335
31542329
45420329
Stop Event
node limit
Counts
35 → 37
Calls
Call 1
Inputs
(*.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 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 (fma.f64 y (*.f64 y -1/2) (neg.f64 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 -1/3 (pow.f64 y 3)) (*.f64 y (+.f64 -1 (*.f64 y -1/2)))))
(*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) 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 (-.f64 (*.f64 -1/3 (pow.f64 y 3)) y) (fma.f64 -1/2 (*.f64 y y) (*.f64 -1/4 (pow.f64 y 4)))))
(*.f64 z (+.f64 (*.f64 -1/4 (pow.f64 y 4)) (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) 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 -1) (log.f64 y)))
(+.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))))))
(fma.f64 z (+.f64 (log.f64 -1) (log.f64 y)) (/.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)) (fma.f64 z (+.f64 (log.f64 -1) (log.f64 y)) (/.f64 (neg.f64 z) y)))
(fma.f64 z (+.f64 (log.f64 -1) (log.f64 y)) (*.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 -1) (log.f64 y)) (/.f64 (*.f64 z -1/3) (pow.f64 y 3))) (/.f64 z y)))
(+.f64 (*.f64 z (+.f64 (log.f64 -1) (log.f64 y))) (-.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 z (+.f64 (log.f64 -1) (log.f64 y)) (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y)))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z))
(neg.f64 (*.f64 z (log.f64 (/.f64 -1 y))))
(*.f64 z (neg.f64 (log.f64 (/.f64 -1 y))))
(*.f64 z (-.f64 (log.f64 y) (log.f64 -1)))
(+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y)))
(fma.f64 -1 (*.f64 z (log.f64 (/.f64 -1 y))) (neg.f64 (/.f64 z y)))
(neg.f64 (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y)))
(*.f64 z (-.f64 (/.f64 -1 y) (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 -1 (/.f64 z y))))
(fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 -1 (*.f64 z (log.f64 (/.f64 -1 y))) (neg.f64 (/.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))))
(fma.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y)) (*.f64 z (-.f64 (log.f64 y) (log.f64 -1))))
(+.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 -1/3 (/.f64 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 (*.f64 z -1/3) (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 -1/2 (/.f64 -1/3 y))) (*.f64 y y)) (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y)))
(-.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)))

localize28.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (*.f64 x (log.f64 y)))
0.2b
(pow.f64 (sqrt.f64 (*.f64 x (log.f64 y))) 2)
0.3b
(*.f64 x (log.f64 y))
6.1b
(log.f64 (-.f64 1 y))
Compiler

Compiled 71 to 35 computations (50.7% saved)

series10.0ms (0.1%)

Counts
2 → 24
Calls

12 calls:

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

rewrite57.0ms (0.5%)

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

simplify73.0ms (0.7%)

Algorithm
egg-herbie
Rules
717×unswap-sqr_binary64
337×unsub-neg_binary64
317×fma-neg_binary64
315×fma-def_binary64
304×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
024196
145196
284196
3206196
4723196
52782196
65445196
76735196
Stop Event
node limit
Counts
74 → 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)
(sqrt.f64 (*.f64 (log.f64 y) x))
(sqrt.f64 (*.f64 (log.f64 y) x))
(sqrt.f64 (*.f64 (log.f64 y) x))
(sqrt.f64 (*.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 (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)
(sqrt.f64 (*.f64 (log.f64 y) x))
(sqrt.f64 (*.f64 (log.f64 y) x))
(sqrt.f64 (*.f64 (log.f64 y) x))
(sqrt.f64 (*.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 (log.f64 y) x))
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(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 (log.f64 y) x))
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x))
(sqrt.f64 (*.f64 (log.f64 y) x))

localize25.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 58 to 20 computations (65.5% saved)

series20.0ms (0.2%)

Counts
4 → 51
Calls

24 calls:

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

rewrite78.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
837×prod-diff_binary64
673×log-prod_binary64
332×fma-def_binary64
251×expm1-udef_binary64
251×log1p-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify155.0ms (1.4%)

Algorithm
egg-herbie
Rules
674×fma-def_binary64
447×associate--r+_binary64
437×times-frac_binary64
421×associate-+l+_binary64
392×unsub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0941046
1308883
2999865
34013828
47825828
Stop Event
node limit
Counts
147 → 135
Calls
Call 1
Inputs
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (pow.f64 1 1/3) (*.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 -1/3 (*.f64 (pow.f64 y 3) z)) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))) t)
(-.f64 (+.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))) t)
(-.f64 (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.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/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.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/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 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x))) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))))))) t)
(-.f64 (+.f64 (*.f64 (pow.f64 1 1/3) (*.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 (pow.f64 1 1/3) (*.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 (pow.f64 1 1/3) (*.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 (pow.f64 1 1/3) (*.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 z (log.f64 (-.f64 1 y))) t)
(-.f64 (*.f64 z (log.f64 (-.f64 1 y))) t)
(-.f64 (*.f64 z (log.f64 (-.f64 1 y))) t)
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(*.f64 z (log.f64 (-.f64 1 y)))
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(*.f64 z (log.f64 (-.f64 1 y)))
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x)))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
Outputs
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x)) t)
(-.f64 (*.f64 1 (*.f64 x (log.f64 y))) t)
(-.f64 (*.f64 x (log.f64 y)) t)
(fma.f64 x (log.f64 y) (neg.f64 t))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 -1 (*.f64 y z) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (-.f64 (*.f64 x (log.f64 y)) (*.f64 y z)) t)
(-.f64 (*.f64 x (log.f64 y)) (+.f64 (*.f64 y z) t))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x)))) t)
(-.f64 (fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 -1 (*.f64 y z) (*.f64 1 (*.f64 x (log.f64 y))))) t)
(-.f64 (fma.f64 -1/2 (*.f64 z (*.f64 y y)) (-.f64 (*.f64 x (log.f64 y)) (*.f64 y z))) t)
(fma.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y) (fma.f64 x (log.f64 y) (neg.f64 t)))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y 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 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 -1 (*.f64 y z) (fma.f64 -1/3 (*.f64 z (pow.f64 y 3)) (*.f64 1 (*.f64 x (log.f64 y)))))) 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 y z))) t)
(-.f64 (fma.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y) (fma.f64 x (log.f64 y) (*.f64 z (*.f64 -1/3 (pow.f64 y 3))))) t)
(-.f64 (fma.f64 z (*.f64 y (*.f64 y -1/2)) (fma.f64 z (-.f64 (*.f64 -1/3 (pow.f64 y 3)) y) (*.f64 x (log.f64 y)))) t)
(-.f64 (+.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))) t)
(-.f64 (fma.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (*.f64 -1 (*.f64 x (neg.f64 (log.f64 y))))) t)
(-.f64 (fma.f64 z (+.f64 (log.f64 y) (log.f64 -1)) (*.f64 x (log.f64 y))) 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 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x))) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))))) t)
(-.f64 (fma.f64 -1 (/.f64 z y) (fma.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (*.f64 -1 (*.f64 x (neg.f64 (log.f64 y)))))) t)
(-.f64 (-.f64 (fma.f64 z (+.f64 (log.f64 y) (log.f64 -1)) (*.f64 x (log.f64 y))) (/.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 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x))) (*.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 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (*.f64 -1 (*.f64 x (neg.f64 (log.f64 y))))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (-.f64 (fma.f64 z (+.f64 (log.f64 y) (log.f64 -1)) (*.f64 x (log.f64 y))) (/.f64 z y))) 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 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x))) (*.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)) (fma.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (*.f64 -1 (*.f64 x (neg.f64 (log.f64 y)))))))) t)
(-.f64 (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 x (log.f64 y)))) (/.f64 z y))) t)
(+.f64 (fma.f64 -1/3 (/.f64 z (pow.f64 y 3)) (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 (fma.f64 (log.f64 -1) z (*.f64 (log.f64 y) (+.f64 z x))) (/.f64 z y)) (*.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 -1 (*.f64 (log.f64 (/.f64 -1 y)) z))) t)
(-.f64 (fma.f64 1 (*.f64 x (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1))) (*.f64 (neg.f64 (log.f64 (/.f64 -1 y))) z)) t)
(-.f64 (fma.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) x (*.f64 (log.f64 (/.f64 -1 y)) (neg.f64 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 (log.f64 y) (*.f64 (log.f64 (/.f64 -1 y)) (neg.f64 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 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y)))) t)
(-.f64 (fma.f64 1 (*.f64 x (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1))) (fma.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z) (neg.f64 (/.f64 z y)))) t)
(-.f64 (fma.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) x (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 (fma.f64 x (log.f64 y) (neg.f64 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 (pow.f64 1 1/3) (*.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 1 (*.f64 x (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1))) (fma.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z) (neg.f64 (/.f64 z y))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) x (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 -1 (/.f64 -1/2 y))) (*.f64 (log.f64 (/.f64 -1 y)) z))) t)
(-.f64 (fma.f64 x (log.f64 y) (-.f64 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))) (*.f64 (log.f64 (/.f64 -1 y)) 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 -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 x (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1))) (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)))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) x (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/2 (/.f64 z (*.f64 y y)) (-.f64 (*.f64 -1/3 (/.f64 z (pow.f64 y 3))) (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y))))) t)
(-.f64 (fma.f64 x (log.f64 y) (-.f64 (*.f64 (/.f64 z (*.f64 y y)) (+.f64 -1/2 (/.f64 -1/3 y))) (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y)))) t)
(-.f64 (*.f64 z (log.f64 (-.f64 1 y))) t)
(fma.f64 z (log.f64 (-.f64 1 y)) (neg.f64 t))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(-.f64 (*.f64 z (log.f64 (-.f64 1 y))) t)
(fma.f64 z (log.f64 (-.f64 1 y)) (neg.f64 t))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(-.f64 (*.f64 z (log.f64 (-.f64 1 y))) t)
(fma.f64 z (log.f64 (-.f64 1 y)) (neg.f64 t))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x)) t)
(-.f64 (*.f64 1 (*.f64 x (log.f64 y))) t)
(-.f64 (*.f64 x (log.f64 y)) t)
(fma.f64 x (log.f64 y) (neg.f64 t))
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x)))
(fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y))))
(fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 (neg.f64 y))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))

eval282.0ms (2.6%)

Compiler

Compiled 9363 to 4429 computations (52.7% saved)

prune208.0ms (1.9%)

Pruning

20 alts after pruning (18 fresh and 2 done)

PrunedKeptTotal
New44615461
Fresh639
Picked101
Done224
Total45520475
Error
0.0b
Counts
475 → 20
Alt Table
Click to see full alt table
StatusErrorProgram
15.2b
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (log.f64 y) 3) (*.f64 x x))) (cbrt.f64 x) (-.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) t))
25.7b
(-.f64 (*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) y)) t)
37.2b
(-.f64 (+.f64 (pow.f64 (pow.f64 (pow.f64 (*.f64 x (log.f64 y)) 1/4) 2) 2) (*.f64 z (log.f64 (-.f64 1 y)))) t)
11.5b
(-.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (log.f64 y))) (*.f64 z (log.f64 (-.f64 1 y)))) t)
51.4b
(*.f64 z (log1p.f64 (neg.f64 y)))
15.0b
(fma.f64 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x) (-.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) t))
26.0b
(-.f64 (*.f64 y (neg.f64 z)) t)
15.2b
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x (log.f64 y)) 2)) (cbrt.f64 (*.f64 x (log.f64 y))) (-.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) t))
24.4b
(-.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 x (log.f64 y)) 3)) (*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y))) t)
29.6b
(fma.f64 (*.f64 (log1p.f64 (neg.f64 y)) (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 x (log.f64 y) (neg.f64 t)))
36.7b
(neg.f64 t)
0.7b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 3) (cbrt.f64 x) (-.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) t))
0.1b
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y))) t)
37.2b
(-.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 x (log.f64 y))) (cbrt.f64 (*.f64 x (log.f64 y)))) (cbrt.f64 (sqrt.f64 (*.f64 x (log.f64 y))))) (*.f64 z (log.f64 (-.f64 1 y)))) t)
31.3b
(-.f64 (+.f64 (pow.f64 (sqrt.f64 (*.f64 x (log.f64 y))) 2) (*.f64 z (neg.f64 y))) t)
38.1b
(-.f64 (+.f64 (*.f64 (*.f64 (log.f64 y) (sqrt.f64 x)) (sqrt.f64 x)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
0.5b
(-.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 y z) t))
11.5b
(-.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 y)) 2) (*.f64 (cbrt.f64 (log.f64 y)) x)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
16.2b
(-.f64 (+.f64 (-.f64 (+.f64 1 (*.f64 x (log.f64 y))) 1) (*.f64 z (log.f64 (-.f64 1 y)))) t)
11.6b
(-.f64 (*.f64 (log.f64 y) x) t)
Compiler

Compiled 740 to 504 computations (31.9% saved)

localize12.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 32 to 9 computations (71.9% saved)

series2.0ms (0%)

Counts
1 → 8
Calls

6 calls:

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

rewrite50.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
435×pow1_binary64
414×add-sqr-sqrt_binary64
409×*-un-lft-identity_binary64
397×add-log-exp_binary64
397×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056
1956
211016
Stop Event
node limit
Counts
1 → 14
Calls
Call 1
Inputs
(*.f64 (log.f64 y) x)
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 (*.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 (+.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 expm1.f64 (log1p.f64 (*.f64 (log.f64 y) x)))))) (#(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)))))))

simplify193.0ms (1.8%)

Algorithm
egg-herbie
Rules
3199×fma-neg_binary64
757×fma-def_binary64
388×associate--r-_binary64
351×unsub-neg_binary64
304×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01580
13280
26248
314048
428048
571248
6197748
7301948
8365048
9369648
10371448
11371648
12613448
13674648
14701248
15709948
16711348
17711748
18725148
19725948
Stop Event
node limit
Counts
22 → 17
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)
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))

localize8.0ms (0.1%)

Compiler

Compiled 19 to 7 computations (63.2% saved)

localize31.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 z (log.f64 (-.f64 1 y)))
0.3b
(*.f64 x (log.f64 y))
3.2b
(-.f64 (+.f64 1 (*.f64 x (log.f64 y))) 1)
6.1b
(log.f64 (-.f64 1 y))
Compiler

Compiled 74 to 41 computations (44.6% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite61.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
815×pow1_binary64
758×add-log-exp_binary64
758×log1p-expm1-u_binary64
758×expm1-log1p-u_binary64
745×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0812
11716
223306
Stop Event
node limit
Counts
1 → 47
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (*.f64 x (log.f64 y))) 1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (fma.f64 x (log.f64 y) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (fma.f64 x (log.f64 y) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x (log.f64 y) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (fma.f64 x (log.f64 y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x (log.f64 y) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (pow.f64 y x)))))) (#(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 (log.f64 (pow.f64 y x)) 1)))) (#(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 (cbrt.f64 (log.f64 (pow.f64 y x))) (pow.f64 (cbrt.f64 (log.f64 (pow.f64 y x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 (pow.f64 y x))) 2) (cbrt.f64 (log.f64 (pow.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 (sqrt.f64 (log.f64 y)) (*.f64 (sqrt.f64 (log.f64 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (pow.f64 y x))) (sqrt.f64 (log.f64 (pow.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 (pow.f64 (fma.f64 x (log.f64 y) 1) 3) -1) (/.f64 1 (+.f64 (pow.f64 (fma.f64 x (log.f64 y) 1) 2) (+.f64 (log.f64 (pow.f64 y x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 x (log.f64 y) 1) 2) -1) (/.f64 1 (+.f64 (log.f64 (pow.f64 y x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (fma.f64 x (log.f64 y) 1)) 1) (-.f64 (sqrt.f64 (fma.f64 x (log.f64 y) 1)) 1))))) (#(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 1 (/.f64 (+.f64 (pow.f64 (fma.f64 x (log.f64 y) 1) 2) (+.f64 (log.f64 (pow.f64 y x)) 2)) (+.f64 (pow.f64 (fma.f64 x (log.f64 y) 1) 3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (log.f64 (pow.f64 y x)) 2) (+.f64 (pow.f64 (fma.f64 x (log.f64 y) 1) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x (log.f64 y) 1) 3) -1) (+.f64 (pow.f64 (fma.f64 x (log.f64 y) 1) 2) (+.f64 (log.f64 (pow.f64 y x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x (log.f64 y) 1) 3) -1) (+.f64 (pow.f64 (fma.f64 x (log.f64 y) 1) 2) (-.f64 1 (*.f64 (fma.f64 x (log.f64 y) 1) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x (log.f64 y) 1) 2) -1) (+.f64 (log.f64 (pow.f64 y x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x (log.f64 y) 1) 2) -1) (-.f64 (fma.f64 x (log.f64 y) 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x (log.f64 y) 1) 3) -1)) (neg.f64 (+.f64 (pow.f64 (fma.f64 x (log.f64 y) 1) 2) (+.f64 (log.f64 (pow.f64 y x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x (log.f64 y) 1) 2) -1)) (neg.f64 (+.f64 (log.f64 (pow.f64 y x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (fma.f64 x (log.f64 y) -1) 3)) (+.f64 1 (-.f64 (*.f64 (fma.f64 x (log.f64 y) -1) (fma.f64 x (log.f64 y) -1)) (fma.f64 x (log.f64 y) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (fma.f64 x (log.f64 y) -1) (fma.f64 x (log.f64 y) -1))) (-.f64 1 (fma.f64 x (log.f64 y) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (pow.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (pow.f64 y x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (pow.f64 y x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (pow.f64 y x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (pow.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 (log.f64 (pow.f64 y x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (pow.f64 y x))))))) (#(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 (log.f64 (pow.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x (log.f64 y) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x (log.f64 y) 1)) 2) (cbrt.f64 (fma.f64 x (log.f64 y) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x (log.f64 y) 1)) (sqrt.f64 (fma.f64 x (log.f64 y) 1)) -1)))))

simplify205.0ms (1.9%)

Algorithm
egg-herbie
Rules
3199×fma-neg_binary64
757×fma-def_binary64
390×associate--r-_binary64
351×unsub-neg_binary64
304×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
017144
134144
261144
3137144
4277144
5740144
61995144
73037144
83664144
93710144
103728144
113730144
126149144
136760144
147026144
157113144
167127144
177131144
187266144
197274144
Stop Event
node limit
Counts
71 → 49
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 (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)
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 (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)

localize26.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x) (-.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) t))
0.3b
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))
0.6b
(cbrt.f64 x)
30.7b
(cbrt.f64 (*.f64 x x))
Compiler

Compiled 60 to 14 computations (76.7% saved)

series13.0ms (0.1%)

Counts
3 → 51
Calls

21 calls:

TimeVariablePointExpression
2.0ms
t
@0
(fma.f64 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x) (-.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) t))
2.0ms
y
@0
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))
1.0ms
z
@0
(fma.f64 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x) (-.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) t))
1.0ms
x
@-inf
(fma.f64 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x) (-.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) t))
0.0ms
y
@inf
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))

rewrite81.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
837×prod-diff_binary64
684×log-prod_binary64
337×fma-def_binary64
247×expm1-udef_binary64
247×log1p-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify89.0ms (0.8%)

Algorithm
egg-herbie
Rules
674×fma-def_binary64
447×associate--r+_binary64
437×times-frac_binary64
421×associate-+l+_binary64
392×unsub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0941046
1308883
2999865
34013828
47825828
Stop Event
node limit
Counts
128 → 116
Calls
Call 1
Inputs
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (pow.f64 1 1/3) (*.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 -1/3 (*.f64 (pow.f64 y 3) z)) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))) t)
(-.f64 (+.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))) t)
(-.f64 (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.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/2 (/.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 z y)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.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/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 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x))) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))))))) t)
(-.f64 (+.f64 (*.f64 (pow.f64 1 1/3) (*.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 (pow.f64 1 1/3) (*.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 (pow.f64 1 1/3) (*.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 (pow.f64 1 1/3) (*.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 z (log.f64 (-.f64 1 y))) t)
(-.f64 (*.f64 z (log.f64 (-.f64 1 y))) t)
(-.f64 (*.f64 z (log.f64 (-.f64 1 y))) t)
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x)) t)
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(*.f64 z (log.f64 (-.f64 1 y)))
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(*.f64 z (log.f64 (-.f64 1 y)))
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x)))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
Outputs
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x)) t)
(-.f64 (*.f64 1 (*.f64 x (log.f64 y))) t)
(-.f64 (*.f64 x (log.f64 y)) t)
(fma.f64 x (log.f64 y) (neg.f64 t))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 -1 (*.f64 y z) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (-.f64 (*.f64 x (log.f64 y)) (*.f64 y z)) t)
(-.f64 (*.f64 x (log.f64 y)) (+.f64 (*.f64 y z) t))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x)))) t)
(-.f64 (fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 -1 (*.f64 y z) (*.f64 1 (*.f64 x (log.f64 y))))) t)
(-.f64 (fma.f64 -1/2 (*.f64 z (*.f64 y y)) (-.f64 (*.f64 x (log.f64 y)) (*.f64 y z))) t)
(fma.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y) (fma.f64 x (log.f64 y) (neg.f64 t)))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1 (*.f64 y 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 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 -1 (*.f64 y z) (fma.f64 -1/3 (*.f64 z (pow.f64 y 3)) (*.f64 1 (*.f64 x (log.f64 y)))))) 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 y z))) t)
(-.f64 (fma.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y) (fma.f64 x (log.f64 y) (*.f64 z (*.f64 -1/3 (pow.f64 y 3))))) t)
(-.f64 (fma.f64 z (*.f64 y (*.f64 y -1/2)) (fma.f64 z (-.f64 (*.f64 -1/3 (pow.f64 y 3)) y) (*.f64 x (log.f64 y)))) t)
(-.f64 (+.f64 (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x)))) t)
(-.f64 (fma.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (*.f64 -1 (*.f64 x (neg.f64 (log.f64 y))))) t)
(-.f64 (fma.f64 z (+.f64 (log.f64 y) (log.f64 -1)) (*.f64 x (log.f64 y))) 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 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x))) (*.f64 z (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))))) t)
(-.f64 (fma.f64 -1 (/.f64 z y) (fma.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (*.f64 -1 (*.f64 x (neg.f64 (log.f64 y)))))) t)
(-.f64 (-.f64 (fma.f64 z (+.f64 (log.f64 y) (log.f64 -1)) (*.f64 x (log.f64 y))) (/.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 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x))) (*.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 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (*.f64 -1 (*.f64 x (neg.f64 (log.f64 y))))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (-.f64 (fma.f64 z (+.f64 (log.f64 y) (log.f64 -1)) (*.f64 x (log.f64 y))) (/.f64 z y))) 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 -1 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 (/.f64 1 y)) x))) (*.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)) (fma.f64 z (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (*.f64 -1 (*.f64 x (neg.f64 (log.f64 y)))))))) t)
(-.f64 (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 x (log.f64 y)))) (/.f64 z y))) t)
(+.f64 (fma.f64 -1/3 (/.f64 z (pow.f64 y 3)) (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 (fma.f64 (log.f64 -1) z (*.f64 (log.f64 y) (+.f64 z x))) (/.f64 z y)) (*.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 -1 (*.f64 (log.f64 (/.f64 -1 y)) z))) t)
(-.f64 (fma.f64 1 (*.f64 x (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1))) (*.f64 (neg.f64 (log.f64 (/.f64 -1 y))) z)) t)
(-.f64 (fma.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) x (*.f64 (log.f64 (/.f64 -1 y)) (neg.f64 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 (log.f64 y) (*.f64 (log.f64 (/.f64 -1 y)) (neg.f64 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 -1 (*.f64 (log.f64 (/.f64 -1 y)) z)) (*.f64 -1 (/.f64 z y)))) t)
(-.f64 (fma.f64 1 (*.f64 x (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1))) (fma.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z) (neg.f64 (/.f64 z y)))) t)
(-.f64 (fma.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) x (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 (fma.f64 x (log.f64 y) (neg.f64 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 (pow.f64 1 1/3) (*.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 1 (*.f64 x (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1))) (fma.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) z) (neg.f64 (/.f64 z y))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) x (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 -1 (/.f64 -1/2 y))) (*.f64 (log.f64 (/.f64 -1 y)) z))) t)
(-.f64 (fma.f64 x (log.f64 y) (-.f64 (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))) (*.f64 (log.f64 (/.f64 -1 y)) 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 -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 x (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1))) (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)))))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (fma.f64 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))) x (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/2 (/.f64 z (*.f64 y y)) (-.f64 (*.f64 -1/3 (/.f64 z (pow.f64 y 3))) (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y))))) t)
(-.f64 (fma.f64 x (log.f64 y) (-.f64 (*.f64 (/.f64 z (*.f64 y y)) (+.f64 -1/2 (/.f64 -1/3 y))) (fma.f64 (log.f64 (/.f64 -1 y)) z (/.f64 z y)))) t)
(-.f64 (*.f64 z (log.f64 (-.f64 1 y))) t)
(fma.f64 z (log.f64 (-.f64 1 y)) (neg.f64 t))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(-.f64 (*.f64 z (log.f64 (-.f64 1 y))) t)
(fma.f64 z (log.f64 (-.f64 1 y)) (neg.f64 t))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(-.f64 (*.f64 z (log.f64 (-.f64 1 y))) t)
(fma.f64 z (log.f64 (-.f64 1 y)) (neg.f64 t))
(fma.f64 z (log1p.f64 (neg.f64 y)) (neg.f64 t))
(-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t)
(-.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x)) t)
(-.f64 (*.f64 1 (*.f64 x (log.f64 y))) t)
(-.f64 (*.f64 x (log.f64 y)) t)
(fma.f64 x (log.f64 y) (neg.f64 t))
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(*.f64 z (log.f64 (-.f64 1 y)))
(*.f64 z (log1p.f64 (neg.f64 y)))
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(-.f64 (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))) t)
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x)))
(fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y))))
(fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y))))
(fma.f64 x (log.f64 y) (*.f64 z (log1p.f64 (neg.f64 y))))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))
(+.f64 (*.f64 -1 t) (+.f64 (*.f64 z (log.f64 (-.f64 1 y))) (*.f64 (pow.f64 1 1/3) (*.f64 (log.f64 y) x))))
(-.f64 (fma.f64 z (log.f64 (-.f64 1 y)) (*.f64 1 (*.f64 x (log.f64 y)))) t)
(-.f64 (fma.f64 (log.f64 y) x (*.f64 z (log1p.f64 (neg.f64 y)))) t)
(fma.f64 z (log1p.f64 (neg.f64 y)) (fma.f64 x (log.f64 y) (neg.f64 t)))

localize29.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (pow.f64 (log.f64 y) 3) (*.f64 x x))
0.6b
(cbrt.f64 x)
0.7b
(pow.f64 (log.f64 y) 3)
30.8b
(cbrt.f64 (*.f64 (pow.f64 (log.f64 y) 3) (*.f64 x x)))
Compiler

Compiled 73 to 26 computations (64.4% saved)

series11.0ms (0.1%)

Counts
3 → 44
Calls

15 calls:

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

rewrite69.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
756×pow1_binary64
703×add-log-exp_binary64
703×log1p-expm1-u_binary64
703×expm1-log1p-u_binary64
683×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify69.0ms (0.6%)

Algorithm
egg-herbie
Rules
493×neg-sub0_binary64
478×neg-mul-1_binary64
359×associate-+l+_binary64
349×distribute-rgt-neg-in_binary64
334×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
031500
191500
2313468
31399468
43810468
57149468
Stop Event
node limit
Counts
100 → 67
Calls
Call 1
Inputs
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 -1 (pow.f64 (log.f64 (/.f64 1 y)) 3))
(*.f64 -1 (pow.f64 (log.f64 (/.f64 1 y)) 3))
(*.f64 -1 (pow.f64 (log.f64 (/.f64 1 y)) 3))
(*.f64 -1 (pow.f64 (log.f64 (/.f64 1 y)) 3))
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 3)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 3)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 3)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 3)
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 -1 (*.f64 (pow.f64 (log.f64 (/.f64 1 y)) 3) (pow.f64 x 2)))
(*.f64 -1 (*.f64 (pow.f64 (log.f64 (/.f64 1 y)) 3) (pow.f64 x 2)))
(*.f64 -1 (*.f64 (pow.f64 (log.f64 (/.f64 1 y)) 3) (pow.f64 x 2)))
(*.f64 -1 (*.f64 (pow.f64 (log.f64 (/.f64 1 y)) 3) (pow.f64 x 2)))
(*.f64 (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 3) (pow.f64 x 2))
(*.f64 (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 3) (pow.f64 x 2))
(*.f64 (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 3) (pow.f64 x 2))
(*.f64 (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 3) (pow.f64 x 2))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
Outputs
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 y))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (log.f64 (/.f64 1 y))))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (cbrt.f64 (*.f64 x x)) (log.f64 y))
(*.f64 -1 (pow.f64 (log.f64 (/.f64 1 y)) 3))
(neg.f64 (pow.f64 (neg.f64 (log.f64 y)) 3))
(pow.f64 (log.f64 y) 3)
(*.f64 -1 (pow.f64 (log.f64 (/.f64 1 y)) 3))
(neg.f64 (pow.f64 (neg.f64 (log.f64 y)) 3))
(pow.f64 (log.f64 y) 3)
(*.f64 -1 (pow.f64 (log.f64 (/.f64 1 y)) 3))
(neg.f64 (pow.f64 (neg.f64 (log.f64 y)) 3))
(pow.f64 (log.f64 y) 3)
(*.f64 -1 (pow.f64 (log.f64 (/.f64 1 y)) 3))
(neg.f64 (pow.f64 (neg.f64 (log.f64 y)) 3))
(pow.f64 (log.f64 y) 3)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 3)
(neg.f64 (pow.f64 (neg.f64 (log.f64 y)) 3))
(pow.f64 (log.f64 y) 3)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 3)
(neg.f64 (pow.f64 (neg.f64 (log.f64 y)) 3))
(pow.f64 (log.f64 y) 3)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 3)
(neg.f64 (pow.f64 (neg.f64 (log.f64 y)) 3))
(pow.f64 (log.f64 y) 3)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 3)
(neg.f64 (pow.f64 (neg.f64 (log.f64 y)) 3))
(pow.f64 (log.f64 y) 3)
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 (log.f64 (/.f64 1 y)) 3) (pow.f64 x 2)))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 (log.f64 (/.f64 1 y)) 3) (pow.f64 x 2)))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 (log.f64 (/.f64 1 y)) 3) (pow.f64 x 2)))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 -1 (*.f64 (pow.f64 (log.f64 (/.f64 1 y)) 3) (pow.f64 x 2)))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 3) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 3) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 3) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 3) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))
(*.f64 (pow.f64 (log.f64 y) 3) (pow.f64 x 2))
(*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3))
(*.f64 x (*.f64 x (pow.f64 (log.f64 y) 3)))

eval294.0ms (2.7%)

Compiler

Compiled 8953 to 4027 computations (55% saved)

prune134.0ms (1.3%)

Pruning

20 alts after pruning (14 fresh and 6 done)

PrunedKeptTotal
New4138421
Fresh7613
Picked011
Done156
Total42120441
Error
0.0b
Counts
441 → 20
Alt Table
Click to see full alt table
StatusErrorProgram
15.2b
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (log.f64 y) 3) (*.f64 x x))) (cbrt.f64 x) (-.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) t))
51.4b
(*.f64 z (log1p.f64 (neg.f64 y)))
25.7b
(-.f64 (*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) y)) t)
37.2b
(-.f64 (+.f64 (pow.f64 (pow.f64 (pow.f64 (*.f64 x (log.f64 y)) 1/4) 2) 2) (*.f64 z (log.f64 (-.f64 1 y)))) t)
0.5b
(-.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 y z) t))
38.1b
(-.f64 (+.f64 (*.f64 (*.f64 (log.f64 y) (sqrt.f64 x)) (sqrt.f64 x)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
31.3b
(-.f64 (pow.f64 (sqrt.f64 (*.f64 (log.f64 y) x)) 2) (+.f64 (*.f64 y z) t))
15.0b
(fma.f64 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x) (-.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) t))
26.0b
(-.f64 (*.f64 y (neg.f64 z)) t)
15.2b
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x (log.f64 y)) 2)) (cbrt.f64 (*.f64 x (log.f64 y))) (-.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) t))
36.7b
(neg.f64 t)
29.6b
(fma.f64 (*.f64 (log1p.f64 (neg.f64 y)) (sqrt.f64 z)) (sqrt.f64 z) (fma.f64 x (log.f64 y) (neg.f64 t)))
0.1b
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y))) t)
0.7b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 3) (cbrt.f64 x) (-.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) t))
11.5b
(-.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 y)) 2) (*.f64 (cbrt.f64 (log.f64 y)) x)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
6.0b
(-.f64 (-.f64 (+.f64 1 (*.f64 (log.f64 y) x)) 1) (+.f64 (*.f64 y z) t))
0.7b
(fma.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 x) 2)) 3)) (cbrt.f64 x) (-.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) t))
11.5b
(-.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (log.f64 y))) (*.f64 z (log.f64 (-.f64 1 y)))) t)
11.6b
(-.f64 (*.f64 (log.f64 y) x) t)
24.6b
(-.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 y) x) 3)) (+.f64 (*.f64 y z) t))
Compiler

Compiled 638 to 442 computations (30.7% saved)

localize108.0ms (1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(pow.f64 (cbrt.f64 x) 2)
0.5b
(cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)))
0.6b
(cbrt.f64 x)
0.6b
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 3)
Compiler

Compiled 80 to 34 computations (57.5% saved)

series130.0ms (1.2%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
62.0ms
x
@inf
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 3)
28.0ms
y
@0
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 3)
21.0ms
x
@0
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 3)
8.0ms
x
@-inf
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 3)
5.0ms
y
@-inf
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 3)

rewrite91.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
782×pow1_binary64
728×add-log-exp_binary64
727×log1p-expm1-u_binary64
727×expm1-log1p-u_binary64
709×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01124
122424
2216124
Stop Event
node limit
Counts
2 → 54
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 3)
(cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 y) (pow.f64 (cbrt.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 2) (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 (log.f64 y)) (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (cbrt.f64 x))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (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)) (pow.f64 (cbrt.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 x) (sqrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 x) (sqrt.f64 (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cbrt.f64 x) (sqrt.f64 (log.f64 y)))) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 x) (sqrt.f64 (log.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 y)) (*.f64 (sqrt.f64 (log.f64 y)) (pow.f64 (cbrt.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)))) 2) 3) (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 x) (sqrt.f64 (log.f64 y)))) 3) (pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 x) (sqrt.f64 (log.f64 y)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (log.f64 y)) 2)) (cbrt.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (log.f64 y))) (sqrt.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 y) (cbrt.f64 x)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x (cbrt.f64 x)))) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 2) 1) (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) (cbrt.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 2) (cbrt.f64 (*.f64 (cbrt.f64 x) (sqrt.f64 (log.f64 y))))) (cbrt.f64 (*.f64 (cbrt.f64 x) (sqrt.f64 (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 x (cbrt.f64 x)) (pow.f64 (log.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 y (pow.f64 (cbrt.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 x x) (pow.f64 (log.f64 y) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (log.f64 y) 3) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (pow.f64 y (pow.f64 (cbrt.f64 x) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 y)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cbrt.f64 x) (sqrt.f64 (log.f64 y)))) (cbrt.f64 (*.f64 (cbrt.f64 x) (sqrt.f64 (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cbrt.f64 x) (sqrt.f64 (log.f64 y))) 1/3) (pow.f64 (*.f64 (cbrt.f64 x) (sqrt.f64 (log.f64 y))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 x) (sqrt.f64 (log.f64 y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (log.f64 y)))))))))

simplify143.0ms (1.3%)

Algorithm
egg-herbie
Rules
984×fma-def_binary64
641×unswap-sqr_binary64
390×unsub-neg_binary64
327×neg-sub0_binary64
327×neg-mul-1_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
044980
1120908
2300908
3957908
41884764
54224764
67230764
Stop Event
node limit
Counts
102 → 67
Calls
Call 1
Inputs
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (log.f64 y)) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (log.f64 y)) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (log.f64 y)) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (log.f64 y)) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 -1 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 (/.f64 1 y)) (pow.f64 (pow.f64 x 2) 1/3))))
(*.f64 -1 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 (/.f64 1 y)) (pow.f64 (pow.f64 x 2) 1/3))))
(*.f64 -1 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 (/.f64 1 y)) (pow.f64 (pow.f64 x 2) 1/3))))
(*.f64 -1 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 (/.f64 1 y)) (pow.f64 (pow.f64 x 2) 1/3))))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (log.f64 y)) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (log.f64 y)) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (log.f64 y)) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (log.f64 y)) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (*.f64 (cbrt.f64 -1) (pow.f64 (log.f64 (/.f64 1 y)) 1/3)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (*.f64 (cbrt.f64 -1) (pow.f64 (log.f64 (/.f64 1 y)) 1/3)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (*.f64 (cbrt.f64 -1) (pow.f64 (log.f64 (/.f64 1 y)) 1/3)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (*.f64 (cbrt.f64 -1) (pow.f64 (log.f64 (/.f64 1 y)) 1/3)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1/3))
Outputs
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 1 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))))
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 1 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))))
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 1 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))))
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 1 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))))
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 1 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))))
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 1 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))))
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 1 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))))
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 1 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))))
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (log.f64 y)) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 1 (*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 -1) 2))))
(*.f64 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))) (pow.f64 (cbrt.f64 -1) 2))
(*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 -1) 2)))
(*.f64 (log.f64 y) (*.f64 (cbrt.f64 (*.f64 x x)) (pow.f64 (cbrt.f64 -1) 2)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (log.f64 y)) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 1 (*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 -1) 2))))
(*.f64 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))) (pow.f64 (cbrt.f64 -1) 2))
(*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 -1) 2)))
(*.f64 (log.f64 y) (*.f64 (cbrt.f64 (*.f64 x x)) (pow.f64 (cbrt.f64 -1) 2)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (log.f64 y)) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 1 (*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 -1) 2))))
(*.f64 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))) (pow.f64 (cbrt.f64 -1) 2))
(*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 -1) 2)))
(*.f64 (log.f64 y) (*.f64 (cbrt.f64 (*.f64 x x)) (pow.f64 (cbrt.f64 -1) 2)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (log.f64 y)) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 1 (*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 -1) 2))))
(*.f64 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))) (pow.f64 (cbrt.f64 -1) 2))
(*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 -1) 2)))
(*.f64 (log.f64 y) (*.f64 (cbrt.f64 (*.f64 x x)) (pow.f64 (cbrt.f64 -1) 2)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 1 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))))
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 1 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))))
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 1 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))))
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 y) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 1 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))))
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 -1 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 (/.f64 1 y)) (pow.f64 (pow.f64 x 2) 1/3))))
(*.f64 1 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))))
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 -1 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 (/.f64 1 y)) (pow.f64 (pow.f64 x 2) 1/3))))
(*.f64 1 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))))
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 -1 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 (/.f64 1 y)) (pow.f64 (pow.f64 x 2) 1/3))))
(*.f64 1 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))))
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 -1 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (log.f64 (/.f64 1 y)) (pow.f64 (pow.f64 x 2) 1/3))))
(*.f64 1 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))))
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 1 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))))
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 1 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))))
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 1 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))))
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (pow.f64 1 4) 1/9) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) (pow.f64 (pow.f64 x 2) 1/3)))
(*.f64 1 (*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x))))
(*.f64 (log.f64 y) (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (log.f64 y)) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 -1) 2))))
(*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 -1) 2))))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (log.f64 y)) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 -1) 2))))
(*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 -1) 2))))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (log.f64 y)) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 -1) 2))))
(*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 -1) 2))))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (log.f64 y)) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 -1) 2))))
(*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 -1) 2))))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (log.f64 y) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (*.f64 (cbrt.f64 -1) (pow.f64 (log.f64 (/.f64 1 y)) 1/3)))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (*.f64 (cbrt.f64 -1) (cbrt.f64 (neg.f64 (log.f64 y)))))
(*.f64 (cbrt.f64 (neg.f64 (log.f64 y))) (*.f64 (cbrt.f64 -1) (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18))))
(*.f64 (cbrt.f64 -1) (*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (neg.f64 (log.f64 y)))))
(*.f64 (cbrt.f64 -1) (*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (neg.f64 (log.f64 y)))))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (*.f64 (cbrt.f64 -1) (pow.f64 (log.f64 (/.f64 1 y)) 1/3)))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (*.f64 (cbrt.f64 -1) (cbrt.f64 (neg.f64 (log.f64 y)))))
(*.f64 (cbrt.f64 (neg.f64 (log.f64 y))) (*.f64 (cbrt.f64 -1) (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18))))
(*.f64 (cbrt.f64 -1) (*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (neg.f64 (log.f64 y)))))
(*.f64 (cbrt.f64 -1) (*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (neg.f64 (log.f64 y)))))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (*.f64 (cbrt.f64 -1) (pow.f64 (log.f64 (/.f64 1 y)) 1/3)))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (*.f64 (cbrt.f64 -1) (cbrt.f64 (neg.f64 (log.f64 y)))))
(*.f64 (cbrt.f64 (neg.f64 (log.f64 y))) (*.f64 (cbrt.f64 -1) (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18))))
(*.f64 (cbrt.f64 -1) (*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (neg.f64 (log.f64 y)))))
(*.f64 (cbrt.f64 -1) (*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (neg.f64 (log.f64 y)))))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (*.f64 (cbrt.f64 -1) (pow.f64 (log.f64 (/.f64 1 y)) 1/3)))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (*.f64 (cbrt.f64 -1) (cbrt.f64 (neg.f64 (log.f64 y)))))
(*.f64 (cbrt.f64 (neg.f64 (log.f64 y))) (*.f64 (cbrt.f64 -1) (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18))))
(*.f64 (cbrt.f64 -1) (*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (neg.f64 (log.f64 y)))))
(*.f64 (cbrt.f64 -1) (*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (neg.f64 (log.f64 y)))))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 x 2)) 1/9) (pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 x x) 1/18) (pow.f64 (*.f64 x x) 1/18)) (cbrt.f64 (log.f64 y)))
(*.f64 (pow.f64 (pow.f64 (*.f64 x x) 1/36) 4) (cbrt.f64 (log.f64 y)))

localize23.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) y))
0.0b
(*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3)))
0.4b
(*.f64 y -1/3)
Compiler

Compiled 68 to 39 computations (42.6% saved)

series7.0ms (0.1%)

Counts
3 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
z
@0
(*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) y))
1.0ms
y
@inf
(*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3)))
1.0ms
y
@0
(*.f64 y -1/3)
1.0ms
y
@inf
(*.f64 y -1/3)
1.0ms
z
@inf
(*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) y))

rewrite88.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
611×log-prod_binary64
529×fma-def_binary64
443×pow-prod-down_binary64
324×pow2_binary64
235×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01136
125132
2351332
Stop Event
node limit
Counts
3 → 96
Calls
Call 1
Inputs
(*.f64 y -1/3)
(*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3)))
(*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/3) y)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/3) y))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/3) y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 y -1/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y -1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y -1/3) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y -1/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 y -1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/27 (pow.f64 y 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 y -1/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -1/3) y))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 y -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 -1/27 (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 y -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 y -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 y -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 y -1/3)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 y -1/2)) (*.f64 -1/3 (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/3 (pow.f64 y 3)) (*.f64 y (*.f64 y -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y (*.f64 y -1/2)) 1) (*.f64 (*.f64 -1/3 (pow.f64 y 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 y (fma.f64 y -1/3 -1/2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 y) (*.f64 y (fma.f64 y -1/3 -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (*.f64 y (fma.f64 y -1/3 -1/2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) (*.f64 y (fma.f64 y -1/3 -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 y (*.f64 y -1/2)) 3) (pow.f64 (*.f64 -1/3 (pow.f64 y 3)) 3)) (+.f64 (pow.f64 (*.f64 y (*.f64 y -1/2)) 2) (-.f64 (pow.f64 (*.f64 -1/3 (pow.f64 y 3)) 2) (*.f64 (*.f64 y (*.f64 y -1/2)) (*.f64 -1/3 (pow.f64 y 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 y (*.f64 y -1/2)) 2) (pow.f64 (*.f64 -1/3 (pow.f64 y 3)) 2)) (-.f64 (*.f64 y (*.f64 y -1/2)) (*.f64 -1/3 (pow.f64 y 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 -1/27 (pow.f64 y 3) -1/8) (*.f64 y y)) (fma.f64 (*.f64 y -1/3) (fma.f64 y -1/3 1/2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1/4 (pow.f64 (*.f64 y -1/3) 2)) (*.f64 y y)) (-.f64 -1/2 (*.f64 y -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y y) (fma.f64 -1/27 (pow.f64 y 3) -1/8)) (fma.f64 (*.f64 y -1/3) (fma.f64 y -1/3 1/2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y y) (-.f64 1/4 (pow.f64 (*.f64 y -1/3) 2))) (-.f64 -1/2 (*.f64 y -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (sqrt.f64 (fma.f64 y -1/3 -1/2))) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (sqrt.f64 (fma.f64 y -1/3 -1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (sqrt.f64 (fma.f64 y -1/3 -1/2))) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 y (sqrt.f64 (fma.f64 y -1/3 -1/2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 y) (*.f64 y (fma.f64 y -1/3 -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 -1/3 (pow.f64 y 3))) (exp.f64 (*.f64 y (*.f64 y -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 (fma.f64 y -1/3 -1/2))) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (*.f64 y (*.f64 y -1/3)) (*.f64 y (*.f64 y -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (*.f64 y -1/2) (*.f64 -1/3 (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (*.f64 -1/3 (*.f64 y y)) (*.f64 y (*.f64 y -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/3 (pow.f64 y 3) (*.f64 y (*.f64 y -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y -1/3) (*.f64 y y) (*.f64 y (*.f64 y -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y y) (*.f64 y -1/3) (*.f64 y (*.f64 y -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y y) -1/2 (*.f64 -1/3 (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/2 (*.f64 y y) (*.f64 -1/3 (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y (*.f64 y -1/2)) (*.f64 -1/3 (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -1/3 (pow.f64 y 3)) (*.f64 y (*.f64 y -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 y) y) (*.f64 (pow.f64 (cbrt.f64 y) 2) -1/2) (*.f64 -1/3 (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 y) y) (*.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 y -1/3)) (*.f64 y (*.f64 y -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y -1/3)) 2) (*.f64 (cbrt.f64 (*.f64 y -1/3)) (*.f64 y y)) (*.f64 y (*.f64 y -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y -1/3)) (*.f64 (sqrt.f64 (*.f64 y -1/3)) (*.f64 y y)) (*.f64 y (*.f64 y -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 y 3) -1/3 (*.f64 y (*.f64 y -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (*.f64 y -1/2)) 1 (*.f64 (*.f64 -1/3 (pow.f64 y 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 y -1/2))) 2) (cbrt.f64 (*.f64 y (*.f64 y -1/2))) (*.f64 -1/3 (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 -1/3 (pow.f64 y 3))) 2) (cbrt.f64 (*.f64 -1/3 (pow.f64 y 3))) (*.f64 y (*.f64 y -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y (*.f64 y -1/2))) (sqrt.f64 (*.f64 y (*.f64 y -1/2))) (*.f64 -1/3 (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (sqrt.f64 (*.f64 y -1/3))) (*.f64 y (sqrt.f64 (*.f64 y -1/3))) (*.f64 y (*.f64 y -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y -1/3) y) y (*.f64 y (*.f64 y -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 y) y (*.f64 -1/3 (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 (*.f64 (cbrt.f64 y) y)) (pow.f64 (cbrt.f64 y) 2) (*.f64 -1/3 (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y y) -1/3) y (*.f64 y (*.f64 y -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 y (cbrt.f64 (*.f64 y -1/3))) 2) (cbrt.f64 (*.f64 y -1/3)) (*.f64 y (*.f64 y -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y y) (sqrt.f64 (*.f64 y -1/3))) (sqrt.f64 (*.f64 y -1/3)) (*.f64 y (*.f64 y -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y -1/3) (*.f64 (cbrt.f64 y) y)) (pow.f64 (cbrt.f64 y) 2) (*.f64 y (*.f64 y -1/2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (-.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) z) (*.f64 (neg.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2)))) (*.f64 z (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (-.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (-.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (-.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 z (-.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 y (sqrt.f64 (fma.f64 y -1/3 -1/2))) 6) (pow.f64 y 3)) z) (fma.f64 y (fma.f64 y (*.f64 y (fma.f64 y -1/3 -1/2)) y) (pow.f64 (*.f64 y (sqrt.f64 (fma.f64 y -1/3 -1/2))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 y (sqrt.f64 (fma.f64 y -1/3 -1/2))) 4) (*.f64 y y)) z) (fma.f64 y (*.f64 y (fma.f64 y -1/3 -1/2)) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 (pow.f64 (*.f64 y (sqrt.f64 (fma.f64 y -1/3 -1/2))) 6) (pow.f64 y 3))) (fma.f64 y (fma.f64 y (*.f64 y (fma.f64 y -1/3 -1/2)) y) (pow.f64 (*.f64 y (sqrt.f64 (fma.f64 y -1/3 -1/2))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 (pow.f64 (*.f64 y (sqrt.f64 (fma.f64 y -1/3 -1/2))) 4) (*.f64 y y))) (fma.f64 y (*.f64 y (fma.f64 y -1/3 -1/2)) y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (-.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (-.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 z (-.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 z (-.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 z (-.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 z (-.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (-.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 z (-.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 z (-.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 z (-.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 z (-.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 z (-.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 z (-.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) z (*.f64 (neg.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 y (*.f64 y (fma.f64 y -1/3 -1/2))) (*.f64 z (neg.f64 y)))))))

simplify67.0ms (0.6%)

Algorithm
egg-herbie
Rules
513×distribute-rgt-out_binary64
407×cancel-sign-sub-inv_binary64
390×distribute-rgt-neg-in_binary64
388×fma-neg_binary64
337×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
029583
174543
2185541
3563503
42182503
55537503
Stop Event
node limit
Counts
144 → 113
Calls
Call 1
Inputs
(*.f64 -1/3 y)
(*.f64 -1/3 y)
(*.f64 -1/3 y)
(*.f64 -1/3 y)
(*.f64 -1/3 y)
(*.f64 -1/3 y)
(*.f64 -1/3 y)
(*.f64 -1/3 y)
(*.f64 -1/3 y)
(*.f64 -1/3 y)
(*.f64 -1/3 y)
(*.f64 -1/3 y)
(*.f64 -1/2 (pow.f64 y 2))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/3 (pow.f64 y 3)))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/3 (pow.f64 y 3)))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/3 (pow.f64 y 3)))
(*.f64 -1/3 (pow.f64 y 3))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/3 (pow.f64 y 3)))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/3 (pow.f64 y 3)))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/3 (pow.f64 y 3)))
(*.f64 -1/3 (pow.f64 y 3))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/3 (pow.f64 y 3)))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/3 (pow.f64 y 3)))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/3 (pow.f64 y 3)))
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.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 (*.f64 y z)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z))))
(*.f64 -1/3 (*.f64 (pow.f64 y 3) z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) 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 (*.f64 y z)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z))))
(*.f64 -1/3 (*.f64 (pow.f64 y 3) z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) 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 (*.f64 y z)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z))))
Outputs
(*.f64 -1/3 y)
(*.f64 -1/3 y)
(*.f64 -1/3 y)
(*.f64 -1/3 y)
(*.f64 -1/3 y)
(*.f64 -1/3 y)
(*.f64 -1/3 y)
(*.f64 -1/3 y)
(*.f64 -1/3 y)
(*.f64 -1/3 y)
(*.f64 -1/3 y)
(*.f64 -1/3 y)
(*.f64 -1/2 (pow.f64 y 2))
(*.f64 -1/2 (*.f64 y y))
(*.f64 y (*.f64 y -1/2))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/3 (pow.f64 y 3)))
(fma.f64 -1/2 (*.f64 y y) (*.f64 -1/3 (pow.f64 y 3)))
(*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2))
(*.f64 y (*.f64 y (fma.f64 -1/3 y -1/2)))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/3 (pow.f64 y 3)))
(fma.f64 -1/2 (*.f64 y y) (*.f64 -1/3 (pow.f64 y 3)))
(*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2))
(*.f64 y (*.f64 y (fma.f64 -1/3 y -1/2)))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/3 (pow.f64 y 3)))
(fma.f64 -1/2 (*.f64 y y) (*.f64 -1/3 (pow.f64 y 3)))
(*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2))
(*.f64 y (*.f64 y (fma.f64 -1/3 y -1/2)))
(*.f64 -1/3 (pow.f64 y 3))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/3 (pow.f64 y 3)))
(fma.f64 -1/2 (*.f64 y y) (*.f64 -1/3 (pow.f64 y 3)))
(*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2))
(*.f64 y (*.f64 y (fma.f64 -1/3 y -1/2)))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/3 (pow.f64 y 3)))
(fma.f64 -1/2 (*.f64 y y) (*.f64 -1/3 (pow.f64 y 3)))
(*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2))
(*.f64 y (*.f64 y (fma.f64 -1/3 y -1/2)))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/3 (pow.f64 y 3)))
(fma.f64 -1/2 (*.f64 y y) (*.f64 -1/3 (pow.f64 y 3)))
(*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2))
(*.f64 y (*.f64 y (fma.f64 -1/3 y -1/2)))
(*.f64 -1/3 (pow.f64 y 3))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/3 (pow.f64 y 3)))
(fma.f64 -1/2 (*.f64 y y) (*.f64 -1/3 (pow.f64 y 3)))
(*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2))
(*.f64 y (*.f64 y (fma.f64 -1/3 y -1/2)))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/3 (pow.f64 y 3)))
(fma.f64 -1/2 (*.f64 y y) (*.f64 -1/3 (pow.f64 y 3)))
(*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2))
(*.f64 y (*.f64 y (fma.f64 -1/3 y -1/2)))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/3 (pow.f64 y 3)))
(fma.f64 -1/2 (*.f64 y y) (*.f64 -1/3 (pow.f64 y 3)))
(*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2))
(*.f64 y (*.f64 y (fma.f64 -1/3 y -1/2)))
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2)) y) z)
(*.f64 (fma.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2) (neg.f64 y)) z)
(*.f64 (*.f64 y z) (fma.f64 y (fma.f64 -1/3 y -1/2) -1))
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2)) y) z)
(*.f64 (fma.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2) (neg.f64 y)) z)
(*.f64 (*.f64 y z) (fma.f64 y (fma.f64 -1/3 y -1/2) -1))
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2)) y) z)
(*.f64 (fma.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2) (neg.f64 y)) z)
(*.f64 (*.f64 y z) (fma.f64 y (fma.f64 -1/3 y -1/2) -1))
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2)) y) z)
(*.f64 (fma.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2) (neg.f64 y)) z)
(*.f64 (*.f64 y z) (fma.f64 y (fma.f64 -1/3 y -1/2) -1))
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2)) y) z)
(*.f64 (fma.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2) (neg.f64 y)) z)
(*.f64 (*.f64 y z) (fma.f64 y (fma.f64 -1/3 y -1/2) -1))
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2)) y) z)
(*.f64 (fma.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2) (neg.f64 y)) z)
(*.f64 (*.f64 y z) (fma.f64 y (fma.f64 -1/3 y -1/2) -1))
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2)) y) z)
(*.f64 (fma.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2) (neg.f64 y)) z)
(*.f64 (*.f64 y z) (fma.f64 y (fma.f64 -1/3 y -1/2) -1))
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2)) y) z)
(*.f64 (fma.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2) (neg.f64 y)) z)
(*.f64 (*.f64 y z) (fma.f64 y (fma.f64 -1/3 y -1/2) -1))
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2)) y) z)
(*.f64 (fma.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2) (neg.f64 y)) z)
(*.f64 (*.f64 y z) (fma.f64 y (fma.f64 -1/3 y -1/2) -1))
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2)) y) z)
(*.f64 (fma.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2) (neg.f64 y)) z)
(*.f64 (*.f64 y z) (fma.f64 y (fma.f64 -1/3 y -1/2) -1))
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2)) y) z)
(*.f64 (fma.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2) (neg.f64 y)) z)
(*.f64 (*.f64 y z) (fma.f64 y (fma.f64 -1/3 y -1/2) -1))
(*.f64 (-.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -1/3 y) 1/2)) y) z)
(*.f64 (-.f64 (*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2)) y) z)
(*.f64 (fma.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2) (neg.f64 y)) z)
(*.f64 (*.f64 y z) (fma.f64 y (fma.f64 -1/3 y -1/2) -1))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.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) (neg.f64 (*.f64 y z)))
(*.f64 z (+.f64 (*.f64 y (*.f64 y -1/2)) (neg.f64 y)))
(*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y))
(*.f64 y (*.f64 (fma.f64 y -1/2 -1) z))
(*.f64 y (*.f64 z (fma.f64 y -1/2 -1)))
(+.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 (*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2)) y) z)
(*.f64 (fma.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2) (neg.f64 y)) z)
(*.f64 (*.f64 y z) (fma.f64 y (fma.f64 -1/3 y -1/2) -1))
(+.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 (*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2)) y) z)
(*.f64 (fma.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2) (neg.f64 y)) z)
(*.f64 (*.f64 y z) (fma.f64 y (fma.f64 -1/3 y -1/2) -1))
(*.f64 -1/3 (*.f64 (pow.f64 y 3) z))
(*.f64 (pow.f64 y 3) (*.f64 -1/3 z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z)))
(fma.f64 -1/2 (*.f64 (*.f64 y y) z) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z)))
(*.f64 z (*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2)))
(*.f64 (*.f64 y y) (*.f64 (fma.f64 -1/3 y -1/2) z))
(*.f64 y (*.f64 (fma.f64 -1/3 y -1/2) (*.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 (*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2)) y) z)
(*.f64 (fma.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2) (neg.f64 y)) z)
(*.f64 (*.f64 y z) (fma.f64 y (fma.f64 -1/3 y -1/2) -1))
(+.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 (*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2)) y) z)
(*.f64 (fma.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2) (neg.f64 y)) z)
(*.f64 (*.f64 y z) (fma.f64 y (fma.f64 -1/3 y -1/2) -1))
(*.f64 -1/3 (*.f64 (pow.f64 y 3) z))
(*.f64 (pow.f64 y 3) (*.f64 -1/3 z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z)))
(fma.f64 -1/2 (*.f64 (*.f64 y y) z) (*.f64 -1/3 (*.f64 (pow.f64 y 3) z)))
(*.f64 z (*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2)))
(*.f64 (*.f64 y y) (*.f64 (fma.f64 -1/3 y -1/2) z))
(*.f64 y (*.f64 (fma.f64 -1/3 y -1/2) (*.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 (*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2)) y) z)
(*.f64 (fma.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2) (neg.f64 y)) z)
(*.f64 (*.f64 y z) (fma.f64 y (fma.f64 -1/3 y -1/2) -1))
(+.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 (*.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2)) y) z)
(*.f64 (fma.f64 (*.f64 y y) (fma.f64 -1/3 y -1/2) (neg.f64 y)) z)
(*.f64 (*.f64 y z) (fma.f64 y (fma.f64 -1/3 y -1/2) -1))

localize17.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 51 to 20 computations (60.8% saved)

series13.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

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

rewrite148.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
666×log-prod_binary64
571×fma-neg_binary64
250×expm1-udef_binary64
250×log1p-udef_binary64
199×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify279.0ms (2.6%)

Algorithm
egg-herbie
Rules
3809×fma-def_binary64
750×distribute-rgt-in_binary64
614×unsub-neg_binary64
597×distribute-lft-in_binary64
528×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
037763
1104691
2216691
3555691
41248691
52589691
64660691
75254691
85521691
95599691
105618691
115621691
125809691
136943691
147277691
157365691
167407691
177427691
187665691
197785691
207821691
Stop Event
node limit
Counts
241 → 187
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)
(-.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))
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)
(-.f64 (*.f64 (log.f64 y) x) 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 (log.f64 y) x) (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 (log.f64 y) x) (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 (log.f64 y) x) (fma.f64 y z t))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(-.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 (log.f64 y) x) (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 (log.f64 y) x) (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 (log.f64 y) x) (fma.f64 y z t))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(-.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 (log.f64 y) x) (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 (log.f64 y) x) (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 (log.f64 y) x) (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 (log.f64 y) x) (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 (log.f64 y) x) (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 (log.f64 y) x) (fma.f64 y z t))
(*.f64 (log.f64 y) x)
(+.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 (log.f64 y) x) (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 (log.f64 y) x) (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 (log.f64 y) x) (fma.f64 y z t))
(*.f64 (log.f64 y) x)
(+.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 (log.f64 y) x) (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 (log.f64 y) x) (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 (log.f64 y) x) (fma.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 (fma.f64 (log.f64 y) x (neg.f64 (*.f64 y z))) t)
(-.f64 (*.f64 (log.f64 y) x) (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 (log.f64 y) x) (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 (log.f64 y) x) (fma.f64 y z t))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(-.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 (log.f64 y) x) (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 (log.f64 y) x) (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 (log.f64 y) x) (fma.f64 y z t))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(-.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 (log.f64 y) x) (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 (log.f64 y) x) (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 (log.f64 y) x) (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)))
(-.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 (log.f64 y) x) (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 (log.f64 y) x) (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 (log.f64 y) x) (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 (log.f64 y) x) (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 (log.f64 y) x) (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 (log.f64 y) x) (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 (log.f64 y) x) (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 (log.f64 y) x) (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 (log.f64 y) x) (fma.f64 y z t))

localize25.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 71 to 29 computations (59.2% saved)

series7.0ms (0.1%)

Counts
2 → 32
Calls

12 calls:

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

rewrite60.0ms (0.6%)

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

simplify86.0ms (0.8%)

Algorithm
egg-herbie
Rules
563×unsub-neg_binary64
461×fma-def_binary64
363×fma-neg_binary64
302×distribute-rgt-in_binary64
300×distribute-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
026240
159240
2150208
3351208
41117208
53577208
66107208
77445208
Stop Event
node limit
Counts
54 → 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 -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 -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 -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 -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 -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 -1 (*.f64 (log.f64 (/.f64 1 y)) (sqrt.f64 x)))
(neg.f64 (*.f64 (neg.f64 (log.f64 y)) (sqrt.f64 x)))
(neg.f64 (neg.f64 (*.f64 (sqrt.f64 x) (log.f64 y))))
(*.f64 (log.f64 y) (sqrt.f64 x))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) (sqrt.f64 x)))
(neg.f64 (*.f64 (neg.f64 (log.f64 y)) (sqrt.f64 x)))
(neg.f64 (neg.f64 (*.f64 (sqrt.f64 x) (log.f64 y))))
(*.f64 (log.f64 y) (sqrt.f64 x))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) (sqrt.f64 x)))
(neg.f64 (*.f64 (neg.f64 (log.f64 y)) (sqrt.f64 x)))
(neg.f64 (neg.f64 (*.f64 (sqrt.f64 x) (log.f64 y))))
(*.f64 (log.f64 y) (sqrt.f64 x))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) (sqrt.f64 x)))
(neg.f64 (*.f64 (neg.f64 (log.f64 y)) (sqrt.f64 x)))
(neg.f64 (neg.f64 (*.f64 (sqrt.f64 x) (log.f64 y))))
(*.f64 (log.f64 y) (sqrt.f64 x))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) (sqrt.f64 x))
(neg.f64 (*.f64 (neg.f64 (log.f64 y)) (sqrt.f64 x)))
(neg.f64 (neg.f64 (*.f64 (sqrt.f64 x) (log.f64 y))))
(*.f64 (log.f64 y) (sqrt.f64 x))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) (sqrt.f64 x))
(neg.f64 (*.f64 (neg.f64 (log.f64 y)) (sqrt.f64 x)))
(neg.f64 (neg.f64 (*.f64 (sqrt.f64 x) (log.f64 y))))
(*.f64 (log.f64 y) (sqrt.f64 x))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) (sqrt.f64 x))
(neg.f64 (*.f64 (neg.f64 (log.f64 y)) (sqrt.f64 x)))
(neg.f64 (neg.f64 (*.f64 (sqrt.f64 x) (log.f64 y))))
(*.f64 (log.f64 y) (sqrt.f64 x))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) (sqrt.f64 x))
(neg.f64 (*.f64 (neg.f64 (log.f64 y)) (sqrt.f64 x)))
(neg.f64 (neg.f64 (*.f64 (sqrt.f64 x) (log.f64 y))))
(*.f64 (log.f64 y) (sqrt.f64 x))

localize17.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 46 to 12 computations (73.9% saved)

series17.0ms (0.2%)

Counts
3 → 85
Calls

27 calls:

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

rewrite87.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
534×log-prod_binary64
340×pow-prod-down_binary64
319×prod-diff_binary64
281×pow2_binary64
209×pow-unpow_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify84.0ms (0.8%)

Algorithm
egg-herbie
Rules
510×associate-+l+_binary64
500×sub-neg_binary64
483×unsub-neg_binary64
354×associate-+r+_binary64
341×distribute-rgt-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01241483
13901323
213121284
347521243
Stop Event
node limit
Counts
224 → 200
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 y (sqrt.f64 z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (sqrt.f64 z))) (*.f64 -1 (*.f64 y (sqrt.f64 z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (sqrt.f64 z))) (+.f64 (*.f64 -1 (*.f64 y (sqrt.f64 z))) (*.f64 -1/3 (*.f64 (pow.f64 y 3) (sqrt.f64 z)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (sqrt.f64 z))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 y 4) (sqrt.f64 z))) (+.f64 (*.f64 -1 (*.f64 y (sqrt.f64 z))) (*.f64 -1/3 (*.f64 (pow.f64 y 3) (sqrt.f64 z))))))
(*.f64 (sqrt.f64 z) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 1 y) (sqrt.f64 z))) (*.f64 (sqrt.f64 z) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 1 y) (sqrt.f64 z))) (+.f64 (*.f64 (sqrt.f64 z) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1/2 (*.f64 (/.f64 1 (pow.f64 y 2)) (sqrt.f64 z)))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 1 y) (sqrt.f64 z))) (+.f64 (*.f64 (sqrt.f64 z) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 (pow.f64 y 3)) (sqrt.f64 z))) (*.f64 -1/2 (*.f64 (/.f64 1 (pow.f64 y 2)) (sqrt.f64 z))))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) (sqrt.f64 z)))
(+.f64 (*.f64 -1 (*.f64 (/.f64 1 y) (sqrt.f64 z))) (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) (sqrt.f64 z))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 1 y) (sqrt.f64 z))) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) (sqrt.f64 z))) (*.f64 -1/2 (*.f64 (/.f64 1 (pow.f64 y 2)) (sqrt.f64 z)))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 1 y) (sqrt.f64 z))) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) (sqrt.f64 z))) (+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 (pow.f64 y 3)) (sqrt.f64 z))) (*.f64 -1/2 (*.f64 (/.f64 1 (pow.f64 y 2)) (sqrt.f64 z))))))
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)) t)
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)) t)
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)) t)
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)) t)
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) t)
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) t)
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) t)
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) t)
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(*.f64 -1 t)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) 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/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 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) (*.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 (*.f64 y (sqrt.f64 z)))
(neg.f64 (*.f64 y (sqrt.f64 z)))
(*.f64 y (neg.f64 (sqrt.f64 z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (sqrt.f64 z))) (*.f64 -1 (*.f64 y (sqrt.f64 z))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 z) (*.f64 y y)) (neg.f64 (*.f64 y (sqrt.f64 z))))
(*.f64 (sqrt.f64 z) (+.f64 (*.f64 -1/2 (*.f64 y y)) (neg.f64 y)))
(*.f64 (sqrt.f64 z) (-.f64 (*.f64 y (*.f64 y -1/2)) y))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (sqrt.f64 z))) (+.f64 (*.f64 -1 (*.f64 y (sqrt.f64 z))) (*.f64 -1/3 (*.f64 (pow.f64 y 3) (sqrt.f64 z)))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 z) (*.f64 y y)) (fma.f64 -1 (*.f64 y (sqrt.f64 z)) (*.f64 (*.f64 -1/3 (pow.f64 y 3)) (sqrt.f64 z))))
(fma.f64 -1/2 (*.f64 y (*.f64 y (sqrt.f64 z))) (*.f64 (sqrt.f64 z) (+.f64 (neg.f64 y) (*.f64 -1/3 (pow.f64 y 3)))))
(*.f64 (sqrt.f64 z) (+.f64 (*.f64 y (*.f64 y -1/2)) (-.f64 (*.f64 -1/3 (pow.f64 y 3)) y)))
(*.f64 (sqrt.f64 z) (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) y))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (sqrt.f64 z))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 y 4) (sqrt.f64 z))) (+.f64 (*.f64 -1 (*.f64 y (sqrt.f64 z))) (*.f64 -1/3 (*.f64 (pow.f64 y 3) (sqrt.f64 z))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 z) (*.f64 y y)) (fma.f64 -1/4 (*.f64 (sqrt.f64 z) (pow.f64 y 4)) (fma.f64 -1 (*.f64 y (sqrt.f64 z)) (*.f64 (*.f64 -1/3 (pow.f64 y 3)) (sqrt.f64 z)))))
(+.f64 (*.f64 (sqrt.f64 z) (+.f64 (neg.f64 y) (*.f64 -1/3 (pow.f64 y 3)))) (*.f64 (sqrt.f64 z) (+.f64 (*.f64 -1/2 (*.f64 y y)) (*.f64 -1/4 (pow.f64 y 4)))))
(*.f64 (sqrt.f64 z) (+.f64 (-.f64 (*.f64 -1/3 (pow.f64 y 3)) y) (+.f64 (*.f64 y (*.f64 y -1/2)) (*.f64 -1/4 (pow.f64 y 4)))))
(*.f64 (sqrt.f64 z) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 (sqrt.f64 z) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))))
(*.f64 (sqrt.f64 z) (+.f64 (log.f64 -1) (log.f64 y)))
(+.f64 (*.f64 -1 (*.f64 (/.f64 1 y) (sqrt.f64 z))) (*.f64 (sqrt.f64 z) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))))
(fma.f64 -1 (*.f64 (sqrt.f64 z) (/.f64 1 y)) (*.f64 (sqrt.f64 z) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y))))))
(*.f64 (sqrt.f64 z) (+.f64 (+.f64 (log.f64 -1) (log.f64 y)) (/.f64 -1 y)))
(*.f64 (sqrt.f64 z) (+.f64 (log.f64 y) (+.f64 (log.f64 -1) (/.f64 -1 y))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 1 y) (sqrt.f64 z))) (+.f64 (*.f64 (sqrt.f64 z) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1/2 (*.f64 (/.f64 1 (pow.f64 y 2)) (sqrt.f64 z)))))
(fma.f64 -1 (*.f64 (sqrt.f64 z) (/.f64 1 y)) (fma.f64 (sqrt.f64 z) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (*.f64 (*.f64 -1/2 (/.f64 1 (*.f64 y y))) (sqrt.f64 z))))
(-.f64 (*.f64 (sqrt.f64 z) (+.f64 (+.f64 (log.f64 -1) (log.f64 y)) (/.f64 -1/2 (*.f64 y y)))) (/.f64 (sqrt.f64 z) y))
(*.f64 (sqrt.f64 z) (+.f64 (+.f64 (log.f64 y) (+.f64 (log.f64 -1) (/.f64 -1 y))) (/.f64 -1/2 (*.f64 y y))))
(*.f64 (sqrt.f64 z) (+.f64 (/.f64 -1 y) (+.f64 (+.f64 (log.f64 -1) (log.f64 y)) (/.f64 (/.f64 -1/2 y) y))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 1 y) (sqrt.f64 z))) (+.f64 (*.f64 (sqrt.f64 z) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 y))))) (+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 (pow.f64 y 3)) (sqrt.f64 z))) (*.f64 -1/2 (*.f64 (/.f64 1 (pow.f64 y 2)) (sqrt.f64 z))))))
(fma.f64 -1 (*.f64 (sqrt.f64 z) (/.f64 1 y)) (fma.f64 (sqrt.f64 z) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 y)))) (fma.f64 -1/3 (*.f64 (sqrt.f64 z) (/.f64 1 (pow.f64 y 3))) (*.f64 (*.f64 -1/2 (/.f64 1 (*.f64 y y))) (sqrt.f64 z)))))
(+.f64 (*.f64 (sqrt.f64 z) (+.f64 (+.f64 (log.f64 -1) (log.f64 y)) (/.f64 -1 y))) (*.f64 (sqrt.f64 z) (+.f64 (/.f64 -1/2 (*.f64 y y)) (/.f64 -1/3 (pow.f64 y 3)))))
(*.f64 (sqrt.f64 z) (+.f64 (+.f64 (log.f64 y) (+.f64 (log.f64 -1) (/.f64 -1 y))) (+.f64 (/.f64 -1/3 (pow.f64 y 3)) (/.f64 -1/2 (*.f64 y y)))))
(*.f64 (sqrt.f64 z) (+.f64 (+.f64 (+.f64 (log.f64 -1) (log.f64 y)) (/.f64 -1 y)) (+.f64 (/.f64 -1/3 (pow.f64 y 3)) (/.f64 (/.f64 -1/2 y) y))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) (sqrt.f64 z)))
(*.f64 (neg.f64 (log.f64 (/.f64 -1 y))) (sqrt.f64 z))
(*.f64 (sqrt.f64 z) (neg.f64 (log.f64 (/.f64 -1 y))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 1 y) (sqrt.f64 z))) (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) (sqrt.f64 z))))
(*.f64 -1 (+.f64 (*.f64 (sqrt.f64 z) (/.f64 1 y)) (*.f64 (sqrt.f64 z) (log.f64 (/.f64 -1 y)))))
(*.f64 (sqrt.f64 z) (+.f64 (neg.f64 (log.f64 (/.f64 -1 y))) (/.f64 -1 y)))
(*.f64 (sqrt.f64 z) (-.f64 (/.f64 -1 y) (log.f64 (/.f64 -1 y))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 1 y) (sqrt.f64 z))) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) (sqrt.f64 z))) (*.f64 -1/2 (*.f64 (/.f64 1 (pow.f64 y 2)) (sqrt.f64 z)))))
(fma.f64 -1 (*.f64 (sqrt.f64 z) (/.f64 1 y)) (fma.f64 -1 (*.f64 (sqrt.f64 z) (log.f64 (/.f64 -1 y))) (*.f64 (*.f64 -1/2 (/.f64 1 (*.f64 y y))) (sqrt.f64 z))))
(-.f64 (*.f64 (sqrt.f64 z) (+.f64 (/.f64 -1/2 (*.f64 y y)) (neg.f64 (log.f64 (/.f64 -1 y))))) (/.f64 (sqrt.f64 z) y))
(*.f64 (sqrt.f64 z) (+.f64 (/.f64 -1 y) (-.f64 (/.f64 -1/2 (*.f64 y y)) (log.f64 (/.f64 -1 y)))))
(*.f64 (sqrt.f64 z) (+.f64 (/.f64 (/.f64 -1/2 y) y) (-.f64 (/.f64 -1 y) (log.f64 (/.f64 -1 y)))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 1 y) (sqrt.f64 z))) (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 y)) (sqrt.f64 z))) (+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 (pow.f64 y 3)) (sqrt.f64 z))) (*.f64 -1/2 (*.f64 (/.f64 1 (pow.f64 y 2)) (sqrt.f64 z))))))
(fma.f64 -1 (*.f64 (sqrt.f64 z) (/.f64 1 y)) (fma.f64 -1 (*.f64 (sqrt.f64 z) (log.f64 (/.f64 -1 y))) (fma.f64 -1/3 (*.f64 (sqrt.f64 z) (/.f64 1 (pow.f64 y 3))) (*.f64 (*.f64 -1/2 (/.f64 1 (*.f64 y y))) (sqrt.f64 z)))))
(fma.f64 -1 (*.f64 (sqrt.f64 z) (+.f64 (/.f64 1 y) (log.f64 (/.f64 -1 y)))) (*.f64 (sqrt.f64 z) (+.f64 (/.f64 -1/2 (*.f64 y y)) (/.f64 -1/3 (pow.f64 y 3)))))
(*.f64 (sqrt.f64 z) (+.f64 (+.f64 (/.f64 -1/3 (pow.f64 y 3)) (/.f64 -1/2 (*.f64 y y))) (-.f64 (/.f64 -1 y) (log.f64 (/.f64 -1 y)))))
(*.f64 (sqrt.f64 z) (-.f64 (+.f64 (/.f64 (/.f64 -1/2 y) y) (-.f64 (/.f64 -1/3 (pow.f64 y 3)) (log.f64 (/.f64 -1 y)))) (/.f64 1 y)))
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 y)) x)) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) x) t)
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(*.f64 (log.f64 y) x)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(*.f64 -1 t)
(neg.f64 t)
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(+.f64 (*.f64 -1 t) (*.f64 (log.f64 y) x))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 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)
(fma.f64 (neg.f64 y) z (fma.f64 (log.f64 y) x (neg.f64 t)))
(fma.f64 (neg.f64 y) z (-.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 (log.f64 y) x))) t)
(-.f64 (fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 -1 (*.f64 y z) (*.f64 (log.f64 y) x))) t)
(fma.f64 (*.f64 -1/2 (*.f64 y y)) z (fma.f64 (neg.f64 y) z (fma.f64 (log.f64 y) x (neg.f64 t))))
(+.f64 (*.f64 (log.f64 y) x) (-.f64 (*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y)) t))
(+.f64 (*.f64 y (-.f64 (*.f64 y (*.f64 z -1/2)) z)) (-.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 z (*.f64 y y)) (fma.f64 -1 (*.f64 y z) (fma.f64 (log.f64 y) x (*.f64 -1/3 (*.f64 z (pow.f64 y 3)))))) t)
(-.f64 (fma.f64 -1/2 (*.f64 y (*.f64 y z)) (-.f64 (fma.f64 -1/3 (*.f64 z (pow.f64 y 3)) (*.f64 (log.f64 y) x)) (*.f64 y z))) t)
(+.f64 (*.f64 z (+.f64 (-.f64 (*.f64 y (*.f64 y -1/2)) y) (*.f64 -1/3 (pow.f64 y 3)))) (-.f64 (*.f64 (log.f64 y) x) t))
(-.f64 (-.f64 (*.f64 (log.f64 y) x) (*.f64 z (-.f64 y (*.f64 (*.f64 y y) (+.f64 (*.f64 y -1/3) -1/2))))) 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)
(fma.f64 (log.f64 y) x (fma.f64 z (+.f64 (log.f64 -1) (log.f64 y)) (neg.f64 t)))
(-.f64 (+.f64 (*.f64 z (log.f64 -1)) (*.f64 (log.f64 y) (+.f64 z x))) t)
(-.f64 (fma.f64 z (+.f64 (log.f64 -1) (log.f64 y)) (*.f64 (log.f64 y) 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 -1) (log.f64 y)) (*.f64 (log.f64 y) x)) (/.f64 z y)) t)
(-.f64 (+.f64 (*.f64 z (log.f64 -1)) (*.f64 (log.f64 y) (+.f64 z x))) (+.f64 (/.f64 z y) t))
(-.f64 (fma.f64 z (+.f64 (log.f64 -1) (log.f64 y)) (*.f64 (log.f64 y) 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 z (+.f64 (log.f64 -1) (log.f64 y)) (*.f64 (log.f64 y) x)) (/.f64 z y))) t)
(+.f64 (-.f64 (+.f64 (*.f64 z (log.f64 -1)) (*.f64 (log.f64 y) (+.f64 z x))) t) (*.f64 (/.f64 z y) (+.f64 -1 (/.f64 -1/2 y))))
(+.f64 (fma.f64 z (+.f64 (log.f64 -1) (log.f64 y)) (*.f64 (log.f64 y) 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 z (+.f64 (log.f64 -1) (log.f64 y)) (*.f64 (log.f64 y) x))) (/.f64 z y))) t)
(+.f64 (fma.f64 -1/3 (/.f64 z (pow.f64 y 3)) (+.f64 (*.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 (/.f64 z (*.f64 y y)) (+.f64 -1/2 (/.f64 -1/3 y))) (/.f64 z y)) (-.f64 (fma.f64 z (+.f64 (log.f64 -1) (log.f64 y)) (*.f64 (log.f64 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 (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 (-.f64 (*.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) (*.f64 z (log.f64 (/.f64 -1 y)))) t)
(-.f64 (*.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) (+.f64 (*.f64 z (log.f64 (/.f64 -1 y))) t))
(fma.f64 (log.f64 y) x (-.f64 (*.f64 (log.f64 (/.f64 -1 y)) (neg.f64 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 (fma.f64 (fma.f64 -1 (log.f64 (/.f64 -1 y)) (log.f64 -1)) x (fma.f64 -1 (*.f64 z (log.f64 (/.f64 -1 y))) (neg.f64 (/.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 (*.f64 (log.f64 y) x) 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 (+.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 (fma.f64 -1 (*.f64 z (log.f64 (/.f64 -1 y))) (neg.f64 (/.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 (-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (*.f64 x (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))) (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y))) t)
(-.f64 (fma.f64 -1/2 (/.f64 z (*.f64 y y)) (*.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 (*.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 (*.f64 z -1/3) (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))) (-.f64 (*.f64 -1/3 (/.f64 z (pow.f64 y 3))) (fma.f64 z (log.f64 (/.f64 -1 y)) (/.f64 z y))))) t)
(+.f64 (-.f64 (*.f64 (log.f64 y) x) t) (-.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))))
(-.f64 (*.f64 (log.f64 y) x) t)
(fma.f64 (log.f64 y) x (neg.f64 t))
(-.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)
(fma.f64 (log.f64 y) x (-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) 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)
(fma.f64 (log.f64 y) x (-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) 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)
(fma.f64 (log.f64 y) x (-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) 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)
(fma.f64 (log.f64 y) x (-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) 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)
(fma.f64 (log.f64 y) x (-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) 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)
(fma.f64 (log.f64 y) x (-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) 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)
(fma.f64 (log.f64 y) x (-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) 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)
(fma.f64 (log.f64 y) x (-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) 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)
(fma.f64 (log.f64 y) x (-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) 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 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)
(fma.f64 (log.f64 y) x (-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) 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)
(fma.f64 (log.f64 y) x (-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) 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)
(fma.f64 (log.f64 y) x (-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) 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)
(fma.f64 (log.f64 y) x (-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) 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)
(fma.f64 (log.f64 y) x (-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) 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)
(fma.f64 (log.f64 y) x (-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) 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)
(fma.f64 (log.f64 y) x (-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) 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)
(fma.f64 (log.f64 y) x (-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) 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)
(fma.f64 (log.f64 y) x (-.f64 (*.f64 z (log1p.f64 (neg.f64 y))) t))
(-.f64 (fma.f64 z (log1p.f64 (neg.f64 y)) (*.f64 (log.f64 y) x)) t)

eval317.0ms (3%)

Compiler

Compiled 17154 to 7049 computations (58.9% saved)

prune234.0ms (2.2%)

Pruning

22 alts after pruning (16 fresh and 6 done)

PrunedKeptTotal
New77512787
Fresh549
Picked101
Done4610
Total78522807
Error
0.0b
Counts
807 → 22
Alt Table
Click to see full alt table
StatusErrorProgram
15.2b
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (log.f64 y) 3) (*.f64 x x))) (cbrt.f64 x) (-.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) t))
0.9b
(-.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (log.f64 y))) (+.f64 (*.f64 y z) t))
51.4b
(*.f64 z (log1p.f64 (neg.f64 y)))
25.7b
(-.f64 (*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) y)) t)
25.7b
(-.f64 (*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y)) t)
0.6b
(fma.f64 (*.f64 (*.f64 (log.f64 y) (cbrt.f64 x)) (cbrt.f64 x)) (cbrt.f64 x) (-.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) t))
38.3b
(-.f64 (+.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 y) (sqrt.f64 x))) 3) (sqrt.f64 x)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
31.3b
(-.f64 (pow.f64 (sqrt.f64 (*.f64 (log.f64 y) x)) 2) (+.f64 (*.f64 y z) t))
26.0b
(-.f64 (*.f64 y (neg.f64 z)) t)
15.2b
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x (log.f64 y)) 2)) (cbrt.f64 (*.f64 x (log.f64 y))) (-.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) t))
24.6b
(-.f64 (cbrt.f64 (pow.f64 (*.f64 (log.f64 y) x) 3)) (+.f64 (*.f64 y z) t))
0.7b
(fma.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 x) 2)) 3)) (cbrt.f64 x) (-.f64 (*.f64 (log1p.f64 (neg.f64 y)) z) t))
33.2b
(-.f64 (*.f64 (*.f64 (log.f64 y) (sqrt.f64 x)) (sqrt.f64 x)) (+.f64 (*.f64 y z) t))
0.1b
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y))) t)
43.4b
(fma.f64 (*.f64 (log1p.f64 (neg.f64 y)) (sqrt.f64 z)) (sqrt.f64 z) (neg.f64 t))
0.9b
(-.f64 (*.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) (+.f64 (*.f64 y z) t))
26.4b
(-.f64 (*.f64 (log.f64 y) x) (*.f64 y z))
6.0b
(-.f64 (-.f64 (+.f64 1 (*.f64 (log.f64 y) x)) 1) (+.f64 (*.f64 y z) t))
36.7b
(neg.f64 t)
51.7b
(*.f64 z (neg.f64 y))
11.6b
(-.f64 (*.f64 (log.f64 y) x) t)
0.9b
(-.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 y)) 2) (*.f64 (cbrt.f64 (log.f64 y)) x)) (+.f64 (*.f64 y z) t))
Compiler

Compiled 372 to 251 computations (32.5% saved)

regimes717.0ms (6.7%)

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

7 calls:

168.0ms
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
109.0ms
(+.f64 (*.f64 x (log.f64 y)) (*.f64 z (log.f64 (-.f64 1 y))))
104.0ms
x
101.0ms
t
69.0ms
y
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1z
0.1b1t
0.1b1(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
0.1b1(+.f64 (*.f64 x (log.f64 y)) (*.f64 z (log.f64 (-.f64 1 y))))
0.1b1(+.f64 (*.f64 x (log.f64 y)) (*.f64 z (log.f64 (-.f64 1 y))))
Compiler

Compiled 790 to 307 computations (61.1% saved)

regimes183.0ms (1.7%)

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

7 calls:

45.0ms
(+.f64 (*.f64 x (log.f64 y)) (*.f64 z (log.f64 (-.f64 1 y))))
23.0ms
t
23.0ms
(+.f64 (*.f64 x (log.f64 y)) (*.f64 z (log.f64 (-.f64 1 y))))
22.0ms
z
21.0ms
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1z
0.1b1t
0.1b1(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (log.f64 (-.f64 1 y)))) t)
0.1b1(+.f64 (*.f64 x (log.f64 y)) (*.f64 z (log.f64 (-.f64 1 y))))
0.1b1(+.f64 (*.f64 x (log.f64 y)) (*.f64 z (log.f64 (-.f64 1 y))))
Compiler

Compiled 227 to 114 computations (49.8% saved)

regimes88.0ms (0.8%)

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

4 calls:

27.0ms
x
18.0ms
t
18.0ms
z
17.0ms
y
Results
ErrorSegmentsBranch
0.5b1x
0.5b1y
0.5b1z
0.5b1t
Compiler

Compiled 134 to 56 computations (58.2% saved)

regimes385.0ms (3.6%)

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

4 calls:

116.0ms
y
97.0ms
z
63.0ms
t
58.0ms
x
Results
ErrorSegmentsBranch
5.2b3x
9.0b4y
7.1b3z
5.5b3t
Compiler

Compiled 110 to 49 computations (55.5% saved)

bsearch176.0ms (1.6%)

Algorithm
binary-search
Steps
TimeLeftRight
106.0ms
1.9915122738269939e-144
2.5984427008221868e-142
69.0ms
-2.690339324526891e-176
-2.4466106302383978e-178
Compiler

Compiled 24 to 18 computations (25% saved)

regimes57.0ms (0.5%)

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

4 calls:

15.0ms
z
13.0ms
x
13.0ms
t
12.0ms
y
Results
ErrorSegmentsBranch
25.7b1x
25.7b1y
25.7b1z
25.7b1t
Compiler

Compiled 77 to 43 computations (44.2% saved)

regimes42.0ms (0.4%)

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

4 calls:

11.0ms
x
10.0ms
t
9.0ms
z
9.0ms
y
Results
ErrorSegmentsBranch
25.7b1x
25.7b1y
25.7b1z
25.7b1t
Compiler

Compiled 47 to 32 computations (31.9% saved)

regimes40.0ms (0.4%)

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

4 calls:

11.0ms
z
11.0ms
x
8.0ms
t
8.0ms
y
Results
ErrorSegmentsBranch
26.0b1x
26.0b1y
26.0b1z
26.0b1t
Compiler

Compiled 36 to 26 computations (27.8% saved)

regimes111.0ms (1%)

Accuracy

Total -31.4b remaining (-101.3%)

Threshold costs -31.4b (-101.3%)

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

4 calls:

35.0ms
y
30.0ms
t
21.0ms
z
21.0ms
x
Results
ErrorSegmentsBranch
35.2b3x
33.5b5y
32.1b3z
31.0b3t
Compiler

Compiled 30 to 23 computations (23.3% saved)

bsearch208.0ms (1.9%)

Algorithm
binary-search
Steps
TimeLeftRight
107.0ms
2.4163460429369672e-42
2.7930690256398942e-33
101.0ms
-2.324160444056339e-21
-7.496017494360166e-26
Compiler

Compiled 24 to 18 computations (25% saved)

simplify23.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
050182
185182
2103182
3111182
4113182
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 x (log.f64 y)) t))
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y))) t)
(-.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 y z) t))
(if (<=.f64 x -7671570880879843/285152538601387201165073225356268207805826781703034995661199532368704697950542336656619550707335712486165144348349650456918044045085964874890791332482638386765749667147516559380179637015412736) (-.f64 (*.f64 (log.f64 y) x) t) (if (<=.f64 x 218741260759823/109836762562089755439710412785302291476310964802292886550311415346968690934362496833960954250583272879636740982263693728593951807995466301001184452657840914432) (-.f64 (*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) y)) t) (-.f64 (*.f64 (log.f64 y) x) t)))
(-.f64 (*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) y)) t)
(-.f64 (*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y)) t)
(-.f64 (*.f64 y (neg.f64 z)) t)
(if (<=.f64 t -6178678257871175/2658455991569831745807614120560689152) (neg.f64 t) (if (<=.f64 t 1895956242426797/784637716923335095479473677900958302012794430558004314112) (*.f64 z (neg.f64 y)) (neg.f64 t)))
(neg.f64 t)
Outputs
(fma.f64 z (log1p.f64 (neg.f64 y)) (-.f64 (*.f64 x (log.f64 y)) t))
(-.f64 (+.f64 (*.f64 x (log.f64 y)) (*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y))) t)
(-.f64 (+.f64 (*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y)) (*.f64 x (log.f64 y))) t)
(-.f64 (*.f64 (log.f64 y) x) (+.f64 (*.f64 y z) t))
(-.f64 (*.f64 x (log.f64 y)) (+.f64 t (*.f64 z y)))
(if (<=.f64 x -7671570880879843/285152538601387201165073225356268207805826781703034995661199532368704697950542336656619550707335712486165144348349650456918044045085964874890791332482638386765749667147516559380179637015412736) (-.f64 (*.f64 (log.f64 y) x) t) (if (<=.f64 x 218741260759823/109836762562089755439710412785302291476310964802292886550311415346968690934362496833960954250583272879636740982263693728593951807995466301001184452657840914432) (-.f64 (*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) y)) t) (-.f64 (*.f64 (log.f64 y) x) t)))
(if (<=.f64 x -7671570880879843/285152538601387201165073225356268207805826781703034995661199532368704697950542336656619550707335712486165144348349650456918044045085964874890791332482638386765749667147516559380179637015412736) (-.f64 (*.f64 x (log.f64 y)) t) (if (<=.f64 x 218741260759823/109836762562089755439710412785302291476310964802292886550311415346968690934362496833960954250583272879636740982263693728593951807995466301001184452657840914432) (-.f64 (*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) y)) t) (-.f64 (*.f64 x (log.f64 y)) t)))
(-.f64 (*.f64 z (-.f64 (*.f64 (*.f64 y y) (+.f64 -1/2 (*.f64 y -1/3))) y)) t)
(-.f64 (*.f64 z (-.f64 (*.f64 y (*.f64 y -1/2)) y)) t)
(-.f64 (*.f64 y (neg.f64 z)) t)
(-.f64 (*.f64 z (neg.f64 y)) t)
(if (<=.f64 t -6178678257871175/2658455991569831745807614120560689152) (neg.f64 t) (if (<=.f64 t 1895956242426797/784637716923335095479473677900958302012794430558004314112) (*.f64 z (neg.f64 y)) (neg.f64 t)))
(neg.f64 t)
Compiler

Compiled 158 to 102 computations (35.4% saved)

soundness231.0ms (2.2%)

Algorithm
egg-herbie
Rules
821×fma-neg_binary64
314×fma-def_binary64
173×distribute-rgt-in_binary64
134×unsub-neg_binary64
124×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01318
12517
24617
37517
412317
520017
637617
771917
8127817
9203017
10271317
11298917
12300517
13300517
Stop Event
saturated
Compiler

Compiled 136 to 96 computations (29.4% saved)

end71.0ms (0.7%)

Compiler

Compiled 126 to 58 computations (54% saved)

Profiling

Loading profile data...