Details

Time bar (total: 8.8s)

analyze1.4s (16%)

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.6%98.2%0.2%10
3.1%90.4%6.5%11
9.2%84.4%6.5%12
13%80.6%6.5%13
24.8%68.7%6.5%14
Compiler

Compiled 20 to 13 computations (35% saved)

sample127.0ms (1.4%)

Algorithm
intervals
Symmetry

(sort x y)

(sort t a)

Results
16.0ms256×body128valid
5.0ms64×body128nan
2.0ms29×body128invalid
Compiler

Compiled 44 to 30 computations (31.8% saved)

simplify60.0ms (0.7%)

Algorithm
egg-herbie
Rules
1034×fma-def_binary64
336×fma-neg_binary64
138×distribute-rgt-in_binary64
130×cancel-sign-sub-inv_binary64
128×associate-/r/_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01321
12621
25221
38721
412821
516121
620321
724721
846421
982221
10123421
11116921
12123721
13131121
14137521
15137521
16128221

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
23.6b
Counts
2 → 1
Alt Table
StatusErrorProgram
23.6b
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
Compiler

Compiled 57 to 36 computations (36.8% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(-.f64 (*.f64 z z) (*.f64 t a))
4.3b
(*.f64 (*.f64 x y) z)
9.2b
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
22.4b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

series259.0ms (2.9%)

Counts
4 → 136
Calls

4 calls:

201.0ms
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
39.0ms
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))
10.0ms
(*.f64 (*.f64 x y) z)
9.0ms
(-.f64 (*.f64 z z) (*.f64 t a))

rewrite21.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
18×add-cbrt-cube_binary64
18×add-exp-log_binary64
11×add-sqr-sqrt_binary64
10×*-un-lft-identity_binary64
10×add-cube-cbrt_binary64
Counts
4 → 86
Calls

4 calls:

7.0ms
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
5.0ms
(*.f64 (*.f64 x y) z)
3.0ms
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))
3.0ms
(-.f64 (*.f64 z z) (*.f64 t a))

simplify142.0ms (1.6%)

Algorithm
egg-herbie
Rules
731×fma-def_binary64
379×times-frac_binary64
318×associate-*r*_binary64
293×associate-*l*_binary64
277×associate-/l*_binary64
Counts
222 → 190
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02834463
18424196
238994138
349614138
449764138

prune163.0ms (1.9%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New18010190
Fresh000
Picked101
Done000
Total18110191
Error
3.5b
Counts
191 → 10
Alt Table
StatusErrorProgram
36.3b
(*.f64 y x)
23.7b
(/.f64 1 (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) (*.f64 (*.f64 x y) z)))
21.1b
(*.f64 (/.f64 (*.f64 x y) 1) (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
26.7b
(/.f64 (*.f64 (*.f64 x y) z) (*.f64 (sqrt.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z)) (sqrt.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
27.0b
(/.f64 (*.f64 x (*.f64 y z)) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
22.8b
(*.f64 (/.f64 (*.f64 y x) (sqrt.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))) (/.f64 z (sqrt.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
40.8b
(/.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 x y) z) (*.f64 (*.f64 x y) z)) (*.f64 (*.f64 x y) z))) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
21.1b
(/.f64 (*.f64 x y) (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))
27.0b
(/.f64 (*.f64 y (*.f64 z x)) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
36.3b
(neg.f64 (*.f64 y x))
Compiler

Compiled 5114 to 1567 computations (69.4% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)
1.0b
(-.f64 (*.f64 z z) (*.f64 t a))
2.4b
(/.f64 (*.f64 x y) (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))
22.4b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

series253.0ms (2.9%)

Counts
2 → 64
Calls

2 calls:

199.0ms
(/.f64 (*.f64 x y) (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))
55.0ms
(/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)

rewrite26.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
76×times-frac_binary64
43×*-un-lft-identity_binary64
43×add-sqr-sqrt_binary64
43×add-cube-cbrt_binary64
30×sqrt-prod_binary64
Counts
2 → 109
Calls

2 calls:

10.0ms
(/.f64 (*.f64 x y) (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))
6.0ms
(/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)

simplify211.0ms (2.4%)

Algorithm
egg-herbie
Rules
655×fma-def_binary64
344×times-frac_binary64
252×associate-*r*_binary64
244×associate-/l*_binary64
206×associate-*l*_binary64
Counts
173 → 216
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03175418
19105126
237554978
348264978
449804978
550004978
649544978

prune236.0ms (2.7%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New2935298
Fresh549
Picked101
Done000
Total2999308
Error
3.5b
Counts
308 → 9
Alt Table
StatusErrorProgram
21.1b
(*.f64 (/.f64 (*.f64 x y) 1) (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
24.8b
(*.f64 (/.f64 x (/.f64 (sqrt.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t))))) (*.f64 (cbrt.f64 z) (cbrt.f64 z)))) (/.f64 y (/.f64 (sqrt.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t))))) (cbrt.f64 z))))
27.0b
(/.f64 (*.f64 x (*.f64 y z)) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
22.7b
(/.f64 (*.f64 x y) (*.f64 (/.f64 (sqrt.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t))))) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (/.f64 (sqrt.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t))))) (cbrt.f64 z))))
21.6b
(*.f64 (/.f64 x 1) (/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)))
42.4b
(*.f64 (/.f64 x (/.f64 1 (sqrt.f64 z))) (/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) (sqrt.f64 z))))
36.3b
(neg.f64 (*.f64 y x))
22.1b
(/.f64 (*.f64 x y) (/.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t)))) z))
36.3b
(*.f64 y x)
Compiler

Compiled 8186 to 2232 computations (72.7% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
1.0b
(-.f64 (*.f64 z z) (*.f64 t a))
2.4b
(*.f64 (/.f64 (*.f64 x y) 1) (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
22.4b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

series297.0ms (3.4%)

Counts
2 → 64
Calls

2 calls:

207.0ms
(*.f64 (/.f64 (*.f64 x y) 1) (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
90.0ms
(/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))

rewrite31.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
41×times-frac_binary64
40×add-sqr-sqrt_binary64
37×add-exp-log_binary64
32×*-un-lft-identity_binary64
32×add-cube-cbrt_binary64
Counts
2 → 107
Calls

2 calls:

13.0ms
(*.f64 (/.f64 (*.f64 x y) 1) (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
6.0ms
(/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))

simplify137.0ms (1.6%)

Algorithm
egg-herbie
Rules
831×fma-def_binary64
453×times-frac_binary64
382×associate-*r*_binary64
345×associate-*l*_binary64
303×associate-/l*_binary64
Counts
171 → 210
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03275306
19294920
247264909
355064909

prune227.0ms (2.6%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New2911292
Fresh178
Picked011
Done000
Total2929301
Error
3.5b
Counts
301 → 9
Alt Table
StatusErrorProgram
21.1b
(*.f64 (/.f64 (*.f64 x y) 1) (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
27.0b
(/.f64 (*.f64 x (*.f64 y z)) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
22.7b
(/.f64 (*.f64 x y) (*.f64 (/.f64 (sqrt.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t))))) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (/.f64 (sqrt.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t))))) (cbrt.f64 z))))
21.6b
(*.f64 (/.f64 x 1) (/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)))
42.4b
(*.f64 (/.f64 x (/.f64 1 (sqrt.f64 z))) (/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) (sqrt.f64 z))))
27.0b
(/.f64 (*.f64 y (*.f64 z x)) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))
36.3b
(neg.f64 (*.f64 y x))
22.1b
(/.f64 (*.f64 x y) (/.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t)))) z))
36.3b
(*.f64 y x)
Compiler

Compiled 8747 to 2972 computations (66% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(-.f64 (*.f64 z z) (*.f64 t a))
1.3b
(/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))
2.2b
(*.f64 (/.f64 x 1) (/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)))
22.4b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

series351.0ms (4%)

Counts
2 → 76
Calls

2 calls:

204.0ms
(*.f64 (/.f64 x 1) (/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)))
147.0ms
(/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))

rewrite88.0ms (1%)

Algorithm
rewrite-expression-head
Rules
290×times-frac_binary64
189×add-sqr-sqrt_binary64
150×*-un-lft-identity_binary64
146×add-cube-cbrt_binary64
71×associate-*r*_binary64
Counts
2 → 233
Calls

2 calls:

25.0ms
(*.f64 (/.f64 x 1) (/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)))
8.0ms
(/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))

simplify215.0ms (2.4%)

Algorithm
egg-herbie
Rules
471×associate-/l*_binary64
414×times-frac_binary64
390×fma-def_binary64
370×associate-*l*_binary64
326×associate-*l/_binary64
Counts
309 → 406
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
048210162
113559722
249159722
351979722

prune364.0ms (4.1%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New4871488
Fresh167
Picked011
Done011
Total4889497
Error
3.5b
Counts
497 → 9
Alt Table
StatusErrorProgram
21.1b
(*.f64 (/.f64 (*.f64 x y) 1) (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
27.0b
(/.f64 (*.f64 x (*.f64 y z)) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
22.7b
(/.f64 (*.f64 x y) (*.f64 (/.f64 (sqrt.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t))))) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (/.f64 (sqrt.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t))))) (cbrt.f64 z))))
21.6b
(*.f64 (/.f64 x 1) (/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)))
42.3b
(*.f64 (*.f64 x (sqrt.f64 z)) (/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) (sqrt.f64 z))))
27.0b
(/.f64 (*.f64 y (*.f64 z x)) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))
36.3b
(neg.f64 (*.f64 y x))
22.1b
(/.f64 (*.f64 x y) (/.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t)))) z))
36.3b
(*.f64 y x)
Compiler

Compiled 15260 to 4203 computations (72.5% saved)

regimes2.8s (32.1%)

Accuracy

Total 3.1b remaining (48.9%)

Threshold costs 0b (0%)

Counts
136 → 3
Compiler

Compiled 28515 to 17192 computations (39.7% saved)

bsearch30.0ms (0.3%)

Steps
ItersRangePoint
3
3.775608759310589e+144
8.202005132647082e+152
4.1905476995839096e+145
4
-9.474325126268806e+71
-4.371150731781445e+70
-7.914973368704496e+71
Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02143
13643
25243
36343
46943
57043
67043

end22.0ms (0.3%)

Remove

(sort t a)

(sort x y)

Compiler

Compiled 170 to 95 computations (44.1% saved)

sample1.3s (14.3%)

Algorithm
intervals
Results
504.0ms8000×body128valid
117.0ms2168×body128nan
58.0ms894×body128invalid
Compiler

Compiled 232 to 145 computations (37.5% saved)

Profiling

Loading profile data...