Details

Time bar (total: 3.8s)

analyze3.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)

sample1.0s (26.7%)

Results
950.0ms8256×body128valid
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify11.0ms (0.3%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079
179

prune2.0ms (0%)

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.1%)

Local error

Found 1 expressions with local error:

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

series60.0ms (1.6%)

Counts
1 → 0
Calls

1 calls:

60.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:

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

simplify129.0ms (3.4%)

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

prune45.0ms (1.2%)

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
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)))
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)))
Compiler

Compiled 665 to 403 computations (39.4% saved)

localize16.0ms (0.4%)

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))

series175.0ms (4.6%)

Counts
2 → 48
Calls

2 calls:

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

rewrite1.0ms (0%)

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:

1.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))))

simplify74.0ms (2%)

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

prune60.0ms (1.6%)

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
11.6b
(log.f64 (+.f64 1 (expm1.f64 (/.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))))
28.4b
(*.f64 (sqrt.f64 (atan2.f64 im re)) (/.f64 (sqrt.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)))
Compiler

Compiled 1102 to 715 computations (35.1% saved)

localize15.0ms (0.4%)

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))))

series182.0ms (4.8%)

Counts
2 → 48
Calls

2 calls:

105.0ms
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 10))))
76.0ms
(/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 10)))

rewrite34.0ms (0.9%)

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:

17.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)))

simplify385.0ms (10.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

prune243.0ms (6.4%)

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
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)))))
0.8b
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 10)))))
11.6b
(log.f64 (+.f64 1 (expm1.f64 (/.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)))))
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))))
0.8b
(/.f64 (*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (atan2.f64 im re)) (sqrt.f64 (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)))))
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))))))
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)))
Compiler

Compiled 3902 to 2940 computations (24.7% saved)

localize20.0ms (0.5%)

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))

series156.0ms (4.1%)

Counts
3 → 24
Calls

3 calls:

92.0ms
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 10))))
63.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))

rewrite67.0ms (1.8%)

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:

24.0ms
(*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 10))))
19.0ms
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (*.f64 (atan2.f64 im re) (sqrt.f64 (/.f64 1 (log.f64 10)))))
5.0ms
(/.f64 1 (log.f64 10))

simplify294.0ms (7.8%)

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

prune231.0ms (6.1%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1603163
Fresh628
Picked011
Done000
Total1666172
Error
0b
Counts
172 → 6
Alt Table
StatusErrorProgram
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))))
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)))))
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 (/.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)))
Compiler

Compiled 3648 to 3001 computations (17.7% saved)

regimes375.0ms (9.9%)

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

end176.0ms (4.7%)

Compiler

Compiled 173 to 143 computations (17.3% saved)

Profiling

Loading profile data...