Details

Time bar (total: 13.0s)

analyze194.0ms (1.5%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%87.4%12.6%5
0%74.9%25.1%6
3.1%71.8%25.1%7
7.8%60.8%31.4%8
11.7%50.7%37.6%9
17.6%44.9%37.6%10
22.8%36.5%40.7%11
26.6%29.5%43.8%12
Compiler

Compiled 12 to 8 computations (33.3% saved)

sample1.4s (10.4%)

Results
1.2s8256×body256valid
117.0ms1100×body256invalid

preprocess202.0ms (1.5%)

Algorithm
egg-herbie
Rules
783×div-sub_binary64
742×sub-neg_binary64
477×associate-/r*_binary64
442×associate-/r/_binary64
367×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02048
14248
26548
312348
434248
582848
6185148
7296948
8415548
9490748
10602748
11672148
12683148
13695548
14702748
15702748
16783248
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 y (log.f64 (/.f64 y x))) z)
(-.f64 (*.f64 z (log.f64 (/.f64 z y))) x)
(-.f64 (*.f64 x (log.f64 (/.f64 x z))) y)
Outputs
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 y (log.f64 (/.f64 y x))) z)
(fma.f64 y (log.f64 (/.f64 y x)) (neg.f64 z))
(-.f64 (*.f64 z (log.f64 (/.f64 z y))) x)
(fma.f64 z (log.f64 (/.f64 z y)) (neg.f64 x))
(-.f64 (*.f64 x (log.f64 (/.f64 x z))) y)
(fma.f64 x (log.f64 (/.f64 x z)) (neg.f64 y))
Compiler

Compiled 14 to 10 computations (28.6% saved)

simplify255.0ms (2%)

Algorithm
egg-herbie
Rules
2527×fma-neg_binary64
1695×fma-def_binary64
365×distribute-rgt-in_binary64
337×unsub-neg_binary64
315×associate--l+_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0812
11512
22312
33912
49812
523212
649912
792012
8127612
9219212
10370512
11407912
12420612
13424512
14425912
15564112
16687212
17731112
18763712
19772212
20777212
21778212
22787412
23788612
24788612
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
Outputs
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)

eval0.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
14.3b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
14.3b
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
Compiler

Compiled 11 to 7 computations (36.4% saved)

localize35.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
0.2b
(*.f64 x (log.f64 (/.f64 x y)))
13.9b
(log.f64 (/.f64 x y))
Compiler

Compiled 27 to 7 computations (74.1% saved)

series186.0ms (1.4%)

Counts
3 → 84
Calls

21 calls:

TimeVariablePointExpression
51.0ms
x
@-inf
(log.f64 (/.f64 x y))
33.0ms
y
@-inf
(log.f64 (/.f64 x y))
30.0ms
x
@0
(log.f64 (/.f64 x y))
29.0ms
x
@0
(*.f64 x (log.f64 (/.f64 x y)))
15.0ms
y
@0
(log.f64 (/.f64 x y))

rewrite92.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
989×pow1_binary64
916×add-log-exp_binary64
916×log1p-expm1-u_binary64
916×expm1-log1p-u_binary64
92×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify214.0ms (1.6%)

Algorithm
egg-herbie
Rules
2265×fma-neg_binary64
776×fma-def_binary64
570×unsub-neg_binary64
344×distribute-rgt-in_binary64
284×distribute-neg-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
044999
196756
2176756
3493756
41348756
53113756
65014756
75917756
86132756
96194756
106204756
116206756
126248756
136264756
146264756
Stop Event
node limit
Counts
159 → 98
Calls
Call 1
Inputs
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x))
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x))
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x))
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x))
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x))
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x))
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x))
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)
(*.f64 (log.f64 (/.f64 x y)) x)
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x))
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x))
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x))
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x))
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x))
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x))
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x))
Outputs
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(log.f64 (/.f64 x y))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x))
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x))
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x))
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x))
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x))
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x))
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x))
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x))
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x))
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(*.f64 (log.f64 (/.f64 x y)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (log.f64 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x))
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x))
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x))
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x))
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x))
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x))
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x))
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x))
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x))
(-.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)

eval20.0ms (0.2%)

Compiler

Compiled 1344 to 482 computations (64.1% saved)

prune69.0ms (0.5%)

Pruning

17 alts after pruning (16 fresh and 1 done)

PrunedKeptTotal
New821698
Fresh000
Picked011
Done000
Total821799
Error
0.0b
Counts
99 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
38.1b
(/.f64 1 (/.f64 (fma.f64 x (log.f64 (/.f64 x y)) z) (-.f64 (pow.f64 (*.f64 x (log.f64 (/.f64 x y))) 2) (*.f64 z z))))
40.9b
(-.f64 (exp.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))) z)
31.1b
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)
14.3b
(-.f64 (*.f64 x (+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y))))) z)
14.3b
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
41.9b
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2)
15.2b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2) (cbrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)))
38.5b
(*.f64 (log.f64 (/.f64 x y)) x)
38.8b
(-.f64 (*.f64 x (expm1.f64 (log1p.f64 (log.f64 (/.f64 x y))))) z)
33.2b
(-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z)
32.8b
(neg.f64 z)
14.3b
(-.f64 (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) z)
14.8b
(-.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)) z)
31.2b
(-.f64 (*.f64 x (/.f64 (-.f64 (pow.f64 (log.f64 x) 3) (pow.f64 (log.f64 y) 3)) (+.f64 (*.f64 (log.f64 x) (log.f64 x)) (+.f64 (*.f64 (log.f64 y) (log.f64 y)) (*.f64 (log.f64 x) (log.f64 y)))))) z)
14.7b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3) z)
38.8b
(-.f64 (*.f64 x (exp.f64 (log.f64 (log.f64 (/.f64 x y))))) z)
14.4b
(-.f64 (*.f64 x (cbrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 3))) z)
Compiler

Compiled 511 to 323 computations (36.8% saved)

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) z)
0.2b
(*.f64 x (neg.f64 (log.f64 (/.f64 y x))))
13.7b
(log.f64 (/.f64 y x))
Compiler

Compiled 34 to 8 computations (76.5% saved)

series199.0ms (1.5%)

Counts
3 → 84
Calls

21 calls:

TimeVariablePointExpression
63.0ms
x
@0
(*.f64 x (neg.f64 (log.f64 (/.f64 y x))))
61.0ms
y
@-inf
(log.f64 (/.f64 y x))
16.0ms
y
@0
(log.f64 (/.f64 y x))
16.0ms
x
@0
(log.f64 (/.f64 y x))
16.0ms
x
@-inf
(log.f64 (/.f64 y x))

rewrite67.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
681×prod-diff_binary64
482×log-prod_binary64
282×pow-prod-down_binary64
251×fma-def_binary64
240×pow2_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify219.0ms (1.7%)

Algorithm
egg-herbie
Rules
609×fma-neg_binary64
513×div-sub_binary64
493×unsub-neg_binary64
362×distribute-rgt-in_binary64
323×sub-neg_binary64
Iterations

Useful iterations: 10 (0.0ms)

IterNodesCost
0501194
1143870
2365810
3939810
42653810
55039810
65687810
75870810
85962810
96032810
106226756
116730756
126856756
137573756
Stop Event
node limit
Counts
168 → 104
Calls
Call 1
Inputs
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y))
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y))
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y))
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y))
(+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y))))
(+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y))))
(+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y))))
(+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x)))
(+.f64 (log.f64 y) (*.f64 -1 (log.f64 x)))
(+.f64 (log.f64 y) (*.f64 -1 (log.f64 x)))
(+.f64 (log.f64 y) (*.f64 -1 (log.f64 x)))
(+.f64 (log.f64 y) (*.f64 -1 (log.f64 x)))
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y))
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y))
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y))
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))
(*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x))
(*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x))
(*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x))
(*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))
(*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))))
(*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))))
(*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))))
(*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x)))))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x)))))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x)))))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x)))))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x)))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)))
(*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))))))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))))))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))))))
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) x)) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) x)) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) x)) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) x)) z)
(*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)))
Outputs
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y))))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y))))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y))))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y))))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x)))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x)))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x)))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x)))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (log.f64 y) (*.f64 -1 (log.f64 x)))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (log.f64 y) (*.f64 -1 (log.f64 x)))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (log.f64 y) (*.f64 -1 (log.f64 x)))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (log.f64 y) (*.f64 -1 (log.f64 x)))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (log.f64 (/.f64 1 x)) (log.f64 y))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))
(+.f64 (neg.f64 (log.f64 x)) (log.f64 y))
(log.f64 (/.f64 y x))
(*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x)))))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x)))))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x)))))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 (*.f64 x (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x)))))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x)))
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x)))
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 y) (*.f64 -1 (log.f64 x))) x)))
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)))
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)))
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)))
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y)))))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))))))
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))))))
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 x (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 (*.f64 -1 y))))))
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) z)
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) z)
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) z)
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (log.f64 y)) x)) z)
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) z)
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) z)
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) z)
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (log.f64 (/.f64 1 x)) (*.f64 -1 (log.f64 (/.f64 1 y)))) x)) z)
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) x)) z)
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) x)) z)
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) x)) z)
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 y))) (log.f64 (/.f64 -1 x))) x)) z)
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))
(neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y))))
(*.f64 (log.f64 (/.f64 y x)) (neg.f64 x))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 x (log.f64 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)))
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)))
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)))
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)))
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)))
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)))
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)))
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)))
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)))
(-.f64 (neg.f64 (*.f64 x (+.f64 (neg.f64 (log.f64 x)) (log.f64 y)))) z)
(-.f64 (*.f64 (log.f64 (/.f64 y x)) (neg.f64 x)) z)
(neg.f64 (fma.f64 x (log.f64 (/.f64 y x)) z))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)

localize3.0ms (0%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(log.f64 (*.f64 x (log.f64 (/.f64 x y))))
0.2b
(*.f64 x (log.f64 (/.f64 x y)))
2.8b
(exp.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y)))))
13.9b
(log.f64 (/.f64 x y))
Compiler

Compiled 44 to 9 computations (79.5% saved)

series152.0ms (1.2%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
69.0ms
y
@inf
(log.f64 (*.f64 x (log.f64 (/.f64 x y))))
21.0ms
x
@inf
(log.f64 (*.f64 x (log.f64 (/.f64 x y))))
16.0ms
x
@-inf
(log.f64 (*.f64 x (log.f64 (/.f64 x y))))
15.0ms
y
@-inf
(log.f64 (*.f64 x (log.f64 (/.f64 x y))))
15.0ms
y
@0
(log.f64 (*.f64 x (log.f64 (/.f64 x y))))

rewrite109.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

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

simplify228.0ms (1.8%)

Algorithm
egg-herbie
Rules
1503×fma-def_binary64
715×fma-neg_binary64
423×unsub-neg_binary64
403×associate--r-_binary64
339×distribute-rgt-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
042624
191576
2179576
3452576
41217576
52729576
64152576
74755576
84889576
94897576
104899576
117309576
127583576
137711576
147887576
157950576
167954576
Stop Event
node limit
Counts
101 → 66
Calls
Call 1
Inputs
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(+.f64 (log.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) (log.f64 x))
(+.f64 (log.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) (log.f64 x))
(+.f64 (log.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) (log.f64 x))
(+.f64 (log.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) (log.f64 x))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))))
(+.f64 (log.f64 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))) (*.f64 -1 (log.f64 (/.f64 -1 x))))
(+.f64 (log.f64 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))) (*.f64 -1 (log.f64 (/.f64 -1 x))))
(+.f64 (log.f64 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))) (*.f64 -1 (log.f64 (/.f64 -1 x))))
(+.f64 (log.f64 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))) (*.f64 -1 (log.f64 (/.f64 -1 x))))
(log.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x))
(log.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x))
(log.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x))
(log.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x))
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x))
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x))
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x))
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x))
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x))
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x))
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x))
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x))
Outputs
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(+.f64 (log.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) (log.f64 x))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(+.f64 (log.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) (log.f64 x))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(+.f64 (log.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) (log.f64 x))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(+.f64 (log.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))) (log.f64 x))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(+.f64 (log.f64 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))) (*.f64 -1 (log.f64 (/.f64 -1 x))))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(+.f64 (log.f64 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))) (*.f64 -1 (log.f64 (/.f64 -1 x))))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(+.f64 (log.f64 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))) (*.f64 -1 (log.f64 (/.f64 -1 x))))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(+.f64 (log.f64 (*.f64 -1 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))) (*.f64 -1 (log.f64 (/.f64 -1 x))))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(log.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(log.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(log.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(log.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(log.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x))
(log.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(log.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3))
0.5b
(cbrt.f64 (log.f64 (/.f64 x y)))
0.8b
(pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)
13.9b
(log.f64 (/.f64 x y))
Compiler

Compiled 46 to 16 computations (65.2% saved)

series71.0ms (0.5%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
38.0ms
x
@0
(pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)
7.0ms
y
@-inf
(*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3))
4.0ms
y
@0
(pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)
4.0ms
x
@inf
(pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)
4.0ms
x
@-inf
(pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)

rewrite99.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
811×pow1_binary64
759×add-log-exp_binary64
759×log1p-expm1-u_binary64
759×expm1-log1p-u_binary64
741×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify131.0ms (1%)

Algorithm
egg-herbie
Rules
417×fma-neg_binary64
387×associate-*l*_binary64
341×distribute-rgt-neg-out_binary64
319×associate-*r*_binary64
316×unsub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
046888
1143756
2300756
3990756
43782756
57691756
Stop Event
node limit
Counts
133 → 81
Calls
Call 1
Inputs
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(pow.f64 (*.f64 (pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 2) (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))) 1/3)
(pow.f64 (*.f64 (pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 2) (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))) 1/3)
(pow.f64 (*.f64 (pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 2) (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))) 1/3)
(pow.f64 (*.f64 (pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 2) (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))) 1/3)
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3)
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3)
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3)
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) 1/3)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) 1/3)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) 1/3)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) 1/3)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) 1/3)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) 1/3)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) 1/3)
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) 1/3)
(pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 1/3)
(pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 1/3)
(pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 1/3)
(pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 1/3)
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3)
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3)
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3)
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3)
(pow.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) 1/3)
(pow.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) 1/3)
(pow.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) 1/3)
(pow.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) 1/3)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
Outputs
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(-.f64 (log.f64 x) (log.f64 y))
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(-.f64 (log.f64 x) (log.f64 y))
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(-.f64 (log.f64 x) (log.f64 y))
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(-.f64 (log.f64 x) (log.f64 y))
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(-.f64 (log.f64 x) (log.f64 y))
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(-.f64 (log.f64 x) (log.f64 y))
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(-.f64 (log.f64 x) (log.f64 y))
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(-.f64 (log.f64 x) (log.f64 y))
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(-.f64 (log.f64 x) (log.f64 y))
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(-.f64 (log.f64 x) (log.f64 y))
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(-.f64 (log.f64 x) (log.f64 y))
(*.f64 (pow.f64 1 1/3) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(-.f64 (log.f64 x) (log.f64 y))
(pow.f64 (*.f64 (pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 2) (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))) 1/3)
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(-.f64 (log.f64 x) (log.f64 y))
(pow.f64 (*.f64 (pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 2) (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))) 1/3)
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(-.f64 (log.f64 x) (log.f64 y))
(pow.f64 (*.f64 (pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 2) (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))) 1/3)
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(-.f64 (log.f64 x) (log.f64 y))
(pow.f64 (*.f64 (pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 2) (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))) 1/3)
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(-.f64 (log.f64 x) (log.f64 y))
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(-.f64 (log.f64 x) (log.f64 y))
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(-.f64 (log.f64 x) (log.f64 y))
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(-.f64 (log.f64 x) (log.f64 y))
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(-.f64 (log.f64 x) (log.f64 y))
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(*.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(*.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(*.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))
(*.f64 (pow.f64 1 1/3) (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(*.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3)
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y)))
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3)
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y)))
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3)
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y)))
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3)
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y)))
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) 1/3)
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y)))
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) 1/3)
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y)))
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) 1/3)
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y)))
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) 1/3)
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y)))
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) 1/3)
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y)))
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) 1/3)
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y)))
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) 1/3)
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y)))
(pow.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) 1/3)
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y)))
(pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 1/3)
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y)))
(pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 1/3)
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y)))
(pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 1/3)
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y)))
(pow.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) 1/3)
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y)))
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3)
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y)))
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3)
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y)))
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3)
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y)))
(pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 1/3)
(cbrt.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(cbrt.f64 (-.f64 (log.f64 x) (log.f64 y)))
(pow.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) 1/3)
(cbrt.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))))
(pow.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) 1/3)
(cbrt.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))))
(pow.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) 1/3)
(cbrt.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))))
(pow.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) 1/3)
(cbrt.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))))

localize101.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y))))
0.4b
(pow.f64 (cbrt.f64 (/.f64 x y)) 2)
3.8b
(log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))
14.2b
(cbrt.f64 (/.f64 x y))
Compiler

Compiled 77 to 27 computations (64.9% saved)

series22.0ms (0.2%)

Counts
4 → 0
Calls

24 calls:

TimeVariablePointExpression
4.0ms
x
@inf
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y))))
2.0ms
x
@-inf
(log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))
1.0ms
x
@-inf
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y))))
1.0ms
x
@0
(log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))
1.0ms
x
@0
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y))))

rewrite105.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
702×prod-diff_binary64
469×log-prod_binary64
289×pow-prod-down_binary64
249×pow2_binary64
245×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01032
121432
2271830
Stop Event
node limit
Counts
4 → 234
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 x y))
(log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))
(pow.f64 (cbrt.f64 (/.f64 x y)) 2)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (/.f64 x y)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (/.f64 x y))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 x y)) (pow.f64 (exp.f64 1) (fma.f64 (neg.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 1 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 x y)) (pow.f64 (exp.f64 1) (fma.f64 (neg.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 x y)) (pow.f64 (exp.f64 1) (fma.f64 (neg.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (pow.f64 (exp.f64 1) (neg.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (pow.f64 (exp.f64 1) (*.f64 -1 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (pow.f64 (exp.f64 1) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (pow.f64 (exp.f64 1) (*.f64 (neg.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (cbrt.f64 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 2) (cbrt.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 x y) 1/6) (pow.f64 (/.f64 x y) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 4)) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1) (*.f64 1/3 (*.f64 2/3 (log.f64 (/.f64 x y))))) (pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1) (*.f64 1/6 (log.f64 (/.f64 x y)))) (pow.f64 (exp.f64 1) (*.f64 1/6 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (cbrt.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (cbrt.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cbrt.f64 y) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 x) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (neg.f64 x)) (cbrt.f64 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 x)) (neg.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1) (exp.f64 (log1p.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))) (pow.f64 (exp.f64 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 x))) (pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 x y) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 2) (*.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 x y) 2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 x y) 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 2) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 x y) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 x y)) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 y x) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (*.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (*.f64 (log.f64 (/.f64 x y)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (*.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (*.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 2))) (*.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 x y)))) (*.f64 (sqrt.f64 (log.f64 (/.f64 x y))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y))))) (*.f64 (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) 2)) (*.f64 (cbrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 y x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cbrt.f64 y) (cbrt.f64 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) 1) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) 1) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (cbrt.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (sqrt.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))) (sqrt.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2))) (sqrt.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) 1/3) (log.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (+.f64 (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))) (-.f64 (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) 1) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (cbrt.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))) (cbrt.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2))) (cbrt.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) 2)) (cbrt.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (sqrt.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))) (sqrt.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 x y)) 1/3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 (/.f64 x y))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 2/3 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 4)) (*.f64 1/3 (*.f64 2/3 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (*.f64 2/3 (log.f64 (/.f64 x y)))) (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/6 (log.f64 (/.f64 x y))) (log.f64 (sqrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (/.f64 x y))) (*.f64 1/6 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 5)) (log.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 2/3 (log.f64 (/.f64 x y))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (log.f64 (cbrt.f64 x))) (*.f64 2 (log.f64 (cbrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 (/.f64 x y)))) (log.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (cbrt.f64 (/.f64 x y)) (cbrt.f64 x))) (log.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 2/3 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (pow.f64 (cbrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) 2) (cbrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (*.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (*.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (log.f64 (pow.f64 (/.f64 x y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 1/3 (*.f64 2/3 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2/3 (log.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 1 (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log.f64 (cbrt.f64 (/.f64 x y))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/3 (log.f64 (/.f64 x y)) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (-.f64 (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (log.f64 (cbrt.f64 (/.f64 x y))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 x y)) (cbrt.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (pow.f64 (exp.f64 2) (fma.f64 (neg.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 1 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (pow.f64 (exp.f64 2) (fma.f64 (neg.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (pow.f64 (exp.f64 2) (fma.f64 (neg.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 4) (pow.f64 (exp.f64 2) (neg.f64 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 4) (pow.f64 (exp.f64 2) (*.f64 -1 (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 4) (pow.f64 (exp.f64 2) (*.f64 (neg.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 4) (pow.f64 (exp.f64 2) (*.f64 (neg.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 4) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 x y) 1/6) (sqrt.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 x y)) (pow.f64 (/.f64 x y) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 5) (cbrt.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 2) (*.f64 1/3 (*.f64 2/3 (log.f64 (/.f64 x y))))) (pow.f64 (exp.f64 2) (log.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 2) (*.f64 1/6 (log.f64 (/.f64 x y)))) (pow.f64 (exp.f64 2) (*.f64 1/6 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1) (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 4))) (pow.f64 (exp.f64 1) (*.f64 1/3 (*.f64 2/3 (log.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 4) (pow.f64 (cbrt.f64 (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 (/.f64 x y))) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 x y)) (cbrt.f64 x)) (cbrt.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 2) (exp.f64 (log1p.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))) (exp.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 2) (log.f64 (cbrt.f64 x))) (pow.f64 (exp.f64 2) (log.f64 (cbrt.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1) (exp.f64 (log1p.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))))) (pow.f64 (exp.f64 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 x y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2/3 (log.f64 (/.f64 x y))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 x) (log.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (log.f64 (/.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (log.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (log.f64 (/.f64 (/.f64 y x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (log.f64 (cbrt.f64 x))) (log.f64 (/.f64 y (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (sqrt.f64 x)) (log.f64 (/.f64 y (sqrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 2) (log.f64 (cbrt.f64 (/.f64 x y)))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 -1) (log.f64 (neg.f64 (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (neg.f64 (neg.f64 x))) (log.f64 (neg.f64 (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (/.f64 x (sqrt.f64 y))) (log.f64 (sqrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (/.f64 x 1)) (log.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (/.f64 x (pow.f64 (cbrt.f64 y) 2))) (log.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (cbrt.f64 x))) (log.f64 (cbrt.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (log.f64 (sqrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (/.f64 x y))) (cbrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 2)) (cbrt.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (/.f64 x y))) (sqrt.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (*.f64 3 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 3) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) (/.f64 1 (-.f64 (fma.f64 4 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2)) (*.f64 2 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 (/.f64 x y)) (log.f64 (cbrt.f64 (/.f64 x y)))) (/.f64 1 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (log.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 4 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2)) (*.f64 2 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2))) (+.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 3) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (log.f64 (cbrt.f64 (/.f64 x y))) (*.f64 (log.f64 (/.f64 x y)) (log.f64 (cbrt.f64 (/.f64 x y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 3) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) (-.f64 (fma.f64 4 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2)) (*.f64 2 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 3) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) (+.f64 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2) (-.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 2) (*.f64 2 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (/.f64 x y)) (log.f64 (cbrt.f64 (/.f64 x y)))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 3) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3))) (neg.f64 (-.f64 (fma.f64 4 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2)) (*.f64 2 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (log.f64 (/.f64 x y)) (log.f64 (cbrt.f64 (/.f64 x y))))) (neg.f64 (log.f64 (cbrt.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2) (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 2)) (-.f64 (log.f64 (cbrt.f64 (/.f64 x y))) (*.f64 2/3 (log.f64 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (/.f64 x y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (/.f64 x y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (fma.f64 4 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2)) (*.f64 2 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2))) (+.f64 (pow.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 3) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (log.f64 (cbrt.f64 (/.f64 x y))) (*.f64 (log.f64 (/.f64 x y)) (log.f64 (cbrt.f64 (/.f64 x y))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (log.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (log.f64 (/.f64 (/.f64 y x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (-.f64 (/.f64 x y) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 2/3 (log.f64 (/.f64 x y))))) (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2) (+.f64 1 (-.f64 (cbrt.f64 (/.f64 x y)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 2/3 (log.f64 (/.f64 x y))))) (+.f64 1 (-.f64 (cbrt.f64 (/.f64 x y)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (-.f64 (cbrt.f64 (/.f64 x y)) 1)) (pow.f64 (cbrt.f64 (/.f64 x y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (cbrt.f64 (/.f64 x y)) (+.f64 1 (expm1.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (-.f64 (cbrt.f64 (/.f64 x y)) 1)) (+.f64 1 (expm1.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (/.f64 x y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (log.f64 (/.f64 x y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (log.f64 (cbrt.f64 (/.f64 x y))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2/3 (log.f64 (/.f64 x y))) 1 (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2 (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 1 (*.f64 2/3 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 2/3 (log.f64 (/.f64 x y))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log.f64 (cbrt.f64 (/.f64 x y))) (*.f64 2/3 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log.f64 x) (neg.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (pow.f64 (cbrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) 2) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) 2) (cbrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (*.f64 2/3 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (*.f64 2/3 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (*.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (*.f64 2/3 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (*.f64 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/3 (log.f64 (/.f64 x y)) (*.f64 2/3 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 x)) 2) (cbrt.f64 (log.f64 x)) (neg.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 x)) (sqrt.f64 (log.f64 x)) (neg.f64 (log.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (-.f64 (sqrt.f64 (*.f64 2/3 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (*.f64 2/3 (log.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (log.f64 (cbrt.f64 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))) (sqrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (log.f64 (cbrt.f64 (/.f64 x y))))))))

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

eval293.0ms (2.3%)

Compiler

Compiled 11660 to 4813 computations (58.7% saved)

prune204.0ms (1.6%)

Pruning

27 alts after pruning (23 fresh and 4 done)

PrunedKeptTotal
New62120641
Fresh8311
Picked101
Done145
Total63127658
Error
0.0b
Counts
658 → 27
Alt Table
Click to see full alt table
StatusErrorProgram
35.5b
(-.f64 (*.f64 x (-.f64 (*.f64 2 (log.f64 (cbrt.f64 x))) (log.f64 (/.f64 y (cbrt.f64 x))))) z)
14.7b
(-.f64 (*.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2)) (cbrt.f64 (log.f64 (/.f64 x y)))) z)
40.9b
(-.f64 (exp.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))) z)
52.1b
(exp.f64 (log.f64 (neg.f64 z)))
31.4b
(-.f64 (*.f64 x (pow.f64 (cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) 3)) z)
33.2b
(-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z)
14.3b
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
31.1b
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)
14.7b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3) z)
41.9b
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2)
38.5b
(*.f64 (log.f64 (/.f64 x y)) x)
33.3b
(-.f64 (*.f64 x (pow.f64 (cbrt.f64 (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) 3)) z)
48.2b
(/.f64 (neg.f64 (*.f64 z z)) z)
38.6b
(-.f64 (*.f64 (*.f64 (log.f64 (/.f64 x y)) (sqrt.f64 x)) (sqrt.f64 x)) z)
48.3b
(/.f64 1 (/.f64 z (neg.f64 (*.f64 z z))))
38.6b
(-.f64 (*.f64 (*.f64 x (sqrt.f64 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (/.f64 x y)))) z)
32.8b
(neg.f64 z)
61.9b
(log.f64 (exp.f64 (neg.f64 z)))
14.4b
(-.f64 (*.f64 x (*.f64 1/3 (*.f64 3 (log.f64 (/.f64 x y))))) z)
38.2b
(*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))
57.0b
(sqrt.f64 (pow.f64 (neg.f64 z) 2))
14.8b
(-.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)) z)
14.3b
(-.f64 (*.f64 x (*.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) z)
51.2b
(pow.f64 (sqrt.f64 (neg.f64 z)) 2)
48.3b
(*.f64 (neg.f64 (*.f64 z z)) (/.f64 1 z))
33.4b
(pow.f64 (cbrt.f64 (neg.f64 z)) 3)
38.8b
(-.f64 (*.f64 x (exp.f64 (log.f64 (log.f64 (/.f64 x y))))) z)
Compiler

Compiled 619 to 434 computations (29.9% saved)

localize53.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(log.f64 (cbrt.f64 (/.f64 x y)))
0.2b
(*.f64 x (*.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3))
0.3b
(*.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)
14.2b
(cbrt.f64 (/.f64 x y))
Compiler

Compiled 46 to 16 computations (65.2% saved)

series60.0ms (0.5%)

Counts
3 → 0
Calls

18 calls:

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

rewrite68.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
878×pow1_binary64
814×log1p-expm1-u_binary64
814×expm1-log1p-u_binary64
813×add-log-exp_binary64
795×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify23.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
30.7b
(/.f64 (neg.f64 (*.f64 z z)) z)
Compiler

Compiled 17 to 6 computations (64.7% saved)

series2.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite87.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
345×pow1_binary64
333×add-sqr-sqrt_binary64
326×*-un-lft-identity_binary64
324×add-log-exp_binary64
323×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
059
11121
217201
Stop Event
node limit
Counts
1 → 75
Calls
Call 1
Inputs
(/.f64 (neg.f64 (*.f64 z z)) z)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 z)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 z)) 2)) (log.f64 (cbrt.f64 (exp.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 z))) (log.f64 (sqrt.f64 (exp.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 z)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 z) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (sqrt.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 z (/.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (pow.f64 1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (pow.f64 (*.f64 (/.f64 1 z) z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z z) (/.f64 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z z) (pow.f64 (pow.f64 z -2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 z) (/.f64 z (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z (cbrt.f64 z)) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z (cbrt.f64 z)) (neg.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 z) z) (cbrt.f64 (/.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 z) z) (*.f64 (/.f64 z (cbrt.f64 z)) (/.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (neg.f64 (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 z) (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (sqrt.f64 z)) (sqrt.f64 (/.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cbrt.f64 z) z)) (pow.f64 (*.f64 (/.f64 z (cbrt.f64 z)) z) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -1) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 z)) (pow.f64 (*.f64 z (sqrt.f64 z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 z (cbrt.f64 z))) (sqrt.f64 (*.f64 (cbrt.f64 z) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (cbrt.f64 z) z)) (sqrt.f64 (/.f64 z (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (cbrt.f64 z) z)) (pow.f64 (neg.f64 (/.f64 z (cbrt.f64 z))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (cbrt.f64 z) z) 1) (pow.f64 (cbrt.f64 z) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 z) z) (/.f64 (*.f64 z z) (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (/.f64 z (cbrt.f64 z))) (/.f64 (*.f64 z z) (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 z -1/2) (pow.f64 z 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (cbrt.f64 z) z) (sqrt.f64 z)) (/.f64 (/.f64 z (cbrt.f64 z)) (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (sqrt.f64 z)) (pow.f64 z 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 z (cbrt.f64 z))) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 z) -1) -1) (pow.f64 (/.f64 (cbrt.f64 z) z) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (cbrt.f64 z) z) -1) (pow.f64 (pow.f64 (cbrt.f64 z) -1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 z (sqrt.f64 z)) 1/2) (sqrt.f64 (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (neg.f64 (*.f64 (cbrt.f64 z) z)) 1/2) (sqrt.f64 (/.f64 z (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 z (/.f64 z (cbrt.f64 z))) 1/2) (sqrt.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 -1 (*.f64 (cbrt.f64 z) z)) 1/2) (sqrt.f64 (/.f64 z (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 z (cbrt.f64 z)) 2) 1/3) (cbrt.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (*.f64 z z) (sqrt.f64 z)) 1/3) (cbrt.f64 (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) 3) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 z)) 3) (pow.f64 (sqrt.f64 (cbrt.f64 z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 1 z)) 2) -1) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 z -1/2) -1) (pow.f64 (pow.f64 z -1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 z (cbrt.f64 z)) 1) -1) (pow.f64 (/.f64 (cbrt.f64 z) (*.f64 z z)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (sqrt.f64 z) 1) -1) (pow.f64 (pow.f64 z -3/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 1 (*.f64 (cbrt.f64 z) z)) -1) (pow.f64 (cbrt.f64 z) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (sqrt.f64 z) (*.f64 (cbrt.f64 z) z)) -1) (pow.f64 (/.f64 (sqrt.f64 z) (/.f64 z (cbrt.f64 z))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (/.f64 z (cbrt.f64 z)) -1) -1) (pow.f64 (/.f64 (cbrt.f64 z) (*.f64 z z)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (sqrt.f64 z) -1) -1) (pow.f64 (pow.f64 z -3/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 z 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z z) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 z 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 z 6) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 z) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 z (cbrt.f64 z)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 z) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 z) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 1 z) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 z)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 z)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 z 3))))) (#(struct:change #<rule egg-rr> (2) ((x . z)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 z))))))

simplify65.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0436
1636
2836
3936
41136
51536
61936
72436
Stop Event
saturated
Counts
87 → 75
Calls
Call 1
Inputs
(*.f64 -1 z)
(*.f64 -1 z)
(*.f64 -1 z)
(*.f64 -1 z)
(*.f64 -1 z)
(*.f64 -1 z)
(*.f64 -1 z)
(*.f64 -1 z)
(*.f64 -1 z)
(*.f64 -1 z)
(*.f64 -1 z)
(*.f64 -1 z)
Outputs
(*.f64 -1 z)
(neg.f64 z)
(*.f64 -1 z)
(neg.f64 z)
(*.f64 -1 z)
(neg.f64 z)
(*.f64 -1 z)
(neg.f64 z)
(*.f64 -1 z)
(neg.f64 z)
(*.f64 -1 z)
(neg.f64 z)
(*.f64 -1 z)
(neg.f64 z)
(*.f64 -1 z)
(neg.f64 z)
(*.f64 -1 z)
(neg.f64 z)
(*.f64 -1 z)
(neg.f64 z)
(*.f64 -1 z)
(neg.f64 z)
(*.f64 -1 z)
(neg.f64 z)

localize37.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 x (*.f64 1/3 (*.f64 3 (log.f64 (/.f64 x y)))))
0.3b
(*.f64 3 (log.f64 (/.f64 x y)))
0.4b
(*.f64 1/3 (*.f64 3 (log.f64 (/.f64 x y))))
13.9b
(log.f64 (/.f64 x y))
Compiler

Compiled 51 to 24 computations (52.9% saved)

series61.0ms (0.5%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
49.0ms
x
@inf
(*.f64 x (*.f64 1/3 (*.f64 3 (log.f64 (/.f64 x y)))))
1.0ms
y
@-inf
(*.f64 3 (log.f64 (/.f64 x y)))
1.0ms
y
@0
(*.f64 3 (log.f64 (/.f64 x y)))
1.0ms
x
@-inf
(*.f64 3 (log.f64 (/.f64 x y)))
1.0ms
x
@0
(*.f64 3 (log.f64 (/.f64 x y)))

rewrite102.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
900×pow1_binary64
835×add-log-exp_binary64
835×log1p-expm1-u_binary64
835×expm1-log1p-u_binary64
820×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify283.0ms (2.2%)

Algorithm
egg-herbie
Rules
2831×fma-neg_binary64
583×unsub-neg_binary64
550×fma-def_binary64
434×distribute-rgt-in_binary64
268×distribute-lft-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
037792
195720
2212720
3543720
41275720
52690720
64732720
75540720
85894720
95972720
105996720
116000720
126016720
136018720
Stop Event
node limit
Counts
117 → 62
Calls
Call 1
Inputs
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))))
(*.f64 3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))))
(*.f64 3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))))
(*.f64 3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))))
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(*.f64 3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(*.f64 3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(*.f64 3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
Outputs
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(*.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)
(*.f64 (-.f64 (log.f64 x) (log.f64 y)) 3)
(*.f64 -3 (-.f64 (log.f64 y) (log.f64 x)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -3)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))

localize12.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (sqrt.f64 (neg.f64 z)) 2)
Compiler

Compiled 15 to 8 computations (46.7% saved)

series5.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
2.0ms
z
@0
(pow.f64 (sqrt.f64 (neg.f64 z)) 2)
1.0ms
z
@inf
(pow.f64 (sqrt.f64 (neg.f64 z)) 2)
1.0ms
z
@-inf
(pow.f64 (sqrt.f64 (neg.f64 z)) 2)

rewrite58.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
354×pow1_binary64
347×add-sqr-sqrt_binary64
337×*-un-lft-identity_binary64
332×add-log-exp_binary64
331×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify15.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

localize27.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 48 to 11 computations (77.1% saved)

series54.0ms (0.4%)

Counts
2 → 40
Calls

18 calls:

TimeVariablePointExpression
21.0ms
y
@0
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2)
5.0ms
x
@-inf
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2)
5.0ms
x
@inf
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2)
4.0ms
z
@0
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2)
3.0ms
x
@0
(pow.f64 (sqrt.f64 (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)) 2)

rewrite149.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
642×prod-diff_binary64
523×log-prod_binary64
332×pow-prod-down_binary64
278×pow2_binary64
271×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify90.0ms (0.7%)

Algorithm
egg-herbie
Rules
579×fma-def_binary64
558×associate-*r*_binary64
515×associate-*l*_binary64
472×times-frac_binary64
413×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01471378
14211175
216011002
Stop Event
node limit
Counts
192 → 188
Calls
Call 1
Inputs
(*.f64 (pow.f64 (sqrt.f64 -1) 2) z)
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (*.f64 (pow.f64 (sqrt.f64 -1) 2) z))
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) z) (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) z))) (*.f64 1/4 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) z)))) (pow.f64 x 2))))
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (+.f64 (*.f64 (pow.f64 x 3) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 3) (*.f64 (pow.f64 (sqrt.f64 -1) 4) (pow.f64 z 2)))) (*.f64 1/8 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 3) (*.f64 (pow.f64 (sqrt.f64 -1) 4) (pow.f64 z 2)))))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) z) (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) z))) (*.f64 1/4 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) z)))) (pow.f64 x 2)))))
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)
(*.f64 (log.f64 (/.f64 x y)) x)
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (+.f64 (*.f64 1/64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3))))) 2))))) (pow.f64 z 4)) (*.f64 (log.f64 (/.f64 x y)) x)))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3))))) 2)) (*.f64 (log.f64 (/.f64 x y)) x))) (+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3))))) 2)) (*.f64 (log.f64 (/.f64 x y)) x))) (*.f64 1/64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 4) (pow.f64 x 4)))))) (*.f64 1/64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 4) (pow.f64 x 4)))))) (pow.f64 z 5)) (+.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (+.f64 (*.f64 1/64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3))))) 2))))) (pow.f64 z 4)) (*.f64 (log.f64 (/.f64 x y)) x))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 z))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 z)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 z)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 z)))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 z)) (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (pow.f64 x 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3)))))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 3) (pow.f64 x 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 z 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 z)))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 z)) (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (pow.f64 x 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3))))))))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) z))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) z))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) z))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) z))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z))
(sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x))
(+.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (*.f64 (log.f64 (/.f64 x y)) x))))))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 z 2) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))))) (+.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (*.f64 (log.f64 (/.f64 x y)) x)))))))
(+.f64 (*.f64 -1/16 (*.f64 (pow.f64 z 3) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 5) (pow.f64 x 5)))))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 z 2) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))))) (+.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (*.f64 (log.f64 (/.f64 x y)) x))))))))
Outputs
(*.f64 (pow.f64 (sqrt.f64 -1) 2) z)
(neg.f64 z)
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (*.f64 (pow.f64 (sqrt.f64 -1) 2) z))
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z))
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) z) (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) z))) (*.f64 1/4 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) z)))) (pow.f64 x 2))))
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z))
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
(+.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (+.f64 (*.f64 (pow.f64 x 3) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 3) (*.f64 (pow.f64 (sqrt.f64 -1) 4) (pow.f64 z 2)))) (*.f64 1/8 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 3) (*.f64 (pow.f64 (sqrt.f64 -1) 4) (pow.f64 z 2)))))) (+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) z) (*.f64 (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) z))) (*.f64 1/4 (/.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (*.f64 (pow.f64 (sqrt.f64 -1) 2) z)))) (pow.f64 x 2)))))
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z))
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z)
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z))
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z)
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z))
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z)
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z))
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
(-.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x) z)
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z))
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z))
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z))
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z))
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z)
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z))
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)
(-.f64 (*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) z)
(fma.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))) (neg.f64 z))
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)
(-.f64 (*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) z)
(fma.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))) (neg.f64 z))
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)
(-.f64 (*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) z)
(fma.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))) (neg.f64 z))
(-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z)
(-.f64 (*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) z)
(fma.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))) (neg.f64 z))
(*.f64 (log.f64 (/.f64 x y)) x)
(*.f64 x (log.f64 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 (log.f64 (/.f64 x y)) x))
(fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (*.f64 (pow.f64 (sqrt.f64 -1) 2) z))
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (+.f64 (*.f64 1/64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3))))) 2))))) (pow.f64 z 4)) (*.f64 (log.f64 (/.f64 x y)) x)))
(fma.f64 -1 z (fma.f64 (+.f64 (/.f64 1/16 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (+.f64 (/.f64 1/64 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (neg.f64 (+.f64 (/.f64 1/16 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) 2))))) (pow.f64 z 4) (*.f64 x (log.f64 (/.f64 x y)))))
(-.f64 (fma.f64 x (log.f64 (/.f64 x y)) (*.f64 (-.f64 (*.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) 5/64) (+.f64 (/.f64 1/16 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) 2))) (pow.f64 z 4))) z)
(fma.f64 x (log.f64 (/.f64 x y)) (-.f64 (*.f64 (-.f64 (/.f64 (/.f64 1/64 (pow.f64 x 3)) (pow.f64 (log.f64 (/.f64 x y)) 3)) (/.f64 (/.f64 1/64 (pow.f64 x 3)) (pow.f64 (log.f64 (/.f64 x y)) 3))) (pow.f64 z 4)) z))
(+.f64 (*.f64 -1 z) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3))))) 2)) (*.f64 (log.f64 (/.f64 x y)) x))) (+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3))))) 2)) (*.f64 (log.f64 (/.f64 x y)) x))) (*.f64 1/64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 4) (pow.f64 x 4)))))) (*.f64 1/64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 4) (pow.f64 x 4)))))) (pow.f64 z 5)) (+.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (+.f64 (*.f64 1/64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3))))) 2))))) (pow.f64 z 4)) (*.f64 (log.f64 (/.f64 x y)) x))))
(fma.f64 -1 z (fma.f64 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) 2)) (*.f64 x (log.f64 (/.f64 x y)))) (fma.f64 -1 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) 2)) (*.f64 x (log.f64 (/.f64 x y)))) (/.f64 1/64 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 4) (pow.f64 x 4)))) (/.f64 1/64 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 4) (pow.f64 x 4))))) (pow.f64 z 5) (fma.f64 (+.f64 (/.f64 1/16 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (+.f64 (/.f64 1/64 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (neg.f64 (+.f64 (/.f64 1/16 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) 2))))) (pow.f64 z 4) (*.f64 x (log.f64 (/.f64 x y))))))
(-.f64 (fma.f64 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) 2)) (*.f64 x (log.f64 (/.f64 x y)))) (-.f64 (/.f64 1/64 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 4) (pow.f64 x 4))) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) 2)) (*.f64 x (log.f64 (/.f64 x y)))) (/.f64 1/64 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 4) (pow.f64 x 4)))))) (pow.f64 z 5) (fma.f64 x (log.f64 (/.f64 x y)) (*.f64 (-.f64 (*.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) 5/64) (+.f64 (/.f64 1/16 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) 2))) (pow.f64 z 4)))) z)
(-.f64 (fma.f64 (*.f64 0 (fma.f64 (/.f64 1/2 (log.f64 (/.f64 x y))) (/.f64 (/.f64 5/64 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))) x) (/.f64 1/64 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 4) (pow.f64 x 4))))) (pow.f64 z 5) (fma.f64 x (log.f64 (/.f64 x y)) (*.f64 (-.f64 (/.f64 (/.f64 1/64 (pow.f64 x 3)) (pow.f64 (log.f64 (/.f64 x y)) 3)) (/.f64 (/.f64 1/64 (pow.f64 x 3)) (pow.f64 (log.f64 (/.f64 x y)) 3))) (pow.f64 z 4)))) z)
(*.f64 (sqrt.f64 -1) (sqrt.f64 z))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 z)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 z)))
(fma.f64 1/2 (*.f64 (/.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) (/.f64 (sqrt.f64 -1) x)) (sqrt.f64 (/.f64 1 z))) (*.f64 (sqrt.f64 -1) (sqrt.f64 z)))
(fma.f64 1/2 (/.f64 (*.f64 x (*.f64 (log.f64 (/.f64 x y)) (sqrt.f64 (/.f64 1 z)))) (sqrt.f64 -1)) (*.f64 (sqrt.f64 -1) (sqrt.f64 z)))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 z) (*.f64 (sqrt.f64 (/.f64 1 z)) (*.f64 1/2 (*.f64 (/.f64 x (sqrt.f64 -1)) (log.f64 (/.f64 x y))))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 z)))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 z)) (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (pow.f64 x 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3)))))))
(fma.f64 1/2 (*.f64 (/.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) (/.f64 (sqrt.f64 -1) x)) (sqrt.f64 (/.f64 1 z))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 z) (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 2) (/.f64 (pow.f64 (sqrt.f64 -1) 3) (*.f64 x x))) (sqrt.f64 (/.f64 1 (pow.f64 z 3)))))))
(fma.f64 1/2 (/.f64 (*.f64 x (*.f64 (log.f64 (/.f64 x y)) (sqrt.f64 (/.f64 1 z)))) (sqrt.f64 -1)) (fma.f64 -1/8 (*.f64 (*.f64 (/.f64 (pow.f64 (log.f64 (/.f64 x y)) 2) -1) (/.f64 (*.f64 x x) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 (pow.f64 z 3)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 z))))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 z) (fma.f64 1/2 (*.f64 (*.f64 (/.f64 x (sqrt.f64 -1)) (log.f64 (/.f64 x y))) (sqrt.f64 (/.f64 1 z))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (*.f64 1/8 (/.f64 (pow.f64 (log.f64 (/.f64 x y)) 2) (/.f64 (sqrt.f64 -1) (*.f64 x x)))))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 3) (pow.f64 x 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 z 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 z)))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 z)) (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (pow.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) 2) (pow.f64 x 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 3))))))))
(fma.f64 1/16 (/.f64 (*.f64 (*.f64 (pow.f64 x 3) (pow.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 5)))) (pow.f64 (sqrt.f64 -1) 5)) (fma.f64 1/2 (*.f64 (/.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) (/.f64 (sqrt.f64 -1) x)) (sqrt.f64 (/.f64 1 z))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 z) (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) 2) (/.f64 (pow.f64 (sqrt.f64 -1) 3) (*.f64 x x))) (sqrt.f64 (/.f64 1 (pow.f64 z 3))))))))
(fma.f64 1/16 (*.f64 (*.f64 (/.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 (sqrt.f64 -1) 5)) (pow.f64 x 3)) (sqrt.f64 (/.f64 1 (pow.f64 z 5)))) (fma.f64 1/2 (/.f64 (*.f64 x (*.f64 (log.f64 (/.f64 x y)) (sqrt.f64 (/.f64 1 z)))) (sqrt.f64 -1)) (fma.f64 -1/8 (*.f64 (*.f64 (/.f64 (pow.f64 (log.f64 (/.f64 x y)) 2) -1) (/.f64 (*.f64 x x) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 (pow.f64 z 3)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 z)))))
(fma.f64 1/16 (*.f64 (/.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 (sqrt.f64 -1) 5)) (*.f64 (pow.f64 x 3) (sqrt.f64 (/.f64 1 (pow.f64 z 5))))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 z) (fma.f64 1/2 (*.f64 (*.f64 (/.f64 x (sqrt.f64 -1)) (log.f64 (/.f64 x y))) (sqrt.f64 (/.f64 1 z))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 z 3))) (*.f64 1/8 (/.f64 (pow.f64 (log.f64 (/.f64 x y)) 2) (/.f64 (sqrt.f64 -1) (*.f64 x x))))))))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) z))
(sqrt.f64 (fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (neg.f64 z)))
(sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) z))
(sqrt.f64 (fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (neg.f64 z)))
(sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) z))
(sqrt.f64 (fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (neg.f64 z)))
(sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x) z))
(sqrt.f64 (fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (neg.f64 z)))
(sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z))
(sqrt.f64 (fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (neg.f64 z)))
(sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z))
(sqrt.f64 (fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (neg.f64 z)))
(sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z))
(sqrt.f64 (fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (neg.f64 z)))
(sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x) z))
(sqrt.f64 (fma.f64 (fma.f64 -1 (log.f64 y) (log.f64 x)) x (neg.f64 z)))
(sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z)))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z))
(sqrt.f64 (-.f64 (*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) z))
(sqrt.f64 (fma.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))) (neg.f64 z)))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z))
(sqrt.f64 (-.f64 (*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) z))
(sqrt.f64 (fma.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))) (neg.f64 z)))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z))
(sqrt.f64 (-.f64 (*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) z))
(sqrt.f64 (fma.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))) (neg.f64 z)))
(sqrt.f64 (-.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x) z))
(sqrt.f64 (-.f64 (*.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x)))) z))
(sqrt.f64 (fma.f64 x (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (neg.f64 x))) (neg.f64 z)))
(sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x))
(sqrt.f64 (*.f64 x (log.f64 (/.f64 x y))))
(+.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (*.f64 (log.f64 (/.f64 x y)) x))))))
(+.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (*.f64 x (log.f64 (/.f64 x y))))))))
(fma.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 (/.f64 1 x) (log.f64 (/.f64 x y))))) (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 z 2) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))))) (+.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (*.f64 (log.f64 (/.f64 x y)) x)))))))
(fma.f64 -1/8 (*.f64 (*.f64 z z) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) (+.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (*.f64 x (log.f64 (/.f64 x y)))))))))
(fma.f64 -1/8 (*.f64 (*.f64 z z) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) (fma.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 (/.f64 1 x) (log.f64 (/.f64 x y))))) (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y))))))
(fma.f64 z (*.f64 (sqrt.f64 (/.f64 (/.f64 1 x) (log.f64 (/.f64 x y)))) -1/2) (fma.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3)))) (*.f64 z (*.f64 z -1/8)) (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y))))))
(+.f64 (*.f64 -1/16 (*.f64 (pow.f64 z 3) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 5) (pow.f64 x 5)))))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 z 2) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 3) (pow.f64 x 3)))))) (+.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (*.f64 (log.f64 (/.f64 x y)) x))))))))
(fma.f64 -1/16 (*.f64 (pow.f64 z 3) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 5) (pow.f64 x 5))))) (fma.f64 -1/8 (*.f64 (*.f64 z z) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) (+.f64 (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (*.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 1 (*.f64 x (log.f64 (/.f64 x y))))))))))
(fma.f64 -1/16 (*.f64 (pow.f64 z 3) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 5) (pow.f64 x 5))))) (fma.f64 -1/8 (*.f64 (*.f64 z z) (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3))))) (fma.f64 -1/2 (*.f64 z (sqrt.f64 (/.f64 (/.f64 1 x) (log.f64 (/.f64 x y))))) (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))))))
(fma.f64 (pow.f64 z 3) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (log.f64 (/.f64 x y)) 5) (pow.f64 x 5)))) -1/16) (fma.f64 z (*.f64 (sqrt.f64 (/.f64 (/.f64 1 x) (log.f64 (/.f64 x y)))) -1/2) (fma.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 x 3) (pow.f64 (log.f64 (/.f64 x y)) 3)))) (*.f64 z (*.f64 z -1/8)) (sqrt.f64 (*.f64 x (log.f64 (/.f64 x y)))))))

eval236.0ms (1.8%)

Compiler

Compiled 9275 to 3974 computations (57.2% saved)

prune193.0ms (1.5%)

Pruning

37 alts after pruning (30 fresh and 7 done)

PrunedKeptTotal
New55720577
Fresh81018
Picked101
Done178
Total56737604
Error
0.0b
Counts
604 → 37
Alt Table
Click to see full alt table
StatusErrorProgram
14.7b
(-.f64 (*.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2)) (cbrt.f64 (log.f64 (/.f64 x y)))) z)
40.9b
(-.f64 (exp.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y))))) z)
63.0b
(pow.f64 (pow.f64 z 3) 1/3)
62.5b
(+.f64 0 z)
33.2b
(-.f64 (*.f64 x (*.f64 1/3 (*.f64 3 (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))))) z)
52.1b
(exp.f64 (log.f64 (neg.f64 z)))
31.4b
(-.f64 (*.f64 x (pow.f64 (cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) 3)) z)
0.1b
(-.f64 (*.f64 x (*.f64 (log.f64 (/.f64 (cbrt.f64 x) (cbrt.f64 y))) 3)) z)
14.3b
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
31.1b
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)
63.2b
(exp.f64 (log.f64 z))
14.7b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3) z)
51.2b
(pow.f64 (sqrt.f64 (neg.f64 z)) 2)
14.4b
(-.f64 (*.f64 x (*.f64 (*.f64 (log.f64 (/.f64 x y)) 1/3) 3)) z)
62.8b
(cbrt.f64 (pow.f64 z 3))
51.6b
(pow.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) 2)
63.2b
(*.f64 (pow.f64 z 5/6) (pow.f64 z 1/6))
33.4b
(pow.f64 (cbrt.f64 (neg.f64 z)) 3)
62.6b
(*.f64 (/.f64 1 z) (*.f64 z z))
33.2b
(-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z)
33.3b
(-.f64 (*.f64 x (pow.f64 (cbrt.f64 (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) 3)) z)
48.2b
(/.f64 (neg.f64 (*.f64 z z)) z)
62.5b
(-.f64 (+.f64 1 z) 1)
38.6b
(-.f64 (*.f64 (*.f64 (log.f64 (/.f64 x y)) (sqrt.f64 x)) (sqrt.f64 x)) z)
62.5b
(pow.f64 (/.f64 1 z) -1)
14.3b
(-.f64 (*.f64 x (*.f64 (log.f64 (pow.f64 (/.f64 y x) -1/3)) 3)) z)
48.3b
(/.f64 1 (/.f64 z (neg.f64 (*.f64 z z))))
50.5b
(pow.f64 (/.f64 z (cbrt.f64 z)) 3/2)
63.3b
(*.f64 (pow.f64 z -1/2) (pow.f64 z 3/2))
38.6b
(-.f64 (*.f64 (*.f64 x (sqrt.f64 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (/.f64 x y)))) z)
32.8b
(neg.f64 z)
62.5b
(pow.f64 (cbrt.f64 z) 3)
38.2b
(*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))
14.8b
(-.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)) z)
14.3b
(-.f64 (*.f64 x (*.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) z)
38.5b
(*.f64 (log.f64 (/.f64 x y)) x)
38.8b
(-.f64 (*.f64 x (exp.f64 (log.f64 (log.f64 (/.f64 x y))))) z)
Compiler

Compiled 770 to 561 computations (27.1% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (log.f64 (/.f64 (cbrt.f64 x) (cbrt.f64 y))) 3)
0.3b
(/.f64 (cbrt.f64 x) (cbrt.f64 y))
0.6b
(cbrt.f64 y)
0.6b
(cbrt.f64 x)
Compiler

Compiled 52 to 17 computations (67.3% saved)

series9.0ms (0.1%)

Counts
4 → 0
Calls

18 calls:

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

rewrite104.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
849×pow1_binary64
789×add-log-exp_binary64
789×log1p-expm1-u_binary64
789×expm1-log1p-u_binary64
769×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify46.0ms (0.4%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

localize4.0ms (0%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 x (*.f64 (*.f64 (log.f64 (/.f64 x y)) 1/3) 3))
0.3b
(*.f64 (*.f64 (log.f64 (/.f64 x y)) 1/3) 3)
0.3b
(*.f64 (log.f64 (/.f64 x y)) 1/3)
13.9b
(log.f64 (/.f64 x y))
Compiler

Compiled 51 to 24 computations (52.9% saved)

series8.0ms (0.1%)

Counts
3 → 72
Calls

18 calls:

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

rewrite68.0ms (0.5%)

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

Useful iterations: 1 (0.0ms)

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

simplify229.0ms (1.8%)

Algorithm
egg-herbie
Rules
2829×fma-neg_binary64
582×unsub-neg_binary64
552×fma-def_binary64
434×distribute-rgt-in_binary64
268×distribute-lft-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
037792
195720
2212720
3541720
41274720
52674720
64716720
75538720
85898720
95980720
106006720
116010720
126034720
136036720
Stop Event
node limit
Counts
117 → 62
Calls
Call 1
Inputs
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 1/3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))))
(*.f64 1/3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))))
(*.f64 1/3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))))
(*.f64 1/3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))))
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
Outputs
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(*.f64 1/3 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))))
(*.f64 1/3 (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 1/3 (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3)
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (log.f64 (/.f64 1 y)) (log.f64 x))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x)))
(fma.f64 -1 (log.f64 y) (log.f64 x))
(-.f64 (log.f64 x) (log.f64 y))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))

localize28.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(/.f64 z (cbrt.f64 z))
0.3b
(pow.f64 (/.f64 z (cbrt.f64 z)) 3/2)
0.6b
(cbrt.f64 z)
Compiler

Compiled 17 to 8 computations (52.9% saved)

series7.0ms (0.1%)

Counts
3 → 0
Calls

9 calls:

TimeVariablePointExpression
2.0ms
z
@-inf
(pow.f64 (/.f64 z (cbrt.f64 z)) 3/2)
1.0ms
z
@0
(pow.f64 (/.f64 z (cbrt.f64 z)) 3/2)
1.0ms
z
@inf
(pow.f64 (/.f64 z (cbrt.f64 z)) 3/2)
1.0ms
z
@-inf
(cbrt.f64 z)
1.0ms
z
@-inf
(/.f64 z (cbrt.f64 z))

rewrite93.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
518×pow1_binary64
497×add-log-exp_binary64
497×log1p-expm1-u_binary64
497×expm1-log1p-u_binary64
485×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0618
113010
2167610
Stop Event
node limit
Counts
3 → 77
Calls
Call 1
Inputs
(cbrt.f64 z)
(pow.f64 (/.f64 z (cbrt.f64 z)) 3/2)
(/.f64 z (cbrt.f64 z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) (cbrt.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 z 1/6) (pow.f64 z 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (sqrt.f64 (/.f64 1 (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (*.f64 z (cbrt.f64 z)))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 z) 1/3) (pow.f64 (sqrt.f64 z) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (/.f64 (cbrt.f64 z) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 z) (pow.f64 z 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (neg.f64 z)) (sqrt.f64 (neg.f64 (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 z 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 z (cbrt.f64 z)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 z 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 z (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 z)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 z) (/.f64 z (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z (cbrt.f64 z)) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (sqrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 z 3/2) (pow.f64 (/.f64 1 (cbrt.f64 z)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 3/2) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 z (cbrt.f64 z))) 3/2) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 z) 3/2) (pow.f64 (cbrt.f64 z) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 z (cbrt.f64 z)) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2)) (cbrt.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 z (cbrt.f64 z)) (pow.f64 z 1/6)) (pow.f64 z 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 z 3))))) (#(struct:change #<rule egg-rr> (2) ((x . z)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 z))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 z (cbrt.f64 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (/.f64 1 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 z) (cbrt.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z (cbrt.f64 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 z (cbrt.f64 z)) (*.f64 (cbrt.f64 z) (/.f64 1 (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 z (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) (cbrt.f64 (*.f64 z (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) (*.f64 (cbrt.f64 (cbrt.f64 z)) (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 z (cbrt.f64 z))) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 z 1/6) (*.f64 (pow.f64 z 1/6) (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (pow.f64 z 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (/.f64 1 (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 z) (/.f64 1 (neg.f64 (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 z)) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 z (cbrt.f64 z)) 1) (/.f64 (cbrt.f64 z) (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 z) 1) (/.f64 (sqrt.f64 z) (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2)) (/.f64 z (cbrt.f64 (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 z (cbrt.f64 z)) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 z) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2)) (/.f64 (sqrt.f64 z) (cbrt.f64 (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 z 1/6)) (/.f64 z (pow.f64 z 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 z (cbrt.f64 z)) (pow.f64 z 1/6)) (/.f64 (cbrt.f64 z) (pow.f64 z 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2)) (cbrt.f64 (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 z 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 z) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 z (cbrt.f64 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z z) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cbrt.f64 z) z) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 z (neg.f64 (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 z (cbrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 z (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 z (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 z (cbrt.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 z (cbrt.f64 z))))))))

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x))
0.2b
(*.f64 (log.f64 (/.f64 x y)) x)
0.2b
(pow.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) 2)
13.9b
(log.f64 (/.f64 x y))
Compiler

Compiled 35 to 10 computations (71.4% saved)

series15.0ms (0.1%)

Counts
3 → 48
Calls

18 calls:

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

rewrite160.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
790×pow1_binary64
732×add-log-exp_binary64
732×log1p-expm1-u_binary64
732×expm1-log1p-u_binary64
715×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify252.0ms (1.9%)

Algorithm
egg-herbie
Rules
2599×fma-neg_binary64
960×fma-def_binary64
438×unsub-neg_binary64
399×distribute-rgt-in_binary64
281×distribute-neg-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
035600
166552
2130552
3346552
4886552
51869552
63877552
74576552
84686552
94712552
104726552
114727552
125003552
135569552
145653552
155683552
165709552
175717552
185757552
195781552
205781552
Stop Event
node limit
Counts
114 → 67
Calls
Call 1
Inputs
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x))
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x))
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x))
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x))
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x))
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x))
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x))
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x))
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x))
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x))
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x))
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x))
Outputs
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (log.f64 (/.f64 1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 (/.f64 -1 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 x) (*.f64 -1 (log.f64 y))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x)
(*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x)))
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x))
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x))
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x))
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(sqrt.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 y)) (log.f64 x)) x))
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x))
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x))
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x))
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 1 y)) (log.f64 x)) x))
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x))
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x))
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x))
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))
(sqrt.f64 (*.f64 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (*.f64 -1 x))) x))
(sqrt.f64 (*.f64 x (fma.f64 -1 (log.f64 y) (log.f64 x))))
(sqrt.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))))

eval94.0ms (0.7%)

Compiler

Compiled 4554 to 2206 computations (51.6% saved)

prune185.0ms (1.4%)

Pruning

40 alts after pruning (29 fresh and 11 done)

PrunedKeptTotal
New33713350
Fresh91625
Picked011
Done11011
Total34740387
Error
0.0b
Counts
387 → 40
Alt Table
Click to see full alt table
StatusErrorProgram
63.0b
(pow.f64 (pow.f64 z 3) 1/3)
33.2b
(-.f64 (*.f64 x (*.f64 (*.f64 (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) 1/3) 3)) z)
62.5b
(+.f64 0 z)
52.1b
(exp.f64 (log.f64 (neg.f64 z)))
31.4b
(-.f64 (*.f64 x (pow.f64 (cbrt.f64 (-.f64 (log.f64 x) (log.f64 y))) 3)) z)
48.0b
(*.f64 (*.f64 x (sqrt.f64 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (/.f64 x y))))
0.1b
(-.f64 (*.f64 x (*.f64 (log.f64 (/.f64 (cbrt.f64 x) (cbrt.f64 y))) 3)) z)
14.3b
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
63.2b
(exp.f64 (log.f64 z))
38.9b
(*.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2)) (cbrt.f64 (log.f64 (/.f64 x y))))
63.2b
(pow.f64 (pow.f64 z 2/3) 3/2)
62.5b
(-.f64 (+.f64 1 z) 1)
14.3b
(-.f64 (*.f64 x (*.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) z)
38.8b
(-.f64 (*.f64 x (exp.f64 (log.f64 (log.f64 (/.f64 x y))))) z)
31.2b
(-.f64 (*.f64 x (*.f64 (*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) 3)) z)
38.5b
(*.f64 (log.f64 (/.f64 x y)) x)
51.2b
(pow.f64 (sqrt.f64 (neg.f64 z)) 2)
14.4b
(-.f64 (*.f64 x (*.f64 (*.f64 (log.f64 (/.f64 x y)) 1/3) 3)) z)
62.8b
(cbrt.f64 (pow.f64 z 3))
33.4b
(pow.f64 (cbrt.f64 (neg.f64 z)) 3)
62.6b
(*.f64 (/.f64 1 z) (*.f64 z z))
33.2b
(-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z)
33.3b
(-.f64 (*.f64 x (pow.f64 (cbrt.f64 (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) 3)) z)
48.2b
(/.f64 (neg.f64 (*.f64 z z)) z)
31.1b
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)
62.5b
(pow.f64 (/.f64 1 z) -1)
14.3b
(-.f64 (*.f64 x (*.f64 (log.f64 (pow.f64 (/.f64 y x) -1/3)) 3)) z)
48.3b
(/.f64 1 (/.f64 z (neg.f64 (*.f64 z z))))
50.5b
(pow.f64 (/.f64 z (cbrt.f64 z)) 3/2)
63.3b
(*.f64 (pow.f64 z -1/2) (pow.f64 z 3/2))
14.7b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 3) z)
32.8b
(neg.f64 z)
62.5b
(pow.f64 (cbrt.f64 z) 3)
38.2b
(*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))
52.5b
(exp.f64 (log.f64 (*.f64 x (log.f64 (/.f64 x y)))))
51.6b
(*.f64 (*.f64 (log.f64 (/.f64 x y)) (sqrt.f64 x)) (sqrt.f64 x))
57.5b
(pow.f64 (pow.f64 (*.f64 z z) 1/3) 3/2)
14.8b
(-.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 3)) z)
51.6b
(pow.f64 (sqrt.f64 (*.f64 (log.f64 (/.f64 x y)) x)) 2)
47.4b
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
Compiler

Compiled 448 to 329 computations (26.6% saved)

regimes655.0ms (5%)

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

7 calls:

178.0ms
z
122.0ms
x
110.0ms
(*.f64 x (log.f64 (/.f64 x y)))
77.0ms
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
58.0ms
(*.f64 x (log.f64 (/.f64 x y)))
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1z
0.1b1(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
0.1b1(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
0.1b1(*.f64 x (log.f64 (/.f64 x y)))
0.1b1(*.f64 x (log.f64 (/.f64 x y)))
Compiler

Compiled 742 to 293 computations (60.5% saved)

regimes1.5s (11.7%)

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

7 calls:

463.0ms
y
222.0ms
(*.f64 x (log.f64 (/.f64 x y)))
170.0ms
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
156.0ms
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
136.0ms
x
Results
ErrorSegmentsBranch
0.3b2x
0.3b2y
13.0b2z
6.8b3(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
6.8b3(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
6.8b3(*.f64 x (log.f64 (/.f64 x y)))
6.8b3(*.f64 x (log.f64 (/.f64 x y)))
Compiler

Compiled 526 to 223 computations (57.6% saved)

bsearch7.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
6.0ms
-3.056553420555315e-300
1.3406514532248149e-306
Compiler

Compiled 49 to 36 computations (26.5% saved)

regimes956.0ms (7.3%)

Counts
40 → 2
Calls
Call 1
Inputs
(neg.f64 z)
(+.f64 0 z)
(-.f64 (+.f64 1 z) 1)
(-.f64 (+.f64 1 z) 1)
(/.f64 (neg.f64 (*.f64 z z)) z)
(*.f64 (/.f64 1 z) (*.f64 z z))
(/.f64 1 (/.f64 z (neg.f64 (*.f64 z z))))
(*.f64 (neg.f64 (*.f64 z z)) (/.f64 1 z))
(pow.f64 (/.f64 1 z) -1)
(*.f64 (log.f64 (/.f64 x y)) x)
(*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) z)
(-.f64 (*.f64 x (*.f64 (*.f64 (log.f64 (/.f64 x y)) 1/3) 3)) z)
(-.f64 (*.f64 x (*.f64 1/3 (*.f64 3 (log.f64 (/.f64 x y))))) z)
(exp.f64 (log.f64 z))
(cbrt.f64 (pow.f64 z 3))
(pow.f64 (cbrt.f64 z) 3)
(exp.f64 (log.f64 (neg.f64 z)))
(log.f64 (exp.f64 (neg.f64 z)))
(pow.f64 (pow.f64 z 2/3) 3/2)
(pow.f64 (pow.f64 z 3) 1/3)
(sqrt.f64 (pow.f64 (neg.f64 z) 2))
(pow.f64 (sqrt.f64 (neg.f64 z)) 2)
(pow.f64 (cbrt.f64 (neg.f64 z)) 3)
(pow.f64 (/.f64 z (cbrt.f64 z)) 3/2)
(pow.f64 (pow.f64 (*.f64 z z) 1/3) 3/2)
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (pow.f64 z 5/6) (pow.f64 z 1/6))
(*.f64 (pow.f64 z -1/2) (pow.f64 z 3/2))
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)
(-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z)
(-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z)
(-.f64 (*.f64 x (*.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) z)
(-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z)
(-.f64 (*.f64 x (*.f64 (log.f64 (pow.f64 (/.f64 y x) -1/3)) 3)) z)
(-.f64 (*.f64 x (*.f64 (*.f64 (-.f64 (log.f64 y) (log.f64 x)) -1/3) 3)) z)
Outputs
(-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z)
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)
Calls

6 calls:

336.0ms
(*.f64 x (log.f64 (/.f64 x y)))
195.0ms
(*.f64 x (log.f64 (/.f64 x y)))
109.0ms
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
92.0ms
x
92.0ms
z
Results
ErrorSegmentsBranch
0.3b2x
0.3b2y
13.0b2z
6.8b3(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
6.8b3(*.f64 x (log.f64 (/.f64 x y)))
6.8b3(*.f64 x (log.f64 (/.f64 x y)))
Compiler

Compiled 331 to 161 computations (51.4% saved)

bsearch6.0ms (0%)

Algorithm
binary-search
Steps
TimeLeftRight
5.0ms
-3.056553420555315e-300
1.3406514532248149e-306
Compiler

Compiled 45 to 32 computations (28.9% saved)

regimes494.0ms (3.8%)

Counts
34 → 3
Calls
Call 1
Inputs
(neg.f64 z)
(+.f64 0 z)
(-.f64 (+.f64 1 z) 1)
(-.f64 (+.f64 1 z) 1)
(/.f64 (neg.f64 (*.f64 z z)) z)
(*.f64 (/.f64 1 z) (*.f64 z z))
(/.f64 1 (/.f64 z (neg.f64 (*.f64 z z))))
(*.f64 (neg.f64 (*.f64 z z)) (/.f64 1 z))
(pow.f64 (/.f64 1 z) -1)
(*.f64 (log.f64 (/.f64 x y)) x)
(*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) z)
(-.f64 (*.f64 x (*.f64 (*.f64 (log.f64 (/.f64 x y)) 1/3) 3)) z)
(-.f64 (*.f64 x (*.f64 1/3 (*.f64 3 (log.f64 (/.f64 x y))))) z)
(exp.f64 (log.f64 z))
(cbrt.f64 (pow.f64 z 3))
(pow.f64 (cbrt.f64 z) 3)
(exp.f64 (log.f64 (neg.f64 z)))
(log.f64 (exp.f64 (neg.f64 z)))
(pow.f64 (pow.f64 z 2/3) 3/2)
(pow.f64 (pow.f64 z 3) 1/3)
(sqrt.f64 (pow.f64 (neg.f64 z) 2))
(pow.f64 (sqrt.f64 (neg.f64 z)) 2)
(pow.f64 (cbrt.f64 (neg.f64 z)) 3)
(pow.f64 (/.f64 z (cbrt.f64 z)) 3/2)
(pow.f64 (pow.f64 (*.f64 z z) 1/3) 3/2)
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (pow.f64 z 5/6) (pow.f64 z 1/6))
(*.f64 (pow.f64 z -1/2) (pow.f64 z 3/2))
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)
Outputs
(-.f64 (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) z)
(neg.f64 z)
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)
Calls

6 calls:

94.0ms
(*.f64 x (log.f64 (/.f64 x y)))
93.0ms
(*.f64 x (log.f64 (/.f64 x y)))
87.0ms
x
86.0ms
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
59.0ms
y
Results
ErrorSegmentsBranch
5.1b3x
6.8b2y
13.0b2z
6.9b3(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
6.9b3(*.f64 x (log.f64 (/.f64 x y)))
6.9b3(*.f64 x (log.f64 (/.f64 x y)))
Compiler

Compiled 262 to 134 computations (48.9% saved)

bsearch76.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
45.0ms
-3.056553420555315e-300
1.3406514532248149e-306
30.0ms
-3.1591876697263554e-118
-5.598617072018914e-119
Compiler

Compiled 321 to 236 computations (26.5% saved)

regimes432.0ms (3.3%)

Counts
30 → 3
Calls
Call 1
Inputs
(neg.f64 z)
(+.f64 0 z)
(-.f64 (+.f64 1 z) 1)
(-.f64 (+.f64 1 z) 1)
(/.f64 (neg.f64 (*.f64 z z)) z)
(*.f64 (/.f64 1 z) (*.f64 z z))
(/.f64 1 (/.f64 z (neg.f64 (*.f64 z z))))
(*.f64 (neg.f64 (*.f64 z z)) (/.f64 1 z))
(pow.f64 (/.f64 1 z) -1)
(*.f64 (log.f64 (/.f64 x y)) x)
(*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) z)
(-.f64 (*.f64 x (*.f64 (*.f64 (log.f64 (/.f64 x y)) 1/3) 3)) z)
(-.f64 (*.f64 x (*.f64 1/3 (*.f64 3 (log.f64 (/.f64 x y))))) z)
(exp.f64 (log.f64 z))
(cbrt.f64 (pow.f64 z 3))
(pow.f64 (cbrt.f64 z) 3)
(exp.f64 (log.f64 (neg.f64 z)))
(log.f64 (exp.f64 (neg.f64 z)))
(pow.f64 (pow.f64 z 2/3) 3/2)
(pow.f64 (pow.f64 z 3) 1/3)
(sqrt.f64 (pow.f64 (neg.f64 z) 2))
(pow.f64 (sqrt.f64 (neg.f64 z)) 2)
(pow.f64 (cbrt.f64 (neg.f64 z)) 3)
(pow.f64 (/.f64 z (cbrt.f64 z)) 3/2)
(pow.f64 (pow.f64 (*.f64 z z) 1/3) 3/2)
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
(*.f64 (pow.f64 z 5/6) (pow.f64 z 1/6))
(*.f64 (pow.f64 z -1/2) (pow.f64 z 3/2))
Outputs
(neg.f64 z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(*.f64 x (-.f64 (log.f64 x) (log.f64 y)))
Calls

6 calls:

131.0ms
x
62.0ms
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
62.0ms
(*.f64 x (log.f64 (/.f64 x y)))
60.0ms
(*.f64 x (log.f64 (/.f64 x y)))
52.0ms
y
Results
ErrorSegmentsBranch
8.6b4x
12.5b2y
13.0b2z
7.4b3(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
7.4b3(*.f64 x (log.f64 (/.f64 x y)))
7.4b3(*.f64 x (log.f64 (/.f64 x y)))
Compiler

Compiled 226 to 133 computations (41.2% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
5.079699467456582e+281
7.866421157345533e+289
0.0ms
-inf
-1.1784122338403269e+307
Compiler

Compiled 17 to 12 computations (29.4% saved)

regimes402.0ms (3.1%)

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

5 calls:

119.0ms
x
73.0ms
(*.f64 x (log.f64 (/.f64 x y)))
73.0ms
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
64.0ms
y
60.0ms
z
Results
ErrorSegmentsBranch
10.8b3x
12.5b2y
13.0b2z
7.6b3(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
7.6b3(*.f64 x (log.f64 (/.f64 x y)))
Compiler

Compiled 196 to 113 computations (42.3% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
7.866421157345533e+289
+inf
0.0ms
-inf
-1.1784122338403269e+307
Compiler

Compiled 17 to 12 computations (29.4% saved)

regimes126.0ms (1%)

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

3 calls:

59.0ms
y
37.0ms
z
24.0ms
x
Results
ErrorSegmentsBranch
21.6b3x
24.9b10y
19.4b5z
Compiler

Compiled 78 to 47 computations (39.7% saved)

bsearch99.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
2.700707597362234e-34
6.812777137030039e-34
25.0ms
2.7977763092970696e-65
2.038781961099684e-63
25.0ms
4.32534770264551e-115
1.221940106585316e-110
24.0ms
-1.3972901155012068e-39
-2.7989999498800644e-43
Compiler

Compiled 17 to 12 computations (29.4% saved)

regimes213.0ms (1.6%)

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

3 calls:

159.0ms
y
29.0ms
z
22.0ms
x
Results
ErrorSegmentsBranch
21.9b3x
25.1b10y
19.5b5z
Compiler

Compiled 70 to 42 computations (40% saved)

bsearch147.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
46.0ms
2.700707597362234e-34
6.812777137030039e-34
45.0ms
2.7977763092970696e-65
2.038781961099684e-63
31.0ms
4.32534770264551e-115
1.221940106585316e-110
25.0ms
-1.3972901155012068e-39
-2.7989999498800644e-43
Compiler

Compiled 17 to 12 computations (29.4% saved)

regimes27.0ms (0.2%)

Accuracy

Total -30.3b remaining (-92.6%)

Threshold costs -30.3b (-92.6%)

Counts
9 → 1
Calls
Call 1
Inputs
(neg.f64 z)
(+.f64 0 z)
(-.f64 (+.f64 1 z) 1)
(-.f64 (+.f64 1 z) 1)
(/.f64 (neg.f64 (*.f64 z z)) z)
(*.f64 (/.f64 1 z) (*.f64 z z))
(/.f64 1 (/.f64 z (neg.f64 (*.f64 z z))))
(*.f64 (neg.f64 (*.f64 z z)) (/.f64 1 z))
(pow.f64 (/.f64 1 z) -1)
Outputs
(neg.f64 z)
Calls

3 calls:

10.0ms
z
6.0ms
y
6.0ms
x
Results
ErrorSegmentsBranch
32.8b1x
32.8b1y
32.8b1z
Compiler

Compiled 64 to 39 computations (39.1% saved)

simplify22.0ms (0.2%)

Algorithm
egg-herbie
Rules
18×*-commutative_binary64
17×+-commutative_binary64
16×sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
078351
1111351
2136351
3150351
4155351
5156351
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(-.f64 (*.f64 x (*.f64 (log.f64 (/.f64 (cbrt.f64 x) (cbrt.f64 y))) 3)) z)
(if (<=.f64 x 0) (-.f64 (*.f64 x (*.f64 (*.f64 (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) 1/3) 3)) z) (-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z))
(if (<=.f64 x 0) (-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z) (-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z))
(if (<=.f64 x -1760312535403423/5678427533559428832416592249125035424637823130369672345949142181098744438385921275985867583701277855943457200048954515105739075223552) (-.f64 (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) z) (if (<=.f64 x 8349092948926563/6325070415853456823515479584966165845298645305129441198653167438357198111499854590373761990669910140474596183259900372230931523043306046152094168748148078435047419508642698792639590866940413010663742739952273283392562733857021646831815729864036236135650314266011211548510419206725953204130822734645187695728365866909171712) (neg.f64 z) (-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)))
(if (<=.f64 (*.f64 x (log.f64 (/.f64 x y))) -inf.0) (neg.f64 z) (if (<=.f64 (*.f64 x (log.f64 (/.f64 x y))) 1000000000000000032782245982862098248570705283021493564263333577440942603197374335927934378672411793053817497581824150818701634676910695695993991101293042521124778804245620065815273272355149596490328548912510300629092601392444835652130948564826004622078785676810855105701264700211200) (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))))
(if (<=.f64 (*.f64 x (log.f64 (/.f64 x y))) -inf.0) (neg.f64 z) (if (<=.f64 (*.f64 x (log.f64 (/.f64 x y))) 100000000000000006172783352786715688699437231096301125831005285053881337653967155894253917094446479669431045845149126131034590785433956171738211535366987228554259102109161882186134743033813753627273385960246277244994846257890348030815401124236704201912132575831851305036088950921132601507840) (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) (neg.f64 z)))
(if (<=.f64 z -8565363485206329/6129982163463555433433388108601236734474956488734408704) (neg.f64 z) (if (<=.f64 z 2398552098332059/5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)) (if (<=.f64 z 6634708256198153/237142198758023568227473377297792835283496928595231875152809132048206089502588928) (neg.f64 z) (if (<=.f64 z 3157670860397531/11692013098647223345629478661730264157247460343808) (*.f64 (log.f64 (/.f64 x y)) x) (neg.f64 z)))))
(if (<=.f64 z -8565363485206329/6129982163463555433433388108601236734474956488734408704) (neg.f64 z) (if (<=.f64 z 2398552098332059/5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648) (*.f64 (log.f64 (/.f64 x y)) x) (if (<=.f64 z 6634708256198153/237142198758023568227473377297792835283496928595231875152809132048206089502588928) (neg.f64 z) (if (<=.f64 z 3157670860397531/11692013098647223345629478661730264157247460343808) (*.f64 (log.f64 (/.f64 x y)) x) (neg.f64 z)))))
(neg.f64 z)
Outputs
(-.f64 (*.f64 x (*.f64 (log.f64 (/.f64 (cbrt.f64 x) (cbrt.f64 y))) 3)) z)
(if (<=.f64 x 0) (-.f64 (*.f64 x (*.f64 (*.f64 (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) 1/3) 3)) z) (-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z))
(if (<=.f64 x 0) (-.f64 (*.f64 x (*.f64 3 (*.f64 (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) 1/3))) z) (-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z))
(if (<=.f64 x 0) (-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z) (-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z))
(if (<=.f64 x -1760312535403423/5678427533559428832416592249125035424637823130369672345949142181098744438385921275985867583701277855943457200048954515105739075223552) (-.f64 (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) z) (if (<=.f64 x 8349092948926563/6325070415853456823515479584966165845298645305129441198653167438357198111499854590373761990669910140474596183259900372230931523043306046152094168748148078435047419508642698792639590866940413010663742739952273283392562733857021646831815729864036236135650314266011211548510419206725953204130822734645187695728365866909171712) (neg.f64 z) (-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)))
(if (<=.f64 (*.f64 x (log.f64 (/.f64 x y))) -inf.0) (neg.f64 z) (if (<=.f64 (*.f64 x (log.f64 (/.f64 x y))) 1000000000000000032782245982862098248570705283021493564263333577440942603197374335927934378672411793053817497581824150818701634676910695695993991101293042521124778804245620065815273272355149596490328548912510300629092601392444835652130948564826004622078785676810855105701264700211200) (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) (*.f64 x (-.f64 (log.f64 x) (log.f64 y)))))
(if (<=.f64 (*.f64 x (log.f64 (/.f64 x y))) -inf.0) (neg.f64 z) (if (<=.f64 (*.f64 x (log.f64 (/.f64 x y))) 100000000000000006172783352786715688699437231096301125831005285053881337653967155894253917094446479669431045845149126131034590785433956171738211535366987228554259102109161882186134743033813753627273385960246277244994846257890348030815401124236704201912132575831851305036088950921132601507840) (-.f64 (*.f64 x (log.f64 (/.f64 x y))) z) (neg.f64 z)))
(if (<=.f64 z -8565363485206329/6129982163463555433433388108601236734474956488734408704) (neg.f64 z) (if (<=.f64 z 2398552098332059/5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648) (*.f64 -1 (*.f64 (log.f64 (/.f64 y x)) x)) (if (<=.f64 z 6634708256198153/237142198758023568227473377297792835283496928595231875152809132048206089502588928) (neg.f64 z) (if (<=.f64 z 3157670860397531/11692013098647223345629478661730264157247460343808) (*.f64 (log.f64 (/.f64 x y)) x) (neg.f64 z)))))
(if (<=.f64 z -8565363485206329/6129982163463555433433388108601236734474956488734408704) (neg.f64 z) (if (<=.f64 z 2398552098332059/5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648) (*.f64 x (neg.f64 (log.f64 (/.f64 y x)))) (if (<=.f64 z 6634708256198153/237142198758023568227473377297792835283496928595231875152809132048206089502588928) (neg.f64 z) (if (<=.f64 z 3157670860397531/11692013098647223345629478661730264157247460343808) (*.f64 x (log.f64 (/.f64 x y))) (neg.f64 z)))))
(if (<=.f64 z -8565363485206329/6129982163463555433433388108601236734474956488734408704) (neg.f64 z) (if (<=.f64 z 2398552098332059/5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648) (*.f64 (log.f64 (/.f64 x y)) x) (if (<=.f64 z 6634708256198153/237142198758023568227473377297792835283496928595231875152809132048206089502588928) (neg.f64 z) (if (<=.f64 z 3157670860397531/11692013098647223345629478661730264157247460343808) (*.f64 (log.f64 (/.f64 x y)) x) (neg.f64 z)))))
(if (<=.f64 z -8565363485206329/6129982163463555433433388108601236734474956488734408704) (neg.f64 z) (if (<=.f64 z 2398552098332059/5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648) (*.f64 x (log.f64 (/.f64 x y))) (if (<=.f64 z 6634708256198153/237142198758023568227473377297792835283496928595231875152809132048206089502588928) (neg.f64 z) (if (<=.f64 z 3157670860397531/11692013098647223345629478661730264157247460343808) (*.f64 x (log.f64 (/.f64 x y))) (neg.f64 z)))))
(neg.f64 z)
Compiler

Compiled 255 to 149 computations (41.6% saved)

soundness0.0ms (0%)

end82.0ms (0.6%)

Compiler

Compiled 231 to 87 computations (62.3% saved)

Profiling

Loading profile data...