Average Error: 0.0 → 0.0
Time: 16.5s
Precision: 64
\[{x}^{\left({x}^{2}\right)}\]
\[{\left({x}^{\left(\sqrt{{x}^{2}}\right)}\right)}^{\left(\sqrt{{x}^{2}}\right)}\]
{x}^{\left({x}^{2}\right)}
{\left({x}^{\left(\sqrt{{x}^{2}}\right)}\right)}^{\left(\sqrt{{x}^{2}}\right)}
double f(double x) {
        double r233921 = x;
        double r233922 = 2.0;
        double r233923 = pow(r233921, r233922);
        double r233924 = pow(r233921, r233923);
        return r233924;
}

double f(double x) {
        double r233925 = x;
        double r233926 = 2.0;
        double r233927 = pow(r233925, r233926);
        double r233928 = sqrt(r233927);
        double r233929 = pow(r233925, r233928);
        double r233930 = pow(r233929, r233928);
        return r233930;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[{x}^{\left({x}^{2}\right)}\]
  2. Using strategy rm
  3. Applied add-sqr-sqrt0.0

    \[\leadsto {x}^{\color{blue}{\left(\sqrt{{x}^{2}} \cdot \sqrt{{x}^{2}}\right)}}\]
  4. Applied pow-unpow0.0

    \[\leadsto \color{blue}{{\left({x}^{\left(\sqrt{{x}^{2}}\right)}\right)}^{\left(\sqrt{{x}^{2}}\right)}}\]
  5. Final simplification0.0

    \[\leadsto {\left({x}^{\left(\sqrt{{x}^{2}}\right)}\right)}^{\left(\sqrt{{x}^{2}}\right)}\]

Reproduce

herbie shell --seed 1 
(FPCore (x)
  :name "pow(x, pow(x, 2))"
  :precision binary64
  (pow x (pow x 2)))