Details

Time bar (total: 17.6s)

analyze776.0ms (4.4%)

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
6.2%93.7%0.1%5
6.2%90.5%3.2%6
21.9%67.1%11%7
23.4%64.8%11.8%8
32%52.7%15.3%9
33.2%51.3%15.5%10
37.7%45.2%17.2%11
38.3%44.4%17.2%12
40.6%41.3%18%13
41%41%18%14
Compiler

Compiled 15 to 12 computations (20% saved)

sample2.1s (11.7%)

Results
740.0ms5992×body128valid
453.0ms1090×body1024valid
227.0ms740×body512valid
207.0ms528×body1024invalid
163.0ms1547×body128invalid
103.0ms348×body512invalid
77.0ms371×body256valid
42.0ms183×body256invalid
35.0ms63×body2048valid
Compiler

Compiled 30 to 24 computations (20% saved)

preprocess35.0ms (0.2%)

Algorithm
egg-herbie
Rules
668×fma-neg_binary64
504×times-frac_binary64
448×div-sub_binary64
360×fma-def_binary64
276×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01636
13834
27330
316030
435230
580730
6220730
022
Stop Event
saturated
node limit
Compiler

Compiled 14 to 11 computations (21.4% saved)

simplify39.0ms (0.2%)

Algorithm
egg-herbie
Rules
1074×fma-def_binary64
781×fma-neg_binary64
314×div-sub_binary64
282×times-frac_binary64
194×distribute-rgt-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01018
12217
24017
38615
419615
543115
6101615
7251015
8411715
9486715
Stop Event
node limit
Counts
1 → 2

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
22.9b
Counts
3 → 2
Alt Table
StatusErrorProgram
22.9b
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
22.9b
(-.f64 1 (log.f64 (-.f64 1 (/.f64 (-.f64 x y) (-.f64 1 y)))))
Compiler

Compiled 76 to 57 computations (25% saved)

localize6.0ms (0%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
0.0b
(/.f64 (-.f64 x y) (+.f64 y -1))
2.5b
(log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1)))

series91.0ms (0.5%)

Counts
3 → 72
Calls

18 calls:

19.0ms
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
x
-inf
16.0ms
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
x
inf
14.0ms
(log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1)))
x
-inf
12.0ms
(log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1)))
x
inf
6.0ms
(-.f64 1 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))))
y
-inf

rewrite62.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
338×fma-def_binary64
204×expm1-udef_binary64
203×log1p-udef_binary64
200×fma-neg_binary64
174×log-div_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01037
122537
2322337
Stop Event
node limit
Counts
3 → 113

simplify68.0ms (0.4%)

Algorithm
egg-herbie
Rules
661×associate-+r+_binary64
407×associate-+l+_binary64
237×associate--r+_binary64
225×associate-/r*_binary64
193×associate--l+_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03664967
112824869
Stop Event
node limit
Counts
185 → 229

prune216.0ms (1.2%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New2254229
Fresh101
Picked101
Done000
Total2274231
Error
0.1b
Counts
231 → 4
Alt Table
StatusErrorProgram
40.4b
(-.f64 1 (+.f64 (+.f64 (log1p.f64 (neg.f64 x)) (log.f64 (/.f64 -1 y))) (-.f64 (/.f64 1 (*.f64 y (-.f64 1 x))) (/.f64 (/.f64 x (-.f64 1 x)) y))))
22.9b
(/.f64 (-.f64 1 (pow.f64 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))) 2)) (+.f64 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))) 1))
58.4b
(-.f64 1 (-.f64 (log.f64 (+.f64 x -1)) (log.f64 y)))
22.5b
(-.f64 1 (log1p.f64 (*.f64 (-.f64 x y) (/.f64 1 (+.f64 y -1)))))
Compiler

Compiled 8833 to 6139 computations (30.5% saved)

localize7.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (log1p.f64 (*.f64 (-.f64 x y) (/.f64 1 (+.f64 y -1)))))
0.0b
(/.f64 1 (+.f64 y -1))
0.1b
(*.f64 (-.f64 x y) (/.f64 1 (+.f64 y -1)))
4.7b
(log1p.f64 (*.f64 (-.f64 x y) (/.f64 1 (+.f64 y -1))))

series94.0ms (0.5%)

Counts
4 → 84
Calls

21 calls:

18.0ms
(-.f64 1 (log1p.f64 (*.f64 (-.f64 x y) (/.f64 1 (+.f64 y -1)))))
x
-inf
17.0ms
(-.f64 1 (log1p.f64 (*.f64 (-.f64 x y) (/.f64 1 (+.f64 y -1)))))
x
inf
14.0ms
(log1p.f64 (*.f64 (-.f64 x y) (/.f64 1 (+.f64 y -1))))
x
-inf
12.0ms
(log1p.f64 (*.f64 (-.f64 x y) (/.f64 1 (+.f64 y -1))))
x
inf
5.0ms
(-.f64 1 (log1p.f64 (*.f64 (-.f64 x y) (/.f64 1 (+.f64 y -1)))))
y
-inf

rewrite61.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
966×prod-diff_binary64
121×add-sqr-sqrt_binary64
116×expm1-log1p-u_binary64
115×add-cbrt-cube_binary64
115×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01144
124444
2332444
Stop Event
node limit
Counts
4 → 112

simplify70.0ms (0.4%)

Algorithm
egg-herbie
Rules
678×associate-+r+_binary64
417×associate-+l+_binary64
242×associate--r+_binary64
226×associate-/r*_binary64
196×+-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03775144
113205036
Stop Event
node limit
Counts
196 → 241

prune207.0ms (1.2%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New2410241
Fresh033
Picked011
Done000
Total2414245
Error
0.1b
Counts
245 → 4
Alt Table
StatusErrorProgram
40.4b
(-.f64 1 (+.f64 (+.f64 (log1p.f64 (neg.f64 x)) (log.f64 (/.f64 -1 y))) (-.f64 (/.f64 1 (*.f64 y (-.f64 1 x))) (/.f64 (/.f64 x (-.f64 1 x)) y))))
22.9b
(/.f64 (-.f64 1 (pow.f64 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))) 2)) (+.f64 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))) 1))
58.4b
(-.f64 1 (-.f64 (log.f64 (+.f64 x -1)) (log.f64 y)))
22.5b
(-.f64 1 (log1p.f64 (*.f64 (-.f64 x y) (/.f64 1 (+.f64 y -1)))))
Compiler

Compiled 8845 to 6122 computations (30.8% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 x y) (+.f64 y -1))
0.2b
(/.f64 (-.f64 1 (pow.f64 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))) 2)) (+.f64 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))) 1))
0.2b
(pow.f64 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))) 2)
2.5b
(log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1)))

series6.3s (36%)

Counts
2 → 48
Calls

12 calls:

3.0s
(/.f64 (-.f64 1 (pow.f64 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))) 2)) (+.f64 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))) 1))
x
-inf
2.7s
(/.f64 (-.f64 1 (pow.f64 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))) 2)) (+.f64 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))) 1))
x
inf
349.0ms
(/.f64 (-.f64 1 (pow.f64 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))) 2)) (+.f64 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))) 1))
y
-inf
83.0ms
(pow.f64 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))) 2)
x
-inf
83.0ms
(pow.f64 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))) 2)
x
inf

rewrite74.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
278×log1p-udef_binary64
160×add-sqr-sqrt_binary64
158×expm1-log1p-u_binary64
157×log1p-expm1-u_binary64
154×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01450
132530
2467030
Stop Event
node limit
Counts
2 → 58

simplify644.0ms (3.7%)

Algorithm
egg-herbie
Rules
934×times-frac_binary64
24×unpow2_binary64
11×cube-mult_binary64
11×unpow3_binary64
log-div_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0476089745
Stop Event
node limit
Counts
106 → 144

prune2.6s (14.9%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New4264430
Fresh022
Picked101
Done011
Total4277434
Error
0.1b
Counts
434 → 7
Alt Table
StatusErrorProgram
23.0b
(/.f64 (-.f64 1 (pow.f64 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))) 2)) (+.f64 (log1p.f64 (fma.f64 (*.f64 (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1)) (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1))) (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1)) -1)) 1))
45.3b
(-.f64 (+.f64 (/.f64 (pow.f64 (log.f64 (/.f64 -1 y)) 2) (*.f64 (-.f64 1 x) (*.f64 y (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (+.f64 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (pow.f64 x 2)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))))))) (+.f64 (/.f64 (log.f64 (-.f64 1 x)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))))))) (+.f64 (*.f64 2 (/.f64 (log.f64 (/.f64 -1 y)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (/.f64 (*.f64 x (pow.f64 (log.f64 (-.f64 1 x)) 2)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (+.f64 (*.f64 2 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (pow.f64 x 2)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (*.f64 2 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (/.f64 1 (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3)))) (+.f64 (*.f64 2 (/.f64 (log.f64 (-.f64 1 x)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (*.f64 2 (/.f64 (*.f64 (log.f64 (-.f64 1 x)) x) (*.f64 (-.f64 1 x) (*.f64 y (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))))))) (+.f64 (*.f64 4 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (*.f64 x (log.f64 (-.f64 1 x)))) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3))))) (+.f64 (*.f64 2 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (*.f64 x (log.f64 (-.f64 1 x)))) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 x 2) (log.f64 (-.f64 1 x))) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3)))) (+.f64 (/.f64 (*.f64 (log.f64 (-.f64 1 x)) (pow.f64 x 2)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))))))) (+.f64 (/.f64 1 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))))) (+.f64 (/.f64 (log.f64 (/.f64 -1 y)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))))))) (+.f64 (*.f64 2 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))) (*.f64 (-.f64 1 x) (*.f64 y (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (*.f64 2 (/.f64 x (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))))))) (+.f64 (/.f64 x (*.f64 (-.f64 1 x) (*.f64 y (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (+.f64 (/.f64 (pow.f64 (log.f64 (/.f64 -1 y)) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (log.f64 (-.f64 1 x)) 2) x) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3))))) (+.f64 (/.f64 (pow.f64 (log.f64 (-.f64 1 x)) 2) (*.f64 (-.f64 1 x) (*.f64 y (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (+.f64 (/.f64 (pow.f64 (log.f64 (-.f64 1 x)) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (log.f64 (/.f64 -1 y)) 2) x) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3))))) (+.f64 (/.f64 (*.f64 (pow.f64 (log.f64 (/.f64 -1 y)) 2) x) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (*.f64 2 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) x) (*.f64 (-.f64 1 x) (*.f64 y (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))))))))))))))))))))))))))))))))))) (+.f64 (*.f64 2 (/.f64 (*.f64 x (log.f64 (-.f64 1 x))) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))))))) (+.f64 (*.f64 4 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) x) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (*.f64 2 (/.f64 (log.f64 (/.f64 -1 y)) (*.f64 (-.f64 1 x) (*.f64 y (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))))))) (+.f64 (*.f64 2 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) x) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))))))) (+.f64 (/.f64 1 (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (log.f64 (-.f64 1 x)) 2) (pow.f64 x 2)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (/.f64 1 (*.f64 (-.f64 1 x) (*.f64 y (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (+.f64 (*.f64 2 (/.f64 (log.f64 (-.f64 1 x)) (*.f64 (-.f64 1 x) (*.f64 y (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))))))) (+.f64 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))))))) (+.f64 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (+.f64 (*.f64 2 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (*.f64 (pow.f64 x 2) (log.f64 (-.f64 1 x)))) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3))))) (+.f64 (*.f64 2 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))))) (+.f64 (/.f64 (pow.f64 (log.f64 (-.f64 1 x)) 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))))) (+.f64 (*.f64 2 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3))))) (+.f64 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (*.f64 (log.f64 (-.f64 1 x)) (pow.f64 x 2))) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (+.f64 (/.f64 (pow.f64 (log.f64 (/.f64 -1 y)) 2) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3)))) (+.f64 (*.f64 2 (/.f64 (log.f64 (-.f64 1 x)) (*.f64 (pow.f64 y 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))))))) (+.f64 (/.f64 (*.f64 (pow.f64 x 2) (pow.f64 (log.f64 (-.f64 1 x)) 2)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3)))) (+.f64 (*.f64 2 (/.f64 (log.f64 (/.f64 -1 y)) (*.f64 (pow.f64 y 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))))))) (+.f64 (/.f64 x (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (+.f64 (/.f64 (pow.f64 (log.f64 (/.f64 -1 y)) 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (log.f64 (/.f64 -1 y)) 2) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (*.f64 4 (/.f64 (*.f64 (log.f64 (-.f64 1 x)) x) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (*.f64 2 (/.f64 x (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3))))) (+.f64 (/.f64 (*.f64 (pow.f64 (log.f64 (-.f64 1 x)) 2) x) (*.f64 (-.f64 1 x) (*.f64 y (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (log.f64 (-.f64 1 x)) 2) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (/.f64 (pow.f64 (log.f64 (-.f64 1 x)) 2) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3)))) (+.f64 (*.f64 2 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (*.f64 (log.f64 (-.f64 1 x)) x)) (*.f64 (-.f64 1 x) (*.f64 y (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (/.f64 (*.f64 (pow.f64 (log.f64 (/.f64 -1 y)) 2) x) (*.f64 (-.f64 1 x) (*.f64 y (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (+.f64 (/.f64 (*.f64 (pow.f64 (log.f64 (/.f64 -1 y)) 2) (pow.f64 x 2)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (log.f64 (/.f64 -1 y)) 2) (pow.f64 x 2)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (/.f64 1 (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))))))))))))))))))))))))))))))))))
40.4b
(-.f64 1 (+.f64 (+.f64 (log1p.f64 (neg.f64 x)) (log.f64 (/.f64 -1 y))) (-.f64 (/.f64 1 (*.f64 y (-.f64 1 x))) (/.f64 (/.f64 x (-.f64 1 x)) y))))
35.2b
(/.f64 (-.f64 1 (pow.f64 (-.f64 (log1p.f64 (pow.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 3)) (log.f64 (+.f64 1 (-.f64 (pow.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 2) (/.f64 (-.f64 x y) (+.f64 y -1)))))) 2)) (+.f64 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))) 1))
58.6b
(/.f64 (-.f64 1 (+.f64 (*.f64 2 (*.f64 (log.f64 (-.f64 x 1)) (neg.f64 (log.f64 y)))) (+.f64 (pow.f64 (neg.f64 (log.f64 y)) 2) (pow.f64 (log.f64 (-.f64 x 1)) 2)))) (+.f64 1 (+.f64 (log.f64 (-.f64 x 1)) (neg.f64 (log.f64 y)))))
58.4b
(-.f64 1 (-.f64 (log.f64 (+.f64 x -1)) (log.f64 y)))
22.5b
(-.f64 1 (log1p.f64 (*.f64 (-.f64 x y) (/.f64 1 (+.f64 y -1)))))
Compiler

Compiled 135498 to 105627 computations (22% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.5b
(log1p.f64 (fma.f64 (*.f64 (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1)) (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1))) (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1)) -1))
2.5b
(log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1)))
2.6b
(+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1)
4.2b
(fma.f64 (*.f64 (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1)) (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1))) (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1)) -1)

series819.0ms (4.7%)

Counts
3 → 44
Calls

18 calls:

231.0ms
(log1p.f64 (fma.f64 (*.f64 (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1)) (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1))) (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1)) -1))
y
-inf
230.0ms
(log1p.f64 (fma.f64 (*.f64 (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1)) (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1))) (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1)) -1))
y
inf
75.0ms
(log1p.f64 (fma.f64 (*.f64 (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1)) (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1))) (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1)) -1))
y
0
70.0ms
(fma.f64 (*.f64 (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1)) (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1))) (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1)) -1)
y
0
61.0ms
(fma.f64 (*.f64 (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1)) (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1))) (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1)) -1)
x
0

rewrite75.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
468×fma-def_binary64
335×fma-neg_binary64
242×log1p-udef_binary64
240×expm1-udef_binary64
165×egg-rr
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01347
128441
2388335
Stop Event
node limit
Counts
3 → 165

simplify98.0ms (0.6%)

Algorithm
egg-herbie
Rules
980×fma-def_binary64
667×associate-*l*_binary64
241×*-commutative_binary64
199×+-commutative_binary64
169×associate-+r+_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
06327655
122197415
Stop Event
node limit
Counts
209 → 221

prune896.0ms (5.1%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New4820482
Fresh055
Picked011
Done011
Total4827489
Error
0.1b
Counts
489 → 7
Alt Table
StatusErrorProgram
23.0b
(/.f64 (-.f64 1 (pow.f64 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))) 2)) (+.f64 (log1p.f64 (fma.f64 (*.f64 (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1)) (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1))) (cbrt.f64 (+.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 1)) -1)) 1))
45.3b
(-.f64 (+.f64 (/.f64 (pow.f64 (log.f64 (/.f64 -1 y)) 2) (*.f64 (-.f64 1 x) (*.f64 y (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (+.f64 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (pow.f64 x 2)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))))))) (+.f64 (/.f64 (log.f64 (-.f64 1 x)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))))))) (+.f64 (*.f64 2 (/.f64 (log.f64 (/.f64 -1 y)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (/.f64 (*.f64 x (pow.f64 (log.f64 (-.f64 1 x)) 2)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (+.f64 (*.f64 2 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (pow.f64 x 2)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (*.f64 2 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (/.f64 1 (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3)))) (+.f64 (*.f64 2 (/.f64 (log.f64 (-.f64 1 x)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (*.f64 2 (/.f64 (*.f64 (log.f64 (-.f64 1 x)) x) (*.f64 (-.f64 1 x) (*.f64 y (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))))))) (+.f64 (*.f64 4 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (*.f64 x (log.f64 (-.f64 1 x)))) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3))))) (+.f64 (*.f64 2 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (*.f64 x (log.f64 (-.f64 1 x)))) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 x 2) (log.f64 (-.f64 1 x))) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3)))) (+.f64 (/.f64 (*.f64 (log.f64 (-.f64 1 x)) (pow.f64 x 2)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))))))) (+.f64 (/.f64 1 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))))) (+.f64 (/.f64 (log.f64 (/.f64 -1 y)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))))))) (+.f64 (*.f64 2 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))) (*.f64 (-.f64 1 x) (*.f64 y (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (*.f64 2 (/.f64 x (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))))))) (+.f64 (/.f64 x (*.f64 (-.f64 1 x) (*.f64 y (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (+.f64 (/.f64 (pow.f64 (log.f64 (/.f64 -1 y)) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (log.f64 (-.f64 1 x)) 2) x) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3))))) (+.f64 (/.f64 (pow.f64 (log.f64 (-.f64 1 x)) 2) (*.f64 (-.f64 1 x) (*.f64 y (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (+.f64 (/.f64 (pow.f64 (log.f64 (-.f64 1 x)) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (log.f64 (/.f64 -1 y)) 2) x) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3))))) (+.f64 (/.f64 (*.f64 (pow.f64 (log.f64 (/.f64 -1 y)) 2) x) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (*.f64 2 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) x) (*.f64 (-.f64 1 x) (*.f64 y (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))))))))))))))))))))))))))))))))))) (+.f64 (*.f64 2 (/.f64 (*.f64 x (log.f64 (-.f64 1 x))) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))))))) (+.f64 (*.f64 4 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) x) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (*.f64 2 (/.f64 (log.f64 (/.f64 -1 y)) (*.f64 (-.f64 1 x) (*.f64 y (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))))))) (+.f64 (*.f64 2 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) x) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))))))) (+.f64 (/.f64 1 (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (log.f64 (-.f64 1 x)) 2) (pow.f64 x 2)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (/.f64 1 (*.f64 (-.f64 1 x) (*.f64 y (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (+.f64 (*.f64 2 (/.f64 (log.f64 (-.f64 1 x)) (*.f64 (-.f64 1 x) (*.f64 y (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))))))) (+.f64 (/.f64 (pow.f64 x 2) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))))))) (+.f64 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (+.f64 (*.f64 2 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (*.f64 (pow.f64 x 2) (log.f64 (-.f64 1 x)))) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3))))) (+.f64 (*.f64 2 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))))) (+.f64 (/.f64 (pow.f64 (log.f64 (-.f64 1 x)) 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))))) (+.f64 (*.f64 2 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3))))) (+.f64 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (*.f64 (log.f64 (-.f64 1 x)) (pow.f64 x 2))) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (+.f64 (/.f64 (pow.f64 (log.f64 (/.f64 -1 y)) 2) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3)))) (+.f64 (*.f64 2 (/.f64 (log.f64 (-.f64 1 x)) (*.f64 (pow.f64 y 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))))))) (+.f64 (/.f64 (*.f64 (pow.f64 x 2) (pow.f64 (log.f64 (-.f64 1 x)) 2)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3)))) (+.f64 (*.f64 2 (/.f64 (log.f64 (/.f64 -1 y)) (*.f64 (pow.f64 y 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))))))) (+.f64 (/.f64 x (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (+.f64 (/.f64 (pow.f64 (log.f64 (/.f64 -1 y)) 2) (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x))))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (log.f64 (/.f64 -1 y)) 2) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (*.f64 4 (/.f64 (*.f64 (log.f64 (-.f64 1 x)) x) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (*.f64 2 (/.f64 x (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3))))) (+.f64 (/.f64 (*.f64 (pow.f64 (log.f64 (-.f64 1 x)) 2) x) (*.f64 (-.f64 1 x) (*.f64 y (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (log.f64 (-.f64 1 x)) 2) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (/.f64 (pow.f64 (log.f64 (-.f64 1 x)) 2) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3)))) (+.f64 (*.f64 2 (/.f64 (*.f64 (log.f64 (/.f64 -1 y)) (*.f64 (log.f64 (-.f64 1 x)) x)) (*.f64 (-.f64 1 x) (*.f64 y (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (+.f64 (/.f64 (*.f64 (pow.f64 (log.f64 (/.f64 -1 y)) 2) x) (*.f64 (-.f64 1 x) (*.f64 y (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))) (+.f64 (/.f64 (*.f64 (pow.f64 (log.f64 (/.f64 -1 y)) 2) (pow.f64 x 2)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 3)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (log.f64 (/.f64 -1 y)) 2) (pow.f64 x 2)) (*.f64 (pow.f64 (-.f64 1 x) 2) (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2))))) (/.f64 1 (*.f64 (pow.f64 y 2) (pow.f64 (+.f64 1 (+.f64 (log.f64 (/.f64 -1 y)) (log.f64 (-.f64 1 x)))) 2)))))))))))))))))))))))))))))))))))
40.4b
(-.f64 1 (+.f64 (+.f64 (log1p.f64 (neg.f64 x)) (log.f64 (/.f64 -1 y))) (-.f64 (/.f64 1 (*.f64 y (-.f64 1 x))) (/.f64 (/.f64 x (-.f64 1 x)) y))))
35.2b
(/.f64 (-.f64 1 (pow.f64 (-.f64 (log1p.f64 (pow.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 3)) (log.f64 (+.f64 1 (-.f64 (pow.f64 (/.f64 (-.f64 x y) (+.f64 y -1)) 2) (/.f64 (-.f64 x y) (+.f64 y -1)))))) 2)) (+.f64 (log1p.f64 (/.f64 (-.f64 x y) (+.f64 y -1))) 1))
58.6b
(/.f64 (-.f64 1 (+.f64 (*.f64 2 (*.f64 (log.f64 (-.f64 x 1)) (neg.f64 (log.f64 y)))) (+.f64 (pow.f64 (neg.f64 (log.f64 y)) 2) (pow.f64 (log.f64 (-.f64 x 1)) 2)))) (+.f64 1 (+.f64 (log.f64 (-.f64 x 1)) (neg.f64 (log.f64 y)))))
58.4b
(-.f64 1 (-.f64 (log.f64 (+.f64 x -1)) (log.f64 y)))
22.5b
(-.f64 1 (log1p.f64 (*.f64 (-.f64 x y) (/.f64 1 (+.f64 y -1)))))
Compiler

Compiled 36704 to 26293 computations (28.4% saved)

regimes907.0ms (5.2%)

Accuracy

Total 0.1b remaining (62.2%)

Threshold costs 0.1b (62.2%)

Counts
57 → 3
Compiler

Compiled 20912 to 16678 computations (20.2% saved)

bsearch208.0ms (1.2%)

Algorithm
binary-search
Calls

2 calls:

180.0ms
y
23.0ms
y
Steps
ItersPointRange
4.2096123486017616e+43
∈ [
4.150862037014624e+43
,
7.291284734026614e+59
]
-589143.7095034524
∈ [
-14565245.843627656
,
-433.6422767910248
]
Compiler

Compiled 3 to 2 computations (33.3% saved)

simplify14.0ms (0.1%)

Algorithm
egg-herbie
Rules
29×+-commutative_binary64
25×sub-neg_binary64
23×neg-sub0_binary64
23×neg-mul-1_binary64
20×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03684
15984
28984
312884
417784
520984
622684
724084
825384
926284
1026884
1127184
1227284
Stop Event
saturated

end1.1s (6.1%)

Stop Event
fuel
Compiler

Compiled 2103 to 1703 computations (19% saved)

Profiling

Loading profile data...