/usr/share/calc/help/cfsim is in apcalc-common 2.12.4.4-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | NAME
    cfsim - simplify a value using continued fractions
SYNOPSIS
    cfsim(x [,rnd])
TYPES
    x		real
    rnd		integer, defaults to config("cfsim")
    return	real
DESCRIPTION
    If x is not an integer, cfsim(x, rnd) returns either the nearest
    above x, or the nearest below x, number with denominator less than
    den(x).  If x is an integer, cfsim(x, rnd) returns x + 1, x - 1, or 0.
    Which of the possible results is returned is controlled
    by bits 0, 1, 3 and 4 of the parameter rnd.
    For 0 <= rnd < 4, the sign of the remainder x - cfsim(x, rnd) is
    as follows:
		rnd		sign of x - cfsim(x, rnd)
		0		+, as if rounding down
		1		-. as if rounding up
		2		sgn(x), as if rounding to zero
		3		-sgn(x), as if rounding from zero
    This corresponds to the use of rnd for functions like round(x, n, rnd).
    If bit 3 or 4 of rnd is set, the lower order bits are ignored; bit 3
    is ignored if bit 4 is set.	 Thusi, for rnd > 3, it sufficient to
    consider the two cases rnd = 8 and rnd = 16.
    If den(x) > 2, cfsim(x, 8) returns the value of the penultimate simple
    continued-fraction approximant to x, i.e. if:
	x = a_0 + 1/(a_1 + 1/(a_2 + ... + 1/a_n) ...)),
    where a_0 is an integer, a_1, ..., a_n are positive integers,
    and a_n >= 2, the value returned is that of the continued fraction
    obtained by dropping the last quotient 1/a_n.
    If den(x) > 2, cfsim(x, 16) returns the nearest number to x with
    denominator less than den(x).  In the continued-fraction representation
    of x described above, this is given by replacing a_n by a_n - 1.
    If den(x) = 2, the definition adopted is to round towards zero for the
    approximant case (rnd = 8) and from zero for the "nearest" case (rnd = 16).
    For integral x, cfsim(x, 8) returns zero, cfsim(x,16) returns x - sgn(x).
    In summary, for cfsim(x, rnd) when rnd = 8 or 16, the results are:
	rnd		integer x	half-integer x		den(x) > 2
	 8		0		x - sgn(x)/2		approximant
	16		x - sgn(x)	x + sgn(x)/2		nearest
     From either cfsim(x, 0) and cfsim(x, 1), the other is easily
     determined: if one of them has value w, the other has value
     (num(x) - num(w))/(den(x) - den(w)).  From x and w one may find
     other optimal rational numbers near x; for example, the smallest-
     denominator number between x and w is (num(x) + num(w))/(den(x) + den(w)).
     If x = n/d and cfsim(x, 8) = u/v, then for k * v < d, the k-th member of
     the sequence of nearest approximations to x with decreasing denominators
     on the other side of x is (n - k * u)/(d - k * v). This is nearer
     to or further from x than u/v according as 2 * k * v < or > d.
     Iteration of cfsim(x,8) until an integer is obtained gives a sequence of
     "good" approximations to x with decreasing denominators and
     correspondingly decreasing accuracy; each denominator is less than half
     the preceding denominator.	 (Unlike the "forward" sequence of
     continued-fraction approximants these are not necessarily alternately
     greater than and less than x.)
     Some other properties:
     For rnd = 0 or 1 and any x, or rnd = 8 or 16 and x with den(x) > 2:
		cfsim(n + x, rnd) = n + cfsim(x, rnd).
     This equation also holds for the other values of rnd if n + x and x
     have the same sign.
     For rnd = 2, 3, 8 or 16, and any x:
		cfsim(-x, rnd) = -cfsim(x, rnd).
     If rnd = 8 or 16, except for integer x or 1/x for rnd = 8, and
     zero x for rnd = 16:
		cfsim(1/x, rnd) = 1/cfsim(x, rnd).
EXAMPLE
    ; c = config("mode", "frac");
    ; print cfsim(43/30, 0), cfsim(43/30, 1), cfsim(43/30, 8), cfsim(43/30,16)
    10/7 33/23 10/7 33/23
    ; x = pi(1e-20); c = config("mode", "frac");
    ; while (!isint(x)) {x = cfsim(x,8); if (den(x) < 1e6) print x,:;}
    1146408/364913 312689/99532 104348/33215 355/113 22/7 3
LIMITS
    none
LINK LIBRARY
    NUMBER *qcfsim(NUMBER *x, long rnd)
SEE ALSO
    cfappr
## Copyright (C) 1999  Landon Curt Noll
##
## Calc is open software; you can redistribute it and/or modify it under
## the terms of the version 2.1 of the GNU Lesser General Public License
## as published by the Free Software Foundation.
##
## Calc is distributed in the hope that it will be useful, but WITHOUT
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
## or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU Lesser General
## Public License for more details.
##
## A copy of version 2.1 of the GNU Lesser General Public License is
## distributed with calc under the filename COPYING-LGPL.  You should have
## received a copy with calc; if not, write to Free Software Foundation, Inc.
## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
##
## @(#) $Revision: 30.1 $
## @(#) $Id: cfsim,v 30.1 2007/03/16 11:10:42 chongo Exp $
## @(#) $Source: /usr/local/src/cmd/calc/help/RCS/cfsim,v $
##
## Under source code control:	1994/09/30 01:29:45
## File existed as early as:	1994
##
## chongo <was here> /\oo/\	http://www.isthe.com/chongo/
## Share and enjoy!  :-)	http://www.isthe.com/chongo/tech/comp/calc/
 |