Details

Time bar (total: 13.5s)

analyze1.2s (8.6%)

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
24.9%74.8%0.2%6
24.9%74.8%0.2%7
24.9%74.8%0.2%8
37.4%62.3%0.2%9
40.5%59.2%0.2%10
48.3%45.2%6.5%11
48.3%45.2%6.5%12
48.3%45.2%6.5%13
58.5%35.1%6.5%14
Compiler

Compiled 20 to 13 computations (35% saved)

sample2.1s (15.4%)

Symmetry

(sort x y)

(sort t a)

Results
1.6s8256×body128valid
363.0ms1936×body128invalid
Compiler

Compiled 59 to 38 computations (35.6% saved)

simplify93.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.7b
Counts
2 → 1
Alt Table
StatusErrorProgram
23.7b
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
Compiler

Compiled 57 to 36 computations (36.8% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(-.f64 (*.f64 z z) (*.f64 t a))
6.6b
(*.f64 (*.f64 x y) z)
7.0b
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
24.9b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

series329.0ms (2.4%)

Counts
4 → 136
Calls

4 calls:

249.0ms
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
46.0ms
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))
19.0ms
(*.f64 (*.f64 x y) z)
14.0ms
(-.f64 (*.f64 z z) (*.f64 t a))

rewrite40.0ms (0.3%)

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:

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

simplify172.0ms (1.3%)

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

prune237.0ms (1.8%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1819190
Fresh000
Picked101
Done000
Total1829191
Error
2.5b
Counts
191 → 9
Alt Table
StatusErrorProgram
23.7b
(/.f64 (*.f64 x (*.f64 y z)) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
22.1b
(/.f64 (*.f64 x y) (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))
24.9b
(*.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))))
31.4b
(/.f64 (*.f64 (*.f64 x y) z) (cbrt.f64 (*.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))))
24.0b
(/.f64 (*.f64 (/.f64 (*.f64 y x) (fabs.f64 (cbrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))) z) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
37.7b
(neg.f64 (*.f64 y x))
33.1b
(*.f64 y x)
44.1b
(*.f64 y (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 a t))) (*.f64 z x)))
29.8b
(*.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))))
Compiler

Compiled 5140 to 1549 computations (69.9% 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)
0.2b
(-.f64 (*.f64 z z) (*.f64 t a))
3.1b
(/.f64 (*.f64 x y) (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))
24.9b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

series305.0ms (2.3%)

Counts
2 → 64
Calls

2 calls:

224.0ms
(/.f64 (*.f64 x y) (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))
80.0ms
(/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)

rewrite42.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:

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

simplify264.0ms (2%)

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

prune393.0ms (2.9%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New2926298
Fresh448
Picked011
Done000
Total29611307
Error
2.5b
Counts
307 → 11
Alt Table
StatusErrorProgram
20.5b
(*.f64 (/.f64 x 1) (/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)))
21.3b
(*.f64 (/.f64 x (*.f64 (cbrt.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)) (cbrt.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)))) (/.f64 y (cbrt.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))))
23.7b
(/.f64 (*.f64 x (*.f64 y z)) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
22.1b
(/.f64 (*.f64 x y) (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))
22.4b
(*.f64 (/.f64 x (fabs.f64 (cbrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))) (/.f64 y (/.f64 (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 z z) (*.f64 a t)))) z)))
44.1b
(*.f64 y (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 a t))) (*.f64 z x)))
22.1b
(*.f64 (*.f64 x y) (/.f64 1 (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)))
26.6b
(*.f64 (/.f64 x (*.f64 (cbrt.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t))))) (cbrt.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t))))))) (/.f64 y (/.f64 (cbrt.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t))))) z)))
24.4b
(/.f64 (*.f64 x y) (*.f64 (/.f64 1 (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (/.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t)))) (cbrt.f64 z))))
37.7b
(neg.f64 (*.f64 y x))
33.1b
(*.f64 y x)
Compiler

Compiled 8289 to 2268 computations (72.6% saved)

localize22.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(-.f64 (*.f64 z z) (*.f64 t a))
1.0b
(/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))
1.2b
(*.f64 (/.f64 x 1) (/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)))
24.9b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

series668.0ms (4.9%)

Counts
2 → 76
Calls

2 calls:

383.0ms
(*.f64 (/.f64 x 1) (/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)))
284.0ms
(/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))

rewrite149.0ms (1.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:

58.0ms
(*.f64 (/.f64 x 1) (/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)))
16.0ms
(/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))

simplify220.0ms (1.6%)

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

prune613.0ms (4.5%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New4862488
Fresh279
Picked011
Done011
Total48811499
Error
2.5b
Counts
499 → 11
Alt Table
StatusErrorProgram
20.5b
(*.f64 (/.f64 x 1) (/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)))
21.3b
(*.f64 (/.f64 x (*.f64 (cbrt.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)) (cbrt.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)))) (/.f64 y (cbrt.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))))
22.6b
(*.f64 (/.f64 x 1) (*.f64 (/.f64 y (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) z))
44.1b
(*.f64 y (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 a t))) (*.f64 z x)))
22.1b
(*.f64 (*.f64 x y) (/.f64 1 (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)))
26.6b
(*.f64 (/.f64 x (*.f64 (cbrt.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t))))) (cbrt.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t))))))) (/.f64 y (/.f64 (cbrt.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t))))) z)))
24.4b
(/.f64 (*.f64 x y) (*.f64 (/.f64 1 (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (/.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t)))) (cbrt.f64 z))))
37.7b
(neg.f64 (*.f64 y x))
22.1b
(/.f64 (*.f64 x y) (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))
33.1b
(*.f64 y x)
20.6b
(*.f64 (/.f64 x 1) (*.f64 y (*.f64 (/.f64 1 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t)))) z)))
Compiler

Compiled 15541 to 4353 computations (72% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(-.f64 (*.f64 z z) (*.f64 a t))
1.0b
(*.f64 y (*.f64 (/.f64 1 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t)))) z))
1.2b
(*.f64 (/.f64 x 1) (*.f64 y (*.f64 (/.f64 1 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t)))) z)))
24.9b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t)))

series576.0ms (4.3%)

Counts
4 → 132
Calls

4 calls:

265.0ms
(*.f64 (/.f64 x 1) (*.f64 y (*.f64 (/.f64 1 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t)))) z)))
230.0ms
(*.f64 y (*.f64 (/.f64 1 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t)))) z))
72.0ms
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t)))
9.0ms
(-.f64 (*.f64 z z) (*.f64 a t))

rewrite45.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
91×add-exp-log_binary64
54×prod-exp_binary64
45×add-cbrt-cube_binary64
23×cbrt-unprod_binary64
20×div-exp_binary64
Counts
4 → 114
Calls

4 calls:

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

simplify183.0ms (1.4%)

Algorithm
egg-herbie
Rules
573×fma-def_binary64
571×times-frac_binary64
502×associate-*r*_binary64
374×associate-*l*_binary64
307×associate-/r*_binary64
Counts
246 → 227
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03846397
111145785
248065785
352645785

prune439.0ms (3.3%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New2261227
Fresh178
Picked011
Done112
Total22810238
Error
2.5b
Counts
238 → 10
Alt Table
StatusErrorProgram
22.6b
(*.f64 (/.f64 x 1) (*.f64 (/.f64 y (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) z))
44.1b
(*.f64 y (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 a t))) (*.f64 z x)))
22.1b
(*.f64 (*.f64 x y) (/.f64 1 (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)))
26.6b
(*.f64 (/.f64 x (*.f64 (cbrt.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t))))) (cbrt.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t))))))) (/.f64 y (/.f64 (cbrt.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t))))) z)))
21.0b
(*.f64 (/.f64 x 1) (*.f64 (*.f64 (cbrt.f64 (*.f64 y (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t)))))) (cbrt.f64 (*.f64 y (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))))) (cbrt.f64 (*.f64 y (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))))))
24.4b
(/.f64 (*.f64 x y) (*.f64 (/.f64 1 (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (/.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t)))) (cbrt.f64 z))))
37.7b
(neg.f64 (*.f64 y x))
22.1b
(/.f64 (*.f64 x y) (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))
33.1b
(*.f64 y x)
20.6b
(*.f64 (/.f64 x 1) (*.f64 y (*.f64 (/.f64 1 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t)))) z)))
Compiler

Compiled 7019 to 3168 computations (54.9% saved)

regimes5.0s (37.3%)

Accuracy

Total 3.2b remaining (48.8%)

Threshold costs 0b (0%)

Counts
184 → 3
Compiler

Compiled 39771 to 23963 computations (39.7% saved)

bsearch45.0ms (0.3%)

Steps
ItersRangePoint
4
5.283963595986049e+78
2.0520267029654177e+79
1.870606781150024e+79
7
-7.466101799350215e+163
-6.677078067734696e+161
-6.796797640097235e+161
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
02243
13843
25443
36543
47143
57243
67243

end361.0ms (2.7%)

Remove

(sort t a)

Compiler

Compiled 504 to 290 computations (42.5% saved)

Profiling

Loading profile data...