if( ((long)x[1] - (long)EXPONE) >= ((long)MAXEXP - (long)EXPONE)/2 )
{
qlog( x, y );
qadd( qlog2, y, y ); if( sign )
qneg( y ); return0;
}
qmul( x, x, a ); /* sqrt( x**2 + 1 ) */
qadd( qone, a, a );
qsqrt( a, a );
qadd( x, a, a );
qlog( a, y ); /* log( x + sqrt(...) */ if( sign )
qneg( y ); return0;
cfrac:
qmul( x, x, z ); /* z = x * x */
qadd( qone, z, a ); /* a = sqrt( z + 1.0 ) */
qsqrt( a, a );
i = NBITS/6; /* 8 */
n = 2*i+1; /* 17 for x < .05, convergence to 1e-17 */
qclear( s );
do
{
j = i * (i-1);
ltoq( &j, b ); /* b = j * z */
qmul( b, z, b );
ltoq( &n, xx ); /* s = b/(s+n) */
qadd( s, xx, xx );
qdiv( xx, b, s );
n -= 2;
ltoq( &n, xx ); /* s = b/(s+n) */
qadd( s, xx, xx );
qdiv( xx, b, s );
n -= 2;
i -= 2;
} while( n > 1 );
/* a * x / (1+s) */
qadd( qone, s, s );
qdiv( s, a, a );
qmul( a, x, y ); if( sign )
qneg( y ); return0;
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-06-14)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.