From looking at output from the calculator script

https://forums.mirc.com/ubbthreads.php/topics/271020/calc-editbox-calculator

I noticed that evaluation inside square braces and $eval() belonging to %var.bf is being done in doubles mode if it's the simple 'var/set math' but does get the .bf mode result if the math has 3 terms. Then I realized that this is probably related to the var/set math itself not evaluating in doubles mode in all situations. But it's not caused by the math terms being the $1-3 parameters. From editbox:

/set -su9 %var.bf 2 / 3
* Set %var.bf to 0.666667
//set -su9 %var.bf 2 / 3
* Set %var.bf to 0.666666666666666666666666666667
//var -s %var.bf 2 / 3
* Set %var.bf to 0.666666666666666666666666666667

/calctest 355 / 113
* Set %setmath1.bf to 3.141593
* Set %setmath2.bf to 3.141592920353982300884955752212
* Set %result1.bf to result: 3.141593
* Set %result2.bf to result: 3.141592920353982300884955752212
* Set %result3.bf to result: 3.141593
* Set %result4.bf to result: 3.141592920353982300884955752212

/calctest 355 / 113 + 0
* Set %setmath1.bf to 355 / 113 + 0
* Set %setmath2.bf to 355 / 113 + 0
* Set %result1.bf to result: 3.141592920353982300884955752212
* Set %result2.bf to result: 3.141592920353982300884955752212
* Set %result3.bf to result: 3.141592920353982300884955752212
* Set %result4.bf to result: 3.141592920353982300884955752212

Code
alias calctest {
  var %1- $1-
  set -ls %setmath1.bf %1-
  set -ls %setmath2.bf $1-
  var -s %result1.bf result: $calc( [ %1- ] )
  var -s %result2.bf result: $calc( [ $1- ] )
  var -s %result3.bf result: $calc( $eval( %1- ,2) )
  var -s %result4.bf result: $calc( $eval( $1- ,2) )
}