Details

Time bar (total: 14.6s)

analyze2.8s (19.2%)

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)

sample62.0ms (0.4%)

Algorithm
intervals
Results
17.0ms256×body128valid
4.0ms30×body128invalid
4.0ms74×body128nan
Compiler

Compiled 44 to 30 computations (31.8% saved)

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

Compiled 57 to 36 computations (36.8% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.8b
(-.f64 (*.f64 z z) (*.f64 t a))
5.0b
(*.f64 (*.f64 x y) z)
8.3b
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
24.2b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

series445.0ms (3%)

Counts
4 → 136
Calls

4 calls:

331.0ms
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
76.0ms
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))
19.0ms
(*.f64 (*.f64 x y) z)
18.0ms
(-.f64 (*.f64 z z) (*.f64 t a))

rewrite47.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))))
8.0ms
(*.f64 (*.f64 x y) z)
8.0ms
(-.f64 (*.f64 z z) (*.f64 t a))
6.0ms
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

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

prune261.0ms (1.8%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New18010190
Fresh000
Picked101
Done000
Total18110191
Error
5.5b
Counts
191 → 10
Alt Table
StatusErrorProgram
35.2b
(neg.f64 (*.f64 y x))
21.8b
(*.f64 (/.f64 (*.f64 x y) 1) (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
36.7b
(*.f64 y x)
48.0b
(*.f64 y (*.f64 (sqrt.f64 (/.f64 -1 (*.f64 a t))) (*.f64 z x)))
23.3b
(*.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))))))
23.4b
(/.f64 (*.f64 (*.f64 y x) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
22.6b
(*.f64 (/.f64 (*.f64 x y) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))) (/.f64 z (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))))
30.4b
(/.f64 (*.f64 (*.f64 x y) z) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
59.1b
(exp.f64 (-.f64 (+.f64 (+.f64 (log.f64 x) (log.f64 y)) (log.f64 z)) (log.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))))
34.3b
(expm1.f64 (log1p.f64 (/.f64 (*.f64 y (*.f64 z x)) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
Compiler

Compiled 5102 to 1577 computations (69.1% saved)

localize16.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.8b
(-.f64 (*.f64 z z) (*.f64 t a))
2.9b
(*.f64 (/.f64 (*.f64 x y) 1) (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
24.2b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

series472.0ms (3.2%)

Counts
2 → 64
Calls

2 calls:

335.0ms
(*.f64 (/.f64 (*.f64 x y) 1) (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
137.0ms
(/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))

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

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

simplify193.0ms (1.3%)

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

prune390.0ms (2.7%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New2893292
Fresh279
Picked101
Done000
Total29210302
Error
5.5b
Counts
302 → 10
Alt Table
StatusErrorProgram
22.6b
(*.f64 (/.f64 (*.f64 x y) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))) (/.f64 z (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))))
23.2b
(*.f64 (/.f64 x 1) (*.f64 y (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))))
35.2b
(neg.f64 (*.f64 y x))
36.7b
(*.f64 y x)
23.3b
(*.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))))))
23.4b
(/.f64 (*.f64 (*.f64 y x) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
30.4b
(/.f64 (*.f64 (*.f64 x y) z) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
28.4b
(*.f64 (/.f64 (*.f64 x y) 1) (/.f64 z (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z)))))
34.3b
(expm1.f64 (log1p.f64 (/.f64 (*.f64 y (*.f64 z x)) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
21.9b
(*.f64 (/.f64 (*.f64 x y) 1) (*.f64 z (/.f64 1 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))))
Compiler

Compiled 8822 to 3022 computations (65.7% saved)

localize27.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 z (/.f64 1 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
0.8b
(-.f64 (*.f64 z z) (*.f64 t a))
2.9b
(*.f64 (/.f64 (*.f64 x y) 1) (*.f64 z (/.f64 1 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))))
24.2b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

series528.0ms (3.6%)

Counts
2 → 64
Calls

2 calls:

401.0ms
(*.f64 (/.f64 (*.f64 x y) 1) (*.f64 z (/.f64 1 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))))
126.0ms
(*.f64 z (/.f64 1 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))

rewrite52.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
106×add-exp-log_binary64
59×prod-exp_binary64
43×add-cbrt-cube_binary64
32×div-exp_binary64
30×add-sqr-sqrt_binary64
Counts
2 → 110
Calls

2 calls:

20.0ms
(*.f64 (/.f64 (*.f64 x y) 1) (*.f64 z (/.f64 1 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))))
11.0ms
(*.f64 z (/.f64 1 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))

simplify218.0ms (1.5%)

Algorithm
egg-herbie
Rules
857×fma-def_binary64
430×times-frac_binary64
419×associate-*r*_binary64
361×associate-*l*_binary64
253×associate-/r*_binary64
Counts
174 → 194
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03165117
18944541
242914530
351324530

prune412.0ms (2.8%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New2751276
Fresh099
Picked011
Done000
Total27511286
Error
5.5b
Counts
286 → 11
Alt Table
StatusErrorProgram
22.6b
(*.f64 (/.f64 (*.f64 x y) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))) (/.f64 z (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))))
23.2b
(*.f64 (/.f64 x 1) (*.f64 y (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))))
30.4b
(/.f64 (*.f64 (*.f64 x y) z) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
35.2b
(*.f64 (/.f64 (*.f64 x y) 1) (*.f64 z (/.f64 1 (neg.f64 z))))
35.2b
(neg.f64 (*.f64 y x))
36.7b
(*.f64 y x)
23.3b
(*.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))))))
23.4b
(/.f64 (*.f64 (*.f64 y x) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
28.4b
(*.f64 (/.f64 (*.f64 x y) 1) (/.f64 z (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z)))))
34.3b
(expm1.f64 (log1p.f64 (/.f64 (*.f64 y (*.f64 z x)) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
21.9b
(*.f64 (/.f64 (*.f64 x y) 1) (*.f64 z (/.f64 1 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))))
Compiler

Compiled 8624 to 3597 computations (58.3% saved)

localize26.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.8b
(-.f64 (*.f64 z z) (*.f64 t a))
0.9b
(/.f64 (*.f64 x y) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
5.0b
(*.f64 (/.f64 (*.f64 x y) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))) (/.f64 z (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))))
24.2b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

series2.4s (16.1%)

Counts
2 → 104
Calls

2 calls:

2.0s
(/.f64 (*.f64 x y) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
345.0ms
(*.f64 (/.f64 (*.f64 x y) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))) (/.f64 z (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))))

rewrite68.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
57×sqrt-prod_binary64
48×times-frac_binary64
42×add-sqr-sqrt_binary64
33×associate-*r*_binary64
31×*-un-lft-identity_binary64
Counts
2 → 115
Calls

2 calls:

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

simplify286.0ms (2%)

Algorithm
egg-herbie
Rules
618×times-frac_binary64
438×fma-def_binary64
387×associate-/l*_binary64
317×associate-/r*_binary64
298×associate-*l/_binary64
Counts
219 → 240
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
04539378
113878379
249228379
351218379

prune480.0ms (3.3%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New4040404
Fresh099
Picked011
Done011
Total40411415
Error
5.5b
Counts
415 → 11
Alt Table
StatusErrorProgram
22.6b
(*.f64 (/.f64 (*.f64 x y) (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))) (/.f64 z (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))))
23.2b
(*.f64 (/.f64 x 1) (*.f64 y (/.f64 z (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 a t))))))
30.4b
(/.f64 (*.f64 (*.f64 x y) z) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
35.2b
(*.f64 (/.f64 (*.f64 x y) 1) (*.f64 z (/.f64 1 (neg.f64 z))))
35.2b
(neg.f64 (*.f64 y x))
36.7b
(*.f64 y x)
23.3b
(*.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))))))
23.4b
(/.f64 (*.f64 (*.f64 y x) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
28.4b
(*.f64 (/.f64 (*.f64 x y) 1) (/.f64 z (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z)))))
34.3b
(expm1.f64 (log1p.f64 (/.f64 (*.f64 y (*.f64 z x)) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 a t))) z))))
21.9b
(*.f64 (/.f64 (*.f64 x y) 1) (*.f64 z (/.f64 1 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))))
Compiler

Compiled 15909 to 3905 computations (75.5% saved)

regimes2.9s (20.1%)

Accuracy

Total 4.5b remaining (57.3%)

Threshold costs 0b (0%)

Counts
92 → 4
Compiler

Compiled 18461 to 11841 computations (35.9% saved)

bsearch150.0ms (1%)

Steps
ItersRangePoint
8
7.387664042623558e-42
1.5806664502483216e-37
1.1312353151972541e-37
7
-9.220843068975659e-234
-1.2735980277574724e-235
-9.098723144956853e-234
3
-6.289658185029303e+109
-1.544151485154195e+106
-2.2076112030402606e+109
Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify7.0ms (0.1%)

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
03369
15369
27069
38069
48469
58369

end35.0ms (0.2%)

Remove

(sort t a)

(sort x y)

Compiler

Compiled 255 to 135 computations (47.1% saved)

sample2.0s (13.7%)

Algorithm
intervals
Results
775.0ms8000×body128valid
209.0ms2210×body128nan
75.0ms809×body128invalid
Compiler

Compiled 295 to 186 computations (36.9% saved)

Profiling

Loading profile data...