Details

Time bar (total: 6.4s)

analyze1.5s (23.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%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
0%99.8%0.2%9
0%99.8%0.2%10
9.4%90.4%0.2%11
9.4%90.4%0.2%12
10.1%89.6%0.2%13
20.8%78.9%0.2%14
Compiler

Compiled 19 to 14 computations (26.3% saved)

sample1.6s (25.9%)

Symmetry

(sort x y)

(sort z t)

Results
1.1s8256×body128valid
494.0ms3160×body128invalid
Compiler

Compiled 56 to 41 computations (26.8% saved)

simplify34.0ms (0.5%)

Algorithm
egg-herbie
Rules
789×fma-def_binary64
757×fma-neg_binary64
385×associate-/l*_binary64
290×associate-/r/_binary64
265×times-frac_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01419
13117
210917
334917
499217
5239317
6404617
7484817
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
6.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
6.4b
(/.f64 (-.f64 (*.f64 x y) (*.f64 (*.f64 z 9) t)) (*.f64 a 2))
6.1b
(/.f64 (fma.f64 t (*.f64 z -9/2) (*.f64 x (/.f64 y 2))) a)
Compiler

Compiled 100 to 70 computations (30% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.4b
(fma.f64 t (*.f64 z -9/2) (*.f64 x (/.f64 y 2)))
5.7b
(/.f64 (fma.f64 t (*.f64 z -9/2) (*.f64 x (/.f64 y 2))) a)

series46.0ms (0.7%)

Counts
2 → 108
Calls

2 calls:

34.0ms
(/.f64 (fma.f64 t (*.f64 z -9/2) (*.f64 x (/.f64 y 2))) a)
12.0ms
(fma.f64 t (*.f64 z -9/2) (*.f64 x (/.f64 y 2)))

rewrite52.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
257×prod-diff_binary64
247×expm1-udef_binary64
247×log1p-udef_binary64
216×log-pow_binary64
138×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01331
127431
2339131
Stop Event
node limit
Counts
2 → 59
Calls

2 calls:

51.0ms
(fma.f64 t (*.f64 z -9/2) (*.f64 x (/.f64 y 2)))
51.0ms
(/.f64 (fma.f64 t (*.f64 z -9/2) (*.f64 x (/.f64 y 2))) a)

simplify78.0ms (1.2%)

Algorithm
egg-herbie
Rules
896×fma-neg_binary64
366×associate-/l*_binary64
298×fma-def_binary64
225×distribute-rgt-neg-in_binary64
221×associate-/r/_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0261692
1721524
21891524
35041524
412301524
524491524
635771524
746841524
Stop Event
node limit
Counts
167 → 73

prune70.0ms (1.1%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New631073
Fresh101
Picked011
Done000
Total641175
Error
0.2b
Counts
75 → 11
Alt Table
StatusErrorProgram
5.9b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (/.f64 (*.f64 t z) a)))
34.1b
(*.f64 (/.f64 (sqrt.f64 (fma.f64 x (*.f64 y 1/2) (*.f64 (*.f64 t z) -9/2))) (pow.f64 (cbrt.f64 a) 2)) (/.f64 (sqrt.f64 (fma.f64 x (*.f64 y 1/2) (*.f64 (*.f64 t z) -9/2))) (cbrt.f64 a)))
6.6b
(pow.f64 (/.f64 a (fma.f64 x (*.f64 y 1/2) (*.f64 (*.f64 t z) -9/2))) -1)
32.4b
(pow.f64 (sqrt.f64 (/.f64 (fma.f64 x (*.f64 y 1/2) (*.f64 (*.f64 t z) -9/2)) a)) 2)
35.9b
(*.f64 t (*.f64 z (/.f64 -9/2 a)))
36.0b
(*.f64 (/.f64 1 (sqrt.f64 a)) (/.f64 (fma.f64 x (*.f64 y 1/2) (*.f64 (*.f64 t z) -9/2)) (sqrt.f64 a)))
31.2b
(*.f64 x (/.f64 1/2 (/.f64 a y)))
7.0b
(*.f64 (cbrt.f64 (/.f64 (fma.f64 x (*.f64 y 1/2) (*.f64 (*.f64 t z) -9/2)) a)) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x (*.f64 y 1/2) (*.f64 (*.f64 t z) -9/2)) a)) 2))
26.3b
(/.f64 (expm1.f64 (log1p.f64 (fma.f64 x (*.f64 y 1/2) (*.f64 (*.f64 t z) -9/2)))) a)
6.1b
(/.f64 (fma.f64 t (*.f64 z -9/2) (*.f64 x (/.f64 y 2))) a)
6.2b
(*.f64 (fma.f64 x (*.f64 y 1/2) (*.f64 (*.f64 t z) -9/2)) (/.f64 1 a))
Compiler

Compiled 1700 to 1046 computations (38.5% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (/.f64 (*.f64 t z) a)))
0.2b
(*.f64 9/2 (/.f64 (*.f64 t z) a))
5.0b
(/.f64 (*.f64 t z) a)
5.6b
(/.f64 (*.f64 y x) a)

series81.0ms (1.3%)

Counts
4 → 24
Calls

4 calls:

40.0ms
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (/.f64 (*.f64 t z) a)))
15.0ms
(/.f64 (*.f64 t z) a)
14.0ms
(*.f64 9/2 (/.f64 (*.f64 t z) a))
11.0ms
(/.f64 (*.f64 y x) a)

rewrite78.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
305×log1p-udef_binary64
170×add-sqr-sqrt_binary64
162×egg-rr
160×log1p-expm1-u_binary64
160×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01546
133943
2477943
Stop Event
node limit
Counts
4 → 162
Calls

4 calls:

73.0ms
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (/.f64 (*.f64 t z) a)))
73.0ms
(*.f64 9/2 (/.f64 (*.f64 t z) a))
73.0ms
(/.f64 (*.f64 t z) a)
73.0ms
(/.f64 (*.f64 y x) a)

simplify44.0ms (0.7%)

Algorithm
egg-herbie
Rules
960×fma-neg_binary64
364×associate-/l*_binary64
270×fma-def_binary64
224×distribute-rgt-neg-in_binary64
215×associate-/r/_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
023348
159324
2163324
3450324
41123324
52377324
63602324
74706324
Stop Event
node limit
Counts
186 → 169

prune147.0ms (2.3%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1627169
Fresh729
Picked101
Done101
Total1719180
Error
0.0b
Counts
180 → 9
Alt Table
StatusErrorProgram
31.1b
(*.f64 x (/.f64 y (/.f64 a 1/2)))
26.3b
(/.f64 (expm1.f64 (log1p.f64 (fma.f64 x (*.f64 y 1/2) (*.f64 (*.f64 t z) -9/2)))) a)
32.4b
(pow.f64 (sqrt.f64 (/.f64 (fma.f64 x (*.f64 y 1/2) (*.f64 (*.f64 t z) -9/2)) a)) 2)
7.3b
(-.f64 (*.f64 1/2 (*.f64 (/.f64 x (pow.f64 (cbrt.f64 a) 2)) (/.f64 y (cbrt.f64 a)))) (*.f64 9/2 (/.f64 (*.f64 t z) a)))
9.1b
(fma.f64 (*.f64 (/.f64 y a) x) 1/2 (/.f64 -9/2 (/.f64 (/.f64 a z) t)))
6.1b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (/.f64 (*.f64 (*.f64 t z) 9/2) a))
7.3b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (*.f64 (/.f64 t a) z)))
8.6b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (*.f64 t (/.f64 1 (/.f64 a z)))))
7.7b
(-.f64 (*.f64 1/2 (*.f64 y (/.f64 1 (/.f64 a x)))) (*.f64 9/2 (/.f64 (*.f64 t z) a)))
Compiler

Compiled 4137 to 1925 computations (53.5% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (/.f64 (*.f64 (*.f64 t z) 9/2) a))
0.2b
(*.f64 (*.f64 t z) 9/2)
5.2b
(/.f64 (*.f64 (*.f64 t z) 9/2) a)
5.6b
(/.f64 (*.f64 y x) a)

series53.0ms (0.8%)

Counts
3 → 120
Calls

3 calls:

35.0ms
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (/.f64 (*.f64 (*.f64 t z) 9/2) a))
14.0ms
(/.f64 (*.f64 (*.f64 t z) 9/2) a)
4.0ms
(*.f64 (*.f64 t z) 9/2)

rewrite75.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
300×log1p-udef_binary64
166×add-sqr-sqrt_binary64
156×log1p-expm1-u_binary64
156×expm1-log1p-u_binary64
155×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01539
132836
2463736
Stop Event
node limit
Counts
3 → 104
Calls

3 calls:

73.0ms
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (/.f64 (*.f64 (*.f64 t z) 9/2) a))
73.0ms
(*.f64 (*.f64 t z) 9/2)
73.0ms
(/.f64 (*.f64 (*.f64 t z) 9/2) a)

simplify79.0ms (1.2%)

Algorithm
egg-herbie
Rules
824×fma-neg_binary64
366×associate-/l*_binary64
295×fma-def_binary64
226×distribute-rgt-neg-in_binary64
219×associate-/r/_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0251560
1691464
21831464
34901464
412151464
524381464
634901464
745971464
Stop Event
node limit
Counts
224 → 114

prune137.0ms (2.1%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1543157
Fresh358
Picked101
Done000
Total1588166
Error
0.0b
Counts
166 → 8
Alt Table
StatusErrorProgram
7.7b
(-.f64 (*.f64 1/2 (*.f64 y (/.f64 1 (/.f64 a x)))) (*.f64 9/2 (/.f64 (*.f64 t z) a)))
5.9b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 (*.f64 t z) (*.f64 9/2 (/.f64 1 a))))
32.4b
(pow.f64 (sqrt.f64 (/.f64 (fma.f64 x (*.f64 y 1/2) (*.f64 (*.f64 t z) -9/2)) a)) 2)
9.1b
(fma.f64 (*.f64 (/.f64 y a) x) 1/2 (/.f64 -9/2 (/.f64 (/.f64 a z) t)))
7.0b
(fma.f64 1/2 (*.f64 (/.f64 y a) x) (/.f64 (*.f64 (*.f64 t z) -9/2) a))
7.3b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (*.f64 (/.f64 t a) z)))
7.6b
(+.f64 (/.f64 (*.f64 1/2 y) (/.f64 a x)) (/.f64 (*.f64 (*.f64 t z) -9/2) a))
8.6b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (*.f64 t (/.f64 1 (/.f64 a z)))))
Compiler

Compiled 3633 to 1986 computations (45.3% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 (*.f64 t z) (*.f64 9/2 (/.f64 1 a))))
0.3b
(*.f64 9/2 (/.f64 1 a))
5.1b
(*.f64 (*.f64 t z) (*.f64 9/2 (/.f64 1 a)))
5.6b
(/.f64 (*.f64 y x) a)

series54.0ms (0.8%)

Counts
3 → 108
Calls

3 calls:

38.0ms
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 (*.f64 t z) (*.f64 9/2 (/.f64 1 a))))
14.0ms
(*.f64 (*.f64 t z) (*.f64 9/2 (/.f64 1 a)))
1.0ms
(*.f64 9/2 (/.f64 1 a))

rewrite67.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
324×log1p-udef_binary64
183×add-sqr-sqrt_binary64
171×add-cbrt-cube_binary64
171×log1p-expm1-u_binary64
171×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01736
137334
2498234
Stop Event
node limit
Counts
3 → 86
Calls

3 calls:

64.0ms
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 (*.f64 t z) (*.f64 9/2 (/.f64 1 a))))
64.0ms
(*.f64 9/2 (/.f64 1 a))
64.0ms
(*.f64 (*.f64 t z) (*.f64 9/2 (/.f64 1 a)))

simplify71.0ms (1.1%)

Algorithm
egg-herbie
Rules
894×fma-neg_binary64
366×associate-/l*_binary64
295×fma-def_binary64
223×distribute-rgt-neg-in_binary64
215×associate-/r/_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0261440
1701344
21841344
34901344
412091344
524351344
635641344
746741344
Stop Event
node limit
Counts
194 → 96

prune115.0ms (1.8%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1390139
Fresh077
Picked011
Done000
Total1398147
Error
0.0b
Counts
147 → 8
Alt Table
StatusErrorProgram
7.7b
(-.f64 (*.f64 1/2 (*.f64 y (/.f64 1 (/.f64 a x)))) (*.f64 9/2 (/.f64 (*.f64 t z) a)))
5.9b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 (*.f64 t z) (*.f64 9/2 (/.f64 1 a))))
32.4b
(pow.f64 (sqrt.f64 (/.f64 (fma.f64 x (*.f64 y 1/2) (*.f64 (*.f64 t z) -9/2)) a)) 2)
9.1b
(fma.f64 (*.f64 (/.f64 y a) x) 1/2 (/.f64 -9/2 (/.f64 (/.f64 a z) t)))
7.0b
(fma.f64 1/2 (*.f64 (/.f64 y a) x) (/.f64 (*.f64 (*.f64 t z) -9/2) a))
7.3b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (*.f64 (/.f64 t a) z)))
7.6b
(+.f64 (/.f64 (*.f64 1/2 y) (/.f64 a x)) (/.f64 (*.f64 (*.f64 t z) -9/2) a))
8.6b
(-.f64 (*.f64 1/2 (/.f64 (*.f64 y x) a)) (*.f64 9/2 (*.f64 t (/.f64 1 (/.f64 a z)))))
Compiler

Compiled 3462 to 1783 computations (48.5% saved)

regimes1.6s (24.5%)

Accuracy

Total 0.8b remaining (94.5%)

Threshold costs 0.8b (94.5%)

Counts
71 → 3
Compiler

Compiled 15859 to 11395 computations (28.1% saved)

bsearch2.0ms (0%)

Compiler

Compiled 14 to 10 computations (28.6% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
11×*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
distribute-rgt-neg-in_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03193
14393
26293
37093
47693
57893
Stop Event
saturated

end302.0ms (4.7%)

Remove

(sort z t)

Compiler

Compiled 716 to 429 computations (40.1% saved)

Profiling

Loading profile data...