#Python 3.8, 71 bytes

This takes advantage of the [new assignment expressions ("walrus operator")](https://docs.python.org/3/whatsnew/3.8.html#assignment-expressions) introduced in Python 3.8.

<!-- language: lang-py -->

    lambda a,b,c:((m:=a*b*c)**2/(p:=a+b+c)/(p-2*a)/(p-2*b)/(p-2*c)-m/p)**.5

[Try it online!](https://tio.run/##bY/NasMwEITvfoo9Ss7a0Y9V/4DfpBAkWSEBKxKWD@3Tu8INuAVLh93lmxmY@L0@wkt2cdkmGD@3WXszadBo0A6E@GHUpSktLUtxJTFfF3OxNK@VKPV7mve0tPLXmKW12u5L8OD1@oCnj2FZ4ZnsHJIrVpfWm9XJJRiBECJQYkMReC0@FMUC/j1CMkW1c867U66wzVzWTJ35W@yRsz1AsfZE0GH@mbOaMXbCuZAoZIOyyfGS9TVnPaXFPSxANIJBsNntvqKzueULjoLDnqVTckd/8itEmP6YFzff1jCP3FVMIGiTjpNuPw "Python 3.8 (pre-release) – Try It Online")

It's based on the same calculations described in [Arnauld's answer](https://codegolf.stackexchange.com/a/203493/13959), but using the perimeter \$p\$ instead of the semiperimeter \$s\$:
$$
\begin{aligned}\\
p&=a+b+c\\
 &=2s
\end{aligned}\\
\therefore d=\sqrt{R^2-\frac{abc}{p}}\\
\text{and } R^2=\frac{\left(abc\right)^2}{p(p-2a)(p-2b)(p-2c)}
$$

The grand total savings of this rearrangement is... two bytes. Storing the product \$abc\$ in \$m\$ saves another one byte.