@dman This first set produces a residual error upon forward resubstitution like what you obtained above:

restart:
eq := (0.178e-1)*x*tan(0.2e-4*sqrt(x))^2 = 0.232e13-x:
neweq := subs(x=10^y, eq):
Digits := 100:
newans := Student:-Calculus1:-Roots(neweq,
y=log[10](10^10)..log[10](10^11)):
newans2 := Student:-Calculus1:-Roots(simplify((rhs-lhs)(neweq)),
y=log[10](10^10)..log[10](10^11)):
Digits := 14:
all := [op(evalf({op(newans), op(newans2)}))]:
Digits := 100:
allmod := map(t->10^t, all):
Digits := 100:
check := map(t->eval((rhs-lhs)(eq), x = t), allmod):
evalf[5](check);
[167.71, 403.17]

This next variant gets a much smaller residual that was obtained in the previous variant. The only differences are in the values assigned to Digits. If you reduce the value assigned to `Digits` at any of the markers A, B, C, or D then the residual error for the check will get larger. Of those, the action right after marker B is very influential: B marks the Digits setting which controls to how many decimal digits the root approximations held in the list `all` get rounded.

restart:
eq := (0.178e-1)*x*tan(0.2e-4*sqrt(x))^2 = 0.232e13-x:
neweq := subs(x=10^y, eq):
Digits := 30: # A
newans := Student:-Calculus1:-Roots(neweq,
y=log[10](10^10)..log[10](10^11)):
newans2 := Student:-Calculus1:-Roots(simplify((rhs-lhs)(neweq)),
y=log[10](10^10)..log[10](10^11)):
Digits := 30: # B
all := [op(evalf({op(newans), op(newans2)}))]:
Digits := 30: # C
allmod := map(t->10^t, all):
Digits := 30: # D
check := map(t->eval((rhs-lhs)(eq), x = t), allmod):
evalf[10](check);
[ -14 -14]
[1.471 10 , 5.040 10 ]

And next comes evidence that indicates that, no matter how high the working precision set at markers A, C, and D, the residual error computed in the check is limited and directly connected to the number of digits to which the root approximations `all` are rounded at marker B.

restart:
eq := (0.178e-1)*x*tan(0.2e-4*sqrt(x))^2 = 0.232e13-x:
neweq := subs(x=10^y, eq):
Digits := 500: # A
newans := Student:-Calculus1:-Roots(neweq,
y=log[10](10^10)..log[10](10^11)):
newans2 := Student:-Calculus1:-Roots(simplify((rhs-lhs)(neweq)),
y=log[10](10^10)..log[10](10^11)):
Digits := 30: # B
all := [op(evalf({op(newans), op(newans2)}))]:
Digits := 500: # C
allmod := map(t->10^t, all):
Digits := 500: # D
check := map(t->eval((rhs-lhs)(eq), x = t), allmod):
evalf[10](check);
[ -14 -14]
[1.418451742 10 , 4.888485464 10 ]