Details

Time bar (total: 7.8s)

analyze1.5s (19.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
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.6s (20.8%)

Symmetry

(sort x y)

(sort t a)

Results
1.2s8256×body128valid
401.0ms3014×body128invalid
Compiler

Compiled 59 to 38 computations (35.6% saved)

simplify44.0ms (0.6%)

Algorithm
egg-herbie
Rules
1034×fma-def_binary64
336×fma-neg_binary64
138×distribute-rgt-in_binary64
131×cancel-sign-sub-inv_binary64
126×associate-/r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01321
12621
25621
39521
414321
519921
626721
734321
860321
9138321
10268221
11342521
12353921
13366921
14374921
15374921
Stop Event
saturated
Counts
1 → 2

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
24.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
27.7b
(/.f64 (*.f64 (*.f64 x y) z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
26.6b
(*.f64 x (/.f64 (*.f64 y z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
Compiler

Compiled 109 to 63 computations (42.2% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(-.f64 (*.f64 z z) (*.f64 t a))
2.0b
(*.f64 x (/.f64 (*.f64 y z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
9.6b
(/.f64 (*.f64 y z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
26.4b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

series289.0ms (3.7%)

Counts
4 → 132
Calls

4 calls:

151.0ms
(*.f64 x (/.f64 (*.f64 y z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))))
103.0ms
(/.f64 (*.f64 y z) (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))))
27.0ms
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))
7.0ms
(-.f64 (*.f64 z z) (*.f64 t a))

rewrite91.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
871×prod-diff_binary64
263×egg-rr
145×add-sqr-sqrt_binary64
137×log1p-expm1-u_binary64
137×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01361
128861
2401261
Stop Event
node limit
Counts
4 → 263
Calls

4 calls:

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

simplify75.0ms (1%)

Algorithm
egg-herbie
Rules
380×times-frac_binary64
257×associate-*r*_binary64
243×associate-/r*_binary64
243×cancel-sign-sub-inv_binary64
221×associate-/l*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02333633
18283614
239853614
Stop Event
node limit
Counts
395 → 342

prune253.0ms (3.2%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New3348342
Fresh101
Picked101
Done000
Total3368344
Error
3.7b
Counts
344 → 8
Alt Table
StatusErrorProgram
26.8b
(/.f64 x (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) (*.f64 z y)))
28.5b
(*.f64 y (*.f64 z (*.f64 x (sqrt.f64 (/.f64 1 (-.f64 (*.f64 z z) (*.f64 a t)))))))
27.0b
(*.f64 x (*.f64 (/.f64 y (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) z))
29.4b
(*.f64 (*.f64 y (*.f64 z x)) (sqrt.f64 (/.f64 1 (-.f64 (pow.f64 z 2) (*.f64 a t)))))
24.8b
(*.f64 x (*.f64 y (*.f64 z (pow.f64 (-.f64 (*.f64 z z) (*.f64 t a)) -1/2))))
36.9b
(*.f64 x y)
35.8b
(*.f64 x (/.f64 (*.f64 y z) (-.f64 (*.f64 1/2 (*.f64 (/.f64 a z) t)) z)))
38.3b
(*.f64 x (neg.f64 y))
Compiler

Compiled 10362 to 3606 computations (65.2% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(-.f64 (*.f64 z z) (*.f64 t a))
1.4b
(*.f64 y (*.f64 z (pow.f64 (-.f64 (*.f64 z z) (*.f64 t a)) -1/2)))
2.0b
(*.f64 x (*.f64 y (*.f64 z (pow.f64 (-.f64 (*.f64 z z) (*.f64 t a)) -1/2))))
26.4b
(pow.f64 (-.f64 (*.f64 z z) (*.f64 t a)) -1/2)

series289.0ms (3.7%)

Counts
3 → 112
Calls

3 calls:

151.0ms
(*.f64 x (*.f64 y (*.f64 z (pow.f64 (-.f64 (*.f64 z z) (*.f64 t a)) -1/2))))
102.0ms
(*.f64 y (*.f64 z (pow.f64 (-.f64 (*.f64 z z) (*.f64 t a)) -1/2)))
35.0ms
(pow.f64 (-.f64 (*.f64 z z) (*.f64 t a)) -1/2)

rewrite58.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
823×prod-diff_binary64
154×add-sqr-sqrt_binary64
149×associate-*r*_binary64
146×log1p-expm1-u_binary64
146×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01454
130854
2398954
Stop Event
node limit
Counts
3 → 47
Calls

3 calls:

57.0ms
(*.f64 y (*.f64 z (pow.f64 (-.f64 (*.f64 z z) (*.f64 t a)) -1/2)))
57.0ms
(*.f64 x (*.f64 y (*.f64 z (pow.f64 (-.f64 (*.f64 z z) (*.f64 t a)) -1/2))))
57.0ms
(pow.f64 (-.f64 (*.f64 z z) (*.f64 t a)) -1/2)

simplify58.0ms (0.7%)

Algorithm
egg-herbie
Rules
491×times-frac_binary64
360×associate-/r*_binary64
314×associate-*r*_binary64
297×associate-/l*_binary64
211×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03204530
111074455
Stop Event
node limit
Counts
159 → 151

prune263.0ms (3.4%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New3233326
Fresh167
Picked101
Done000
Total3259334
Error
1.5b
Counts
334 → 9
Alt Table
StatusErrorProgram
26.8b
(/.f64 x (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) (*.f64 z y)))
28.5b
(*.f64 y (*.f64 z (*.f64 x (sqrt.f64 (/.f64 1 (-.f64 (*.f64 z z) (*.f64 a t)))))))
27.0b
(*.f64 x (*.f64 (/.f64 y (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))) z))
29.4b
(*.f64 (*.f64 y (*.f64 z x)) (sqrt.f64 (/.f64 1 (-.f64 (pow.f64 z 2) (*.f64 a t)))))
42.9b
(*.f64 x (*.f64 y (*.f64 z (fma.f64 1/2 (*.f64 (*.f64 (/.f64 z a) (/.f64 z t)) (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 a) (log.f64 (/.f64 -1 t))))) (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 a) (log.f64 (/.f64 -1 t))))))))
41.8b
(*.f64 x (*.f64 y (*.f64 z (exp.f64 (*.f64 -1/2 (-.f64 (log.f64 a) (log.f64 (/.f64 -1 t))))))))
43.3b
(*.f64 x (*.f64 y (*.f64 z (sqrt.f64 (/.f64 (/.f64 -1 a) t)))))
38.3b
(*.f64 x (neg.f64 y))
36.9b
(*.f64 x y)
Compiler

Compiled 11409 to 5100 computations (55.3% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(-.f64 (*.f64 z z) (*.f64 t a))
2.3b
(/.f64 x (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) (*.f64 z y)))
9.6b
(/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) (*.f64 z y))
26.4b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

series205.0ms (2.6%)

Counts
2 → 76
Calls

2 calls:

151.0ms
(/.f64 x (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) (*.f64 z y)))
53.0ms
(/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) (*.f64 z y))

rewrite62.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
901×prod-diff_binary64
149×add-sqr-sqrt_binary64
141×log1p-expm1-u_binary64
141×expm1-log1p-u_binary64
140×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01339
129439
2425839
Stop Event
node limit
Counts
2 → 86
Calls

2 calls:

61.0ms
(/.f64 x (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) (*.f64 z y)))
60.0ms
(/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) (*.f64 z y))

simplify61.0ms (0.8%)

Algorithm
egg-herbie
Rules
543×fma-def_binary64
244×times-frac_binary64
215×associate-*r*_binary64
169×associate-/l/_binary64
164×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01742607
16082555
229292520
Stop Event
node limit
Counts
162 → 135

prune276.0ms (3.5%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New3562358
Fresh178
Picked011
Done000
Total35710367
Error
1.5b
Counts
367 → 10
Alt Table
StatusErrorProgram
26.8b
(/.f64 x (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) (*.f64 z y)))
28.5b
(*.f64 y (*.f64 z (*.f64 x (sqrt.f64 (/.f64 1 (-.f64 (*.f64 z z) (*.f64 a t)))))))
25.8b
(*.f64 (/.f64 x (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)) y)
42.9b
(*.f64 x (*.f64 y (*.f64 z (fma.f64 1/2 (*.f64 (*.f64 (/.f64 z a) (/.f64 z t)) (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 a) (log.f64 (/.f64 -1 t))))) (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 a) (log.f64 (/.f64 -1 t))))))))
27.2b
(*.f64 x (/.f64 z (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) y)))
41.8b
(*.f64 x (*.f64 y (*.f64 z (exp.f64 (*.f64 -1/2 (-.f64 (log.f64 a) (log.f64 (/.f64 -1 t))))))))
43.3b
(*.f64 x (*.f64 y (*.f64 z (sqrt.f64 (/.f64 (/.f64 -1 a) t)))))
29.4b
(*.f64 (*.f64 y (*.f64 z x)) (sqrt.f64 (/.f64 1 (-.f64 (pow.f64 z 2) (*.f64 a t)))))
38.3b
(*.f64 x (neg.f64 y))
36.9b
(*.f64 x y)
Compiler

Compiled 10590 to 3513 computations (66.8% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(-.f64 (*.f64 z z) (*.f64 t a))
2.4b
(/.f64 x (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z))
2.6b
(*.f64 (/.f64 x (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)) y)
26.4b
(sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a)))

series288.0ms (3.7%)

Counts
2 → 76
Calls

2 calls:

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

rewrite65.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
889×prod-diff_binary64
149×add-sqr-sqrt_binary64
141×log1p-expm1-u_binary64
141×expm1-log1p-u_binary64
140×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01339
129439
2420439
Stop Event
node limit
Counts
2 → 69
Calls

2 calls:

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

simplify59.0ms (0.8%)

Algorithm
egg-herbie
Rules
762×fma-def_binary64
305×times-frac_binary64
224×associate-*r*_binary64
211×associate-/r*_binary64
191×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01712765
16462759
232492753
Stop Event
node limit
Counts
145 → 119

prune250.0ms (3.2%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New3411342
Fresh268
Picked011
Done011
Total3439352
Error
1.5b
Counts
352 → 9
Alt Table
StatusErrorProgram
25.0b
(/.f64 x (/.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z) y))
26.8b
(/.f64 x (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) (*.f64 z y)))
25.8b
(*.f64 (/.f64 x (/.f64 (sqrt.f64 (-.f64 (*.f64 z z) (*.f64 t a))) z)) y)
42.9b
(*.f64 x (*.f64 y (*.f64 z (fma.f64 1/2 (*.f64 (*.f64 (/.f64 z a) (/.f64 z t)) (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 a) (log.f64 (/.f64 -1 t))))) (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 a) (log.f64 (/.f64 -1 t))))))))
41.8b
(*.f64 x (*.f64 y (*.f64 z (exp.f64 (*.f64 -1/2 (-.f64 (log.f64 a) (log.f64 (/.f64 -1 t))))))))
43.3b
(*.f64 x (*.f64 y (*.f64 z (sqrt.f64 (/.f64 (/.f64 -1 a) t)))))
29.4b
(*.f64 (*.f64 y (*.f64 z x)) (sqrt.f64 (/.f64 1 (-.f64 (pow.f64 z 2) (*.f64 a t)))))
38.3b
(*.f64 x (neg.f64 y))
36.9b
(*.f64 x y)
Compiler

Compiled 10254 to 3736 computations (63.6% saved)

regimes1.5s (19.8%)

Accuracy

Total 4.4b remaining (66.5%)

Threshold costs 0b (0%)

Counts
78 → 3
Compiler

Compiled 12794 to 8513 computations (33.5% saved)

bsearch74.0ms (0.9%)

Steps
ItersRangePoint
9
2.9028680014476404e+45
3.101255513179682e+53
3.0514905924256488e+53
7
-3.074560788667349e+64
-1.8494435933669867e+63
-2.7002634376703844e+64
Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02444
14044
25744
36844
47544
57744
Stop Event
saturated

end309.0ms (3.9%)

Remove

(sort t a)

Compiler

Compiled 454 to 297 computations (34.6% saved)

Profiling

Loading profile data...