# C11.3.2) Errors when evaluating expressions involving reals and external calls

## Description

This article is from the FAQ, by with numerous contributions by
others.

# C11.3.2) Errors when evaluating expressions involving reals and external calls

On all supported platforms, using both reals and external (C) calls in an

expression may yield unpredictable results.

For instance the following program

ORIGIN '~beta/basiclib/v1.5/math';
--PROGRAM: descriptor--
(#
do (1->sqrt) -> putint; newline;
(10->log10) -> putint; newline;
(1->sqrt)+(10->log10) -> putint; newline;
#)

will give the (wrong) output

1

1

4

on Solaris. The only known workaround is to split up the expressions, so

that the parts that call the external functions are isolated (like the first

part of the above program).

Continue to: