Details

Time bar (total: 12.2s)

analyze474.0ms (3.9%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%68.6%31.4%5
0%65.5%34.5%6
0%59.2%40.8%7
0%51.4%48.6%8
0%41.3%58.7%9
0%28.4%71.6%10
2.3%22.3%75.4%11
2.3%21%76.7%12
2.7%18%79.3%13
2.7%16.4%80.8%14
Compiler

Compiled 22 to 16 computations (27.3% saved)

sample2.2s (17.6%)

Symmetry

(sort x y)

Results
1.4s8256×body128valid
675.0ms4369×body128invalid
Compiler

Compiled 65 to 47 computations (27.7% saved)

simplify64.0ms (0.5%)

Algorithm
egg-herbie
Rules
571×distribute-rgt-in_binary64
535×fma-def_binary64
386×unsub-neg_binary64
351×sub-neg_binary64
303×distribute-neg-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01625
12923
27223
319523
454123
5162623
6320423
7394323
8433523
9437123
10438623
11444023
12448123
13470823
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.2b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.2b
(+.f64 (log.f64 z) (-.f64 (log.f64 (+.f64 x y)) (fma.f64 (log.f64 t) (-.f64 1/2 a) t)))
0.3b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (-.f64 a 1/2) (log.f64 t)))
Compiler

Compiled 118 to 78 computations (33.9% saved)

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series653.0ms (5.3%)

Counts
3 → 132
Calls

3 calls:

493.0ms
(+.f64 (log.f64 z) (-.f64 (log.f64 (+.f64 x y)) (fma.f64 (log.f64 t) (-.f64 1/2 a) t)))
116.0ms
(-.f64 (log.f64 (+.f64 x y)) (fma.f64 (log.f64 t) (-.f64 1/2 a) t))
43.0ms
(fma.f64 (log.f64 t) (-.f64 1/2 a) t)

rewrite68.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
313×log1p-udef_binary64
172×add-sqr-sqrt_binary64
166×log1p-expm1-u_binary64
166×expm1-log1p-u_binary64
165×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01551
133349
2465449
Stop Event
node limit
Counts
3 → 100
Calls

3 calls:

65.0ms
(-.f64 (log.f64 (+.f64 x y)) (fma.f64 (log.f64 t) (-.f64 1/2 a) t))
65.0ms
(+.f64 (log.f64 z) (-.f64 (log.f64 (+.f64 x y)) (fma.f64 (log.f64 t) (-.f64 1/2 a) t)))
65.0ms
(fma.f64 (log.f64 t) (-.f64 1/2 a) t)

simplify70.0ms (0.6%)

Algorithm
egg-herbie
Rules
908×sub-neg_binary64
640×fma-def_binary64
490×cancel-sign-sub-inv_binary64
376×associate--l+_binary64
374×associate--r+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02073901
17693507
231173292
Stop Event
node limit
Counts
232 → 228

prune199.0ms (1.6%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New21810228
Fresh011
Picked101
Done000
Total21911230
Error
0.0b
Counts
230 → 11
Alt Table
StatusErrorProgram
29.6b
(+.f64 (log.f64 z) (*.f64 (-.f64 (pow.f64 (log.f64 (+.f64 x y)) 2) (pow.f64 (fma.f64 (log.f64 t) (-.f64 1/2 a) t) 2)) (/.f64 1 (+.f64 (fma.f64 (log.f64 t) (-.f64 1/2 a) t) (log.f64 (+.f64 x y))))))
29.6b
(/.f64 1 (/.f64 (+.f64 (-.f64 (log.f64 z) (log.f64 (+.f64 x y))) (fma.f64 (log.f64 t) (-.f64 1/2 a) t)) (-.f64 (pow.f64 (log.f64 z) 2) (pow.f64 (-.f64 (log.f64 (+.f64 x y)) (fma.f64 (log.f64 t) (-.f64 1/2 a) t)) 2))))
55.5b
(log.f64 (*.f64 z (/.f64 (+.f64 x y) (exp.f64 (fma.f64 (log.f64 t) (-.f64 1/2 a) t)))))
28.3b
(+.f64 (log.f64 z) (-.f64 (log.f64 (+.f64 x y)) (pow.f64 (sqrt.f64 (fma.f64 (log.f64 t) (-.f64 1/2 a) t)) 2)))
46.2b
(pow.f64 (sqrt.f64 (-.f64 (log.f64 (*.f64 z (+.f64 x y))) (fma.f64 (log.f64 t) (-.f64 1/2 a) t))) 2)
1.2b
(+.f64 (log.f64 z) (-.f64 (log.f64 (+.f64 x y)) (pow.f64 (cbrt.f64 (fma.f64 (log.f64 t) (-.f64 1/2 a) t)) 3)))
1.2b
(+.f64 (log.f64 z) (-.f64 (log.f64 (+.f64 x y)) (*.f64 (cbrt.f64 (fma.f64 (log.f64 t) (-.f64 1/2 a) t)) (pow.f64 (cbrt.f64 (fma.f64 (log.f64 t) (-.f64 1/2 a) t)) 2))))
29.5b
(/.f64 (-.f64 (pow.f64 (log.f64 z) 2) (pow.f64 (-.f64 (log.f64 (+.f64 x y)) (fma.f64 (log.f64 t) (-.f64 1/2 a) t)) 2)) (+.f64 (-.f64 (log.f64 z) (log.f64 (+.f64 x y))) (fma.f64 (log.f64 t) (-.f64 1/2 a) t)))
47.0b
(expm1.f64 (log1p.f64 (-.f64 (log.f64 (*.f64 z (+.f64 x y))) (fma.f64 (log.f64 t) (-.f64 1/2 a) t))))
0.3b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (-.f64 a 1/2) (log.f64 t)))
0.4b
(+.f64 (log.f64 z) (fma.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 x y))) 2) (cbrt.f64 (log.f64 (+.f64 x y))) (neg.f64 (fma.f64 (log.f64 t) (-.f64 1/2 a) t))))
Compiler

Compiled 6441 to 2982 computations (53.7% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t)
0.1b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (-.f64 a 1/2) (log.f64 t)))
0.1b
(*.f64 (-.f64 a 1/2) (log.f64 t))
0.6b
(+.f64 (log.f64 (+.f64 x y)) (log.f64 z))

series1.1s (9.3%)

Counts
4 → 164
Calls

4 calls:

644.0ms
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (-.f64 a 1/2) (log.f64 t)))
248.0ms
(-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t)
188.0ms
(+.f64 (log.f64 (+.f64 x y)) (log.f64 z))
54.0ms
(*.f64 (-.f64 a 1/2) (log.f64 t))

rewrite51.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
188×add-sqr-sqrt_binary64
184×log1p-expm1-u_binary64
184×expm1-log1p-u_binary64
182×add-cbrt-cube_binary64
177×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01653
136751
Stop Event
node limit
Counts
4 → 139
Calls

4 calls:

48.0ms
(-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t)
48.0ms
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (-.f64 a 1/2) (log.f64 t)))
48.0ms
(*.f64 (-.f64 a 1/2) (log.f64 t))
48.0ms
(+.f64 (log.f64 (+.f64 x y)) (log.f64 z))

simplify79.0ms (0.6%)

Algorithm
egg-herbie
Rules
871×sub-neg_binary64
837×fma-def_binary64
430×associate--l+_binary64
349×associate--r+_binary64
290×associate-+l+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02544158
18953886
234143780
Stop Event
node limit
Counts
303 → 293

prune266.0ms (2.2%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New2894293
Fresh6410
Picked101
Done000
Total2968304
Error
0.0b
Counts
304 → 8
Alt Table
StatusErrorProgram
54.2b
(log.f64 (*.f64 (/.f64 (*.f64 (+.f64 x y) z) (exp.f64 t)) (pow.f64 t (+.f64 a -1/2))))
0.7b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) (log.f64 t))) 3))
1.2b
(+.f64 (log.f64 z) (-.f64 (log.f64 (+.f64 x y)) (*.f64 (cbrt.f64 (fma.f64 (log.f64 t) (-.f64 1/2 a) t)) (pow.f64 (cbrt.f64 (fma.f64 (log.f64 t) (-.f64 1/2 a) t)) 2))))
29.6b
(/.f64 1 (/.f64 (+.f64 (-.f64 (log.f64 z) (log.f64 (+.f64 x y))) (fma.f64 (log.f64 t) (-.f64 1/2 a) t)) (-.f64 (pow.f64 (log.f64 z) 2) (pow.f64 (-.f64 (log.f64 (+.f64 x y)) (fma.f64 (log.f64 t) (-.f64 1/2 a) t)) 2))))
17.2b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (/.f64 (*.f64 (fma.f64 a a -1/4) (log.f64 t)) (+.f64 a 1/2)))
0.3b
(+.f64 (+.f64 (log.f64 (+.f64 x y)) (-.f64 (log.f64 z) t)) (*.f64 (-.f64 a 1/2) (log.f64 t)))
28.3b
(+.f64 (log.f64 z) (-.f64 (log.f64 (+.f64 x y)) (pow.f64 (sqrt.f64 (fma.f64 (log.f64 t) (-.f64 1/2 a) t)) 2)))
46.2b
(pow.f64 (sqrt.f64 (-.f64 (log.f64 (*.f64 z (+.f64 x y))) (fma.f64 (log.f64 t) (-.f64 1/2 a) t))) 2)
Compiler

Compiled 7818 to 3485 computations (55.4% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series980.0ms (8%)

Counts
3 → 119
Calls

3 calls:

672.0ms
(+.f64 (+.f64 (log.f64 (+.f64 x y)) (-.f64 (log.f64 z) t)) (*.f64 (-.f64 a 1/2) (log.f64 t)))
260.0ms
(+.f64 (log.f64 (+.f64 x y)) (-.f64 (log.f64 z) t))
47.0ms
(-.f64 (log.f64 z) t)

rewrite42.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
188×add-sqr-sqrt_binary64
183×log1p-expm1-u_binary64
183×expm1-log1p-u_binary64
182×add-cbrt-cube_binary64
177×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01645
136539
Stop Event
node limit
Counts
3 → 115
Calls

3 calls:

40.0ms
(-.f64 (log.f64 z) t)
40.0ms
(+.f64 (+.f64 (log.f64 (+.f64 x y)) (-.f64 (log.f64 z) t)) (*.f64 (-.f64 a 1/2) (log.f64 t)))
40.0ms
(+.f64 (log.f64 (+.f64 x y)) (-.f64 (log.f64 z) t))

simplify66.0ms (0.5%)

Algorithm
egg-herbie
Rules
838×sub-neg_binary64
542×fma-def_binary64
403×cancel-sign-sub-inv_binary64
349×associate--l+_binary64
319×associate--r+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02233170
17812921
230242837
Stop Event
node limit
Counts
234 → 224

prune190.0ms (1.6%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2511252
Fresh167
Picked011
Done000
Total2528260
Error
0.0b
Counts
260 → 8
Alt Table
StatusErrorProgram
54.2b
(log.f64 (*.f64 (/.f64 (*.f64 (+.f64 x y) z) (exp.f64 t)) (pow.f64 t (+.f64 a -1/2))))
0.7b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) (log.f64 t))) 3))
1.2b
(+.f64 (log.f64 z) (-.f64 (log.f64 (+.f64 x y)) (*.f64 (cbrt.f64 (fma.f64 (log.f64 t) (-.f64 1/2 a) t)) (pow.f64 (cbrt.f64 (fma.f64 (log.f64 t) (-.f64 1/2 a) t)) 2))))
31.0b
(+.f64 (+.f64 (log.f64 (+.f64 x y)) (-.f64 (log.f64 z) t)) (pow.f64 (sqrt.f64 (*.f64 (+.f64 a -1/2) (log.f64 t))) 2))
29.6b
(/.f64 1 (/.f64 (+.f64 (-.f64 (log.f64 z) (log.f64 (+.f64 x y))) (fma.f64 (log.f64 t) (-.f64 1/2 a) t)) (-.f64 (pow.f64 (log.f64 z) 2) (pow.f64 (-.f64 (log.f64 (+.f64 x y)) (fma.f64 (log.f64 t) (-.f64 1/2 a) t)) 2))))
17.2b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (/.f64 (*.f64 (fma.f64 a a -1/4) (log.f64 t)) (+.f64 a 1/2)))
0.3b
(+.f64 (+.f64 (log.f64 (+.f64 x y)) (-.f64 (log.f64 z) t)) (*.f64 (-.f64 a 1/2) (log.f64 t)))
28.3b
(+.f64 (log.f64 z) (-.f64 (log.f64 (+.f64 x y)) (pow.f64 (sqrt.f64 (fma.f64 (log.f64 t) (-.f64 1/2 a) t)) 2)))
Compiler

Compiled 6735 to 2913 computations (56.7% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (+.f64 a -1/2) (log.f64 t))
0.6b
(cbrt.f64 (*.f64 (+.f64 a -1/2) (log.f64 t)))
0.6b
(+.f64 (log.f64 (+.f64 x y)) (log.f64 z))
0.8b
(pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) (log.f64 t))) 3)

series353.0ms (2.9%)

Counts
3 → 56
Calls

3 calls:

170.0ms
(pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) (log.f64 t))) 3)
116.0ms
(cbrt.f64 (*.f64 (+.f64 a -1/2) (log.f64 t)))
66.0ms
(*.f64 (+.f64 a -1/2) (log.f64 t))

rewrite61.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
851×log1p-expm1-u_binary64
851×expm1-log1p-u_binary64
92×add-sqr-sqrt_binary64
91×egg-rr
88×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01029
120829
2230929
Stop Event
node limit
Counts
3 → 91
Calls

3 calls:

59.0ms
(*.f64 (+.f64 a -1/2) (log.f64 t))
59.0ms
(cbrt.f64 (*.f64 (+.f64 a -1/2) (log.f64 t)))
59.0ms
(pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) (log.f64 t))) 3)

simplify36.0ms (0.3%)

Algorithm
egg-herbie
Rules
617×associate-*r*_binary64
603×associate-*l*_binary64
416×fma-def_binary64
236×*-commutative_binary64
134×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01071052
13161036
210081019
Stop Event
node limit
Counts
147 → 99

prune237.0ms (1.9%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1724176
Fresh156
Picked101
Done011
Total17410184
Error
0.0b
Counts
184 → 10
Alt Table
StatusErrorProgram
31.0b
(+.f64 (+.f64 (log.f64 (+.f64 x y)) (-.f64 (log.f64 z) t)) (pow.f64 (sqrt.f64 (*.f64 (+.f64 a -1/2) (log.f64 t))) 2))
0.6b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/2)) 2) (*.f64 (cbrt.f64 (+.f64 a -1/2)) (log.f64 t))))
54.2b
(log.f64 (*.f64 (/.f64 (*.f64 (+.f64 x y) z) (exp.f64 t)) (pow.f64 t (+.f64 a -1/2))))
0.7b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (cbrt.f64 (+.f64 a -1/2)) (*.f64 (cbrt.f64 (log.f64 t)) (pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) (log.f64 t))) 2))))
1.2b
(+.f64 (log.f64 z) (-.f64 (log.f64 (+.f64 x y)) (*.f64 (cbrt.f64 (fma.f64 (log.f64 t) (-.f64 1/2 a) t)) (pow.f64 (cbrt.f64 (fma.f64 (log.f64 t) (-.f64 1/2 a) t)) 2))))
29.6b
(/.f64 1 (/.f64 (+.f64 (-.f64 (log.f64 z) (log.f64 (+.f64 x y))) (fma.f64 (log.f64 t) (-.f64 1/2 a) t)) (-.f64 (pow.f64 (log.f64 z) 2) (pow.f64 (-.f64 (log.f64 (+.f64 x y)) (fma.f64 (log.f64 t) (-.f64 1/2 a) t)) 2))))
0.9b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) (log.f64 t)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) (log.f64 t)))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/2) (log.f64 t))) 2))))
0.7b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (*.f64 (+.f64 a -1/2) (pow.f64 (cbrt.f64 (log.f64 t)) 2)) (cbrt.f64 (log.f64 t))))
0.3b
(+.f64 (+.f64 (log.f64 (+.f64 x y)) (-.f64 (log.f64 z) t)) (*.f64 (-.f64 a 1/2) (log.f64 t)))
28.3b
(+.f64 (log.f64 z) (-.f64 (log.f64 (+.f64 x y)) (pow.f64 (sqrt.f64 (fma.f64 (log.f64 t) (-.f64 1/2 a) t)) 2)))
Compiler

Compiled 5239 to 2755 computations (47.4% saved)

regimes4.8s (39.2%)

Accuracy

Total 0.2b remaining (85.1%)

Threshold costs 0.2b (85.1%)

Counts
287 → 1
Compiler

Compiled 92794 to 65514 computations (29.4% saved)

simplify2.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
01526
11926
22426
32626
42726
Stop Event
saturated

end191.0ms (1.6%)

Remove

(sort x y)

Compiler

Compiled 384 to 265 computations (31% saved)

Profiling

Loading profile data...