# BigFloat loses precision on simple operations

**URL:** <https://discourse.julialang.org/t/bigfloat-loses-precision-on-simple-operations/50588>\
**Category:** New to Julia\
**Created:** [November 22, 2020, 5:03pm UTC](https://discourse.julialang.org/t/bigfloat-loses-precision-on-simple-operations/50588 "2020-11-22T17:03:23Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sharath\_Gururaj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sharath_gururaj/32/19647_2.png) [@Sharath\_Gururaj](https://discourse.julialang.org/u/Sharath_Gururaj)\
**Post date:** [November 22, 2020, 5:03pm UTC](https://discourse.julialang.org/t/bigfloat-loses-precision-on-simple-operations/50588/1 "2020-11-22T17:03:23Z")

</div>

Consider the following operation, effectively raising `1.0003` to the zeroth power, which should give `1` to high precision. But the output answer is correct only to 2 digits. What am I doing wrong?

```julia
setprecision(BigFloat, 2048) do
    N = BigFloat("1.0003")
    S = N^2
    T = S^BigFloat("-2")
    println(S)
    println(T)
    @show N.prec
    @show S.prec
    @show T.prec
end

1.00060009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006
0.998800899460283363981209766821321428156826636405424484661643582132123833869202023941249413307299194267877540193491761251973877782287932256911154666379139503538676939375046908448816853422361662343762039258796959186150590922100709574753779447800773573318277742654515673496936793187681961445711493463612642920501001030401197976389749419078717542211077880390587563193868612391879372663858784504235958579674789390475785580413842269254173277611464659432178456393544620005898511928430355155204871700689570839489110507083202535467976028287920518240107473247937569049542696259772380374569992504464097465007950669492921731039225
N.prec = 2048
S.prec = 2048
T.prec = 2048

```

---

<div class="post-metadata">

**Author:** ![Henrique\_Becker](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/henrique_becker/32/15443_2.png) [@Henrique\_Becker](https://discourse.julialang.org/u/Henrique_Becker)\
**Post date:** [November 22, 2020, 5:28pm UTC](https://discourse.julialang.org/t/bigfloat-loses-precision-on-simple-operations/50588/2 "2020-11-22T17:28:03Z")

</div>

First of all: welcome to our community!

Second, my math may be rusty, but I think there is no reason why, for any number `x`, `(x ^ 2) ^ -2` should give `1`.

```julia
julia> x = 11//10 
11//10

julia> x ^ 2
121//100

julia> (x ^ 2) ^ -2
10000//14641

julia> float((x ^ 2) ^ -2)
0.6830134553650707

```

I think you are thinking about multiplying the square root of `x` with `x` squared.

```julia
julia> (x^2) * (x ^ -2)
1//1

```

---

<div class="post-metadata">

**Author:** ![StevenSiew](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevensiew/32/218393_2.png) [@StevenSiew](https://discourse.julialang.org/u/StevenSiew)\
**Post date:** [November 22, 2020, 5:50pm UTC](https://discourse.julialang.org/t/bigfloat-loses-precision-on-simple-operations/50588/3 "2020-11-22T17:50:03Z")

</div>

This is what Mathematica says  
 ![Screen Shot 2020-11-23 at 4.48.45 AM](https://global.discourse-cdn.com/julialang/original/3X/6/e/6ebdc9d55322664b546f5618aa3bb69d78c9ffda.png)

---

<div class="post-metadata">

**Author:** ![Sharath\_Gururaj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sharath_gururaj/32/19647_2.png) [@Sharath\_Gururaj](https://discourse.julialang.org/u/Sharath_Gururaj)\
**Post date:** [November 28, 2020, 6:37am UTC](https://discourse.julialang.org/t/bigfloat-loses-precision-on-simple-operations/50588/4 "2020-11-28T06:37:41Z")

</div>

wow guys, thanks, I’m really sorry for such a dumb mistake.

---

<div class="post-metadata">

**Author:** ![jishnub](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jishnub/32/33620_2.png) [@jishnub](https://discourse.julialang.org/u/jishnub)\
**Post date:** [November 28, 2020, 7:36am UTC](https://discourse.julialang.org/t/bigfloat-loses-precision-on-simple-operations/50588/5 "2020-11-28T07:36:00Z")

</div>

No worries! Perhaps you could select the best answer and mark the question as solved?
