I'm revisiting Calculus and learning more about infinitesimals. As I concluded one of the reasons they introduced infinitesimals is because of "rounding real numbers problem" (read third paragraph). For example, $2+10^{-(10^{10^{10}})}$ is close to $2$, but still it is equal $2+10^{-(10^{10^{10}})}$ not $2$. In other words we can say $\displaystyle2+10^{-(10^{10^{10}})}{\simeq2}$ but not $\displaystyle2+10^{-(10^{10^{10}})}=2$.
In contrast, if $\mathrm{d}x$ is infinitesimal or, by definition, number which is larger than zero and less than any real number, then we can neglect that term and say $\displaystyle2+\mathrm{d}x=2$. Let's imagine for a moment that $\mathrm{d}x=10^{-(10^{10^{10}})}$. Isn't it sufficiently good to use such number to be neglected, so we can obtain "slope of a curve at a point"? In other words if $f(x)=x^2$ and $\mathrm{d}x=10^{-(10^{10^{10}})}$ then $\displaystyle\frac{f(x_0+\mathrm{d}x)-f(x_0)}{\mathrm{d}x}=2\cdot x_0+\mathrm{d}x\simeq2\cdot x_0$. We rounded number $2\cdot x_0+\mathrm{d}x$ to $2\cdot x_0$.
This might sound weird in context but what kind of effects does rounding real numbers (such as number $\pi$ to $3.14$) have on whole idea of real number system? If it doesn't have any, then why do we introduce infinitesimals at all? We could use any sufficiently good $\mathrm{d}x$ where $\mathrm{d}x$ is real number (such as $\mathrm{d}x=10^{-(10^{10^{10}})}$) and get slope of a curve at each point using only real numbers and not including hyperreals! My amateur opinion is: if you could round every number then there will be "gaps" on real number line (and I know in layman terms that real numbers represent continuous number line). Hence we introduce infinitesimals as extension to real numbers where infinitesimals are not in a domain of real numbers.