Details

Time bar (total: 3.1s)

analyze4.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
50%50%0.1%2
74.9%25%0.1%3
87.4%12.5%0.1%4
93.7%6.2%0.1%5
96.8%3.1%0.1%6
98.3%1.6%0.1%7
99.1%0.8%0.1%8
99.5%0.4%0.1%9
99.7%0.2%0.1%10
99.8%0.1%0.1%11
99.9%0%0.1%12
99.9%0%0.1%13
99.9%0%0.1%14
Compiler

Compiled 9 to 7 computations (22.2% saved)

sample953.0ms (30.8%)

Results
926.0ms8256×body128valid
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify6.0ms (0.2%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079
179

prune2.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.8b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.8b
(/.f64 (atan2.f64 im re) (log.f64 10))
Compiler

Compiled 24 to 18 computations (25% saved)

localize5.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.8b
(/.f64 (atan2.f64 im re) (log.f64 10))

series58.0ms (1.9%)

Counts
1 → 0
Calls

1 calls:

58.0ms
(/.f64 (atan2.f64 im re) (log.f64 10))

rewrite4.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
12×times-frac_binary64
10×*-un-lft-identity_binary64
10×add-sqr-sqrt_binary64
10×add-cube-cbrt_binary64
pow1_binary64
Counts
1 → 33
Calls

1 calls:

2.0ms
(/.f64 (atan2.f64 im re) (log.f64 10))

simplify112.0ms (3.6%)

Algorithm
egg-herbie
Rules
1288×associate-/l/_binary64
1067×fma-neg_binary64
979×fma-def_binary64
677×unswap-sqr_binary64
350×times-frac_binary64
Counts
33 → 32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
055551
192513
2177513
3294513
4454513
5676513
61686513
72393513
82851513
93810513
104033513
114008513
124982513

prune28.0ms (0.9%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New24832
Fresh000
Picked101
Done000
Total25833
Error
0.0b
Counts
33 → 8
Alt Table
StatusErrorProgram
1.9b
(*.f64 (*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 10)))
28.0b
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 10))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 10))))
5.6b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 10)) (/.f64 (atan2.f64 im re) (log.f64 10))) (/.f64 (atan2.f64 im re) (log.f64 10))))
11.9b
(log.f64 (exp.f64 (/.f64 (atan2.f64 im re) (log.f64 10))))
0.7b
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 10))))
1.1b
(/.f64 1 (/.f64 (log.f64 10) (atan2.f64 im re)))
0.8b
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 10))))
28.4b
(*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 10)))
Compiler

Compiled 665 to 403 computations (39.4% saved)

localize8.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.4b
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 10))))
0.6b
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 10)))
0.8b
(/.f64 (atan2.f64 im re) (log.f64 10))

series104.0ms (3.4%)

Counts
2 → 48
Calls

2 calls:

55.0ms
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 10)))
48.0ms
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 10))))

rewrite2.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
log1p-expm1-u_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
2 → 22
Calls

2 calls:

0.0ms
(expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 10)))
0.0ms
(log1p.f64 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 10))))

simplify73.0ms (2.3%)

Algorithm
egg-herbie
Rules
932×unsub-neg_binary64
460×distribute-neg-out_binary64
355×distribute-rgt-in_binary64
295×distribute-lft-in_binary64
290×sub-neg_binary64
Counts
70 → 30
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
030786
136744
275744
3141744
4408744
51794744
63396744
75040744

prune45.0ms (1.5%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New61162
Fresh167
Picked101
Done000
Total63770
Error
0.0b
Counts
70 → 7
Alt Table
StatusErrorProgram
28.4b
(*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (sqrt.f64 (atan2.f64 im re)) (log.f64 10)))
11.6b
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 10)))))
1.9b
(*.f64 (*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 10)))
28.0b
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 10))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 10))))
5.6b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 10)) (/.f64 (atan2.f64 im re) (log.f64 10))) (/.f64 (atan2.f64 im re) (log.f64 10))))
1.1b
(/.f64 1 (/.f64 (log.f64 10) (atan2.f64 im re)))
0.8b
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 10))))
Compiler

Compiled 1102 to 715 computations (35.1% saved)

localize9.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 10)))
0.8b
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 10))))

series108.0ms (3.5%)

Counts
2 → 48
Calls

2 calls:

59.0ms
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 10)))
49.0ms
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 10))))

rewrite166.0ms (5.4%)

Algorithm
rewrite-expression-head
Rules
92×add-sqr-sqrt_binary64
85×times-frac_binary64
52×*-un-lft-identity_binary64
51×sqrt-prod_binary64
46×add-cube-cbrt_binary64
Counts
2 → 136
Calls

2 calls:

91.0ms
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 10))))
3.0ms
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 10)))

simplify285.0ms (9.2%)

Algorithm
egg-herbie
Rules
765×fma-neg_binary64
413×div-sub_binary64
411×associate-/l*_binary64
410×*-commutative_binary64
326×sqr-pow_binary64
Counts
184 → 158
Iterations

Useful iterations: 8 (0.0ms)

IterNodesCost
01323954
12933396
28873396
319453064
421273016
524613016
632733016
741643016
846842992
949702992
1046872992

prune165.0ms (5.3%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1526158
Fresh336
Picked101
Done000
Total1569165
Error
0.0b
Counts
165 → 9
Alt Table
StatusErrorProgram
1.9b
(*.f64 (*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (log.f64 10)))
1.3b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 10)))) (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 10))))) (sqrt.f64 (log.f64 10))) (cbrt.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 10)))))
0.8b
(/.f64 (*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (atan2.f64 im re)) (sqrt.f64 (log.f64 10)))
1.0b
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (*.f64 (/.f64 (*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re))) (*.f64 (cbrt.f64 (sqrt.f64 (log.f64 10))) (cbrt.f64 (sqrt.f64 (log.f64 10))))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (sqrt.f64 (log.f64 10))))))
5.6b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 10)) (/.f64 (atan2.f64 im re) (log.f64 10))) (/.f64 (atan2.f64 im re) (log.f64 10))))
1.0b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (sqrt.f64 (log.f64 10))) (cbrt.f64 (sqrt.f64 (log.f64 10))))) (*.f64 (/.f64 1 (cbrt.f64 (sqrt.f64 (log.f64 10)))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 10)))))
2.3b
(*.f64 (/.f64 (/.f64 (*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re))) (sqrt.f64 (log.f64 10))) (fabs.f64 (cbrt.f64 (log.f64 10)))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (cbrt.f64 (log.f64 10)))))
11.6b
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (atan2.f64 im re) (log.f64 10)))))
0.8b
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 10)))))
Compiler

Compiled 3902 to 2940 computations (24.7% saved)

localize11.0ms (0.4%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 10))))
0.8b
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 10)))))
1.0b
(/.f64 1 (log.f64 10))

series108.0ms (3.5%)

Counts
3 → 24
Calls

3 calls:

57.0ms
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 10))))
51.0ms
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 10)))))
0.0ms
(/.f64 1 (log.f64 10))

rewrite32.0ms (1%)

Algorithm
rewrite-expression-head
Rules
47×times-frac_binary64
45×add-sqr-sqrt_binary64
37×*-un-lft-identity_binary64
36×add-cube-cbrt_binary64
31×sqrt-prod_binary64
Counts
3 → 130
Calls

3 calls:

11.0ms
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 10)))))
9.0ms
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 10))))
3.0ms
(/.f64 1 (log.f64 10))

simplify202.0ms (6.5%)

Algorithm
egg-herbie
Rules
705×fma-def_binary64
664×fabs-mul_binary64
562×pow-sqr_binary64
512×associate-/l/_binary64
420×fma-neg_binary64
Counts
154 → 163
Iterations

Useful iterations: 7 (0.0ms)

IterNodesCost
01212422
12322177
26722177
313811820
416011820
518191820
622331820
730831814
839921814
944541814
1049221814
1150221814

prune122.0ms (4%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1603163
Fresh628
Picked011
Done000
Total1666172
Error
0b
Counts
172 → 6
Alt Table
StatusErrorProgram
0.1b
(*.f64 (sqrt.f64 (/.f64 1 (sqrt.f64 (log.f64 10)))) (*.f64 (atan2.f64 im re) (pow.f64 (sqrt.f64 (/.f64 1 (log.f64 10))) 3/2)))
2.3b
(*.f64 (/.f64 (/.f64 (*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re))) (sqrt.f64 (log.f64 10))) (fabs.f64 (cbrt.f64 (log.f64 10)))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (cbrt.f64 (log.f64 10)))))
5.6b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (atan2.f64 im re) (log.f64 10)) (/.f64 (atan2.f64 im re) (log.f64 10))) (/.f64 (atan2.f64 im re) (log.f64 10))))
1.0b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (sqrt.f64 (log.f64 10))) (cbrt.f64 (sqrt.f64 (log.f64 10))))) (/.f64 (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 10))) (cbrt.f64 (sqrt.f64 (log.f64 10)))))
0.8b
(*.f64 (/.f64 (*.f64 (cbrt.f64 1) (cbrt.f64 1)) (sqrt.f64 1)) (/.f64 (atan2.f64 im re) (log.f64 10)))
0.8b
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 10)))))
Compiler

Compiled 3648 to 3001 computations (17.7% saved)

regimes343.0ms (11.1%)

Accuracy

Total 0.1b remaining (89.6%)

Threshold costs 0.1b (89.6%)

Counts
81 → 1
Compiler

Compiled 6081 to 5026 computations (17.3% saved)

simplify2.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01629
12029
21929

end134.0ms (4.4%)

Compiler

Compiled 173 to 143 computations (17.3% saved)

Profiling

Loading profile data...