# ?

Average Error: 0.0 → 0.0
Time: 3.1s
Precision: binary64
Cost: 6464

# ?

$\left(\left(10^{-8} \leq lat1 \land lat1 \leq 1.6\right) \land \left(10^{-8} \leq dlat \land dlat \leq 1.6\right)\right) \land \left(\left(10^{-8} \leq lon1 \land lon1 \leq 3.2\right) \land \left(10^{-8} \leq dlon \land dlon \leq 3.2\right)\right)$
$\sin lat1$
$\sin lat1$
(FPCore (lat1 dlat lon1 dlon) :precision binary64 (sin lat1))
(FPCore (lat1 dlat lon1 dlon) :precision binary64 (sin lat1))
double code(double lat1, double dlat, double lon1, double dlon) {
return sin(lat1);
}

double code(double lat1, double dlat, double lon1, double dlon) {
return sin(lat1);
}

real(8) function code(lat1, dlat, lon1, dlon)
real(8), intent (in) :: lat1
real(8), intent (in) :: dlat
real(8), intent (in) :: lon1
real(8), intent (in) :: dlon
code = sin(lat1)
end function

real(8) function code(lat1, dlat, lon1, dlon)
real(8), intent (in) :: lat1
real(8), intent (in) :: dlat
real(8), intent (in) :: lon1
real(8), intent (in) :: dlon
code = sin(lat1)
end function

public static double code(double lat1, double dlat, double lon1, double dlon) {
return Math.sin(lat1);
}

public static double code(double lat1, double dlat, double lon1, double dlon) {
return Math.sin(lat1);
}

def code(lat1, dlat, lon1, dlon):
return math.sin(lat1)

def code(lat1, dlat, lon1, dlon):
return math.sin(lat1)

function code(lat1, dlat, lon1, dlon)
return sin(lat1)
end

function code(lat1, dlat, lon1, dlon)
return sin(lat1)
end

function tmp = code(lat1, dlat, lon1, dlon)
tmp = sin(lat1);
end

function tmp = code(lat1, dlat, lon1, dlon)
tmp = sin(lat1);
end

code[lat1_, dlat_, lon1_, dlon_] := N[Sin[lat1], $MachinePrecision]  code[lat1_, dlat_, lon1_, dlon_] := N[Sin[lat1],$MachinePrecision]

\sin lat1

\sin lat1


# Try it out?

Results

 In Out
Enter valid numbers for all inputs

# Derivation?

1. Initial program 0.0

$\sin lat1$
2. Final simplification0.0

$\leadsto \sin lat1$

# Reproduce?

herbie shell --seed 1
(FPCore (lat1 dlat lon1 dlon)
:name "haversine"
:precision binary64
:pre (and (and (and (<= 1e-8 lat1) (<= lat1 1.6)) (and (<= 1e-8 dlat) (<= dlat 1.6))) (and (and (<= 1e-8 lon1) (<= lon1 3.2)) (and (<= 1e-8 dlon) (<= dlon 3.2))))
(sin lat1))