Details

Time bar (total: 6.9s)

analyze1.4s (20.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
1.8%98%0.2%10
7.7%92.1%0.2%11
10.4%89.4%0.2%12
12.1%87.7%0.2%13
21.4%78.3%0.4%14
Compiler

Compiled 19 to 12 computations (36.8% saved)

sample1.5s (22.2%)

Results
878.0ms6893×body128valid
157.0ms390×body1024valid
153.0ms1270×body128invalid
140.0ms505×body512valid
88.0ms401×body256valid
29.0ms67×body2048valid
Compiler

Compiled 56 to 35 computations (37.5% saved)

simplify84.0ms (1.2%)

Algorithm
egg-herbie
Rules
930×fma-def_binary64
859×div-sub_binary64
817×unsub-neg_binary64
555×neg-mul-1_binary64
380×sub-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01219
12417
25217
315517
447717
5126817
6321317
7415417
8443417
9496517
10495117

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 100 to 54 computations (46% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 t x) (-.f64 a z))
15.5b
(fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x)

series95.0ms (1.4%)

Counts
2 → 108
Calls

2 calls:

64.0ms
(fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x)
30.0ms
(/.f64 (-.f64 t x) (-.f64 a z))

rewrite69.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
514×fma-def_binary64
264×fma-neg_binary64
254×expm1-udef_binary64
254×log1p-udef_binary64
138×add-sqr-sqrt_binary64
Counts
2 → 74
Calls

2 calls:

67.0ms
(/.f64 (-.f64 t x) (-.f64 a z))
67.0ms
(fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01127
125727
2377627
3534027
000
100

simplify97.0ms (1.4%)

Algorithm
egg-herbie
Rules
512×cancel-sign-sub-inv_binary64
445×sub-neg_binary64
351×associate-+r+_binary64
288×distribute-neg-in_binary64
271×+-commutative_binary64
Counts
182 → 142
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02585085
18205085
232655049
349945049

prune144.0ms (2.1%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1348142
Fresh011
Picked011
Done000
Total13410144
Error
0.6b
Counts
144 → 10
Alt Table
StatusErrorProgram
40.9b
(fma.f64 (-.f64 y z) (*.f64 (sqrt.f64 (-.f64 t x)) (*.f64 (sqrt.f64 (-.f64 t x)) (/.f64 1 (-.f64 a z)))) x)
31.9b
(*.f64 (-.f64 (+.f64 (/.f64 z (-.f64 a z)) 1) (/.f64 y (-.f64 a z))) x)
15.7b
(+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z))))
42.4b
(*.f64 y (-.f64 (/.f64 t (-.f64 a z)) (/.f64 x (-.f64 a z))))
21.0b
(-.f64 (+.f64 (/.f64 (*.f64 z x) (-.f64 a z)) (+.f64 (/.f64 (*.f64 y t) (-.f64 a z)) x)) (+.f64 (/.f64 (*.f64 y x) (-.f64 a z)) (/.f64 (*.f64 t z) (-.f64 a z))))
35.1b
(*.f64 t (-.f64 (/.f64 y (-.f64 a z)) (/.f64 z (-.f64 a z))))
42.8b
(pow.f64 (sqrt.f64 (fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x)) 2)
43.6b
(-.f64 (+.f64 t (+.f64 (/.f64 (*.f64 (pow.f64 a 2) t) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y (*.f64 a x)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 a t) z))))) (+.f64 (/.f64 (*.f64 (pow.f64 a 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 a x) z) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 y (*.f64 a t)) (pow.f64 z 2))))))
40.4b
(-.f64 (+.f64 (/.f64 (*.f64 y x) z) (+.f64 t (/.f64 (*.f64 a t) z))) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 a x) z)))
15.5b
(fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x)
Compiler

Compiled 4996 to 1632 computations (67.3% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 t x) (-.f64 a z))
3.2b
(+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z))))
5.8b
(*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))

series158.0ms (2.3%)

Counts
2 → 120
Calls

2 calls:

93.0ms
(+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z))))
65.0ms
(*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))

rewrite75.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
284×expm1-udef_binary64
284×log1p-udef_binary64
154×add-sqr-sqrt_binary64
149×log1p-expm1-u_binary64
149×expm1-log1p-u_binary64
Counts
2 → 77
Calls

2 calls:

73.0ms
(+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z))))
73.0ms
(*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01235
128733
2440133
3527033
000
100

simplify135.0ms (2%)

Algorithm
egg-herbie
Rules
612×cancel-sign-sub-inv_binary64
570×sub-neg_binary64
563×associate-+r+_binary64
422×associate-+l+_binary64
362×+-commutative_binary64
Counts
197 → 168
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03177336
110177336
239026730
354116730

prune198.0ms (2.9%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New2334237
Fresh358
Picked101
Done011
Total23710247
Error
0.6b
Counts
247 → 10
Alt Table
StatusErrorProgram
21.0b
(-.f64 (+.f64 (/.f64 (*.f64 z x) (-.f64 a z)) (+.f64 (/.f64 (*.f64 y t) (-.f64 a z)) x)) (+.f64 (/.f64 (*.f64 y x) (-.f64 a z)) (/.f64 (*.f64 t z) (-.f64 a z))))
39.7b
(fma.f64 (sqrt.f64 (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) (sqrt.f64 (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) x)
15.8b
(+.f64 x (/.f64 (-.f64 y z) (/.f64 (-.f64 a z) (-.f64 t x))))
31.9b
(*.f64 (-.f64 (+.f64 (/.f64 z (-.f64 a z)) 1) (/.f64 y (-.f64 a z))) x)
42.2b
(+.f64 x (/.f64 (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (sqrt.f64 (-.f64 a z))) (sqrt.f64 (-.f64 a z))))
35.1b
(*.f64 t (-.f64 (/.f64 y (-.f64 a z)) (/.f64 z (-.f64 a z))))
42.4b
(*.f64 y (/.f64 (-.f64 t x) (-.f64 a z)))
43.6b
(-.f64 (+.f64 t (+.f64 (/.f64 (*.f64 (pow.f64 a 2) t) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y (*.f64 a x)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 a t) z))))) (+.f64 (/.f64 (*.f64 (pow.f64 a 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 a x) z) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 y (*.f64 a t)) (pow.f64 z 2))))))
40.4b
(-.f64 (+.f64 (/.f64 (*.f64 y x) z) (+.f64 t (/.f64 (*.f64 a t) z))) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 a x) z)))
15.5b
(fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x)
Compiler

Compiled 8702 to 2769 computations (68.2% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 a z) (-.f64 t x))
4.1b
(+.f64 x (/.f64 (-.f64 y z) (/.f64 (-.f64 a z) (-.f64 t x))))
6.1b
(/.f64 (-.f64 y z) (/.f64 (-.f64 a z) (-.f64 t x)))

series190.0ms (2.8%)

Counts
3 → 168
Calls

3 calls:

92.0ms
(+.f64 x (/.f64 (-.f64 y z) (/.f64 (-.f64 a z) (-.f64 t x))))
67.0ms
(/.f64 (-.f64 y z) (/.f64 (-.f64 a z) (-.f64 t x)))
30.0ms
(/.f64 (-.f64 a z) (-.f64 t x))

rewrite91.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
294×log1p-udef_binary64
160×add-sqr-sqrt_binary64
155×log1p-expm1-u_binary64
155×expm1-log1p-u_binary64
149×add-log-exp_binary64
Counts
3 → 122
Calls

3 calls:

88.0ms
(/.f64 (-.f64 a z) (-.f64 t x))
88.0ms
(+.f64 x (/.f64 (-.f64 y z) (/.f64 (-.f64 a z) (-.f64 t x))))
88.0ms
(/.f64 (-.f64 y z) (/.f64 (-.f64 a z) (-.f64 t x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01245
129643
2476743
3526543
000
100

simplify154.0ms (2.2%)

Algorithm
egg-herbie
Rules
595×associate-+r+_binary64
461×associate-+l+_binary64
408×+-commutative_binary64
333×fma-neg_binary64
293×associate--l+_binary64
Counts
290 → 232
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03798872
112008755
246398149
349878149

prune179.0ms (2.6%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New2302232
Fresh268
Picked011
Done011
Total23210242
Error
0.6b
Counts
242 → 10
Alt Table
StatusErrorProgram
15.8b
(+.f64 x (/.f64 (-.f64 y z) (/.f64 (-.f64 a z) (-.f64 t x))))
12.0b
(fma.f64 (/.f64 (-.f64 y z) (-.f64 a z)) (-.f64 t x) x)
42.4b
(*.f64 y (/.f64 (-.f64 t x) (-.f64 a z)))
16.1b
(+.f64 x (*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 y z)) 2) (-.f64 a z)) (/.f64 (cbrt.f64 (-.f64 y z)) (/.f64 1 (-.f64 t x)))))
21.0b
(-.f64 (+.f64 (/.f64 (*.f64 z x) (-.f64 a z)) (+.f64 (/.f64 (*.f64 y t) (-.f64 a z)) x)) (+.f64 (/.f64 (*.f64 y x) (-.f64 a z)) (/.f64 (*.f64 t z) (-.f64 a z))))
39.7b
(fma.f64 (sqrt.f64 (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) (sqrt.f64 (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) x)
35.1b
(*.f64 t (-.f64 (/.f64 y (-.f64 a z)) (/.f64 z (-.f64 a z))))
43.6b
(-.f64 (+.f64 t (+.f64 (/.f64 (*.f64 (pow.f64 a 2) t) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y (*.f64 a x)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 a t) z))))) (+.f64 (/.f64 (*.f64 (pow.f64 a 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 a x) z) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 y (*.f64 a t)) (pow.f64 z 2))))))
40.4b
(-.f64 (+.f64 (/.f64 (*.f64 y x) z) (+.f64 t (/.f64 (*.f64 a t) z))) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 a x) z)))
15.5b
(fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x)
Compiler

Compiled 8477 to 2688 computations (68.3% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 y z) (-.f64 a z))
3.5b
(fma.f64 (/.f64 (-.f64 y z) (-.f64 a z)) (-.f64 t x) x)

series83.0ms (1.2%)

Counts
2 → 96
Calls

2 calls:

61.0ms
(fma.f64 (/.f64 (-.f64 y z) (-.f64 a z)) (-.f64 t x) x)
22.0ms
(/.f64 (-.f64 y z) (-.f64 a z))

rewrite68.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
516×fma-def_binary64
264×fma-neg_binary64
254×expm1-udef_binary64
254×log1p-udef_binary64
138×add-sqr-sqrt_binary64
Counts
2 → 74
Calls

2 calls:

66.0ms
(/.f64 (-.f64 y z) (-.f64 a z))
66.0ms
(fma.f64 (/.f64 (-.f64 y z) (-.f64 a z)) (-.f64 t x) x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01127
125727
2378027
3534727
000
100

simplify93.0ms (1.4%)

Algorithm
egg-herbie
Rules
574×cancel-sign-sub-inv_binary64
500×sub-neg_binary64
341×associate-+r+_binary64
297×+-commutative_binary64
288×distribute-neg-in_binary64
Counts
170 → 158
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02984642
18354633
233854573
352054573

prune132.0ms (1.9%)

Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New1571158
Fresh167
Picked011
Done022
Total15810168
Error
0.6b
Counts
168 → 10
Alt Table
StatusErrorProgram
15.8b
(+.f64 x (/.f64 (-.f64 y z) (/.f64 (-.f64 a z) (-.f64 t x))))
12.0b
(fma.f64 (/.f64 (-.f64 y z) (-.f64 a z)) (-.f64 t x) x)
42.4b
(*.f64 y (/.f64 (-.f64 t x) (-.f64 a z)))
12.0b
(fma.f64 (*.f64 (-.f64 y z) (/.f64 1 (-.f64 a z))) (-.f64 t x) x)
21.0b
(-.f64 (+.f64 (/.f64 (*.f64 z x) (-.f64 a z)) (+.f64 (/.f64 (*.f64 y t) (-.f64 a z)) x)) (+.f64 (/.f64 (*.f64 y x) (-.f64 a z)) (/.f64 (*.f64 t z) (-.f64 a z))))
39.7b
(fma.f64 (sqrt.f64 (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) (sqrt.f64 (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))) x)
35.1b
(*.f64 t (-.f64 (/.f64 y (-.f64 a z)) (/.f64 z (-.f64 a z))))
43.6b
(-.f64 (+.f64 t (+.f64 (/.f64 (*.f64 (pow.f64 a 2) t) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y (*.f64 a x)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 a t) z))))) (+.f64 (/.f64 (*.f64 (pow.f64 a 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 a x) z) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 y (*.f64 a t)) (pow.f64 z 2))))))
40.4b
(-.f64 (+.f64 (/.f64 (*.f64 y x) z) (+.f64 t (/.f64 (*.f64 a t) z))) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 a x) z)))
15.5b
(fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x)
Compiler

Compiled 5218 to 1687 computations (67.7% saved)

regimes1.6s (23.9%)

Accuracy

Total 3.5b remaining (79.7%)

Threshold costs 0b (0%)

Counts
136 → 5
Compiler

Compiled 18372 to 10836 computations (41% saved)

bsearch5.0ms (0.1%)

Compiler

Compiled 18 to 11 computations (38.9% saved)

simplify11.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
054237
180237
2102237
3130237
4169237
5187237
6197237
7200237
8200237

end165.0ms (2.4%)

Compiler

Compiled 602 to 254 computations (57.8% saved)

Profiling

Loading profile data...