Thanks for your bug report. Unfortunately, I cannot quite make out the issue you are reporting.

Are you saying that $base() is returning an incorrect result?

Or $tbase() is returning an incorrect result?

Or that $calc() and/or $round() are returning incorrect results?

If the issue is due to rounding >=30 decimal places, I am not sure if there is a way around that, since rounding always leads to loss of precision and changes the results of subsequent calculations. The amount of precision used internally is always going to be greater than that used in scripts because a script will always receive results with at most 30 decimal places in bigfloat mode and 6 decimal places in non-bigfloat mode. You are comparing $base(), which is a native implementation that uses as many decimal places as are available until returning the final result, with $tbase() which is a script that uses at most 30 decimal place values during its calculations, if I understand your post correctly.

Update: In your example, it turns out that $base() was internally rounding at 30 decimal places in interim calculations. I have extended the decimal places a little for interim calculcations which resolves the $base() issue when using 30 decimal place big floats. This change will be in the next beta.