Details

Time bar (total: 7.0s)

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)

sample773.0ms (11.1%)

Results
740.0ms8256×body128valid
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify6.0ms (0.1%)

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

series54.0ms (0.8%)

Counts
1 → 0
Calls

1 calls:

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

simplify117.0ms (1.7%)

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

prune33.0ms (0.5%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New25732
Fresh000
Picked101
Done000
Total26733
Error
0.0b
Counts
33 → 7
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)))
33.2b
(*.f64 (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 10))) (sqrt.f64 (/.f64 (atan2.f64 im re) (log.f64 10))))
1.4b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 10))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 10)))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 10))))
5.3b
(cbrt.f64 (pow.f64 (/.f64 (atan2.f64 im re) (log.f64 10)) 3))
0.8b
(/.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))))
2.0b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re))) (sqrt.f64 (log.f64 10))) (/.f64 (cbrt.f64 (atan2.f64 im re)) (sqrt.f64 (log.f64 10))))
Compiler

Compiled 671 to 405 computations (39.6% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series104.0ms (1.5%)

Counts
2 → 24
Calls

2 calls:

56.0ms
(/.f64 (log.f64 10) (atan2.f64 im re))
48.0ms
(/.f64 1 (/.f64 (log.f64 10) (atan2.f64 im re)))

rewrite17.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
108×times-frac_binary64
60×*-un-lft-identity_binary64
60×add-sqr-sqrt_binary64
60×add-cube-cbrt_binary64
19×associate-/r*_binary64
Counts
2 → 123
Calls

2 calls:

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

simplify207.0ms (3%)

Algorithm
egg-herbie
Rules
1150×fabs-mul_binary64
912×fma-def_binary64
471×unswap-sqr_binary64
448×fma-neg_binary64
383×associate-/l/_binary64
Counts
147 → 138
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01002599
11692355
23932318
37842318
410452318
511382318
614852318
718802318
823012318
933472318
1046502318
1146892318
1249462318

prune125.0ms (1.8%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1308138
Fresh426
Picked101
Done000
Total13510145
Error
0.0b
Counts
145 → 10
Alt Table
StatusErrorProgram
33.6b
(/.f64 (/.f64 1 (/.f64 (sqrt.f64 (log.f64 10)) (sqrt.f64 (atan2.f64 im re)))) (/.f64 (sqrt.f64 (log.f64 10)) (sqrt.f64 (atan2.f64 im re))))
0.8b
(/.f64 1 (*.f64 (log.f64 10) (/.f64 1 (atan2.f64 im re))))
2.2b
(/.f64 (/.f64 (*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re))) (*.f64 (cbrt.f64 (log.f64 10)) (cbrt.f64 (log.f64 10)))) (/.f64 (cbrt.f64 (log.f64 10)) (cbrt.f64 (atan2.f64 im re))))
5.8b
(/.f64 1 (cbrt.f64 (/.f64 (*.f64 (*.f64 (log.f64 10) (log.f64 10)) (log.f64 10)) (*.f64 (*.f64 (atan2.f64 im re) (atan2.f64 im re)) (atan2.f64 im re)))))
2.1b
(*.f64 (/.f64 1 (/.f64 (sqrt.f64 (log.f64 10)) (*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re))))) (/.f64 1 (/.f64 (sqrt.f64 (log.f64 10)) (cbrt.f64 (atan2.f64 im re)))))
0.7b
(/.f64 1 (*.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))))
1.4b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 10))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 10)))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 10))))
5.3b
(cbrt.f64 (/.f64 (*.f64 (*.f64 1 1) 1) (*.f64 (*.f64 (/.f64 (log.f64 10) (atan2.f64 im re)) (/.f64 (log.f64 10) (atan2.f64 im re))) (/.f64 (log.f64 10) (atan2.f64 im re)))))
0.8b
(/.f64 1 (/.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 (log.f64 10))))
Compiler

Compiled 2814 to 1849 computations (34.3% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))))
0.1b
(*.f64 (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))))
0.8b
(/.f64 (log.f64 10) (atan2.f64 im re))
4.4b
(cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))

series2.2s (31%)

Counts
3 → 72
Calls

3 calls:

1.4s
(*.f64 (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))))
730.0ms
(cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))
60.0ms
(*.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))))

rewrite52.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
122×cbrt-prod_binary64
91×times-frac_binary64
88×add-sqr-sqrt_binary64
66×*-un-lft-identity_binary64
60×add-cube-cbrt_binary64
Counts
3 → 181
Calls

3 calls:

15.0ms
(*.f64 (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))))
14.0ms
(*.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))))
2.0ms
(cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))

simplify184.0ms (2.6%)

Algorithm
egg-herbie
Rules
753×unswap-sqr_binary64
643×fma-def_binary64
350×*-commutative_binary64
292×times-frac_binary64
226×associate-/l*_binary64
Counts
253 → 214
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01736002
12745311
29905028
322774918
444604918
550044918

prune397.0ms (5.7%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New3665371
Fresh369
Picked011
Done000
Total36912381
Error
0b
Counts
381 → 12
Alt Table
StatusErrorProgram
5.7b
(/.f64 1 (cbrt.f64 (*.f64 (*.f64 (/.f64 (log.f64 10) (atan2.f64 im re)) (/.f64 (log.f64 10) (atan2.f64 im re))) (/.f64 (log.f64 10) (atan2.f64 im re)))))
5.3b
(cbrt.f64 (/.f64 (*.f64 (*.f64 1 1) 1) (*.f64 (*.f64 (/.f64 (log.f64 10) (atan2.f64 im re)) (/.f64 (log.f64 10) (atan2.f64 im re))) (/.f64 (log.f64 10) (atan2.f64 im re)))))
0.5b
(/.f64 1 (*.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))))))
0.8b
(/.f64 1 (/.f64 1 (/.f64 (atan2.f64 im re) (log.f64 10))))
2.1b
(*.f64 (/.f64 1 (/.f64 (sqrt.f64 (log.f64 10)) (*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re))))) (/.f64 1 (/.f64 (sqrt.f64 (log.f64 10)) (cbrt.f64 (atan2.f64 im re)))))
0.7b
(/.f64 1 (*.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))))
1.1b
(/.f64 1 (*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (log.f64 10))) (cbrt.f64 (sqrt.f64 (log.f64 10)))) (*.f64 (cbrt.f64 (/.f64 (sqrt.f64 (log.f64 10)) (atan2.f64 im re))) (cbrt.f64 (/.f64 (sqrt.f64 (log.f64 10)) (atan2.f64 im re))))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))))
1.4b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 10))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 10)))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 10))))
4.6b
(/.f64 1 (*.f64 (cbrt.f64 (*.f64 (/.f64 (log.f64 10) (atan2.f64 im re)) (/.f64 (log.f64 10) (atan2.f64 im re)))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))))
0.8b
(/.f64 1 (pow.f64 (/.f64 (log.f64 10) (atan2.f64 im re)) 1))
0.8b
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 10))))
2.2b
(/.f64 (/.f64 (*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re))) (*.f64 (cbrt.f64 (log.f64 10)) (cbrt.f64 (log.f64 10)))) (/.f64 (cbrt.f64 (log.f64 10)) (cbrt.f64 (atan2.f64 im re))))
Compiler

Compiled 12693 to 8274 computations (34.8% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))))
0.8b
(/.f64 (log.f64 10) (atan2.f64 im re))
4.4b
(cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))))
4.4b
(cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))

series710.0ms (10.2%)

Counts
1 → 24
Calls

1 calls:

710.0ms
(cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))))

rewrite14.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
19×cbrt-div_binary64
associate-*l/_binary64
frac-times_binary64
associate-*r/_binary64
*-un-lft-identity_binary64
Counts
1 → 19
Calls

1 calls:

12.0ms
(cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))))

simplify76.0ms (1.1%)

Algorithm
egg-herbie
Rules
812×unswap-sqr_binary64
353×distribute-rgt-in_binary64
349×distribute-lft-in_binary64
322×log-prod_binary64
312×fma-neg_binary64
Counts
43 → 30
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
048694
150646
2109644
3267644
4763602
52683602
64880602
74963602

prune894.0ms (12.8%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New5640564
Fresh01010
Picked011
Done011
Total56412576
Error
0b
Counts
576 → 12
Alt Table
StatusErrorProgram
5.7b
(/.f64 1 (cbrt.f64 (*.f64 (*.f64 (/.f64 (log.f64 10) (atan2.f64 im re)) (/.f64 (log.f64 10) (atan2.f64 im re))) (/.f64 (log.f64 10) (atan2.f64 im re)))))
5.3b
(cbrt.f64 (/.f64 (*.f64 (*.f64 1 1) 1) (*.f64 (*.f64 (/.f64 (log.f64 10) (atan2.f64 im re)) (/.f64 (log.f64 10) (atan2.f64 im re))) (/.f64 (log.f64 10) (atan2.f64 im re)))))
0.5b
(/.f64 1 (*.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))))))
0.8b
(/.f64 1 (/.f64 1 (/.f64 (atan2.f64 im re) (log.f64 10))))
2.1b
(*.f64 (/.f64 1 (/.f64 (sqrt.f64 (log.f64 10)) (*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re))))) (/.f64 1 (/.f64 (sqrt.f64 (log.f64 10)) (cbrt.f64 (atan2.f64 im re)))))
0.7b
(/.f64 1 (*.f64 (*.f64 (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))))
1.1b
(/.f64 1 (*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (log.f64 10))) (cbrt.f64 (sqrt.f64 (log.f64 10)))) (*.f64 (cbrt.f64 (/.f64 (sqrt.f64 (log.f64 10)) (atan2.f64 im re))) (cbrt.f64 (/.f64 (sqrt.f64 (log.f64 10)) (atan2.f64 im re))))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))))
1.4b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 10))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 10)))) (cbrt.f64 (/.f64 (atan2.f64 im re) (log.f64 10))))
4.6b
(/.f64 1 (*.f64 (cbrt.f64 (*.f64 (/.f64 (log.f64 10) (atan2.f64 im re)) (/.f64 (log.f64 10) (atan2.f64 im re)))) (cbrt.f64 (/.f64 (log.f64 10) (atan2.f64 im re)))))
0.8b
(/.f64 1 (pow.f64 (/.f64 (log.f64 10) (atan2.f64 im re)) 1))
0.8b
(*.f64 (/.f64 1 (sqrt.f64 (log.f64 10))) (/.f64 (atan2.f64 im re) (sqrt.f64 (log.f64 10))))
2.2b
(/.f64 (/.f64 (*.f64 (cbrt.f64 (atan2.f64 im re)) (cbrt.f64 (atan2.f64 im re))) (*.f64 (cbrt.f64 (log.f64 10)) (cbrt.f64 (log.f64 10)))) (/.f64 (cbrt.f64 (log.f64 10)) (cbrt.f64 (atan2.f64 im re))))
Compiler

Compiled 28779 to 18680 computations (35.1% saved)

regimes720.0ms (10.3%)

Accuracy

Total 0.7b remaining (94.6%)

Threshold costs 0.7b (94.6%)

Counts
133 → 1
Compiler

Compiled 12608 to 9171 computations (27.3% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01758
12158
21958

end298.0ms (4.3%)

Compiler

Compiled 386 to 276 computations (28.5% saved)

Profiling

Loading profile data...