Issue #10429 has been updated by Matt Dressel.


Thank you.  I will add some additional thoughts.

----------------------------------------
Bug #10429: Ruby 2.x exponents produce wildly varying precision for integers vs decimals
https://bugs.ruby-lang.org/issues/10429#change-49994

* Author: Matt Dressel
* Status: Open
* Priority: Normal
* Assignee: 
* Category: core
* Target version: 
* ruby -v: 2.0.0-p576, 2.1.3
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
## 2.0.0
```
> 1.1.to_d ** -1.9999999
 => #<BigDecimal:7fdcc1fcdfa0,'0.8264462888 68609939E0',18(45)> 
> 1.1.to_d ** -2
 => #<BigDecimal:7fdccd3e8d00,'0.8264462809 9173553719 0082644628 0991735537 1900826446 2809917355 3719008264 46E0',72(72)> 
> 1.1.to_d ** -2.0
 => #<BigDecimal:7fdccd3e8d00,'0.8264462809 9173553719 0082644628 0991735537 1900826446 2809917355 3719008264 46E0',72(72)> 
> 1.1.to_d ** -2.0000001
 => #<BigDecimal:7fdcc1f702d8,'0.8264462731 14861211E0',18(45)>
```

## 2.1.3
```
> 1.1.to_d ** -1.9999999
=> #<BigDecimal:7ff690a7d6c0,'0.8264462888 68609938E0',18(36)>
> 1.1.to_d ** -2
=> #<BigDecimal:7ff690ace0c0,'0.8264462809 9173553719 0082644628 0991735537 1900826446 2809917355 371E0',63(63)>
> 1.1.to_d ** -2.0
=> #<BigDecimal:7ff690ace0c0,'0.8264462809 9173553719 0082644628 0991735537 1900826446 2809917355 371E0',63(63)>
> 1.1.to_d ** -2.0000001
=> #<BigDecimal:7ff674c0b0a8,'0.8264462731 1486121E0',18(36)>
```

Additionally, when the integer value increases, the precision increases:

## 2.0.0
```
> 1.1.to_d ** 2
 => #<BigDecimal:7fb0969fb7f0,'0.121E1',18(72)> 
> 1.1.to_d ** 3
 => #<BigDecimal:7fb096928468,'0.1331E1',18(90)> 
> 1.1.to_d ** 4
 => #<BigDecimal:7fb096a05890,'0.14641E1',18(117)> 
> 1.1.to_d ** 5
 => #<BigDecimal:7fb096a0fbb0,'0.161051E1',18(135)> 
> 1.1.to_d ** 6
 => #<BigDecimal:7fb096a1e110,'0.1771561E1',18(153)> 
```





-- 
https://bugs.ruby-lang.org/