diff --git a/Lib/statistics.py b/Lib/statistics.py
index 673a162..edb11c8 100644
--- a/Lib/statistics.py
+++ b/Lib/statistics.py
@@ -882,8 +882,8 @@ def covariance(x, y, /):
         raise StatisticsError('covariance requires that both inputs have same number of data points')
     if n < 2:
         raise StatisticsError('covariance requires at least two data points')
-    xbar = mean(x)
-    ybar = mean(y)
+    xbar = fmean(x)
+    ybar = fmean(y)
     total = fsum((xi - xbar) * (yi - ybar) for xi, yi in zip(x, y))
     return total / (n - 1)
 
@@ -956,7 +956,7 @@ def linear_regression(regressor, dependent_variable, /):
         slope = covariance(regressor, dependent_variable) / variance(regressor)
     except ZeroDivisionError:
         raise StatisticsError('regressor is constant')
-    intercept = mean(dependent_variable) - slope * mean(regressor)
+    intercept = fmean(dependent_variable) - slope * fmean(regressor)
     return LinearRegression(intercept=intercept, slope=slope)
 
 
