Details

Time bar (total: 4.8s)

analyze461.0ms (9.7%)

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
37.4%62.4%0.1%7
56.2%43.7%0.1%8
56.2%43.7%0.1%9
65.5%34.3%0.1%10
76.5%23.4%0.1%11
76.5%23.4%0.1%12
81.9%17.9%0.1%13
87.8%12.1%0.1%14
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample2.9s (59.9%)

Results
1.5s2175×body1024valid
740.0ms4538×body128valid
414.0ms1020×body512valid
153.0ms521×body256valid
3.0msbody2048valid
Compiler

Compiled 26 to 18 computations (30.8% saved)

preprocess19.0ms (0.4%)

Algorithm
egg-herbie
Rules
16×fma-def_binary64
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02248
13848
25048
033
Stop Event
saturated
saturated
Compiler

Compiled 12 to 8 computations (33.3% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0912
11312
21612
Stop Event
saturated
Counts
1 → 2

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.1b
(fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))
Compiler

Compiled 42 to 23 computations (45.2% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))
0.1b
(*.f64 z (sin.f64 y))

series24.0ms (0.5%)

Counts
2 → 60
Calls

15 calls:

5.0ms
(fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))
z
0
2.0ms
(fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))
z
inf
2.0ms
(fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))
z
-inf
2.0ms
(fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))
x
-inf
2.0ms
(fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))
x
inf

rewrite39.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
689×log1p-expm1-u_binary64
689×expm1-log1p-u_binary64
201×prod-diff_binary64
147×log1p-udef_binary64
81×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0818
115618
2186918
Stop Event
node limit
Counts
2 → 38

simplify42.0ms (0.9%)

Algorithm
egg-herbie
Rules
609×distribute-rgt-neg-in_binary64
502×associate-*l*_binary64
420×fma-neg_binary64
410×associate-*r*_binary64
226×sub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
039600
1117592
2353580
31244579
43964579
Stop Event
node limit
Counts
98 → 56

prune37.0ms (0.8%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New50656
Fresh000
Picked011
Done000
Total50757
Error
0.1b
Counts
57 → 7
Alt Table
StatusErrorProgram
0.1b
(fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))
1.4b
(pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 3)
0.1b
(fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x))
36.3b
(pow.f64 (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 2)
29.0b
(/.f64 (-.f64 (*.f64 (*.f64 x (cos.f64 y)) (*.f64 x (cos.f64 y))) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))
40.8b
(/.f64 (+.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (+.f64 (*.f64 (*.f64 x (cos.f64 y)) (*.f64 x (cos.f64 y))) (-.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (*.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))
18.7b
(fma.f64 x (cos.f64 y) (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
Compiler

Compiled 982 to 396 computations (59.7% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x))
0.1b
(*.f64 (cos.f64 y) x)

series21.0ms (0.4%)

Counts
2 → 40
Calls

15 calls:

2.0ms
(fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x))
y
0
2.0ms
(fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x))
z
inf
2.0ms
(fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x))
x
-inf
2.0ms
(fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x))
z
0
2.0ms
(fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x))
z
-inf

rewrite37.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
689×log1p-expm1-u_binary64
689×expm1-log1p-u_binary64
201×prod-diff_binary64
147×log1p-udef_binary64
81×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0818
115618
2186918
Stop Event
node limit
Counts
2 → 38

simplify36.0ms (0.7%)

Algorithm
egg-herbie
Rules
739×cancel-sign-sub-inv_binary64
698×fma-def_binary64
361×fma-neg_binary64
271×sub-neg_binary64
240×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
039468
1107467
2324457
31258450
44705450
Stop Event
node limit
Counts
78 → 56

prune41.0ms (0.9%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New55156
Fresh145
Picked101
Done011
Total57663
Error
0.1b
Counts
63 → 6
Alt Table
StatusErrorProgram
0.9b
(fma.f64 (sin.f64 y) z (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) x)) 3))
36.3b
(pow.f64 (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 2)
0.1b
(fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))
29.0b
(/.f64 (-.f64 (*.f64 (*.f64 x (cos.f64 y)) (*.f64 x (cos.f64 y))) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))
40.8b
(/.f64 (+.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (+.f64 (*.f64 (*.f64 x (cos.f64 y)) (*.f64 x (cos.f64 y))) (-.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (*.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))
18.7b
(fma.f64 x (cos.f64 y) (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
Compiler

Compiled 943 to 376 computations (60.1% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 (sin.f64 y) z (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) x)) 3))
0.1b
(*.f64 (cos.f64 y) x)
0.6b
(cbrt.f64 (*.f64 (cos.f64 y) x))
0.7b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) x)) 3)

series256.0ms (5.4%)

Counts
3 → 51
Calls

21 calls:

27.0ms
(fma.f64 (sin.f64 y) z (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) x)) 3))
y
-inf
26.0ms
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) x)) 3)
y
-inf
26.0ms
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) x)) 3)
y
inf
26.0ms
(fma.f64 (sin.f64 y) z (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) x)) 3))
y
inf
23.0ms
(cbrt.f64 (*.f64 (cos.f64 y) x))
y
-inf

rewrite51.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
863×log1p-expm1-u_binary64
863×expm1-log1p-u_binary64
297×prod-diff_binary64
100×add-sqr-sqrt_binary64
93×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01126
121926
2238826
Stop Event
node limit
Counts
3 → 82

simplify33.0ms (0.7%)

Algorithm
egg-herbie
Rules
692×fma-neg_binary64
471×distribute-rgt-neg-in_binary64
468×distribute-lft-neg-in_binary64
278×associate-*r*_binary64
260×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
056562
1163555
2532536
32452531
Stop Event
node limit
Counts
133 → 107

prune95.0ms (2%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New1245129
Fresh134
Picked011
Done011
Total12510135
Error
0.1b
Counts
135 → 10
Alt Table
StatusErrorProgram
0.4b
(fma.f64 (sin.f64 y) z (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x)))
0.9b
(fma.f64 (sin.f64 y) z (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) x)) 3))
36.3b
(pow.f64 (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 2)
0.1b
(fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))
29.0b
(/.f64 (-.f64 (*.f64 (*.f64 x (cos.f64 y)) (*.f64 x (cos.f64 y))) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))
40.8b
(/.f64 (+.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (+.f64 (*.f64 (*.f64 x (cos.f64 y)) (*.f64 x (cos.f64 y))) (-.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (*.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))
29.4b
(*.f64 (cbrt.f64 (fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x))) (cbrt.f64 (pow.f64 (fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x)) 2)))
18.8b
(fma.f64 (sin.f64 y) z (*.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 y) x) 2)) (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 y) x) 2)))) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) x)))))
0.9b
(fma.f64 (sin.f64 y) z (*.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)))
36.2b
(fma.f64 (sin.f64 y) z (*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y))))
Compiler

Compiled 2355 to 1031 computations (56.2% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cbrt.f64 (cos.f64 y)) x)
0.2b
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x))
0.3b
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
0.3b
(cbrt.f64 (cos.f64 y))

series180.0ms (3.8%)

Counts
4 → 72
Calls

18 calls:

20.0ms
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
y
-inf
20.0ms
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
y
inf
20.0ms
(cbrt.f64 (cos.f64 y))
y
-inf
20.0ms
(*.f64 (cbrt.f64 (cos.f64 y)) x)
y
-inf
19.0ms
(*.f64 (cbrt.f64 (cos.f64 y)) x)
x
0

rewrite46.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
708×log1p-expm1-u_binary64
708×expm1-log1p-u_binary64
147×expm1-udef_binary64
147×log1p-udef_binary64
85×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0927
117927
2203827
Stop Event
node limit
Counts
4 → 72

simplify34.0ms (0.7%)

Algorithm
egg-herbie
Rules
654×fma-neg_binary64
275×distribute-rgt-neg-in_binary64
270×distribute-lft-neg-in_binary64
252×fma-def_binary64
226×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
063628
1187621
2572604
32237602
Stop Event
node limit
Counts
144 → 103

prune137.0ms (2.9%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New1331134
Fresh257
Picked011
Done022
Total1359144
Error
0.1b
Counts
144 → 9
Alt Table
StatusErrorProgram
0.4b
(fma.f64 (sin.f64 y) z (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x)))
0.9b
(fma.f64 (sin.f64 y) z (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) x)) 3))
0.3b
(fma.f64 (sin.f64 y) z (*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) (*.f64 (cbrt.f64 (cos.f64 y)) x)))
36.3b
(pow.f64 (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 2)
0.1b
(fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))
29.0b
(/.f64 (-.f64 (*.f64 (*.f64 x (cos.f64 y)) (*.f64 x (cos.f64 y))) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))
29.4b
(*.f64 (cbrt.f64 (fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x))) (cbrt.f64 (pow.f64 (fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x)) 2)))
18.8b
(fma.f64 (sin.f64 y) z (*.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 y) x) 2)) (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 y) x) 2)))) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) x)))))
0.9b
(fma.f64 (sin.f64 y) z (*.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)))
Compiler

Compiled 2658 to 1170 computations (56% saved)

regimes154.0ms (3.2%)

Accuracy

Total 0.1b remaining (51.8%)

Threshold costs 0.1b (51.8%)

Counts
41 → 1
Compiler

Compiled 2560 to 1570 computations (38.7% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0812
1912
Stop Event
saturated

end126.0ms (2.6%)

Stop Event
fuel
Compiler

Compiled 197 to 118 computations (40.1% saved)

Profiling

Loading profile data...