Details

Time bar (total: 12.5s)

analyze148.0ms (1.2%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
0%0%74.9%0.1%0%25%0%6
8.3%6.2%68.6%0.1%0%25%0%7
12.5%9.4%65.5%0.1%0%25%0%8
28.1%14%35.9%0.1%12.5%37.4%0%9
42.2%21.1%28.9%0.1%12.5%37.4%0%10
49.2%24.6%25.4%0.1%12.5%37.4%0%11
57.4%28.7%21.3%0.1%12.5%37.4%0%12
Compiler

Compiled 16 to 11 computations (31.3% saved)

sample1.1s (8.9%)

Results
1.1s8256×body256valid
4.0ms30×body256infinite
Bogosity

preprocess107.0ms (0.9%)

Algorithm
egg-herbie
Rules
777×sub-neg_binary64
518×neg-sub0_binary64
375×+-commutative_binary64
365×fma-def_binary64
351×distribute-neg-out_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02672
17572
224264
3106964
4318664
5493664
6645464
7748764
8774864
9796064
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(-.f64 (+.f64 (-.f64 x (*.f64 (+.f64 y 1/2) (log.f64 y))) y) z)
(-.f64 (+.f64 (-.f64 y (*.f64 (+.f64 x 1/2) (log.f64 x))) x) z)
(-.f64 (+.f64 (-.f64 z (*.f64 (+.f64 y 1/2) (log.f64 y))) y) x)
(-.f64 (+.f64 (-.f64 x (*.f64 (+.f64 z 1/2) (log.f64 z))) z) y)
Outputs
(-.f64 (+.f64 (-.f64 x (*.f64 (+.f64 y 1/2) (log.f64 y))) y) z)
(+.f64 (-.f64 x (*.f64 (+.f64 y 1/2) (log.f64 y))) (-.f64 y z))
(+.f64 (-.f64 x z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) y))
(+.f64 x (-.f64 y (fma.f64 (-.f64 y -1/2) (log.f64 y) z)))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) (-.f64 y z))
(-.f64 (+.f64 (-.f64 y (*.f64 (+.f64 x 1/2) (log.f64 x))) x) z)
(+.f64 (-.f64 y (*.f64 (+.f64 x 1/2) (log.f64 x))) (-.f64 x z))
(+.f64 x (-.f64 (-.f64 y (*.f64 (+.f64 x 1/2) (log.f64 x))) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 x) (-.f64 -1/2 x) y) z))
(+.f64 x (fma.f64 (log.f64 x) (-.f64 -1/2 x) (-.f64 y z)))
(-.f64 (+.f64 (-.f64 z (*.f64 (+.f64 y 1/2) (log.f64 y))) y) x)
(+.f64 (-.f64 z (*.f64 (+.f64 y 1/2) (log.f64 y))) (-.f64 y x))
(+.f64 y (-.f64 (-.f64 z (*.f64 (+.f64 y 1/2) (log.f64 y))) x))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) z) x))
(-.f64 z (fma.f64 (-.f64 y -1/2) (log.f64 y) (-.f64 x y)))
(-.f64 (+.f64 (-.f64 x (*.f64 (+.f64 z 1/2) (log.f64 z))) z) y)
(+.f64 (-.f64 x (*.f64 (+.f64 1/2 z) (log.f64 z))) (-.f64 z y))
(+.f64 x (fma.f64 (log.f64 z) (-.f64 -1/2 z) (-.f64 z y)))
Compiler

Compiled 18 to 13 computations (27.8% saved)

simplify132.0ms (1.1%)

Algorithm
egg-herbie
Rules
782×fma-neg_binary64
608×unsub-neg_binary64
579×distribute-rgt-in_binary64
435×sub-neg_binary64
406×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01118
12518
27716
331316
498316
5289716
6451516
7500916
8517416
9520116
10521816
11552816
12639616
13799416
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(-.f64 (+.f64 (-.f64 x (*.f64 (+.f64 y 1/2) (log.f64 y))) y) z)
Outputs
(-.f64 (+.f64 (-.f64 x (*.f64 (+.f64 y 1/2) (log.f64 y))) y) z)
(-.f64 (-.f64 x (-.f64 (*.f64 (+.f64 y 1/2) (log.f64 y)) y)) z)
(+.f64 y (-.f64 (-.f64 x (*.f64 (+.f64 y 1/2) (log.f64 y))) z))
(+.f64 x (fma.f64 (log.f64 y) (-.f64 -1/2 y) (-.f64 y z)))
(+.f64 x (-.f64 y (fma.f64 (+.f64 y 1/2) (log.f64 y) z)))
(+.f64 x (-.f64 y (fma.f64 (-.f64 y -1/2) (log.f64 y) z)))

eval1.0ms (0%)

Compiler

Compiled 26 to 15 computations (42.3% saved)

prune1.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
(+.f64 x (-.f64 y (fma.f64 (-.f64 y -1/2) (log.f64 y) z)))
0.1b
(-.f64 (+.f64 (-.f64 x (*.f64 (+.f64 y 1/2) (log.f64 y))) y) z)
Compiler

Compiled 29 to 19 computations (34.5% saved)

localize18.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 39 to 19 computations (51.3% saved)

series23.0ms (0.2%)

Counts
3 → 84
Calls

21 calls:

TimeVariablePointExpression
4.0ms
y
@0
(fma.f64 (-.f64 y -1/2) (log.f64 y) z)
4.0ms
y
@-inf
(fma.f64 (-.f64 y -1/2) (log.f64 y) z)
3.0ms
z
@0
(fma.f64 (-.f64 y -1/2) (log.f64 y) z)
2.0ms
z
@-inf
(fma.f64 (-.f64 y -1/2) (log.f64 y) z)
2.0ms
x
@0
(+.f64 x (-.f64 y (fma.f64 (-.f64 y -1/2) (log.f64 y) z)))

rewrite109.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
525×log-prod_binary64
464×fma-def_binary64
394×pow-prod-down_binary64
320×pow2_binary64
263×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify97.0ms (0.8%)

Algorithm
egg-herbie
Rules
674×sub-neg_binary64
400×distribute-rgt-in_binary64
387×associate-+l+_binary64
367×unsub-neg_binary64
309×associate-+l-_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0661158
12281080
2643981
31825981
45159981
57459981
Stop Event
node limit
Counts
280 → 235
Calls
Call 1
Inputs
(+.f64 (*.f64 1/2 (log.f64 y)) z)
(+.f64 (*.f64 1/2 (log.f64 y)) (+.f64 (*.f64 y (log.f64 y)) z))
(+.f64 (*.f64 1/2 (log.f64 y)) (+.f64 (*.f64 y (log.f64 y)) z))
(+.f64 (*.f64 1/2 (log.f64 y)) (+.f64 (*.f64 y (log.f64 y)) z))
(*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y))))
(+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) (+.f64 z (*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y))))))
(+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) (+.f64 z (*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y))))))
(+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) (+.f64 z (*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y))))))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y)
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y) z))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y) z))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y) z))
(*.f64 (+.f64 1/2 y) (log.f64 y))
(+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z)
(+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z)
(+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z)
z
(+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z)
(+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z)
(+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z)
z
(+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z)
(+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z)
(+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z)
(*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z))
(+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)))
(+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)))
(+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z)))
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z)))
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z)))
(*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z)) (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))))
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z)) (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))))
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z)) (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))))
(-.f64 y (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(*.f64 -1 z)
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(*.f64 -1 z)
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 y (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
x
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
x
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 x (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 (+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x) (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 (+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x) (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 (+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x) (+.f64 (*.f64 1/2 (log.f64 y)) z))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(-.f64 (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x) (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x) (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x) (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z))
(-.f64 (+.f64 y x) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(*.f64 -1 z)
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(*.f64 -1 z)
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
Outputs
(+.f64 (*.f64 1/2 (log.f64 y)) z)
(fma.f64 1/2 (log.f64 y) z)
(+.f64 (*.f64 1/2 (log.f64 y)) (+.f64 (*.f64 y (log.f64 y)) z))
(fma.f64 1/2 (log.f64 y) (fma.f64 y (log.f64 y) z))
(fma.f64 (log.f64 y) (+.f64 1/2 y) z)
(+.f64 (*.f64 1/2 (log.f64 y)) (+.f64 (*.f64 y (log.f64 y)) z))
(fma.f64 1/2 (log.f64 y) (fma.f64 y (log.f64 y) z))
(fma.f64 (log.f64 y) (+.f64 1/2 y) z)
(+.f64 (*.f64 1/2 (log.f64 y)) (+.f64 (*.f64 y (log.f64 y)) z))
(fma.f64 1/2 (log.f64 y) (fma.f64 y (log.f64 y) z))
(fma.f64 (log.f64 y) (+.f64 1/2 y) z)
(*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y))))
(neg.f64 (*.f64 y (neg.f64 (log.f64 y))))
(*.f64 y (log.f64 y))
(+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) (+.f64 z (*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y))))))
(fma.f64 1/2 (log.f64 y) (fma.f64 y (log.f64 y) z))
(fma.f64 (log.f64 y) (+.f64 1/2 y) z)
(+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) (+.f64 z (*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y))))))
(fma.f64 1/2 (log.f64 y) (fma.f64 y (log.f64 y) z))
(fma.f64 (log.f64 y) (+.f64 1/2 y) z)
(+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) (+.f64 z (*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y))))))
(fma.f64 1/2 (log.f64 y) (fma.f64 y (log.f64 y) z))
(fma.f64 (log.f64 y) (+.f64 1/2 y) z)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y)
(neg.f64 (*.f64 y (neg.f64 (log.f64 y))))
(*.f64 y (log.f64 y))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y) z))
(fma.f64 1/2 (log.f64 y) (fma.f64 y (log.f64 y) z))
(fma.f64 (log.f64 y) (+.f64 1/2 y) z)
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y) z))
(fma.f64 1/2 (log.f64 y) (fma.f64 y (log.f64 y) z))
(fma.f64 (log.f64 y) (+.f64 1/2 y) z)
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y) z))
(fma.f64 1/2 (log.f64 y) (fma.f64 y (log.f64 y) z))
(fma.f64 (log.f64 y) (+.f64 1/2 y) z)
(*.f64 (+.f64 1/2 y) (log.f64 y))
(*.f64 (log.f64 y) (+.f64 1/2 y))
(+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z)
(fma.f64 1/2 (log.f64 y) (fma.f64 y (log.f64 y) z))
(fma.f64 (log.f64 y) (+.f64 1/2 y) z)
(+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z)
(fma.f64 1/2 (log.f64 y) (fma.f64 y (log.f64 y) z))
(fma.f64 (log.f64 y) (+.f64 1/2 y) z)
(+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z)
(fma.f64 1/2 (log.f64 y) (fma.f64 y (log.f64 y) z))
(fma.f64 (log.f64 y) (+.f64 1/2 y) z)
z
(+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z)
(fma.f64 1/2 (log.f64 y) (fma.f64 y (log.f64 y) z))
(fma.f64 (log.f64 y) (+.f64 1/2 y) z)
(+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z)
(fma.f64 1/2 (log.f64 y) (fma.f64 y (log.f64 y) z))
(fma.f64 (log.f64 y) (+.f64 1/2 y) z)
(+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z)
(fma.f64 1/2 (log.f64 y) (fma.f64 y (log.f64 y) z))
(fma.f64 (log.f64 y) (+.f64 1/2 y) z)
z
(+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z)
(fma.f64 1/2 (log.f64 y) (fma.f64 y (log.f64 y) z))
(fma.f64 (log.f64 y) (+.f64 1/2 y) z)
(+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z)
(fma.f64 1/2 (log.f64 y) (fma.f64 y (log.f64 y) z))
(fma.f64 (log.f64 y) (+.f64 1/2 y) z)
(+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z)
(fma.f64 1/2 (log.f64 y) (fma.f64 y (log.f64 y) z))
(fma.f64 (log.f64 y) (+.f64 1/2 y) z)
(*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z))
(neg.f64 (fma.f64 1/2 (log.f64 y) z))
(fma.f64 (log.f64 y) -1/2 (neg.f64 z))
(+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)))
(fma.f64 (-.f64 1 (log.f64 y)) y (neg.f64 (fma.f64 1/2 (log.f64 y) z)))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) (fma.f64 1/2 (log.f64 y) z))
(-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)))
(fma.f64 (-.f64 1 (log.f64 y)) y (neg.f64 (fma.f64 1/2 (log.f64 y) z)))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) (fma.f64 1/2 (log.f64 y) z))
(-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)))
(fma.f64 (-.f64 1 (log.f64 y)) y (neg.f64 (fma.f64 1/2 (log.f64 y) z)))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) (fma.f64 1/2 (log.f64 y) z))
(-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (neg.f64 (neg.f64 (log.f64 y)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z)))
(fma.f64 (-.f64 1 (log.f64 y)) y (neg.f64 (fma.f64 1/2 (log.f64 y) z)))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) (fma.f64 1/2 (log.f64 y) z))
(-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z)))
(fma.f64 (-.f64 1 (log.f64 y)) y (neg.f64 (fma.f64 1/2 (log.f64 y) z)))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) (fma.f64 1/2 (log.f64 y) z))
(-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z)))
(fma.f64 (-.f64 1 (log.f64 y)) y (neg.f64 (fma.f64 1/2 (log.f64 y) z)))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) (fma.f64 1/2 (log.f64 y) z))
(-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(*.f64 y (-.f64 1 (neg.f64 (neg.f64 (log.f64 y)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z)) (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))))
(fma.f64 (-.f64 1 (log.f64 y)) y (neg.f64 (fma.f64 1/2 (log.f64 y) z)))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) (fma.f64 1/2 (log.f64 y) z))
(-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z)) (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))))
(fma.f64 (-.f64 1 (log.f64 y)) y (neg.f64 (fma.f64 1/2 (log.f64 y) z)))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) (fma.f64 1/2 (log.f64 y) z))
(-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z)) (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))))
(fma.f64 (-.f64 1 (log.f64 y)) y (neg.f64 (fma.f64 1/2 (log.f64 y) z)))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) (fma.f64 1/2 (log.f64 y) z))
(-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 y (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 y (*.f64 (log.f64 y) (+.f64 1/2 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) y)
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(fma.f64 (-.f64 1 (log.f64 y)) y (neg.f64 (fma.f64 1/2 (log.f64 y) z)))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) (fma.f64 1/2 (log.f64 y) z))
(-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(fma.f64 (-.f64 1 (log.f64 y)) y (neg.f64 (fma.f64 1/2 (log.f64 y) z)))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) (fma.f64 1/2 (log.f64 y) z))
(-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(fma.f64 (-.f64 1 (log.f64 y)) y (neg.f64 (fma.f64 1/2 (log.f64 y) z)))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) (fma.f64 1/2 (log.f64 y) z))
(-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(*.f64 -1 z)
(neg.f64 z)
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(fma.f64 (-.f64 1 (log.f64 y)) y (neg.f64 (fma.f64 1/2 (log.f64 y) z)))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) (fma.f64 1/2 (log.f64 y) z))
(-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(fma.f64 (-.f64 1 (log.f64 y)) y (neg.f64 (fma.f64 1/2 (log.f64 y) z)))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) (fma.f64 1/2 (log.f64 y) z))
(-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(fma.f64 (-.f64 1 (log.f64 y)) y (neg.f64 (fma.f64 1/2 (log.f64 y) z)))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) (fma.f64 1/2 (log.f64 y) z))
(-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(*.f64 -1 z)
(neg.f64 z)
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(fma.f64 (-.f64 1 (log.f64 y)) y (neg.f64 (fma.f64 1/2 (log.f64 y) z)))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) (fma.f64 1/2 (log.f64 y) z))
(-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(fma.f64 (-.f64 1 (log.f64 y)) y (neg.f64 (fma.f64 1/2 (log.f64 y) z)))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) (fma.f64 1/2 (log.f64 y) z))
(-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(fma.f64 (-.f64 1 (log.f64 y)) y (neg.f64 (fma.f64 1/2 (log.f64 y) z)))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) (fma.f64 1/2 (log.f64 y) z))
(-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 y (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(fma.f64 (-.f64 1 (log.f64 y)) y (neg.f64 (fma.f64 1/2 (log.f64 y) z)))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) (fma.f64 1/2 (log.f64 y) z))
(-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
x
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
x
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 x (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 x (fma.f64 1/2 (log.f64 y) z))
(-.f64 (+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x) (+.f64 (*.f64 1/2 (log.f64 y)) z))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x) (+.f64 (*.f64 1/2 (log.f64 y)) z))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x) (+.f64 (*.f64 1/2 (log.f64 y)) z))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (neg.f64 (neg.f64 (log.f64 y)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(-.f64 (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(*.f64 y (-.f64 1 (neg.f64 (neg.f64 (log.f64 y)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x) (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x) (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x) (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 y x) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 (log.f64 y) (+.f64 1/2 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(+.f64 x (fma.f64 (log.f64 y) (-.f64 -1/2 y) y))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(*.f64 -1 z)
(neg.f64 z)
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(*.f64 -1 z)
(neg.f64 z)
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(+.f64 y (-.f64 x (fma.f64 (+.f64 1/2 y) (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(+.f64 (-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z)) x)
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 48 to 25 computations (47.9% saved)

series9.0ms (0.1%)

Counts
4 → 96
Calls

24 calls:

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

rewrite124.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
845×fma-def_binary64
650×log-prod_binary64
468×fma-neg_binary64
251×expm1-udef_binary64
251×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify150.0ms (1.2%)

Algorithm
egg-herbie
Rules
521×+-commutative_binary64
519×fma-neg_binary64
472×associate-+l-_binary64
385×associate--l+_binary64
291×associate--r+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0701202
12411160
27051078
319451078
455261078
570921078
Stop Event
node limit
Counts
437 → 384
Calls
Call 1
Inputs
(*.f64 1/2 (log.f64 y))
(+.f64 (*.f64 1/2 (log.f64 y)) (*.f64 y (log.f64 y)))
(+.f64 (*.f64 1/2 (log.f64 y)) (*.f64 y (log.f64 y)))
(+.f64 (*.f64 1/2 (log.f64 y)) (*.f64 y (log.f64 y)))
(*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y))))
(+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) (*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y)))))
(+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) (*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y)))))
(+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) (*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y)))))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y)
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y))
(-.f64 y (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 (+.f64 1/2 y) (log.f64 y)))
x
(-.f64 (+.f64 y x) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 (+.f64 1/2 y) (log.f64 y)))
x
(-.f64 (+.f64 y x) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 x (*.f64 1/2 (log.f64 y)))
(-.f64 (+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x) (*.f64 1/2 (log.f64 y)))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(-.f64 (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x) (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x) (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x) (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
x
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
x
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(-.f64 x (*.f64 1/2 (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) x) (*.f64 1/2 (log.f64 y)))
(*.f64 y (log.f64 (/.f64 1 y)))
(-.f64 (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))) x) (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))) x) (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))) x) (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(-.f64 y (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
x
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
x
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 x (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 (+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x) (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 (+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x) (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 (+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x) (+.f64 (*.f64 1/2 (log.f64 y)) z))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(-.f64 (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x) (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x) (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x) (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z))
(-.f64 (+.f64 y x) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(*.f64 -1 z)
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(*.f64 -1 z)
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
Outputs
(*.f64 1/2 (log.f64 y))
(+.f64 (*.f64 1/2 (log.f64 y)) (*.f64 y (log.f64 y)))
(*.f64 (log.f64 y) (+.f64 1/2 y))
(*.f64 (log.f64 y) (-.f64 y -1/2))
(+.f64 (*.f64 1/2 (log.f64 y)) (*.f64 y (log.f64 y)))
(*.f64 (log.f64 y) (+.f64 1/2 y))
(*.f64 (log.f64 y) (-.f64 y -1/2))
(+.f64 (*.f64 1/2 (log.f64 y)) (*.f64 y (log.f64 y)))
(*.f64 (log.f64 y) (+.f64 1/2 y))
(*.f64 (log.f64 y) (-.f64 y -1/2))
(*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y))))
(neg.f64 (*.f64 y (neg.f64 (log.f64 y))))
(*.f64 y (log.f64 y))
(+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) (*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y)))))
(*.f64 (log.f64 y) (+.f64 1/2 y))
(*.f64 (log.f64 y) (-.f64 y -1/2))
(+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) (*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y)))))
(*.f64 (log.f64 y) (+.f64 1/2 y))
(*.f64 (log.f64 y) (-.f64 y -1/2))
(+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) (*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y)))))
(*.f64 (log.f64 y) (+.f64 1/2 y))
(*.f64 (log.f64 y) (-.f64 y -1/2))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y)
(neg.f64 (*.f64 y (neg.f64 (log.f64 y))))
(*.f64 y (log.f64 y))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y))
(*.f64 (log.f64 y) (+.f64 1/2 y))
(*.f64 (log.f64 y) (-.f64 y -1/2))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y))
(*.f64 (log.f64 y) (+.f64 1/2 y))
(*.f64 (log.f64 y) (-.f64 y -1/2))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y))
(*.f64 (log.f64 y) (+.f64 1/2 y))
(*.f64 (log.f64 y) (-.f64 y -1/2))
(-.f64 y (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 y (*.f64 (log.f64 y) (+.f64 1/2 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) y)
(-.f64 (+.f64 y x) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 (log.f64 y) (+.f64 1/2 y)))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(-.f64 (+.f64 y x) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 (log.f64 y) (+.f64 1/2 y)))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(-.f64 (+.f64 y x) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 (log.f64 y) (+.f64 1/2 y)))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
x
(-.f64 (+.f64 y x) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 (log.f64 y) (+.f64 1/2 y)))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(-.f64 (+.f64 y x) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 (log.f64 y) (+.f64 1/2 y)))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(-.f64 (+.f64 y x) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 (log.f64 y) (+.f64 1/2 y)))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
x
(-.f64 (+.f64 y x) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 (log.f64 y) (+.f64 1/2 y)))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(-.f64 (+.f64 y x) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 (log.f64 y) (+.f64 1/2 y)))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(-.f64 (+.f64 y x) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 (log.f64 y) (+.f64 1/2 y)))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(-.f64 x (*.f64 1/2 (log.f64 y)))
(+.f64 x (*.f64 -1/2 (log.f64 y)))
(+.f64 x (*.f64 (log.f64 y) -1/2))
(fma.f64 (log.f64 y) -1/2 x)
(-.f64 (+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 (log.f64 y) (+.f64 1/2 y)))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(-.f64 (+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 (log.f64 y) (+.f64 1/2 y)))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(-.f64 (+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 (log.f64 y) (+.f64 1/2 y)))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (neg.f64 (neg.f64 (log.f64 y)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(-.f64 (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 y x) (*.f64 (log.f64 y) (+.f64 1/2 y)))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(-.f64 (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 y x) (*.f64 (log.f64 y) (+.f64 1/2 y)))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(-.f64 (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 y x) (*.f64 (log.f64 y) (+.f64 1/2 y)))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(*.f64 y (-.f64 1 (neg.f64 (neg.f64 (log.f64 y)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x) (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(-.f64 (+.f64 y x) (*.f64 (log.f64 y) (+.f64 1/2 y)))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x) (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(-.f64 (+.f64 y x) (*.f64 (log.f64 y) (+.f64 1/2 y)))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x) (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(-.f64 (+.f64 y x) (*.f64 (log.f64 y) (+.f64 1/2 y)))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y)))
(neg.f64 (*.f64 (log.f64 y) (+.f64 1/2 y)))
(*.f64 (log.f64 y) (+.f64 -1/2 (neg.f64 y)))
(*.f64 (log.f64 y) (-.f64 -1/2 y))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(fma.f64 -1 (*.f64 (log.f64 y) (+.f64 1/2 y)) x)
(-.f64 x (*.f64 (log.f64 y) (+.f64 1/2 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(fma.f64 -1 (*.f64 (log.f64 y) (+.f64 1/2 y)) x)
(-.f64 x (*.f64 (log.f64 y) (+.f64 1/2 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(fma.f64 -1 (*.f64 (log.f64 y) (+.f64 1/2 y)) x)
(-.f64 x (*.f64 (log.f64 y) (+.f64 1/2 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
x
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(fma.f64 -1 (*.f64 (log.f64 y) (+.f64 1/2 y)) x)
(-.f64 x (*.f64 (log.f64 y) (+.f64 1/2 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(fma.f64 -1 (*.f64 (log.f64 y) (+.f64 1/2 y)) x)
(-.f64 x (*.f64 (log.f64 y) (+.f64 1/2 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(fma.f64 -1 (*.f64 (log.f64 y) (+.f64 1/2 y)) x)
(-.f64 x (*.f64 (log.f64 y) (+.f64 1/2 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
x
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(fma.f64 -1 (*.f64 (log.f64 y) (+.f64 1/2 y)) x)
(-.f64 x (*.f64 (log.f64 y) (+.f64 1/2 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(fma.f64 -1 (*.f64 (log.f64 y) (+.f64 1/2 y)) x)
(-.f64 x (*.f64 (log.f64 y) (+.f64 1/2 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(fma.f64 -1 (*.f64 (log.f64 y) (+.f64 1/2 y)) x)
(-.f64 x (*.f64 (log.f64 y) (+.f64 1/2 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(-.f64 x (*.f64 1/2 (log.f64 y)))
(+.f64 x (*.f64 -1/2 (log.f64 y)))
(+.f64 x (*.f64 (log.f64 y) -1/2))
(fma.f64 (log.f64 y) -1/2 x)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) x) (*.f64 1/2 (log.f64 y)))
(fma.f64 -1 (*.f64 (log.f64 y) (+.f64 1/2 y)) x)
(-.f64 x (*.f64 (log.f64 y) (+.f64 1/2 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) x) (*.f64 1/2 (log.f64 y)))
(fma.f64 -1 (*.f64 (log.f64 y) (+.f64 1/2 y)) x)
(-.f64 x (*.f64 (log.f64 y) (+.f64 1/2 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) x) (*.f64 1/2 (log.f64 y)))
(fma.f64 -1 (*.f64 (log.f64 y) (+.f64 1/2 y)) x)
(-.f64 x (*.f64 (log.f64 y) (+.f64 1/2 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(*.f64 y (log.f64 (/.f64 1 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 (log.f64 y) (neg.f64 y))
(-.f64 (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(fma.f64 -1 (*.f64 (log.f64 y) (+.f64 1/2 y)) x)
(-.f64 x (*.f64 (log.f64 y) (+.f64 1/2 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(-.f64 (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(fma.f64 -1 (*.f64 (log.f64 y) (+.f64 1/2 y)) x)
(-.f64 x (*.f64 (log.f64 y) (+.f64 1/2 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(-.f64 (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(fma.f64 -1 (*.f64 (log.f64 y) (+.f64 1/2 y)) x)
(-.f64 x (*.f64 (log.f64 y) (+.f64 1/2 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 (log.f64 y) (neg.f64 y))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))) x) (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(fma.f64 -1 (*.f64 (log.f64 y) (+.f64 1/2 y)) x)
(-.f64 x (*.f64 (log.f64 y) (+.f64 1/2 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))) x) (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(fma.f64 -1 (*.f64 (log.f64 y) (+.f64 1/2 y)) x)
(-.f64 x (*.f64 (log.f64 y) (+.f64 1/2 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))) x) (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(fma.f64 -1 (*.f64 (log.f64 y) (+.f64 1/2 y)) x)
(-.f64 x (*.f64 (log.f64 y) (+.f64 1/2 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(-.f64 y (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 y (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 y (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
x
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
x
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(-.f64 (+.f64 y x) (+.f64 (*.f64 (+.f64 1/2 y) (log.f64 y)) z))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(-.f64 x (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 x (fma.f64 1/2 (log.f64 y) z))
(-.f64 (+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x) (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(-.f64 (+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x) (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(-.f64 (+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x) (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (neg.f64 (neg.f64 (log.f64 y)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(-.f64 (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(-.f64 (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(-.f64 (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(*.f64 y (-.f64 1 (neg.f64 (neg.f64 (log.f64 y)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x) (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x) (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x) (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(-.f64 (+.f64 y x) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 (log.f64 y) (+.f64 1/2 y)))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(*.f64 -1 z)
(neg.f64 z)
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(*.f64 -1 z)
(neg.f64 z)
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 (+.f64 y x) (fma.f64 (+.f64 1/2 y) (log.f64 y) z))
(-.f64 (+.f64 y x) (fma.f64 (log.f64 y) (+.f64 1/2 y) z))
(+.f64 x (-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z)))
(+.f64 y (-.f64 x (fma.f64 (log.f64 y) (+.f64 1/2 y) z)))

eval391.0ms (3.1%)

Compiler

Compiled 13182 to 7624 computations (42.2% saved)

prune106.0ms (0.8%)

Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New59821619
Fresh000
Picked101
Done101
Total60021621
Error
0.0b
Counts
621 → 21
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(-.f64 (+.f64 (-.f64 (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x) (*.f64 -1/2 (log.f64 (/.f64 1 y)))) y) z)
28.1b
(+.f64 x (-.f64 y z))
27.6b
(-.f64 x z)
0.8b
(+.f64 x (-.f64 y (pow.f64 (cbrt.f64 (fma.f64 (+.f64 y 1/2) (log.f64 y) z)) 3)))
0.1b
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
0.1b
(-.f64 (+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) y) z)
19.4b
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
0.5b
(-.f64 (+.f64 (fma.f64 (*.f64 (+.f64 (neg.f64 y) -1/2) (pow.f64 (cbrt.f64 (log.f64 y)) 2)) (cbrt.f64 (log.f64 y)) x) y) z)
46.8b
(-.f64 (+.f64 (log.f64 (/.f64 (exp.f64 x) (pow.f64 y (+.f64 y 1/2)))) y) z)
0.9b
(+.f64 x (*.f64 (pow.f64 (cbrt.f64 (-.f64 y (fma.f64 (+.f64 y 1/2) (log.f64 y) z))) 2) (cbrt.f64 (-.f64 y (fma.f64 (+.f64 y 1/2) (log.f64 y) z)))))
9.3b
(-.f64 (+.f64 (-.f64 x (*.f64 y (log.f64 y))) y) z)
19.4b
(-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z))
28.1b
(-.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) z)
18.7b
(-.f64 (-.f64 x (*.f64 1/2 (log.f64 y))) z)
28.2b
(-.f64 (+.f64 (*.f64 (log.f64 y) (neg.f64 y)) y) z)
46.0b
(neg.f64 z)
27.8b
(+.f64 x (-.f64 y (pow.f64 (sqrt.f64 (fma.f64 (+.f64 y 1/2) (log.f64 y) z)) 2)))
19.4b
(-.f64 (-.f64 y (*.f64 (+.f64 1/2 y) (log.f64 y))) z)
26.2b
(+.f64 x (-.f64 y (*.f64 y (log.f64 y))))
33.9b
(+.f64 x (cbrt.f64 (pow.f64 (-.f64 y (fma.f64 (+.f64 y 1/2) (log.f64 y) z)) 3)))
44.1b
x
Compiler

Compiled 580 to 397 computations (31.6% saved)

localize42.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 86 to 60 computations (30.2% saved)

series63.0ms (0.5%)

Counts
4 → 80
Calls

24 calls:

TimeVariablePointExpression
29.0ms
y
@0
(*.f64 y (log.f64 (/.f64 1 y)))
15.0ms
y
@-inf
(*.f64 y (log.f64 (/.f64 1 y)))
5.0ms
y
@inf
(*.f64 y (log.f64 (/.f64 1 y)))
4.0ms
x
@0
(+.f64 (-.f64 (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x) (*.f64 -1/2 (log.f64 (/.f64 1 y)))) y)
2.0ms
z
@0
(-.f64 (+.f64 (-.f64 (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x) (*.f64 -1/2 (log.f64 (/.f64 1 y)))) y) z)

rewrite123.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
642×fma-neg_binary64
296×expm1-udef_binary64
296×log1p-udef_binary64
235×log-pow_binary64
186×sum-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify98.0ms (0.8%)

Algorithm
egg-herbie
Rules
499×fma-neg_binary64
443×associate-+l-_binary64
386×unsub-neg_binary64
343×associate--l+_binary64
308×associate-+r+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0601261
12121118
26151033
31796935
45366935
56757935
Stop Event
node limit
Counts
311 → 265
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 y (log.f64 y)))
(*.f64 -1 (*.f64 y (log.f64 y)))
(*.f64 -1 (*.f64 y (log.f64 y)))
(*.f64 -1 (*.f64 y (log.f64 y)))
(*.f64 y (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))
(*.f64 y (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))
(*.f64 y (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))
(*.f64 y (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))
(-.f64 x (*.f64 1/2 (log.f64 y)))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) x) (*.f64 1/2 (log.f64 y)))
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 x (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 x (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 x (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) 1)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) 1))) x) (*.f64 -1/2 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) 1))) x) (*.f64 -1/2 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) 1))) x) (*.f64 -1/2 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(-.f64 (+.f64 y (*.f64 y (log.f64 (/.f64 1 y)))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
x
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
x
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 x (*.f64 1/2 (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) x) (*.f64 1/2 (log.f64 y)))
(*.f64 y (log.f64 (/.f64 1 y)))
(*.f64 y (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))
(-.f64 (+.f64 (*.f64 y (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) x) (*.f64 -1/2 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(-.f64 (+.f64 (*.f64 y (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) x) (*.f64 -1/2 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(-.f64 (+.f64 (*.f64 y (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) x) (*.f64 -1/2 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(-.f64 (*.f64 y (log.f64 (/.f64 1 y))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
x
x
(-.f64 x (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) x) (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) x) (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) x) (+.f64 (*.f64 1/2 (log.f64 y)) z))
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 x (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (+.f64 x (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (+.f64 x (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) 1)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) 1))) x) (+.f64 z (*.f64 -1/2 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) 1))) x) (+.f64 z (*.f64 -1/2 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) 1))) x) (+.f64 z (*.f64 -1/2 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))))
(-.f64 (+.f64 y (*.f64 y (log.f64 (/.f64 1 y)))) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
x
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
x
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(*.f64 -1 z)
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(*.f64 -1 z)
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
Outputs
(*.f64 -1 (*.f64 y (log.f64 y)))
(neg.f64 (*.f64 y (log.f64 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 -1 (*.f64 y (log.f64 y)))
(neg.f64 (*.f64 y (log.f64 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 -1 (*.f64 y (log.f64 y)))
(neg.f64 (*.f64 y (log.f64 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 -1 (*.f64 y (log.f64 y)))
(neg.f64 (*.f64 y (log.f64 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 y (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))
(neg.f64 (*.f64 y (log.f64 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 y (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))
(neg.f64 (*.f64 y (log.f64 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 y (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))
(neg.f64 (*.f64 y (log.f64 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 y (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))
(neg.f64 (*.f64 y (log.f64 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(-.f64 x (*.f64 1/2 (log.f64 y)))
(+.f64 x (*.f64 -1/2 (log.f64 y)))
(+.f64 x (*.f64 (log.f64 y) -1/2))
(fma.f64 (log.f64 y) -1/2 x)
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) x) (*.f64 1/2 (log.f64 y)))
(+.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 y (+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2))))
(+.f64 y (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))))
(+.f64 x (fma.f64 (log.f64 y) (-.f64 -1/2 y) y))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) x) (*.f64 1/2 (log.f64 y)))
(+.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 y (+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2))))
(+.f64 y (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))))
(+.f64 x (fma.f64 (log.f64 y) (-.f64 -1/2 y) y))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) x) (*.f64 1/2 (log.f64 y)))
(+.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 y (+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2))))
(+.f64 y (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))))
(+.f64 x (fma.f64 (log.f64 y) (-.f64 -1/2 y) y))
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(-.f64 (+.f64 x (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(+.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 y (+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2))))
(+.f64 y (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))))
(+.f64 x (fma.f64 (log.f64 y) (-.f64 -1/2 y) y))
(-.f64 (+.f64 x (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(+.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 y (+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2))))
(+.f64 y (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))))
(+.f64 x (fma.f64 (log.f64 y) (-.f64 -1/2 y) y))
(-.f64 (+.f64 x (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(+.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 y (+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2))))
(+.f64 y (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))))
(+.f64 x (fma.f64 (log.f64 y) (-.f64 -1/2 y) y))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) 1)))
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) 1))) x) (*.f64 -1/2 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(+.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 y (+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2))))
(+.f64 y (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))))
(+.f64 x (fma.f64 (log.f64 y) (-.f64 -1/2 y) y))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) 1))) x) (*.f64 -1/2 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(+.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 y (+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2))))
(+.f64 y (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))))
(+.f64 x (fma.f64 (log.f64 y) (-.f64 -1/2 y) y))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) 1))) x) (*.f64 -1/2 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(+.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 y (+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2))))
(+.f64 y (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))))
(+.f64 x (fma.f64 (log.f64 y) (-.f64 -1/2 y) y))
(-.f64 (+.f64 y (*.f64 y (log.f64 (/.f64 1 y)))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(+.f64 y (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2)))
(-.f64 y (*.f64 (log.f64 y) (+.f64 y 1/2)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) y)
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(+.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 y (+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2))))
(+.f64 y (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))))
(+.f64 x (fma.f64 (log.f64 y) (-.f64 -1/2 y) y))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(+.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 y (+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2))))
(+.f64 y (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))))
(+.f64 x (fma.f64 (log.f64 y) (-.f64 -1/2 y) y))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(+.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 y (+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2))))
(+.f64 y (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))))
(+.f64 x (fma.f64 (log.f64 y) (-.f64 -1/2 y) y))
x
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(+.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 y (+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2))))
(+.f64 y (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))))
(+.f64 x (fma.f64 (log.f64 y) (-.f64 -1/2 y) y))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(+.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 y (+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2))))
(+.f64 y (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))))
(+.f64 x (fma.f64 (log.f64 y) (-.f64 -1/2 y) y))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(+.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 y (+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2))))
(+.f64 y (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))))
(+.f64 x (fma.f64 (log.f64 y) (-.f64 -1/2 y) y))
x
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(+.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 y (+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2))))
(+.f64 y (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))))
(+.f64 x (fma.f64 (log.f64 y) (-.f64 -1/2 y) y))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(+.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 y (+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2))))
(+.f64 y (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))))
(+.f64 x (fma.f64 (log.f64 y) (-.f64 -1/2 y) y))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(+.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 y (+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2))))
(+.f64 y (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))))
(+.f64 x (fma.f64 (log.f64 y) (-.f64 -1/2 y) y))
(-.f64 x (*.f64 1/2 (log.f64 y)))
(+.f64 x (*.f64 -1/2 (log.f64 y)))
(+.f64 x (*.f64 (log.f64 y) -1/2))
(fma.f64 (log.f64 y) -1/2 x)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) x) (*.f64 1/2 (log.f64 y)))
(+.f64 (fma.f64 -1 (*.f64 y (log.f64 y)) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2)))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(+.f64 x (*.f64 (log.f64 y) (-.f64 -1/2 y)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) x) (*.f64 1/2 (log.f64 y)))
(+.f64 (fma.f64 -1 (*.f64 y (log.f64 y)) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2)))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(+.f64 x (*.f64 (log.f64 y) (-.f64 -1/2 y)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) x) (*.f64 1/2 (log.f64 y)))
(+.f64 (fma.f64 -1 (*.f64 y (log.f64 y)) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2)))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(+.f64 x (*.f64 (log.f64 y) (-.f64 -1/2 y)))
(*.f64 y (log.f64 (/.f64 1 y)))
(neg.f64 (*.f64 y (log.f64 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 y (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))
(neg.f64 (*.f64 y (log.f64 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(-.f64 (+.f64 (*.f64 y (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) x) (*.f64 -1/2 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(+.f64 (fma.f64 -1 (*.f64 y (log.f64 y)) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2)))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(+.f64 x (*.f64 (log.f64 y) (-.f64 -1/2 y)))
(-.f64 (+.f64 (*.f64 y (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) x) (*.f64 -1/2 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(+.f64 (fma.f64 -1 (*.f64 y (log.f64 y)) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2)))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(+.f64 x (*.f64 (log.f64 y) (-.f64 -1/2 y)))
(-.f64 (+.f64 (*.f64 y (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) x) (*.f64 -1/2 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(+.f64 (fma.f64 -1 (*.f64 y (log.f64 y)) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2)))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(+.f64 x (*.f64 (log.f64 y) (-.f64 -1/2 y)))
(-.f64 (*.f64 y (log.f64 (/.f64 1 y))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2))
(*.f64 (log.f64 y) (+.f64 (neg.f64 y) -1/2))
(*.f64 (log.f64 y) (-.f64 -1/2 y))
x
x
(-.f64 x (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 x (fma.f64 1/2 (log.f64 y) z))
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(-.f64 (fma.f64 (log.f64 y) -1/2 x) z)
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) x) (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) x) (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) x) (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(-.f64 (+.f64 x (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(-.f64 (+.f64 x (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(-.f64 (+.f64 x (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) 1)))
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) 1))) x) (+.f64 z (*.f64 -1/2 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) 1))) x) (+.f64 z (*.f64 -1/2 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) 1))) x) (+.f64 z (*.f64 -1/2 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(-.f64 (+.f64 y (*.f64 y (log.f64 (/.f64 1 y)))) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (+.f64 y (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2))) z)
(+.f64 y (-.f64 (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2)) z))
(-.f64 (-.f64 y (*.f64 (log.f64 y) (+.f64 y 1/2))) z)
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
x
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
x
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(-.f64 (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x)) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(+.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (*.f64 -1/2 (log.f64 y)))
(+.f64 y (+.f64 x (*.f64 (neg.f64 (log.f64 y)) (-.f64 y -1/2))))
(+.f64 y (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))))
(+.f64 x (fma.f64 (log.f64 y) (-.f64 -1/2 y) y))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(*.f64 -1 z)
(neg.f64 z)
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(*.f64 -1 z)
(neg.f64 z)
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x))) (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) (fma.f64 1/2 (log.f64 y) z))
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) x) (fma.f64 (log.f64 y) 1/2 z))
(+.f64 y (-.f64 (-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2))) z))
(+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) (-.f64 x z))

localize14.0ms (0.1%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 27 to 14 computations (48.1% saved)

series12.0ms (0.1%)

Counts
2 → 56
Calls

15 calls:

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

rewrite87.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
481×log-prod_binary64
451×fma-def_binary64
364×exp-prod_binary64
306×pow-prod-down_binary64
272×pow2_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify304.0ms (2.4%)

Algorithm
egg-herbie
Rules
1228×associate--r-_binary64
526×fma-def_binary64
523×distribute-rgt-out--_binary64
495×unsub-neg_binary64
472×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
035451
199451
2215451
3479451
41221451
52870451
63879451
74619451
84973451
95118451
105156451
115162451
125226451
135989451
146492451
156644451
166870451
177124451
187416451
197562451
207608451
Stop Event
node limit
Counts
277 → 237
Calls
Call 1
Inputs
(*.f64 -1/2 (log.f64 y))
(+.f64 (*.f64 -1/2 (log.f64 y)) x)
(+.f64 (*.f64 -1/2 (log.f64 y)) x)
(+.f64 (*.f64 -1/2 (log.f64 y)) x)
x
(+.f64 (*.f64 -1/2 (log.f64 y)) x)
(+.f64 (*.f64 -1/2 (log.f64 y)) x)
(+.f64 (*.f64 -1/2 (log.f64 y)) x)
x
(+.f64 (*.f64 -1/2 (log.f64 y)) x)
(+.f64 (*.f64 -1/2 (log.f64 y)) x)
(+.f64 (*.f64 -1/2 (log.f64 y)) x)
(-.f64 x (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 x (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 x (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 x (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(-.f64 x (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(-.f64 x (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(-.f64 x (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(-.f64 x (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z))
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)) x)
x
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)) x)
x
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)) x)
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)) x)
(-.f64 x (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 x (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 x (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 x (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 x (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 x (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 x (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 x (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 x (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z))
(-.f64 x (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z))
(-.f64 x (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z))
(-.f64 x (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z))
(-.f64 x (*.f64 1/2 (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) x) (*.f64 1/2 (log.f64 y)))
(*.f64 -1 z)
(-.f64 (+.f64 (*.f64 -1 z) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) x) (*.f64 1/2 (log.f64 y)))
(*.f64 -1 z)
(-.f64 (+.f64 (*.f64 -1 z) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) x) (*.f64 1/2 (log.f64 y)))
Outputs
(*.f64 -1/2 (log.f64 y))
(+.f64 (*.f64 -1/2 (log.f64 y)) x)
(fma.f64 -1/2 (log.f64 y) x)
(+.f64 (*.f64 -1/2 (log.f64 y)) x)
(fma.f64 -1/2 (log.f64 y) x)
(+.f64 (*.f64 -1/2 (log.f64 y)) x)
(fma.f64 -1/2 (log.f64 y) x)
x
(+.f64 (*.f64 -1/2 (log.f64 y)) x)
(fma.f64 -1/2 (log.f64 y) x)
(+.f64 (*.f64 -1/2 (log.f64 y)) x)
(fma.f64 -1/2 (log.f64 y) x)
(+.f64 (*.f64 -1/2 (log.f64 y)) x)
(fma.f64 -1/2 (log.f64 y) x)
x
(+.f64 (*.f64 -1/2 (log.f64 y)) x)
(fma.f64 -1/2 (log.f64 y) x)
(+.f64 (*.f64 -1/2 (log.f64 y)) x)
(fma.f64 -1/2 (log.f64 y) x)
(+.f64 (*.f64 -1/2 (log.f64 y)) x)
(fma.f64 -1/2 (log.f64 y) x)
(-.f64 x (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(fma.f64 -1/2 (log.f64 y) x)
(-.f64 x (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(fma.f64 -1/2 (log.f64 y) x)
(-.f64 x (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(fma.f64 -1/2 (log.f64 y) x)
(-.f64 x (*.f64 -1/2 (log.f64 (/.f64 1 y))))
(fma.f64 -1/2 (log.f64 y) x)
(-.f64 x (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(fma.f64 -1/2 (log.f64 y) x)
(-.f64 x (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(fma.f64 -1/2 (log.f64 y) x)
(-.f64 x (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(fma.f64 -1/2 (log.f64 y) x)
(-.f64 x (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(fma.f64 -1/2 (log.f64 y) x)
(*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z))
(neg.f64 (fma.f64 1/2 (log.f64 y) z))
(-.f64 (*.f64 -1/2 (log.f64 y)) z)
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)) x)
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)) x)
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)) x)
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
x
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)) x)
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)) x)
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)) x)
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
x
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)) x)
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)) x)
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (log.f64 y)) z)) x)
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(-.f64 x (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(-.f64 x (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(-.f64 x (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(-.f64 x (+.f64 (*.f64 1/2 (log.f64 y)) z))
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(-.f64 x (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(-.f64 x (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(-.f64 x (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(-.f64 x (+.f64 (*.f64 -1/2 (log.f64 (/.f64 1 y))) z))
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(-.f64 x (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z))
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(-.f64 x (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z))
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(-.f64 x (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z))
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(-.f64 x (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) z))
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(-.f64 x (*.f64 1/2 (log.f64 y)))
(fma.f64 -1/2 (log.f64 y) x)
(-.f64 (+.f64 (*.f64 -1 z) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(-.f64 (+.f64 (*.f64 -1 z) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(-.f64 (+.f64 (*.f64 -1 z) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(*.f64 -1 z)
(neg.f64 z)
(-.f64 (+.f64 (*.f64 -1 z) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(-.f64 (+.f64 (*.f64 -1 z) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(-.f64 (+.f64 (*.f64 -1 z) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(*.f64 -1 z)
(neg.f64 z)
(-.f64 (+.f64 (*.f64 -1 z) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(-.f64 (+.f64 (*.f64 -1 z) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(-.f64 (+.f64 (*.f64 -1 z) x) (*.f64 1/2 (log.f64 y)))
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(-.f64 x (fma.f64 (log.f64 y) 1/2 z))
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))

localize26.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 50 to 39 computations (22% saved)

series7.0ms (0.1%)

Counts
4 → 48
Calls

15 calls:

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

rewrite77.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
996×pow1_binary64
925×add-log-exp_binary64
924×log1p-expm1-u_binary64
924×expm1-log1p-u_binary64
117×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify204.0ms (1.6%)

Algorithm
egg-herbie
Rules
1843×fma-neg_binary64
423×fma-def_binary64
407×unsub-neg_binary64
365×associate--r-_binary64
327×associate--r+_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
026430
165412
2139412
3324412
4915376
52216376
63586376
73982376
84128376
94154376
104158376
114159376
127200376
137364376
147598376
157846376
167929376
177929376
Stop Event
node limit
Counts
162 → 128
Calls
Call 1
Inputs
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 y (-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))))
(*.f64 y (-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))))
(*.f64 y (-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))))
(*.f64 y (-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(*.f64 y (-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(*.f64 -1 z)
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 z))
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 z))
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 z))
(*.f64 -1 z)
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 z))
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 z))
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 z))
(-.f64 1 (log.f64 y))
(-.f64 1 (log.f64 y))
(-.f64 1 (log.f64 y))
(-.f64 1 (log.f64 y))
(-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(*.f64 -1 (log.f64 y))
(*.f64 -1 (log.f64 y))
(*.f64 -1 (log.f64 y))
(*.f64 -1 (log.f64 y))
(+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))
(+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))
(+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))
(+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))
Outputs
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 y (-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 y (-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 y (-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 y (-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 y (fma.f64 y (log.f64 y) z))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 y (fma.f64 y (log.f64 y) z))
(*.f64 y (-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 y (fma.f64 y (log.f64 y) z))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 y (fma.f64 y (log.f64 y) z))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 z))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 z))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 z))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 y (fma.f64 y (log.f64 y) z))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 z))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 z))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) (*.f64 -1 z))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 y (fma.f64 y (log.f64 y) z))
(-.f64 1 (log.f64 y))
(-.f64 1 (log.f64 y))
(-.f64 1 (log.f64 y))
(-.f64 1 (log.f64 y))
(-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(-.f64 1 (log.f64 y))
(-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(-.f64 1 (log.f64 y))
(-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(-.f64 1 (log.f64 y))
(-.f64 1 (*.f64 -1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))))
(-.f64 1 (log.f64 y))
(*.f64 -1 (log.f64 y))
(neg.f64 (log.f64 y))
(*.f64 -1 (log.f64 y))
(neg.f64 (log.f64 y))
(*.f64 -1 (log.f64 y))
(neg.f64 (log.f64 y))
(*.f64 -1 (log.f64 y))
(neg.f64 (log.f64 y))
(+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))
(neg.f64 (log.f64 y))
(+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))
(neg.f64 (log.f64 y))
(+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))
(neg.f64 (log.f64 y))
(+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))
(neg.f64 (log.f64 y))

localize26.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 39 to 19 computations (51.3% saved)

series14.0ms (0.1%)

Counts
3 → 84
Calls

21 calls:

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

rewrite135.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
535×log-prod_binary64
510×fma-def_binary64
389×pow-prod-down_binary64
322×pow2_binary64
247×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify147.0ms (1.2%)

Algorithm
egg-herbie
Rules
460×associate-+r+_binary64
396×unsub-neg_binary64
389×associate-+l-_binary64
337×fma-def_binary64
290×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0581333
11821113
2537979
31708979
45114979
56703979
67687979
Stop Event
node limit
Counts
305 → 255
Calls
Call 1
Inputs
(+.f64 (*.f64 -1/2 (log.f64 y)) x)
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 (*.f64 -1/2 (log.f64 y)) x))
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 (*.f64 -1/2 (log.f64 y)) x))
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 (*.f64 -1/2 (log.f64 y)) x))
(*.f64 y (log.f64 (/.f64 1 y)))
(+.f64 (*.f64 y (log.f64 (/.f64 1 y))) (+.f64 x (*.f64 1/2 (log.f64 (/.f64 1 y)))))
(+.f64 (*.f64 y (log.f64 (/.f64 1 y))) (+.f64 x (*.f64 1/2 (log.f64 (/.f64 1 y)))))
(+.f64 (*.f64 y (log.f64 (/.f64 1 y))) (+.f64 x (*.f64 1/2 (log.f64 (/.f64 1 y)))))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))) x))
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))) x))
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))) x))
(*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
x
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
x
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(+.f64 (*.f64 -1/2 (log.f64 y)) x)
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (+.f64 (*.f64 -1/2 (log.f64 y)) x))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (+.f64 (*.f64 -1/2 (log.f64 y)) x))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (+.f64 (*.f64 -1/2 (log.f64 y)) x))
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
(+.f64 x (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))))
(+.f64 x (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))))
(+.f64 x (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))))
(*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1)))
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x))
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x))
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x))
x
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x))
x
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x))
(-.f64 (+.f64 (*.f64 -1/2 (log.f64 y)) x) z)
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (+.f64 (*.f64 -1/2 (log.f64 y)) x)) z)
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (+.f64 (*.f64 -1/2 (log.f64 y)) x)) z)
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (+.f64 (*.f64 -1/2 (log.f64 y)) x)) z)
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 x (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y)))))) z)
(-.f64 (+.f64 x (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y)))))) z)
(-.f64 (+.f64 x (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y)))))) z)
(*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1)))
(-.f64 (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x)) z)
(-.f64 (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x)) z)
(-.f64 (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x)) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
x
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
x
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
Outputs
(+.f64 (*.f64 -1/2 (log.f64 y)) x)
(fma.f64 -1/2 (log.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 (*.f64 -1/2 (log.f64 y)) x))
(fma.f64 -1 (*.f64 y (log.f64 y)) (fma.f64 -1/2 (log.f64 y) x))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 (*.f64 -1/2 (log.f64 y)) x))
(fma.f64 -1 (*.f64 y (log.f64 y)) (fma.f64 -1/2 (log.f64 y) x))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 (*.f64 -1/2 (log.f64 y)) x))
(fma.f64 -1 (*.f64 y (log.f64 y)) (fma.f64 -1/2 (log.f64 y) x))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(*.f64 y (log.f64 (/.f64 1 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 (log.f64 y) (neg.f64 y))
(+.f64 (*.f64 y (log.f64 (/.f64 1 y))) (+.f64 x (*.f64 1/2 (log.f64 (/.f64 1 y)))))
(fma.f64 -1 (*.f64 y (log.f64 y)) (fma.f64 -1/2 (log.f64 y) x))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(+.f64 (*.f64 y (log.f64 (/.f64 1 y))) (+.f64 x (*.f64 1/2 (log.f64 (/.f64 1 y)))))
(fma.f64 -1 (*.f64 y (log.f64 y)) (fma.f64 -1/2 (log.f64 y) x))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(+.f64 (*.f64 y (log.f64 (/.f64 1 y))) (+.f64 x (*.f64 1/2 (log.f64 (/.f64 1 y)))))
(fma.f64 -1 (*.f64 y (log.f64 y)) (fma.f64 -1/2 (log.f64 y) x))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 (log.f64 y) (neg.f64 y))
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))) x))
(fma.f64 -1 (*.f64 y (log.f64 y)) (fma.f64 -1/2 (log.f64 y) x))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))) x))
(fma.f64 -1 (*.f64 y (log.f64 y)) (fma.f64 -1/2 (log.f64 y) x))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))) x))
(fma.f64 -1 (*.f64 y (log.f64 y)) (fma.f64 -1/2 (log.f64 y) x))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y)))
(neg.f64 (*.f64 (log.f64 y) (+.f64 y 1/2)))
(*.f64 (log.f64 y) (+.f64 -1/2 (neg.f64 y)))
(*.f64 (log.f64 y) (-.f64 -1/2 y))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(fma.f64 -1 (*.f64 y (log.f64 y)) (fma.f64 -1/2 (log.f64 y) x))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(fma.f64 -1 (*.f64 y (log.f64 y)) (fma.f64 -1/2 (log.f64 y) x))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(fma.f64 -1 (*.f64 y (log.f64 y)) (fma.f64 -1/2 (log.f64 y) x))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
x
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(fma.f64 -1 (*.f64 y (log.f64 y)) (fma.f64 -1/2 (log.f64 y) x))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(fma.f64 -1 (*.f64 y (log.f64 y)) (fma.f64 -1/2 (log.f64 y) x))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(fma.f64 -1 (*.f64 y (log.f64 y)) (fma.f64 -1/2 (log.f64 y) x))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
x
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(fma.f64 -1 (*.f64 y (log.f64 y)) (fma.f64 -1/2 (log.f64 y) x))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(fma.f64 -1 (*.f64 y (log.f64 y)) (fma.f64 -1/2 (log.f64 y) x))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) x)
(fma.f64 -1 (*.f64 y (log.f64 y)) (fma.f64 -1/2 (log.f64 y) x))
(-.f64 x (*.f64 (log.f64 y) (+.f64 y 1/2)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) x)
(+.f64 (*.f64 -1/2 (log.f64 y)) x)
(fma.f64 -1/2 (log.f64 y) x)
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (+.f64 (*.f64 -1/2 (log.f64 y)) x))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x))
(+.f64 x (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (+.f64 (*.f64 -1/2 (log.f64 y)) x))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x))
(+.f64 x (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (+.f64 (*.f64 -1/2 (log.f64 y)) x))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x))
(+.f64 x (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(+.f64 x (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x))
(+.f64 x (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(+.f64 x (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x))
(+.f64 x (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(+.f64 x (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x))
(+.f64 x (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1)))
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x))
(+.f64 x (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x))
(+.f64 x (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x))
(+.f64 x (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y)
(fma.f64 -1 (*.f64 (log.f64 y) (+.f64 y 1/2)) y)
(fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y)
(fma.f64 (log.f64 y) (-.f64 -1/2 y) y)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x))
(+.f64 x (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x))
(+.f64 x (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x))
(+.f64 x (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
x
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x))
(+.f64 x (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x))
(+.f64 x (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x))
(+.f64 x (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
x
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x))
(+.f64 x (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x))
(+.f64 x (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x))
(+.f64 x (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(-.f64 (+.f64 (*.f64 -1/2 (log.f64 y)) x) z)
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (+.f64 (*.f64 -1/2 (log.f64 y)) x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (+.f64 (*.f64 -1/2 (log.f64 y)) x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (+.f64 (*.f64 -1/2 (log.f64 y)) x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(-.f64 (+.f64 x (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y)))))) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(-.f64 (+.f64 x (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y)))))) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(-.f64 (+.f64 x (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y)))))) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1)))
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(-.f64 (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(-.f64 (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y) z)
(-.f64 (fma.f64 -1 (*.f64 (log.f64 y) (+.f64 y 1/2)) y) z)
(-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z)
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (-.f64 y z))
(-.f64 y (fma.f64 (log.f64 y) (+.f64 y 1/2) z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
x
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
x
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x))
(+.f64 x (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 y x))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) (-.f64 x z))
(+.f64 y (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) z))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (+.f64 x (-.f64 y z)))

eval316.0ms (2.5%)

Compiler

Compiled 16987 to 8042 computations (52.7% saved)

prune157.0ms (1.3%)

Pruning

24 alts after pruning (21 fresh and 3 done)

PrunedKeptTotal
New86916885
Fresh11516
Picked011
Done224
Total88224906
Error
0b
Counts
906 → 24
Alt Table
Click to see full alt table
StatusErrorProgram
42.9b
(-.f64 (log.f64 (/.f64 (exp.f64 x) (sqrt.f64 y))) z)
18.7b
(-.f64 (-.f64 x (*.f64 1/2 (log.f64 y))) z)
27.6b
(-.f64 x z)
19.4b
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
28.2b
(-.f64 y (fma.f64 y (log.f64 y) z))
28.2b
(-.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 (-.f64 0 (pow.f64 (log.f64 y) 2)) (log.f64 y))))) z)
19.4b
(-.f64 (-.f64 (+.f64 y (*.f64 y (log.f64 (/.f64 1 y)))) (*.f64 -1/2 (log.f64 (/.f64 1 y)))) z)
46.0b
(neg.f64 z)
37.3b
(-.f64 (*.f64 -1/2 (log.f64 y)) z)
0.1b
(-.f64 (+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) y) z)
0.9b
(-.f64 (+.f64 (pow.f64 (cbrt.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x)) 3) y) z)
0.1b
(+.f64 (*.f64 (log.f64 y) (-.f64 -1/2 y)) (+.f64 x (-.f64 y z)))
19.4b
(-.f64 (-.f64 y (*.f64 (+.f64 1/2 y) (log.f64 y))) z)
35.1b
(-.f64 (cbrt.f64 (pow.f64 (+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x)) 3)) z)
26.2b
(+.f64 x (-.f64 y (*.f64 y (log.f64 y))))
28.1b
(-.f64 (*.f64 (-.f64 1 (log.f64 y)) y) z)
36.5b
(-.f64 (expm1.f64 (log1p.f64 (fma.f64 (log.f64 y) -1/2 x))) z)
35.4b
(-.f64 x (*.f64 1/2 (log.f64 y)))
27.8b
(+.f64 x (-.f64 y (pow.f64 (sqrt.f64 (fma.f64 (+.f64 y 1/2) (log.f64 y) z)) 2)))
39.8b
(-.f64 (*.f64 y (-.f64 1 (*.f64 -1 (*.f64 (sqrt.f64 (log.f64 y)) (neg.f64 (sqrt.f64 (log.f64 y))))))) z)
9.3b
(-.f64 (+.f64 (-.f64 x (*.f64 y (log.f64 y))) y) z)
0.5b
(fma.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 (-.f64 -1/2 y)) 2)) (cbrt.f64 (-.f64 -1/2 y)) (+.f64 x (-.f64 y z)))
28.1b
(-.f64 (+.f64 x y) z)
44.1b
x
Compiler

Compiled 578 to 406 computations (29.8% saved)

localize16.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 38 to 16 computations (57.9% saved)

series5.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite80.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
752×fma-def_binary64
634×log-prod_binary64
401×fma-neg_binary64
249×expm1-udef_binary64
249×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify187.0ms (1.5%)

Algorithm
egg-herbie
Rules
647×sub-neg_binary64
458×associate-+l+_binary64
427×unsub-neg_binary64
414×distribute-neg-out_binary64
366×associate-+r+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
055796
1171673
2505597
31652597
45340597
57507597
Stop Event
node limit
Counts
161 → 139
Calls
Call 1
Inputs
(*.f64 -1/2 (log.f64 y))
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (*.f64 -1/2 (log.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (*.f64 -1/2 (log.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (*.f64 -1/2 (log.f64 y)))
(*.f64 y (log.f64 (/.f64 1 y)))
(+.f64 (*.f64 y (log.f64 (/.f64 1 y))) (*.f64 1/2 (log.f64 (/.f64 1 y))))
(+.f64 (*.f64 y (log.f64 (/.f64 1 y))) (*.f64 1/2 (log.f64 (/.f64 1 y))))
(+.f64 (*.f64 y (log.f64 (/.f64 1 y))) (*.f64 1/2 (log.f64 (/.f64 1 y))))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(-.f64 (+.f64 (*.f64 -1/2 (log.f64 y)) x) z)
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (+.f64 (*.f64 -1/2 (log.f64 y)) x)) z)
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (+.f64 (*.f64 -1/2 (log.f64 y)) x)) z)
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (+.f64 (*.f64 -1/2 (log.f64 y)) x)) z)
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 x (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y)))))) z)
(-.f64 (+.f64 x (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y)))))) z)
(-.f64 (+.f64 x (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y)))))) z)
(*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1)))
(-.f64 (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x)) z)
(-.f64 (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x)) z)
(-.f64 (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x)) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
x
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
x
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
Outputs
(*.f64 -1/2 (log.f64 y))
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (*.f64 -1/2 (log.f64 y)))
(fma.f64 -1 (*.f64 y (log.f64 y)) (*.f64 -1/2 (log.f64 y)))
(*.f64 (log.f64 y) (+.f64 -1/2 (neg.f64 y)))
(*.f64 (log.f64 y) (-.f64 -1/2 y))
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (*.f64 -1/2 (log.f64 y)))
(fma.f64 -1 (*.f64 y (log.f64 y)) (*.f64 -1/2 (log.f64 y)))
(*.f64 (log.f64 y) (+.f64 -1/2 (neg.f64 y)))
(*.f64 (log.f64 y) (-.f64 -1/2 y))
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (*.f64 -1/2 (log.f64 y)))
(fma.f64 -1 (*.f64 y (log.f64 y)) (*.f64 -1/2 (log.f64 y)))
(*.f64 (log.f64 y) (+.f64 -1/2 (neg.f64 y)))
(*.f64 (log.f64 y) (-.f64 -1/2 y))
(*.f64 y (log.f64 (/.f64 1 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 (log.f64 y) (neg.f64 y))
(+.f64 (*.f64 y (log.f64 (/.f64 1 y))) (*.f64 1/2 (log.f64 (/.f64 1 y))))
(fma.f64 -1 (*.f64 y (log.f64 y)) (*.f64 -1/2 (log.f64 y)))
(*.f64 (log.f64 y) (+.f64 -1/2 (neg.f64 y)))
(*.f64 (log.f64 y) (-.f64 -1/2 y))
(+.f64 (*.f64 y (log.f64 (/.f64 1 y))) (*.f64 1/2 (log.f64 (/.f64 1 y))))
(fma.f64 -1 (*.f64 y (log.f64 y)) (*.f64 -1/2 (log.f64 y)))
(*.f64 (log.f64 y) (+.f64 -1/2 (neg.f64 y)))
(*.f64 (log.f64 y) (-.f64 -1/2 y))
(+.f64 (*.f64 y (log.f64 (/.f64 1 y))) (*.f64 1/2 (log.f64 (/.f64 1 y))))
(fma.f64 -1 (*.f64 y (log.f64 y)) (*.f64 -1/2 (log.f64 y)))
(*.f64 (log.f64 y) (+.f64 -1/2 (neg.f64 y)))
(*.f64 (log.f64 y) (-.f64 -1/2 y))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 (log.f64 y) (neg.f64 y))
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(fma.f64 -1 (*.f64 y (log.f64 y)) (*.f64 -1/2 (log.f64 y)))
(*.f64 (log.f64 y) (+.f64 -1/2 (neg.f64 y)))
(*.f64 (log.f64 y) (-.f64 -1/2 y))
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(fma.f64 -1 (*.f64 y (log.f64 y)) (*.f64 -1/2 (log.f64 y)))
(*.f64 (log.f64 y) (+.f64 -1/2 (neg.f64 y)))
(*.f64 (log.f64 y) (-.f64 -1/2 y))
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(fma.f64 -1 (*.f64 y (log.f64 y)) (*.f64 -1/2 (log.f64 y)))
(*.f64 (log.f64 y) (+.f64 -1/2 (neg.f64 y)))
(*.f64 (log.f64 y) (-.f64 -1/2 y))
(-.f64 (+.f64 (*.f64 -1/2 (log.f64 y)) x) z)
(-.f64 (fma.f64 -1/2 (log.f64 y) x) z)
(fma.f64 -1/2 (log.f64 y) (-.f64 x z))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (+.f64 (*.f64 -1/2 (log.f64 y)) x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (+.f64 (*.f64 -1/2 (log.f64 y)) x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (+.f64 (*.f64 -1/2 (log.f64 y)) x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(-.f64 (+.f64 x (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y)))))) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(-.f64 (+.f64 x (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y)))))) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(-.f64 (+.f64 x (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y)))))) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1)))
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(-.f64 (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(-.f64 (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(-.f64 (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y) z)
(-.f64 (fma.f64 -1 (*.f64 (log.f64 y) (+.f64 y 1/2)) y) z)
(-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z)
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
x
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
x
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(-.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x))
(+.f64 (fma.f64 -1 (*.f64 (log.f64 y) (+.f64 y 1/2)) y) x)
(fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) (+.f64 y x))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (fma.f64 -1/2 (log.f64 y) x)) z)
(+.f64 x (-.f64 (fma.f64 (+.f64 -1/2 (neg.f64 y)) (log.f64 y) y) z))
(+.f64 x (-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z))
(+.f64 (-.f64 y z) (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))

localize3.0ms (0%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 25 to 7 computations (72% saved)

series8.0ms (0.1%)

Counts
3 → 44
Calls

12 calls:

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

rewrite104.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
428×log-prod_binary64
426×fma-def_binary64
337×prod-exp_binary64
308×exp-prod_binary64
305×pow-prod-down_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify204.0ms (1.6%)

Algorithm
egg-herbie
Rules
2228×fma-neg_binary64
535×unsub-neg_binary64
497×distribute-rgt-in_binary64
456×fma-def_binary64
427×distribute-neg-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
031434
190366
2182366
3532366
41026366
52418366
63960366
74590366
84839366
94892366
104909366
114911366
125325366
135747366
145883366
156009366
166093366
176093366
Stop Event
node limit
Counts
254 → 221
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y))))
(*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y))))
(*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y))))
(*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y))))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y)
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(-.f64 y (*.f64 y (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 y (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 y (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 y (log.f64 y)))
x
(-.f64 (+.f64 y x) (*.f64 y (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 y (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 y (log.f64 y)))
x
(-.f64 (+.f64 y x) (*.f64 y (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 y (log.f64 y)))
(-.f64 (+.f64 y x) (*.f64 y (log.f64 y)))
x
(+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x)
(+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x)
(+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x)
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x)
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x)
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x)
(*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x)
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x)
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x)
Outputs
(*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y))))
(neg.f64 (*.f64 y (neg.f64 (log.f64 y))))
(*.f64 y (log.f64 y))
(*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y))))
(neg.f64 (*.f64 y (neg.f64 (log.f64 y))))
(*.f64 y (log.f64 y))
(*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y))))
(neg.f64 (*.f64 y (neg.f64 (log.f64 y))))
(*.f64 y (log.f64 y))
(*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y))))
(neg.f64 (*.f64 y (neg.f64 (log.f64 y))))
(*.f64 y (log.f64 y))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y)
(neg.f64 (*.f64 y (neg.f64 (log.f64 y))))
(*.f64 y (log.f64 y))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y)
(neg.f64 (*.f64 y (neg.f64 (log.f64 y))))
(*.f64 y (log.f64 y))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y)
(neg.f64 (*.f64 y (neg.f64 (log.f64 y))))
(*.f64 y (log.f64 y))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y)
(neg.f64 (*.f64 y (neg.f64 (log.f64 y))))
(*.f64 y (log.f64 y))
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(fma.f64 y (neg.f64 (log.f64 y)) y)
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(fma.f64 y (neg.f64 (log.f64 y)) y)
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(fma.f64 y (neg.f64 (log.f64 y)) y)
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(fma.f64 y (neg.f64 (log.f64 y)) y)
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(fma.f64 y (neg.f64 (log.f64 y)) y)
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(fma.f64 y (neg.f64 (log.f64 y)) y)
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(fma.f64 y (neg.f64 (log.f64 y)) y)
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(fma.f64 y (neg.f64 (log.f64 y)) y)
(*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(fma.f64 y (neg.f64 (log.f64 y)) y)
(*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(fma.f64 y (neg.f64 (log.f64 y)) y)
(*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(fma.f64 y (neg.f64 (log.f64 y)) y)
(*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(fma.f64 y (neg.f64 (log.f64 y)) y)
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(fma.f64 y (neg.f64 (log.f64 y)) y)
(-.f64 (+.f64 y x) (*.f64 y (log.f64 y)))
(+.f64 y (-.f64 x (*.f64 y (log.f64 y))))
(fma.f64 y (-.f64 1 (log.f64 y)) x)
(-.f64 (+.f64 y x) (*.f64 y (log.f64 y)))
(+.f64 y (-.f64 x (*.f64 y (log.f64 y))))
(fma.f64 y (-.f64 1 (log.f64 y)) x)
(-.f64 (+.f64 y x) (*.f64 y (log.f64 y)))
(+.f64 y (-.f64 x (*.f64 y (log.f64 y))))
(fma.f64 y (-.f64 1 (log.f64 y)) x)
x
(-.f64 (+.f64 y x) (*.f64 y (log.f64 y)))
(+.f64 y (-.f64 x (*.f64 y (log.f64 y))))
(fma.f64 y (-.f64 1 (log.f64 y)) x)
(-.f64 (+.f64 y x) (*.f64 y (log.f64 y)))
(+.f64 y (-.f64 x (*.f64 y (log.f64 y))))
(fma.f64 y (-.f64 1 (log.f64 y)) x)
(-.f64 (+.f64 y x) (*.f64 y (log.f64 y)))
(+.f64 y (-.f64 x (*.f64 y (log.f64 y))))
(fma.f64 y (-.f64 1 (log.f64 y)) x)
x
(-.f64 (+.f64 y x) (*.f64 y (log.f64 y)))
(+.f64 y (-.f64 x (*.f64 y (log.f64 y))))
(fma.f64 y (-.f64 1 (log.f64 y)) x)
(-.f64 (+.f64 y x) (*.f64 y (log.f64 y)))
(+.f64 y (-.f64 x (*.f64 y (log.f64 y))))
(fma.f64 y (-.f64 1 (log.f64 y)) x)
(-.f64 (+.f64 y x) (*.f64 y (log.f64 y)))
(+.f64 y (-.f64 x (*.f64 y (log.f64 y))))
(fma.f64 y (-.f64 1 (log.f64 y)) x)
x
(+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x)
(+.f64 y (-.f64 x (*.f64 y (log.f64 y))))
(fma.f64 y (-.f64 1 (log.f64 y)) x)
(+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x)
(+.f64 y (-.f64 x (*.f64 y (log.f64 y))))
(fma.f64 y (-.f64 1 (log.f64 y)) x)
(+.f64 (*.f64 (-.f64 1 (log.f64 y)) y) x)
(+.f64 y (-.f64 x (*.f64 y (log.f64 y))))
(fma.f64 y (-.f64 1 (log.f64 y)) x)
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(fma.f64 y (neg.f64 (log.f64 y)) y)
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x)
(+.f64 y (-.f64 x (*.f64 y (log.f64 y))))
(fma.f64 y (-.f64 1 (log.f64 y)) x)
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x)
(+.f64 y (-.f64 x (*.f64 y (log.f64 y))))
(fma.f64 y (-.f64 1 (log.f64 y)) x)
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) x)
(+.f64 y (-.f64 x (*.f64 y (log.f64 y))))
(fma.f64 y (-.f64 1 (log.f64 y)) x)
(*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(fma.f64 y (neg.f64 (log.f64 y)) y)
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x)
(+.f64 y (-.f64 x (*.f64 y (log.f64 y))))
(fma.f64 y (-.f64 1 (log.f64 y)) x)
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x)
(+.f64 y (-.f64 x (*.f64 y (log.f64 y))))
(fma.f64 y (-.f64 1 (log.f64 y)) x)
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))) x)
(+.f64 y (-.f64 x (*.f64 y (log.f64 y))))
(fma.f64 y (-.f64 1 (log.f64 y)) x)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 y (log.f64 y) z)
0.2b
(-.f64 y (fma.f64 y (log.f64 y) z))
Compiler

Compiled 19 to 6 computations (68.4% saved)

series4.0ms (0%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
y
@-inf
(-.f64 y (fma.f64 y (log.f64 y) z))
0.0ms
y
@0
(-.f64 y (fma.f64 y (log.f64 y) z))
0.0ms
y
@inf
(-.f64 y (fma.f64 y (log.f64 y) z))
0.0ms
z
@0
(-.f64 y (fma.f64 y (log.f64 y) z))
0.0ms
z
@0
(fma.f64 y (log.f64 y) z)

rewrite108.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
723×pow1_binary64
671×add-log-exp_binary64
671×log1p-expm1-u_binary64
671×expm1-log1p-u_binary64
656×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify145.0ms (1.2%)

Algorithm
egg-herbie
Rules
1515×fma-neg_binary64
731×fma-def_binary64
521×unsub-neg_binary64
459×associate--r-_binary64
326×associate--r+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
035441
1101399
2219363
3620363
41347363
53116363
64013363
74322363
84376363
94398363
104400363
117891363
Stop Event
node limit
Counts
104 → 75
Calls
Call 1
Inputs
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(+.f64 (*.f64 -1 z) (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))))
(+.f64 (*.f64 -1 z) (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))))
(+.f64 (*.f64 -1 z) (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))))
(-.f64 y (*.f64 y (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 y (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 y (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 y (log.f64 y)))
(*.f64 -1 z)
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 y (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 y (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 y (log.f64 y)))
(*.f64 -1 z)
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 y (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 y (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 y (log.f64 y)))
z
(+.f64 (*.f64 y (log.f64 y)) z)
(+.f64 (*.f64 y (log.f64 y)) z)
(+.f64 (*.f64 y (log.f64 y)) z)
(*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y))))
(+.f64 z (*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y)))))
(+.f64 z (*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y)))))
(+.f64 z (*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y)))))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y) z)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y) z)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y) z)
(*.f64 y (log.f64 y))
(+.f64 (*.f64 y (log.f64 y)) z)
(+.f64 (*.f64 y (log.f64 y)) z)
(+.f64 (*.f64 y (log.f64 y)) z)
z
(+.f64 (*.f64 y (log.f64 y)) z)
(+.f64 (*.f64 y (log.f64 y)) z)
(+.f64 (*.f64 y (log.f64 y)) z)
z
(+.f64 (*.f64 y (log.f64 y)) z)
(+.f64 (*.f64 y (log.f64 y)) z)
(+.f64 (*.f64 y (log.f64 y)) z)
Outputs
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (-.f64 y (*.f64 y (log.f64 y))) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (-.f64 y (*.f64 y (log.f64 y))) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (-.f64 y (*.f64 y (log.f64 y))) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (neg.f64 (neg.f64 (log.f64 y)))))
(-.f64 y (*.f64 y (log.f64 y)))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (-.f64 y (*.f64 y (log.f64 y))) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (-.f64 y (*.f64 y (log.f64 y))) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (-.f64 y (*.f64 y (log.f64 y))) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))))
(*.f64 y (-.f64 1 (neg.f64 (neg.f64 (log.f64 y)))))
(-.f64 y (*.f64 y (log.f64 y)))
(+.f64 (*.f64 -1 z) (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (-.f64 y (*.f64 y (log.f64 y))) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (-.f64 y (*.f64 y (log.f64 y))) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 y (+.f64 1 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (-.f64 y (*.f64 y (log.f64 y))) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 y (-.f64 1 (neg.f64 (neg.f64 (log.f64 y)))))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 y (log.f64 y)))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (-.f64 y (*.f64 y (log.f64 y))) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 y (log.f64 y)))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (-.f64 y (*.f64 y (log.f64 y))) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 y (log.f64 y)))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (-.f64 y (*.f64 y (log.f64 y))) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(*.f64 -1 z)
(neg.f64 z)
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 y (log.f64 y)))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (-.f64 y (*.f64 y (log.f64 y))) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 y (log.f64 y)))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (-.f64 y (*.f64 y (log.f64 y))) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 y (log.f64 y)))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (-.f64 y (*.f64 y (log.f64 y))) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(*.f64 -1 z)
(neg.f64 z)
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 y (log.f64 y)))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (-.f64 y (*.f64 y (log.f64 y))) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 y (log.f64 y)))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (-.f64 y (*.f64 y (log.f64 y))) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(-.f64 (+.f64 (*.f64 -1 z) y) (*.f64 y (log.f64 y)))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (-.f64 y (*.f64 y (log.f64 y))) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
z
(+.f64 (*.f64 y (log.f64 y)) z)
(fma.f64 y (log.f64 y) z)
(+.f64 (*.f64 y (log.f64 y)) z)
(fma.f64 y (log.f64 y) z)
(+.f64 (*.f64 y (log.f64 y)) z)
(fma.f64 y (log.f64 y) z)
(*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y))))
(neg.f64 (*.f64 y (neg.f64 (log.f64 y))))
(*.f64 y (log.f64 y))
(+.f64 z (*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y)))))
(fma.f64 y (log.f64 y) z)
(+.f64 z (*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y)))))
(fma.f64 y (log.f64 y) z)
(+.f64 z (*.f64 -1 (*.f64 y (log.f64 (/.f64 1 y)))))
(fma.f64 y (log.f64 y) z)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y)
(neg.f64 (*.f64 y (neg.f64 (log.f64 y))))
(*.f64 y (log.f64 y))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y) z)
(fma.f64 y (log.f64 y) z)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y) z)
(fma.f64 y (log.f64 y) z)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) y) z)
(fma.f64 y (log.f64 y) z)
(*.f64 y (log.f64 y))
(neg.f64 (*.f64 y (neg.f64 (log.f64 y))))
(+.f64 (*.f64 y (log.f64 y)) z)
(fma.f64 y (log.f64 y) z)
(+.f64 (*.f64 y (log.f64 y)) z)
(fma.f64 y (log.f64 y) z)
(+.f64 (*.f64 y (log.f64 y)) z)
(fma.f64 y (log.f64 y) z)
z
(+.f64 (*.f64 y (log.f64 y)) z)
(fma.f64 y (log.f64 y) z)
(+.f64 (*.f64 y (log.f64 y)) z)
(fma.f64 y (log.f64 y) z)
(+.f64 (*.f64 y (log.f64 y)) z)
(fma.f64 y (log.f64 y) z)
z
(+.f64 (*.f64 y (log.f64 y)) z)
(fma.f64 y (log.f64 y) z)
(+.f64 (*.f64 y (log.f64 y)) z)
(fma.f64 y (log.f64 y) z)
(+.f64 (*.f64 y (log.f64 y)) z)
(fma.f64 y (log.f64 y) z)

localize32.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 (-.f64 0 (pow.f64 (log.f64 y) 2)) (log.f64 y))))) z)
0.3b
(*.f64 y (-.f64 1 (*.f64 -1 (/.f64 (-.f64 0 (pow.f64 (log.f64 y) 2)) (log.f64 y)))))
0.5b
(/.f64 (-.f64 0 (pow.f64 (log.f64 y) 2)) (log.f64 y))
0.6b
(pow.f64 (log.f64 y) 2)
Compiler

Compiled 86 to 56 computations (34.9% saved)

series28.0ms (0.2%)

Counts
4 → 56
Calls

15 calls:

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

rewrite95.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
524×log-prod_binary64
462×fma-def_binary64
283×pow2_binary64
217×fma-neg_binary64
193×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify82.0ms (0.7%)

Algorithm
egg-herbie
Rules
795×fma-def_binary64
530×unsub-neg_binary64
360×distribute-neg-in_binary64
331×associate--r-_binary64
303×distribute-rgt-in_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
029502
177484
2162484
3448468
41517432
54758432
67799432
Stop Event
node limit
Counts
336 → 295
Calls
Call 1
Inputs
(pow.f64 (log.f64 (/.f64 1 y)) 2)
(pow.f64 (log.f64 (/.f64 1 y)) 2)
(pow.f64 (log.f64 (/.f64 1 y)) 2)
(pow.f64 (log.f64 (/.f64 1 y)) 2)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2)
(*.f64 -1 (log.f64 y))
(*.f64 -1 (log.f64 y))
(*.f64 -1 (log.f64 y))
(*.f64 -1 (log.f64 y))
(log.f64 (/.f64 1 y))
(log.f64 (/.f64 1 y))
(log.f64 (/.f64 1 y))
(log.f64 (/.f64 1 y))
(*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 (-.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) y)
(*.f64 (-.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) y)
(*.f64 (-.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) y)
(*.f64 (-.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) y)
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(*.f64 (-.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) y)
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) y))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) y))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) y))
(*.f64 (-.f64 1 (log.f64 y)) y)
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
Outputs
(pow.f64 (log.f64 (/.f64 1 y)) 2)
(pow.f64 (neg.f64 (log.f64 y)) 2)
(*.f64 (log.f64 y) (log.f64 y))
(pow.f64 (log.f64 y) 2)
(pow.f64 (log.f64 (/.f64 1 y)) 2)
(pow.f64 (neg.f64 (log.f64 y)) 2)
(*.f64 (log.f64 y) (log.f64 y))
(pow.f64 (log.f64 y) 2)
(pow.f64 (log.f64 (/.f64 1 y)) 2)
(pow.f64 (neg.f64 (log.f64 y)) 2)
(*.f64 (log.f64 y) (log.f64 y))
(pow.f64 (log.f64 y) 2)
(pow.f64 (log.f64 (/.f64 1 y)) 2)
(pow.f64 (neg.f64 (log.f64 y)) 2)
(*.f64 (log.f64 y) (log.f64 y))
(pow.f64 (log.f64 y) 2)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2)
(pow.f64 (neg.f64 (log.f64 y)) 2)
(*.f64 (log.f64 y) (log.f64 y))
(pow.f64 (log.f64 y) 2)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2)
(pow.f64 (neg.f64 (log.f64 y)) 2)
(*.f64 (log.f64 y) (log.f64 y))
(pow.f64 (log.f64 y) 2)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2)
(pow.f64 (neg.f64 (log.f64 y)) 2)
(*.f64 (log.f64 y) (log.f64 y))
(pow.f64 (log.f64 y) 2)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 2)
(pow.f64 (neg.f64 (log.f64 y)) 2)
(*.f64 (log.f64 y) (log.f64 y))
(pow.f64 (log.f64 y) 2)
(*.f64 -1 (log.f64 y))
(neg.f64 (log.f64 y))
(*.f64 -1 (log.f64 y))
(neg.f64 (log.f64 y))
(*.f64 -1 (log.f64 y))
(neg.f64 (log.f64 y))
(*.f64 -1 (log.f64 y))
(neg.f64 (log.f64 y))
(log.f64 (/.f64 1 y))
(neg.f64 (log.f64 y))
(log.f64 (/.f64 1 y))
(neg.f64 (log.f64 y))
(log.f64 (/.f64 1 y))
(neg.f64 (log.f64 y))
(log.f64 (/.f64 1 y))
(neg.f64 (log.f64 y))
(*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(neg.f64 (log.f64 y))
(*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(neg.f64 (log.f64 y))
(*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(neg.f64 (log.f64 y))
(*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)))
(neg.f64 (log.f64 y))
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 (-.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) y)
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 (-.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) y)
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 (-.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) y)
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 (-.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) y)
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 (fma.f64 y (neg.f64 (log.f64 y)) y) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 (fma.f64 y (neg.f64 (log.f64 y)) y) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 (fma.f64 y (neg.f64 (log.f64 y)) y) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y)))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(-.f64 y (*.f64 y (log.f64 y)))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 (fma.f64 y (neg.f64 (log.f64 y)) y) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 (fma.f64 y (neg.f64 (log.f64 y)) y) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 (fma.f64 y (neg.f64 (log.f64 y)) y) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(*.f64 (-.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) y)
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(-.f64 y (*.f64 y (log.f64 y)))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) y))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 (fma.f64 y (neg.f64 (log.f64 y)) y) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) y))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 (fma.f64 y (neg.f64 (log.f64 y)) y) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) y))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 (fma.f64 y (neg.f64 (log.f64 y)) y) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(*.f64 (-.f64 1 (log.f64 y)) y)
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(-.f64 y (*.f64 y (log.f64 y)))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 (fma.f64 y (neg.f64 (log.f64 y)) y) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 (fma.f64 y (neg.f64 (log.f64 y)) y) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 (fma.f64 y (neg.f64 (log.f64 y)) y) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 (fma.f64 y (neg.f64 (log.f64 y)) y) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 (fma.f64 y (neg.f64 (log.f64 y)) y) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 (fma.f64 y (neg.f64 (log.f64 y)) y) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 (fma.f64 y (neg.f64 (log.f64 y)) y) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 (fma.f64 y (neg.f64 (log.f64 y)) y) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 (*.f64 -1 z) (*.f64 (-.f64 1 (log.f64 y)) y))
(fma.f64 -1 z (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (neg.f64 z))
(-.f64 (fma.f64 y (neg.f64 (log.f64 y)) y) z)
(-.f64 y (fma.f64 y (log.f64 y) z))

eval278.0ms (2.2%)

Compiler

Compiled 12334 to 5598 computations (54.6% saved)

prune178.0ms (1.4%)

Pruning

28 alts after pruning (22 fresh and 6 done)

PrunedKeptTotal
New71713730
Fresh7916
Picked011
Done257
Total72628754
Error
0b
Counts
754 → 28
Alt Table
Click to see full alt table
StatusErrorProgram
26.5b
(+.f64 x (-.f64 y (pow.f64 (cbrt.f64 (*.f64 y (log.f64 y))) 3)))
42.9b
(-.f64 (log.f64 (/.f64 (exp.f64 x) (sqrt.f64 y))) z)
18.7b
(-.f64 (-.f64 x (*.f64 1/2 (log.f64 y))) z)
27.6b
(-.f64 x z)
28.2b
(-.f64 y (fma.f64 y (log.f64 y) z))
28.2b
(-.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 (-.f64 0 (pow.f64 (log.f64 y) 2)) (log.f64 y))))) z)
19.4b
(-.f64 (-.f64 (+.f64 y (*.f64 y (log.f64 (/.f64 1 y)))) (*.f64 -1/2 (log.f64 (/.f64 1 y)))) z)
46.0b
(neg.f64 z)
32.4b
(+.f64 (expm1.f64 (log1p.f64 (*.f64 (log.f64 y) (-.f64 -1/2 y)))) (+.f64 x (-.f64 y z)))
44.9b
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
26.2b
(+.f64 x (fma.f64 y (-.f64 1 (log.f64 y)) (fma.f64 (neg.f64 y) (log.f64 y) (*.f64 y (log.f64 y)))))
37.3b
(-.f64 (*.f64 -1/2 (log.f64 y)) z)
28.1b
(-.f64 (*.f64 (-.f64 1 (log.f64 y)) y) z)
35.4b
(-.f64 x (*.f64 1/2 (log.f64 y)))
26.2b
(+.f64 x (-.f64 y (*.f64 y (log.f64 y))))
17.4b
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
39.8b
(-.f64 (*.f64 y (-.f64 1 (*.f64 -1 (*.f64 (sqrt.f64 (log.f64 y)) (neg.f64 (sqrt.f64 (log.f64 y))))))) z)
46.3b
(-.f64 y z)
28.1b
(-.f64 (+.f64 x y) z)
45.0b
(-.f64 y (*.f64 y (log.f64 y)))
19.4b
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
28.2b
(-.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 (-.f64 0 (/.f64 1 (pow.f64 (/.f64 1 (log.f64 y)) 2))) (log.f64 y))))) z)
44.3b
(+.f64 x (cbrt.f64 (pow.f64 (*.f64 y (-.f64 1 (log.f64 y))) 3)))
38.6b
(+.f64 x (-.f64 y (pow.f64 (sqrt.f64 (*.f64 y (log.f64 y))) 2)))
19.4b
(-.f64 (-.f64 y (*.f64 (+.f64 1/2 y) (log.f64 y))) z)
9.3b
(-.f64 (+.f64 (-.f64 x (*.f64 y (log.f64 y))) y) z)
9.3b
(+.f64 (*.f64 (log.f64 y) (neg.f64 y)) (+.f64 x (-.f64 y z)))
44.1b
x
Compiler

Compiled 627 to 441 computations (29.7% saved)

localize14.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(+.f64 (*.f64 (log.f64 y) (neg.f64 y)) (+.f64 x (-.f64 y z)))
0.3b
(*.f64 (log.f64 y) (neg.f64 y))
Compiler

Compiled 34 to 9 computations (73.5% saved)

series5.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite73.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
750×fma-def_binary64
555×log-prod_binary64
428×fma-neg_binary64
304×pow2_binary64
206×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify321.0ms (2.6%)

Algorithm
egg-herbie
Rules
827×fma-neg_binary64
730×unsub-neg_binary64
658×distribute-neg-in_binary64
526×fma-def_binary64
515×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
043561
1128499
2321497
3870497
42530497
55185497
66182497
76732497
87014497
97135497
107153497
117155497
127155497
137157497
147173497
157173497
167845497
Stop Event
node limit
Counts
166 → 140
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 y (log.f64 y)))
(*.f64 -1 (*.f64 y (log.f64 y)))
(*.f64 -1 (*.f64 y (log.f64 y)))
(*.f64 -1 (*.f64 y (log.f64 y)))
(*.f64 y (log.f64 (/.f64 1 y)))
(*.f64 y (log.f64 (/.f64 1 y)))
(*.f64 y (log.f64 (/.f64 1 y)))
(*.f64 y (log.f64 (/.f64 1 y)))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(-.f64 x z)
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) x) z)
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) x) z)
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) x) z)
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 x (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) z)
(-.f64 (+.f64 x (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) z)
(-.f64 (+.f64 x (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) z)
(*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) y) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)) z)
x
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)) z)
x
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)) z)
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)) z)
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 (*.f64 -1 z) (+.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 (*.f64 -1 z) (+.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 (*.f64 -1 z) (+.f64 y x)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 (*.f64 -1 z) (+.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 (*.f64 -1 z) (+.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 (*.f64 -1 z) (+.f64 y x)))
Outputs
(*.f64 -1 (*.f64 y (log.f64 y)))
(neg.f64 (*.f64 y (log.f64 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 -1 (*.f64 y (log.f64 y)))
(neg.f64 (*.f64 y (log.f64 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 -1 (*.f64 y (log.f64 y)))
(neg.f64 (*.f64 y (log.f64 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 -1 (*.f64 y (log.f64 y)))
(neg.f64 (*.f64 y (log.f64 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 y (log.f64 (/.f64 1 y)))
(neg.f64 (*.f64 y (log.f64 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 y (log.f64 (/.f64 1 y)))
(neg.f64 (*.f64 y (log.f64 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 y (log.f64 (/.f64 1 y)))
(neg.f64 (*.f64 y (log.f64 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 y (log.f64 (/.f64 1 y)))
(neg.f64 (*.f64 y (log.f64 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(neg.f64 (*.f64 y (log.f64 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(neg.f64 (*.f64 y (log.f64 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(neg.f64 (*.f64 y (log.f64 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(*.f64 -1 (*.f64 y (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))))
(neg.f64 (*.f64 y (log.f64 y)))
(*.f64 y (neg.f64 (log.f64 y)))
(-.f64 x z)
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) x) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) x) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) x) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 (+.f64 x (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(-.f64 (+.f64 x (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(-.f64 (+.f64 x (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1)))
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(-.f64 y (*.f64 y (log.f64 y)))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))) x) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) y) z)
(-.f64 (fma.f64 -1 (*.f64 y (log.f64 y)) y) z)
(-.f64 (-.f64 y (*.f64 y (log.f64 y))) z)
(-.f64 y (fma.f64 y (log.f64 y) z))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
x
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
x
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x))
(fma.f64 -1 (*.f64 y (log.f64 y)) (+.f64 y x))
(fma.f64 y (-.f64 1 (log.f64 y)) x)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 (*.f64 -1 z) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 (*.f64 -1 z) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 (*.f64 -1 z) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 (*.f64 -1 z) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 (*.f64 -1 z) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))
(+.f64 (*.f64 -1 (*.f64 y (log.f64 y))) (+.f64 (*.f64 -1 z) (+.f64 y x)))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) x) z)
(fma.f64 y (-.f64 1 (log.f64 y)) (-.f64 x z))
(+.f64 x (-.f64 y (fma.f64 y (log.f64 y) z)))
(+.f64 y (-.f64 x (fma.f64 y (log.f64 y) z)))
(-.f64 x (-.f64 (fma.f64 y (log.f64 y) z) y))

localize179.0ms (1.4%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize15.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(log.f64 (/.f64 1 y))
0.0b
(+.f64 1 (log.f64 (/.f64 1 y)))
0.3b
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
Compiler

Compiled 26 to 20 computations (23.1% saved)

series3.0ms (0%)

Counts
2 → 16
Calls

6 calls:

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

rewrite73.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
754×pow1_binary64
702×add-log-exp_binary64
702×log1p-expm1-u_binary64
702×expm1-log1p-u_binary64
687×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0719
115215
2201515
Stop Event
node limit
Counts
2 → 58
Calls
Call 1
Inputs
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
(+.f64 1 (log.f64 (/.f64 1 y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 y (neg.f64 (*.f64 (log.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 y (*.f64 (neg.f64 (*.f64 (log.f64 y) y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 (log.f64 y) y)) y)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 y (-.f64 1 (log.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 y 3) (pow.f64 (neg.f64 (*.f64 (log.f64 y) y)) 3)) (+.f64 (*.f64 y y) (-.f64 (*.f64 (neg.f64 (*.f64 (log.f64 y) y)) (neg.f64 (*.f64 (log.f64 y) y))) (*.f64 y (neg.f64 (*.f64 (log.f64 y) y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y y) (*.f64 (neg.f64 (*.f64 (log.f64 y) y)) (neg.f64 (*.f64 (log.f64 y) y)))) (-.f64 y (neg.f64 (*.f64 (log.f64 y) y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (neg.f64 (log.f64 y)) 3)) y) (+.f64 1 (-.f64 (*.f64 (log.f64 y) (log.f64 y)) (neg.f64 (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 (log.f64 y) (log.f64 y))) y) (+.f64 1 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (+.f64 1 (pow.f64 (neg.f64 (log.f64 y)) 3))) (+.f64 1 (-.f64 (*.f64 (log.f64 y) (log.f64 y)) (neg.f64 (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 1 (*.f64 (log.f64 y) (log.f64 y)))) (+.f64 1 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (-.f64 1 (log.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 y (-.f64 1 (log.f64 y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 y (-.f64 1 (log.f64 y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 y (-.f64 1 (log.f64 y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 y (-.f64 1 (log.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (*.f64 (/.f64 1 y) (E.f64)) y))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 y (-.f64 1 (log.f64 y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (-.f64 1 (log.f64 y)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (-.f64 1 (log.f64 y)) 3) (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 y (-.f64 1 (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 y (-.f64 1 (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 y (-.f64 1 (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 1 (neg.f64 (*.f64 (log.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 y (neg.f64 (*.f64 (log.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (neg.f64 (*.f64 (log.f64 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (sqrt.f64 y) (neg.f64 (*.f64 (log.f64 y) y)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (log.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (log.f64 y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (-.f64 1 (log.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (+.f64 1 (log.f64 y))) (/.f64 (*.f64 (log.f64 y) (log.f64 y)) (+.f64 1 (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (log.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 (log.f64 y))) (pow.f64 (cbrt.f64 (-.f64 1 (log.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 1 (log.f64 y))) 2) (cbrt.f64 (-.f64 1 (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 (log.f64 y))) (sqrt.f64 (-.f64 1 (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 (neg.f64 (log.f64 y)) 3)) (/.f64 1 (+.f64 1 (-.f64 (*.f64 (log.f64 y) (log.f64 y)) (neg.f64 (log.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (*.f64 (log.f64 y) (log.f64 y))) (/.f64 1 (+.f64 1 (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (-.f64 (*.f64 (log.f64 y) (log.f64 y)) (neg.f64 (log.f64 y)))) (+.f64 1 (pow.f64 (neg.f64 (log.f64 y)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (log.f64 y)) (-.f64 1 (*.f64 (log.f64 y) (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (neg.f64 (log.f64 y)) 3)) (+.f64 1 (-.f64 (*.f64 (log.f64 y) (log.f64 y)) (neg.f64 (log.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (neg.f64 (log.f64 y)) 3)) (+.f64 (*.f64 (log.f64 y) (log.f64 y)) (+.f64 1 (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (log.f64 y) (log.f64 y))) (+.f64 1 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 1 (pow.f64 (neg.f64 (log.f64 y)) 3))) (neg.f64 (+.f64 1 (-.f64 (*.f64 (log.f64 y) (log.f64 y)) (neg.f64 (log.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (*.f64 (log.f64 y) (log.f64 y)))) (neg.f64 (+.f64 1 (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (log.f64 y) (log.f64 y)) 1) (-.f64 (neg.f64 (log.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (log.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (log.f64 y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 1 (log.f64 y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 1 (log.f64 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 1 (log.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 y) (E.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 1 (log.f64 y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 1 (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 1 (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (neg.f64 (log.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (log.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 (log.f64 y))) 2) (cbrt.f64 (neg.f64 (log.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (log.f64 y))) (sqrt.f64 (neg.f64 (log.f64 y))) 1)))))

simplify233.0ms (1.9%)

Algorithm
egg-herbie
Rules
767×fma-neg_binary64
690×fma-def_binary64
638×unsub-neg_binary64
308×log-div_binary64
301×associate-/r*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
014152
132120
279120
3221120
4503120
5997120
61696120
72955120
83527120
93635120
104803120
115048120
125402120
135789120
146263120
156539120
166623120
176631120
186739120
196903120
206990120
217250120
227871120
Stop Event
node limit
Counts
74 → 63
Calls
Call 1
Inputs
(*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y))))
(*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y))))
(*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y))))
(*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y))))
(*.f64 (+.f64 1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) y)
(*.f64 (+.f64 1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) y)
(*.f64 (+.f64 1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) y)
(*.f64 (+.f64 1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) y)
(+.f64 1 (*.f64 -1 (log.f64 y)))
(+.f64 1 (*.f64 -1 (log.f64 y)))
(+.f64 1 (*.f64 -1 (log.f64 y)))
(+.f64 1 (*.f64 -1 (log.f64 y)))
(+.f64 1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))
(+.f64 1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))
(+.f64 1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))
(+.f64 1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))
Outputs
(*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y))))
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y))))
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y))))
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y))))
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(*.f64 (+.f64 1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) y)
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(*.f64 (+.f64 1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) y)
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(*.f64 (+.f64 1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) y)
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(*.f64 (+.f64 1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y)))) y)
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(*.f64 y (-.f64 1 (log.f64 y)))
(fma.f64 y (neg.f64 (log.f64 y)) y)
(+.f64 1 (*.f64 -1 (log.f64 y)))
(+.f64 1 (neg.f64 (log.f64 y)))
(-.f64 1 (log.f64 y))
(+.f64 1 (*.f64 -1 (log.f64 y)))
(+.f64 1 (neg.f64 (log.f64 y)))
(-.f64 1 (log.f64 y))
(+.f64 1 (*.f64 -1 (log.f64 y)))
(+.f64 1 (neg.f64 (log.f64 y)))
(-.f64 1 (log.f64 y))
(+.f64 1 (*.f64 -1 (log.f64 y)))
(+.f64 1 (neg.f64 (log.f64 y)))
(-.f64 1 (log.f64 y))
(+.f64 1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))
(+.f64 1 (neg.f64 (log.f64 y)))
(-.f64 1 (log.f64 y))
(+.f64 1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))
(+.f64 1 (neg.f64 (log.f64 y)))
(-.f64 1 (log.f64 y))
(+.f64 1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))
(+.f64 1 (neg.f64 (log.f64 y)))
(-.f64 1 (log.f64 y))
(+.f64 1 (+.f64 (log.f64 -1) (log.f64 (/.f64 -1 y))))
(+.f64 1 (neg.f64 (log.f64 y)))
(-.f64 1 (log.f64 y))

localize15.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
0.1b
(fma.f64 (log.f64 y) (-.f64 -1/2 y) y)
Compiler

Compiled 27 to 14 computations (48.1% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
y
@0
(fma.f64 (log.f64 y) (-.f64 -1/2 y) y)
0.0ms
y
@-inf
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
0.0ms
z
@0
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
0.0ms
y
@-inf
(fma.f64 (log.f64 y) (-.f64 -1/2 y) y)
0.0ms
y
@0
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)

rewrite142.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
542×unpow-prod-down_binary64
501×prod-diff_binary64
410×log-prod_binary64
268×fma-def_binary64
258×pow-prod-down_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify133.0ms (1.1%)

Algorithm
egg-herbie
Rules
857×unsub-neg_binary64
651×sub-neg_binary64
541×fma-def_binary64
377×associate--r-_binary64
283×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
039595
1111531
2305391
31035391
43459391
55687391
67155391
77604391
87761391
97789391
107789391
Stop Event
node limit
Counts
188 → 169
Calls
Call 1
Inputs
(*.f64 -1/2 (log.f64 y))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (*.f64 -1/2 (log.f64 y)))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (*.f64 -1/2 (log.f64 y)))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (*.f64 -1/2 (log.f64 y)))
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
(+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y)))))
(+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y)))))
(+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y)))))
(*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1)))
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))))
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))))
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))))
(-.f64 (*.f64 -1/2 (log.f64 y)) z)
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (*.f64 -1/2 (log.f64 y))) z)
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
(-.f64 (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) z)
(-.f64 (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) z)
(-.f64 (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) z)
(*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1)))
(-.f64 (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1)))) z)
(-.f64 (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1)))) z)
(-.f64 (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1)))) z)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y))
Outputs
(*.f64 -1/2 (log.f64 y))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (*.f64 -1/2 (log.f64 y)))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y)))
(fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) y)
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (*.f64 -1/2 (log.f64 y)))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y)))
(fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) y)
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (*.f64 -1/2 (log.f64 y)))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y)))
(fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) y)
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y)))))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y)))
(fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) y)
(+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y)))))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y)))
(fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) y)
(+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y)))))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y)))
(fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) y)
(*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1)))
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y)))
(fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) y)
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y)))
(fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) y)
(+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1))))
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y)))
(fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) y)
(-.f64 (*.f64 -1/2 (log.f64 y)) z)
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y))) z)
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (-.f64 y z))
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y))) z)
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (-.f64 y z))
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(-.f64 (+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (log.f64 y)))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y))) z)
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (-.f64 y z))
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(-.f64 (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y))) z)
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (-.f64 y z))
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(-.f64 (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y))) z)
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (-.f64 y z))
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(-.f64 (+.f64 (*.f64 1/2 (log.f64 (/.f64 1 y))) (*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y))) z)
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (-.f64 y z))
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1)))
(*.f64 y (+.f64 1 (neg.f64 (log.f64 y))))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(fma.f64 (log.f64 y) (neg.f64 y) y)
(-.f64 (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1)))) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y))) z)
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (-.f64 y z))
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(-.f64 (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1)))) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y))) z)
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (-.f64 y z))
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(-.f64 (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1))) (*.f64 -1 (*.f64 y (-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 -1)) 1)))) z)
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y))) z)
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (-.f64 y z))
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y)
(fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y)))
(fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y)))
(fma.f64 (log.f64 y) (-.f64 -1/2 y) y)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y))) z)
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (-.f64 y z))
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y))) z)
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (-.f64 y z))
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y))) z)
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (-.f64 y z))
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y))) z)
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (-.f64 y z))
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y))) z)
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (-.f64 y z))
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y))) z)
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (-.f64 y z))
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y))) z)
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (-.f64 y z))
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y))) z)
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (-.f64 y z))
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (*.f64 (+.f64 1/2 y) (log.f64 y))) y))
(-.f64 (fma.f64 y (+.f64 1 (neg.f64 (log.f64 y))) (*.f64 -1/2 (log.f64 y))) z)
(-.f64 (fma.f64 y (-.f64 1 (log.f64 y)) (*.f64 -1/2 (log.f64 y))) z)
(fma.f64 (log.f64 y) (-.f64 -1/2 y) (-.f64 y z))
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 44 to 16 computations (63.6% saved)

series45.0ms (0.4%)

Counts
3 → 3
Calls

9 calls:

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

rewrite106.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
759×pow1_binary64
710×add-log-exp_binary64
709×log1p-expm1-u_binary64
709×expm1-log1p-u_binary64
694×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify16.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
013
Stop Event
saturated
Counts
91 → 89
Calls
Call 1
Inputs
y
y
y
Outputs
y
y
y

eval325.0ms (2.6%)

Compiler

Compiled 8179 to 3605 computations (55.9% saved)

prune199.0ms (1.6%)

Pruning

26 alts after pruning (17 fresh and 9 done)

PrunedKeptTotal
New5186524
Fresh61117
Picked011
Done2810
Total52626552
Error
0b
Counts
552 → 26
Alt Table
Click to see full alt table
StatusErrorProgram
26.5b
(+.f64 x (-.f64 y (pow.f64 (cbrt.f64 (*.f64 y (log.f64 y))) 3)))
42.9b
(-.f64 (log.f64 (/.f64 (exp.f64 x) (sqrt.f64 y))) z)
18.7b
(-.f64 (-.f64 x (*.f64 1/2 (log.f64 y))) z)
45.2b
(*.f64 y (pow.f64 (cbrt.f64 (-.f64 1 (log.f64 y))) 3))
27.6b
(-.f64 x z)
28.2b
(-.f64 y (fma.f64 y (log.f64 y) z))
19.4b
(-.f64 (-.f64 (+.f64 y (*.f64 y (log.f64 (/.f64 1 y)))) (*.f64 -1/2 (log.f64 (/.f64 1 y)))) z)
46.0b
(neg.f64 z)
32.4b
(+.f64 (expm1.f64 (log1p.f64 (*.f64 (log.f64 y) (-.f64 -1/2 y)))) (+.f64 x (-.f64 y z)))
44.9b
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
37.3b
(-.f64 (*.f64 -1/2 (log.f64 y)) z)
28.1b
(-.f64 (*.f64 (-.f64 1 (log.f64 y)) y) z)
35.4b
(-.f64 x (*.f64 1/2 (log.f64 y)))
26.2b
(+.f64 x (-.f64 y (*.f64 y (log.f64 y))))
46.3b
(-.f64 y z)
44.3b
(+.f64 x y)
45.0b
(-.f64 y (*.f64 y (log.f64 y)))
45.0b
(*.f64 y (cbrt.f64 (pow.f64 (-.f64 1 (log.f64 y)) 3)))
19.4b
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
9.3b
(-.f64 (+.f64 x (-.f64 y z)) (*.f64 y (log.f64 y)))
44.9b
(*.f64 y (-.f64 1 (log.f64 y)))
19.4b
(-.f64 (-.f64 y (*.f64 (+.f64 1/2 y) (log.f64 y))) z)
17.4b
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
44.9b
(*.f64 y (+.f64 1 (/.f64 (-.f64 0 (pow.f64 (log.f64 y) 2)) (log.f64 y))))
44.1b
x
38.6b
(+.f64 x (-.f64 y (pow.f64 (sqrt.f64 (*.f64 y (log.f64 y))) 2)))
Compiler

Compiled 283 to 204 computations (27.9% saved)

regimes382.0ms (3.1%)

Counts
58 → 1
Calls
Call 1
Inputs
x
(neg.f64 z)
(+.f64 x y)
(-.f64 y z)
(-.f64 x z)
(-.f64 x z)
(-.f64 (+.f64 x y) z)
(+.f64 x (-.f64 y z))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(-.f64 (*.f64 -1/2 (log.f64 y)) z)
(-.f64 x (*.f64 1/2 (log.f64 y)))
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
(-.f64 (*.f64 (-.f64 1 (log.f64 y)) y) z)
(-.f64 (*.f64 (-.f64 1 (log.f64 y)) y) z)
(-.f64 (-.f64 x (*.f64 1/2 (log.f64 y))) z)
(+.f64 x (-.f64 y (*.f64 y (log.f64 y))))
(-.f64 (+.f64 (*.f64 (log.f64 y) (neg.f64 y)) y) z)
(-.f64 (+.f64 x (-.f64 y z)) (*.f64 y (log.f64 y)))
(-.f64 (+.f64 (-.f64 x (*.f64 y (log.f64 y))) y) z)
(-.f64 (-.f64 y (*.f64 (+.f64 1/2 y) (log.f64 y))) z)
(+.f64 (*.f64 (log.f64 y) (neg.f64 y)) (+.f64 x (-.f64 y z)))
(+.f64 (*.f64 (log.f64 y) (-.f64 -1/2 y)) (+.f64 x (-.f64 y z)))
(-.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) z)
(-.f64 (+.f64 (-.f64 x (*.f64 (+.f64 y 1/2) (log.f64 y))) y) z)
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z))
(-.f64 (+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) y) z)
(+.f64 x (-.f64 y (fma.f64 (-.f64 y -1/2) (log.f64 y) z)))
(-.f64 (-.f64 (+.f64 y (*.f64 y (log.f64 (/.f64 1 y)))) (*.f64 -1/2 (log.f64 (/.f64 1 y)))) z)
(-.f64 (+.f64 (-.f64 (+.f64 (*.f64 y (log.f64 (/.f64 1 y))) x) (*.f64 -1/2 (log.f64 (/.f64 1 y)))) y) z)
(-.f64 (log.f64 (/.f64 (exp.f64 x) (sqrt.f64 y))) z)
(*.f64 y (pow.f64 (cbrt.f64 (-.f64 1 (log.f64 y))) 3))
(*.f64 y (cbrt.f64 (pow.f64 (-.f64 1 (log.f64 y)) 3)))
(+.f64 x (-.f64 y (pow.f64 (cbrt.f64 (*.f64 y (log.f64 y))) 3)))
(+.f64 x (cbrt.f64 (pow.f64 (*.f64 y (-.f64 1 (log.f64 y))) 3)))
(+.f64 x (-.f64 y (pow.f64 (sqrt.f64 (*.f64 y (log.f64 y))) 2)))
(*.f64 y (+.f64 1 (/.f64 (-.f64 0 (pow.f64 (log.f64 y) 2)) (log.f64 y))))
(-.f64 (+.f64 (log.f64 (/.f64 (exp.f64 x) (pow.f64 y (+.f64 y 1/2)))) y) z)
(+.f64 (expm1.f64 (log1p.f64 (*.f64 (log.f64 y) (-.f64 -1/2 y)))) (+.f64 x (-.f64 y z)))
(-.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 (-.f64 0 (pow.f64 (log.f64 y) 2)) (log.f64 y))))) z)
(-.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 (-.f64 0 (/.f64 1 (pow.f64 (/.f64 1 (log.f64 y)) 2))) (log.f64 y))))) z)
(-.f64 (expm1.f64 (log1p.f64 (fma.f64 (log.f64 y) -1/2 x))) z)
(-.f64 (+.f64 (pow.f64 (cbrt.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x)) 3) y) z)
(-.f64 (cbrt.f64 (pow.f64 (+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x)) 3)) z)
(+.f64 x (-.f64 y (pow.f64 (cbrt.f64 (fma.f64 (+.f64 y 1/2) (log.f64 y) z)) 3)))
(+.f64 x (-.f64 y (pow.f64 (sqrt.f64 (fma.f64 (+.f64 y 1/2) (log.f64 y) z)) 2)))
(+.f64 x (cbrt.f64 (pow.f64 (-.f64 y (fma.f64 (+.f64 y 1/2) (log.f64 y) z)) 3)))
(-.f64 (*.f64 y (-.f64 1 (*.f64 -1 (*.f64 (sqrt.f64 (log.f64 y)) (neg.f64 (sqrt.f64 (log.f64 y))))))) z)
(+.f64 x (fma.f64 y (-.f64 1 (log.f64 y)) (fma.f64 (neg.f64 y) (log.f64 y) (*.f64 y (log.f64 y)))))
(fma.f64 (*.f64 (log.f64 y) (pow.f64 (cbrt.f64 (-.f64 -1/2 y)) 2)) (cbrt.f64 (-.f64 -1/2 y)) (+.f64 x (-.f64 y z)))
(-.f64 (+.f64 (fma.f64 (*.f64 (+.f64 (neg.f64 y) -1/2) (pow.f64 (cbrt.f64 (log.f64 y)) 2)) (cbrt.f64 (log.f64 y)) x) y) z)
(+.f64 x (*.f64 (pow.f64 (cbrt.f64 (-.f64 y (fma.f64 (+.f64 y 1/2) (log.f64 y) z))) 2) (cbrt.f64 (-.f64 y (fma.f64 (+.f64 y 1/2) (log.f64 y) z)))))
Outputs
(-.f64 (+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) y) z)
Calls

6 calls:

87.0ms
z
70.0ms
(-.f64 (+.f64 (-.f64 x (*.f64 (+.f64 y 1/2) (log.f64 y))) y) z)
50.0ms
(+.f64 (-.f64 x (*.f64 (+.f64 y 1/2) (log.f64 y))) y)
34.0ms
(+.f64 (-.f64 x (*.f64 (+.f64 y 1/2) (log.f64 y))) y)
32.0ms
y
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1z
0.1b1(-.f64 (+.f64 (-.f64 x (*.f64 (+.f64 y 1/2) (log.f64 y))) y) z)
0.1b1(+.f64 (-.f64 x (*.f64 (+.f64 y 1/2) (log.f64 y))) y)
0.1b1(+.f64 (-.f64 x (*.f64 (+.f64 y 1/2) (log.f64 y))) y)
Compiler

Compiled 667 to 348 computations (47.8% saved)

regimes146.0ms (1.2%)

Counts
32 → 1
Calls
Call 1
Inputs
x
(neg.f64 z)
(+.f64 x y)
(-.f64 y z)
(-.f64 x z)
(-.f64 x z)
(-.f64 (+.f64 x y) z)
(+.f64 x (-.f64 y z))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(-.f64 (*.f64 -1/2 (log.f64 y)) z)
(-.f64 x (*.f64 1/2 (log.f64 y)))
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
(-.f64 (*.f64 (-.f64 1 (log.f64 y)) y) z)
(-.f64 (*.f64 (-.f64 1 (log.f64 y)) y) z)
(-.f64 (-.f64 x (*.f64 1/2 (log.f64 y))) z)
(+.f64 x (-.f64 y (*.f64 y (log.f64 y))))
(-.f64 (+.f64 (*.f64 (log.f64 y) (neg.f64 y)) y) z)
(-.f64 (+.f64 x (-.f64 y z)) (*.f64 y (log.f64 y)))
(-.f64 (+.f64 (-.f64 x (*.f64 y (log.f64 y))) y) z)
(-.f64 (-.f64 y (*.f64 (+.f64 1/2 y) (log.f64 y))) z)
(+.f64 (*.f64 (log.f64 y) (neg.f64 y)) (+.f64 x (-.f64 y z)))
(+.f64 (*.f64 (log.f64 y) (-.f64 -1/2 y)) (+.f64 x (-.f64 y z)))
(-.f64 (*.f64 y (-.f64 1 (*.f64 -1 (log.f64 (/.f64 1 y))))) z)
(-.f64 (+.f64 (-.f64 x (*.f64 (+.f64 y 1/2) (log.f64 y))) y) z)
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 y x)) (*.f64 (+.f64 1/2 y) (log.f64 y)))
(-.f64 y (fma.f64 y (log.f64 y) z))
(+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x))
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(-.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) y) z)
(-.f64 y (fma.f64 (log.f64 y) (-.f64 y -1/2) z))
Outputs
(+.f64 (*.f64 (log.f64 y) (-.f64 -1/2 y)) (+.f64 x (-.f64 y z)))
Calls

6 calls:

52.0ms
x
18.0ms
z
17.0ms
(+.f64 (-.f64 x (*.f64 (+.f64 y 1/2) (log.f64 y))) y)
17.0ms
(+.f64 (-.f64 x (*.f64 (+.f64 y 1/2) (log.f64 y))) y)
16.0ms
y
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1z
0.1b1(-.f64 (+.f64 (-.f64 x (*.f64 (+.f64 y 1/2) (log.f64 y))) y) z)
0.1b1(+.f64 (-.f64 x (*.f64 (+.f64 y 1/2) (log.f64 y))) y)
0.1b1(+.f64 (-.f64 x (*.f64 (+.f64 y 1/2) (log.f64 y))) y)
Compiler

Compiled 297 to 140 computations (52.9% saved)

regimes263.0ms (2.1%)

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

3 calls:

152.0ms
z
69.0ms
y
36.0ms
x
Results
ErrorSegmentsBranch
0.6b3x
0.6b2y
5.9b7z
Compiler

Compiled 154 to 63 computations (59.1% saved)

bsearch58.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
26.0ms
0.30948188756416667
116.77834656633918
31.0ms
-1.286930576034816e+28
-521252510.91663325
Compiler

Compiled 21 to 15 computations (28.6% saved)

regimes227.0ms (1.8%)

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

3 calls:

117.0ms
z
60.0ms
x
44.0ms
y
Results
ErrorSegmentsBranch
9.3b1x
0.6b2y
7.2b5z
Compiler

Compiled 133 to 57 computations (57.1% saved)

bsearch45.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
44.0ms
0.00044878939966875306
11.310080400850193
Compiler

Compiled 21 to 15 computations (28.6% saved)

regimes280.0ms (2.2%)

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

3 calls:

117.0ms
y
87.0ms
z
30.0ms
x
Results
ErrorSegmentsBranch
13.2b3x
4.9b4y
11.0b5z
Compiler

Compiled 113 to 53 computations (53.1% saved)

bsearch104.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
27.0ms
1.270005418956597e+137
8.644337985716854e+138
52.0ms
7.079442789313001e+106
1.103981065167453e+111
25.0ms
2.1821376748430874e+48
1.3507109106889214e+49
Compiler

Compiled 21 to 15 computations (28.6% saved)

regimes169.0ms (1.4%)

Counts
16 → 4
Calls
Call 1
Inputs
x
(neg.f64 z)
(+.f64 x y)
(-.f64 y z)
(-.f64 x z)
(-.f64 x z)
(-.f64 (+.f64 x y) z)
(+.f64 x (-.f64 y z))
(*.f64 y (-.f64 1 (log.f64 y)))
(-.f64 y (*.f64 y (log.f64 y)))
(-.f64 (*.f64 -1/2 (log.f64 y)) z)
(-.f64 x (*.f64 1/2 (log.f64 y)))
(*.f64 y (+.f64 1 (log.f64 (/.f64 1 y))))
(-.f64 (*.f64 (-.f64 1 (log.f64 y)) y) z)
(-.f64 (*.f64 (-.f64 1 (log.f64 y)) y) z)
(-.f64 (-.f64 x (*.f64 1/2 (log.f64 y))) z)
Outputs
(-.f64 (-.f64 x (*.f64 1/2 (log.f64 y))) z)
(-.f64 (*.f64 (-.f64 1 (log.f64 y)) y) z)
(-.f64 (-.f64 x (*.f64 1/2 (log.f64 y))) z)
(-.f64 (*.f64 (-.f64 1 (log.f64 y)) y) z)
Calls

3 calls:

56.0ms
z
55.0ms
x
52.0ms
y
Results
ErrorSegmentsBranch
14.5b3x
5.9b4y
14.4b6z
Compiler

Compiled 96 to 48 computations (50% saved)

bsearch173.0ms (1.4%)

Algorithm
binary-search
Steps
TimeLeftRight
28.0ms
6.794568280821671e+121
4.924971364918018e+124
97.0ms
9.535955973700263e+92
6.708788795554621e+93
47.0ms
2.2301578668171844e+47
2.1821376748430874e+48
Compiler

Compiled 21 to 15 computations (28.6% saved)

regimes260.0ms (2.1%)

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

3 calls:

124.0ms
y
57.0ms
z
26.0ms
x
Results
ErrorSegmentsBranch
14.5b3x
11.4b7y
13.9b7z
Compiler

Compiled 88 to 44 computations (50% saved)

bsearch177.0ms (1.4%)

Algorithm
binary-search
Steps
TimeLeftRight
27.0ms
6.794568280821671e+121
4.924971364918018e+124
23.0ms
9.535955973700263e+92
6.708788795554621e+93
24.0ms
2.2301578668171844e+47
2.1821376748430874e+48
56.0ms
1.2094996420823797e-182
6.8239457120550235e-180
23.0ms
3.8945163040762965e-225
1.7025977288632387e-223
25.0ms
4.2463194822090056e-272
9.232151895119163e-271
Compiler

Compiled 21 to 15 computations (28.6% saved)

regimes220.0ms (1.8%)

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

3 calls:

108.0ms
z
58.0ms
x
51.0ms
y
Results
ErrorSegmentsBranch
17.5b5x
14.4b5y
16.9b6z
Compiler

Compiled 72 to 36 computations (50% saved)

bsearch157.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
3.135040589641332e+143
1.2000577899749844e+145
83.0ms
1.2094996420823797e-182
6.8239457120550235e-180
24.0ms
3.8945163040762965e-225
1.7025977288632387e-223
24.0ms
4.2463194822090056e-272
9.232151895119163e-271
Compiler

Compiled 21 to 15 computations (28.6% saved)

regimes364.0ms (2.9%)

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

3 calls:

274.0ms
z
60.0ms
x
25.0ms
y
Results
ErrorSegmentsBranch
17.5b5x
16.4b3y
23.4b5z
Compiler

Compiled 58 to 27 computations (53.4% saved)

bsearch51.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
26.0ms
3.135040589641332e+143
1.2000577899749844e+145
25.0ms
4.2463194822090056e-272
9.232151895119163e-271
Compiler

Compiled 21 to 15 computations (28.6% saved)

regimes95.0ms (0.8%)

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

3 calls:

44.0ms
x
29.0ms
z
19.0ms
y
Results
ErrorSegmentsBranch
21.8b7x
17.8b2y
23.4b5z
Compiler

Compiled 52 to 24 computations (53.8% saved)

bsearch27.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
27.0ms
3.135040589641332e+143
1.2000577899749844e+145
Compiler

Compiled 21 to 15 computations (28.6% saved)

regimes34.0ms (0.3%)

Counts
8 → 1
Calls
Call 1
Inputs
x
(neg.f64 z)
(+.f64 x y)
(-.f64 y z)
(-.f64 x z)
(-.f64 x z)
(-.f64 (+.f64 x y) z)
(+.f64 x (-.f64 y z))
Outputs
(-.f64 x z)
Calls

3 calls:

12.0ms
y
11.0ms
x
9.0ms
z
Results
ErrorSegmentsBranch
27.6b1x
27.6b1y
27.6b1z
Compiler

Compiled 40 to 18 computations (55% saved)

regimes495.0ms (4%)

Counts
4 → 3
Calls
Call 1
Inputs
x
(neg.f64 z)
(+.f64 x y)
(-.f64 y z)
Outputs
(-.f64 y z)
x
(neg.f64 z)
Calls

3 calls:

440.0ms
z
33.0ms
y
19.0ms
x
Results
ErrorSegmentsBranch
30.9b5x
38.4b8y
30.3b3z
Compiler

Compiled 24 to 15 computations (37.5% saved)

bsearch64.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
37.0ms
3.6559387275368564e+82
6.366769516621301e+84
26.0ms
-1.682250078111826e+69
-6.079013764618509e+67
Compiler

Compiled 21 to 15 computations (28.6% saved)

regimes122.0ms (1%)

Accuracy

Total -32.4b remaining (-107%)

Threshold costs -32.4b (-107%)

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

3 calls:

55.0ms
y
42.0ms
x
22.0ms
z
Results
ErrorSegmentsBranch
30.9b5x
38.4b8y
30.3b3z
Compiler

Compiled 21 to 14 computations (33.3% saved)

bsearch117.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
42.0ms
3.6559387275368564e+82
6.366769516621301e+84
75.0ms
-1.682250078111826e+69
-6.079013764618509e+67
Compiler

Compiled 21 to 15 computations (28.6% saved)

simplify66.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
089502
1131502
2171502
3190502
4200502
5202502
6203502
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(-.f64 (+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) y) z)
(+.f64 (*.f64 (log.f64 y) (-.f64 -1/2 y)) (+.f64 x (-.f64 y z)))
(if (<=.f64 x -12869305760348160814038908928) (-.f64 (+.f64 x (-.f64 y z)) (*.f64 y (log.f64 y))) (if (<=.f64 x 5575130054047595/18014398509481984) (-.f64 (-.f64 y (*.f64 (+.f64 1/2 y) (log.f64 y))) z) (-.f64 (+.f64 x (-.f64 y z)) (*.f64 y (log.f64 y)))))
(if (<=.f64 y 4139351599341619/9223372036854775808) (-.f64 (-.f64 x (*.f64 1/2 (log.f64 y))) z) (-.f64 (+.f64 x (-.f64 y z)) (*.f64 y (log.f64 y))))
(if (<=.f64 y 2182137674843087351154735901934401912156935159808) (-.f64 (-.f64 x (*.f64 1/2 (log.f64 y))) z) (if (<=.f64 y 70794427893130011735270806962268397110729338939542534225660063765523240642198655611782949791456885487960064) (+.f64 x (-.f64 y (*.f64 y (log.f64 y)))) (if (<=.f64 y 127000541895659693078165212390666062415965712565763634622134625337803814141137950446843607702951539529702719850148256720954683240830992384) (-.f64 (-.f64 x (*.f64 1/2 (log.f64 y))) z) (+.f64 x (-.f64 y (*.f64 y (log.f64 y)))))))
(if (<=.f64 y 223015786681718443570424467161082097125797396480) (-.f64 (-.f64 x (*.f64 1/2 (log.f64 y))) z) (if (<=.f64 y 953595597370026321937195381937788363253944351561658023589514516419265265311440623460065214464) (-.f64 (*.f64 (-.f64 1 (log.f64 y)) y) z) (if (<=.f64 y 67945682808216711162154332003665542961100244553041932656946541945714576978891052044653828031714304358808588639691903860736) (-.f64 (-.f64 x (*.f64 1/2 (log.f64 y))) z) (-.f64 (*.f64 (-.f64 1 (log.f64 y)) y) z))))
(if (<=.f64 y 3232946620847829/76135265714062492815260799905274908678720522324960996303655519196976161646612703925512617702203205150197694658057880220183274764571899172238890525752442604840088107030909945545865544183516044127756246824056393584950668733792147460513643465745851293850216709399252168336576785859311828992) (-.f64 (*.f64 -1/2 (log.f64 y)) z) (if (<=.f64 y 6492172731166663/1667003608219963568519962947680314449286189580578977040099064452941009309454408017880358050217888572685732477648358310111472200413529841270090839013082707511523789394878503639615769571477953506182241254033971650495422687009369115322790969344) (-.f64 x z) (if (<=.f64 y 7232907239799071/598008216632976371697735644702348584536405246902083247220875921706093794716375762404103004004990504111786204800430166155026589905240121409306972824498630058082565445957748647537262486126146850127872) (-.f64 x (*.f64 1/2 (log.f64 y))) (if (<=.f64 y 223015786681718443570424467161082097125797396480) (-.f64 x z) (if (<=.f64 y 953595597370026321937195381937788363253944351561658023589514516419265265311440623460065214464) (-.f64 (*.f64 (-.f64 1 (log.f64 y)) y) z) (if (<=.f64 y 67945682808216711162154332003665542961100244553041932656946541945714576978891052044653828031714304358808588639691903860736) (-.f64 x z) (-.f64 (*.f64 (-.f64 1 (log.f64 y)) y) z)))))))
(if (<=.f64 y 3232946620847829/76135265714062492815260799905274908678720522324960996303655519196976161646612703925512617702203205150197694658057880220183274764571899172238890525752442604840088107030909945545865544183516044127756246824056393584950668733792147460513643465745851293850216709399252168336576785859311828992) (-.f64 (*.f64 -1/2 (log.f64 y)) z) (if (<=.f64 y 6492172731166663/1667003608219963568519962947680314449286189580578977040099064452941009309454408017880358050217888572685732477648358310111472200413529841270090839013082707511523789394878503639615769571477953506182241254033971650495422687009369115322790969344) (-.f64 x z) (if (<=.f64 y 7232907239799071/598008216632976371697735644702348584536405246902083247220875921706093794716375762404103004004990504111786204800430166155026589905240121409306972824498630058082565445957748647537262486126146850127872) (-.f64 x (*.f64 1/2 (log.f64 y))) (if (<=.f64 y 313504058964133204106902019735465211625170751083851656405908408566075609492172860242303383661210667223925379892365734603889681451541477946556416) (-.f64 x z) (*.f64 y (-.f64 1 (log.f64 y)))))))
(if (<=.f64 y 3232946620847829/76135265714062492815260799905274908678720522324960996303655519196976161646612703925512617702203205150197694658057880220183274764571899172238890525752442604840088107030909945545865544183516044127756246824056393584950668733792147460513643465745851293850216709399252168336576785859311828992) (-.f64 (*.f64 -1/2 (log.f64 y)) z) (if (<=.f64 y 313504058964133204106902019735465211625170751083851656405908408566075609492172860242303383661210667223925379892365734603889681451541477946556416) (-.f64 x z) (*.f64 y (-.f64 1 (log.f64 y)))))
(if (<=.f64 y 313504058964133204106902019735465211625170751083851656405908408566075609492172860242303383661210667223925379892365734603889681451541477946556416) (-.f64 x z) (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 x z)
(if (<=.f64 z -1682250078111825986762041713753301411389051926635774862717525933686784) (-.f64 y z) (if (<=.f64 z 36559387275368563793000012329320606314856929274934871569284629070724605213340073984) x (neg.f64 z)))
(if (<=.f64 z -1682250078111825986762041713753301411389051926635774862717525933686784) (neg.f64 z) (if (<=.f64 z 36559387275368563793000012329320606314856929274934871569284629070724605213340073984) x (neg.f64 z)))
x
Outputs
(-.f64 (+.f64 (fma.f64 (log.f64 y) (-.f64 -1/2 y) x) y) z)
(-.f64 (+.f64 y (fma.f64 (log.f64 y) (-.f64 -1/2 y) x)) z)
(+.f64 (*.f64 (log.f64 y) (-.f64 -1/2 y)) (+.f64 x (-.f64 y z)))
(+.f64 (+.f64 x (-.f64 y z)) (*.f64 (log.f64 y) (-.f64 -1/2 y)))
(if (<=.f64 x -12869305760348160814038908928) (-.f64 (+.f64 x (-.f64 y z)) (*.f64 y (log.f64 y))) (if (<=.f64 x 5575130054047595/18014398509481984) (-.f64 (-.f64 y (*.f64 (+.f64 1/2 y) (log.f64 y))) z) (-.f64 (+.f64 x (-.f64 y z)) (*.f64 y (log.f64 y)))))
(if (<=.f64 x -12869305760348160814038908928) (-.f64 (+.f64 x (-.f64 y z)) (*.f64 y (log.f64 y))) (if (<=.f64 x 5575130054047595/18014398509481984) (-.f64 (-.f64 y (*.f64 (log.f64 y) (+.f64 y 1/2))) z) (-.f64 (+.f64 x (-.f64 y z)) (*.f64 y (log.f64 y)))))
(if (<=.f64 y 4139351599341619/9223372036854775808) (-.f64 (-.f64 x (*.f64 1/2 (log.f64 y))) z) (-.f64 (+.f64 x (-.f64 y z)) (*.f64 y (log.f64 y))))
(if (<=.f64 y 4139351599341619/9223372036854775808) (-.f64 (+.f64 x (*.f64 (log.f64 y) -1/2)) z) (-.f64 (+.f64 x (-.f64 y z)) (*.f64 y (log.f64 y))))
(if (<=.f64 y 2182137674843087351154735901934401912156935159808) (-.f64 (-.f64 x (*.f64 1/2 (log.f64 y))) z) (if (<=.f64 y 70794427893130011735270806962268397110729338939542534225660063765523240642198655611782949791456885487960064) (+.f64 x (-.f64 y (*.f64 y (log.f64 y)))) (if (<=.f64 y 127000541895659693078165212390666062415965712565763634622134625337803814141137950446843607702951539529702719850148256720954683240830992384) (-.f64 (-.f64 x (*.f64 1/2 (log.f64 y))) z) (+.f64 x (-.f64 y (*.f64 y (log.f64 y)))))))
(if (<=.f64 y 2182137674843087351154735901934401912156935159808) (-.f64 (+.f64 x (*.f64 (log.f64 y) -1/2)) z) (if (<=.f64 y 70794427893130011735270806962268397110729338939542534225660063765523240642198655611782949791456885487960064) (+.f64 x (-.f64 y (*.f64 y (log.f64 y)))) (if (<=.f64 y 127000541895659693078165212390666062415965712565763634622134625337803814141137950446843607702951539529702719850148256720954683240830992384) (-.f64 (+.f64 x (*.f64 (log.f64 y) -1/2)) z) (+.f64 x (-.f64 y (*.f64 y (log.f64 y)))))))
(if (<=.f64 y 223015786681718443570424467161082097125797396480) (-.f64 (-.f64 x (*.f64 1/2 (log.f64 y))) z) (if (<=.f64 y 953595597370026321937195381937788363253944351561658023589514516419265265311440623460065214464) (-.f64 (*.f64 (-.f64 1 (log.f64 y)) y) z) (if (<=.f64 y 67945682808216711162154332003665542961100244553041932656946541945714576978891052044653828031714304358808588639691903860736) (-.f64 (-.f64 x (*.f64 1/2 (log.f64 y))) z) (-.f64 (*.f64 (-.f64 1 (log.f64 y)) y) z))))
(if (<=.f64 y 223015786681718443570424467161082097125797396480) (-.f64 (+.f64 x (*.f64 (log.f64 y) -1/2)) z) (if (<=.f64 y 953595597370026321937195381937788363253944351561658023589514516419265265311440623460065214464) (-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z) (if (<=.f64 y 67945682808216711162154332003665542961100244553041932656946541945714576978891052044653828031714304358808588639691903860736) (-.f64 (+.f64 x (*.f64 (log.f64 y) -1/2)) z) (-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z))))
(if (<=.f64 y 3232946620847829/76135265714062492815260799905274908678720522324960996303655519196976161646612703925512617702203205150197694658057880220183274764571899172238890525752442604840088107030909945545865544183516044127756246824056393584950668733792147460513643465745851293850216709399252168336576785859311828992) (-.f64 (*.f64 -1/2 (log.f64 y)) z) (if (<=.f64 y 6492172731166663/1667003608219963568519962947680314449286189580578977040099064452941009309454408017880358050217888572685732477648358310111472200413529841270090839013082707511523789394878503639615769571477953506182241254033971650495422687009369115322790969344) (-.f64 x z) (if (<=.f64 y 7232907239799071/598008216632976371697735644702348584536405246902083247220875921706093794716375762404103004004990504111786204800430166155026589905240121409306972824498630058082565445957748647537262486126146850127872) (-.f64 x (*.f64 1/2 (log.f64 y))) (if (<=.f64 y 223015786681718443570424467161082097125797396480) (-.f64 x z) (if (<=.f64 y 953595597370026321937195381937788363253944351561658023589514516419265265311440623460065214464) (-.f64 (*.f64 (-.f64 1 (log.f64 y)) y) z) (if (<=.f64 y 67945682808216711162154332003665542961100244553041932656946541945714576978891052044653828031714304358808588639691903860736) (-.f64 x z) (-.f64 (*.f64 (-.f64 1 (log.f64 y)) y) z)))))))
(if (<=.f64 y 3232946620847829/76135265714062492815260799905274908678720522324960996303655519196976161646612703925512617702203205150197694658057880220183274764571899172238890525752442604840088107030909945545865544183516044127756246824056393584950668733792147460513643465745851293850216709399252168336576785859311828992) (-.f64 (*.f64 (log.f64 y) -1/2) z) (if (<=.f64 y 6492172731166663/1667003608219963568519962947680314449286189580578977040099064452941009309454408017880358050217888572685732477648358310111472200413529841270090839013082707511523789394878503639615769571477953506182241254033971650495422687009369115322790969344) (-.f64 x z) (if (<=.f64 y 7232907239799071/598008216632976371697735644702348584536405246902083247220875921706093794716375762404103004004990504111786204800430166155026589905240121409306972824498630058082565445957748647537262486126146850127872) (+.f64 x (*.f64 (log.f64 y) -1/2)) (if (<=.f64 y 223015786681718443570424467161082097125797396480) (-.f64 x z) (if (<=.f64 y 953595597370026321937195381937788363253944351561658023589514516419265265311440623460065214464) (-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z) (if (<=.f64 y 67945682808216711162154332003665542961100244553041932656946541945714576978891052044653828031714304358808588639691903860736) (-.f64 x z) (-.f64 (*.f64 y (-.f64 1 (log.f64 y))) z)))))))
(if (<=.f64 y 3232946620847829/76135265714062492815260799905274908678720522324960996303655519196976161646612703925512617702203205150197694658057880220183274764571899172238890525752442604840088107030909945545865544183516044127756246824056393584950668733792147460513643465745851293850216709399252168336576785859311828992) (-.f64 (*.f64 -1/2 (log.f64 y)) z) (if (<=.f64 y 6492172731166663/1667003608219963568519962947680314449286189580578977040099064452941009309454408017880358050217888572685732477648358310111472200413529841270090839013082707511523789394878503639615769571477953506182241254033971650495422687009369115322790969344) (-.f64 x z) (if (<=.f64 y 7232907239799071/598008216632976371697735644702348584536405246902083247220875921706093794716375762404103004004990504111786204800430166155026589905240121409306972824498630058082565445957748647537262486126146850127872) (-.f64 x (*.f64 1/2 (log.f64 y))) (if (<=.f64 y 313504058964133204106902019735465211625170751083851656405908408566075609492172860242303383661210667223925379892365734603889681451541477946556416) (-.f64 x z) (*.f64 y (-.f64 1 (log.f64 y)))))))
(if (<=.f64 y 3232946620847829/76135265714062492815260799905274908678720522324960996303655519196976161646612703925512617702203205150197694658057880220183274764571899172238890525752442604840088107030909945545865544183516044127756246824056393584950668733792147460513643465745851293850216709399252168336576785859311828992) (-.f64 (*.f64 (log.f64 y) -1/2) z) (if (<=.f64 y 6492172731166663/1667003608219963568519962947680314449286189580578977040099064452941009309454408017880358050217888572685732477648358310111472200413529841270090839013082707511523789394878503639615769571477953506182241254033971650495422687009369115322790969344) (-.f64 x z) (if (<=.f64 y 7232907239799071/598008216632976371697735644702348584536405246902083247220875921706093794716375762404103004004990504111786204800430166155026589905240121409306972824498630058082565445957748647537262486126146850127872) (+.f64 x (*.f64 (log.f64 y) -1/2)) (if (<=.f64 y 313504058964133204106902019735465211625170751083851656405908408566075609492172860242303383661210667223925379892365734603889681451541477946556416) (-.f64 x z) (*.f64 y (-.f64 1 (log.f64 y)))))))
(if (<=.f64 y 3232946620847829/76135265714062492815260799905274908678720522324960996303655519196976161646612703925512617702203205150197694658057880220183274764571899172238890525752442604840088107030909945545865544183516044127756246824056393584950668733792147460513643465745851293850216709399252168336576785859311828992) (-.f64 (*.f64 -1/2 (log.f64 y)) z) (if (<=.f64 y 313504058964133204106902019735465211625170751083851656405908408566075609492172860242303383661210667223925379892365734603889681451541477946556416) (-.f64 x z) (*.f64 y (-.f64 1 (log.f64 y)))))
(if (<=.f64 y 3232946620847829/76135265714062492815260799905274908678720522324960996303655519196976161646612703925512617702203205150197694658057880220183274764571899172238890525752442604840088107030909945545865544183516044127756246824056393584950668733792147460513643465745851293850216709399252168336576785859311828992) (-.f64 (*.f64 (log.f64 y) -1/2) z) (if (<=.f64 y 313504058964133204106902019735465211625170751083851656405908408566075609492172860242303383661210667223925379892365734603889681451541477946556416) (-.f64 x z) (*.f64 y (-.f64 1 (log.f64 y)))))
(if (<=.f64 y 313504058964133204106902019735465211625170751083851656405908408566075609492172860242303383661210667223925379892365734603889681451541477946556416) (-.f64 x z) (*.f64 y (-.f64 1 (log.f64 y))))
(-.f64 x z)
(if (<=.f64 z -1682250078111825986762041713753301411389051926635774862717525933686784) (-.f64 y z) (if (<=.f64 z 36559387275368563793000012329320606314856929274934871569284629070724605213340073984) x (neg.f64 z)))
(if (<=.f64 z -1682250078111825986762041713753301411389051926635774862717525933686784) (neg.f64 z) (if (<=.f64 z 36559387275368563793000012329320606314856929274934871569284629070724605213340073984) x (neg.f64 z)))
x
Compiler

Compiled 381 to 225 computations (40.9% saved)

soundness142.0ms (1.1%)

Algorithm
egg-herbie
Rules
521×+-commutative_binary64
519×fma-neg_binary64
472×associate-+l-_binary64
385×associate--l+_binary64
291×associate--r+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0701202
12411160
27051078
319451078
455261078
570921078
Stop Event
node limit
Compiler

Compiled 95 to 71 computations (25.3% saved)

end336.0ms (2.7%)

Compiler

Compiled 342 to 164 computations (52% saved)

Profiling

Loading profile data...