Details

Time bar (total: 6.9s)

analyze399.0ms (5.8%)

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
6.2%68.6%25.1%7
12.5%56.2%31.4%8
14%48.4%37.6%9
21.1%41.3%37.6%10
26.9%32.4%40.7%11
28.7%27.5%43.8%12
33.4%22.7%43.8%13
37.2%17.4%45.4%14
Compiler

Compiled 12 to 8 computations (33.3% saved)

sample1.1s (15.9%)

Results
952.0ms8256×body128valid
80.0ms829×body128invalid
Compiler

Compiled 35 to 23 computations (34.3% saved)

simplify52.0ms (0.8%)

Algorithm
egg-herbie
Rules
1663×fma-def_binary64
528×fma-neg_binary64
288×distribute-rgt-in_binary64
230×unsub-neg_binary64
193×distribute-lft-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0812
11512
22312
33912
49812
523112
647412
789812
8125612
9213312
10363612
11401012
12413612
13417512
14418912
Stop Event
node limit
Counts
1 → 2

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
18.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
18.1b
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
Compiler

Compiled 41 to 23 computations (43.9% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
17.5b
(log.f64 (/.f64 x y))

series572.0ms (8.3%)

Counts
2 → 60
Calls

2 calls:

328.0ms
(log.f64 (/.f64 x y))
243.0ms
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))

rewrite62.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
710×log1p-expm1-u_binary64
710×expm1-log1p-u_binary64
191×egg-rr
165×prod-diff_binary64
137×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0818
116516
2215416
Stop Event
node limit
Counts
2 → 191
Calls

2 calls:

57.0ms
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
57.0ms
(log.f64 (/.f64 x y))

simplify84.0ms (1.2%)

Algorithm
egg-herbie
Rules
492×fma-neg_binary64
410×unsub-neg_binary64
305×sub-neg_binary64
289×distribute-rgt-in_binary64
230×distribute-neg-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
052558
1125540
2268540
3669540
42021540
53640540
64344540
74799540
84924540
94973540
104981540
Stop Event
node limit
Counts
251 → 209

prune117.0ms (1.7%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New19910209
Fresh000
Picked011
Done000
Total19911210
Error
0.0b
Counts
210 → 11
Alt Table
StatusErrorProgram
32.9b
(-.f64 (*.f64 (log.f64 x) x) (+.f64 (*.f64 (log.f64 y) x) z))
32.9b
(fma.f64 x (/.f64 (-.f64 (*.f64 (log.f64 x) (log.f64 x)) (*.f64 (log.f64 y) (log.f64 y))) (+.f64 (log.f64 x) (log.f64 y))) (neg.f64 z))
32.9b
(fma.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))))) (neg.f64 z))
31.4b
(fma.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) (neg.f64 z))
18.1b
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
51.4b
(+.f64 (fma.f64 (*.f64 x (sqrt.f64 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (/.f64 x y))) z) (fma.f64 -1 z z))
44.6b
(+.f64 (fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2)) (cbrt.f64 (log.f64 (/.f64 x y))) z) (fma.f64 -1 z z))
50.9b
(fma.f64 x (+.f64 (fma.f64 (sqrt.f64 (log.f64 x)) (sqrt.f64 (log.f64 x)) (neg.f64 (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y)))))) (fma.f64 (neg.f64 (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y)))))) (neg.f64 z))
55.9b
(+.f64 (fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 (/.f64 x y))) z) (fma.f64 -1 z z))
54.4b
(pow.f64 (sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) z)) 2)
31.6b
(-.f64 (+.f64 (*.f64 (log.f64 (/.f64 -1 y)) x) (*.f64 (log.f64 (neg.f64 x)) x)) z)
Compiler

Compiled 5065 to 1527 computations (69.9% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) (neg.f64 z))
0.3b
(-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))

series702.0ms (10.2%)

Counts
2 → 60
Calls

2 calls:

384.0ms
(-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))
318.0ms
(fma.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) (neg.f64 z))

rewrite67.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
903×expm1-log1p-u_binary64
505×prod-diff_binary64
204×egg-rr
117×add-sqr-sqrt_binary64
110×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01126
123116
2318016
Stop Event
node limit
Counts
2 → 204
Calls

2 calls:

62.0ms
(fma.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) (neg.f64 z))
62.0ms
(-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))

simplify58.0ms (0.8%)

Algorithm
egg-herbie
Rules
523×sub-neg_binary64
509×fma-def_binary64
415×unsub-neg_binary64
284×distribute-rgt-in_binary64
228×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0621081
1184909
2448900
31158704
43397704
54771704
Stop Event
node limit
Counts
264 → 228

prune115.0ms (1.7%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New2262228
Fresh279
Picked011
Done011
Total22811239
Error
0.0b
Counts
239 → 11
Alt Table
StatusErrorProgram
50.9b
(fma.f64 x (+.f64 (fma.f64 (sqrt.f64 (log.f64 x)) (sqrt.f64 (log.f64 x)) (neg.f64 (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y)))))) (fma.f64 (neg.f64 (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y)))))) (neg.f64 z))
31.6b
(-.f64 (*.f64 (log.f64 (neg.f64 x)) x) (+.f64 (*.f64 (log.f64 (neg.f64 y)) x) z))
32.9b
(-.f64 (*.f64 (log.f64 x) x) (+.f64 (*.f64 (log.f64 y) x) z))
33.0b
(fma.f64 x (fma.f64 (pow.f64 (cbrt.f64 (log.f64 x)) 2) (cbrt.f64 (log.f64 x)) (neg.f64 (log.f64 y))) (neg.f64 z))
32.9b
(fma.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))))) (neg.f64 z))
31.4b
(fma.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) (neg.f64 z))
18.1b
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
51.4b
(+.f64 (fma.f64 (*.f64 x (sqrt.f64 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (/.f64 x y))) z) (fma.f64 -1 z z))
44.6b
(+.f64 (fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (log.f64 (/.f64 x y))) 2)) (cbrt.f64 (log.f64 (/.f64 x y))) z) (fma.f64 -1 z z))
55.9b
(+.f64 (fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 (/.f64 x y))) z) (fma.f64 -1 z z))
54.4b
(pow.f64 (sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) z)) 2)
Compiler

Compiled 5378 to 1662 computations (69.1% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series661.0ms (9.6%)

Counts
4 → 69
Calls

4 calls:

317.0ms
(-.f64 (*.f64 (log.f64 (neg.f64 x)) x) (+.f64 (*.f64 (log.f64 (neg.f64 y)) x) z))
214.0ms
(*.f64 (log.f64 (neg.f64 y)) x)
100.0ms
(+.f64 (*.f64 (log.f64 (neg.f64 y)) x) z)
29.0ms
(*.f64 (log.f64 (neg.f64 x)) x)

rewrite70.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
666×fma-def_binary64
332×fma-neg_binary64
208×expm1-udef_binary64
208×log1p-udef_binary64
197×egg-rr
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01244
126133
2373233
Stop Event
node limit
Counts
4 → 197
Calls

4 calls:

65.0ms
(+.f64 (*.f64 (log.f64 (neg.f64 y)) x) z)
65.0ms
(*.f64 (log.f64 (neg.f64 y)) x)
65.0ms
(*.f64 (log.f64 (neg.f64 x)) x)
65.0ms
(-.f64 (*.f64 (log.f64 (neg.f64 x)) x) (+.f64 (*.f64 (log.f64 (neg.f64 y)) x) z))

simplify47.0ms (0.7%)

Algorithm
egg-herbie
Rules
695×fma-def_binary64
536×sub-neg_binary64
358×fma-neg_binary64
261×associate-+l-_binary64
246×associate--r+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
065991
1190804
2478801
31378721
44238721
Stop Event
node limit
Counts
266 → 229

prune117.0ms (1.7%)

Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New2272229
Fresh358
Picked011
Done022
Total23010240
Error
0.0b
Counts
240 → 10
Alt Table
StatusErrorProgram
50.9b
(fma.f64 x (+.f64 (fma.f64 (sqrt.f64 (log.f64 x)) (sqrt.f64 (log.f64 x)) (neg.f64 (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y)))))) (fma.f64 (neg.f64 (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y)))))) (neg.f64 z))
31.6b
(-.f64 (*.f64 (log.f64 (neg.f64 x)) x) (+.f64 (*.f64 (log.f64 (neg.f64 y)) x) z))
32.9b
(fma.f64 x (-.f64 (log.f64 x) (log.f64 y)) (*.f64 -1 z))
55.9b
(+.f64 (fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 (/.f64 x y))) z) (fma.f64 -1 z z))
32.9b
(fma.f64 x (log.f64 x) (neg.f64 (fma.f64 x (log.f64 y) z)))
54.4b
(pow.f64 (sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) z)) 2)
32.9b
(-.f64 (*.f64 (log.f64 x) x) (+.f64 (*.f64 (log.f64 y) x) z))
31.4b
(fma.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) (neg.f64 z))
18.1b
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
51.4b
(+.f64 (fma.f64 (*.f64 x (sqrt.f64 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (/.f64 x y))) z) (fma.f64 -1 z z))
Compiler

Compiled 4789 to 1196 computations (75% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 x (-.f64 (log.f64 x) (log.f64 y)) (*.f64 -1 z))
0.3b
(-.f64 (log.f64 x) (log.f64 y))

series581.0ms (8.4%)

Counts
2 → 52
Calls

2 calls:

316.0ms
(-.f64 (log.f64 x) (log.f64 y))
264.0ms
(fma.f64 x (-.f64 (log.f64 x) (log.f64 y)) (*.f64 -1 z))

rewrite73.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
885×expm1-log1p-u_binary64
519×prod-diff_binary64
213×egg-rr
101×add-sqr-sqrt_binary64
95×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01018
120216
2257916
Stop Event
node limit
Counts
2 → 213
Calls

2 calls:

68.0ms
(fma.f64 x (-.f64 (log.f64 x) (log.f64 y)) (*.f64 -1 z))
68.0ms
(-.f64 (log.f64 x) (log.f64 y))

simplify81.0ms (1.2%)

Algorithm
egg-herbie
Rules
417×unsub-neg_binary64
417×fma-def_binary64
351×sub-neg_binary64
227×distribute-rgt-in_binary64
212×distribute-neg-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
050666
1143590
2382590
31040590
43072590
53946590
64495590
74734590
84764590
94771590
Stop Event
node limit
Counts
265 → 230

prune109.0ms (1.6%)

Pruning

10 alts after pruning (6 fresh and 4 done)

PrunedKeptTotal
New2300230
Fresh066
Picked011
Done033
Total23010240
Error
0.0b
Counts
240 → 10
Alt Table
StatusErrorProgram
50.9b
(fma.f64 x (+.f64 (fma.f64 (sqrt.f64 (log.f64 x)) (sqrt.f64 (log.f64 x)) (neg.f64 (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y)))))) (fma.f64 (neg.f64 (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y)))))) (neg.f64 z))
31.6b
(-.f64 (*.f64 (log.f64 (neg.f64 x)) x) (+.f64 (*.f64 (log.f64 (neg.f64 y)) x) z))
32.9b
(fma.f64 x (-.f64 (log.f64 x) (log.f64 y)) (*.f64 -1 z))
55.9b
(+.f64 (fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (log.f64 (/.f64 x y))) z) (fma.f64 -1 z z))
32.9b
(fma.f64 x (log.f64 x) (neg.f64 (fma.f64 x (log.f64 y) z)))
54.4b
(pow.f64 (sqrt.f64 (fma.f64 x (log.f64 (/.f64 x y)) z)) 2)
32.9b
(-.f64 (*.f64 (log.f64 x) x) (+.f64 (*.f64 (log.f64 y) x) z))
31.4b
(fma.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y))) (neg.f64 z))
18.1b
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
51.4b
(+.f64 (fma.f64 (*.f64 x (sqrt.f64 (log.f64 (/.f64 x y)))) (sqrt.f64 (log.f64 (/.f64 x y))) z) (fma.f64 -1 z z))
Compiler

Compiled 5417 to 1699 computations (68.6% saved)

regimes1.6s (23.8%)

Accuracy

Total 0.3b remaining (88.5%)

Threshold costs 0.3b (88.5%)

Counts
119 → 2
Compiler

Compiled 11977 to 7124 computations (40.5% saved)

bsearch39.0ms (0.6%)

Steps
ItersRangePoint
9
-9.510892274969026e-307
2.7231035217214135e-305
3.50923658615853e-310
Compiler

Compiled 4 to 3 computations (25% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02238
13838
25138
35838
46038
Stop Event
saturated

end126.0ms (1.8%)

Compiler

Compiled 239 to 137 computations (42.7% saved)

Profiling

Loading profile data...