code and tests
Attachments
Before the patch, "sqrt(8)" was handled by cf as
2*sqrt(2) and thus the cflength promise was broken:
cf(sqrt(8)); /* 3 */
with the patch it is handled as sqrt:
cf(sqrt(8)); /* [2, 1, 4] */
Patch applied, committed as cdfe91814cb94, and pushed. Closing this report as fixed.