Ohhh I see.  So does rewriting as the following get rid of the error?  Sorry I am not on Clang so I can't test this out.

```c++
dbl_exp = exp & 01? 10.: 1;
dbl_exp *= (exp >>= 1) & 01? 100.: 1;
dbl_exp *= (exp >>= 1) & 01? 1.0e4: 1;
dbl_exp *= (exp >>= 1) & 01? 1.0e8: 1;
```