Details

Time bar (total: 4.3s)

analyze342.0ms (8%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
25%74.9%0.1%6
25%74.9%0.1%7
43.7%56.2%0.1%8
62.4%37.4%0.1%9
65.5%34.3%0.1%10
71.8%27.7%0.5%11
79.2%19.7%1.1%12
80.2%18.7%1.1%13
82.8%15%2.2%14
Compiler

Compiled 15 to 11 computations (26.7% saved)

sample994.0ms (23.3%)

Results
929.0ms8256×body128valid
50.0ms478×body128invalid
Compiler

Compiled 30 to 22 computations (26.7% saved)

preprocess32.0ms (0.8%)

Algorithm
egg-herbie
Rules
131×fma-def_binary64
98×associate-*l*_binary64
68×associate-*r*_binary64
58×distribute-lft-in_binary64
58×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02264
16956
214656
332256
449156
561656
662456
033
133
Stop Event
unsound
saturated
Symmetry

(sort x y)

Compiler

Compiled 14 to 10 computations (28.6% saved)

simplify16.0ms (0.4%)

Algorithm
egg-herbie
Rules
44×fma-def_binary64
31×associate-*l*_binary64
30×associate-*r*_binary64
19×distribute-lft-in_binary64
19×distribute-rgt-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01016
12414
24614
310714
417314
523414
623814
Stop Event
saturated
Counts
1 → 2

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
5.8b
Counts
3 → 2
Alt Table
StatusErrorProgram
6.2b
(/.f64 1 (*.f64 x (*.f64 y (fma.f64 z z 1))))
5.9b
(/.f64 (/.f64 1 x) (*.f64 y (+.f64 1 (*.f64 z z))))
Compiler

Compiled 78 to 54 computations (30.8% saved)

localize7.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
3.1b
(/.f64 (/.f64 1 x) (*.f64 y (+.f64 1 (*.f64 z z))))
5.2b
(*.f64 y (+.f64 1 (*.f64 z z)))

series85.0ms (2%)

Counts
2 → 60
Calls

15 calls:

14.0ms
(/.f64 (/.f64 1 x) (*.f64 y (+.f64 1 (*.f64 z z))))
y
0
14.0ms
(/.f64 (/.f64 1 x) (*.f64 y (+.f64 1 (*.f64 z z))))
x
0
11.0ms
(/.f64 (/.f64 1 x) (*.f64 y (+.f64 1 (*.f64 z z))))
x
-inf
11.0ms
(/.f64 (/.f64 1 x) (*.f64 y (+.f64 1 (*.f64 z z))))
y
-inf
10.0ms
(/.f64 (/.f64 1 x) (*.f64 y (+.f64 1 (*.f64 z z))))
x
inf

rewrite56.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
289×prod-diff_binary64
220×fma-def_binary64
187×expm1-udef_binary64
187×log1p-udef_binary64
161×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01026
122122
2314822
Stop Event
node limit
Counts
2 → 98

simplify51.0ms (1.2%)

Algorithm
egg-herbie
Rules
671×times-frac_binary64
428×distribute-neg-frac_binary64
318×associate-/l*_binary64
199×sub-neg_binary64
189×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
055993
1151903
2366901
31295897
44292897
Stop Event
node limit
Counts
158 → 124

prune119.0ms (2.8%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New11410124
Fresh011
Picked101
Done000
Total11511126
Error
0.0b
Counts
126 → 11
Alt Table
StatusErrorProgram
6.2b
(/.f64 1 (*.f64 x (*.f64 y (fma.f64 z z 1))))
49.2b
(*.f64 (/.f64 (pow.f64 x -1/2) (pow.f64 (cbrt.f64 (*.f64 y (fma.f64 z z 1))) 2)) (/.f64 (pow.f64 x -1/2) (cbrt.f64 (*.f64 y (fma.f64 z z 1)))))
6.3b
(/.f64 (/.f64 1 (*.f64 y x)) (fma.f64 z z 1))
5.4b
(*.f64 (/.f64 1 y) (/.f64 (/.f64 1 x) (fma.f64 z z 1)))
32.1b
(/.f64 (/.f64 1 x) (*.f64 z (*.f64 y z)))
9.7b
(/.f64 (/.f64 1 x) (fma.f64 (*.f64 y (cbrt.f64 (pow.f64 z 4))) (pow.f64 (cbrt.f64 z) 2) y))
5.9b
(/.f64 (/.f64 1 x) (fma.f64 y (*.f64 z z) y))
30.1b
(/.f64 (/.f64 (/.f64 1 y) z) (*.f64 z x))
16.1b
(*.f64 (/.f64 1 (*.f64 (sqrt.f64 y) (hypot.f64 1 z))) (/.f64 (/.f64 1 x) (*.f64 (sqrt.f64 y) (hypot.f64 1 z))))
5.7b
(*.f64 1 (/.f64 (/.f64 (/.f64 1 y) (fma.f64 z z 1)) x))
15.4b
(/.f64 (/.f64 1 x) (fma.f64 (cbrt.f64 y) (cbrt.f64 (*.f64 y y)) (*.f64 y (*.f64 z z))))
Compiler

Compiled 2296 to 1344 computations (41.5% saved)

localize8.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
2.9b
(*.f64 (/.f64 1 y) (/.f64 (/.f64 1 x) (fma.f64 z z 1)))
3.8b
(/.f64 (/.f64 1 x) (fma.f64 z z 1))

series117.0ms (2.7%)

Counts
2 → 60
Calls

15 calls:

14.0ms
(*.f64 (/.f64 1 y) (/.f64 (/.f64 1 x) (fma.f64 z z 1)))
x
inf
13.0ms
(*.f64 (/.f64 1 y) (/.f64 (/.f64 1 x) (fma.f64 z z 1)))
y
inf
12.0ms
(/.f64 (/.f64 1 x) (fma.f64 z z 1))
x
inf
11.0ms
(*.f64 (/.f64 1 y) (/.f64 (/.f64 1 x) (fma.f64 z z 1)))
y
0
11.0ms
(*.f64 (/.f64 1 y) (/.f64 (/.f64 1 x) (fma.f64 z z 1)))
y
-inf

rewrite53.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
540×log-prod_binary64
185×expm1-udef_binary64
185×log1p-udef_binary64
175×log-div_binary64
165×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
121325
2294325
Stop Event
node limit
Counts
2 → 92

simplify44.0ms (1%)

Algorithm
egg-herbie
Rules
682×times-frac_binary64
343×associate-/l*_binary64
295×associate-/l/_binary64
282×fma-def_binary64
177×associate-/r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0731146
11971146
24911144
315801134
Stop Event
node limit
Counts
152 → 130

prune113.0ms (2.7%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1273130
Fresh5510
Picked101
Done000
Total1338141
Error
0b
Counts
141 → 8
Alt Table
StatusErrorProgram
6.1b
(/.f64 (/.f64 (/.f64 1 (*.f64 x (fma.f64 z z 1))) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))
16.1b
(*.f64 (/.f64 1 (*.f64 (sqrt.f64 y) (hypot.f64 1 z))) (/.f64 (/.f64 1 x) (*.f64 (sqrt.f64 y) (hypot.f64 1 z))))
31.9b
(/.f64 (/.f64 (/.f64 (/.f64 1 x) z) z) y)
15.4b
(/.f64 (/.f64 1 x) (fma.f64 (cbrt.f64 y) (cbrt.f64 (*.f64 y y)) (*.f64 y (*.f64 z z))))
30.1b
(/.f64 (/.f64 (/.f64 1 y) z) (*.f64 z x))
3.4b
(/.f64 (/.f64 (/.f64 1 (*.f64 y x)) (hypot.f64 1 z)) (hypot.f64 1 z))
5.7b
(*.f64 1 (/.f64 (/.f64 (/.f64 1 y) (fma.f64 z z 1)) x))
5.9b
(/.f64 (/.f64 1 x) (fma.f64 y (*.f64 z z) y))
Compiler

Compiled 2364 to 1491 computations (36.9% saved)

localize7.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 1 z)
0.5b
(/.f64 1 (*.f64 y x))
0.6b
(/.f64 (/.f64 (/.f64 1 (*.f64 y x)) (hypot.f64 1 z)) (hypot.f64 1 z))
2.4b
(/.f64 (/.f64 1 (*.f64 y x)) (hypot.f64 1 z))

series204.0ms (4.8%)

Counts
4 → 84
Calls

27 calls:

20.0ms
(/.f64 (/.f64 (/.f64 1 (*.f64 y x)) (hypot.f64 1 z)) (hypot.f64 1 z))
x
-inf
19.0ms
(/.f64 (/.f64 (/.f64 1 (*.f64 y x)) (hypot.f64 1 z)) (hypot.f64 1 z))
x
0
17.0ms
(/.f64 (/.f64 (/.f64 1 (*.f64 y x)) (hypot.f64 1 z)) (hypot.f64 1 z))
y
0
16.0ms
(/.f64 (/.f64 1 (*.f64 y x)) (hypot.f64 1 z))
y
0
16.0ms
(/.f64 (/.f64 1 (*.f64 y x)) (hypot.f64 1 z))
x
inf

rewrite57.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
557×log-prod_binary64
185×expm1-udef_binary64
185×log1p-udef_binary64
177×log-div_binary64
163×log-pow_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01043
121240
2289638
Stop Event
node limit
Counts
4 → 129

simplify57.0ms (1.3%)

Algorithm
egg-herbie
Rules
631×fma-neg_binary64
432×associate-/r*_binary64
275×sub-neg_binary64
260×fma-def_binary64
244×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01241758
13751628
211061616
341551616
Stop Event
node limit
Counts
213 → 195

prune234.0ms (5.5%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2372239
Fresh257
Picked011
Done000
Total2398247
Error
0b
Counts
247 → 8
Alt Table
StatusErrorProgram
6.1b
(/.f64 (/.f64 (/.f64 1 (*.f64 x (fma.f64 z z 1))) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))
16.1b
(*.f64 (/.f64 1 (*.f64 (sqrt.f64 y) (hypot.f64 1 z))) (/.f64 (/.f64 1 x) (*.f64 (sqrt.f64 y) (hypot.f64 1 z))))
30.1b
(/.f64 (/.f64 (/.f64 1 y) z) (*.f64 z x))
3.4b
(/.f64 (/.f64 (/.f64 1 (*.f64 y x)) (hypot.f64 1 z)) (hypot.f64 1 z))
3.6b
(/.f64 1 (*.f64 y (fma.f64 z (*.f64 x z) x)))
5.7b
(*.f64 1 (/.f64 (/.f64 (/.f64 1 y) (fma.f64 z z 1)) x))
6.1b
(*.f64 (/.f64 (/.f64 1 y) x) (*.f64 (/.f64 1 (hypot.f64 1 z)) (/.f64 1 (hypot.f64 1 z))))
15.4b
(/.f64 (/.f64 1 x) (fma.f64 (cbrt.f64 y) (cbrt.f64 (*.f64 y y)) (*.f64 y (*.f64 z z))))
Compiler

Compiled 4930 to 3247 computations (34.1% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 z (*.f64 x z) x)
0.8b
(/.f64 1 (*.f64 y (fma.f64 z (*.f64 x z) x)))
2.8b
(*.f64 y (fma.f64 z (*.f64 x z) x))

series104.0ms (2.4%)

Counts
3 → 96
Calls

24 calls:

16.0ms
(/.f64 1 (*.f64 y (fma.f64 z (*.f64 x z) x)))
x
-inf
14.0ms
(/.f64 1 (*.f64 y (fma.f64 z (*.f64 x z) x)))
y
-inf
11.0ms
(/.f64 1 (*.f64 y (fma.f64 z (*.f64 x z) x)))
y
0
10.0ms
(/.f64 1 (*.f64 y (fma.f64 z (*.f64 x z) x)))
y
inf
10.0ms
(/.f64 1 (*.f64 y (fma.f64 z (*.f64 x z) x)))
x
0

rewrite54.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
855×pow1_binary64
784×log1p-expm1-u_binary64
784×expm1-log1p-u_binary64
89×add-sqr-sqrt_binary64
87×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0933
117933
2217033
Stop Event
node limit
Counts
3 → 73

simplify59.0ms (1.4%)

Algorithm
egg-herbie
Rules
555×times-frac_binary64
418×distribute-neg-frac_binary64
299×associate-/l*_binary64
199×sub-neg_binary64
195×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0551290
11461290
23691288
312301284
439961284
Stop Event
node limit
Counts
169 → 108

prune80.0ms (1.9%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New1080108
Fresh066
Picked011
Done011
Total1088116
Error
0b
Counts
116 → 8
Alt Table
StatusErrorProgram
6.1b
(/.f64 (/.f64 (/.f64 1 (*.f64 x (fma.f64 z z 1))) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))
16.1b
(*.f64 (/.f64 1 (*.f64 (sqrt.f64 y) (hypot.f64 1 z))) (/.f64 (/.f64 1 x) (*.f64 (sqrt.f64 y) (hypot.f64 1 z))))
30.1b
(/.f64 (/.f64 (/.f64 1 y) z) (*.f64 z x))
3.4b
(/.f64 (/.f64 (/.f64 1 (*.f64 y x)) (hypot.f64 1 z)) (hypot.f64 1 z))
3.6b
(/.f64 1 (*.f64 y (fma.f64 z (*.f64 x z) x)))
5.7b
(*.f64 1 (/.f64 (/.f64 (/.f64 1 y) (fma.f64 z z 1)) x))
6.1b
(*.f64 (/.f64 (/.f64 1 y) x) (*.f64 (/.f64 1 (hypot.f64 1 z)) (/.f64 1 (hypot.f64 1 z))))
15.4b
(/.f64 (/.f64 1 x) (fma.f64 (cbrt.f64 y) (cbrt.f64 (*.f64 y y)) (*.f64 y (*.f64 z z))))
Compiler

Compiled 1704 to 759 computations (55.5% saved)

regimes1.1s (25.5%)

Accuracy

Total 1.2b remaining (97.4%)

Threshold costs 0b (0%)

Counts
98 → 2
Compiler

Compiled 12788 to 9142 computations (28.5% saved)

bsearch3.0ms (0.1%)

Algorithm
left-value
Calls

1 calls:

0.0ms
(*.f64 y (+.f64 1 (*.f64 z z)))
Steps
ItersPointRange
6.67452746661305e-205
∈ [
6.67452746661305e-205
,
6.165961092156804e-171
]
Compiler

Compiled 10 to 7 computations (30% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02566
13266
Stop Event
saturated

end267.0ms (6.3%)

Stop Event
fuel
Compiler

Compiled 324 to 232 computations (28.4% saved)

Profiling

Loading profile data...