Details

Time bar (total: 9.7s)

analyze1.5s (15.7%)

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)

sample1.7s (17.3%)

Symmetry

(sort x y)

(sort t a)

Results
1.1s8256×body128valid
428.0ms3238×body128invalid
Compiler

Compiled 59 to 38 computations (35.6% saved)

simplify58.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
25.7b
Counts
2 → 1
Alt Table
StatusErrorProgram
25.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.4b
(-.f64 (*.f64 z z) (*.f64 t a))
4.5b
(*.f64 (*.f64 x y) z)
10.2b
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
24.1b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

series256.0ms (2.6%)

Counts
4 → 136
Calls

4 calls:

194.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)))
13.0ms
(*.f64 (*.f64 x y) z)
8.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))

simplify124.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

prune162.0ms (1.7%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New18010190
Fresh000
Picked101
Done000
Total18110191
Error
3.4b
Counts
191 → 10
Alt Table
StatusErrorProgram
23.2b
(*.f64 (/.f64 (*.f64 x y) 1) (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
26.5b
(/.f64 (*.f64 y (*.f64 z x)) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
26.1b
(/.f64 (*.f64 x (*.f64 y z)) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
25.8b
(/.f64 (*.f64 (*.f64 x y) z) (*.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))))
36.0b
(*.f64 y x)
30.8b
(/.f64 (*.f64 (*.f64 x y) z) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
27.0b
(*.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))))
24.2b
(/.f64 (*.f64 x y) (/.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z) z))
37.0b
(neg.f64 (*.f64 y x))
47.4b
(*.f64 y (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 a t))) (*.f64 z x)))
Compiler

Compiled 5102 to 1563 computations (69.4% saved)

localize10.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))))
0.4b
(-.f64 (*.f64 z z) (*.f64 t a))
2.0b
(*.f64 (/.f64 (*.f64 x y) 1) (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
24.1b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

series286.0ms (2.9%)

Counts
2 → 64
Calls

2 calls:

197.0ms
(*.f64 (/.f64 (*.f64 x y) 1) (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
88.0ms
(/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))

rewrite29.0ms (0.3%)

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:

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

simplify112.0ms (1.2%)

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

prune236.0ms (2.4%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New2902292
Fresh189
Picked011
Done000
Total29111302
Error
3.4b
Counts
302 → 11
Alt Table
StatusErrorProgram
23.2b
(*.f64 (/.f64 (*.f64 x y) 1) (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
26.5b
(/.f64 (*.f64 y (*.f64 z x)) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
25.8b
(/.f64 (*.f64 (*.f64 x y) z) (*.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))))
36.0b
(*.f64 y x)
30.8b
(/.f64 (*.f64 (*.f64 x y) z) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
27.0b
(*.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))))
24.2b
(/.f64 (*.f64 x y) (/.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z) z))
23.1b
(*.f64 (/.f64 x 1) (*.f64 y (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))))
37.0b
(neg.f64 (*.f64 y x))
23.2b
(*.f64 (/.f64 (*.f64 x y) 1) (*.f64 z (/.f64 1 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))))
47.4b
(*.f64 y (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 a t))) (*.f64 z x)))
Compiler

Compiled 8843 to 3024 computations (65.8% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(-.f64 (*.f64 z z) (*.f64 a t))
0.8b
(*.f64 y (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t)))))
1.3b
(*.f64 (/.f64 x 1) (*.f64 y (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))))
24.1b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t)))

series386.0ms (4%)

Counts
4 → 132
Calls

4 calls:

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

rewrite39.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
39×add-exp-log_binary64
35×add-sqr-sqrt_binary64
30×add-cbrt-cube_binary64
29×times-frac_binary64
26×*-un-lft-identity_binary64
Counts
4 → 123
Calls

4 calls:

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

simplify123.0ms (1.3%)

Algorithm
egg-herbie
Rules
599×times-frac_binary64
488×associate-*r*_binary64
407×associate-*l*_binary64
381×associate-/l*_binary64
317×associate-/r*_binary64
Counts
255 → 235
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03996478
111555992
252105992

prune190.0ms (2%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New2332235
Fresh369
Picked101
Done011
Total2379246
Error
3.4b
Counts
246 → 9
Alt Table
StatusErrorProgram
30.8b
(/.f64 (*.f64 (*.f64 x y) z) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
27.0b
(*.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))))
24.2b
(/.f64 (*.f64 x y) (/.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z) z))
24.4b
(*.f64 (/.f64 x 1) (*.f64 (/.f64 y (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))) (/.f64 z (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t)))))))
23.2b
(*.f64 (/.f64 (*.f64 x y) 1) (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
37.0b
(neg.f64 (*.f64 y x))
24.1b
(*.f64 (/.f64 x 1) (/.f64 (*.f64 y z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t)))))
36.0b
(*.f64 y x)
47.4b
(*.f64 y (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 a t))) (*.f64 z x)))
Compiler

Compiled 7190 to 2815 computations (60.8% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(-.f64 (*.f64 z z) (*.f64 a t))
1.3b
(*.f64 (/.f64 x 1) (/.f64 (*.f64 y z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t)))))
8.7b
(/.f64 (*.f64 y z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))
24.1b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t)))

series340.0ms (3.5%)

Counts
2 → 76
Calls

2 calls:

194.0ms
(*.f64 (/.f64 x 1) (/.f64 (*.f64 y z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t)))))
145.0ms
(/.f64 (*.f64 y z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))

rewrite25.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
37×add-exp-log_binary64
28×add-cbrt-cube_binary64
23×times-frac_binary64
23×add-sqr-sqrt_binary64
17×*-un-lft-identity_binary64
Counts
2 → 88
Calls

2 calls:

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

simplify110.0ms (1.1%)

Algorithm
egg-herbie
Rules
581×times-frac_binary64
466×fma-def_binary64
394×associate-*r*_binary64
343×associate-/l*_binary64
313×associate-*l*_binary64
Counts
164 → 174
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03285179
19784730
245984730
349674730

prune172.0ms (1.8%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New2391240
Fresh077
Picked011
Done011
Total23910249
Error
3.4b
Counts
249 → 10
Alt Table
StatusErrorProgram
23.2b
(*.f64 (/.f64 (*.f64 x y) 1) (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
37.3b
(*.f64 (/.f64 x 1) (/.f64 (*.f64 y z) (-.f64 z (*.f64 1/2 (/.f64 (*.f64 a t) z)))))
30.8b
(/.f64 (*.f64 (*.f64 x y) z) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
27.0b
(*.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))))
24.2b
(/.f64 (*.f64 x y) (/.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z) z))
24.4b
(*.f64 (/.f64 x 1) (*.f64 (/.f64 y (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))) (/.f64 z (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t)))))))
37.0b
(neg.f64 (*.f64 y x))
24.1b
(*.f64 (/.f64 x 1) (/.f64 (*.f64 y z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t)))))
36.0b
(*.f64 y x)
47.4b
(*.f64 y (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 a t))) (*.f64 z x)))
Compiler

Compiled 7231 to 2652 computations (63.3% saved)

regimes3.6s (37.1%)

Accuracy

Total 3.0b remaining (48.6%)

Threshold costs 0b (0%)

Counts
134 → 3
Compiler

Compiled 27624 to 17140 computations (38% saved)

bsearch46.0ms (0.5%)

Steps
ItersRangePoint
7
6.421573462103422e+81
2.0098915098832295e+83
1.6097388499861037e+83
3
-1.291730125085383e+157
-4.4913171539602196e+153
-1.195058800664299e+154
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
02443
14143
25843
36943
47543
57643
67543

end139.0ms (1.4%)

Remove

(sort t a)

(sort x y)

Compiler

Compiled 409 to 245 computations (40.1% saved)

Profiling

Loading profile data...