It can be shown that $ f : \mathbb R \to \mathbb R $ satisfies
$$ f ( x ) f ( y ) = f \left ( \frac { x + y } 2 \right ) ^ 2 \tag 0 \label 0 $$
for all $ x , y \in \mathbb R $ iff there is a constant $ c \in \mathbb R $ and an additive $ A : \mathbb R \to \mathbb R $ such that $ f ( x ) = c \exp \bigl ( A ( x ) \bigr ) $ for all $ x \in \mathbb R $. The fact that those $ f $ that have this form are solutions is already discussed in the comments under the original post and the answer by kimchi lover. To show that those are the only solutions, first note that if there is $ z \in \mathbb R $ with $ f ( z ) \ne 0 $, then letting $ y = 2 z - x $ in \eqref{0} we get $ f ( x ) f ( 2 z - x ) = f ( z ) ^ 2 > 0 $, and therefore $ f ( x ) \ne 0 $ for all $ x \in \mathbb R $. This then shows that the right-hand side of \eqref{0} is always positive, which by looking at the left-hand side shows that $ f $ must be always positive or always negative. Let $ \epsilon = \operatorname {sgn} \bigl ( f ( 0 ) \bigr ) $, and note that $ \epsilon f ( x ) > 0 $ for all $ x \in \mathbb R $, which lets us define $ g : \mathbb R \to \mathbb R $ with $ g ( x ) = \log \bigl ( \epsilon f ( x ) \bigr ) $ for all $ x \in \mathbb R $. Taking logarithms from both sides of \eqref{0}, we get
$$ g \left ( \frac { x + y } 2 \right ) = \frac { g ( x ) + g ( y ) } 2 \tag 1 \label 1 $$
for all $ x , y \in \mathbb R $. \eqref{1} is known as Jensen's functional equation, and its solutions are exactly functions of the form $ g ( x ) = A ( x ) + b $ for some constant $ b \in \mathbb R $ and some $ A : \mathbb R \to \mathbb R $ satisfying Cauchy's functional equation. See "Function that is both midpoint convex and concave: $f\left(\frac{x+y}{2}\right) = \frac{f(x)+f(y)}{2}$" for a proof. Then we will have
$$ f ( x ) = \epsilon ^ 2 f ( x ) = \epsilon \exp \bigl ( g ( x ) \bigr ) = \epsilon \exp \bigl ( A ( x ) + b \bigr ) = c \exp \bigl ( A ( x ) \bigr ) $$
for all $ x \in \mathbb R $, where $ c = \epsilon \exp b $. Note that we did all this with the assumption that there is some $ z \in \mathbb R $ with $ f ( z ) \ne 0 $, and ended up with some $ c \ne 0 $. In case there is no such $ z $, $ f $ must be the constant zero function, which is of the same form as before, only with $ c = 0 $.
Note that the axiom of choice implies the existence of nonlinear additive functions, which have wild behaviors. In case you have regularity conditions on $ f $ such as monotonicity, being bounded above/below on some interval, continuity and measurability, $ g $ and $ A $ will satisfy the same regularity condition, and we know that the only regular additive functions are linear ones. See "Overview of basic facts about Cauchy functional equation" for more information.