Details

Time bar (total: 14.2s)

analyze1.5s (10.8%)

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 (12.2%)

Symmetry

(sort x y)

(sort t a)

Results
1.2s8256×body128valid
427.0ms3160×body128invalid
Compiler

Compiled 59 to 38 computations (35.6% saved)

simplify65.0ms (0.5%)

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

Compiled 57 to 36 computations (36.8% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(-.f64 (*.f64 z z) (*.f64 t a))
4.8b
(*.f64 (*.f64 x y) z)
8.7b
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
23.2b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

series260.0ms (1.8%)

Counts
4 → 136
Calls

4 calls:

202.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)
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:

6.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)))
2.0ms
(-.f64 (*.f64 z z) (*.f64 t a))

simplify122.0ms (0.9%)

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

prune160.0ms (1.1%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New18010190
Fresh000
Picked101
Done000
Total18110191
Error
4.0b
Counts
191 → 10
Alt Table
StatusErrorProgram
20.8b
(/.f64 (*.f64 x y) (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))
22.5b
(/.f64 (*.f64 (*.f64 x y) z) (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))))
24.0b
(/.f64 (*.f64 y (*.f64 z x)) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
36.4b
(neg.f64 (*.f64 y x))
37.6b
(*.f64 y x)
44.2b
(*.f64 y (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 a t))) (*.f64 z x)))
26.3b
(*.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))))
30.0b
(*.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))))
33.5b
(/.f64 (*.f64 (/.f64 (*.f64 y x) (sqrt.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))) z) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
29.1b
(/.f64 (*.f64 (*.f64 x y) z) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
Compiler

Compiled 5200 to 1581 computations (69.6% saved)

localize13.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.4b
(-.f64 (*.f64 z z) (*.f64 t a))
2.7b
(/.f64 (*.f64 x y) (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))
23.2b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

series264.0ms (1.9%)

Counts
2 → 64
Calls

2 calls:

208.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)

rewrite23.0ms (0.2%)

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:

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

simplify188.0ms (1.3%)

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

prune286.0ms (2%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New2944298
Fresh279
Picked101
Done000
Total29711308
Error
4.0b
Counts
308 → 11
Alt Table
StatusErrorProgram
25.6b
(/.f64 (*.f64 x y) (/.f64 (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))) z))
26.3b
(*.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))))
20.9b
(/.f64 (*.f64 x y) (*.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) (/.f64 1 z)))
30.0b
(*.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))))
21.5b
(*.f64 (/.f64 x 1) (/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)))
23.8b
(/.f64 (*.f64 x y) (/.f64 (/.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t)))) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (cbrt.f64 z)))
36.4b
(neg.f64 (*.f64 y x))
37.6b
(*.f64 y x)
33.5b
(/.f64 (*.f64 (/.f64 (*.f64 y x) (sqrt.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))) z) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
22.5b
(/.f64 (*.f64 (*.f64 x y) z) (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))))
29.1b
(/.f64 (*.f64 (*.f64 x y) z) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
Compiler

Compiled 8362 to 2298 computations (72.5% 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))) (/.f64 1 z))
0.4b
(-.f64 (*.f64 z z) (*.f64 t a))
2.7b
(/.f64 (*.f64 x y) (*.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) (/.f64 1 z)))
23.2b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

series259.0ms (1.8%)

Counts
2 → 64
Calls

2 calls:

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

rewrite30.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
46×add-exp-log_binary64
28×add-cbrt-cube_binary64
25×add-sqr-sqrt_binary64
17×prod-exp_binary64
16×div-exp_binary64
Counts
2 → 85
Calls

2 calls:

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

simplify127.0ms (0.9%)

Algorithm
egg-herbie
Rules
693×fma-def_binary64
583×times-frac_binary64
306×associate-/l*_binary64
284×associate-*r*_binary64
277×associate-/r*_binary64
Counts
149 → 173
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02924418
18973994
240333898
349793898
449613898

prune237.0ms (1.7%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New2550255
Fresh01010
Picked011
Done000
Total25511266
Error
4.0b
Counts
266 → 11
Alt Table
StatusErrorProgram
25.6b
(/.f64 (*.f64 x y) (/.f64 (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))) z))
26.3b
(*.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))))
20.9b
(/.f64 (*.f64 x y) (*.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) (/.f64 1 z)))
30.0b
(*.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))))
21.5b
(*.f64 (/.f64 x 1) (/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)))
23.8b
(/.f64 (*.f64 x y) (/.f64 (/.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t)))) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (cbrt.f64 z)))
36.4b
(neg.f64 (*.f64 y x))
37.6b
(*.f64 y x)
33.5b
(/.f64 (*.f64 (/.f64 (*.f64 y x) (sqrt.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))) z) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
22.5b
(/.f64 (*.f64 (*.f64 x y) z) (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))))
29.1b
(/.f64 (*.f64 (*.f64 x y) z) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
Compiler

Compiled 7349 to 2685 computations (63.5% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(-.f64 (*.f64 z z) (*.f64 t a))
2.2b
(*.f64 (/.f64 x 1) (/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)))
2.2b
(/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))
23.2b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

series350.0ms (2.5%)

Counts
2 → 76
Calls

2 calls:

202.0ms
(*.f64 (/.f64 x 1) (/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)))
148.0ms
(/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))

rewrite69.0ms (0.5%)

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:

23.0ms
(*.f64 (/.f64 x 1) (/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)))
7.0ms
(/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))

simplify211.0ms (1.5%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
048210162
113559722
249159722
351979722

prune447.0ms (3.2%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New4870487
Fresh099
Picked011
Done011
Total48711498
Error
4.0b
Counts
498 → 11
Alt Table
StatusErrorProgram
25.6b
(/.f64 (*.f64 x y) (/.f64 (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))) z))
26.3b
(*.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))))
20.9b
(/.f64 (*.f64 x y) (*.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) (/.f64 1 z)))
30.0b
(*.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))))
21.5b
(*.f64 (/.f64 x 1) (/.f64 y (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)))
23.8b
(/.f64 (*.f64 x y) (/.f64 (/.f64 (hypot.f64 z (sqrt.f64 (neg.f64 (*.f64 a t)))) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (cbrt.f64 z)))
36.4b
(neg.f64 (*.f64 y x))
37.6b
(*.f64 y x)
33.5b
(/.f64 (*.f64 (/.f64 (*.f64 y x) (sqrt.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))) z) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
22.5b
(/.f64 (*.f64 (*.f64 x y) z) (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))))
29.1b
(/.f64 (*.f64 (*.f64 x y) z) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
Compiler

Compiled 15354 to 4235 computations (72.4% saved)

regimes7.4s (52.1%)

Accuracy

Total 3.1b remaining (49.1%)

Threshold costs 0b (0%)

Counts
289 → 5
Compiler

Compiled 64234 to 39631 computations (38.3% saved)

bsearch170.0ms (1.2%)

Steps
ItersRangePoint
3
3.71773868080436e+82
5.1017219808092264e+82
5.015223024558922e+82
8
7.291242078897128e-176
6.753578880291298e-173
6.049021251734141e-173
8
-4.391692004279047e-135
-8.188439948179481e-140
-1.0802216888912775e-139
8
-3.4000274368432666e+122
-1.2266822515200078e+120
-3.347552958513927e+122
Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify7.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
048128
165128
272128
377128
479128
578128

end182.0ms (1.3%)

Remove

(sort t a)

(sort x y)

Compiler

Compiled 819 to 412 computations (49.7% saved)

Profiling

Loading profile data...