# ?

Average Error: 0.1 → 0.0
Time: 2.3s
Precision: binary64
Cost: 6528

# ?

$0 \leq x \land x \leq 1.79 \cdot 10^{+308}$
$\sqrt{\sqrt{x}}$
${x}^{0.25}$
(FPCore (x) :precision binary64 (sqrt (sqrt x)))
(FPCore (x) :precision binary64 (pow x 0.25))
double code(double x) {
return sqrt(sqrt(x));
}

double code(double x) {
return pow(x, 0.25);
}

real(8) function code(x)
real(8), intent (in) :: x
code = sqrt(sqrt(x))
end function

real(8) function code(x)
real(8), intent (in) :: x
code = x ** 0.25d0
end function

public static double code(double x) {
return Math.sqrt(Math.sqrt(x));
}

public static double code(double x) {
return Math.pow(x, 0.25);
}

def code(x):
return math.sqrt(math.sqrt(x))

def code(x):
return math.pow(x, 0.25)

function code(x)
return sqrt(sqrt(x))
end

function code(x)
return x ^ 0.25
end

function tmp = code(x)
tmp = sqrt(sqrt(x));
end

function tmp = code(x)
tmp = x ^ 0.25;
end

code[x_] := N[Sqrt[N[Sqrt[x], $MachinePrecision]],$MachinePrecision]

code[x_] := N[Power[x, 0.25], \$MachinePrecision]

\sqrt{\sqrt{x}}

{x}^{0.25}


# Try it out?

Results

 In Out
Enter valid numbers for all inputs

# Derivation?

1. Initial program 0.1

$\sqrt{\sqrt{x}}$
2. Taylor expanded in x around 0 0.0

$\leadsto \color{blue}{{x}^{0.25}}$
3. Final simplification0.0

$\leadsto {x}^{0.25}$

# Reproduce?

herbie shell --seed 1
(FPCore (x)
:name "sqrt(sqrt(x)) "
:precision binary64
:pre (and (<= 0.0 x) (<= x 1.79e+308))
(sqrt (sqrt x)))