Details

Time bar (total: 9.6s)

analyze1.4s (14.3%)

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)

sample116.0ms (1.2%)

Algorithm
intervals
Symmetry

(sort x y)

(sort t a)

Results
17.0ms256×body128valid
4.0ms67×body128nan
1.0ms25×body128invalid
Compiler

Compiled 44 to 30 computations (31.8% saved)

simplify62.0ms (0.6%)

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
24.1b
Counts
2 → 1
Alt Table
StatusErrorProgram
24.1b
(/.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
0.6b
(-.f64 (*.f64 z z) (*.f64 t a))
7.6b
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
8.2b
(*.f64 (*.f64 x y) z)
24.9b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

series320.0ms (3.3%)

Counts
4 → 136
Calls

4 calls:

263.0ms
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
41.0ms
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))
8.0ms
(-.f64 (*.f64 z z) (*.f64 t a))
8.0ms
(*.f64 (*.f64 x y) z)

rewrite23.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
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))
4.0ms
(*.f64 (*.f64 x y) z)
3.0ms
(-.f64 (*.f64 z z) (*.f64 t a))

simplify132.0ms (1.4%)

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

prune152.0ms (1.6%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New17911190
Fresh000
Picked101
Done000
Total18011191
Error
3.9b
Counts
191 → 11
Alt Table
StatusErrorProgram
51.0b
(exp.f64 (-.f64 (+.f64 (log.f64 (*.f64 x y)) (log.f64 z)) (log.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))))
24.1b
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (fma.f64 z z (neg.f64 (*.f64 t a)))))
25.7b
(*.f64 (/.f64 (*.f64 y x) (*.f64 (cbrt.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z)) (cbrt.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z)))) (/.f64 z (cbrt.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
22.3b
(/.f64 (*.f64 x y) (/.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z) z))
25.1b
(*.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))))
27.7b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 y (*.f64 z x)) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))) (cbrt.f64 (/.f64 (*.f64 y (*.f64 z x)) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z)))) (cbrt.f64 (/.f64 (*.f64 y (*.f64 z x)) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
32.8b
(*.f64 y x)
44.0b
(*.f64 y (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 a t))) (*.f64 z x)))
38.9b
(exp.f64 (log.f64 (/.f64 (*.f64 y (*.f64 z x)) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
24.4b
(/.f64 1 (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) (*.f64 (*.f64 x y) z)))
37.7b
(neg.f64 (*.f64 y x))
Compiler

Compiled 5204 to 1601 computations (69.2% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z) z)
3.9b
(/.f64 (*.f64 x y) (/.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z) z))
13.1b
(sqrt.f64 (neg.f64 (*.f64 a t)))

series723.0ms (7.5%)

Counts
3 → 52
Calls

3 calls:

533.0ms
(/.f64 (*.f64 x y) (/.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z) z))
172.0ms
(/.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z) z)
17.0ms
(sqrt.f64 (neg.f64 (*.f64 a t)))

rewrite17.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
40×times-frac_binary64
27×add-sqr-sqrt_binary64
26×*-un-lft-identity_binary64
26×add-cube-cbrt_binary64
17×add-cbrt-cube_binary64
Counts
3 → 95
Calls

3 calls:

5.0ms
(/.f64 (*.f64 x y) (/.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z) z))
2.0ms
(/.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z) z)
1.0ms
(sqrt.f64 (neg.f64 (*.f64 a t)))

simplify92.0ms (1%)

Algorithm
egg-herbie
Rules
641×associate-/r/_binary64
607×associate-*r/_binary64
266×fma-def_binary64
200×cancel-sign-sub-inv_binary64
157×associate-/l*_binary64
Counts
147 → 175
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02684134
16543630
224023587
352063587

prune134.0ms (1.4%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1714175
Fresh7310
Picked101
Done000
Total1797186
Error
1.6b
Counts
186 → 7
Alt Table
StatusErrorProgram
32.8b
(*.f64 y x)
21.3b
(*.f64 x (/.f64 y (/.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z) z)))
44.0b
(*.f64 y (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 a t))) (*.f64 z x)))
25.0b
(*.f64 (/.f64 x (sqrt.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))) (/.f64 y (/.f64 (sqrt.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z)) z)))
23.4b
(/.f64 (*.f64 x y) (/.f64 (hypot.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 t))) z) z))
27.9b
(*.f64 (/.f64 x (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z)) (*.f64 y z))
37.7b
(neg.f64 (*.f64 y x))
Compiler

Compiled 4619 to 1235 computations (73.3% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z) z)
1.3b
(*.f64 x (/.f64 y (/.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z) z)))
1.7b
(/.f64 y (/.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z) z))
13.1b
(sqrt.f64 (neg.f64 (*.f64 a t)))

series920.0ms (9.5%)

Counts
2 → 64
Calls

2 calls:

526.0ms
(*.f64 x (/.f64 y (/.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z) z)))
393.0ms
(/.f64 y (/.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z) z))

rewrite31.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
144×times-frac_binary64
89×add-sqr-sqrt_binary64
80×*-un-lft-identity_binary64
80×add-cube-cbrt_binary64
44×associate-*r*_binary64
Counts
2 → 140
Calls

2 calls:

10.0ms
(*.f64 x (/.f64 y (/.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z) z)))
4.0ms
(/.f64 y (/.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z) z))

simplify167.0ms (1.7%)

Algorithm
egg-herbie
Rules
716×fma-def_binary64
387×fma-neg_binary64
245×associate-*r*_binary64
220×cancel-sign-sub-inv_binary64
218×associate-*l*_binary64
Counts
204 → 248
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03436584
18595818
232435779
344585779
450695779

prune193.0ms (2%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New3201321
Fresh066
Picked101
Done000
Total3217328
Error
0.6b
Counts
328 → 7
Alt Table
StatusErrorProgram
32.8b
(*.f64 y x)
21.9b
(*.f64 x (/.f64 y (/.f64 (hypot.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 t))) z) z)))
44.0b
(*.f64 y (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 a t))) (*.f64 z x)))
25.0b
(*.f64 (/.f64 x (sqrt.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))) (/.f64 y (/.f64 (sqrt.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z)) z)))
23.4b
(/.f64 (*.f64 x y) (/.f64 (hypot.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 t))) z) z))
27.9b
(*.f64 (/.f64 x (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z)) (*.f64 y z))
37.7b
(neg.f64 (*.f64 y x))
Compiler

Compiled 8788 to 2108 computations (76% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (hypot.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 t))) z) z)
0.2b
(*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 t)))
1.3b
(*.f64 x (/.f64 y (/.f64 (hypot.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 t))) z) z)))
1.7b
(/.f64 y (/.f64 (hypot.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 t))) z) z))

series1.1s (11.7%)

Counts
4 → 78
Calls

4 calls:

531.0ms
(*.f64 x (/.f64 y (/.f64 (hypot.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 t))) z) z)))
405.0ms
(/.f64 y (/.f64 (hypot.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 t))) z) z))
169.0ms
(/.f64 (hypot.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 t))) z) z)
19.0ms
(*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 t)))

rewrite47.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
153×times-frac_binary64
115×add-sqr-sqrt_binary64
96×*-un-lft-identity_binary64
96×add-cube-cbrt_binary64
57×associate-*r*_binary64
Counts
4 → 209
Calls

4 calls:

10.0ms
(*.f64 x (/.f64 y (/.f64 (hypot.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 t))) z) z)))
6.0ms
(*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 t)))
6.0ms
(/.f64 y (/.f64 (hypot.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 t))) z) z))
2.0ms
(/.f64 (hypot.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 t))) z) z)

simplify185.0ms (1.9%)

Algorithm
egg-herbie
Rules
558×fma-def_binary64
363×associate-*r*_binary64
363×associate-*l*_binary64
294×*-commutative_binary64
246×associate-/l*_binary64
Counts
287 → 427
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04928749
111957959
245697935
351057935

prune267.0ms (2.8%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New4252427
Fresh066
Picked011
Done000
Total4259434
Error
0.2b
Counts
434 → 9
Alt Table
StatusErrorProgram
32.8b
(*.f64 y x)
21.9b
(*.f64 x (/.f64 y (/.f64 (hypot.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 t))) z) z)))
44.0b
(*.f64 y (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 a t))) (*.f64 z x)))
25.0b
(*.f64 (/.f64 x (sqrt.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))) (/.f64 y (/.f64 (sqrt.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z)) z)))
23.4b
(/.f64 (*.f64 x y) (/.f64 (hypot.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 t))) z) z))
40.6b
(*.f64 (/.f64 (*.f64 y (*.f64 z x)) (sqrt.f64 (neg.f64 t))) (sqrt.f64 (/.f64 1 a)))
41.2b
(*.f64 x (*.f64 (/.f64 (*.f64 y z) (sqrt.f64 (neg.f64 t))) (sqrt.f64 (/.f64 1 a))))
27.9b
(*.f64 (/.f64 x (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z)) (*.f64 y z))
37.7b
(neg.f64 (*.f64 y x))
Compiler

Compiled 12326 to 2984 computations (75.8% saved)

regimes1.5s (16%)

Accuracy

Total 5.3b remaining (96.7%)

Threshold costs 0b (0%)

Counts
79 → 5
Compiler

Compiled 14983 to 9459 computations (36.9% saved)

bsearch152.0ms (1.6%)

Steps
ItersRangePoint
8
6.479260276146503e+27
1.2182075992614663e+31
1.1966322469631946e+31
10
1.8878511057929916e-188
9.9626649490271e-179
1.910506055102422e-188
8
-2.2488639302304887e-171
-6.209451481055243e-175
-6.326499446197611e-175
6
-3.0663895257790415e+155
-1.1717249774131364e+151
-6.319986650356017e+152
Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
04298
15798
27398
38398
49198
59498
69298

end32.0ms (0.3%)

Compiler

Compiled 350 to 180 computations (48.6% saved)

sample1.8s (18.5%)

Algorithm
intervals
Results
497.0ms8000×body128valid
154.0ms2235×body128nan
53.0ms874×body128invalid
Compiler

Compiled 251 to 159 computations (36.7% saved)

Profiling

Loading profile data...