Details

Time bar (total: 5.1s)

analyze371.0ms (7.2%)

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
49.9%49.9%0.1%7
56.2%43.7%0.1%8
56.2%43.7%0.1%9
71.8%28.1%0.1%10
76.5%23.4%0.1%11
76.5%23.4%0.1%12
85%14.8%0.1%13
87.8%12.1%0.1%14
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample89.0ms (1.7%)

Algorithm
intervals
Results
37.0ms67×body1024valid
13.0ms137×body128valid
9.0ms36×body512valid
2.0ms15×body256valid
1.0msbody2048valid
Compiler

Compiled 28 to 20 computations (28.6% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
+-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0912
11312
21612
31612

prune4.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 44 to 25 computations (43.2% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series32.0ms (0.6%)

Counts
4 → 88
Calls

4 calls:

15.0ms
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
8.0ms
(*.f64 z (cos.f64 y))
7.0ms
(*.f64 x (sin.f64 y))
2.0ms
(sin.f64 y)

rewrite14.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
4 → 63
Calls

4 calls:

5.0ms
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
3.0ms
(*.f64 z (cos.f64 y))
3.0ms
(*.f64 x (sin.f64 y))
1.0ms
(sin.f64 y)

simplify87.0ms (1.7%)

Algorithm
egg-herbie
Rules
646×fma-neg_binary64
554×fma-def_binary64
451×sub-neg_binary64
329×cancel-sign-sub-inv_binary64
285×*-commutative_binary64
Counts
151 → 122
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01431530
13671479
211531452
325131452
447601452
551721452

prune97.0ms (1.9%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New10913122
Fresh000
Picked101
Done000
Total11013123
Error
0.0b
Counts
123 → 13
Alt Table
StatusErrorProgram
4.1b
(+.f64 (*.f64 x (cbrt.f64 (*.f64 (*.f64 (sin.f64 y) (sin.f64 y)) (sin.f64 y)))) (*.f64 z (cos.f64 y)))
31.8b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (sqrt.f64 (*.f64 z (cos.f64 y))) (sqrt.f64 (*.f64 z (cos.f64 y)))))
29.8b
(+.f64 (*.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y))) (*.f64 z (cos.f64 y)))
27.3b
(+.f64 (*.f64 x (sin.f64 y)) (cbrt.f64 (*.f64 (*.f64 (*.f64 z z) z) (*.f64 (*.f64 (cos.f64 y) (cos.f64 y)) (cos.f64 y)))))
17.4b
(+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) (*.f64 z (cos.f64 y)))
17.7b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (*.f64 z (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y))))
0.5b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (*.f64 z (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))) (cbrt.f64 (cos.f64 y))))
36.3b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (cos.f64 y))))
0.9b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (*.f64 (cbrt.f64 z) (cbrt.f64 z)) (*.f64 (cbrt.f64 z) (cos.f64 y))))
0.2b
(+.f64 (*.f64 x (log1p.f64 (expm1.f64 (sin.f64 y)))) (*.f64 z (cos.f64 y)))
0.6b
(+.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 x) (sin.f64 y))) (*.f64 z (cos.f64 y)))
29.0b
(+.f64 (*.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) (sqrt.f64 (*.f64 x (sin.f64 y)))) (*.f64 z (cos.f64 y)))
0.6b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (cbrt.f64 (*.f64 x (sin.f64 y)))) (cbrt.f64 (*.f64 x (sin.f64 y)))) (*.f64 z (cos.f64 y)))
Compiler

Compiled 2321 to 837 computations (63.9% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(expm1.f64 (sin.f64 y))
0.1b
(*.f64 x (log1p.f64 (expm1.f64 (sin.f64 y))))
0.1b
(*.f64 z (cos.f64 y))
0.2b
(log1p.f64 (expm1.f64 (sin.f64 y)))

series12.0ms (0.2%)

Counts
3 → 48
Calls

3 calls:

8.0ms
(*.f64 x (log1p.f64 (expm1.f64 (sin.f64 y))))
2.0ms
(expm1.f64 (sin.f64 y))
2.0ms
(log1p.f64 (expm1.f64 (sin.f64 y)))

rewrite5.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
3 → 42
Calls

3 calls:

3.0ms
(*.f64 x (log1p.f64 (expm1.f64 (sin.f64 y))))
0.0ms
(expm1.f64 (sin.f64 y))
0.0ms
(log1p.f64 (expm1.f64 (sin.f64 y)))

simplify78.0ms (1.5%)

Algorithm
egg-herbie
Rules
616×fma-neg_binary64
537×distribute-rgt-in_binary64
398×distribute-rgt-neg-in_binary64
322×distribute-lft-neg-in_binary64
312×*-commutative_binary64
Counts
90 → 85
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
094735
1214667
2623644
31617644
43065644
54656644
64942644

prune130.0ms (2.5%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New1202122
Fresh11112
Picked101
Done000
Total12213135
Error
0.0b
Counts
135 → 13
Alt Table
StatusErrorProgram
0.5b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (*.f64 z (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))) (cbrt.f64 (cos.f64 y))))
7.4b
(+.f64 (*.f64 x (log1p.f64 (log.f64 (exp.f64 (expm1.f64 (sin.f64 y)))))) (*.f64 z (cos.f64 y)))
4.1b
(+.f64 (*.f64 x (cbrt.f64 (*.f64 (*.f64 (sin.f64 y) (sin.f64 y)) (sin.f64 y)))) (*.f64 z (cos.f64 y)))
31.8b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (sqrt.f64 (*.f64 z (cos.f64 y))) (sqrt.f64 (*.f64 z (cos.f64 y)))))
30.0b
(+.f64 (*.f64 x (exp.f64 (log.f64 (log1p.f64 (expm1.f64 (sin.f64 y)))))) (*.f64 z (cos.f64 y)))
29.8b
(+.f64 (*.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y))) (*.f64 z (cos.f64 y)))
27.3b
(+.f64 (*.f64 x (sin.f64 y)) (cbrt.f64 (*.f64 (*.f64 (*.f64 z z) z) (*.f64 (*.f64 (cos.f64 y) (cos.f64 y)) (cos.f64 y)))))
17.4b
(+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) (*.f64 z (cos.f64 y)))
17.7b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (*.f64 z (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y))))
36.3b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (cos.f64 y))))
0.9b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (*.f64 (cbrt.f64 z) (cbrt.f64 z)) (*.f64 (cbrt.f64 z) (cos.f64 y))))
0.6b
(+.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 x) (sin.f64 y))) (*.f64 z (cos.f64 y)))
0.6b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (cbrt.f64 (*.f64 x (sin.f64 y)))) (cbrt.f64 (*.f64 x (sin.f64 y)))) (*.f64 z (cos.f64 y)))
Compiler

Compiled 2451 to 915 computations (62.7% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 x (sin.f64 y))
0.2b
(*.f64 (*.f64 z (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))) (cbrt.f64 (cos.f64 y)))
0.2b
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))
0.3b
(cbrt.f64 (cos.f64 y))

series400.0ms (7.8%)

Counts
3 → 48
Calls

3 calls:

223.0ms
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))
169.0ms
(cbrt.f64 (cos.f64 y))
8.0ms
(*.f64 (*.f64 z (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))) (cbrt.f64 (cos.f64 y)))

rewrite18.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
22×add-sqr-sqrt_binary64
22×cbrt-prod_binary64
19×pow1_binary64
14×*-un-lft-identity_binary64
14×add-cube-cbrt_binary64
Counts
3 → 81
Calls

3 calls:

8.0ms
(*.f64 (*.f64 z (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))) (cbrt.f64 (cos.f64 y)))
5.0ms
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))
1.0ms
(cbrt.f64 (cos.f64 y))

simplify99.0ms (1.9%)

Algorithm
egg-herbie
Rules
788×fma-def_binary64
610×unswap-sqr_binary64
487×fma-neg_binary64
366×*-commutative_binary64
361×log-prod_binary64
Counts
129 → 133
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01291459
12981232
210351167
319601121
443921103
549661103
650661103

prune237.0ms (4.6%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New2162218
Fresh11112
Picked101
Done000
Total21813231
Error
0.0b
Counts
231 → 13
Alt Table
StatusErrorProgram
4.1b
(+.f64 (*.f64 x (cbrt.f64 (*.f64 (*.f64 (sin.f64 y) (sin.f64 y)) (sin.f64 y)))) (*.f64 z (cos.f64 y)))
30.0b
(+.f64 (*.f64 x (exp.f64 (log.f64 (log1p.f64 (expm1.f64 (sin.f64 y)))))) (*.f64 z (cos.f64 y)))
29.8b
(+.f64 (*.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y))) (*.f64 z (cos.f64 y)))
27.3b
(+.f64 (*.f64 x (sin.f64 y)) (cbrt.f64 (*.f64 (*.f64 (*.f64 z z) z) (*.f64 (*.f64 (cos.f64 y) (cos.f64 y)) (cos.f64 y)))))
17.4b
(+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) (*.f64 z (cos.f64 y)))
1.0b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 z (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))) (cbrt.f64 (cos.f64 y)))) (cbrt.f64 (*.f64 (*.f64 z (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))) (cbrt.f64 (cos.f64 y))))) (cbrt.f64 (*.f64 (*.f64 z (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))) (cbrt.f64 (cos.f64 y))))))
17.7b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (*.f64 z (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y))))
7.4b
(+.f64 (*.f64 x (log1p.f64 (log.f64 (exp.f64 (expm1.f64 (sin.f64 y)))))) (*.f64 z (cos.f64 y)))
36.3b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (cos.f64 y))))
0.9b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (*.f64 (cbrt.f64 z) (cbrt.f64 z)) (*.f64 (cbrt.f64 z) (cos.f64 y))))
0.6b
(+.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 x) (sin.f64 y))) (*.f64 z (cos.f64 y)))
0.2b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (*.f64 z (pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)) (cbrt.f64 (cos.f64 y))))
0.6b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (cbrt.f64 (*.f64 x (sin.f64 y)))) (cbrt.f64 (*.f64 x (sin.f64 y)))) (*.f64 z (cos.f64 y)))
Compiler

Compiled 5532 to 1605 computations (71% saved)

localize14.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
0.2b
(*.f64 (*.f64 z (pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)) (cbrt.f64 (cos.f64 y)))
0.3b
(pow.f64 (cos.f64 y) 2)
0.3b
(cbrt.f64 (cos.f64 y))

series236.0ms (4.6%)

Counts
3 → 32
Calls

3 calls:

225.0ms
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
7.0ms
(*.f64 (*.f64 z (pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)) (cbrt.f64 (cos.f64 y)))
3.0ms
(pow.f64 (cos.f64 y) 2)

rewrite15.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
21×add-exp-log_binary64
14×unpow-prod-down_binary64
11×prod-exp_binary64
10×*-un-lft-identity_binary64
10×add-sqr-sqrt_binary64
Counts
3 → 74
Calls

3 calls:

7.0ms
(*.f64 (*.f64 z (pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)) (cbrt.f64 (cos.f64 y)))
3.0ms
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
2.0ms
(pow.f64 (cos.f64 y) 2)

simplify79.0ms (1.5%)

Algorithm
egg-herbie
Rules
747×fma-neg_binary64
702×fma-def_binary64
340×*-commutative_binary64
207×cancel-sign-sub-inv_binary64
206×associate-+l+_binary64
Counts
106 → 120
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01481427
13401221
210461093
320831083
444951083
549341083

prune189.0ms (3.7%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New1431144
Fresh11112
Picked011
Done000
Total14413157
Error
0.0b
Counts
157 → 13
Alt Table
StatusErrorProgram
36.3b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (cos.f64 y))))
17.7b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (*.f64 z (pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)) (*.f64 (pow.f64 (cos.f64 y) 1/6) (pow.f64 (cos.f64 y) 1/6))))
4.1b
(+.f64 (*.f64 x (cbrt.f64 (*.f64 (*.f64 (sin.f64 y) (sin.f64 y)) (sin.f64 y)))) (*.f64 z (cos.f64 y)))
30.0b
(+.f64 (*.f64 x (exp.f64 (log.f64 (log1p.f64 (expm1.f64 (sin.f64 y)))))) (*.f64 z (cos.f64 y)))
29.8b
(+.f64 (*.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y))) (*.f64 z (cos.f64 y)))
27.3b
(+.f64 (*.f64 x (sin.f64 y)) (cbrt.f64 (*.f64 (*.f64 (*.f64 z z) z) (*.f64 (*.f64 (cos.f64 y) (cos.f64 y)) (cos.f64 y)))))
17.4b
(+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) (*.f64 z (cos.f64 y)))
1.0b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 z (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))) (cbrt.f64 (cos.f64 y)))) (cbrt.f64 (*.f64 (*.f64 z (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))) (cbrt.f64 (cos.f64 y))))) (cbrt.f64 (*.f64 (*.f64 z (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))) (cbrt.f64 (cos.f64 y))))))
7.4b
(+.f64 (*.f64 x (log1p.f64 (log.f64 (exp.f64 (expm1.f64 (sin.f64 y)))))) (*.f64 z (cos.f64 y)))
0.9b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (*.f64 (cbrt.f64 z) (cbrt.f64 z)) (*.f64 (cbrt.f64 z) (cos.f64 y))))
0.6b
(+.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 x) (sin.f64 y))) (*.f64 z (cos.f64 y)))
0.2b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (*.f64 z (pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)) (cbrt.f64 (cos.f64 y))))
0.6b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (cbrt.f64 (*.f64 x (sin.f64 y)))) (cbrt.f64 (*.f64 x (sin.f64 y)))) (*.f64 z (cos.f64 y)))
Compiler

Compiled 3459 to 1680 computations (51.4% saved)

regimes561.0ms (11%)

Accuracy

Total 0.1b remaining (65.6%)

Threshold costs 0.1b (65.6%)

Counts
117 → 1
Compiler

Compiled 8092 to 5354 computations (33.8% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0812
1912
2912

end0.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

sample2.3s (45.1%)

Algorithm
intervals
Results
1.1s2061×body1024valid
415.0ms4456×body128valid
253.0ms1000×body512valid
94.0ms478×body256valid
5.0msbody2048valid
Compiler

Compiled 310 to 177 computations (42.9% saved)

Profiling

Loading profile data...