The hyperreal numbers are undoubtedly interesting, generalizable, and have many nice properties, but are they really needed to solve the problems they solve? Would other, smaller fields work too?
According to Wikipedia:
the field $\mathbb{R}(x)$ of rational functions $p(x)/q(x)$, where $p(x)$ and $q(x)$ are polynomials with real coefficients and $q(x) \ne 0$, can be made into an ordered field by defining $p(x)/q(x) > 0$ to mean that $p_n/q_m > 0$, where $p_n \neq 0$ and $q_m \neq 0$ are the leading coefficients of $p(x) = p_n x^n + \dots + p_0$ and $q(x) = q_m x^m + \dots + q_0$, respectively. Equivalently: for rational functions $f(x), g(x)\in \mathbb{R}(x)$ we have $f(x) < g(x)$ if and only if $f(t) < g(t)$ for all sufficiently large $t\in\mathbb{R}$. In this ordered field the polynomial $p(x)=x$ is greater than any constant polynomial and the ordered field is not Archimedean.
This ordered field is very much like the hyperreals, in that it focuses on the limiting behaviour of functions, and the usual caveats one encounters are solved by the virtue of all divisions of polynomials being comparable (and non-zero almost everywhere). This obviously does not include legit functions like $e^x$, but could we add those functions back in?
Obviously we cannot add any arbitrary function with this definition, since functions like $\sin{x}$ and $\cos{x}$ are incomparable. My initial idea was only to add functions with a limit or those that diverge into infinity, but that includes $x+\sin{x}$ or $\frac{1}{x+\sin{x}}$ which would easily lead back to $\sin{x}$ through trivial operations. In terms of growth, these functions are somewhat equivalent to $x$ and $\frac{1}{x}$, but so are $x+1$ and $\frac{1}{x+1}$ which are clearly different. Would it still work if we excluded these anomalous functions, such as by allowing only those functions that do not lead to a divergent bounded (and thus non-monotonous) function via existing operations? What class of functions does that correspond to anyway, if it is well-defined at all?
Another option is to accept $\sin{x}$ and force it to have a unknowable (essentially arbitrary within $(-1, 1)$) value, and do it for all other similar functions. I have a feeling however that this leads to the hyperreal numbers already, since the ultrafilter is precisely what assigns a value to these functions at $\omega$.
Could this be made to work in some way, or is the ultrafilter the only way to save this? In other words, can the field $\mathbb{R}(x)$ of real functions be extended to be usable in a way similar to the hyperreal numbers?