Details

Time bar (total: 7.3s)

analyze663.0ms (9.1%)

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
6.2%93.6%0.1%6
12.5%87.4%0.1%7
15.6%84.3%0.1%8
18.7%71.8%9.5%9
23.4%56%20.6%10
26.3%52.2%21.5%11
31%40.1%28.9%12
35.6%28.9%35.5%13
36.8%27.5%35.7%14
Compiler

Compiled 18 to 12 computations (33.3% saved)

sample1.3s (17.9%)

Results
1.0s8256×body128valid
267.0ms2308×body128invalid
Compiler

Compiled 36 to 24 computations (33.3% saved)

preprocess29.0ms (0.4%)

Algorithm
egg-herbie
Rules
25×fma-def_binary64
11×*-commutative_binary64
10×+-commutative_binary64
associate-+l+_binary64
distribute-lft-out_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02772
15864
28464
38764
033
133
Stop Event
unsound
saturated
Symmetry

(sort x y z)

Compiler

Compiled 17 to 11 computations (35.3% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Rules
25×fma-def_binary64
+-commutative_binary64
*-commutative_binary64
distribute-rgt-out_binary64
associate-+r+_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01218
12316
24516
36416
46916
57016
Stop Event
saturated
Counts
1 → 2

prune4.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
20.2b
Counts
3 → 1
Alt Table
StatusErrorProgram
20.2b
(*.f64 2 (sqrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y)))))
Compiler

Compiled 56 to 35 computations (37.5% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 z (+.f64 x y))
0.7b
(fma.f64 x y (*.f64 z (+.f64 x y)))
19.0b
(sqrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y))))

series122.0ms (1.7%)

Counts
3 → 84
Calls

27 calls:

19.0ms
(sqrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y))))
x
inf
18.0ms
(sqrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y))))
x
-inf
17.0ms
(sqrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y))))
z
-inf
16.0ms
(sqrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y))))
z
inf
15.0ms
(sqrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y))))
y
-inf

rewrite52.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
887×expm1-log1p-u_binary64
858×prod-diff_binary64
89×add-sqr-sqrt_binary64
85×log1p-expm1-u_binary64
84×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0831
117431
2242231
Stop Event
node limit
Counts
3 → 78

simplify43.0ms (0.6%)

Algorithm
egg-herbie
Rules
605×cancel-sign-sub-inv_binary64
591×associate-*l*_binary64
528×associate-*r*_binary64
194×fma-def_binary64
174×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01901448
15251389
218981344
Stop Event
node limit
Counts
162 → 109

prune104.0ms (1.4%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New9811109
Fresh000
Picked101
Done000
Total9911110
Error
19.6b
Counts
110 → 11
Alt Table
StatusErrorProgram
20.3b
(*.f64 2 (sqrt.f64 (*.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) (*.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) (sqrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y))))))))
43.0b
(*.f64 2 (sqrt.f64 (*.f64 y z)))
44.2b
(*.f64 2 (fma.f64 1/2 (*.f64 z (+.f64 (sqrt.f64 (/.f64 x y)) (sqrt.f64 (/.f64 y x)))) (sqrt.f64 (*.f64 y x))))
33.9b
(*.f64 2 (cbrt.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 3/2)))
20.4b
(*.f64 2 (pow.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) 2))
63.4b
(*.f64 2 (+.f64 (sqrt.f64 (*.f64 z x)) (*.f64 y (*.f64 1/2 (+.f64 (sqrt.f64 (/.f64 z x)) (sqrt.f64 (/.f64 x z)))))))
45.8b
(*.f64 2 (sqrt.f64 (fma.f64 x y (/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) z) (fma.f64 x x (*.f64 y (-.f64 y x)))))))
20.6b
(*.f64 2 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y)))) 3)))
20.7b
(*.f64 2 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y))))) (cbrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y))))))
42.1b
(*.f64 2 (sqrt.f64 (*.f64 z (+.f64 y x))))
40.0b
(*.f64 2 (sqrt.f64 (*.f64 (+.f64 y z) x)))
Compiler

Compiled 3003 to 1496 computations (50.2% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.7b
(fma.f64 x y (*.f64 z (+.f64 x y)))
19.0b
(sqrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y))))
19.0b
(sqrt.f64 (*.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) (*.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) (sqrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y)))))))
19.3b
(pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4)

series163.0ms (2.2%)

Counts
2 → 48
Calls

18 calls:

20.0ms
(sqrt.f64 (*.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) (*.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) (sqrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y)))))))
x
inf
20.0ms
(sqrt.f64 (*.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) (*.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) (sqrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y)))))))
x
-inf
15.0ms
(sqrt.f64 (*.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) (*.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) (sqrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y)))))))
z
-inf
15.0ms
(sqrt.f64 (*.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) (*.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) (sqrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y)))))))
z
inf
14.0ms
(sqrt.f64 (*.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) (*.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) (sqrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y)))))))
y
inf

rewrite49.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
858×prod-diff_binary64
131×log1p-expm1-u_binary64
131×expm1-log1p-u_binary64
129×add-cbrt-cube_binary64
128×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01361
128227
2351527
Stop Event
node limit
Counts
2 → 47

simplify61.0ms (0.8%)

Algorithm
egg-herbie
Rules
444×fma-def_binary64
429×associate-*l*_binary64
385×times-frac_binary64
317×associate-/r*_binary64
244×associate-/l*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05133974
116453773
Stop Event
node limit
Counts
95 → 137

prune493.0ms (6.8%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New3831384
Fresh01010
Picked011
Done000
Total38312395
Error
19.6b
Counts
395 → 12
Alt Table
StatusErrorProgram
20.3b
(*.f64 2 (sqrt.f64 (*.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) (*.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) (sqrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y))))))))
43.0b
(*.f64 2 (sqrt.f64 (*.f64 y z)))
44.2b
(*.f64 2 (fma.f64 1/2 (*.f64 z (+.f64 (sqrt.f64 (/.f64 x y)) (sqrt.f64 (/.f64 y x)))) (sqrt.f64 (*.f64 y x))))
33.9b
(*.f64 2 (cbrt.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 3/2)))
20.4b
(*.f64 2 (pow.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) 2))
63.4b
(*.f64 2 (+.f64 (sqrt.f64 (*.f64 z x)) (*.f64 y (*.f64 1/2 (+.f64 (sqrt.f64 (/.f64 z x)) (sqrt.f64 (/.f64 x z)))))))
45.8b
(*.f64 2 (sqrt.f64 (fma.f64 x y (/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) z) (fma.f64 x x (*.f64 y (-.f64 y x)))))))
20.3b
(*.f64 2 (*.f64 (sqrt.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 3/4)) (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/8)))
20.6b
(*.f64 2 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y)))) 3)))
20.7b
(*.f64 2 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y))))) (cbrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y))))))
42.1b
(*.f64 2 (sqrt.f64 (*.f64 z (+.f64 y x))))
40.0b
(*.f64 2 (sqrt.f64 (*.f64 (+.f64 y z) x)))
Compiler

Compiled 22044 to 9703 computations (56% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.7b
(fma.f64 x y (*.f64 z (+.f64 x y)))
9.4b
(sqrt.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 3/4))
9.7b
(pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 3/4)
19.4b
(pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/8)

series420.0ms (5.8%)

Counts
3 → 108
Calls

27 calls:

87.0ms
(sqrt.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 3/4))
y
inf
45.0ms
(sqrt.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 3/4))
y
-inf
43.0ms
(sqrt.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 3/4))
z
inf
41.0ms
(sqrt.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 3/4))
z
-inf
40.0ms
(sqrt.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 3/4))
x
inf

rewrite57.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
858×prod-diff_binary64
129×add-sqr-sqrt_binary64
127×log1p-expm1-u_binary64
127×expm1-log1p-u_binary64
124×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01242
126642
2339042
Stop Event
node limit
Counts
3 → 66

simplify156.0ms (2.2%)

Algorithm
egg-herbie
Rules
683×*-commutative_binary64
286×fma-def_binary64
255×associate-*r*_binary64
247×associate-+r+_binary64
201×associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0155719557
Stop Event
node limit
Counts
174 → 277

prune789.0ms (10.9%)

Pruning

14 alts after pruning (12 fresh and 2 done)

PrunedKeptTotal
New3512353
Fresh01010
Picked011
Done011
Total35114365
Error
19.6b
Counts
365 → 14
Alt Table
StatusErrorProgram
20.3b
(*.f64 2 (sqrt.f64 (*.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) (*.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) (sqrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y))))))))
43.0b
(*.f64 2 (sqrt.f64 (*.f64 y z)))
42.1b
(*.f64 2 (sqrt.f64 (*.f64 z (+.f64 y x))))
45.4b
(*.f64 2 (*.f64 (sqrt.f64 (exp.f64 (*.f64 3/4 (-.f64 (log.f64 (+.f64 z x)) (log.f64 (/.f64 1 y)))))) (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/8)))
44.2b
(*.f64 2 (fma.f64 1/2 (*.f64 z (+.f64 (sqrt.f64 (/.f64 x y)) (sqrt.f64 (/.f64 y x)))) (sqrt.f64 (*.f64 y x))))
33.9b
(*.f64 2 (cbrt.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 3/2)))
20.4b
(*.f64 2 (pow.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) 2))
63.4b
(*.f64 2 (+.f64 (sqrt.f64 (*.f64 z x)) (*.f64 y (*.f64 1/2 (+.f64 (sqrt.f64 (/.f64 z x)) (sqrt.f64 (/.f64 x z)))))))
45.8b
(*.f64 2 (sqrt.f64 (fma.f64 x y (/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) z) (fma.f64 x x (*.f64 y (-.f64 y x)))))))
20.3b
(*.f64 2 (*.f64 (sqrt.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 3/4)) (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/8)))
20.5b
(*.f64 2 (*.f64 (sqrt.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 3/4)) (cbrt.f64 (pow.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/8) 3))))
20.6b
(*.f64 2 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y)))) 3)))
20.7b
(*.f64 2 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y))))) (cbrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y))))))
40.0b
(*.f64 2 (sqrt.f64 (*.f64 (+.f64 y z) x)))
Compiler

Compiled 33647 to 20232 computations (39.9% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 z (+.f64 x y))
0.6b
(pow.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) 2)
0.7b
(fma.f64 x y (*.f64 z (+.f64 x y)))
19.3b
(pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4)

series72.0ms (1%)

Counts
1 → 36
Calls

9 calls:

9.0ms
(pow.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) 2)
x
inf
9.0ms
(pow.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) 2)
y
0
8.0ms
(pow.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) 2)
z
-inf
8.0ms
(pow.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) 2)
z
0
8.0ms
(pow.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) 2)
z
inf

rewrite43.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
858×prod-diff_binary64
198×log1p-udef_binary64
116×log1p-expm1-u_binary64
116×expm1-log1p-u_binary64
114×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01114
124613
2307313
Stop Event
node limit
Counts
1 → 23

simplify50.0ms (0.7%)

Algorithm
egg-herbie
Rules
411×associate-*r*_binary64
374×times-frac_binary64
284×associate-*l*_binary64
268×fma-def_binary64
259×associate-/r*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03493127
111322986
Stop Event
node limit
Counts
59 → 92

prune250.0ms (3.4%)

Pruning

13 alts after pruning (11 fresh and 2 done)

PrunedKeptTotal
New2424246
Fresh4711
Picked101
Done022
Total24713260
Error
2.1b
Counts
260 → 13
Alt Table
StatusErrorProgram
20.5b
(*.f64 2 (*.f64 (sqrt.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 3/4)) (cbrt.f64 (pow.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/8) 3))))
20.7b
(*.f64 2 (pow.f64 (*.f64 (sqrt.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/8)) (sqrt.f64 (sqrt.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 3/4)))) 2))
20.3b
(*.f64 2 (sqrt.f64 (*.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) (*.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/4) (sqrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y))))))))
36.4b
(*.f64 2 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (+.f64 y x)) (log.f64 z))) 2))
20.7b
(*.f64 2 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y))))) (cbrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y))))))
35.2b
(*.f64 2 (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (+.f64 y x)) (log.f64 (/.f64 1 z))))) 2))
34.6b
(*.f64 2 (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (neg.f64 (+.f64 y z))) (log.f64 (/.f64 -1 x))))) 2))
33.9b
(*.f64 2 (cbrt.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 3/2)))
45.8b
(*.f64 2 (sqrt.f64 (fma.f64 x y (/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) z) (fma.f64 x x (*.f64 y (-.f64 y x)))))))
20.3b
(*.f64 2 (*.f64 (sqrt.f64 (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 3/4)) (pow.f64 (fma.f64 x y (*.f64 z (+.f64 x y))) 1/8)))
20.6b
(*.f64 2 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x y (*.f64 z (+.f64 x y)))) 3)))
42.1b
(*.f64 2 (sqrt.f64 (*.f64 z (+.f64 y x))))
40.0b
(*.f64 2 (sqrt.f64 (*.f64 (+.f64 y z) x)))
Compiler

Compiled 10853 to 6199 computations (42.9% saved)

regimes1.5s (21.3%)

Accuracy

Total 2.8b remaining (57.3%)

Threshold costs 0b (0%)

Counts
127 → 3
Compiler

Compiled 17509 to 11467 computations (34.5% saved)

bsearch103.0ms (1.4%)

Algorithm
binary-search
Calls

2 calls:

61.0ms
y
37.0ms
y
Steps
ItersPointRange
3.601789196561438e+44
∈ [
1550482890907.868
,
3.695544278753105e+44
]
-1.9577927008408278e+42
∈ [
-1.9895636337920788e+42
,
-2.63034242594552e+41
]
Compiler

Compiled 4 to 3 computations (25% saved)

simplify4.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
03980
15880
27280
38280
48680
Stop Event
saturated

end631.0ms (8.7%)

Stop Event
fuel
Compiler

Compiled 508 to 344 computations (32.3% saved)

Profiling

Loading profile data...