Details

Time bar (total: 8.8s)

analyze667.0ms (7.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)

sample1.3s (14.8%)

Infinites
9.6% of outputs are infinite.
Symmetry

(sort x y)

(sort t a)

Results
974.0ms8256×body128valid
206.0ms1958×body128invalid
Compiler

Compiled 59 to 38 computations (35.6% 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
24.7b
Counts
2 → 1
Alt Table
StatusErrorProgram
24.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)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.8b
(-.f64 (*.f64 z z) (*.f64 t a))
3.9b
(*.f64 (*.f64 x y) z)
8.8b
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
25.0b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

series274.0ms (3.1%)

Counts
4 → 136
Calls

4 calls:

208.0ms
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
49.0ms
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))
9.0ms
(*.f64 (*.f64 x y) z)
8.0ms
(-.f64 (*.f64 z z) (*.f64 t a))

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

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

simplify132.0ms (1.5%)

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

prune155.0ms (1.8%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New17911190
Fresh000
Picked101
Done000
Total18011191
Error
2.4b
Counts
191 → 11
Alt Table
StatusErrorProgram
37.3b
(*.f64 y x)
23.9b
(*.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))))
26.4b
(/.f64 (*.f64 (*.f64 x y) z) (*.f64 (*.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))) (cbrt.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
35.8b
(neg.f64 (*.f64 y x))
24.2b
(*.f64 (/.f64 (*.f64 y x) (fabs.f64 (cbrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))) (/.f64 z (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))))
27.1b
(/.f64 (*.f64 x (*.f64 y z)) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
24.8b
(/.f64 (/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
43.5b
(*.f64 y (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 a t))) (*.f64 z x)))
27.8b
(/.f64 (*.f64 (*.f64 x y) z) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
24.7b
(/.f64 (*.f64 (*.f64 y x) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
21.9b
(*.f64 (*.f64 y x) (/.f64 z (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z)))
Compiler

Compiled 5194 to 1595 computations (69.3% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z)
0.1b
(/.f64 z (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))
2.1b
(*.f64 (*.f64 y x) (/.f64 z (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z)))
16.0b
(sqrt.f64 (neg.f64 (*.f64 a t)))

series931.0ms (10.6%)

Counts
4 → 66
Calls

4 calls:

558.0ms
(*.f64 (*.f64 y x) (/.f64 z (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z)))
233.0ms
(/.f64 z (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))
118.0ms
(hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z)
21.0ms
(sqrt.f64 (neg.f64 (*.f64 a t)))

rewrite16.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
21×add-sqr-sqrt_binary64
20×*-un-lft-identity_binary64
20×add-cube-cbrt_binary64
18×times-frac_binary64
18×add-cbrt-cube_binary64
Counts
4 → 92
Calls

4 calls:

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

simplify119.0ms (1.4%)

Algorithm
egg-herbie
Rules
731×fma-def_binary64
308×cancel-sign-sub-inv_binary64
265×fma-neg_binary64
215×associate-*r*_binary64
215×associate-*l*_binary64
Counts
158 → 171
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02704135
17003611
226183561
345683561
449413561

prune128.0ms (1.5%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1683171
Fresh5510
Picked101
Done000
Total1748182
Error
1.0b
Counts
182 → 8
Alt Table
StatusErrorProgram
21.9b
(*.f64 (*.f64 y x) (/.f64 z (hypot.f64 (*.f64 (sqrt.f64 (sqrt.f64 (neg.f64 (*.f64 a t)))) (sqrt.f64 (sqrt.f64 (neg.f64 (*.f64 a t))))) z)))
24.2b
(*.f64 (/.f64 (*.f64 y x) (fabs.f64 (cbrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))) (/.f64 z (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))))
37.3b
(*.f64 y x)
35.8b
(neg.f64 (*.f64 y x))
23.6b
(*.f64 (*.f64 y x) (/.f64 z (hypot.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 t))) z)))
43.5b
(*.f64 y (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 a t))) (*.f64 z x)))
22.3b
(*.f64 y (*.f64 x (/.f64 z (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
24.7b
(/.f64 (*.f64 (*.f64 y x) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
Compiler

Compiled 4634 to 1481 computations (68% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (sqrt.f64 (neg.f64 (*.f64 a t))))
0.3b
(*.f64 (sqrt.f64 (sqrt.f64 (neg.f64 (*.f64 a t)))) (sqrt.f64 (sqrt.f64 (neg.f64 (*.f64 a t)))))
2.1b
(*.f64 (*.f64 y x) (/.f64 z (hypot.f64 (*.f64 (sqrt.f64 (sqrt.f64 (neg.f64 (*.f64 a t)))) (sqrt.f64 (sqrt.f64 (neg.f64 (*.f64 a t))))) z)))
16.0b
(sqrt.f64 (neg.f64 (*.f64 a t)))

series690.0ms (7.8%)

Counts
3 → 46
Calls

3 calls:

523.0ms
(*.f64 (*.f64 y x) (/.f64 z (hypot.f64 (*.f64 (sqrt.f64 (sqrt.f64 (neg.f64 (*.f64 a t)))) (sqrt.f64 (sqrt.f64 (neg.f64 (*.f64 a t))))) z)))
148.0ms
(sqrt.f64 (sqrt.f64 (neg.f64 (*.f64 a t))))
19.0ms
(*.f64 (sqrt.f64 (sqrt.f64 (neg.f64 (*.f64 a t)))) (sqrt.f64 (sqrt.f64 (neg.f64 (*.f64 a t)))))

rewrite34.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
114×sqrt-prod_binary64
72×add-sqr-sqrt_binary64
36×sqrt-pow1_binary64
33×pow1_binary64
25×associate-*r*_binary64
Counts
3 → 153
Calls

3 calls:

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

simplify101.0ms (1.2%)

Algorithm
egg-herbie
Rules
458×associate-*l/_binary64
291×associate-*l*_binary64
276×associate-*r*_binary64
233×fma-def_binary64
220×associate-/r/_binary64
Counts
199 → 200
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02683973
16063439
223823394
349973394

prune190.0ms (2.2%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2650265
Fresh077
Picked011
Done000
Total2658273
Error
1.0b
Counts
273 → 8
Alt Table
StatusErrorProgram
21.9b
(*.f64 (*.f64 y x) (/.f64 z (hypot.f64 (*.f64 (sqrt.f64 (sqrt.f64 (neg.f64 (*.f64 a t)))) (sqrt.f64 (sqrt.f64 (neg.f64 (*.f64 a t))))) z)))
24.2b
(*.f64 (/.f64 (*.f64 y x) (fabs.f64 (cbrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))) (/.f64 z (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))))
37.3b
(*.f64 y x)
35.8b
(neg.f64 (*.f64 y x))
23.6b
(*.f64 (*.f64 y x) (/.f64 z (hypot.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 t))) z)))
43.5b
(*.f64 y (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 a t))) (*.f64 z x)))
22.3b
(*.f64 y (*.f64 x (/.f64 z (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
24.7b
(/.f64 (*.f64 (*.f64 y x) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
Compiler

Compiled 7788 to 1922 computations (75.3% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 z (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))
0.8b
(*.f64 x (/.f64 z (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z)))
2.1b
(*.f64 y (*.f64 x (/.f64 z (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
16.0b
(sqrt.f64 (neg.f64 (*.f64 a t)))

series857.0ms (9.7%)

Counts
2 → 64
Calls

2 calls:

516.0ms
(*.f64 y (*.f64 x (/.f64 z (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
341.0ms
(*.f64 x (/.f64 z (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z)))

rewrite13.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
16×add-sqr-sqrt_binary64
16×add-cbrt-cube_binary64
16×add-exp-log_binary64
14×associate-*r*_binary64
11×*-un-lft-identity_binary64
Counts
2 → 57
Calls

2 calls:

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

simplify121.0ms (1.4%)

Algorithm
egg-herbie
Rules
830×associate-/r*_binary64
362×associate-/r/_binary64
354×fma-def_binary64
261×cancel-sign-sub-inv_binary64
230×associate-*r*_binary64
Counts
121 → 114
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02343901
16243028
223962984
357052984

prune140.0ms (1.6%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1842186
Fresh156
Picked011
Done101
Total1868194
Error
0.5b
Counts
194 → 8
Alt Table
StatusErrorProgram
37.3b
(*.f64 y x)
24.2b
(*.f64 (/.f64 (*.f64 y x) (fabs.f64 (cbrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))) (/.f64 z (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))))
35.8b
(neg.f64 (*.f64 y x))
23.8b
(*.f64 y (*.f64 x (/.f64 z (hypot.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 t))) z))))
23.6b
(*.f64 (*.f64 y x) (/.f64 z (hypot.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 t))) z)))
24.3b
(*.f64 y (*.f64 (/.f64 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)))))
22.3b
(*.f64 y (*.f64 x (/.f64 z (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
24.7b
(/.f64 (*.f64 (*.f64 y x) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
Compiler

Compiled 4959 to 1619 computations (67.4% saved)

regimes2.3s (26.6%)

Accuracy

Total 4.8b remaining (87.8%)

Threshold costs 0b (0%)

Counts
105 → 6
Compiler

Compiled 20775 to 12564 computations (39.5% saved)

bsearch174.0ms (2%)

Steps
ItersRangePoint
8
7.599318026220604e+29
8.666361100031005e+33
7.766070028302245e+29
9
1.5302915913122459e+22
8.512827817797835e+27
8.420471240038822e+27
7
1.9825546506447513e-205
5.5273848400196326e-204
2.008610550034131e-205
9
-3.975809683411728e-151
-1.6874738847113578e-157
-1.717551219244167e-157
2
-1.134458572469338e+169
-1.0492668286827014e+148
-1.8547055447344963e+153
Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify7.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
046144
167144
284144
394144
499144
5100144
698144

end285.0ms (3.2%)

Remove

(sort x y)

Compiler

Compiled 942 to 412 computations (56.3% saved)

Profiling

Loading profile data...