diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/LICENSE b/lib/node_modules/@stdlib/math/base/special/tanhf/LICENSE new file mode 100644 index 000000000000..3e825d2f4fbe --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/LICENSE @@ -0,0 +1,196 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + +DEPENDENCIES & ATTRIBUTION + +The library links against the following external libraries or contains +implementations from the following external libraries, which have their own +licenses: + +* Cephes + +Copyright (c) 1984-2000 Stephen L. Moshier + +Some software in this archive may be from the book _Methods and Programs for +Mathematical Functions_ (Prentice-Hall or Simon & Schuster International, 1989) +or from the Cephes Mathematical Library, a commercial product. In either event, +it is copyrighted by the author. What you see here may be used freely but it +comes with no support or guarantee. + +Stephen L. Moshier +moshier@na-net.ornl.gov diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/README.md b/lib/node_modules/@stdlib/math/base/special/tanhf/README.md new file mode 100644 index 000000000000..91bc76337810 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/README.md @@ -0,0 +1,210 @@ + + +# tanhf + +> Compute the [hyperbolic tangent][hyperbolic-tangent] of a single-precision floating-point number. + +
+ +The [hyperbolic tangent][hyperbolic-tangent] function is defined as + + + +```math +y = \tanh(x) = \frac{\sinh(x)}{\cosh(x)} = \frac{e^x - e^{-x}}{e^x + e^{-x}} +``` + + + + + +
+ + + +
+ +## Usage + +```javascript +var tanhf = require( '@stdlib/math/base/special/tanhf' ); +``` + +#### tanhf( x ) + +Computes the [hyperbolic tangent][hyperbolic-tangent] of a single-precision floating-point number `x`. + +```javascript +var v = tanhf( 0.0 ); +// returns 0.0 + +v = tanhf( 2.0 ); +// returns ~0.964 + +v = tanhf( -2.0 ); +// returns ~-0.964 + +v = tanhf( Infinity ); +// returns 1.0 + +v = tanhf( NaN ); +// returns NaN +``` + +
+ + + +
+ +## Examples + + + +```javascript +var uniform = require( '@stdlib/random/array/uniform' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); +var tanhf = require( '@stdlib/math/base/special/tanhf' ); + +var opts = { + 'dtype': 'float32' +}; +var x = uniform( 100, -5.0, 5.0, opts ); + +logEachMap( 'tanhf(%0.4f) = %0.4f', x, tanhf ); +``` + +
+ + + + + +* * * + +
+ +## C APIs + + + +
+ +
+ + + + + +
+ +### Usage + +```c +#include "stdlib/math/base/special/tanhf.h" +``` + +#### stdlib_base_tanhf( x ) + +Computes the [hyperbolic tangent][hyperbolic-tangent] of a single-precision floating-point number. + +```c +float out = stdlib_base_tanhf( 2.0f ); +// returns ~0.964f + +out = stdlib_base_tanhf( -2.0f ); +// returns ~-0.964f +``` + +The function accepts the following arguments: + +- **x**: `[in] float` input value. + +```c +float stdlib_base_tanhf( const float x ); +``` + +
+ + + + + +
+ +
+ + + + + +
+ +### Examples + +```c +#include "stdlib/math/base/special/tanhf.h" +#include + +int main( void ) { + const float x[] = { -5.0f, -3.89f, -2.78f, -1.67f, -0.56f, 0.56f, 1.67f, 2.78f, 3.89f, 5.0f }; + + float v; + int i; + for ( i = 0; i < 10; i++ ) { + v = stdlib_base_tanhf( x[ i ] ); + printf( "tanhf(%f) = %f\n", x[ i ], v ); + } +} +``` + +
+ + + +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/benchmark/benchmark.js b/lib/node_modules/@stdlib/math/base/special/tanhf/benchmark/benchmark.js new file mode 100644 index 000000000000..daccffd29dea --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/benchmark/benchmark.js @@ -0,0 +1,54 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var bench = require( '@stdlib/bench' ); +var uniform = require( '@stdlib/random/array/uniform' ); +var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); +var pkg = require( './../package.json' ).name; +var tanhf = require( './../lib' ); + + +// MAIN // + +bench( pkg, function benchmark( b ) { + var x; + var y; + var i; + + x = uniform( 100, -5.0, 5.0, { + 'dtype': 'float32' + }); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = tanhf( x[ i%x.length ] ); + if ( isnanf( y ) ) { + b.fail( 'should not return NaN' ); + } + } + b.toc(); + if ( isnanf( y ) ) { + b.fail( 'should not return NaN' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/benchmark/benchmark.native.js b/lib/node_modules/@stdlib/math/base/special/tanhf/benchmark/benchmark.native.js new file mode 100644 index 000000000000..263c29e45c75 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/benchmark/benchmark.native.js @@ -0,0 +1,64 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var resolve = require( 'path' ).resolve; +var bench = require( '@stdlib/bench' ); +var uniform = require( '@stdlib/random/array/uniform' ); +var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); +var tryRequire = require( '@stdlib/utils/try-require' ); +var format = require( '@stdlib/string/format' ); +var pkg = require( './../package.json' ).name; + + +// VARIABLES // + +var tanhf = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( tanhf instanceof Error ) +}; + + +// MAIN // + +bench( format( '%s::native', pkg ), opts, function benchmark( b ) { + var x; + var y; + var i; + + x = uniform( 100, -5.0, 5.0, { + 'dtype': 'float32' + }); + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + y = tanhf( x[ i%x.length ] ); + if ( isnanf( y ) ) { + b.fail( 'should not return NaN' ); + } + } + b.toc(); + if ( isnanf( y ) ) { + b.fail( 'should not return NaN' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/benchmark/c/Makefile b/lib/node_modules/@stdlib/math/base/special/tanhf/benchmark/c/Makefile new file mode 100644 index 000000000000..928de45a1a06 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/benchmark/c/Makefile @@ -0,0 +1,127 @@ +#/ +# @license Apache-2.0 +# +# Copyright (c) 2026 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +#/ + + +# VARIABLES # + +ifndef VERBOSE + QUIET := @ +else + QUIET := +endif + +# Determine the OS ([1][1], [2][2]). +# +# [1]: https://en.wikipedia.org/wiki/Uname#Examples +# [2]: http://stackoverflow.com/a/27776822/2225624 +OS ?= $(shell uname) +ifneq (, $(findstring MINGW,$(OS))) + OS := WINNT +else +ifneq (, $(findstring MSYS,$(OS))) + OS := WINNT +else +ifneq (, $(findstring CYGWIN,$(OS))) + OS := WINNT +else +ifneq (, $(findstring Windows_NT,$(OS))) + OS := WINNT +endif +endif +endif +endif + +# Define the program used for compiling C source files: +ifdef C_COMPILER + CC := $(C_COMPILER) +else + CC := gcc +endif + +# Define the command-line options when compiling C files: +CFLAGS ?= \ + -std=c99 \ + -O3 \ + -Wall \ + -pedantic + +# Determine whether to generate position independent code ([1][1], [2][2]). +# +# [1]: https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options +# [2]: http://stackoverflow.com/questions/5311515/gcc-fpic-option +ifeq ($(OS), WINNT) + fPIC ?= +else + fPIC ?= -fPIC +endif + +# List of C targets: +c_targets := benchmark.out + + +# RULES # + +#/ +# Compiles C source files. +# +# @param {string} [C_COMPILER] - C compiler +# @param {string} [CFLAGS] - C compiler flags +# @param {(string|void)} [fPIC] - compiler flag indicating whether to generate position independent code +# +# @example +# make +# +# @example +# make all +#/ +all: $(c_targets) + +.PHONY: all + +#/ +# Compiles C source files. +# +# @private +# @param {string} CC - C compiler +# @param {string} CFLAGS - C compiler flags +# @param {(string|void)} fPIC - compiler flag indicating whether to generate position independent code +#/ +$(c_targets): %.out: %.c + $(QUIET) $(CC) $(CFLAGS) $(fPIC) -o $@ $< -lm + +#/ +# Runs compiled benchmarks. +# +# @example +# make run +#/ +run: $(c_targets) + $(QUIET) ./$< + +.PHONY: run + +#/ +# Removes generated files. +# +# @example +# make clean +#/ +clean: + $(QUIET) -rm -f *.o *.out + +.PHONY: clean diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/benchmark/c/benchmark.c b/lib/node_modules/@stdlib/math/base/special/tanhf/benchmark/c/benchmark.c new file mode 100644 index 000000000000..24c9c64a27e6 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/benchmark/c/benchmark.c @@ -0,0 +1,137 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#include +#include +#include +#include +#include + +#define NAME "tanhf" +#define ITERATIONS 1000000 +#define REPEATS 3 + +/** +* Prints the TAP version. +*/ +static void print_version( void ) { + printf( "TAP version 13\n" ); +} + +/** +* Prints the TAP summary. +* +* @param total total number of tests +* @param passing total number of passing tests +*/ +static void print_summary( int total, int passing ) { + printf( "#\n" ); + printf( "1..%d\n", total ); // TAP plan + printf( "# total %d\n", total ); + printf( "# pass %d\n", passing ); + printf( "#\n" ); + printf( "# ok\n" ); +} + +/** +* Prints benchmarks results. +* +* @param elapsed elapsed time in seconds +*/ +static void print_results( double elapsed ) { + double rate = (double)ITERATIONS / elapsed; + printf( " ---\n" ); + printf( " iterations: %d\n", ITERATIONS ); + printf( " elapsed: %0.9f\n", elapsed ); + printf( " rate: %0.9f\n", rate ); + printf( " ...\n" ); +} + +/** +* Returns a clock time. +* +* @return clock time +*/ +static double tic( void ) { + struct timeval now; + gettimeofday( &now, NULL ); + return (double)now.tv_sec + (double)now.tv_usec/1.0e6; +} + +/** +* Generates a random number on the interval [min,max). +* +* @param min minimum value (inclusive) +* @param max maximum value (exclusive) +* @return random number +*/ +static float random_uniform( const float min, const float max ) { + float v = (float)rand() / ( (float)RAND_MAX + 1.0f ); + return min + ( v*(max-min) ); +} + +/** +* Runs a benchmark. +* +* @return elapsed time in seconds +*/ +static double benchmark( void ) { + double elapsed; + float x[ 100 ]; + double t; + float y; + int i; + + for ( i = 0; i < 100; i++ ) { + x[ i ] = random_uniform( -5.0f, 5.0f ); + } + + t = tic(); + for ( i = 0; i < ITERATIONS; i++ ) { + y = tanhf( x[ i%100 ] ); + if ( y != y ) { + printf( "should not return NaN\n" ); + break; + } + } + elapsed = tic() - t; + if ( y != y ) { + printf( "should not return NaN\n" ); + } + return elapsed; +} + +/** +* Main execution sequence. +*/ +int main( void ) { + double elapsed; + int i; + + // Use the current time to seed the random number generator: + srand( time( NULL ) ); + + print_version(); + for ( i = 0; i < REPEATS; i++ ) { + printf( "# c::%s\n", NAME ); + elapsed = benchmark(); + print_results( elapsed ); + printf( "ok %d benchmark finished\n", i+1 ); + } + print_summary( REPEATS, REPEATS ); +} diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/benchmark/c/native/Makefile b/lib/node_modules/@stdlib/math/base/special/tanhf/benchmark/c/native/Makefile new file mode 100644 index 000000000000..979768abbcec --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/benchmark/c/native/Makefile @@ -0,0 +1,146 @@ +#/ +# @license Apache-2.0 +# +# Copyright (c) 2026 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +#/ + +# VARIABLES # + +ifndef VERBOSE + QUIET := @ +else + QUIET := +endif + +# Determine the OS ([1][1], [2][2]). +# +# [1]: https://en.wikipedia.org/wiki/Uname#Examples +# [2]: http://stackoverflow.com/a/27776822/2225624 +OS ?= $(shell uname) +ifneq (, $(findstring MINGW,$(OS))) + OS := WINNT +else +ifneq (, $(findstring MSYS,$(OS))) + OS := WINNT +else +ifneq (, $(findstring CYGWIN,$(OS))) + OS := WINNT +else +ifneq (, $(findstring Windows_NT,$(OS))) + OS := WINNT +endif +endif +endif +endif + +# Define the program used for compiling C source files: +ifdef C_COMPILER + CC := $(C_COMPILER) +else + CC := gcc +endif + +# Define the command-line options when compiling C files: +CFLAGS ?= \ + -std=c99 \ + -O3 \ + -Wall \ + -pedantic + +# Determine whether to generate position independent code ([1][1], [2][2]). +# +# [1]: https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options +# [2]: http://stackoverflow.com/questions/5311515/gcc-fpic-option +ifeq ($(OS), WINNT) + fPIC ?= +else + fPIC ?= -fPIC +endif + +# List of includes (e.g., `-I /foo/bar -I /beep/boop/include`): +INCLUDE ?= + +# List of source files: +SOURCE_FILES ?= + +# List of libraries (e.g., `-lopenblas -lpthread`): +LIBRARIES ?= + +# List of library paths (e.g., `-L /foo/bar -L /beep/boop`): +LIBPATH ?= + +# List of C targets: +c_targets := benchmark.out + + +# RULES # + +#/ +# Compiles source files. +# +# @param {string} [C_COMPILER] - C compiler (e.g., `gcc`) +# @param {string} [CFLAGS] - C compiler options +# @param {(string|void)} [fPIC] - compiler flag determining whether to generate position independent code (e.g., `-fPIC`) +# @param {string} [INCLUDE] - list of includes (e.g., `-I /foo/bar -I /beep/boop/include`) +# @param {string} [SOURCE_FILES] - list of source files +# @param {string} [LIBPATH] - list of library paths (e.g., `-L /foo/bar -L /beep/boop`) +# @param {string} [LIBRARIES] - list of libraries (e.g., `-lopenblas -lpthread`) +# +# @example +# make +# +# @example +# make all +#/ +all: $(c_targets) + +.PHONY: all + +#/ +# Compiles C source files. +# +# @private +# @param {string} CC - C compiler (e.g., `gcc`) +# @param {string} CFLAGS - C compiler options +# @param {(string|void)} fPIC - compiler flag determining whether to generate position independent code (e.g., `-fPIC`) +# @param {string} INCLUDE - list of includes (e.g., `-I /foo/bar`) +# @param {string} SOURCE_FILES - list of source files +# @param {string} LIBPATH - list of library paths (e.g., `-L /foo/bar`) +# @param {string} LIBRARIES - list of libraries (e.g., `-lopenblas`) +#/ +$(c_targets): %.out: %.c + $(QUIET) $(CC) $(CFLAGS) $(fPIC) $(INCLUDE) -o $@ $(SOURCE_FILES) $< $(LIBPATH) -lm $(LIBRARIES) + +#/ +# Runs compiled benchmarks. +# +# @example +# make run +#/ +run: $(c_targets) + $(QUIET) ./$< + +.PHONY: run + +#/ +# Removes generated files. +# +# @example +# make clean +#/ +clean: + $(QUIET) -rm -f *.o *.out + +.PHONY: clean diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/special/tanhf/benchmark/c/native/benchmark.c new file mode 100644 index 000000000000..df2c80aa0045 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/benchmark/c/native/benchmark.c @@ -0,0 +1,138 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#include "stdlib/math/base/special/tanhf.h" +#include +#include +#include +#include +#include + +#define NAME "tanhf" +#define ITERATIONS 1000000 +#define REPEATS 3 + +/** +* Prints the TAP version. +*/ +static void print_version( void ) { + printf( "TAP version 13\n" ); +} + +/** +* Prints the TAP summary. +* +* @param total total number of tests +* @param passing total number of passing tests +*/ +static void print_summary( int total, int passing ) { + printf( "#\n" ); + printf( "1..%d\n", total ); // TAP plan + printf( "# total %d\n", total ); + printf( "# pass %d\n", passing ); + printf( "#\n" ); + printf( "# ok\n" ); +} + +/** +* Prints benchmarks results. +* +* @param elapsed elapsed time in seconds +*/ +static void print_results( double elapsed ) { + double rate = (double)ITERATIONS / elapsed; + printf( " ---\n" ); + printf( " iterations: %d\n", ITERATIONS ); + printf( " elapsed: %0.9f\n", elapsed ); + printf( " rate: %0.9f\n", rate ); + printf( " ...\n" ); +} + +/** +* Returns a clock time. +* +* @return clock time +*/ +static double tic( void ) { + struct timeval now; + gettimeofday( &now, NULL ); + return (double)now.tv_sec + (double)now.tv_usec/1.0e6; +} + +/** +* Generates a random number on the interval [min,max). +* +* @param min minimum value (inclusive) +* @param max maximum value (exclusive) +* @return random number +*/ +static float random_uniform( const float min, const float max ) { + float v = (float)rand() / ( (float)RAND_MAX + 1.0f ); + return min + ( v*(max-min) ); +} + +/** +* Runs a benchmark. +* +* @return elapsed time in seconds +*/ +static double benchmark( void ) { + double elapsed; + float x[ 100 ]; + float y; + double t; + int i; + + for ( i = 0; i < 100; i++ ) { + x[ i ] = random_uniform( -5.0f, 5.0f ); + } + + t = tic(); + for ( i = 0; i < ITERATIONS; i++ ) { + y = stdlib_base_tanhf( x[ i%100 ] ); + if ( y != y ) { + printf( "should not return NaN\n" ); + break; + } + } + elapsed = tic() - t; + if ( y != y ) { + printf( "should not return NaN\n" ); + } + return elapsed; +} + +/** +* Main execution sequence. +*/ +int main( void ) { + double elapsed; + int i; + + // Use the current time to seed the random number generator: + srand( time( NULL ) ); + + print_version(); + for ( i = 0; i < REPEATS; i++ ) { + printf( "# c::native::%s\n", NAME ); + elapsed = benchmark(); + print_results( elapsed ); + printf( "ok %d benchmark finished\n", i+1 ); + } + print_summary( REPEATS, REPEATS ); +} diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/binding.gyp b/lib/node_modules/@stdlib/math/base/special/tanhf/binding.gyp new file mode 100644 index 000000000000..0d6508a12e99 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/binding.gyp @@ -0,0 +1,170 @@ +# @license Apache-2.0 +# +# Copyright (c) 2026 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# A `.gyp` file for building a Node.js native add-on. +# +# [1]: https://gyp.gsrc.io/docs/InputFormatReference.md +# [2]: https://gyp.gsrc.io/docs/UserDocumentation.md +{ + # List of files to include in this file: + 'includes': [ + './include.gypi', + ], + + # Define variables to be used throughout the configuration for all targets: + 'variables': { + # Target name should match the add-on export name: + 'addon_target_name%': 'addon', + + # Set variables based on the host OS: + 'conditions': [ + [ + 'OS=="win"', + { + # Define the object file suffix: + 'obj': 'obj', + }, + { + # Define the object file suffix: + 'obj': 'o', + } + ], # end condition (OS=="win") + ], # end conditions + }, # end variables + + # Define compile targets: + 'targets': [ + + # Target to generate an add-on: + { + # The target name should match the add-on export name: + 'target_name': '<(addon_target_name)', + + # Define dependencies: + 'dependencies': [], + + # Define directories which contain relevant include headers: + 'include_dirs': [ + # Local include directory: + '<@(include_dirs)', + ], + + # List of source files: + 'sources': [ + '<@(src_files)', + ], + + # Settings which should be applied when a target's object files are used as linker input: + 'link_settings': { + # Define libraries: + 'libraries': [ + '<@(libraries)', + ], + + # Define library directories: + 'library_dirs': [ + '<@(library_dirs)', + ], + }, + + # C/C++ compiler flags: + 'cflags': [ + # Enable commonly used warning options: + '-Wall', + + # Aggressive optimization: + '-O3', + ], + + # C specific compiler flags: + 'cflags_c': [ + # Specify the C standard to which a program is expected to conform: + '-std=c99', + ], + + # C++ specific compiler flags: + 'cflags_cpp': [ + # Specify the C++ standard to which a program is expected to conform: + '-std=c++11', + ], + + # Linker flags: + 'ldflags': [], + + # Apply conditions based on the host OS: + 'conditions': [ + [ + 'OS=="mac"', + { + # Linker flags: + 'ldflags': [ + '-undefined dynamic_lookup', + '-Wl,-no-pie', + '-Wl,-search_paths_first', + ], + }, + ], # end condition (OS=="mac") + [ + 'OS!="win"', + { + # C/C++ flags: + 'cflags': [ + # Generate platform-independent code: + '-fPIC', + ], + }, + ], # end condition (OS!="win") + ], # end conditions + }, # end target <(addon_target_name) + + # Target to copy a generated add-on to a standard location: + { + 'target_name': 'copy_addon', + + # Declare that the output of this target is not linked: + 'type': 'none', + + # Define dependencies: + 'dependencies': [ + # Require that the add-on be generated before building this target: + '<(addon_target_name)', + ], + + # Define a list of actions: + 'actions': [ + { + 'action_name': 'copy_addon', + 'message': 'Copying addon...', + + # Explicitly list the inputs in the command-line invocation below: + 'inputs': [], + + # Declare the expected outputs: + 'outputs': [ + '<(addon_output_dir)/<(addon_target_name).node', + ], + + # Define the command-line invocation: + 'action': [ + 'cp', + '<(PRODUCT_DIR)/<(addon_target_name).node', + '<(addon_output_dir)/<(addon_target_name).node', + ], + }, + ], # end actions + }, # end target copy_addon + ], # end targets +} diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/docs/repl.txt b/lib/node_modules/@stdlib/math/base/special/tanhf/docs/repl.txt new file mode 100644 index 000000000000..2f2299c911b9 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/docs/repl.txt @@ -0,0 +1,27 @@ + +{{alias}}( x ) + Computes the hyperbolic tangent of a single-precision floating-point number. + + Parameters + ---------- + x: number + Input value. + + Returns + ------- + y: number + Hyperbolic tangent. + + Examples + -------- + > var y = {{alias}}( 0.0 ) + 0.0 + > y = {{alias}}( 2.0 ) + ~0.964 + > y = {{alias}}( -2.0 ) + ~-0.964 + > y = {{alias}}( NaN ) + NaN + + See Also + -------- diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/docs/types/index.d.ts b/lib/node_modules/@stdlib/math/base/special/tanhf/docs/types/index.d.ts new file mode 100644 index 000000000000..34a7b0595da5 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/docs/types/index.d.ts @@ -0,0 +1,48 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +// TypeScript Version: 4.1 + +/** +* Computes the hyperbolic tangent of a single-precision floating-point number. +* +* @param x - input value +* @returns hyperbolic tangent +* +* @example +* var v = tanhf( 0.0 ); +* // returns 0.0 +* +* @example +* var v = tanhf( 2.0 ); +* // returns ~0.964 +* +* @example +* var v = tanhf( -2.0 ); +* // returns ~-0.964 +* +* @example +* var v = tanhf( NaN ); +* // returns NaN +*/ +declare function tanhf( x: number ): number; + + +// EXPORTS // + +export = tanhf; diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/docs/types/test.ts b/lib/node_modules/@stdlib/math/base/special/tanhf/docs/types/test.ts new file mode 100644 index 000000000000..53f926c35e3d --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/docs/types/test.ts @@ -0,0 +1,44 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import tanhf = require( './index' ); + + +// TESTS // + +// The function returns a number... +{ + tanhf( 8 ); // $ExpectType number +} + +// The compiler throws an error if the function is provided a value other than a number... +{ + tanhf( true ); // $ExpectError + tanhf( false ); // $ExpectError + tanhf( null ); // $ExpectError + tanhf( undefined ); // $ExpectError + tanhf( '5' ); // $ExpectError + tanhf( [] ); // $ExpectError + tanhf( {} ); // $ExpectError + tanhf( ( x: number ): number => x ); // $ExpectError +} + +// The compiler throws an error if the function is provided insufficient arguments... +{ + tanhf(); // $ExpectError +} diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/examples/c/Makefile b/lib/node_modules/@stdlib/math/base/special/tanhf/examples/c/Makefile new file mode 100644 index 000000000000..c8f8e9a1517b --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/examples/c/Makefile @@ -0,0 +1,146 @@ +#/ +# @license Apache-2.0 +# +# Copyright (c) 2026 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +#/ + +# VARIABLES # + +ifndef VERBOSE + QUIET := @ +else + QUIET := +endif + +# Determine the OS ([1][1], [2][2]). +# +# [1]: https://en.wikipedia.org/wiki/Uname#Examples +# [2]: http://stackoverflow.com/a/27776822/2225624 +OS ?= $(shell uname) +ifneq (, $(findstring MINGW,$(OS))) + OS := WINNT +else +ifneq (, $(findstring MSYS,$(OS))) + OS := WINNT +else +ifneq (, $(findstring CYGWIN,$(OS))) + OS := WINNT +else +ifneq (, $(findstring Windows_NT,$(OS))) + OS := WINNT +endif +endif +endif +endif + +# Define the program used for compiling C source files: +ifdef C_COMPILER + CC := $(C_COMPILER) +else + CC := gcc +endif + +# Define the command-line options when compiling C files: +CFLAGS ?= \ + -std=c99 \ + -O3 \ + -Wall \ + -pedantic + +# Determine whether to generate position independent code ([1][1], [2][2]). +# +# [1]: https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options +# [2]: http://stackoverflow.com/questions/5311515/gcc-fpic-option +ifeq ($(OS), WINNT) + fPIC ?= +else + fPIC ?= -fPIC +endif + +# List of includes (e.g., `-I /foo/bar -I /beep/boop/include`): +INCLUDE ?= + +# List of source files: +SOURCE_FILES ?= + +# List of libraries (e.g., `-lopenblas -lpthread`): +LIBRARIES ?= + +# List of library paths (e.g., `-L /foo/bar -L /beep/boop`): +LIBPATH ?= + +# List of C targets: +c_targets := example.out + + +# RULES # + +#/ +# Compiles source files. +# +# @param {string} [C_COMPILER] - C compiler (e.g., `gcc`) +# @param {string} [CFLAGS] - C compiler options +# @param {(string|void)} [fPIC] - compiler flag determining whether to generate position independent code (e.g., `-fPIC`) +# @param {string} [INCLUDE] - list of includes (e.g., `-I /foo/bar -I /beep/boop/include`) +# @param {string} [SOURCE_FILES] - list of source files +# @param {string} [LIBPATH] - list of library paths (e.g., `-L /foo/bar -L /beep/boop`) +# @param {string} [LIBRARIES] - list of libraries (e.g., `-lopenblas -lpthread`) +# +# @example +# make +# +# @example +# make all +#/ +all: $(c_targets) + +.PHONY: all + +#/ +# Compiles C source files. +# +# @private +# @param {string} CC - C compiler (e.g., `gcc`) +# @param {string} CFLAGS - C compiler options +# @param {(string|void)} fPIC - compiler flag determining whether to generate position independent code (e.g., `-fPIC`) +# @param {string} INCLUDE - list of includes (e.g., `-I /foo/bar`) +# @param {string} SOURCE_FILES - list of source files +# @param {string} LIBPATH - list of library paths (e.g., `-L /foo/bar`) +# @param {string} LIBRARIES - list of libraries (e.g., `-lopenblas`) +#/ +$(c_targets): %.out: %.c + $(QUIET) $(CC) $(CFLAGS) $(fPIC) $(INCLUDE) -o $@ $(SOURCE_FILES) $< $(LIBPATH) -lm $(LIBRARIES) + +#/ +# Runs compiled examples. +# +# @example +# make run +#/ +run: $(c_targets) + $(QUIET) ./$< + +.PHONY: run + +#/ +# Removes generated files. +# +# @example +# make clean +#/ +clean: + $(QUIET) -rm -f *.o *.out + +.PHONY: clean diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/examples/c/example.c b/lib/node_modules/@stdlib/math/base/special/tanhf/examples/c/example.c new file mode 100644 index 000000000000..ca25731c3131 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/examples/c/example.c @@ -0,0 +1,31 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#include "stdlib/math/base/special/tanhf.h" +#include + +int main( void ) { + const float x[] = { -5.0f, -3.89f, -2.78f, -1.67f, -0.56f, 0.56f, 1.67f, 2.78f, 3.89f, 5.0f }; + + float v; + int i; + for ( i = 0; i < 10; i++ ) { + v = stdlib_base_tanhf( x[ i ] ); + printf( "tanhf(%f) = %f\n", x[ i ], v ); + } +} diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/examples/index.js b/lib/node_modules/@stdlib/math/base/special/tanhf/examples/index.js new file mode 100644 index 000000000000..e8b61d346c9d --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/examples/index.js @@ -0,0 +1,30 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +var uniform = require( '@stdlib/random/array/uniform' ); +var logEachMap = require( '@stdlib/console/log-each-map' ); +var tanhf = require( './../lib' ); + +var opts = { + 'dtype': 'float32' +}; +var x = uniform( 100, -5.0, 5.0, opts ); + +logEachMap( 'tanhf(%0.4f) = %0.4f', x, tanhf ); diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/include.gypi b/lib/node_modules/@stdlib/math/base/special/tanhf/include.gypi new file mode 100644 index 000000000000..bee8d41a2caf --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/include.gypi @@ -0,0 +1,53 @@ +# @license Apache-2.0 +# +# Copyright (c) 2026 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# A GYP include file for building a Node.js native add-on. +# +# Main documentation: +# +# [1]: https://gyp.gsrc.io/docs/InputFormatReference.md +# [2]: https://gyp.gsrc.io/docs/UserDocumentation.md +{ + # Define variables to be used throughout the configuration for all targets: + 'variables': { + # Source directory: + 'src_dir': './src', + + # Include directories: + 'include_dirs': [ + ' 0, true, 'has keys' ); - t.end(); -}); +module.exports = main; diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/lib/main.js b/lib/node_modules/@stdlib/math/base/special/tanhf/lib/main.js new file mode 100644 index 000000000000..03afc799e1c0 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/lib/main.js @@ -0,0 +1,120 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +* +* ## Notice +* +* The original C code, long comment, copyright, license, and constants are from [Cephes]{@link http://www.netlib.org/cephes}. The implementation follows the original, but has been modified for JavaScript. +* +* ```text +* Copyright 1984, 1995, 2000 by Stephen L. Moshier +* +* Some software in this archive may be from the book _Methods and Programs for Mathematical Functions_ (Prentice-Hall or Simon & Schuster International, 1989) or from the Cephes Mathematical Library, a commercial product. In either event, it is copyrighted by the author. What you see here may be used freely but it comes with no support or guarantee. +* +* Stephen L. Moshier +* moshier@na-net.ornl.gov +* ``` +*/ + +'use strict'; + +// MODULES // + +var absf = require( '@stdlib/math/base/special/absf' ); +var expf = require( '@stdlib/math/base/special/expf' ); +var f32 = require( '@stdlib/number/float64/base/to-float32' ); +var MAXLOGF = require( '@stdlib/constants/float32/max-ln' ); +var polyvalP = require( './polyval_p.js' ); + + +// VARIABLES // + +var ZERO = f32( 0.0 ); +var ONE = f32( 1.0 ); +var TWO = f32( 2.0 ); + + +// MAIN // + +/** +* Computes the hyperbolic tangent of a single-precision floating-point number. +* +* ## Method +* +* For \\( |x| < 0.625 \\), we use a polynomial approximation of the form +* +* ```tex +* x + x^3 \mathrm{P}(x) +* ``` +* +* Otherwise, +* +* ```tex +* \begin{align*} +* \operatorname{tanhf}(x) &= \frac{\operatorname{sinhf}(x)}{\operatorname{coshf}(x)} \\ +* &= 1 - \frac{2}{e^{2x} + 1} +* \end{align*} +* ``` +* +* @param {number} x - input value +* @returns {number} hyperbolic tangent +* +* @example +* var v = tanhf( 0.0 ); +* // returns 0.0 +* +* @example +* var v = tanhf( 2.0 ); +* // returns ~0.964 +* +* @example +* var v = tanhf( -2.0 ); +* // returns ~-0.964 +* +* @example +* var v = tanhf( NaN ); +* // returns NaN +*/ +function tanhf( x ) { + var s; + var z; + + x = f32( x ); + z = absf( x ); + if ( z > f32( 0.5 * MAXLOGF ) ) { + return ( x < ZERO ) ? -ONE : ONE; + } + if ( z >= f32( 0.625 ) ) { + s = expf( f32( TWO * z ) ); + z = f32( ONE - f32( TWO / f32( s + ONE ) ) ); + if ( x < ZERO ) { + z = -z; + } + } else { + if ( x === ZERO ) { + return x; // Handle `+-0` + } + s = f32( x * x ); + z = f32( x + f32( f32( x * s ) * polyvalP( s ) ) ); + } + return z; +} + + +// EXPORTS // + +module.exports = tanhf; diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/lib/native.js b/lib/node_modules/@stdlib/math/base/special/tanhf/lib/native.js new file mode 100644 index 000000000000..15c106299264 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/lib/native.js @@ -0,0 +1,46 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var addon = require( './../src/addon.node' ); + + +// MAIN // + +/** +* Computes the hyperbolic tangent of a single-precision floating-point number. +* +* @private +* @param {number} x - input value +* @returns {number} hyperbolic tangent +* +* @example +* var v = tanhf( 2.0 ); +* // returns ~0.964 +*/ +function tanhf( x ) { + return addon( x ); +} + + +// EXPORTS // + +module.exports = tanhf; diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/lib/polyval_p.js b/lib/node_modules/@stdlib/math/base/special/tanhf/lib/polyval_p.js new file mode 100644 index 000000000000..e0dc3ab44481 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/lib/polyval_p.js @@ -0,0 +1,52 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +/* This is a generated file. Do not edit directly. */ +'use strict'; + +// MODULES // + +var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' ); + + +// MAIN // + +/** +* Evaluates a polynomial. +* +* ## Notes +* +* - The implementation uses [Horner's rule][horners-method] for efficient computation. +* +* [horners-method]: https://en.wikipedia.org/wiki/Horner%27s_method +* +* @private +* @param {number} x - value at which to evaluate the polynomial +* @returns {number} evaluated polynomial +*/ +function evalpoly( x ) { + if ( x === 0.0 ) { + return -0.333332819422; + } + return float64ToFloat32(-0.333332819422 + float64ToFloat32(x * float64ToFloat32(0.133314422036 + float64ToFloat32(x * float64ToFloat32(-0.0537397155531 + float64ToFloat32(x * float64ToFloat32(0.0206390887954 + float64ToFloat32(x * -0.00570498872745)))))))); // eslint-disable-line max-len +} + + +// EXPORTS // + +module.exports = evalpoly; diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/manifest.json b/lib/node_modules/@stdlib/math/base/special/tanhf/manifest.json new file mode 100644 index 000000000000..571c807eeb7f --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/manifest.json @@ -0,0 +1,81 @@ +{ + "options": { + "task": "build" + }, + "fields": [ + { + "field": "src", + "resolve": true, + "relative": true + }, + { + "field": "include", + "resolve": true, + "relative": true + }, + { + "field": "libraries", + "resolve": false, + "relative": false + }, + { + "field": "libpath", + "resolve": true, + "relative": false + } + ], + "confs": [ + { + "task": "build", + "src": [ + "./src/main.c" + ], + "include": [ + "./include" + ], + "libraries": [], + "libpath": [], + "dependencies": [ + "@stdlib/math/base/napi/unary", + "@stdlib/math/base/assert/is-nanf", + "@stdlib/math/base/special/absf", + "@stdlib/math/base/special/expf", + "@stdlib/constants/float32/max-ln" + ] + }, + { + "task": "benchmark", + "src": [ + "./src/main.c" + ], + "include": [ + "./include" + ], + "libraries": [], + "libpath": [], + "dependencies": [ + "@stdlib/math/base/assert/is-nanf", + "@stdlib/math/base/special/absf", + "@stdlib/math/base/special/expf", + "@stdlib/constants/float32/max-ln" + ] + }, + { + "task": "examples", + "src": [ + "./src/main.c" + ], + "include": [ + "./include" + ], + "libraries": [], + "libpath": [], + "dependencies": [ + "@stdlib/math/base/assert/is-nanf", + "@stdlib/math/base/special/absf", + "@stdlib/math/base/special/expf", + "@stdlib/constants/float32/max-ln" + ] + } + ] +} diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/package.json b/lib/node_modules/@stdlib/math/base/special/tanhf/package.json new file mode 100644 index 000000000000..164a390f9991 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/package.json @@ -0,0 +1,132 @@ +{ + "name": "@stdlib/math/base/special/tanhf", + "version": "0.0.0", + "description": "Compute the hyperbolic tangent of a single-precision floating-point number.", + "license": "Apache-2.0", + "author": { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + }, + "contributors": [ + { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + } + ], + "main": "./lib", + "gypfile": true, + "directories": { + "benchmark": "./benchmark", + "doc": "./docs", + "example": "./examples", + "include": "./include", + "lib": "./lib", + "scripts": "./scripts", + "src": "./src", + "test": "./test" + }, + "types": "./docs/types", + "scripts": {}, + "homepage": "https://github.com/stdlib-js/stdlib", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/stdlib.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": ">=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "stdmath", + "mathematics", + "math", + "math.tanh", + "tanh", + "tanhf", + "hyperbolic", + "tangent" + ], + "__stdlib__": { + "scaffold": { + "$schema": "math/base@v1.0", + "base_alias": "tanh", + "alias": "tanhf", + "pkg_desc": "compute the hyperbolic tangent of a single-precision floating-point number", + "desc": "computes the hyperbolic tangent of a single-precision floating-point number", + "short_desc": "hyperbolic tangent", + "parameters": [ + { + "name": "x", + "desc": "input value", + "type": { + "javascript": "number", + "jsdoc": "number", + "c": "float", + "dtype": "float32" + }, + "domain": [ + { + "min": "-infinity", + "max": "infinity" + } + ], + "rand": { + "prng": "random/base/uniform", + "parameters": [ + -10, + 10 + ] + }, + "example_values": [ + 0, + 0.1, + -9, + 8, + -1, + 3.5, + -1.6, + -10.2, + 11.3, + -12.4 + ] + } + ], + "output_policy": "real_floating_point_and_generic", + "returns": { + "desc": "hyperbolic tangent", + "type": { + "javascript": "number", + "jsdoc": "number", + "c": "float", + "dtype": "float32" + } + }, + "keywords": [ + "tanh", + "tanhf", + "hyperbolic", + "tangent" + ], + "extra_keywords": [ + "math.tanh" + ] + } + } +} diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/scripts/evalpoly.js b/lib/node_modules/@stdlib/math/base/special/tanhf/scripts/evalpoly.js new file mode 100644 index 000000000000..c9620e46a0e4 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/scripts/evalpoly.js @@ -0,0 +1,123 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +/* +* This script compiles modules for evaluating polynomial functions. If any polynomial coefficients change, this script should be rerun to update the compiled files. +*/ +'use strict'; + +// MODULES // + +var resolve = require( 'path' ).resolve; +var readFileSync = require( '@stdlib/fs/read-file' ).sync; +var writeFileSync = require( '@stdlib/fs/write-file' ).sync; +var currentYear = require( '@stdlib/time/current-year' ); +var substringBefore = require( '@stdlib/string/substring-before' ); +var substringAfter = require( '@stdlib/string/substring-after' ); +var format = require( '@stdlib/string/format' ); +var licenseHeader = require( '@stdlib/_tools/licenses/header' ); +var compile = require( '@stdlib/math/base/tools/evalpoly-compile' ); +var compileC = require( '@stdlib/math/base/tools/evalpoly-compile-c' ); + + +// VARIABLES // + +// Polynomial coefficients ordered in ascending degree... +var P = [ + -0.333332819422, + 0.133314422036, + -0.0537397155531, + 0.0206390887954, + -0.00570498872745 +]; + +// Header to add to output files: +var header = licenseHeader( 'Apache-2.0', 'js', { + 'year': currentYear(), + 'copyright': 'The Stdlib Authors' +}); +header += '\n/* This is a generated file. Do not edit directly. */\n'; + + +// FUNCTIONS // + +/** +* Inserts a compiled function into file content. +* +* @private +* @param {string} text - source content +* @param {string} id - function identifier +* @param {string} str - function string +* @returns {string} updated content +*/ +function insert( text, id, str ) { + var before; + var after; + var begin; + var end; + + begin = '// BEGIN: '+id; + end = '// END: '+id; + + before = substringBefore( text, begin ); + after = substringAfter( text, end ); + + return format( '%s// BEGIN: %s\n\n%s\n%s%s', before, id, str, end, after ); +} + + +// MAIN // + +/** +* Main execution sequence. +* +* @private +*/ +function main() { + var fpath; + var copts; + var opts; + var file; + var str; + + opts = { + 'encoding': 'utf8' + }; + + fpath = resolve( __dirname, '..', 'lib', 'polyval_p.js' ); + str = header + compile( P, { + 'dtype': 'float32' + }); + writeFileSync( fpath, str, opts ); + + copts = { + 'dtype': 'float', + 'name': '' + }; + + fpath = resolve( __dirname, '..', 'src', 'main.c' ); + file = readFileSync( fpath, opts ); + + copts.name = 'polyval_p'; + str = compileC( P, copts ); + file = insert( file, copts.name, str ); + + writeFileSync( fpath, file, opts ); +} + +main(); diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/src/Makefile b/lib/node_modules/@stdlib/math/base/special/tanhf/src/Makefile new file mode 100644 index 000000000000..2caf905cedbe --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/src/Makefile @@ -0,0 +1,70 @@ +#/ +# @license Apache-2.0 +# +# Copyright (c) 2026 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +#/ + +# VARIABLES # + +ifndef VERBOSE + QUIET := @ +else + QUIET := +endif + +# Determine the OS ([1][1], [2][2]). +# +# [1]: https://en.wikipedia.org/wiki/Uname#Examples +# [2]: http://stackoverflow.com/a/27776822/2225624 +OS ?= $(shell uname) +ifneq (, $(findstring MINGW,$(OS))) + OS := WINNT +else +ifneq (, $(findstring MSYS,$(OS))) + OS := WINNT +else +ifneq (, $(findstring CYGWIN,$(OS))) + OS := WINNT +else +ifneq (, $(findstring Windows_NT,$(OS))) + OS := WINNT +endif +endif +endif +endif + + +# RULES # + +#/ +# Removes generated files for building an add-on. +# +# @example +# make clean-addon +#/ +clean-addon: + $(QUIET) -rm -f *.o *.node + +.PHONY: clean-addon + +#/ +# Removes generated files. +# +# @example +# make clean +#/ +clean: clean-addon + +.PHONY: clean diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/src/addon.c b/lib/node_modules/@stdlib/math/base/special/tanhf/src/addon.c new file mode 100644 index 000000000000..0c9b863e3c18 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/src/addon.c @@ -0,0 +1,22 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#include "stdlib/math/base/special/tanhf.h" +#include "stdlib/math/base/napi/unary.h" + +STDLIB_MATH_BASE_NAPI_MODULE_F_F( stdlib_base_tanhf ) diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/src/main.c b/lib/node_modules/@stdlib/math/base/special/tanhf/src/main.c new file mode 100644 index 000000000000..e169ec072232 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/src/main.c @@ -0,0 +1,112 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +* +* ## Notice +* +* The original C code, long comment, copyright, license, and constants are from [Cephes]{@link http://www.netlib.org/cephes}. The implementation follows the original, but has been modified according to project conventions. +* +* ```text +* Copyright 1984, 1995, 2000 by Stephen L. Moshier +* +* Some software in this archive may be from the book _Methods and Programs for Mathematical Functions_ (Prentice-Hall or Simon & Schuster International, 1989) or from the Cephes Mathematical Library, a commercial product. In either event, it is copyrighted by the author. What you see here may be used freely but it comes with no support or guarantee. +* +* Stephen L. Moshier +* moshier@na-net.ornl.gov +* ``` +*/ + +#include "stdlib/math/base/special/tanhf.h" +#include "stdlib/math/base/assert/is_nanf.h" +#include "stdlib/constants/float32/max_ln.h" +#include "stdlib/math/base/special/absf.h" +#include "stdlib/math/base/special/expf.h" + +/* Begin auto-generated functions. The following functions are auto-generated. Do not edit directly. */ + +// BEGIN: polyval_p + +/** +* Evaluates a polynomial. +* +* ## Notes +* +* - The implementation uses [Horner's rule][horners-method] for efficient computation. +* +* [horners-method]: https://en.wikipedia.org/wiki/Horner%27s_method +* +* @param x value at which to evaluate the polynomial +* @return evaluated polynomial +*/ +static float polyval_p( const float x ) { + return -0.333332819422f + (x * (0.133314422036f + (x * (-0.0537397155531f + (x * (0.0206390887954f + (x * -0.00570498872745f))))))); +} + +// END: polyval_p + +/* End auto-generated functions. */ + +/** +* Computes the hyperbolic tangent of a single-precision floating-point number. +* +* ## Method +* +* For |x| < 0.625, we use a polynomial approximation of the form +* +* ```tex +* x + x^3 \mathrm{P}(x) +* ``` +* +* Otherwise, +* +* ```tex +* \begin{align*} +* \operatorname{tanhf}(x) &= \frac{\operatorname{sinhf}(x)}{\operatorname{coshf}(x)} \\ +* &= 1 - \frac{2}{e^{2x} + 1} +* \end{align*} +* ``` +* +* @param x input value +* @return output value +* +* @example +* float out = stdlib_base_tanhf( 0.0f ); +* // returns 0.0f +*/ +float stdlib_base_tanhf( const float x ) { + float s; + float z; + + z = stdlib_base_absf( x ); + if ( z > 0.5f * STDLIB_CONSTANT_FLOAT32_MAX_LN ) { + return ( x < 0.0f ) ? -1.0f : 1.0f; + } + if ( z >= 0.625f ) { + s = stdlib_base_expf( 2.0f * z ); + z = 1.0f - ( 2.0f / ( s + 1.0f ) ); + if ( x < 0.0f ) { + z = -z; + } + } else { + if ( x == 0.0f ) { + return x; // preserves signed zero + } + s = x * x; + z = x + ( x * s * polyval_p( s ) ); + } + return z; +} diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/test/fixtures/python/data.json b/lib/node_modules/@stdlib/math/base/special/tanhf/test/fixtures/python/data.json new file mode 100644 index 000000000000..9aeec65facbc --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/test/fixtures/python/data.json @@ -0,0 +1 @@ +{"x": [-10.0, -9.990010261535645, -9.980019569396973, -9.970029830932617, -9.960040092468262, -9.950050354003906, -9.940059661865234, -9.930069923400879, -9.920080184936523, -9.910089492797852, -9.900099754333496, -9.89011001586914, -9.880120277404785, -9.870129585266113, -9.860139846801758, -9.850150108337402, -9.84015941619873, -9.830169677734375, -9.82017993927002, -9.810190200805664, -9.800199508666992, -9.790209770202637, -9.780220031738281, -9.77022933959961, -9.760239601135254, -9.750249862670898, -9.740260124206543, -9.730269432067871, -9.720279693603516, -9.71028995513916, -9.700299263000488, -9.690309524536133, -9.680319786071777, -9.670330047607422, -9.66033935546875, -9.650349617004395, -9.640359878540039, -9.630369186401367, -9.620379447937012, -9.610389709472656, -9.6003999710083, -9.590409278869629, -9.580419540405273, -9.570429801940918, -9.560439109802246, -9.55044937133789, -9.540459632873535, -9.53046989440918, -9.520479202270508, -9.510489463806152, -9.500499725341797, -9.490509033203125, -9.48051929473877, -9.470529556274414, -9.460539817810059, -9.450549125671387, -9.440559387207031, -9.430569648742676, -9.420578956604004, -9.410589218139648, -9.400599479675293, -9.390609741210938, -9.380619049072266, -9.37062931060791, -9.360639572143555, -9.350648880004883, -9.340659141540527, -9.330669403076172, -9.320679664611816, -9.310688972473145, -9.300699234008789, -9.290709495544434, -9.280719757080078, -9.270729064941406, -9.26073932647705, -9.250749588012695, -9.240758895874023, -9.230769157409668, -9.220779418945312, -9.210789680480957, -9.200798988342285, -9.19080924987793, -9.180819511413574, -9.170828819274902, -9.160839080810547, -9.150849342346191, -9.140859603881836, -9.130868911743164, -9.120879173278809, -9.110889434814453, -9.100898742675781, -9.090909004211426, -9.08091926574707, -9.070929527282715, -9.060938835144043, -9.050949096679688, -9.040959358215332, -9.03096866607666, -9.020978927612305, -9.01098918914795, -9.000999450683594, -8.991008758544922, -8.981019020080566, -8.971029281616211, -8.961038589477539, -8.951048851013184, -8.941059112548828, -8.931069374084473, -8.9210786819458, -8.911088943481445, -8.90109920501709, -8.891108512878418, -8.881118774414062, -8.871129035949707, -8.861139297485352, -8.85114860534668, -8.841158866882324, -8.831169128417969, -8.821178436279297, -8.811188697814941, -8.801198959350586, -8.79120922088623, -8.781218528747559, -8.771228790283203, -8.761239051818848, -8.751248359680176, -8.74125862121582, -8.731268882751465, -8.72127914428711, -8.711288452148438, -8.701298713684082, -8.691308975219727, -8.681318283081055, -8.6713285446167, -8.661338806152344, -8.651349067687988, -8.641358375549316, -8.631368637084961, -8.621378898620605, -8.611388206481934, -8.601398468017578, -8.591408729553223, -8.581418991088867, -8.571428298950195, -8.56143856048584, -8.551448822021484, -8.541458129882812, -8.531468391418457, -8.521478652954102, -8.511488914489746, -8.501498222351074, -8.491508483886719, -8.481518745422363, -8.471528053283691, -8.461538314819336, -8.45154857635498, -8.441558837890625, -8.431568145751953, -8.421578407287598, -8.411588668823242, -8.40159797668457, -8.391608238220215, -8.38161849975586, -8.371628761291504, -8.361638069152832, -8.351648330688477, -8.341658592224121, -8.33166790008545, -8.321678161621094, -8.311688423156738, -8.301698684692383, -8.291707992553711, -8.281718254089355, -8.271728515625, -8.261737823486328, -8.251748085021973, -8.241758346557617, -8.231768608093262, -8.22177791595459, -8.211788177490234, -8.201798439025879, -8.191807746887207, -8.181818008422852, -8.171828269958496, -8.16183853149414, -8.151847839355469, -8.141858100891113, -8.131868362426758, -8.121877670288086, -8.11188793182373, -8.101898193359375, -8.09190845489502, -8.081917762756348, -8.071928024291992, -8.061938285827637, -8.051947593688965, -8.04195785522461, -8.031968116760254, -8.021978378295898, -8.011987686157227, -8.001997947692871, -7.992008209228516, -7.982017993927002, -7.972027778625488, -7.962038040161133, -7.952047824859619, -7.942058086395264, -7.93206787109375, -7.9220781326293945, -7.912087917327881, -7.902097702026367, -7.892107963562012, -7.882117748260498, -7.872128009796143, -7.862137794494629, -7.852148056030273, -7.84215784072876, -7.832167625427246, -7.822177886962891, -7.812187671661377, -7.8021979331970215, -7.792207717895508, -7.782217979431152, -7.772227764129639, -7.762237548828125, -7.7522478103637695, -7.742257595062256, -7.7322678565979, -7.722277641296387, -7.712287902832031, -7.702297687530518, -7.692307472229004, -7.682317733764648, -7.672327518463135, -7.662337779998779, -7.652347564697266, -7.64235782623291, -7.6323676109313965, -7.622377395629883, -7.612387657165527, -7.602397441864014, -7.592407703399658, -7.5824174880981445, -7.572427749633789, -7.562437534332275, -7.552447319030762, -7.542457580566406, -7.532467365264893, -7.522477626800537, -7.512487411499023, -7.502497673034668, -7.492507457733154, -7.482517719268799, -7.472527503967285, -7.4625372886657715, -7.452547550201416, -7.442557334899902, -7.432567596435547, -7.422577381134033, -7.412587642669678, -7.402597427368164, -7.39260721206665, -7.382617473602295, -7.372627258300781, -7.362637519836426, -7.352647304534912, -7.342657566070557, -7.332667350769043, -7.322677135467529, -7.312687397003174, -7.30269718170166, -7.292707443237305, -7.282717227935791, -7.2727274894714355, -7.262737274169922, -7.252747058868408, -7.242757320404053, -7.232767105102539, -7.222777366638184, -7.21278715133667, -7.2027974128723145, -7.192807197570801, -7.182816982269287, -7.172827243804932, -7.162837028503418, -7.1528472900390625, -7.142857074737549, -7.132867336273193, -7.12287712097168, -7.112886905670166, -7.1028971672058105, -7.092906951904297, -7.082917213439941, -7.072926998138428, -7.062937259674072, -7.052947044372559, -7.042956829071045, -7.0329670906066895, -7.022976875305176, -7.01298713684082, -7.002996921539307, -6.993007183074951, -6.9830169677734375, -6.973026752471924, -6.963037014007568, -6.953046798706055, -6.943057060241699, -6.9330668449401855, -6.92307710647583, -6.913086891174316, -6.903096675872803, -6.893106937408447, -6.883116722106934, -6.873126983642578, -6.8631367683410645, -6.853147029876709, -6.843156814575195, -6.833166599273682, -6.823176860809326, -6.8131866455078125, -6.803196907043457, -6.793206691741943, -6.783216953277588, -6.773226737976074, -6.763236999511719, -6.753246784210205, -6.743256568908691, -6.733266830444336, -6.723276615142822, -6.713286876678467, -6.703296661376953, -6.693306922912598, -6.683316707611084, -6.67332649230957, -6.663336753845215, -6.653346538543701, -6.643356800079346, -6.633366584777832, -6.623376846313477, -6.613386631011963, -6.603396415710449, -6.593406677246094, -6.58341646194458, -6.573426723480225, -6.563436508178711, -6.5534467697143555, -6.543456554412842, -6.533466339111328, -6.523476600646973, -6.513486385345459, -6.5034966468811035, -6.49350643157959, -6.483516693115234, -6.473526477813721, -6.463536262512207, -6.453546524047852, -6.443556308746338, -6.433566570281982, -6.423576354980469, -6.413586616516113, -6.4035964012146, -6.393606185913086, -6.3836164474487305, -6.373626232147217, -6.363636493682861, -6.353646278381348, -6.343656539916992, -6.3336663246154785, -6.323676109313965, -6.313686370849609, -6.303696155548096, -6.29370641708374, -6.283716201782227, -6.273726463317871, -6.263736248016357, -6.253746032714844, -6.243756294250488, -6.233766078948975, -6.223776340484619, -6.2137861251831055, -6.20379638671875, -6.193806171417236, -6.183815956115723, -6.173826217651367, -6.1638360023498535, -6.153846263885498, -6.143856048583984, -6.133866310119629, -6.123876094818115, -6.113885879516602, -6.103896141052246, -6.093905925750732, -6.083916187286377, -6.073925971984863, -6.063936233520508, -6.053946018218994, -6.043956279754639, -6.033966064453125, -6.023975849151611, -6.013986110687256, -6.003995895385742, -5.994006156921387, -5.984015941619873, -5.974026203155518, -5.964035987854004, -5.95404577255249, -5.944056034088135, -5.934065818786621, -5.924076080322266, -5.914085865020752, -5.9040961265563965, -5.894105911254883, -5.884115695953369, -5.874125957489014, -5.8641357421875, -5.8541460037231445, -5.844155788421631, -5.834166049957275, -5.824175834655762, -5.814185619354248, -5.804195880889893, -5.794205665588379, -5.784215927124023, -5.77422571182251, -5.764235973358154, -5.754245758056641, -5.744255542755127, -5.7342658042907715, -5.724275588989258, -5.714285850524902, -5.704295635223389, -5.694305896759033, -5.6843156814575195, -5.674325466156006, -5.66433572769165, -5.654345512390137, -5.644355773925781, -5.634365558624268, -5.624375820159912, -5.614385604858398, -5.604395389556885, -5.594405651092529, -5.584415435791016, -5.57442569732666, -5.5644354820251465, -5.554445743560791, -5.544455528259277, -5.534465312957764, -5.524475574493408, -5.5144853591918945, -5.504495620727539, -5.494505405426025, -5.48451566696167, -5.474525451660156, -5.464535236358643, -5.454545497894287, -5.444555282592773, -5.434565544128418, -5.424575328826904, -5.414585590362549, -5.404595375061035, -5.3946051597595215, -5.384615421295166, -5.374625205993652, -5.364635467529297, -5.354645252227783, -5.344655513763428, -5.334665298461914, -5.324675559997559, -5.314685344696045, -5.304695129394531, -5.294705390930176, -5.284715175628662, -5.274725437164307, -5.264735221862793, -5.2547454833984375, -5.244755268096924, -5.23476505279541, -5.224775314331055, -5.214785099029541, -5.2047953605651855, -5.194805145263672, -5.184815406799316, -5.174825191497803, -5.164834976196289, -5.154845237731934, -5.14485502243042, -5.1348652839660645, -5.124875068664551, -5.114885330200195, -5.104895114898682, -5.094904899597168, -5.0849151611328125, -5.074924945831299, -5.064935207366943, -5.05494499206543, -5.044955253601074, -5.0349650382995605, -5.024974822998047, -5.014985084533691, -5.004994869232178, -4.995005130767822, -4.985014915466309, -4.975025177001953, -4.9650349617004395, -4.955044746398926, -4.94505500793457, -4.935064792633057, -4.925075054168701, -4.9150848388671875, -4.905095100402832, -4.895104885101318, -4.885114669799805, -4.875124931335449, -4.8651347160339355, -4.85514497756958, -4.845154762268066, -4.835165023803711, -4.825174808502197, -4.815184593200684, -4.805194854736328, -4.7952046394348145, -4.785214900970459, -4.775224685668945, -4.76523494720459, -4.755244731903076, -4.7452545166015625, -4.735264778137207, -4.725274562835693, -4.715284824371338, -4.705294609069824, -4.695304870605469, -4.685314655303955, -4.675324440002441, -4.665334701538086, -4.655344486236572, -4.645354747772217, -4.635364532470703, -4.625374794006348, -4.615384578704834, -4.6053948402404785, -4.595404624938965, -4.585414409637451, -4.575424671173096, -4.565434455871582, -4.555444717407227, -4.545454502105713, -4.535464763641357, -4.525474548339844, -4.51548433303833, -4.505494594573975, -4.495504379272461, -4.4855146408081055, -4.475524425506592, -4.465534687042236, -4.455544471740723, -4.445554256439209, -4.4355645179748535, -4.42557430267334, -4.415584564208984, -4.405594348907471, -4.395604610443115, -4.385614395141602, -4.375624179840088, -4.365634441375732, -4.355644226074219, -4.345654487609863, -4.33566427230835, -4.325674533843994, -4.3156843185424805, -4.305694103240967, -4.295704364776611, -4.285714149475098, -4.275724411010742, -4.2657341957092285, -4.255744457244873, -4.245754241943359, -4.235764026641846, -4.22577428817749, -4.215784072875977, -4.205794334411621, -4.195804119110107, -4.185814380645752, -4.175824165344238, -4.165833950042725, -4.155844211578369, -4.1458539962768555, -4.1358642578125, -4.125874042510986, -4.115884304046631, -4.105894088745117, -4.0959038734436035, -4.085914134979248, -4.075923919677734, -4.065934181213379, -4.055943965911865, -4.04595422744751, -4.035964012145996, -4.025973796844482, -4.015984058380127, -4.005993843078613, -3.996004104614258, -3.986013889312744, -3.9760239124298096, -3.966033935546875, -3.9560439586639404, -3.946053981781006, -3.9360640048980713, -3.9260740280151367, -3.916083812713623, -3.9060938358306885, -3.896103858947754, -3.8861138820648193, -3.8761239051818848, -3.86613392829895, -3.8561439514160156, -3.846153736114502, -3.8361637592315674, -3.826173782348633, -3.8161838054656982, -3.8061938285827637, -3.796203851699829, -3.7862138748168945, -3.776223659515381, -3.7662336826324463, -3.7562437057495117, -3.746253728866577, -3.7362637519836426, -3.726273775100708, -3.7162837982177734, -3.706293821334839, -3.696303606033325, -3.6863136291503906, -3.676323652267456, -3.6663336753845215, -3.656343698501587, -3.6463537216186523, -3.6363637447357178, -3.626373529434204, -3.6163835525512695, -3.606393575668335, -3.5964035987854004, -3.586413621902466, -3.5764236450195312, -3.5664336681365967, -3.556443452835083, -3.5464534759521484, -3.536463499069214, -3.5264735221862793, -3.5164835453033447, -3.50649356842041, -3.4965035915374756, -3.486513376235962, -3.4765233993530273, -3.4665334224700928, -3.456543445587158, -3.4465534687042236, -3.436563491821289, -3.4265735149383545, -3.416583299636841, -3.4065933227539062, -3.3966033458709717, -3.386613368988037, -3.3766233921051025, -3.366633415222168, -3.3566434383392334, -3.346653461456299, -3.336663246154785, -3.3266732692718506, -3.316683292388916, -3.3066933155059814, -3.296703338623047, -3.2867133617401123, -3.2767233848571777, -3.266733169555664, -3.2567431926727295, -3.246753215789795, -3.2367632389068604, -3.226773262023926, -3.216783285140991, -3.2067933082580566, -3.196803092956543, -3.1868131160736084, -3.176823139190674, -3.1668331623077393, -3.1568431854248047, -3.14685320854187, -3.1368632316589355, -3.126873016357422, -3.1168830394744873, -3.1068930625915527, -3.096903085708618, -3.0869131088256836, -3.076923131942749, -3.0669331550598145, -3.056942939758301, -3.046952962875366, -3.0369629859924316, -3.026973009109497, -3.0169830322265625, -3.006993055343628, -2.9970030784606934, -2.987013101577759, -2.977022886276245, -2.9670329093933105, -2.957042932510376, -2.9470529556274414, -2.937062978744507, -2.9270730018615723, -2.9170830249786377, -2.907092809677124, -2.8971028327941895, -2.887112855911255, -2.8771228790283203, -2.8671329021453857, -2.857142925262451, -2.8471529483795166, -2.837162733078003, -2.8271727561950684, -2.817182779312134, -2.807192802429199, -2.7972028255462646, -2.78721284866333, -2.7772228717803955, -2.767232656478882, -2.7572426795959473, -2.7472527027130127, -2.737262725830078, -2.7272727489471436, -2.717282772064209, -2.7072927951812744, -2.6973025798797607, -2.687312602996826, -2.6773226261138916, -2.667332649230957, -2.6573426723480225, -2.647352695465088, -2.6373627185821533, -2.6273727416992188, -2.617382526397705, -2.6073925495147705, -2.597402572631836, -2.5874125957489014, -2.577422618865967, -2.5674326419830322, -2.5574426651000977, -2.547452449798584, -2.5374624729156494, -2.527472496032715, -2.5174825191497803, -2.5074925422668457, -2.497502565383911, -2.4875125885009766, -2.477522373199463, -2.4675323963165283, -2.4575424194335938, -2.447552442550659, -2.4375624656677246, -2.42757248878479, -2.4175825119018555, -2.407592296600342, -2.3976023197174072, -2.3876123428344727, -2.377622365951538, -2.3676323890686035, -2.357642412185669, -2.3476524353027344, -2.3376622200012207, -2.327672243118286, -2.3176822662353516, -2.307692289352417, -2.2977023124694824, -2.287712335586548, -2.2777223587036133, -2.2677323818206787, -2.257742166519165, -2.2477521896362305, -2.237762212753296, -2.2277722358703613, -2.2177822589874268, -2.207792282104492, -2.1978023052215576, -2.187812089920044, -2.1778221130371094, -2.167832136154175, -2.1578421592712402, -2.1478521823883057, -2.137862205505371, -2.1278722286224365, -2.117882013320923, -2.1078920364379883, -2.0979020595550537, -2.087912082672119, -2.0779221057891846, -2.06793212890625, -2.0579421520233154, -2.0479519367218018, -2.037961959838867, -2.0279719829559326, -2.017982006072998, -2.0079920291900635, -1.998002052307129, -1.9880119562149048, -1.9780219793319702, -1.9680320024490356, -1.9580419063568115, -1.948051929473877, -1.9380619525909424, -1.9280719757080078, -1.9180818796157837, -1.9080919027328491, -1.8981019258499146, -1.8881118297576904, -1.8781218528747559, -1.8681318759918213, -1.8581418991088867, -1.8481518030166626, -1.838161826133728, -1.8281718492507935, -1.8181818723678589, -1.8081917762756348, -1.7982017993927002, -1.7882118225097656, -1.7782217264175415, -1.768231749534607, -1.7582417726516724, -1.7482517957687378, -1.7382616996765137, -1.728271722793579, -1.7182817459106445, -1.7082916498184204, -1.6983016729354858, -1.6883116960525513, -1.6783217191696167, -1.6683316230773926, -1.658341646194458, -1.6483516693115234, -1.6383616924285889, -1.6283715963363647, -1.6183816194534302, -1.6083916425704956, -1.5984015464782715, -1.588411569595337, -1.5784215927124023, -1.5684316158294678, -1.5584415197372437, -1.548451542854309, -1.5384615659713745, -1.5284714698791504, -1.5184814929962158, -1.5084915161132812, -1.4985015392303467, -1.4885114431381226, -1.478521466255188, -1.4685314893722534, -1.4585415124893188, -1.4485514163970947, -1.4385614395141602, -1.4285714626312256, -1.4185813665390015, -1.408591389656067, -1.3986014127731323, -1.3886114358901978, -1.3786213397979736, -1.368631362915039, -1.3586413860321045, -1.3486512899398804, -1.3386613130569458, -1.3286713361740112, -1.3186813592910767, -1.3086912631988525, -1.298701286315918, -1.2887113094329834, -1.2787213325500488, -1.2687312364578247, -1.2587412595748901, -1.2487512826919556, -1.2387611865997314, -1.2287712097167969, -1.2187812328338623, -1.2087912559509277, -1.1988011598587036, -1.188811182975769, -1.1788212060928345, -1.1688311100006104, -1.1588411331176758, -1.1488511562347412, -1.1388611793518066, -1.1288710832595825, -1.118881106376648, -1.1088911294937134, -1.0989011526107788, -1.0889110565185547, -1.0789210796356201, -1.0689311027526855, -1.0589410066604614, -1.0489510297775269, -1.0389610528945923, -1.0289710760116577, -1.0189809799194336, -1.008991003036499, -0.9990010261535645, -0.9890109896659851, -0.9790209531784058, -0.9690309762954712, -0.9590409398078918, -0.9490509629249573, -0.9390609264373779, -0.9290709495544434, -0.919080913066864, -0.9090909361839294, -0.8991008996963501, -0.8891108632087708, -0.8791208863258362, -0.8691308498382568, -0.8591408729553223, -0.8491508364677429, -0.8391608595848083, -0.829170823097229, -0.8191808462142944, -0.8091908097267151, -0.7992007732391357, -0.7892107963562012, -0.7792207598686218, -0.7692307829856873, -0.7592407464981079, -0.7492507696151733, -0.739260733127594, -0.7292707562446594, -0.7192807197570801, -0.7092906832695007, -0.6993007063865662, -0.6893106698989868, -0.6793206930160522, -0.6693306565284729, -0.6593406796455383, -0.649350643157959, -0.6393606662750244, -0.6293706297874451, -0.6193805932998657, -0.6093906164169312, -0.5994005799293518, -0.5894106030464172, -0.5794205665588379, -0.5694305896759033, -0.559440553188324, -0.5494505763053894, -0.5394605398178101, -0.5294705033302307, -0.5194805264472961, -0.5094904899597168, -0.4995005130767822, -0.4895104765892029, -0.4795204699039459, -0.46953046321868896, -0.459540456533432, -0.44955044984817505, -0.4395604431629181, -0.42957043647766113, -0.4195804297924042, -0.4095904231071472, -0.39960038661956787, -0.3896103799343109, -0.37962037324905396, -0.369630366563797, -0.35964035987854004, -0.3496503531932831, -0.3396603465080261, -0.32967033982276917, -0.3196803331375122, -0.30969029664993286, -0.2997002899646759, -0.28971028327941895, -0.279720276594162, -0.26973026990890503, -0.25974026322364807, -0.2497502565383911, -0.23976023495197296, -0.229770228266716, -0.21978022158145905, -0.2097902148962021, -0.19980019330978394, -0.18981018662452698, -0.17982017993927002, -0.16983017325401306, -0.1598401665687561, -0.14985014498233795, -0.139860138297081, -0.12987013161182404, -0.11988011747598648, -0.10989011079072952, -0.09990009665489197, -0.08991008996963501, -0.07992008328437805, -0.0699300691485405, -0.05994005873799324, -0.049950048327445984, -0.039960041642189026, -0.02997002936899662, -0.019980020821094513, -0.009990010410547256, 0.0, 0.009990010410547256, 0.019980020821094513, 0.02997002936899662, 0.039960041642189026, 0.049950048327445984, 0.05994005873799324, 0.0699300691485405, 0.07992008328437805, 0.08991008996963501, 0.09990009665489197, 0.10989011079072952, 0.11988011747598648, 0.12987013161182404, 0.139860138297081, 0.14985014498233795, 0.1598401665687561, 0.16983017325401306, 0.17982017993927002, 0.18981018662452698, 0.19980019330978394, 0.2097902148962021, 0.21978022158145905, 0.229770228266716, 0.23976023495197296, 0.2497502565383911, 0.25974026322364807, 0.26973026990890503, 0.279720276594162, 0.28971028327941895, 0.2997002899646759, 0.30969029664993286, 0.3196803331375122, 0.32967033982276917, 0.3396603465080261, 0.3496503531932831, 0.35964035987854004, 0.369630366563797, 0.37962037324905396, 0.3896103799343109, 0.39960038661956787, 0.4095904231071472, 0.4195804297924042, 0.42957043647766113, 0.4395604431629181, 0.44955044984817505, 0.459540456533432, 0.46953046321868896, 0.4795204699039459, 0.4895104765892029, 0.4995005130767822, 0.5094904899597168, 0.5194805264472961, 0.5294705033302307, 0.5394605398178101, 0.5494505763053894, 0.559440553188324, 0.5694305896759033, 0.5794205665588379, 0.5894106030464172, 0.5994005799293518, 0.6093906164169312, 0.6193805932998657, 0.6293706297874451, 0.6393606662750244, 0.649350643157959, 0.6593406796455383, 0.6693306565284729, 0.6793206930160522, 0.6893106698989868, 0.6993007063865662, 0.7092906832695007, 0.7192807197570801, 0.7292707562446594, 0.739260733127594, 0.7492507696151733, 0.7592407464981079, 0.7692307829856873, 0.7792207598686218, 0.7892107963562012, 0.7992007732391357, 0.8091908097267151, 0.8191808462142944, 0.829170823097229, 0.8391608595848083, 0.8491508364677429, 0.8591408729553223, 0.8691308498382568, 0.8791208863258362, 0.8891108632087708, 0.8991008996963501, 0.9090909361839294, 0.919080913066864, 0.9290709495544434, 0.9390609264373779, 0.9490509629249573, 0.9590409398078918, 0.9690309762954712, 0.9790209531784058, 0.9890109896659851, 0.9990010261535645, 1.008991003036499, 1.0189809799194336, 1.0289710760116577, 1.0389610528945923, 1.0489510297775269, 1.0589410066604614, 1.0689311027526855, 1.0789210796356201, 1.0889110565185547, 1.0989011526107788, 1.1088911294937134, 1.118881106376648, 1.1288710832595825, 1.1388611793518066, 1.1488511562347412, 1.1588411331176758, 1.1688311100006104, 1.1788212060928345, 1.188811182975769, 1.1988011598587036, 1.2087912559509277, 1.2187812328338623, 1.2287712097167969, 1.2387611865997314, 1.2487512826919556, 1.2587412595748901, 1.2687312364578247, 1.2787213325500488, 1.2887113094329834, 1.298701286315918, 1.3086912631988525, 1.3186813592910767, 1.3286713361740112, 1.3386613130569458, 1.3486512899398804, 1.3586413860321045, 1.368631362915039, 1.3786213397979736, 1.3886114358901978, 1.3986014127731323, 1.408591389656067, 1.4185813665390015, 1.4285714626312256, 1.4385614395141602, 1.4485514163970947, 1.4585415124893188, 1.4685314893722534, 1.478521466255188, 1.4885114431381226, 1.4985015392303467, 1.5084915161132812, 1.5184814929962158, 1.5284714698791504, 1.5384615659713745, 1.548451542854309, 1.5584415197372437, 1.5684316158294678, 1.5784215927124023, 1.588411569595337, 1.5984015464782715, 1.6083916425704956, 1.6183816194534302, 1.6283715963363647, 1.6383616924285889, 1.6483516693115234, 1.658341646194458, 1.6683316230773926, 1.6783217191696167, 1.6883116960525513, 1.6983016729354858, 1.7082916498184204, 1.7182817459106445, 1.728271722793579, 1.7382616996765137, 1.7482517957687378, 1.7582417726516724, 1.768231749534607, 1.7782217264175415, 1.7882118225097656, 1.7982017993927002, 1.8081917762756348, 1.8181818723678589, 1.8281718492507935, 1.838161826133728, 1.8481518030166626, 1.8581418991088867, 1.8681318759918213, 1.8781218528747559, 1.8881118297576904, 1.8981019258499146, 1.9080919027328491, 1.9180818796157837, 1.9280719757080078, 1.9380619525909424, 1.948051929473877, 1.9580419063568115, 1.9680320024490356, 1.9780219793319702, 1.9880119562149048, 1.998002052307129, 2.0079920291900635, 2.017982006072998, 2.0279719829559326, 2.037961959838867, 2.0479519367218018, 2.0579421520233154, 2.06793212890625, 2.0779221057891846, 2.087912082672119, 2.0979020595550537, 2.1078920364379883, 2.117882013320923, 2.1278722286224365, 2.137862205505371, 2.1478521823883057, 2.1578421592712402, 2.167832136154175, 2.1778221130371094, 2.187812089920044, 2.1978023052215576, 2.207792282104492, 2.2177822589874268, 2.2277722358703613, 2.237762212753296, 2.2477521896362305, 2.257742166519165, 2.2677323818206787, 2.2777223587036133, 2.287712335586548, 2.2977023124694824, 2.307692289352417, 2.3176822662353516, 2.327672243118286, 2.3376622200012207, 2.3476524353027344, 2.357642412185669, 2.3676323890686035, 2.377622365951538, 2.3876123428344727, 2.3976023197174072, 2.407592296600342, 2.4175825119018555, 2.42757248878479, 2.4375624656677246, 2.447552442550659, 2.4575424194335938, 2.4675323963165283, 2.477522373199463, 2.4875125885009766, 2.497502565383911, 2.5074925422668457, 2.5174825191497803, 2.527472496032715, 2.5374624729156494, 2.547452449798584, 2.5574426651000977, 2.5674326419830322, 2.577422618865967, 2.5874125957489014, 2.597402572631836, 2.6073925495147705, 2.617382526397705, 2.6273727416992188, 2.6373627185821533, 2.647352695465088, 2.6573426723480225, 2.667332649230957, 2.6773226261138916, 2.687312602996826, 2.6973025798797607, 2.7072927951812744, 2.717282772064209, 2.7272727489471436, 2.737262725830078, 2.7472527027130127, 2.7572426795959473, 2.767232656478882, 2.7772228717803955, 2.78721284866333, 2.7972028255462646, 2.807192802429199, 2.817182779312134, 2.8271727561950684, 2.837162733078003, 2.8471529483795166, 2.857142925262451, 2.8671329021453857, 2.8771228790283203, 2.887112855911255, 2.8971028327941895, 2.907092809677124, 2.9170830249786377, 2.9270730018615723, 2.937062978744507, 2.9470529556274414, 2.957042932510376, 2.9670329093933105, 2.977022886276245, 2.987013101577759, 2.9970030784606934, 3.006993055343628, 3.0169830322265625, 3.026973009109497, 3.0369629859924316, 3.046952962875366, 3.056942939758301, 3.0669331550598145, 3.076923131942749, 3.0869131088256836, 3.096903085708618, 3.1068930625915527, 3.1168830394744873, 3.126873016357422, 3.1368632316589355, 3.14685320854187, 3.1568431854248047, 3.1668331623077393, 3.176823139190674, 3.1868131160736084, 3.196803092956543, 3.2067933082580566, 3.216783285140991, 3.226773262023926, 3.2367632389068604, 3.246753215789795, 3.2567431926727295, 3.266733169555664, 3.2767233848571777, 3.2867133617401123, 3.296703338623047, 3.3066933155059814, 3.316683292388916, 3.3266732692718506, 3.336663246154785, 3.346653461456299, 3.3566434383392334, 3.366633415222168, 3.3766233921051025, 3.386613368988037, 3.3966033458709717, 3.4065933227539062, 3.416583299636841, 3.4265735149383545, 3.436563491821289, 3.4465534687042236, 3.456543445587158, 3.4665334224700928, 3.4765233993530273, 3.486513376235962, 3.4965035915374756, 3.50649356842041, 3.5164835453033447, 3.5264735221862793, 3.536463499069214, 3.5464534759521484, 3.556443452835083, 3.5664336681365967, 3.5764236450195312, 3.586413621902466, 3.5964035987854004, 3.606393575668335, 3.6163835525512695, 3.626373529434204, 3.6363637447357178, 3.6463537216186523, 3.656343698501587, 3.6663336753845215, 3.676323652267456, 3.6863136291503906, 3.696303606033325, 3.706293821334839, 3.7162837982177734, 3.726273775100708, 3.7362637519836426, 3.746253728866577, 3.7562437057495117, 3.7662336826324463, 3.776223659515381, 3.7862138748168945, 3.796203851699829, 3.8061938285827637, 3.8161838054656982, 3.826173782348633, 3.8361637592315674, 3.846153736114502, 3.8561439514160156, 3.86613392829895, 3.8761239051818848, 3.8861138820648193, 3.896103858947754, 3.9060938358306885, 3.916083812713623, 3.9260740280151367, 3.9360640048980713, 3.946053981781006, 3.9560439586639404, 3.966033935546875, 3.9760239124298096, 3.986013889312744, 3.996004104614258, 4.005993843078613, 4.015984058380127, 4.025973796844482, 4.035964012145996, 4.04595422744751, 4.055943965911865, 4.065934181213379, 4.075923919677734, 4.085914134979248, 4.0959038734436035, 4.105894088745117, 4.115884304046631, 4.125874042510986, 4.1358642578125, 4.1458539962768555, 4.155844211578369, 4.165833950042725, 4.175824165344238, 4.185814380645752, 4.195804119110107, 4.205794334411621, 4.215784072875977, 4.22577428817749, 4.235764026641846, 4.245754241943359, 4.255744457244873, 4.2657341957092285, 4.275724411010742, 4.285714149475098, 4.295704364776611, 4.305694103240967, 4.3156843185424805, 4.325674533843994, 4.33566427230835, 4.345654487609863, 4.355644226074219, 4.365634441375732, 4.375624179840088, 4.385614395141602, 4.395604610443115, 4.405594348907471, 4.415584564208984, 4.42557430267334, 4.4355645179748535, 4.445554256439209, 4.455544471740723, 4.465534687042236, 4.475524425506592, 4.4855146408081055, 4.495504379272461, 4.505494594573975, 4.51548433303833, 4.525474548339844, 4.535464763641357, 4.545454502105713, 4.555444717407227, 4.565434455871582, 4.575424671173096, 4.585414409637451, 4.595404624938965, 4.6053948402404785, 4.615384578704834, 4.625374794006348, 4.635364532470703, 4.645354747772217, 4.655344486236572, 4.665334701538086, 4.675324440002441, 4.685314655303955, 4.695304870605469, 4.705294609069824, 4.715284824371338, 4.725274562835693, 4.735264778137207, 4.7452545166015625, 4.755244731903076, 4.76523494720459, 4.775224685668945, 4.785214900970459, 4.7952046394348145, 4.805194854736328, 4.815184593200684, 4.825174808502197, 4.835165023803711, 4.845154762268066, 4.85514497756958, 4.8651347160339355, 4.875124931335449, 4.885114669799805, 4.895104885101318, 4.905095100402832, 4.9150848388671875, 4.925075054168701, 4.935064792633057, 4.94505500793457, 4.955044746398926, 4.9650349617004395, 4.975025177001953, 4.985014915466309, 4.995005130767822, 5.004994869232178, 5.014985084533691, 5.024974822998047, 5.0349650382995605, 5.044955253601074, 5.05494499206543, 5.064935207366943, 5.074924945831299, 5.0849151611328125, 5.094904899597168, 5.104895114898682, 5.114885330200195, 5.124875068664551, 5.1348652839660645, 5.14485502243042, 5.154845237731934, 5.164834976196289, 5.174825191497803, 5.184815406799316, 5.194805145263672, 5.2047953605651855, 5.214785099029541, 5.224775314331055, 5.23476505279541, 5.244755268096924, 5.2547454833984375, 5.264735221862793, 5.274725437164307, 5.284715175628662, 5.294705390930176, 5.304695129394531, 5.314685344696045, 5.324675559997559, 5.334665298461914, 5.344655513763428, 5.354645252227783, 5.364635467529297, 5.374625205993652, 5.384615421295166, 5.3946051597595215, 5.404595375061035, 5.414585590362549, 5.424575328826904, 5.434565544128418, 5.444555282592773, 5.454545497894287, 5.464535236358643, 5.474525451660156, 5.48451566696167, 5.494505405426025, 5.504495620727539, 5.5144853591918945, 5.524475574493408, 5.534465312957764, 5.544455528259277, 5.554445743560791, 5.5644354820251465, 5.57442569732666, 5.584415435791016, 5.594405651092529, 5.604395389556885, 5.614385604858398, 5.624375820159912, 5.634365558624268, 5.644355773925781, 5.654345512390137, 5.66433572769165, 5.674325466156006, 5.6843156814575195, 5.694305896759033, 5.704295635223389, 5.714285850524902, 5.724275588989258, 5.7342658042907715, 5.744255542755127, 5.754245758056641, 5.764235973358154, 5.77422571182251, 5.784215927124023, 5.794205665588379, 5.804195880889893, 5.814185619354248, 5.824175834655762, 5.834166049957275, 5.844155788421631, 5.8541460037231445, 5.8641357421875, 5.874125957489014, 5.884115695953369, 5.894105911254883, 5.9040961265563965, 5.914085865020752, 5.924076080322266, 5.934065818786621, 5.944056034088135, 5.95404577255249, 5.964035987854004, 5.974026203155518, 5.984015941619873, 5.994006156921387, 6.003995895385742, 6.013986110687256, 6.023975849151611, 6.033966064453125, 6.043956279754639, 6.053946018218994, 6.063936233520508, 6.073925971984863, 6.083916187286377, 6.093905925750732, 6.103896141052246, 6.113885879516602, 6.123876094818115, 6.133866310119629, 6.143856048583984, 6.153846263885498, 6.1638360023498535, 6.173826217651367, 6.183815956115723, 6.193806171417236, 6.20379638671875, 6.2137861251831055, 6.223776340484619, 6.233766078948975, 6.243756294250488, 6.253746032714844, 6.263736248016357, 6.273726463317871, 6.283716201782227, 6.29370641708374, 6.303696155548096, 6.313686370849609, 6.323676109313965, 6.3336663246154785, 6.343656539916992, 6.353646278381348, 6.363636493682861, 6.373626232147217, 6.3836164474487305, 6.393606185913086, 6.4035964012146, 6.413586616516113, 6.423576354980469, 6.433566570281982, 6.443556308746338, 6.453546524047852, 6.463536262512207, 6.473526477813721, 6.483516693115234, 6.49350643157959, 6.5034966468811035, 6.513486385345459, 6.523476600646973, 6.533466339111328, 6.543456554412842, 6.5534467697143555, 6.563436508178711, 6.573426723480225, 6.58341646194458, 6.593406677246094, 6.603396415710449, 6.613386631011963, 6.623376846313477, 6.633366584777832, 6.643356800079346, 6.653346538543701, 6.663336753845215, 6.67332649230957, 6.683316707611084, 6.693306922912598, 6.703296661376953, 6.713286876678467, 6.723276615142822, 6.733266830444336, 6.743256568908691, 6.753246784210205, 6.763236999511719, 6.773226737976074, 6.783216953277588, 6.793206691741943, 6.803196907043457, 6.8131866455078125, 6.823176860809326, 6.833166599273682, 6.843156814575195, 6.853147029876709, 6.8631367683410645, 6.873126983642578, 6.883116722106934, 6.893106937408447, 6.903096675872803, 6.913086891174316, 6.92307710647583, 6.9330668449401855, 6.943057060241699, 6.953046798706055, 6.963037014007568, 6.973026752471924, 6.9830169677734375, 6.993007183074951, 7.002996921539307, 7.01298713684082, 7.022976875305176, 7.0329670906066895, 7.042956829071045, 7.052947044372559, 7.062937259674072, 7.072926998138428, 7.082917213439941, 7.092906951904297, 7.1028971672058105, 7.112886905670166, 7.12287712097168, 7.132867336273193, 7.142857074737549, 7.1528472900390625, 7.162837028503418, 7.172827243804932, 7.182816982269287, 7.192807197570801, 7.2027974128723145, 7.21278715133667, 7.222777366638184, 7.232767105102539, 7.242757320404053, 7.252747058868408, 7.262737274169922, 7.2727274894714355, 7.282717227935791, 7.292707443237305, 7.30269718170166, 7.312687397003174, 7.322677135467529, 7.332667350769043, 7.342657566070557, 7.352647304534912, 7.362637519836426, 7.372627258300781, 7.382617473602295, 7.39260721206665, 7.402597427368164, 7.412587642669678, 7.422577381134033, 7.432567596435547, 7.442557334899902, 7.452547550201416, 7.4625372886657715, 7.472527503967285, 7.482517719268799, 7.492507457733154, 7.502497673034668, 7.512487411499023, 7.522477626800537, 7.532467365264893, 7.542457580566406, 7.552447319030762, 7.562437534332275, 7.572427749633789, 7.5824174880981445, 7.592407703399658, 7.602397441864014, 7.612387657165527, 7.622377395629883, 7.6323676109313965, 7.64235782623291, 7.652347564697266, 7.662337779998779, 7.672327518463135, 7.682317733764648, 7.692307472229004, 7.702297687530518, 7.712287902832031, 7.722277641296387, 7.7322678565979, 7.742257595062256, 7.7522478103637695, 7.762237548828125, 7.772227764129639, 7.782217979431152, 7.792207717895508, 7.8021979331970215, 7.812187671661377, 7.822177886962891, 7.832167625427246, 7.84215784072876, 7.852148056030273, 7.862137794494629, 7.872128009796143, 7.882117748260498, 7.892107963562012, 7.902097702026367, 7.912087917327881, 7.9220781326293945, 7.93206787109375, 7.942058086395264, 7.952047824859619, 7.962038040161133, 7.972027778625488, 7.982017993927002, 7.992008209228516, 8.001997947692871, 8.011987686157227, 8.021978378295898, 8.031968116760254, 8.04195785522461, 8.051947593688965, 8.061938285827637, 8.071928024291992, 8.081917762756348, 8.09190845489502, 8.101898193359375, 8.11188793182373, 8.121877670288086, 8.131868362426758, 8.141858100891113, 8.151847839355469, 8.16183853149414, 8.171828269958496, 8.181818008422852, 8.191807746887207, 8.201798439025879, 8.211788177490234, 8.22177791595459, 8.231768608093262, 8.241758346557617, 8.251748085021973, 8.261737823486328, 8.271728515625, 8.281718254089355, 8.291707992553711, 8.301698684692383, 8.311688423156738, 8.321678161621094, 8.33166790008545, 8.341658592224121, 8.351648330688477, 8.361638069152832, 8.371628761291504, 8.38161849975586, 8.391608238220215, 8.40159797668457, 8.411588668823242, 8.421578407287598, 8.431568145751953, 8.441558837890625, 8.45154857635498, 8.461538314819336, 8.471528053283691, 8.481518745422363, 8.491508483886719, 8.501498222351074, 8.511488914489746, 8.521478652954102, 8.531468391418457, 8.541458129882812, 8.551448822021484, 8.56143856048584, 8.571428298950195, 8.581418991088867, 8.591408729553223, 8.601398468017578, 8.611388206481934, 8.621378898620605, 8.631368637084961, 8.641358375549316, 8.651349067687988, 8.661338806152344, 8.6713285446167, 8.681318283081055, 8.691308975219727, 8.701298713684082, 8.711288452148438, 8.72127914428711, 8.731268882751465, 8.74125862121582, 8.751248359680176, 8.761239051818848, 8.771228790283203, 8.781218528747559, 8.79120922088623, 8.801198959350586, 8.811188697814941, 8.821178436279297, 8.831169128417969, 8.841158866882324, 8.85114860534668, 8.861139297485352, 8.871129035949707, 8.881118774414062, 8.891108512878418, 8.90109920501709, 8.911088943481445, 8.9210786819458, 8.931069374084473, 8.941059112548828, 8.951048851013184, 8.961038589477539, 8.971029281616211, 8.981019020080566, 8.991008758544922, 9.000999450683594, 9.01098918914795, 9.020978927612305, 9.03096866607666, 9.040959358215332, 9.050949096679688, 9.060938835144043, 9.070929527282715, 9.08091926574707, 9.090909004211426, 9.100898742675781, 9.110889434814453, 9.120879173278809, 9.130868911743164, 9.140859603881836, 9.150849342346191, 9.160839080810547, 9.170828819274902, 9.180819511413574, 9.19080924987793, 9.200798988342285, 9.210789680480957, 9.220779418945312, 9.230769157409668, 9.240758895874023, 9.250749588012695, 9.26073932647705, 9.270729064941406, 9.280719757080078, 9.290709495544434, 9.300699234008789, 9.310688972473145, 9.320679664611816, 9.330669403076172, 9.340659141540527, 9.350648880004883, 9.360639572143555, 9.37062931060791, 9.380619049072266, 9.390609741210938, 9.400599479675293, 9.410589218139648, 9.420578956604004, 9.430569648742676, 9.440559387207031, 9.450549125671387, 9.460539817810059, 9.470529556274414, 9.48051929473877, 9.490509033203125, 9.500499725341797, 9.510489463806152, 9.520479202270508, 9.53046989440918, 9.540459632873535, 9.55044937133789, 9.560439109802246, 9.570429801940918, 9.580419540405273, 9.590409278869629, 9.6003999710083, 9.610389709472656, 9.620379447937012, 9.630369186401367, 9.640359878540039, 9.650349617004395, 9.66033935546875, 9.670330047607422, 9.680319786071777, 9.690309524536133, 9.700299263000488, 9.71028995513916, 9.720279693603516, 9.730269432067871, 9.740260124206543, 9.750249862670898, 9.760239601135254, 9.77022933959961, 9.780220031738281, 9.790209770202637, 9.800199508666992, 9.810190200805664, 9.82017993927002, 9.830169677734375, 9.84015941619873, 9.850150108337402, 9.860139846801758, 9.870129585266113, 9.880120277404785, 9.89011001586914, 9.900099754333496, 9.910089492797852, 9.920080184936523, 9.930069923400879, 9.940059661865234, 9.950050354003906, 9.960040092468262, 9.970029830932617, 9.980019569396973, 9.990010261535645, 10.0], "expected": [-1.0, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998211860657, -0.9999998211860657, -0.9999998211860657, -0.9999998211860657, -0.9999998211860657, -0.9999998211860657, -0.9999998211860657, -0.9999998211860657, -0.9999998211860657, -0.9999998211860657, -0.9999998211860657, -0.9999998211860657, -0.9999998211860657, -0.9999998211860657, -0.9999998211860657, -0.9999998211860657, -0.9999998211860657, -0.9999998211860657, -0.9999998211860657, -0.9999998211860657, -0.9999997615814209, -0.9999997615814209, -0.9999997615814209, -0.9999997615814209, -0.9999997615814209, -0.9999997615814209, -0.9999997615814209, -0.9999997615814209, -0.9999997615814209, -0.9999997615814209, -0.9999997615814209, -0.9999997615814209, -0.9999997615814209, -0.9999997615814209, -0.9999997615814209, -0.9999997615814209, -0.9999997615814209, -0.9999997615814209, -0.9999997615814209, -0.9999997615814209, -0.9999997615814209, -0.9999997615814209, -0.9999997615814209, -0.9999997019767761, -0.9999997019767761, -0.9999997019767761, -0.9999997019767761, -0.9999997019767761, -0.9999997019767761, -0.9999997019767761, -0.9999997019767761, -0.9999997019767761, -0.9999997019767761, -0.9999996423721313, -0.9999996423721313, -0.9999996423721313, -0.9999996423721313, -0.9999996423721313, -0.9999996423721313, -0.9999996423721313, -0.9999996423721313, -0.9999995827674866, -0.9999995827674866, -0.9999995827674866, -0.9999995827674866, -0.9999995827674866, -0.9999995827674866, -0.9999995827674866, -0.9999995231628418, -0.9999995231628418, -0.9999995231628418, -0.9999995231628418, -0.9999995231628418, -0.9999995231628418, -0.999999463558197, -0.999999463558197, -0.999999463558197, -0.999999463558197, -0.999999463558197, -0.9999994039535522, -0.9999994039535522, -0.9999994039535522, -0.9999994039535522, -0.9999994039535522, -0.9999993443489075, -0.9999993443489075, -0.9999993443489075, -0.9999993443489075, -0.9999993443489075, -0.9999992847442627, -0.9999992847442627, -0.9999992847442627, -0.9999992847442627, -0.9999992251396179, -0.9999992251396179, -0.9999992251396179, -0.9999991655349731, -0.9999991655349731, -0.9999991655349731, -0.9999991655349731, -0.9999991059303284, -0.9999991059303284, -0.9999991059303284, -0.9999990463256836, -0.9999990463256836, -0.9999990463256836, -0.9999989867210388, -0.9999989867210388, -0.9999989867210388, -0.999998927116394, -0.999998927116394, -0.999998927116394, -0.9999988675117493, -0.9999988675117493, -0.9999988675117493, -0.9999988079071045, -0.9999988079071045, -0.9999987483024597, -0.9999987483024597, -0.9999986886978149, -0.9999986886978149, -0.9999986886978149, -0.9999986290931702, -0.9999986290931702, -0.9999985694885254, -0.9999985694885254, -0.9999985098838806, -0.9999985098838806, -0.9999984502792358, -0.9999984502792358, -0.9999983906745911, -0.9999983906745911, -0.9999983310699463, -0.9999982714653015, -0.9999982118606567, -0.9999982118606567, -0.999998152256012, -0.999998152256012, -0.9999980926513672, -0.9999980330467224, -0.9999980330467224, -0.9999979734420776, -0.9999979138374329, -0.9999979138374329, -0.9999978542327881, -0.9999977946281433, -0.9999977350234985, -0.9999977350234985, -0.9999976754188538, -0.999997615814209, -0.9999975562095642, -0.9999974966049194, -0.9999974966049194, -0.9999974370002747, -0.9999973773956299, -0.9999973177909851, -0.9999972581863403, -0.9999971985816956, -0.9999971389770508, -0.999997079372406, -0.9999970197677612, -0.9999969601631165, -0.9999969005584717, -0.9999968409538269, -0.9999967813491821, -0.9999967217445374, -0.9999966621398926, -0.9999966025352478, -0.999996542930603, -0.9999964833259583, -0.9999963641166687, -0.9999963045120239, -0.9999962449073792, -0.9999961853027344, -0.9999960660934448, -0.9999960064888, -0.9999959468841553, -0.9999958276748657, -0.999995768070221, -0.9999956488609314, -0.9999955892562866, -0.9999955296516418, -0.9999954104423523, -0.9999952912330627, -0.999995231628418, -0.9999951124191284, -0.9999950528144836, -0.9999949336051941, -0.9999948143959045, -0.999994695186615, -0.9999946355819702, -0.9999945163726807, -0.9999943971633911, -0.9999942779541016, -0.999994158744812, -0.9999940395355225, -0.9999939203262329, -0.9999938011169434, -0.9999936819076538, -0.9999935626983643, -0.9999934434890747, -0.9999933242797852, -0.9999931454658508, -0.9999930262565613, -0.9999929070472717, -0.9999927282333374, -0.9999926090240479, -0.9999924302101135, -0.999992311000824, -0.9999921321868896, -0.9999919533729553, -0.9999918341636658, -0.9999916553497314, -0.9999914765357971, -0.9999912977218628, -0.9999911189079285, -0.9999909400939941, -0.9999907612800598, -0.9999905824661255, -0.9999904036521912, -0.9999902248382568, -0.9999899864196777, -0.9999898076057434, -0.9999896287918091, -0.99998939037323, -0.9999891519546509, -0.9999889731407166, -0.9999887347221375, -0.9999884963035583, -0.9999882578849792, -0.9999880194664001, -0.999987781047821, -0.9999876022338867, -0.9999873638153076, -0.9999870657920837, -0.9999868273735046, -0.9999865293502808, -0.9999862909317017, -0.9999859929084778, -0.9999856948852539, -0.9999854564666748, -0.9999851584434509, -0.999984860420227, -0.9999845027923584, -0.9999842047691345, -0.9999839067459106, -0.999983549118042, -0.9999832510948181, -0.9999828934669495, -0.9999825358390808, -0.9999821782112122, -0.9999818205833435, -0.9999814629554749, -0.9999811053276062, -0.9999807476997375, -0.9999803304672241, -0.9999799132347107, -0.999979555606842, -0.9999791383743286, -0.9999787211418152, -0.999978244304657, -0.9999778270721436, -0.9999773502349854, -0.9999769330024719, -0.9999764561653137, -0.9999759793281555, -0.9999755024909973, -0.9999750256538391, -0.9999744892120361, -0.9999739527702332, -0.999973475933075, -0.999972939491272, -0.9999723434448242, -0.9999718070030212, -0.9999712705612183, -0.9999706745147705, -0.9999700784683228, -0.999969482421875, -0.9999688267707825, -0.9999682307243347, -0.9999675750732422, -0.9999669194221497, -0.9999662637710571, -0.9999655485153198, -0.9999648928642273, -0.99996417760849, -0.9999634623527527, -0.9999626874923706, -0.9999619722366333, -0.9999611973762512, -0.9999604225158691, -0.9999595880508423, -0.9999587535858154, -0.9999579787254333, -0.9999570846557617, -0.9999562501907349, -0.9999553561210632, -0.9999544620513916, -0.9999535083770752, -0.9999526143074036, -0.9999516606330872, -0.999950647354126, -0.9999496340751648, -0.9999486207962036, -0.9999476075172424, -0.9999465346336365, -0.9999454617500305, -0.9999443888664246, -0.9999432563781738, -0.9999421238899231, -0.9999409317970276, -0.9999397397041321, -0.9999385476112366, -0.9999372959136963, -0.999936044216156, -0.999934732913971, -0.9999334216117859, -0.999932050704956, -0.9999306797981262, -0.9999293088912964, -0.9999278783798218, -0.9999263882637024, -0.999924898147583, -0.9999234080314636, -0.9999218583106995, -0.9999203085899353, -0.9999186992645264, -0.9999170303344727, -0.999915361404419, -0.9999136328697205, -0.999911904335022, -0.9999101161956787, -0.9999083280563354, -0.9999064803123474, -0.9999045729637146, -0.9999026656150818, -0.9999006986618042, -0.9998986721038818, -0.9998966455459595, -0.9998945593833923, -0.9998924136161804, -0.9998902678489685, -0.9998880624771118, -0.9998857975006104, -0.9998834729194641, -0.9998811483383179, -0.9998787045478821, -0.9998762607574463, -0.9998737573623657, -0.9998712539672852, -0.999868631362915, -0.9998659491539001, -0.9998632669448853, -0.9998605251312256, -0.9998577237129211, -0.9998548030853271, -0.9998518824577332, -0.9998489022254944, -0.9998458623886108, -0.9998427629470825, -0.9998395442962646, -0.9998363256454468, -0.9998330473899841, -0.9998296499252319, -0.9998262524604797, -0.999822735786438, -0.9998191595077515, -0.9998154640197754, -0.9998117685317993, -0.9998079538345337, -0.9998040795326233, -0.9998001456260681, -0.9997960925102234, -0.9997919797897339, -0.9997878074645996, -0.9997835159301758, -0.9997791647911072, -0.999774694442749, -0.9997701048851013, -0.9997655153274536, -0.9997607469558716, -0.9997559189796448, -0.9997510313987732, -0.9997459650039673, -0.9997408390045166, -0.9997356534004211, -0.9997302889823914, -0.9997248649597168, -0.9997193217277527, -0.999713659286499, -0.9997078776359558, -0.999701976776123, -0.9996959567070007, -0.9996898174285889, -0.9996835589408875, -0.9996771812438965, -0.9996706247329712, -0.9996640086174011, -0.9996572136878967, -0.9996502995491028, -0.9996432662010193, -0.9996360540390015, -0.9996287226676941, -0.9996212124824524, -0.9996135830879211, -0.9996057748794556, -0.9995978474617004, -0.9995896816253662, -0.9995813965797424, -0.9995729923248291, -0.9995643496513367, -0.9995555877685547, -0.9995465874671936, -0.999537467956543, -0.9995281100273132, -0.9995185732841492, -0.9995089173316956, -0.9994989633560181, -0.999488890171051, -0.9994785785675049, -0.9994680285453796, -0.9994572997093201, -0.9994463324546814, -0.9994351863861084, -0.9994238018989563, -0.9994121789932251, -0.9994003176689148, -0.9993882179260254, -0.9993758797645569, -0.9993632435798645, -0.9993504285812378, -0.9993373155593872, -0.9993239045143127, -0.999310314655304, -0.9992963671684265, -0.99928218126297, -0.9992676973342896, -0.9992529153823853, -0.9992378354072571, -0.999222457408905, -0.9992067813873291, -0.9991908073425293, -0.9991744756698608, -0.9991578459739685, -0.9991407990455627, -0.9991235136985779, -0.9991058111190796, -0.9990877509117126, -0.9990693926811218, -0.9990506172180176, -0.9990314841270447, -0.9990119338035583, -0.9989919662475586, -0.9989716410636902, -0.9989508986473083, -0.9989297389984131, -0.9989081621170044, -0.9988861680030823, -0.998863697052002, -0.9988407492637634, -0.9988173842430115, -0.9987935423851013, -0.9987691640853882, -0.9987443685531616, -0.9987190365791321, -0.9986932277679443, -0.9986668825149536, -0.9986399412155151, -0.9986125230789185, -0.9985845685005188, -0.9985560178756714, -0.9985268712043762, -0.9984971880912781, -0.9984669089317322, -0.9984359741210938, -0.9984044432640076, -0.9983722567558289, -0.9983394145965576, -0.9983059763908386, -0.9982717633247375, -0.9982369542121887, -0.9982013702392578, -0.9981651306152344, -0.9981281757354736, -0.998090386390686, -0.9980518817901611, -0.9980126023292542, -0.9979725480079651, -0.997931718826294, -0.9978899955749512, -0.9978474378585815, -0.9978040456771851, -0.9977598190307617, -0.997714638710022, -0.9976685643196106, -0.9976215958595276, -0.9975736141204834, -0.9975247383117676, -0.9974748492240906, -0.9974239468574524, -0.997372031211853, -0.9973190426826477, -0.9972650408744812, -0.997209906578064, -0.9971536993980408, -0.9970963001251221, -0.9970378279685974, -0.9969781041145325, -0.9969172477722168, -0.9968551397323608, -0.9967917799949646, -0.9967271089553833, -0.9966611862182617, -0.9965938925743103, -0.9965252876281738, -0.9964553117752075, -0.9963839054107666, -0.9963110685348511, -0.9962367415428162, -0.9961609244346619, -0.9960836172103882, -0.9960047006607056, -0.9959242343902588, -0.9958421587944031, -0.9957584738731384, -0.9956730604171753, -0.9955859184265137, -0.9954970479011536, -0.9954063296318054, -0.9953138828277588, -0.9952195286750793, -0.9951232671737671, -0.995025098323822, -0.9949249625205994, -0.9948228001594543, -0.994718611240387, -0.9946123361587524, -0.9945038557052612, -0.9943932890892029, -0.9942804574966431, -0.9941653609275818, -0.9940479397773743, -0.9939281940460205, -0.9938060641288757, -0.9936814308166504, -0.9935543537139893, -0.9934247136116028, -0.9932924509048462, -0.9931575059890747, -0.9930199384689331, -0.9928795695304871, -0.9927363991737366, -0.9925903677940369, -0.9924413561820984, -0.9922894239425659, -0.9921344518661499, -0.9919763207435608, -0.9918150901794434, -0.9916505813598633, -0.9914827942848206, -0.9913116693496704, -0.9911370873451233, -0.9909590482711792, -0.9907774329185486, -0.9905921816825867, -0.9904032349586487, -0.9902105331420898, -0.9900139570236206, -0.9898134469985962, -0.9896089434623718, -0.989400327205658, -0.9891875982284546, -0.9889705777168274, -0.9887492656707764, -0.9885234832763672, -0.9882932305335999, -0.9880583882331848, -0.9878188967704773, -0.987574577331543, -0.9873254299163818, -0.9870712757110596, -0.9868121147155762, -0.9865477085113525, -0.9862780570983887, -0.9860031008720398, -0.9857226610183716, -0.9854366183280945, -0.9851449131965637, -0.984847366809845, -0.9845439195632935, -0.9842345118522644, -0.9839188456535339, -0.9835969805717468, -0.9832687377929688, -0.9829339981079102, -0.9825925827026367, -0.9822443723678589, -0.9818893074989319, -0.9815272092819214, -0.9811578989028931, -0.9807813167572021, -0.9803972840309143, -0.9800056219100952, -0.9796062111854553, -0.9791989326477051, -0.9787836074829102, -0.9783600568771362, -0.9779281616210938, -0.9774877429008484, -0.9770386815071106, -0.9765806794166565, -0.9761137366294861, -0.9756375551223755, -0.9751520156860352, -0.974656879901886, -0.9741520881652832, -0.9736372828483582, -0.9731124043464661, -0.9725772738456726, -0.9720315933227539, -0.9714751839637756, -0.9709079265594482, -0.9703295230865479, -0.9697397947311401, -0.9691385626792908, -0.9685255289077759, -0.9679005742073059, -0.9672633409500122, -0.9666137099266052, -0.9659514427185059, -0.9652762413024902, -0.9645878672599792, -0.9638861417770386, -0.9631707072257996, -0.9624414443969727, -0.9616979956626892, -0.9609401226043701, -0.9601675271987915, -0.959380030632019, -0.9585772752761841, -0.9577589631080627, -0.9569248557090759, -0.9560746550559998, -0.9552080631256104, -0.9543247222900391, -0.9534244537353516, -0.9525068402290344, -0.9515715837478638, -0.9506183862686157, -0.9496468901634216, -0.9486567974090576, -0.947647750377655, -0.94661945104599, -0.9455714821815491, -0.9445035457611084, -0.9434152841567993, -0.9423062801361084, -0.9411762356758118, -0.9400246739387512, -0.9388513565063477, -0.9376557469367981, -0.9364376068115234, -0.9351963996887207, -0.933931827545166, -0.9326434135437012, -0.9313307404518127, -0.9299934506416321, -0.928631067276001, -0.927243173122406, -0.925829291343689, -0.9243890643119812, -0.9229219555854797, -0.9214275479316711, -0.919905424118042, -0.9183549880981445, -0.9167758822441101, -0.9151675701141357, -0.913529634475708, -0.9118614792823792, -0.910162627696991, -0.90843266248703, -0.9066709280014038, -0.9048771262168884, -0.9030504822731018, -0.9011906385421753, -0.8992969989776611, -0.8973689675331116, -0.8954060673713684, -0.8934077620506287, -0.8913735151290894, -0.8893026113510132, -0.8871946334838867, -0.8850489854812622, -0.8828650712966919, -0.8806421756744385, -0.8783799409866333, -0.8760775923728943, -0.8737345933914185, -0.8713503479957581, -0.8689242601394653, -0.8664556741714478, -0.8639439344406128, -0.8613885045051575, -0.8587886691093445, -0.8561438918113708, -0.8534534573554993, -0.850716769695282, -0.8479331135749817, -0.8451018929481506, -0.8422225713729858, -0.8392943143844604, -0.8363165259361267, -0.8332885503768921, -0.8302097916603088, -0.8270795345306396, -0.823897123336792, -0.8206618428230286, -0.8173731565475464, -0.8140302896499634, -0.8106325268745422, -0.8071793913841248, -0.8036701083183289, -0.8001039624214172, -0.7964803576469421, -0.792798638343811, -0.7890582084655762, -0.7852582335472107, -0.7813982367515564, -0.7774774432182312, -0.7734953761100769, -0.7694511413574219, -0.7653443813323975, -0.7611742615699768, -0.7569402456283569, -0.7526417374610901, -0.7482781410217285, -0.7438487410545349, -0.7393530607223511, -0.7347904443740845, -0.7301604151725769, -0.7254623174667358, -0.7206956148147583, -0.7158597707748413, -0.7109542489051819, -0.7059786319732666, -0.7009323239326477, -0.6958147883415222, -0.6906256079673767, -0.6853643655776978, -0.6800305247306824, -0.6746237874031067, -0.6691436767578125, -0.6635897755622864, -0.6579617261886597, -0.6522592306137085, -0.646481990814209, -0.6406295299530029, -0.6347017884254456, -0.6286982893943787, -0.6226190328598022, -0.6164635419845581, -0.610231876373291, -0.6039237380027771, -0.5975390076637268, -0.5910776257514954, -0.5845394134521484, -0.5779244899749756, -0.5712326765060425, -0.5644640922546387, -0.5576186776161194, -0.550696611404419, -0.5436980128288269, -0.536622941493988, -0.5294715762138367, -0.5222441554069519, -0.5149409770965576, -0.5075622797012329, -0.5001083612442017, -0.49257951974868774, -0.48497626185417175, -0.4772990047931671, -0.46954813599586487, -0.4617242217063904, -0.45382779836654663, -0.44585949182510376, -0.43781983852386475, -0.4297095835208893, -0.4215293824672699, -0.41328001022338867, -0.4049622714519501, -0.3965769112110138, -0.38812485337257385, -0.3796069920063019, -0.37102431058883667, -0.36237776279449463, -0.35366836190223694, -0.34489721059799194, -0.3360654413700104, -0.3271741271018982, -0.31822454929351807, -0.3092178702354431, -0.30015531182289124, -0.29103830456733704, -0.2818681299686432, -0.2726461589336395, -0.26337382197380066, -0.2540525794029236, -0.2446838766336441, -0.23526926338672638, -0.22581030428409576, -0.2163085639476776, -0.20676569640636444, -0.197183296084404, -0.18756307661533356, -0.17790675163269043, -0.1682160347700119, -0.15849269926548004, -0.14873848855495453, -0.1389552801847458, -0.12914487719535828, -0.11930911988019943, -0.10944989323616028, -0.09956908226013184, -0.08966860175132751, -0.07975035905838013, -0.06981630623340607, -0.059868376702070236, -0.04990854859352112, -0.039938785135746, -0.029961060732603073, -0.01997736282646656, -0.009989677928388119, 0.0, 0.009989677928388119, 0.01997736282646656, 0.029961060732603073, 0.039938785135746, 0.04990854859352112, 0.059868376702070236, 0.06981630623340607, 0.07975035905838013, 0.08966860175132751, 0.09956908226013184, 0.10944989323616028, 0.11930911988019943, 0.12914487719535828, 0.1389552801847458, 0.14873848855495453, 0.15849269926548004, 0.1682160347700119, 0.17790675163269043, 0.18756307661533356, 0.197183296084404, 0.20676569640636444, 0.2163085639476776, 0.22581030428409576, 0.23526926338672638, 0.2446838766336441, 0.2540525794029236, 0.26337382197380066, 0.2726461589336395, 0.2818681299686432, 0.29103830456733704, 0.30015531182289124, 0.3092178702354431, 0.31822454929351807, 0.3271741271018982, 0.3360654413700104, 0.34489721059799194, 0.35366836190223694, 0.36237776279449463, 0.37102431058883667, 0.3796069920063019, 0.38812485337257385, 0.3965769112110138, 0.4049622714519501, 0.41328001022338867, 0.4215293824672699, 0.4297095835208893, 0.43781983852386475, 0.44585949182510376, 0.45382779836654663, 0.4617242217063904, 0.46954813599586487, 0.4772990047931671, 0.48497626185417175, 0.49257951974868774, 0.5001083612442017, 0.5075622797012329, 0.5149409770965576, 0.5222441554069519, 0.5294715762138367, 0.536622941493988, 0.5436980128288269, 0.550696611404419, 0.5576186776161194, 0.5644640922546387, 0.5712326765060425, 0.5779244899749756, 0.5845394134521484, 0.5910776257514954, 0.5975390076637268, 0.6039237380027771, 0.610231876373291, 0.6164635419845581, 0.6226190328598022, 0.6286982893943787, 0.6347017884254456, 0.6406295299530029, 0.646481990814209, 0.6522592306137085, 0.6579617261886597, 0.6635897755622864, 0.6691436767578125, 0.6746237874031067, 0.6800305247306824, 0.6853643655776978, 0.6906256079673767, 0.6958147883415222, 0.7009323239326477, 0.7059786319732666, 0.7109542489051819, 0.7158597707748413, 0.7206956148147583, 0.7254623174667358, 0.7301604151725769, 0.7347904443740845, 0.7393530607223511, 0.7438487410545349, 0.7482781410217285, 0.7526417374610901, 0.7569402456283569, 0.7611742615699768, 0.7653443813323975, 0.7694511413574219, 0.7734953761100769, 0.7774774432182312, 0.7813982367515564, 0.7852582335472107, 0.7890582084655762, 0.792798638343811, 0.7964803576469421, 0.8001039624214172, 0.8036701083183289, 0.8071793913841248, 0.8106325268745422, 0.8140302896499634, 0.8173731565475464, 0.8206618428230286, 0.823897123336792, 0.8270795345306396, 0.8302097916603088, 0.8332885503768921, 0.8363165259361267, 0.8392943143844604, 0.8422225713729858, 0.8451018929481506, 0.8479331135749817, 0.850716769695282, 0.8534534573554993, 0.8561438918113708, 0.8587886691093445, 0.8613885045051575, 0.8639439344406128, 0.8664556741714478, 0.8689242601394653, 0.8713503479957581, 0.8737345933914185, 0.8760775923728943, 0.8783799409866333, 0.8806421756744385, 0.8828650712966919, 0.8850489854812622, 0.8871946334838867, 0.8893026113510132, 0.8913735151290894, 0.8934077620506287, 0.8954060673713684, 0.8973689675331116, 0.8992969989776611, 0.9011906385421753, 0.9030504822731018, 0.9048771262168884, 0.9066709280014038, 0.90843266248703, 0.910162627696991, 0.9118614792823792, 0.913529634475708, 0.9151675701141357, 0.9167758822441101, 0.9183549880981445, 0.919905424118042, 0.9214275479316711, 0.9229219555854797, 0.9243890643119812, 0.925829291343689, 0.927243173122406, 0.928631067276001, 0.9299934506416321, 0.9313307404518127, 0.9326434135437012, 0.933931827545166, 0.9351963996887207, 0.9364376068115234, 0.9376557469367981, 0.9388513565063477, 0.9400246739387512, 0.9411762356758118, 0.9423062801361084, 0.9434152841567993, 0.9445035457611084, 0.9455714821815491, 0.94661945104599, 0.947647750377655, 0.9486567974090576, 0.9496468901634216, 0.9506183862686157, 0.9515715837478638, 0.9525068402290344, 0.9534244537353516, 0.9543247222900391, 0.9552080631256104, 0.9560746550559998, 0.9569248557090759, 0.9577589631080627, 0.9585772752761841, 0.959380030632019, 0.9601675271987915, 0.9609401226043701, 0.9616979956626892, 0.9624414443969727, 0.9631707072257996, 0.9638861417770386, 0.9645878672599792, 0.9652762413024902, 0.9659514427185059, 0.9666137099266052, 0.9672633409500122, 0.9679005742073059, 0.9685255289077759, 0.9691385626792908, 0.9697397947311401, 0.9703295230865479, 0.9709079265594482, 0.9714751839637756, 0.9720315933227539, 0.9725772738456726, 0.9731124043464661, 0.9736372828483582, 0.9741520881652832, 0.974656879901886, 0.9751520156860352, 0.9756375551223755, 0.9761137366294861, 0.9765806794166565, 0.9770386815071106, 0.9774877429008484, 0.9779281616210938, 0.9783600568771362, 0.9787836074829102, 0.9791989326477051, 0.9796062111854553, 0.9800056219100952, 0.9803972840309143, 0.9807813167572021, 0.9811578989028931, 0.9815272092819214, 0.9818893074989319, 0.9822443723678589, 0.9825925827026367, 0.9829339981079102, 0.9832687377929688, 0.9835969805717468, 0.9839188456535339, 0.9842345118522644, 0.9845439195632935, 0.984847366809845, 0.9851449131965637, 0.9854366183280945, 0.9857226610183716, 0.9860031008720398, 0.9862780570983887, 0.9865477085113525, 0.9868121147155762, 0.9870712757110596, 0.9873254299163818, 0.987574577331543, 0.9878188967704773, 0.9880583882331848, 0.9882932305335999, 0.9885234832763672, 0.9887492656707764, 0.9889705777168274, 0.9891875982284546, 0.989400327205658, 0.9896089434623718, 0.9898134469985962, 0.9900139570236206, 0.9902105331420898, 0.9904032349586487, 0.9905921816825867, 0.9907774329185486, 0.9909590482711792, 0.9911370873451233, 0.9913116693496704, 0.9914827942848206, 0.9916505813598633, 0.9918150901794434, 0.9919763207435608, 0.9921344518661499, 0.9922894239425659, 0.9924413561820984, 0.9925903677940369, 0.9927363991737366, 0.9928795695304871, 0.9930199384689331, 0.9931575059890747, 0.9932924509048462, 0.9934247136116028, 0.9935543537139893, 0.9936814308166504, 0.9938060641288757, 0.9939281940460205, 0.9940479397773743, 0.9941653609275818, 0.9942804574966431, 0.9943932890892029, 0.9945038557052612, 0.9946123361587524, 0.994718611240387, 0.9948228001594543, 0.9949249625205994, 0.995025098323822, 0.9951232671737671, 0.9952195286750793, 0.9953138828277588, 0.9954063296318054, 0.9954970479011536, 0.9955859184265137, 0.9956730604171753, 0.9957584738731384, 0.9958421587944031, 0.9959242343902588, 0.9960047006607056, 0.9960836172103882, 0.9961609244346619, 0.9962367415428162, 0.9963110685348511, 0.9963839054107666, 0.9964553117752075, 0.9965252876281738, 0.9965938925743103, 0.9966611862182617, 0.9967271089553833, 0.9967917799949646, 0.9968551397323608, 0.9969172477722168, 0.9969781041145325, 0.9970378279685974, 0.9970963001251221, 0.9971536993980408, 0.997209906578064, 0.9972650408744812, 0.9973190426826477, 0.997372031211853, 0.9974239468574524, 0.9974748492240906, 0.9975247383117676, 0.9975736141204834, 0.9976215958595276, 0.9976685643196106, 0.997714638710022, 0.9977598190307617, 0.9978040456771851, 0.9978474378585815, 0.9978899955749512, 0.997931718826294, 0.9979725480079651, 0.9980126023292542, 0.9980518817901611, 0.998090386390686, 0.9981281757354736, 0.9981651306152344, 0.9982013702392578, 0.9982369542121887, 0.9982717633247375, 0.9983059763908386, 0.9983394145965576, 0.9983722567558289, 0.9984044432640076, 0.9984359741210938, 0.9984669089317322, 0.9984971880912781, 0.9985268712043762, 0.9985560178756714, 0.9985845685005188, 0.9986125230789185, 0.9986399412155151, 0.9986668825149536, 0.9986932277679443, 0.9987190365791321, 0.9987443685531616, 0.9987691640853882, 0.9987935423851013, 0.9988173842430115, 0.9988407492637634, 0.998863697052002, 0.9988861680030823, 0.9989081621170044, 0.9989297389984131, 0.9989508986473083, 0.9989716410636902, 0.9989919662475586, 0.9990119338035583, 0.9990314841270447, 0.9990506172180176, 0.9990693926811218, 0.9990877509117126, 0.9991058111190796, 0.9991235136985779, 0.9991407990455627, 0.9991578459739685, 0.9991744756698608, 0.9991908073425293, 0.9992067813873291, 0.999222457408905, 0.9992378354072571, 0.9992529153823853, 0.9992676973342896, 0.99928218126297, 0.9992963671684265, 0.999310314655304, 0.9993239045143127, 0.9993373155593872, 0.9993504285812378, 0.9993632435798645, 0.9993758797645569, 0.9993882179260254, 0.9994003176689148, 0.9994121789932251, 0.9994238018989563, 0.9994351863861084, 0.9994463324546814, 0.9994572997093201, 0.9994680285453796, 0.9994785785675049, 0.999488890171051, 0.9994989633560181, 0.9995089173316956, 0.9995185732841492, 0.9995281100273132, 0.999537467956543, 0.9995465874671936, 0.9995555877685547, 0.9995643496513367, 0.9995729923248291, 0.9995813965797424, 0.9995896816253662, 0.9995978474617004, 0.9996057748794556, 0.9996135830879211, 0.9996212124824524, 0.9996287226676941, 0.9996360540390015, 0.9996432662010193, 0.9996502995491028, 0.9996572136878967, 0.9996640086174011, 0.9996706247329712, 0.9996771812438965, 0.9996835589408875, 0.9996898174285889, 0.9996959567070007, 0.999701976776123, 0.9997078776359558, 0.999713659286499, 0.9997193217277527, 0.9997248649597168, 0.9997302889823914, 0.9997356534004211, 0.9997408390045166, 0.9997459650039673, 0.9997510313987732, 0.9997559189796448, 0.9997607469558716, 0.9997655153274536, 0.9997701048851013, 0.999774694442749, 0.9997791647911072, 0.9997835159301758, 0.9997878074645996, 0.9997919797897339, 0.9997960925102234, 0.9998001456260681, 0.9998040795326233, 0.9998079538345337, 0.9998117685317993, 0.9998154640197754, 0.9998191595077515, 0.999822735786438, 0.9998262524604797, 0.9998296499252319, 0.9998330473899841, 0.9998363256454468, 0.9998395442962646, 0.9998427629470825, 0.9998458623886108, 0.9998489022254944, 0.9998518824577332, 0.9998548030853271, 0.9998577237129211, 0.9998605251312256, 0.9998632669448853, 0.9998659491539001, 0.999868631362915, 0.9998712539672852, 0.9998737573623657, 0.9998762607574463, 0.9998787045478821, 0.9998811483383179, 0.9998834729194641, 0.9998857975006104, 0.9998880624771118, 0.9998902678489685, 0.9998924136161804, 0.9998945593833923, 0.9998966455459595, 0.9998986721038818, 0.9999006986618042, 0.9999026656150818, 0.9999045729637146, 0.9999064803123474, 0.9999083280563354, 0.9999101161956787, 0.999911904335022, 0.9999136328697205, 0.999915361404419, 0.9999170303344727, 0.9999186992645264, 0.9999203085899353, 0.9999218583106995, 0.9999234080314636, 0.999924898147583, 0.9999263882637024, 0.9999278783798218, 0.9999293088912964, 0.9999306797981262, 0.999932050704956, 0.9999334216117859, 0.999934732913971, 0.999936044216156, 0.9999372959136963, 0.9999385476112366, 0.9999397397041321, 0.9999409317970276, 0.9999421238899231, 0.9999432563781738, 0.9999443888664246, 0.9999454617500305, 0.9999465346336365, 0.9999476075172424, 0.9999486207962036, 0.9999496340751648, 0.999950647354126, 0.9999516606330872, 0.9999526143074036, 0.9999535083770752, 0.9999544620513916, 0.9999553561210632, 0.9999562501907349, 0.9999570846557617, 0.9999579787254333, 0.9999587535858154, 0.9999595880508423, 0.9999604225158691, 0.9999611973762512, 0.9999619722366333, 0.9999626874923706, 0.9999634623527527, 0.99996417760849, 0.9999648928642273, 0.9999655485153198, 0.9999662637710571, 0.9999669194221497, 0.9999675750732422, 0.9999682307243347, 0.9999688267707825, 0.999969482421875, 0.9999700784683228, 0.9999706745147705, 0.9999712705612183, 0.9999718070030212, 0.9999723434448242, 0.999972939491272, 0.999973475933075, 0.9999739527702332, 0.9999744892120361, 0.9999750256538391, 0.9999755024909973, 0.9999759793281555, 0.9999764561653137, 0.9999769330024719, 0.9999773502349854, 0.9999778270721436, 0.999978244304657, 0.9999787211418152, 0.9999791383743286, 0.999979555606842, 0.9999799132347107, 0.9999803304672241, 0.9999807476997375, 0.9999811053276062, 0.9999814629554749, 0.9999818205833435, 0.9999821782112122, 0.9999825358390808, 0.9999828934669495, 0.9999832510948181, 0.999983549118042, 0.9999839067459106, 0.9999842047691345, 0.9999845027923584, 0.999984860420227, 0.9999851584434509, 0.9999854564666748, 0.9999856948852539, 0.9999859929084778, 0.9999862909317017, 0.9999865293502808, 0.9999868273735046, 0.9999870657920837, 0.9999873638153076, 0.9999876022338867, 0.999987781047821, 0.9999880194664001, 0.9999882578849792, 0.9999884963035583, 0.9999887347221375, 0.9999889731407166, 0.9999891519546509, 0.99998939037323, 0.9999896287918091, 0.9999898076057434, 0.9999899864196777, 0.9999902248382568, 0.9999904036521912, 0.9999905824661255, 0.9999907612800598, 0.9999909400939941, 0.9999911189079285, 0.9999912977218628, 0.9999914765357971, 0.9999916553497314, 0.9999918341636658, 0.9999919533729553, 0.9999921321868896, 0.999992311000824, 0.9999924302101135, 0.9999926090240479, 0.9999927282333374, 0.9999929070472717, 0.9999930262565613, 0.9999931454658508, 0.9999933242797852, 0.9999934434890747, 0.9999935626983643, 0.9999936819076538, 0.9999938011169434, 0.9999939203262329, 0.9999940395355225, 0.999994158744812, 0.9999942779541016, 0.9999943971633911, 0.9999945163726807, 0.9999946355819702, 0.999994695186615, 0.9999948143959045, 0.9999949336051941, 0.9999950528144836, 0.9999951124191284, 0.999995231628418, 0.9999952912330627, 0.9999954104423523, 0.9999955296516418, 0.9999955892562866, 0.9999956488609314, 0.999995768070221, 0.9999958276748657, 0.9999959468841553, 0.9999960064888, 0.9999960660934448, 0.9999961853027344, 0.9999962449073792, 0.9999963045120239, 0.9999963641166687, 0.9999964833259583, 0.999996542930603, 0.9999966025352478, 0.9999966621398926, 0.9999967217445374, 0.9999967813491821, 0.9999968409538269, 0.9999969005584717, 0.9999969601631165, 0.9999970197677612, 0.999997079372406, 0.9999971389770508, 0.9999971985816956, 0.9999972581863403, 0.9999973177909851, 0.9999973773956299, 0.9999974370002747, 0.9999974966049194, 0.9999974966049194, 0.9999975562095642, 0.999997615814209, 0.9999976754188538, 0.9999977350234985, 0.9999977350234985, 0.9999977946281433, 0.9999978542327881, 0.9999979138374329, 0.9999979138374329, 0.9999979734420776, 0.9999980330467224, 0.9999980330467224, 0.9999980926513672, 0.999998152256012, 0.999998152256012, 0.9999982118606567, 0.9999982118606567, 0.9999982714653015, 0.9999983310699463, 0.9999983906745911, 0.9999983906745911, 0.9999984502792358, 0.9999984502792358, 0.9999985098838806, 0.9999985098838806, 0.9999985694885254, 0.9999985694885254, 0.9999986290931702, 0.9999986290931702, 0.9999986886978149, 0.9999986886978149, 0.9999986886978149, 0.9999987483024597, 0.9999987483024597, 0.9999988079071045, 0.9999988079071045, 0.9999988675117493, 0.9999988675117493, 0.9999988675117493, 0.999998927116394, 0.999998927116394, 0.999998927116394, 0.9999989867210388, 0.9999989867210388, 0.9999989867210388, 0.9999990463256836, 0.9999990463256836, 0.9999990463256836, 0.9999991059303284, 0.9999991059303284, 0.9999991059303284, 0.9999991655349731, 0.9999991655349731, 0.9999991655349731, 0.9999991655349731, 0.9999992251396179, 0.9999992251396179, 0.9999992251396179, 0.9999992847442627, 0.9999992847442627, 0.9999992847442627, 0.9999992847442627, 0.9999993443489075, 0.9999993443489075, 0.9999993443489075, 0.9999993443489075, 0.9999993443489075, 0.9999994039535522, 0.9999994039535522, 0.9999994039535522, 0.9999994039535522, 0.9999994039535522, 0.999999463558197, 0.999999463558197, 0.999999463558197, 0.999999463558197, 0.999999463558197, 0.9999995231628418, 0.9999995231628418, 0.9999995231628418, 0.9999995231628418, 0.9999995231628418, 0.9999995231628418, 0.9999995827674866, 0.9999995827674866, 0.9999995827674866, 0.9999995827674866, 0.9999995827674866, 0.9999995827674866, 0.9999995827674866, 0.9999996423721313, 0.9999996423721313, 0.9999996423721313, 0.9999996423721313, 0.9999996423721313, 0.9999996423721313, 0.9999996423721313, 0.9999996423721313, 0.9999997019767761, 0.9999997019767761, 0.9999997019767761, 0.9999997019767761, 0.9999997019767761, 0.9999997019767761, 0.9999997019767761, 0.9999997019767761, 0.9999997019767761, 0.9999997019767761, 0.9999997615814209, 0.9999997615814209, 0.9999997615814209, 0.9999997615814209, 0.9999997615814209, 0.9999997615814209, 0.9999997615814209, 0.9999997615814209, 0.9999997615814209, 0.9999997615814209, 0.9999997615814209, 0.9999997615814209, 0.9999997615814209, 0.9999997615814209, 0.9999997615814209, 0.9999997615814209, 0.9999997615814209, 0.9999997615814209, 0.9999997615814209, 0.9999997615814209, 0.9999997615814209, 0.9999997615814209, 0.9999997615814209, 0.9999998211860657, 0.9999998211860657, 0.9999998211860657, 0.9999998211860657, 0.9999998211860657, 0.9999998211860657, 0.9999998211860657, 0.9999998211860657, 0.9999998211860657, 0.9999998211860657, 0.9999998211860657, 0.9999998211860657, 0.9999998211860657, 0.9999998211860657, 0.9999998211860657, 0.9999998211860657, 0.9999998211860657, 0.9999998211860657, 0.9999998211860657, 0.9999998211860657, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 1.0]} diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/test/fixtures/python/large.json b/lib/node_modules/@stdlib/math/base/special/tanhf/test/fixtures/python/large.json new file mode 100644 index 000000000000..11295420b194 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/test/fixtures/python/large.json @@ -0,0 +1 @@ +{"x": [-88.0, -87.9120864868164, -87.82417297363281, -87.73626708984375, -87.64835357666016, -87.56044006347656, -87.47252655029297, -87.38461303710938, -87.29669952392578, -87.20879364013672, -87.12088012695312, -87.03296661376953, -86.94505310058594, -86.85713958740234, -86.76923370361328, -86.68132019042969, -86.5934066772461, -86.5054931640625, -86.4175796508789, -86.32967376708984, -86.24176025390625, -86.15384674072266, -86.06593322753906, -85.97801971435547, -85.89010620117188, -85.80220031738281, -85.71428680419922, -85.62637329101562, -85.53845977783203, -85.45054626464844, -85.36264038085938, -85.27472686767578, -85.18681335449219, -85.0988998413086, -85.010986328125, -84.92308044433594, -84.83516693115234, -84.74725341796875, -84.65933990478516, -84.57142639160156, -84.48351287841797, -84.3956069946289, -84.30769348144531, -84.21977996826172, -84.13186645507812, -84.04395294189453, -83.95604705810547, -83.86813354492188, -83.78022003173828, -83.69230651855469, -83.6043930053711, -83.51648712158203, -83.42857360839844, -83.34066009521484, -83.25274658203125, -83.16483306884766, -83.07691955566406, -82.989013671875, -82.9011001586914, -82.81318664550781, -82.72527313232422, -82.63735961914062, -82.54945373535156, -82.46154022216797, -82.37362670898438, -82.28571319580078, -82.19779968261719, -82.10989379882812, -82.02198028564453, -81.93406677246094, -81.84615325927734, -81.75823974609375, -81.67032623291016, -81.5824203491211, -81.4945068359375, -81.4065933227539, -81.31867980957031, -81.23076629638672, -81.14286041259766, -81.05494689941406, -80.96703338623047, -80.87911987304688, -80.79120635986328, -80.70330047607422, -80.61538696289062, -80.52747344970703, -80.43955993652344, -80.35164642333984, -80.26373291015625, -80.17582702636719, -80.0879135131836, -80.0, -79.9120864868164, -79.82417297363281, -79.73626708984375, -79.64835357666016, -79.56044006347656, -79.47252655029297, -79.38461303710938, -79.29669952392578, -79.20879364013672, -79.12088012695312, -79.03296661376953, -78.94505310058594, -78.85713958740234, -78.76923370361328, -78.68132019042969, -78.5934066772461, -78.5054931640625, -78.4175796508789, -78.32967376708984, -78.24176025390625, -78.15384674072266, -78.06593322753906, -77.97801971435547, -77.89010620117188, -77.80220031738281, -77.71428680419922, -77.62637329101562, -77.53845977783203, -77.45054626464844, -77.36264038085938, -77.27472686767578, -77.18681335449219, -77.0988998413086, -77.010986328125, -76.92308044433594, -76.83516693115234, -76.74725341796875, -76.65933990478516, -76.57142639160156, -76.48351287841797, -76.3956069946289, -76.30769348144531, -76.21977996826172, -76.13186645507812, -76.04395294189453, -75.95604705810547, -75.86813354492188, -75.78022003173828, -75.69230651855469, -75.6043930053711, -75.51648712158203, -75.42857360839844, -75.34066009521484, -75.25274658203125, -75.16483306884766, -75.07691955566406, -74.989013671875, -74.9011001586914, -74.81318664550781, -74.72527313232422, -74.63735961914062, -74.54945373535156, -74.46154022216797, -74.37362670898438, -74.28571319580078, -74.19779968261719, -74.10989379882812, -74.02198028564453, -73.93406677246094, -73.84615325927734, -73.75823974609375, -73.67032623291016, -73.5824203491211, -73.4945068359375, -73.4065933227539, -73.31867980957031, -73.23076629638672, -73.14286041259766, -73.05494689941406, -72.96703338623047, -72.87911987304688, -72.79120635986328, -72.70330047607422, -72.61538696289062, -72.52747344970703, -72.43955993652344, -72.35164642333984, -72.26373291015625, -72.17582702636719, -72.0879135131836, -72.0, -71.9120864868164, -71.82417297363281, -71.73626708984375, -71.64835357666016, -71.56044006347656, -71.47252655029297, -71.38461303710938, -71.29669952392578, -71.20879364013672, -71.12088012695312, -71.03296661376953, -70.94505310058594, -70.85713958740234, -70.76923370361328, -70.68132019042969, -70.5934066772461, -70.5054931640625, -70.4175796508789, -70.32967376708984, -70.24176025390625, -70.15384674072266, -70.06593322753906, -69.97801971435547, -69.89010620117188, -69.80220031738281, -69.71428680419922, -69.62637329101562, -69.53845977783203, -69.45054626464844, -69.36264038085938, -69.27472686767578, -69.18681335449219, -69.0988998413086, -69.010986328125, -68.92308044433594, -68.83516693115234, -68.74725341796875, -68.65933990478516, -68.57142639160156, -68.48351287841797, -68.3956069946289, -68.30769348144531, -68.21977996826172, -68.13186645507812, -68.04395294189453, -67.95604705810547, -67.86813354492188, -67.78022003173828, -67.69230651855469, -67.6043930053711, -67.51648712158203, -67.42857360839844, -67.34066009521484, -67.25274658203125, -67.16483306884766, -67.07691955566406, -66.989013671875, -66.9011001586914, -66.81318664550781, -66.72527313232422, -66.63735961914062, -66.54945373535156, -66.46154022216797, -66.37362670898438, -66.28571319580078, -66.19779968261719, -66.10989379882812, -66.02198028564453, -65.93406677246094, -65.84615325927734, -65.75823974609375, -65.67032623291016, -65.5824203491211, -65.4945068359375, -65.4065933227539, -65.31867980957031, -65.23076629638672, -65.14286041259766, -65.05494689941406, -64.96703338623047, -64.87911987304688, -64.79120635986328, -64.70330047607422, -64.61538696289062, -64.52747344970703, -64.43955993652344, -64.35164642333984, -64.26373291015625, -64.17582702636719, -64.0879135131836, -64.0, -63.912086486816406, -63.82417678833008, -63.736263275146484, -63.64834976196289, -63.56044006347656, -63.47252655029297, -63.38461685180664, -63.29670333862305, -63.20878982543945, -63.120880126953125, -63.03296661376953, -62.94505310058594, -62.85714340209961, -62.769229888916016, -62.68132019042969, -62.593406677246094, -62.5054931640625, -62.41758346557617, -62.32966995239258, -62.241756439208984, -62.153846740722656, -62.06593322753906, -61.978023529052734, -61.89011001586914, -61.80219650268555, -61.71428680419922, -61.626373291015625, -61.53845977783203, -61.4505500793457, -61.36263656616211, -61.27472686767578, -61.18681335449219, -61.098899841308594, -61.010990142822266, -60.92307662963867, -60.83516311645508, -60.74725341796875, -60.659339904785156, -60.57143020629883, -60.483516693115234, -60.39560317993164, -60.30769348144531, -60.21977996826172, -60.131866455078125, -60.0439567565918, -59.9560432434082, -59.868133544921875, -59.78022003173828, -59.69230651855469, -59.60439682006836, -59.516483306884766, -59.42856979370117, -59.340660095214844, -59.25274658203125, -59.16483688354492, -59.07692337036133, -58.989009857177734, -58.901100158691406, -58.81318664550781, -58.72527313232422, -58.63736343383789, -58.5494499206543, -58.46154022216797, -58.373626708984375, -58.28571319580078, -58.19780349731445, -58.10988998413086, -58.021976470947266, -57.93406677246094, -57.846153259277344, -57.758243560791016, -57.67033004760742, -57.58241653442383, -57.4945068359375, -57.406593322753906, -57.31867980957031, -57.230770111083984, -57.14285659790039, -57.05494689941406, -56.96703338623047, -56.879119873046875, -56.79121017456055, -56.70329666137695, -56.61538314819336, -56.52747344970703, -56.43955993652344, -56.35165023803711, -56.263736724853516, -56.17582321166992, -56.087913513183594, -56.0, -55.912086486816406, -55.82417678833008, -55.736263275146484, -55.64834976196289, -55.56044006347656, -55.47252655029297, -55.38461685180664, -55.29670333862305, -55.20878982543945, -55.120880126953125, -55.03296661376953, -54.94505310058594, -54.85714340209961, -54.769229888916016, -54.68132019042969, -54.593406677246094, -54.5054931640625, -54.41758346557617, -54.32966995239258, -54.241756439208984, -54.153846740722656, -54.06593322753906, -53.978023529052734, -53.89011001586914, -53.80219650268555, -53.71428680419922, -53.626373291015625, -53.53845977783203, -53.4505500793457, -53.36263656616211, -53.27472686767578, -53.18681335449219, -53.098899841308594, -53.010990142822266, -52.92307662963867, -52.83516311645508, -52.74725341796875, -52.659339904785156, -52.57143020629883, -52.483516693115234, -52.39560317993164, -52.30769348144531, -52.21977996826172, -52.131866455078125, -52.0439567565918, -51.9560432434082, -51.868133544921875, -51.78022003173828, -51.69230651855469, -51.60439682006836, -51.516483306884766, -51.42856979370117, -51.340660095214844, -51.25274658203125, -51.16483688354492, -51.07692337036133, -50.989009857177734, -50.901100158691406, -50.81318664550781, -50.72527313232422, -50.63736343383789, -50.5494499206543, -50.46154022216797, -50.373626708984375, -50.28571319580078, -50.19780349731445, -50.10988998413086, -50.021976470947266, -49.93406677246094, -49.846153259277344, -49.758243560791016, -49.67033004760742, -49.58241653442383, -49.4945068359375, -49.406593322753906, -49.31867980957031, -49.230770111083984, -49.14285659790039, -49.05494689941406, -48.96703338623047, -48.879119873046875, -48.79121017456055, -48.70329666137695, -48.61538314819336, -48.52747344970703, -48.43955993652344, -48.35165023803711, -48.263736724853516, -48.17582321166992, -48.087913513183594, -48.0, -47.912086486816406, -47.82417678833008, -47.736263275146484, -47.64834976196289, -47.56044006347656, -47.47252655029297, -47.38461685180664, -47.29670333862305, -47.20878982543945, -47.120880126953125, -47.03296661376953, -46.94505310058594, -46.85714340209961, -46.769229888916016, -46.68132019042969, -46.593406677246094, -46.5054931640625, -46.41758346557617, -46.32966995239258, -46.241756439208984, -46.153846740722656, -46.06593322753906, -45.978023529052734, -45.89011001586914, -45.80219650268555, -45.71428680419922, -45.626373291015625, -45.53845977783203, -45.4505500793457, -45.36263656616211, -45.27472686767578, -45.18681335449219, -45.098899841308594, -45.010990142822266, -44.92307662963867, -44.83516311645508, -44.74725341796875, -44.659339904785156, -44.57143020629883, -44.483516693115234, -44.39560317993164, -44.30769348144531, -44.21977996826172, -44.131866455078125, -44.0439567565918, -43.9560432434082, -43.868133544921875, -43.78022003173828, -43.69230651855469, -43.60439682006836, -43.516483306884766, -43.42856979370117, -43.340660095214844, -43.25274658203125, -43.16483688354492, -43.07692337036133, -42.989009857177734, -42.901100158691406, -42.81318664550781, -42.72527313232422, -42.63736343383789, -42.5494499206543, -42.46154022216797, -42.373626708984375, -42.28571319580078, -42.19780349731445, -42.10988998413086, -42.021976470947266, -41.93406677246094, -41.846153259277344, -41.758243560791016, -41.67033004760742, -41.58241653442383, -41.4945068359375, -41.406593322753906, -41.31867980957031, -41.230770111083984, -41.14285659790039, -41.05494689941406, -40.96703338623047, -40.879119873046875, -40.79121017456055, -40.70329666137695, -40.61538314819336, -40.52747344970703, -40.43955993652344, -40.35165023803711, -40.263736724853516, -40.17582321166992, -40.087913513183594, -40.0, -39.912086486816406, -39.82417678833008, -39.736263275146484, -39.64834976196289, -39.56044006347656, -39.47252655029297, -39.38461685180664, -39.29670333862305, -39.20878982543945, -39.120880126953125, -39.03296661376953, -38.94505310058594, -38.85714340209961, -38.769229888916016, -38.68132019042969, -38.593406677246094, -38.5054931640625, -38.41758346557617, -38.32966995239258, -38.241756439208984, -38.153846740722656, -38.06593322753906, -37.978023529052734, -37.89011001586914, -37.80219650268555, -37.71428680419922, -37.626373291015625, -37.53845977783203, -37.4505500793457, -37.36263656616211, -37.27472686767578, -37.18681335449219, -37.098899841308594, -37.010990142822266, -36.92307662963867, -36.83516311645508, -36.74725341796875, -36.659339904785156, -36.57143020629883, -36.483516693115234, -36.39560317993164, -36.30769348144531, -36.21977996826172, -36.131866455078125, -36.0439567565918, -35.9560432434082, -35.868133544921875, -35.78022003173828, -35.69230651855469, -35.60439682006836, -35.516483306884766, -35.42856979370117, -35.340660095214844, -35.25274658203125, -35.16483688354492, -35.07692337036133, -34.989009857177734, -34.901100158691406, -34.81318664550781, -34.72527313232422, -34.63736343383789, -34.5494499206543, -34.46154022216797, -34.373626708984375, -34.28571319580078, -34.19780349731445, -34.10988998413086, -34.021976470947266, -33.93406677246094, -33.846153259277344, -33.758243560791016, -33.67033004760742, -33.58241653442383, -33.4945068359375, -33.406593322753906, -33.31867980957031, -33.230770111083984, -33.14285659790039, -33.05494689941406, -32.96703338623047, -32.879119873046875, -32.79121017456055, -32.70329666137695, -32.61538314819336, -32.52747344970703, -32.43955993652344, -32.35165023803711, -32.263736724853516, -32.17582321166992, -32.087913513183594, -32.0, -31.91208839416504, -31.824174880981445, -31.736263275146484, -31.648351669311523, -31.560440063476562, -31.47252655029297, -31.384614944458008, -31.296703338623047, -31.208791732788086, -31.120878219604492, -31.03296661376953, -30.94505500793457, -30.85714340209961, -30.769229888916016, -30.681318283081055, -30.593406677246094, -30.505495071411133, -30.41758155822754, -30.329669952392578, -30.241758346557617, -30.153846740722656, -30.065933227539062, -29.9780216217041, -29.89011001586914, -29.80219841003418, -29.714284896850586, -29.626373291015625, -29.538461685180664, -29.450550079345703, -29.36263656616211, -29.27472496032715, -29.186813354492188, -29.098901748657227, -29.010988235473633, -28.923076629638672, -28.83516502380371, -28.74725341796875, -28.659339904785156, -28.571428298950195, -28.483516693115234, -28.395605087280273, -28.30769157409668, -28.21977996826172, -28.131868362426758, -28.043956756591797, -27.956043243408203, -27.868131637573242, -27.78022003173828, -27.69230842590332, -27.604394912719727, -27.516483306884766, -27.428571701049805, -27.340660095214844, -27.25274658203125, -27.16483497619629, -27.076923370361328, -26.989011764526367, -26.901098251342773, -26.813186645507812, -26.72527503967285, -26.63736343383789, -26.549449920654297, -26.461538314819336, -26.373626708984375, -26.285715103149414, -26.19780158996582, -26.10988998413086, -26.0219783782959, -25.934066772460938, -25.846153259277344, -25.758241653442383, -25.670330047607422, -25.58241844177246, -25.494504928588867, -25.406593322753906, -25.318681716918945, -25.230770111083984, -25.14285659790039, -25.05494499206543, -24.96703338623047, -24.879121780395508, -24.791208267211914, -24.703296661376953, -24.615385055541992, -24.52747344970703, -24.439559936523438, -24.351648330688477, -24.263736724853516, -24.175825119018555, -24.08791160583496, -24.0, -23.91208839416504, -23.824174880981445, -23.736263275146484, -23.648351669311523, -23.560440063476562, -23.47252655029297, -23.384614944458008, -23.296703338623047, -23.208791732788086, -23.120878219604492, -23.03296661376953, -22.94505500793457, -22.85714340209961, -22.769229888916016, -22.681318283081055, -22.593406677246094, -22.505495071411133, -22.41758155822754, -22.329669952392578, -22.241758346557617, -22.153846740722656, -22.065933227539062, -21.9780216217041, -21.89011001586914, -21.80219841003418, -21.714284896850586, -21.626373291015625, -21.538461685180664, -21.450550079345703, -21.36263656616211, -21.27472496032715, -21.186813354492188, -21.098901748657227, -21.010988235473633, -20.923076629638672, -20.83516502380371, -20.74725341796875, -20.659339904785156, -20.571428298950195, -20.483516693115234, -20.395605087280273, -20.30769157409668, -20.21977996826172, -20.131868362426758, -20.043956756591797, -19.956043243408203, -19.868131637573242, -19.78022003173828, -19.69230842590332, -19.604394912719727, -19.516483306884766, -19.428571701049805, -19.340660095214844, -19.25274658203125, -19.16483497619629, -19.076923370361328, -18.989011764526367, -18.901098251342773, -18.813186645507812, -18.72527503967285, -18.63736343383789, -18.549449920654297, -18.461538314819336, -18.373626708984375, -18.285715103149414, -18.19780158996582, -18.10988998413086, -18.0219783782959, -17.934066772460938, -17.846153259277344, -17.758241653442383, -17.670330047607422, -17.58241844177246, -17.494504928588867, -17.406593322753906, -17.318681716918945, -17.230770111083984, -17.14285659790039, -17.05494499206543, -16.96703338623047, -16.879121780395508, -16.791208267211914, -16.703296661376953, -16.615385055541992, -16.52747344970703, -16.439559936523438, -16.351648330688477, -16.263736724853516, -16.175825119018555, -16.08791160583496, -16.0, -15.912087440490723, -15.824175834655762, -15.736263275146484, -15.648351669311523, -15.560439109802246, -15.472527503967285, -15.384614944458008, -15.296703338623047, -15.20879077911377, -15.120879173278809, -15.032966613769531, -14.94505500793457, -14.857142448425293, -14.769230842590332, -14.681318283081055, -14.593406677246094, -14.505494117736816, -14.417582511901855, -14.329669952392578, -14.241758346557617, -14.15384578704834, -14.065934181213379, -13.978021621704102, -13.89011001586914, -13.802197456359863, -13.714285850524902, -13.626373291015625, -13.538461685180664, -13.450549125671387, -13.362637519836426, -13.274724960327148, -13.186813354492188, -13.09890079498291, -13.01098918914795, -12.923076629638672, -12.835165023803711, -12.747252464294434, -12.659340858459473, -12.571428298950195, -12.483516693115234, -12.395604133605957, -12.307692527770996, -12.219779968261719, -12.131868362426758, -12.04395580291748, -11.95604419708252, -11.868131637573242, -11.780220031738281, -11.692307472229004, -11.604395866394043, -11.516483306884766, -11.428571701049805, -11.340659141540527, -11.252747535705566, -11.164834976196289, -11.076923370361328, -10.98901081085205, -10.90109920501709, -10.813186645507812, -10.725275039672852, -10.637362480163574, -10.549450874328613, -10.461538314819336, -10.373626708984375, -10.285714149475098, -10.197802543640137, -10.10988998413086, -10.021978378295898, -9.934065818786621, -9.84615421295166, -9.758241653442383, -9.670330047607422, -9.582417488098145, -9.494505882263184, -9.406593322753906, -9.318681716918945, -9.230769157409668, -9.142857551574707, -9.05494499206543, -8.967033386230469, -8.879120826721191, -8.79120922088623, -8.703296661376953, -8.615385055541992, -8.527472496032715, -8.439560890197754, -8.351648330688477, -8.263736724853516, -8.175824165344238, -8.087912559509277, -8.0, -7.912087917327881, -7.824175834655762, -7.736263751983643, -7.648351669311523, -7.560439586639404, -7.472527503967285, -7.384615421295166, -7.296703338623047, -7.208791255950928, -7.120879173278809, -7.0329670906066895, -6.94505500793457, -6.857142925262451, -6.769230842590332, -6.681318759918213, -6.593406677246094, -6.505494594573975, -6.4175825119018555, -6.329670429229736, -6.241758346557617, -6.153846263885498, -6.065934181213379, -5.97802209854126, -5.890110015869141, -5.8021979331970215, -5.714285850524902, -5.626373767852783, -5.538461685180664, -5.450549602508545, -5.362637519836426, -5.274725437164307, -5.1868133544921875, -5.098901271820068, -5.010989189147949, -4.92307710647583, -4.835165023803711, -4.747252941131592, -4.659340858459473, -4.5714287757873535, -4.483516693115234, -4.395604610443115, -4.307692527770996, -4.219780445098877, -4.131868362426758, -4.043956279754639, -3.9560439586639404, -3.8681318759918213, -3.780219793319702, -3.692307710647583, -3.604395627975464, -3.5164835453033447, -3.4285714626312256, -3.3406593799591064, -3.2527472972869873, -3.164835214614868, -3.076923131942749, -2.98901104927063, -2.9010989665985107, -2.8131868839263916, -2.7252748012542725, -2.6373627185821533, -2.549450635910034, -2.461538553237915, -2.373626470565796, -2.2857143878936768, -2.1978023052215576, -2.1098902225494385, -2.0219781398773193, -1.9340659379959106, -1.8461538553237915, -1.7582417726516724, -1.6703296899795532, -1.582417607307434, -1.494505524635315, -1.4065934419631958, -1.3186813592910767, -1.2307692766189575, -1.1428571939468384, -1.0549451112747192, -0.9670329689979553, -0.8791208863258362, -0.791208803653717, -0.7032967209815979, -0.6153846383094788, -0.5274725556373596, -0.4395604431629181, -0.35164836049079895, -0.2637362778186798, -0.17582418024539948, -0.08791209012269974, 0.0, 0.08791209012269974, 0.17582418024539948, 0.2637362778186798, 0.35164836049079895, 0.4395604431629181, 0.5274725556373596, 0.6153846383094788, 0.7032967209815979, 0.791208803653717, 0.8791208863258362, 0.9670329689979553, 1.0549451112747192, 1.1428571939468384, 1.2307692766189575, 1.3186813592910767, 1.4065934419631958, 1.494505524635315, 1.582417607307434, 1.6703296899795532, 1.7582417726516724, 1.8461538553237915, 1.9340659379959106, 2.0219781398773193, 2.1098902225494385, 2.1978023052215576, 2.2857143878936768, 2.373626470565796, 2.461538553237915, 2.549450635910034, 2.6373627185821533, 2.7252748012542725, 2.8131868839263916, 2.9010989665985107, 2.98901104927063, 3.076923131942749, 3.164835214614868, 3.2527472972869873, 3.3406593799591064, 3.4285714626312256, 3.5164835453033447, 3.604395627975464, 3.692307710647583, 3.780219793319702, 3.8681318759918213, 3.9560439586639404, 4.043956279754639, 4.131868362426758, 4.219780445098877, 4.307692527770996, 4.395604610443115, 4.483516693115234, 4.5714287757873535, 4.659340858459473, 4.747252941131592, 4.835165023803711, 4.92307710647583, 5.010989189147949, 5.098901271820068, 5.1868133544921875, 5.274725437164307, 5.362637519836426, 5.450549602508545, 5.538461685180664, 5.626373767852783, 5.714285850524902, 5.8021979331970215, 5.890110015869141, 5.97802209854126, 6.065934181213379, 6.153846263885498, 6.241758346557617, 6.329670429229736, 6.4175825119018555, 6.505494594573975, 6.593406677246094, 6.681318759918213, 6.769230842590332, 6.857142925262451, 6.94505500793457, 7.0329670906066895, 7.120879173278809, 7.208791255950928, 7.296703338623047, 7.384615421295166, 7.472527503967285, 7.560439586639404, 7.648351669311523, 7.736263751983643, 7.824175834655762, 7.912087917327881, 8.0, 8.087912559509277, 8.175824165344238, 8.263736724853516, 8.351648330688477, 8.439560890197754, 8.527472496032715, 8.615385055541992, 8.703296661376953, 8.79120922088623, 8.879120826721191, 8.967033386230469, 9.05494499206543, 9.142857551574707, 9.230769157409668, 9.318681716918945, 9.406593322753906, 9.494505882263184, 9.582417488098145, 9.670330047607422, 9.758241653442383, 9.84615421295166, 9.934065818786621, 10.021978378295898, 10.10988998413086, 10.197802543640137, 10.285714149475098, 10.373626708984375, 10.461538314819336, 10.549450874328613, 10.637362480163574, 10.725275039672852, 10.813186645507812, 10.90109920501709, 10.98901081085205, 11.076923370361328, 11.164834976196289, 11.252747535705566, 11.340659141540527, 11.428571701049805, 11.516483306884766, 11.604395866394043, 11.692307472229004, 11.780220031738281, 11.868131637573242, 11.95604419708252, 12.04395580291748, 12.131868362426758, 12.219779968261719, 12.307692527770996, 12.395604133605957, 12.483516693115234, 12.571428298950195, 12.659340858459473, 12.747252464294434, 12.835165023803711, 12.923076629638672, 13.01098918914795, 13.09890079498291, 13.186813354492188, 13.274724960327148, 13.362637519836426, 13.450549125671387, 13.538461685180664, 13.626373291015625, 13.714285850524902, 13.802197456359863, 13.89011001586914, 13.978021621704102, 14.065934181213379, 14.15384578704834, 14.241758346557617, 14.329669952392578, 14.417582511901855, 14.505494117736816, 14.593406677246094, 14.681318283081055, 14.769230842590332, 14.857142448425293, 14.94505500793457, 15.032966613769531, 15.120879173278809, 15.20879077911377, 15.296703338623047, 15.384614944458008, 15.472527503967285, 15.560439109802246, 15.648351669311523, 15.736263275146484, 15.824175834655762, 15.912087440490723, 16.0, 16.08791160583496, 16.175825119018555, 16.263736724853516, 16.351648330688477, 16.439559936523438, 16.52747344970703, 16.615385055541992, 16.703296661376953, 16.791208267211914, 16.879121780395508, 16.96703338623047, 17.05494499206543, 17.14285659790039, 17.230770111083984, 17.318681716918945, 17.406593322753906, 17.494504928588867, 17.58241844177246, 17.670330047607422, 17.758241653442383, 17.846153259277344, 17.934066772460938, 18.0219783782959, 18.10988998413086, 18.19780158996582, 18.285715103149414, 18.373626708984375, 18.461538314819336, 18.549449920654297, 18.63736343383789, 18.72527503967285, 18.813186645507812, 18.901098251342773, 18.989011764526367, 19.076923370361328, 19.16483497619629, 19.25274658203125, 19.340660095214844, 19.428571701049805, 19.516483306884766, 19.604394912719727, 19.69230842590332, 19.78022003173828, 19.868131637573242, 19.956043243408203, 20.043956756591797, 20.131868362426758, 20.21977996826172, 20.30769157409668, 20.395605087280273, 20.483516693115234, 20.571428298950195, 20.659339904785156, 20.74725341796875, 20.83516502380371, 20.923076629638672, 21.010988235473633, 21.098901748657227, 21.186813354492188, 21.27472496032715, 21.36263656616211, 21.450550079345703, 21.538461685180664, 21.626373291015625, 21.714284896850586, 21.80219841003418, 21.89011001586914, 21.9780216217041, 22.065933227539062, 22.153846740722656, 22.241758346557617, 22.329669952392578, 22.41758155822754, 22.505495071411133, 22.593406677246094, 22.681318283081055, 22.769229888916016, 22.85714340209961, 22.94505500793457, 23.03296661376953, 23.120878219604492, 23.208791732788086, 23.296703338623047, 23.384614944458008, 23.47252655029297, 23.560440063476562, 23.648351669311523, 23.736263275146484, 23.824174880981445, 23.91208839416504, 24.0, 24.08791160583496, 24.175825119018555, 24.263736724853516, 24.351648330688477, 24.439559936523438, 24.52747344970703, 24.615385055541992, 24.703296661376953, 24.791208267211914, 24.879121780395508, 24.96703338623047, 25.05494499206543, 25.14285659790039, 25.230770111083984, 25.318681716918945, 25.406593322753906, 25.494504928588867, 25.58241844177246, 25.670330047607422, 25.758241653442383, 25.846153259277344, 25.934066772460938, 26.0219783782959, 26.10988998413086, 26.19780158996582, 26.285715103149414, 26.373626708984375, 26.461538314819336, 26.549449920654297, 26.63736343383789, 26.72527503967285, 26.813186645507812, 26.901098251342773, 26.989011764526367, 27.076923370361328, 27.16483497619629, 27.25274658203125, 27.340660095214844, 27.428571701049805, 27.516483306884766, 27.604394912719727, 27.69230842590332, 27.78022003173828, 27.868131637573242, 27.956043243408203, 28.043956756591797, 28.131868362426758, 28.21977996826172, 28.30769157409668, 28.395605087280273, 28.483516693115234, 28.571428298950195, 28.659339904785156, 28.74725341796875, 28.83516502380371, 28.923076629638672, 29.010988235473633, 29.098901748657227, 29.186813354492188, 29.27472496032715, 29.36263656616211, 29.450550079345703, 29.538461685180664, 29.626373291015625, 29.714284896850586, 29.80219841003418, 29.89011001586914, 29.9780216217041, 30.065933227539062, 30.153846740722656, 30.241758346557617, 30.329669952392578, 30.41758155822754, 30.505495071411133, 30.593406677246094, 30.681318283081055, 30.769229888916016, 30.85714340209961, 30.94505500793457, 31.03296661376953, 31.120878219604492, 31.208791732788086, 31.296703338623047, 31.384614944458008, 31.47252655029297, 31.560440063476562, 31.648351669311523, 31.736263275146484, 31.824174880981445, 31.91208839416504, 32.0, 32.087913513183594, 32.17582321166992, 32.263736724853516, 32.35165023803711, 32.43955993652344, 32.52747344970703, 32.61538314819336, 32.70329666137695, 32.79121017456055, 32.879119873046875, 32.96703338623047, 33.05494689941406, 33.14285659790039, 33.230770111083984, 33.31867980957031, 33.406593322753906, 33.4945068359375, 33.58241653442383, 33.67033004760742, 33.758243560791016, 33.846153259277344, 33.93406677246094, 34.021976470947266, 34.10988998413086, 34.19780349731445, 34.28571319580078, 34.373626708984375, 34.46154022216797, 34.5494499206543, 34.63736343383789, 34.72527313232422, 34.81318664550781, 34.901100158691406, 34.989009857177734, 35.07692337036133, 35.16483688354492, 35.25274658203125, 35.340660095214844, 35.42856979370117, 35.516483306884766, 35.60439682006836, 35.69230651855469, 35.78022003173828, 35.868133544921875, 35.9560432434082, 36.0439567565918, 36.131866455078125, 36.21977996826172, 36.30769348144531, 36.39560317993164, 36.483516693115234, 36.57143020629883, 36.659339904785156, 36.74725341796875, 36.83516311645508, 36.92307662963867, 37.010990142822266, 37.098899841308594, 37.18681335449219, 37.27472686767578, 37.36263656616211, 37.4505500793457, 37.53845977783203, 37.626373291015625, 37.71428680419922, 37.80219650268555, 37.89011001586914, 37.978023529052734, 38.06593322753906, 38.153846740722656, 38.241756439208984, 38.32966995239258, 38.41758346557617, 38.5054931640625, 38.593406677246094, 38.68132019042969, 38.769229888916016, 38.85714340209961, 38.94505310058594, 39.03296661376953, 39.120880126953125, 39.20878982543945, 39.29670333862305, 39.38461685180664, 39.47252655029297, 39.56044006347656, 39.64834976196289, 39.736263275146484, 39.82417678833008, 39.912086486816406, 40.0, 40.087913513183594, 40.17582321166992, 40.263736724853516, 40.35165023803711, 40.43955993652344, 40.52747344970703, 40.61538314819336, 40.70329666137695, 40.79121017456055, 40.879119873046875, 40.96703338623047, 41.05494689941406, 41.14285659790039, 41.230770111083984, 41.31867980957031, 41.406593322753906, 41.4945068359375, 41.58241653442383, 41.67033004760742, 41.758243560791016, 41.846153259277344, 41.93406677246094, 42.021976470947266, 42.10988998413086, 42.19780349731445, 42.28571319580078, 42.373626708984375, 42.46154022216797, 42.5494499206543, 42.63736343383789, 42.72527313232422, 42.81318664550781, 42.901100158691406, 42.989009857177734, 43.07692337036133, 43.16483688354492, 43.25274658203125, 43.340660095214844, 43.42856979370117, 43.516483306884766, 43.60439682006836, 43.69230651855469, 43.78022003173828, 43.868133544921875, 43.9560432434082, 44.0439567565918, 44.131866455078125, 44.21977996826172, 44.30769348144531, 44.39560317993164, 44.483516693115234, 44.57143020629883, 44.659339904785156, 44.74725341796875, 44.83516311645508, 44.92307662963867, 45.010990142822266, 45.098899841308594, 45.18681335449219, 45.27472686767578, 45.36263656616211, 45.4505500793457, 45.53845977783203, 45.626373291015625, 45.71428680419922, 45.80219650268555, 45.89011001586914, 45.978023529052734, 46.06593322753906, 46.153846740722656, 46.241756439208984, 46.32966995239258, 46.41758346557617, 46.5054931640625, 46.593406677246094, 46.68132019042969, 46.769229888916016, 46.85714340209961, 46.94505310058594, 47.03296661376953, 47.120880126953125, 47.20878982543945, 47.29670333862305, 47.38461685180664, 47.47252655029297, 47.56044006347656, 47.64834976196289, 47.736263275146484, 47.82417678833008, 47.912086486816406, 48.0, 48.087913513183594, 48.17582321166992, 48.263736724853516, 48.35165023803711, 48.43955993652344, 48.52747344970703, 48.61538314819336, 48.70329666137695, 48.79121017456055, 48.879119873046875, 48.96703338623047, 49.05494689941406, 49.14285659790039, 49.230770111083984, 49.31867980957031, 49.406593322753906, 49.4945068359375, 49.58241653442383, 49.67033004760742, 49.758243560791016, 49.846153259277344, 49.93406677246094, 50.021976470947266, 50.10988998413086, 50.19780349731445, 50.28571319580078, 50.373626708984375, 50.46154022216797, 50.5494499206543, 50.63736343383789, 50.72527313232422, 50.81318664550781, 50.901100158691406, 50.989009857177734, 51.07692337036133, 51.16483688354492, 51.25274658203125, 51.340660095214844, 51.42856979370117, 51.516483306884766, 51.60439682006836, 51.69230651855469, 51.78022003173828, 51.868133544921875, 51.9560432434082, 52.0439567565918, 52.131866455078125, 52.21977996826172, 52.30769348144531, 52.39560317993164, 52.483516693115234, 52.57143020629883, 52.659339904785156, 52.74725341796875, 52.83516311645508, 52.92307662963867, 53.010990142822266, 53.098899841308594, 53.18681335449219, 53.27472686767578, 53.36263656616211, 53.4505500793457, 53.53845977783203, 53.626373291015625, 53.71428680419922, 53.80219650268555, 53.89011001586914, 53.978023529052734, 54.06593322753906, 54.153846740722656, 54.241756439208984, 54.32966995239258, 54.41758346557617, 54.5054931640625, 54.593406677246094, 54.68132019042969, 54.769229888916016, 54.85714340209961, 54.94505310058594, 55.03296661376953, 55.120880126953125, 55.20878982543945, 55.29670333862305, 55.38461685180664, 55.47252655029297, 55.56044006347656, 55.64834976196289, 55.736263275146484, 55.82417678833008, 55.912086486816406, 56.0, 56.087913513183594, 56.17582321166992, 56.263736724853516, 56.35165023803711, 56.43955993652344, 56.52747344970703, 56.61538314819336, 56.70329666137695, 56.79121017456055, 56.879119873046875, 56.96703338623047, 57.05494689941406, 57.14285659790039, 57.230770111083984, 57.31867980957031, 57.406593322753906, 57.4945068359375, 57.58241653442383, 57.67033004760742, 57.758243560791016, 57.846153259277344, 57.93406677246094, 58.021976470947266, 58.10988998413086, 58.19780349731445, 58.28571319580078, 58.373626708984375, 58.46154022216797, 58.5494499206543, 58.63736343383789, 58.72527313232422, 58.81318664550781, 58.901100158691406, 58.989009857177734, 59.07692337036133, 59.16483688354492, 59.25274658203125, 59.340660095214844, 59.42856979370117, 59.516483306884766, 59.60439682006836, 59.69230651855469, 59.78022003173828, 59.868133544921875, 59.9560432434082, 60.0439567565918, 60.131866455078125, 60.21977996826172, 60.30769348144531, 60.39560317993164, 60.483516693115234, 60.57143020629883, 60.659339904785156, 60.74725341796875, 60.83516311645508, 60.92307662963867, 61.010990142822266, 61.098899841308594, 61.18681335449219, 61.27472686767578, 61.36263656616211, 61.4505500793457, 61.53845977783203, 61.626373291015625, 61.71428680419922, 61.80219650268555, 61.89011001586914, 61.978023529052734, 62.06593322753906, 62.153846740722656, 62.241756439208984, 62.32966995239258, 62.41758346557617, 62.5054931640625, 62.593406677246094, 62.68132019042969, 62.769229888916016, 62.85714340209961, 62.94505310058594, 63.03296661376953, 63.120880126953125, 63.20878982543945, 63.29670333862305, 63.38461685180664, 63.47252655029297, 63.56044006347656, 63.64834976196289, 63.736263275146484, 63.82417678833008, 63.912086486816406, 64.0, 64.0879135131836, 64.17582702636719, 64.26373291015625, 64.35164642333984, 64.43955993652344, 64.52747344970703, 64.61538696289062, 64.70330047607422, 64.79120635986328, 64.87911987304688, 64.96703338623047, 65.05494689941406, 65.14286041259766, 65.23076629638672, 65.31867980957031, 65.4065933227539, 65.4945068359375, 65.5824203491211, 65.67032623291016, 65.75823974609375, 65.84615325927734, 65.93406677246094, 66.02198028564453, 66.10989379882812, 66.19779968261719, 66.28571319580078, 66.37362670898438, 66.46154022216797, 66.54945373535156, 66.63735961914062, 66.72527313232422, 66.81318664550781, 66.9011001586914, 66.989013671875, 67.07691955566406, 67.16483306884766, 67.25274658203125, 67.34066009521484, 67.42857360839844, 67.51648712158203, 67.6043930053711, 67.69230651855469, 67.78022003173828, 67.86813354492188, 67.95604705810547, 68.04395294189453, 68.13186645507812, 68.21977996826172, 68.30769348144531, 68.3956069946289, 68.48351287841797, 68.57142639160156, 68.65933990478516, 68.74725341796875, 68.83516693115234, 68.92308044433594, 69.010986328125, 69.0988998413086, 69.18681335449219, 69.27472686767578, 69.36264038085938, 69.45054626464844, 69.53845977783203, 69.62637329101562, 69.71428680419922, 69.80220031738281, 69.89010620117188, 69.97801971435547, 70.06593322753906, 70.15384674072266, 70.24176025390625, 70.32967376708984, 70.4175796508789, 70.5054931640625, 70.5934066772461, 70.68132019042969, 70.76923370361328, 70.85713958740234, 70.94505310058594, 71.03296661376953, 71.12088012695312, 71.20879364013672, 71.29669952392578, 71.38461303710938, 71.47252655029297, 71.56044006347656, 71.64835357666016, 71.73626708984375, 71.82417297363281, 71.9120864868164, 72.0, 72.0879135131836, 72.17582702636719, 72.26373291015625, 72.35164642333984, 72.43955993652344, 72.52747344970703, 72.61538696289062, 72.70330047607422, 72.79120635986328, 72.87911987304688, 72.96703338623047, 73.05494689941406, 73.14286041259766, 73.23076629638672, 73.31867980957031, 73.4065933227539, 73.4945068359375, 73.5824203491211, 73.67032623291016, 73.75823974609375, 73.84615325927734, 73.93406677246094, 74.02198028564453, 74.10989379882812, 74.19779968261719, 74.28571319580078, 74.37362670898438, 74.46154022216797, 74.54945373535156, 74.63735961914062, 74.72527313232422, 74.81318664550781, 74.9011001586914, 74.989013671875, 75.07691955566406, 75.16483306884766, 75.25274658203125, 75.34066009521484, 75.42857360839844, 75.51648712158203, 75.6043930053711, 75.69230651855469, 75.78022003173828, 75.86813354492188, 75.95604705810547, 76.04395294189453, 76.13186645507812, 76.21977996826172, 76.30769348144531, 76.3956069946289, 76.48351287841797, 76.57142639160156, 76.65933990478516, 76.74725341796875, 76.83516693115234, 76.92308044433594, 77.010986328125, 77.0988998413086, 77.18681335449219, 77.27472686767578, 77.36264038085938, 77.45054626464844, 77.53845977783203, 77.62637329101562, 77.71428680419922, 77.80220031738281, 77.89010620117188, 77.97801971435547, 78.06593322753906, 78.15384674072266, 78.24176025390625, 78.32967376708984, 78.4175796508789, 78.5054931640625, 78.5934066772461, 78.68132019042969, 78.76923370361328, 78.85713958740234, 78.94505310058594, 79.03296661376953, 79.12088012695312, 79.20879364013672, 79.29669952392578, 79.38461303710938, 79.47252655029297, 79.56044006347656, 79.64835357666016, 79.73626708984375, 79.82417297363281, 79.9120864868164, 80.0, 80.0879135131836, 80.17582702636719, 80.26373291015625, 80.35164642333984, 80.43955993652344, 80.52747344970703, 80.61538696289062, 80.70330047607422, 80.79120635986328, 80.87911987304688, 80.96703338623047, 81.05494689941406, 81.14286041259766, 81.23076629638672, 81.31867980957031, 81.4065933227539, 81.4945068359375, 81.5824203491211, 81.67032623291016, 81.75823974609375, 81.84615325927734, 81.93406677246094, 82.02198028564453, 82.10989379882812, 82.19779968261719, 82.28571319580078, 82.37362670898438, 82.46154022216797, 82.54945373535156, 82.63735961914062, 82.72527313232422, 82.81318664550781, 82.9011001586914, 82.989013671875, 83.07691955566406, 83.16483306884766, 83.25274658203125, 83.34066009521484, 83.42857360839844, 83.51648712158203, 83.6043930053711, 83.69230651855469, 83.78022003173828, 83.86813354492188, 83.95604705810547, 84.04395294189453, 84.13186645507812, 84.21977996826172, 84.30769348144531, 84.3956069946289, 84.48351287841797, 84.57142639160156, 84.65933990478516, 84.74725341796875, 84.83516693115234, 84.92308044433594, 85.010986328125, 85.0988998413086, 85.18681335449219, 85.27472686767578, 85.36264038085938, 85.45054626464844, 85.53845977783203, 85.62637329101562, 85.71428680419922, 85.80220031738281, 85.89010620117188, 85.97801971435547, 86.06593322753906, 86.15384674072266, 86.24176025390625, 86.32967376708984, 86.4175796508789, 86.5054931640625, 86.5934066772461, 86.68132019042969, 86.76923370361328, 86.85713958740234, 86.94505310058594, 87.03296661376953, 87.12088012695312, 87.20879364013672, 87.29669952392578, 87.38461303710938, 87.47252655029297, 87.56044006347656, 87.64835357666016, 87.73626708984375, 87.82417297363281, 87.9120864868164, 88.0], "expected": [-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999999403953552, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998807907104, -0.9999998211860657, -0.9999998211860657, -0.9999997615814209, -0.9999997615814209, -0.9999997615814209, -0.9999997019767761, -0.9999996423721313, -0.9999995827674866, -0.999999463558197, -0.9999993443489075, -0.9999992251396179, -0.9999991059303284, -0.999998927116394, -0.9999986886978149, -0.9999984502792358, -0.999998152256012, -0.9999977946281433, -0.9999973773956299, -0.9999968409538269, -0.9999962449073792, -0.9999955296516418, -0.9999946355819702, -0.999993622303009, -0.9999924302101135, -0.9999909400939941, -0.9999892115592957, -0.9999871850013733, -0.9999847412109375, -0.9999817609786987, -0.999978244304657, -0.9999740719795227, -0.9999690651893616, -0.9999631643295288, -0.9999560713768005, -0.9999476075172424, -0.9999375343322754, -0.9999254941940308, -0.9999111890792847, -0.9998941421508789, -0.9998737573623657, -0.9998494982719421, -0.9998205900192261, -0.9997860789299011, -0.9997449517250061, -0.9996959567070007, -0.9996374845504761, -0.9995678067207336, -0.9994847774505615, -0.9993857741355896, -0.9992676973342896, -0.9991269707679749, -0.9989592432975769, -0.9987593293190002, -0.9985210299491882, -0.9982369542121887, -0.9978983998298645, -0.9974949359893799, -0.9970141053199768, -0.996441125869751, -0.9957584738731384, -0.9949451684951782, -0.9939764142036438, -0.9928226470947266, -0.9914488196372986, -0.9898134469985962, -0.9878671765327454, -0.9855517148971558, -0.9827982187271118, -0.9795253872871399, -0.9756375551223755, -0.9710222482681274, -0.9655478596687317, -0.9590607285499573, -0.9513823986053467, -0.9423062801361084, -0.9315952062606812, -0.9189785718917847, -0.9041504263877869, -0.8867685794830322, -0.8664556741714478, -0.8428023457527161, -0.815373957157135, -0.7837215065956116, -0.7473975419998169, -0.7059786319732666, -0.6590933203697205, -0.6064561605453491, -0.5479063987731934, -0.48344674706459045, -0.41328001022338867, -0.3378365933895111, -0.2577868700027466, -0.1740344911813736, -0.08768630772829056, 0.0, 0.08768630772829056, 0.1740344911813736, 0.2577868700027466, 0.3378365933895111, 0.41328001022338867, 0.48344674706459045, 0.5479063987731934, 0.6064561605453491, 0.6590933203697205, 0.7059786319732666, 0.7473975419998169, 0.7837215065956116, 0.815373957157135, 0.8428023457527161, 0.8664556741714478, 0.8867685794830322, 0.9041504263877869, 0.9189785718917847, 0.9315952062606812, 0.9423062801361084, 0.9513823986053467, 0.9590607285499573, 0.9655478596687317, 0.9710222482681274, 0.9756375551223755, 0.9795253872871399, 0.9827982187271118, 0.9855517148971558, 0.9878671765327454, 0.9898134469985962, 0.9914488196372986, 0.9928226470947266, 0.9939764142036438, 0.9949451684951782, 0.9957584738731384, 0.996441125869751, 0.9970141053199768, 0.9974949359893799, 0.9978983998298645, 0.9982369542121887, 0.9985210299491882, 0.9987593293190002, 0.9989592432975769, 0.9991269707679749, 0.9992676973342896, 0.9993857741355896, 0.9994847774505615, 0.9995678067207336, 0.9996374845504761, 0.9996959567070007, 0.9997449517250061, 0.9997860789299011, 0.9998205900192261, 0.9998494982719421, 0.9998737573623657, 0.9998941421508789, 0.9999111890792847, 0.9999254941940308, 0.9999375343322754, 0.9999476075172424, 0.9999560713768005, 0.9999631643295288, 0.9999690651893616, 0.9999740719795227, 0.999978244304657, 0.9999817609786987, 0.9999847412109375, 0.9999871850013733, 0.9999892115592957, 0.9999909400939941, 0.9999924302101135, 0.999993622303009, 0.9999946355819702, 0.9999955296516418, 0.9999962449073792, 0.9999968409538269, 0.9999973773956299, 0.9999977946281433, 0.999998152256012, 0.9999984502792358, 0.9999986886978149, 0.999998927116394, 0.9999991059303284, 0.9999992251396179, 0.9999993443489075, 0.999999463558197, 0.9999995827674866, 0.9999996423721313, 0.9999997019767761, 0.9999997615814209, 0.9999997615814209, 0.9999997615814209, 0.9999998211860657, 0.9999998211860657, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999998807907104, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 0.9999999403953552, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]} diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/test/fixtures/python/runner.py b/lib/node_modules/@stdlib/math/base/special/tanhf/test/fixtures/python/runner.py new file mode 100644 index 000000000000..41e187dc050e --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/test/fixtures/python/runner.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python +# +# @license Apache-2.0 +# +# Copyright (c) 2026 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Generate fixtures.""" + +import os +import json +import numpy as np + +# Get the file path: +FILE = os.path.realpath(__file__) + +# Extract the directory in which this file resides: +DIR = os.path.dirname(FILE) + + +def gen(x, name): + """Generate fixture data and write to file. + + # Arguments + + * `x`: domain + * `name::str`: filepath of the output file + + # Examples + + ``` python + python> x = linspace(-10.0, 10.0, 2003) + python> gen(x, './data.json') + ``` + """ + y = np.tanh(x) + data = { + "x": x.tolist(), + "expected": y.tolist() + } + + # Based on the script directory, create an output filepath: + filepath = os.path.join(DIR, name) + + # Write the data to the output filepath as JSON: + with open(filepath, "w", encoding="utf-8") as outfile: + json.dump(data, outfile) + + +def main(): + """Generate fixture data.""" + x = np.linspace(-10.0, 10.0, 2003, dtype=np.float32) + gen(x, "data.json") + + x = np.linspace(-88.0, 88.0, 2003, dtype=np.float32) + gen(x, "large.json") + + x = np.linspace(-1.0, 1.0, 2003, dtype=np.float32) + gen(x, "small.json") + + +if __name__ == "__main__": + main() diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/test/fixtures/python/small.json b/lib/node_modules/@stdlib/math/base/special/tanhf/test/fixtures/python/small.json new file mode 100644 index 000000000000..f924a5b22d0b --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/test/fixtures/python/small.json @@ -0,0 +1 @@ +{"x": [-1.0, -0.9990010261535645, -0.9980019927024841, -0.9970030188560486, -0.9960039854049683, -0.9950050115585327, -0.9940059781074524, -0.9930070042610168, -0.9920079708099365, -0.991008996963501, -0.9900099635124207, -0.9890109896659851, -0.9880120158195496, -0.9870129823684692, -0.9860140085220337, -0.9850149750709534, -0.9840160012245178, -0.9830169677734375, -0.982017993927002, -0.9810189604759216, -0.9800199866294861, -0.9790209531784058, -0.9780219793319702, -0.9770230054855347, -0.9760239720344543, -0.9750249981880188, -0.9740259647369385, -0.9730269908905029, -0.9720279574394226, -0.9710289835929871, -0.9700299501419067, -0.9690309762954712, -0.9680319428443909, -0.9670329689979553, -0.9660339951515198, -0.9650349617004395, -0.9640359878540039, -0.9630369544029236, -0.962037980556488, -0.9610389471054077, -0.9600399732589722, -0.9590409398078918, -0.9580419659614563, -0.957042932510376, -0.9560439586639404, -0.9550449848175049, -0.9540459513664246, -0.953046977519989, -0.9520479440689087, -0.9510489702224731, -0.9500499367713928, -0.9490509629249573, -0.948051929473877, -0.9470529556274414, -0.9460539221763611, -0.9450549483299255, -0.9440559148788452, -0.9430569410324097, -0.9420579671859741, -0.9410589337348938, -0.9400599598884583, -0.9390609264373779, -0.9380619525909424, -0.9370629191398621, -0.9360639452934265, -0.9350649118423462, -0.9340659379959106, -0.9330669045448303, -0.9320679306983948, -0.9310689568519592, -0.9300699234008789, -0.9290709495544434, -0.928071916103363, -0.9270729422569275, -0.9260739088058472, -0.9250749349594116, -0.9240759015083313, -0.9230769276618958, -0.9220778942108154, -0.9210789203643799, -0.9200799465179443, -0.919080913066864, -0.9180819392204285, -0.9170829057693481, -0.9160839319229126, -0.9150848984718323, -0.9140859246253967, -0.9130868911743164, -0.9120879173278809, -0.9110888838768005, -0.910089910030365, -0.9090909361839294, -0.9080919027328491, -0.9070929288864136, -0.9060938954353333, -0.9050949215888977, -0.9040958881378174, -0.9030969142913818, -0.9020978808403015, -0.901098906993866, -0.9000998735427856, -0.8991008996963501, -0.8981019258499146, -0.8971028923988342, -0.8961039185523987, -0.8951048851013184, -0.8941059112548828, -0.8931068778038025, -0.8921079039573669, -0.8911088705062866, -0.8901098966598511, -0.8891108632087708, -0.8881118893623352, -0.8871129155158997, -0.8861138820648193, -0.8851149082183838, -0.8841158747673035, -0.8831169009208679, -0.8821178674697876, -0.881118893623352, -0.8801198601722717, -0.8791208863258362, -0.8781218528747559, -0.8771228790283203, -0.8761239051818848, -0.8751248717308044, -0.8741258978843689, -0.8731268644332886, -0.872127890586853, -0.8711288571357727, -0.8701298832893372, -0.8691308498382568, -0.8681318759918213, -0.867132842540741, -0.8661338686943054, -0.8651348948478699, -0.8641358613967896, -0.863136887550354, -0.8621378540992737, -0.8611388802528381, -0.8601398468017578, -0.8591408729553223, -0.8581418395042419, -0.8571428656578064, -0.8561438322067261, -0.8551448583602905, -0.8541458249092102, -0.8531468510627747, -0.8521478772163391, -0.8511488437652588, -0.8501498699188232, -0.8491508364677429, -0.8481518626213074, -0.847152829170227, -0.8461538553237915, -0.8451548218727112, -0.8441558480262756, -0.8431568145751953, -0.8421578407287598, -0.8411588668823242, -0.8401598334312439, -0.8391608595848083, -0.838161826133728, -0.8371628522872925, -0.8361638188362122, -0.8351648449897766, -0.8341658115386963, -0.8331668376922607, -0.8321678042411804, -0.8311688303947449, -0.8301698565483093, -0.829170823097229, -0.8281718492507935, -0.8271728157997131, -0.8261738419532776, -0.8251748085021973, -0.8241758346557617, -0.8231768012046814, -0.8221778273582458, -0.8211787939071655, -0.82017982006073, -0.8191808462142944, -0.8181818127632141, -0.8171828389167786, -0.8161838054656982, -0.8151848316192627, -0.8141857981681824, -0.8131868243217468, -0.8121877908706665, -0.811188817024231, -0.8101897835731506, -0.8091908097267151, -0.8081918358802795, -0.8071928024291992, -0.8061938285827637, -0.8051947951316833, -0.8041958212852478, -0.8031967878341675, -0.8021978139877319, -0.8011987805366516, -0.8001998066902161, -0.7992007732391357, -0.7982017993927002, -0.7972028255462646, -0.7962037920951843, -0.7952048182487488, -0.7942057847976685, -0.7932068109512329, -0.7922077775001526, -0.791208803653717, -0.7902097702026367, -0.7892107963562012, -0.7882117629051208, -0.7872127890586853, -0.7862138152122498, -0.7852147817611694, -0.7842158079147339, -0.7832167744636536, -0.782217800617218, -0.7812187671661377, -0.7802197933197021, -0.7792207598686218, -0.7782217860221863, -0.777222752571106, -0.7762237787246704, -0.7752248048782349, -0.7742257714271545, -0.773226797580719, -0.7722277641296387, -0.7712287902832031, -0.7702297568321228, -0.7692307829856873, -0.7682317495346069, -0.7672327756881714, -0.7662337422370911, -0.7652347683906555, -0.7642357349395752, -0.7632367610931396, -0.7622377872467041, -0.7612387537956238, -0.7602397799491882, -0.7592407464981079, -0.7582417726516724, -0.757242739200592, -0.7562437653541565, -0.7552447319030762, -0.7542457580566406, -0.7532467246055603, -0.7522477507591248, -0.7512487769126892, -0.7502497434616089, -0.7492507696151733, -0.748251736164093, -0.7472527623176575, -0.7462537288665771, -0.7452547550201416, -0.7442557215690613, -0.7432567477226257, -0.7422577142715454, -0.7412587404251099, -0.7402597665786743, -0.739260733127594, -0.7382617592811584, -0.7372627258300781, -0.7362637519836426, -0.7352647185325623, -0.7342657446861267, -0.7332667112350464, -0.7322677373886108, -0.7312687039375305, -0.730269730091095, -0.7292707562446594, -0.7282717227935791, -0.7272727489471436, -0.7262737154960632, -0.7252747416496277, -0.7242757081985474, -0.7232767343521118, -0.7222777009010315, -0.721278727054596, -0.7202796936035156, -0.7192807197570801, -0.7182817459106445, -0.7172827124595642, -0.7162837386131287, -0.7152847051620483, -0.7142857313156128, -0.7132866978645325, -0.7122877240180969, -0.7112886905670166, -0.710289716720581, -0.7092906832695007, -0.7082917094230652, -0.7072927355766296, -0.7062937021255493, -0.7052947282791138, -0.7042956948280334, -0.7032967209815979, -0.7022976875305176, -0.701298713684082, -0.7002996802330017, -0.6993007063865662, -0.6983016729354858, -0.6973026990890503, -0.6963037252426147, -0.6953046917915344, -0.6943057179450989, -0.6933066844940186, -0.692307710647583, -0.6913086771965027, -0.6903097033500671, -0.6893106698989868, -0.6883116960525513, -0.687312662601471, -0.6863136887550354, -0.6853147149085999, -0.6843156814575195, -0.683316707611084, -0.6823176741600037, -0.6813187003135681, -0.6803196668624878, -0.6793206930160522, -0.6783216595649719, -0.6773226857185364, -0.676323652267456, -0.6753246784210205, -0.6743256449699402, -0.6733266711235046, -0.6723276972770691, -0.6713286638259888, -0.6703296899795532, -0.6693306565284729, -0.6683316826820374, -0.667332649230957, -0.6663336753845215, -0.6653346419334412, -0.6643356680870056, -0.6633366346359253, -0.6623376607894897, -0.6613386869430542, -0.6603396534919739, -0.6593406796455383, -0.658341646194458, -0.6573426723480225, -0.6563436388969421, -0.6553446650505066, -0.6543456315994263, -0.6533466577529907, -0.6523476243019104, -0.6513486504554749, -0.6503496766090393, -0.649350643157959, -0.6483516693115234, -0.6473526358604431, -0.6463536620140076, -0.6453546285629272, -0.6443556547164917, -0.6433566212654114, -0.6423576474189758, -0.6413586139678955, -0.64035964012146, -0.6393606662750244, -0.6383616328239441, -0.6373626589775085, -0.6363636255264282, -0.6353646516799927, -0.6343656182289124, -0.6333666443824768, -0.6323676109313965, -0.6313686370849609, -0.6303696036338806, -0.6293706297874451, -0.6283716559410095, -0.6273726224899292, -0.6263736486434937, -0.6253746151924133, -0.6243756413459778, -0.6233766078948975, -0.6223776340484619, -0.6213786005973816, -0.620379626750946, -0.6193805932998657, -0.6183816194534302, -0.6173826456069946, -0.6163836121559143, -0.6153846383094788, -0.6143856048583984, -0.6133866310119629, -0.6123875975608826, -0.611388623714447, -0.6103895902633667, -0.6093906164169312, -0.6083915829658508, -0.6073926091194153, -0.6063936352729797, -0.6053946018218994, -0.6043956279754639, -0.6033965945243835, -0.602397620677948, -0.6013985872268677, -0.6003996133804321, -0.5994005799293518, -0.5984016060829163, -0.5974025726318359, -0.5964035987854004, -0.5954046249389648, -0.5944055914878845, -0.593406617641449, -0.5924075841903687, -0.5914086103439331, -0.5904095768928528, -0.5894106030464172, -0.5884115695953369, -0.5874125957489014, -0.586413562297821, -0.5854145884513855, -0.5844155550003052, -0.5834165811538696, -0.5824176073074341, -0.5814185738563538, -0.5804196000099182, -0.5794205665588379, -0.5784215927124023, -0.577422559261322, -0.5764235854148865, -0.5754245519638062, -0.5744255781173706, -0.5734265446662903, -0.5724275708198547, -0.5714285969734192, -0.5704295635223389, -0.5694305896759033, -0.568431556224823, -0.5674325823783875, -0.5664335489273071, -0.5654345750808716, -0.5644355416297913, -0.5634365677833557, -0.5624375343322754, -0.5614385604858398, -0.5604395866394043, -0.559440553188324, -0.5584415793418884, -0.5574425458908081, -0.5564435720443726, -0.5554445385932922, -0.5544455647468567, -0.5534465312957764, -0.5524475574493408, -0.5514485239982605, -0.550449550151825, -0.5494505763053894, -0.5484515428543091, -0.5474525690078735, -0.5464535355567932, -0.5454545617103577, -0.5444555282592773, -0.5434565544128418, -0.5424575209617615, -0.5414585471153259, -0.5404595136642456, -0.5394605398178101, -0.5384615659713745, -0.5374625325202942, -0.5364635586738586, -0.5354645252227783, -0.5344655513763428, -0.5334665179252625, -0.5324675440788269, -0.5314685106277466, -0.530469536781311, -0.5294705033302307, -0.5284715294837952, -0.5274725556373596, -0.5264735221862793, -0.5254745483398438, -0.5244755148887634, -0.5234765410423279, -0.5224775075912476, -0.521478533744812, -0.5204795002937317, -0.5194805264472961, -0.5184814929962158, -0.5174825191497803, -0.5164835453033447, -0.5154845118522644, -0.5144855380058289, -0.5134865045547485, -0.512487530708313, -0.5114884972572327, -0.5104895234107971, -0.5094904899597168, -0.5084915161132812, -0.5074924826622009, -0.5064935088157654, -0.5054945349693298, -0.5044955015182495, -0.503496527671814, -0.5024974942207336, -0.5014985203742981, -0.5004994869232178, -0.4995005130767822, -0.4985015094280243, -0.49750250577926636, -0.4965035021305084, -0.4955044984817505, -0.49450549483299255, -0.4935064911842346, -0.4925074875354767, -0.49150848388671875, -0.4905094802379608, -0.4895104765892029, -0.48851150274276733, -0.4875124990940094, -0.48651349544525146, -0.48551449179649353, -0.4845154881477356, -0.48351648449897766, -0.4825174808502197, -0.4815184772014618, -0.48051947355270386, -0.4795204699039459, -0.478521466255188, -0.47752249240875244, -0.4765234887599945, -0.4755244851112366, -0.47452548146247864, -0.4735264778137207, -0.47252747416496277, -0.47152847051620483, -0.4705294668674469, -0.46953046321868896, -0.46853145956993103, -0.4675324559211731, -0.46653345227241516, -0.4655344784259796, -0.4645354747772217, -0.46353647112846375, -0.4625374674797058, -0.4615384638309479, -0.46053946018218994, -0.459540456533432, -0.4585414528846741, -0.45754244923591614, -0.4565434455871582, -0.45554444193840027, -0.4545454680919647, -0.4535464644432068, -0.45254746079444885, -0.4515484571456909, -0.450549453496933, -0.44955044984817505, -0.4485514461994171, -0.4475524425506592, -0.44655343890190125, -0.4455544352531433, -0.4445554316043854, -0.44355645775794983, -0.4425574541091919, -0.44155845046043396, -0.440559446811676, -0.4395604431629181, -0.43856143951416016, -0.4375624358654022, -0.4365634322166443, -0.43556442856788635, -0.4345654249191284, -0.4335664212703705, -0.43256744742393494, -0.431568443775177, -0.43056944012641907, -0.42957043647766113, -0.4285714328289032, -0.42757242918014526, -0.42657342553138733, -0.4255744218826294, -0.42457541823387146, -0.4235764145851135, -0.4225774109363556, -0.42157840728759766, -0.4205794334411621, -0.4195804297924042, -0.41858142614364624, -0.4175824224948883, -0.41658341884613037, -0.41558441519737244, -0.4145854115486145, -0.41358640789985657, -0.41258740425109863, -0.4115884006023407, -0.41058939695358276, -0.4095904231071472, -0.4085914194583893, -0.40759241580963135, -0.4065934121608734, -0.4055944085121155, -0.40459540486335754, -0.4035964012145996, -0.4025973975658417, -0.40159839391708374, -0.4005993902683258, -0.39960038661956787, -0.3986014127731323, -0.3976024091243744, -0.39660340547561646, -0.3956044018268585, -0.3946053981781006, -0.39360639452934265, -0.3926073908805847, -0.3916083872318268, -0.39060938358306885, -0.3896103799343109, -0.388611376285553, -0.38761240243911743, -0.3866133987903595, -0.38561439514160156, -0.38461539149284363, -0.3836163878440857, -0.38261738419532776, -0.3816183805465698, -0.3806193768978119, -0.37962037324905396, -0.378621369600296, -0.3776223659515381, -0.37662336230278015, -0.3756243884563446, -0.37462538480758667, -0.37362638115882874, -0.3726273775100708, -0.37162837386131287, -0.37062937021255493, -0.369630366563797, -0.36863136291503906, -0.36763235926628113, -0.3666333556175232, -0.36563435196876526, -0.3646353781223297, -0.3636363744735718, -0.36263737082481384, -0.3616383671760559, -0.360639363527298, -0.35964035987854004, -0.3586413562297821, -0.35764235258102417, -0.35664334893226624, -0.3556443452835083, -0.35464534163475037, -0.3536463677883148, -0.3526473641395569, -0.35164836049079895, -0.350649356842041, -0.3496503531932831, -0.34865134954452515, -0.3476523458957672, -0.3466533422470093, -0.34565433859825134, -0.3446553349494934, -0.3436563313007355, -0.3426573574542999, -0.341658353805542, -0.34065935015678406, -0.3396603465080261, -0.3386613428592682, -0.33766233921051025, -0.3366633355617523, -0.3356643319129944, -0.33466532826423645, -0.3336663246154785, -0.3326673209667206, -0.33166831731796265, -0.3306693434715271, -0.32967033982276917, -0.32867133617401123, -0.3276723325252533, -0.32667332887649536, -0.3256743252277374, -0.3246753215789795, -0.32367631793022156, -0.3226773142814636, -0.3216783106327057, -0.32067930698394775, -0.3196803331375122, -0.3186813294887543, -0.31768232583999634, -0.3166833221912384, -0.31568431854248047, -0.31468531489372253, -0.3136863112449646, -0.31268730759620667, -0.31168830394744873, -0.3106893002986908, -0.30969029664993286, -0.3086913228034973, -0.3076923191547394, -0.30669331550598145, -0.3056943118572235, -0.3046953082084656, -0.30369630455970764, -0.3026973009109497, -0.3016982972621918, -0.30069929361343384, -0.2997002899646759, -0.29870128631591797, -0.2977023124694824, -0.2967033088207245, -0.29570430517196655, -0.2947053015232086, -0.2937062978744507, -0.29270729422569275, -0.2917082905769348, -0.2907092869281769, -0.28971028327941895, -0.288711279630661, -0.2877122759819031, -0.28671327233314514, -0.2857142984867096, -0.28471529483795166, -0.2837162911891937, -0.2827172875404358, -0.28171828389167786, -0.2807192802429199, -0.279720276594162, -0.27872127294540405, -0.2777222692966461, -0.2767232656478882, -0.27572426199913025, -0.2747252881526947, -0.27372628450393677, -0.27272728085517883, -0.2717282772064209, -0.27072927355766296, -0.26973026990890503, -0.2687312662601471, -0.26773226261138916, -0.2667332589626312, -0.2657342553138733, -0.26473525166511536, -0.2637362778186798, -0.2627372741699219, -0.26173827052116394, -0.260739266872406, -0.25974026322364807, -0.25874125957489014, -0.2577422559261322, -0.25674325227737427, -0.25574424862861633, -0.2547452449798584, -0.25374624133110046, -0.2527472674846649, -0.251748263835907, -0.25074926018714905, -0.2497502565383911, -0.24875125288963318, -0.24775224924087524, -0.2467532455921173, -0.24575424194335938, -0.24475523829460144, -0.2437562495470047, -0.24275724589824677, -0.24175824224948883, -0.2407592386007309, -0.23976023495197296, -0.23876124620437622, -0.2377622425556183, -0.23676323890686035, -0.23576423525810242, -0.23476523160934448, -0.23376622796058655, -0.2327672392129898, -0.23176823556423187, -0.23076923191547394, -0.229770228266716, -0.22877122461795807, -0.22777222096920013, -0.2267732322216034, -0.22577422857284546, -0.22477522492408752, -0.2237762212753296, -0.22277721762657166, -0.22177822887897491, -0.22077922523021698, -0.21978022158145905, -0.2187812179327011, -0.21778221428394318, -0.21678321063518524, -0.2157842218875885, -0.21478521823883057, -0.21378621459007263, -0.2127872109413147, -0.21178820729255676, -0.21078920364379883, -0.2097902148962021, -0.20879121124744415, -0.20779220759868622, -0.20679320394992828, -0.20579420030117035, -0.2047952115535736, -0.20379620790481567, -0.20279720425605774, -0.2017982006072998, -0.20079919695854187, -0.19980019330978394, -0.1988012045621872, -0.19780220091342926, -0.19680319726467133, -0.1958041936159134, -0.19480518996715546, -0.19380620121955872, -0.19280719757080078, -0.19180819392204285, -0.1908091902732849, -0.18981018662452698, -0.18881118297576904, -0.1878121942281723, -0.18681319057941437, -0.18581418693065643, -0.1848151832818985, -0.18381617963314056, -0.18281717598438263, -0.1818181872367859, -0.18081918358802795, -0.17982017993927002, -0.17882117629051208, -0.17782217264175415, -0.1768231838941574, -0.17582418024539948, -0.17482517659664154, -0.1738261729478836, -0.17282716929912567, -0.17182816565036774, -0.170829176902771, -0.16983017325401306, -0.16883116960525513, -0.1678321659564972, -0.16683316230773926, -0.16583415865898132, -0.16483516991138458, -0.16383616626262665, -0.1628371626138687, -0.16183815896511078, -0.16083915531635284, -0.1598401665687561, -0.15884116291999817, -0.15784215927124023, -0.1568431556224823, -0.15584415197372437, -0.15484514832496643, -0.1538461595773697, -0.15284715592861176, -0.15184815227985382, -0.1508491486310959, -0.14985014498233795, -0.1488511562347412, -0.14785215258598328, -0.14685314893722534, -0.1458541452884674, -0.14485514163970947, -0.14385613799095154, -0.1428571492433548, -0.14185814559459686, -0.14085914194583893, -0.139860138297081, -0.13886113464832306, -0.13786213099956512, -0.13686314225196838, -0.13586413860321045, -0.13486513495445251, -0.13386613130569458, -0.13286712765693665, -0.1318681389093399, -0.13086913526058197, -0.12987013161182404, -0.1288711279630661, -0.12787212431430817, -0.12687312066555023, -0.1258741319179535, -0.12487512826919556, -0.12387612462043762, -0.12287712097167969, -0.12187812477350235, -0.12087912112474442, -0.11988011747598648, -0.11888112127780914, -0.11788211762905121, -0.11688311398029327, -0.11588411778211594, -0.114885114133358, -0.11388611048460007, -0.11288711428642273, -0.1118881106376648, -0.11088911443948746, -0.10989011079072952, -0.10889110714197159, -0.10789211094379425, -0.10689310729503632, -0.10589410364627838, -0.10489510744810104, -0.10389610379934311, -0.10289710015058517, -0.10189810395240784, -0.1008991003036499, -0.09990009665489197, -0.09890110045671463, -0.0979020968079567, -0.09690310060977936, -0.09590409696102142, -0.09490509331226349, -0.09390609711408615, -0.09290709346532822, -0.09190808981657028, -0.09090909361839294, -0.08991008996963501, -0.08891108632087708, -0.08791209012269974, -0.0869130864739418, -0.08591408282518387, -0.08491508662700653, -0.0839160829782486, -0.08291707932949066, -0.08191808313131332, -0.08091907948255539, -0.07992008328437805, -0.07892107963562012, -0.07792207598686218, -0.07692307978868484, -0.07592407613992691, -0.07492507249116898, -0.07392607629299164, -0.0729270726442337, -0.07192806899547577, -0.07092907279729843, -0.0699300691485405, -0.06893106549978256, -0.06793206930160522, -0.06693306565284729, -0.06593406945466995, -0.06493506580591202, -0.06393606215715408, -0.06293706595897675, -0.06193806231021881, -0.060939062386751175, -0.05994005873799324, -0.058941058814525604, -0.05794205889105797, -0.056943055242300034, -0.0559440553188324, -0.05494505539536476, -0.053946055471897125, -0.05294705182313919, -0.051948051899671555, -0.05094905197620392, -0.049950048327445984, -0.04895104840397835, -0.04795204848051071, -0.046953048557043076, -0.04595404490828514, -0.044955044984817505, -0.04395604506134987, -0.042957041412591934, -0.0419580414891243, -0.04095904156565666, -0.039960041642189026, -0.03896103799343109, -0.037962038069963455, -0.03696303814649582, -0.035964034497737885, -0.03496503457427025, -0.03396603465080261, -0.032967034727334976, -0.03196803107857704, -0.030969031155109406, -0.02997002936899662, -0.028971029445528984, -0.0279720276594162, -0.026973027735948563, -0.025974025949835777, -0.024975024163722992, -0.023976024240255356, -0.02297702245414257, -0.021978022530674934, -0.02097902074456215, -0.019980020821094513, -0.018981019034981728, -0.017982017248868942, -0.016983017325401306, -0.01598401553928852, -0.01498501468449831, -0.0139860138297081, -0.012987012974917889, -0.011988012120127678, -0.010989011265337467, -0.009990010410547256, -0.008991008624434471, -0.00799200776964426, -0.00699300691485405, -0.005994006060063839, -0.004995005205273628, -0.00399600388482213, -0.0029970030300319195, -0.001998001942411065, -0.0009990009712055326, 0.0, 0.0009990009712055326, 0.001998001942411065, 0.0029970030300319195, 0.00399600388482213, 0.004995005205273628, 0.005994006060063839, 0.00699300691485405, 0.00799200776964426, 0.008991008624434471, 0.009990010410547256, 0.010989011265337467, 0.011988012120127678, 0.012987012974917889, 0.0139860138297081, 0.01498501468449831, 0.01598401553928852, 0.016983017325401306, 0.017982017248868942, 0.018981019034981728, 0.019980020821094513, 0.02097902074456215, 0.021978022530674934, 0.02297702245414257, 0.023976024240255356, 0.024975024163722992, 0.025974025949835777, 0.026973027735948563, 0.0279720276594162, 0.028971029445528984, 0.02997002936899662, 0.030969031155109406, 0.03196803107857704, 0.032967034727334976, 0.03396603465080261, 0.03496503457427025, 0.035964034497737885, 0.03696303814649582, 0.037962038069963455, 0.03896103799343109, 0.039960041642189026, 0.04095904156565666, 0.0419580414891243, 0.042957041412591934, 0.04395604506134987, 0.044955044984817505, 0.04595404490828514, 0.046953048557043076, 0.04795204848051071, 0.04895104840397835, 0.049950048327445984, 0.05094905197620392, 0.051948051899671555, 0.05294705182313919, 0.053946055471897125, 0.05494505539536476, 0.0559440553188324, 0.056943055242300034, 0.05794205889105797, 0.058941058814525604, 0.05994005873799324, 0.060939062386751175, 0.06193806231021881, 0.06293706595897675, 0.06393606215715408, 0.06493506580591202, 0.06593406945466995, 0.06693306565284729, 0.06793206930160522, 0.06893106549978256, 0.0699300691485405, 0.07092907279729843, 0.07192806899547577, 0.0729270726442337, 0.07392607629299164, 0.07492507249116898, 0.07592407613992691, 0.07692307978868484, 0.07792207598686218, 0.07892107963562012, 0.07992008328437805, 0.08091907948255539, 0.08191808313131332, 0.08291707932949066, 0.0839160829782486, 0.08491508662700653, 0.08591408282518387, 0.0869130864739418, 0.08791209012269974, 0.08891108632087708, 0.08991008996963501, 0.09090909361839294, 0.09190808981657028, 0.09290709346532822, 0.09390609711408615, 0.09490509331226349, 0.09590409696102142, 0.09690310060977936, 0.0979020968079567, 0.09890110045671463, 0.09990009665489197, 0.1008991003036499, 0.10189810395240784, 0.10289710015058517, 0.10389610379934311, 0.10489510744810104, 0.10589410364627838, 0.10689310729503632, 0.10789211094379425, 0.10889110714197159, 0.10989011079072952, 0.11088911443948746, 0.1118881106376648, 0.11288711428642273, 0.11388611048460007, 0.114885114133358, 0.11588411778211594, 0.11688311398029327, 0.11788211762905121, 0.11888112127780914, 0.11988011747598648, 0.12087912112474442, 0.12187812477350235, 0.12287712097167969, 0.12387612462043762, 0.12487512826919556, 0.1258741319179535, 0.12687312066555023, 0.12787212431430817, 0.1288711279630661, 0.12987013161182404, 0.13086913526058197, 0.1318681389093399, 0.13286712765693665, 0.13386613130569458, 0.13486513495445251, 0.13586413860321045, 0.13686314225196838, 0.13786213099956512, 0.13886113464832306, 0.139860138297081, 0.14085914194583893, 0.14185814559459686, 0.1428571492433548, 0.14385613799095154, 0.14485514163970947, 0.1458541452884674, 0.14685314893722534, 0.14785215258598328, 0.1488511562347412, 0.14985014498233795, 0.1508491486310959, 0.15184815227985382, 0.15284715592861176, 0.1538461595773697, 0.15484514832496643, 0.15584415197372437, 0.1568431556224823, 0.15784215927124023, 0.15884116291999817, 0.1598401665687561, 0.16083915531635284, 0.16183815896511078, 0.1628371626138687, 0.16383616626262665, 0.16483516991138458, 0.16583415865898132, 0.16683316230773926, 0.1678321659564972, 0.16883116960525513, 0.16983017325401306, 0.170829176902771, 0.17182816565036774, 0.17282716929912567, 0.1738261729478836, 0.17482517659664154, 0.17582418024539948, 0.1768231838941574, 0.17782217264175415, 0.17882117629051208, 0.17982017993927002, 0.18081918358802795, 0.1818181872367859, 0.18281717598438263, 0.18381617963314056, 0.1848151832818985, 0.18581418693065643, 0.18681319057941437, 0.1878121942281723, 0.18881118297576904, 0.18981018662452698, 0.1908091902732849, 0.19180819392204285, 0.19280719757080078, 0.19380620121955872, 0.19480518996715546, 0.1958041936159134, 0.19680319726467133, 0.19780220091342926, 0.1988012045621872, 0.19980019330978394, 0.20079919695854187, 0.2017982006072998, 0.20279720425605774, 0.20379620790481567, 0.2047952115535736, 0.20579420030117035, 0.20679320394992828, 0.20779220759868622, 0.20879121124744415, 0.2097902148962021, 0.21078920364379883, 0.21178820729255676, 0.2127872109413147, 0.21378621459007263, 0.21478521823883057, 0.2157842218875885, 0.21678321063518524, 0.21778221428394318, 0.2187812179327011, 0.21978022158145905, 0.22077922523021698, 0.22177822887897491, 0.22277721762657166, 0.2237762212753296, 0.22477522492408752, 0.22577422857284546, 0.2267732322216034, 0.22777222096920013, 0.22877122461795807, 0.229770228266716, 0.23076923191547394, 0.23176823556423187, 0.2327672392129898, 0.23376622796058655, 0.23476523160934448, 0.23576423525810242, 0.23676323890686035, 0.2377622425556183, 0.23876124620437622, 0.23976023495197296, 0.2407592386007309, 0.24175824224948883, 0.24275724589824677, 0.2437562495470047, 0.24475523829460144, 0.24575424194335938, 0.2467532455921173, 0.24775224924087524, 0.24875125288963318, 0.2497502565383911, 0.25074926018714905, 0.251748263835907, 0.2527472674846649, 0.25374624133110046, 0.2547452449798584, 0.25574424862861633, 0.25674325227737427, 0.2577422559261322, 0.25874125957489014, 0.25974026322364807, 0.260739266872406, 0.26173827052116394, 0.2627372741699219, 0.2637362778186798, 0.26473525166511536, 0.2657342553138733, 0.2667332589626312, 0.26773226261138916, 0.2687312662601471, 0.26973026990890503, 0.27072927355766296, 0.2717282772064209, 0.27272728085517883, 0.27372628450393677, 0.2747252881526947, 0.27572426199913025, 0.2767232656478882, 0.2777222692966461, 0.27872127294540405, 0.279720276594162, 0.2807192802429199, 0.28171828389167786, 0.2827172875404358, 0.2837162911891937, 0.28471529483795166, 0.2857142984867096, 0.28671327233314514, 0.2877122759819031, 0.288711279630661, 0.28971028327941895, 0.2907092869281769, 0.2917082905769348, 0.29270729422569275, 0.2937062978744507, 0.2947053015232086, 0.29570430517196655, 0.2967033088207245, 0.2977023124694824, 0.29870128631591797, 0.2997002899646759, 0.30069929361343384, 0.3016982972621918, 0.3026973009109497, 0.30369630455970764, 0.3046953082084656, 0.3056943118572235, 0.30669331550598145, 0.3076923191547394, 0.3086913228034973, 0.30969029664993286, 0.3106893002986908, 0.31168830394744873, 0.31268730759620667, 0.3136863112449646, 0.31468531489372253, 0.31568431854248047, 0.3166833221912384, 0.31768232583999634, 0.3186813294887543, 0.3196803331375122, 0.32067930698394775, 0.3216783106327057, 0.3226773142814636, 0.32367631793022156, 0.3246753215789795, 0.3256743252277374, 0.32667332887649536, 0.3276723325252533, 0.32867133617401123, 0.32967033982276917, 0.3306693434715271, 0.33166831731796265, 0.3326673209667206, 0.3336663246154785, 0.33466532826423645, 0.3356643319129944, 0.3366633355617523, 0.33766233921051025, 0.3386613428592682, 0.3396603465080261, 0.34065935015678406, 0.341658353805542, 0.3426573574542999, 0.3436563313007355, 0.3446553349494934, 0.34565433859825134, 0.3466533422470093, 0.3476523458957672, 0.34865134954452515, 0.3496503531932831, 0.350649356842041, 0.35164836049079895, 0.3526473641395569, 0.3536463677883148, 0.35464534163475037, 0.3556443452835083, 0.35664334893226624, 0.35764235258102417, 0.3586413562297821, 0.35964035987854004, 0.360639363527298, 0.3616383671760559, 0.36263737082481384, 0.3636363744735718, 0.3646353781223297, 0.36563435196876526, 0.3666333556175232, 0.36763235926628113, 0.36863136291503906, 0.369630366563797, 0.37062937021255493, 0.37162837386131287, 0.3726273775100708, 0.37362638115882874, 0.37462538480758667, 0.3756243884563446, 0.37662336230278015, 0.3776223659515381, 0.378621369600296, 0.37962037324905396, 0.3806193768978119, 0.3816183805465698, 0.38261738419532776, 0.3836163878440857, 0.38461539149284363, 0.38561439514160156, 0.3866133987903595, 0.38761240243911743, 0.388611376285553, 0.3896103799343109, 0.39060938358306885, 0.3916083872318268, 0.3926073908805847, 0.39360639452934265, 0.3946053981781006, 0.3956044018268585, 0.39660340547561646, 0.3976024091243744, 0.3986014127731323, 0.39960038661956787, 0.4005993902683258, 0.40159839391708374, 0.4025973975658417, 0.4035964012145996, 0.40459540486335754, 0.4055944085121155, 0.4065934121608734, 0.40759241580963135, 0.4085914194583893, 0.4095904231071472, 0.41058939695358276, 0.4115884006023407, 0.41258740425109863, 0.41358640789985657, 0.4145854115486145, 0.41558441519737244, 0.41658341884613037, 0.4175824224948883, 0.41858142614364624, 0.4195804297924042, 0.4205794334411621, 0.42157840728759766, 0.4225774109363556, 0.4235764145851135, 0.42457541823387146, 0.4255744218826294, 0.42657342553138733, 0.42757242918014526, 0.4285714328289032, 0.42957043647766113, 0.43056944012641907, 0.431568443775177, 0.43256744742393494, 0.4335664212703705, 0.4345654249191284, 0.43556442856788635, 0.4365634322166443, 0.4375624358654022, 0.43856143951416016, 0.4395604431629181, 0.440559446811676, 0.44155845046043396, 0.4425574541091919, 0.44355645775794983, 0.4445554316043854, 0.4455544352531433, 0.44655343890190125, 0.4475524425506592, 0.4485514461994171, 0.44955044984817505, 0.450549453496933, 0.4515484571456909, 0.45254746079444885, 0.4535464644432068, 0.4545454680919647, 0.45554444193840027, 0.4565434455871582, 0.45754244923591614, 0.4585414528846741, 0.459540456533432, 0.46053946018218994, 0.4615384638309479, 0.4625374674797058, 0.46353647112846375, 0.4645354747772217, 0.4655344784259796, 0.46653345227241516, 0.4675324559211731, 0.46853145956993103, 0.46953046321868896, 0.4705294668674469, 0.47152847051620483, 0.47252747416496277, 0.4735264778137207, 0.47452548146247864, 0.4755244851112366, 0.4765234887599945, 0.47752249240875244, 0.478521466255188, 0.4795204699039459, 0.48051947355270386, 0.4815184772014618, 0.4825174808502197, 0.48351648449897766, 0.4845154881477356, 0.48551449179649353, 0.48651349544525146, 0.4875124990940094, 0.48851150274276733, 0.4895104765892029, 0.4905094802379608, 0.49150848388671875, 0.4925074875354767, 0.4935064911842346, 0.49450549483299255, 0.4955044984817505, 0.4965035021305084, 0.49750250577926636, 0.4985015094280243, 0.4995005130767822, 0.5004994869232178, 0.5014985203742981, 0.5024974942207336, 0.503496527671814, 0.5044955015182495, 0.5054945349693298, 0.5064935088157654, 0.5074924826622009, 0.5084915161132812, 0.5094904899597168, 0.5104895234107971, 0.5114884972572327, 0.512487530708313, 0.5134865045547485, 0.5144855380058289, 0.5154845118522644, 0.5164835453033447, 0.5174825191497803, 0.5184814929962158, 0.5194805264472961, 0.5204795002937317, 0.521478533744812, 0.5224775075912476, 0.5234765410423279, 0.5244755148887634, 0.5254745483398438, 0.5264735221862793, 0.5274725556373596, 0.5284715294837952, 0.5294705033302307, 0.530469536781311, 0.5314685106277466, 0.5324675440788269, 0.5334665179252625, 0.5344655513763428, 0.5354645252227783, 0.5364635586738586, 0.5374625325202942, 0.5384615659713745, 0.5394605398178101, 0.5404595136642456, 0.5414585471153259, 0.5424575209617615, 0.5434565544128418, 0.5444555282592773, 0.5454545617103577, 0.5464535355567932, 0.5474525690078735, 0.5484515428543091, 0.5494505763053894, 0.550449550151825, 0.5514485239982605, 0.5524475574493408, 0.5534465312957764, 0.5544455647468567, 0.5554445385932922, 0.5564435720443726, 0.5574425458908081, 0.5584415793418884, 0.559440553188324, 0.5604395866394043, 0.5614385604858398, 0.5624375343322754, 0.5634365677833557, 0.5644355416297913, 0.5654345750808716, 0.5664335489273071, 0.5674325823783875, 0.568431556224823, 0.5694305896759033, 0.5704295635223389, 0.5714285969734192, 0.5724275708198547, 0.5734265446662903, 0.5744255781173706, 0.5754245519638062, 0.5764235854148865, 0.577422559261322, 0.5784215927124023, 0.5794205665588379, 0.5804196000099182, 0.5814185738563538, 0.5824176073074341, 0.5834165811538696, 0.5844155550003052, 0.5854145884513855, 0.586413562297821, 0.5874125957489014, 0.5884115695953369, 0.5894106030464172, 0.5904095768928528, 0.5914086103439331, 0.5924075841903687, 0.593406617641449, 0.5944055914878845, 0.5954046249389648, 0.5964035987854004, 0.5974025726318359, 0.5984016060829163, 0.5994005799293518, 0.6003996133804321, 0.6013985872268677, 0.602397620677948, 0.6033965945243835, 0.6043956279754639, 0.6053946018218994, 0.6063936352729797, 0.6073926091194153, 0.6083915829658508, 0.6093906164169312, 0.6103895902633667, 0.611388623714447, 0.6123875975608826, 0.6133866310119629, 0.6143856048583984, 0.6153846383094788, 0.6163836121559143, 0.6173826456069946, 0.6183816194534302, 0.6193805932998657, 0.620379626750946, 0.6213786005973816, 0.6223776340484619, 0.6233766078948975, 0.6243756413459778, 0.6253746151924133, 0.6263736486434937, 0.6273726224899292, 0.6283716559410095, 0.6293706297874451, 0.6303696036338806, 0.6313686370849609, 0.6323676109313965, 0.6333666443824768, 0.6343656182289124, 0.6353646516799927, 0.6363636255264282, 0.6373626589775085, 0.6383616328239441, 0.6393606662750244, 0.64035964012146, 0.6413586139678955, 0.6423576474189758, 0.6433566212654114, 0.6443556547164917, 0.6453546285629272, 0.6463536620140076, 0.6473526358604431, 0.6483516693115234, 0.649350643157959, 0.6503496766090393, 0.6513486504554749, 0.6523476243019104, 0.6533466577529907, 0.6543456315994263, 0.6553446650505066, 0.6563436388969421, 0.6573426723480225, 0.658341646194458, 0.6593406796455383, 0.6603396534919739, 0.6613386869430542, 0.6623376607894897, 0.6633366346359253, 0.6643356680870056, 0.6653346419334412, 0.6663336753845215, 0.667332649230957, 0.6683316826820374, 0.6693306565284729, 0.6703296899795532, 0.6713286638259888, 0.6723276972770691, 0.6733266711235046, 0.6743256449699402, 0.6753246784210205, 0.676323652267456, 0.6773226857185364, 0.6783216595649719, 0.6793206930160522, 0.6803196668624878, 0.6813187003135681, 0.6823176741600037, 0.683316707611084, 0.6843156814575195, 0.6853147149085999, 0.6863136887550354, 0.687312662601471, 0.6883116960525513, 0.6893106698989868, 0.6903097033500671, 0.6913086771965027, 0.692307710647583, 0.6933066844940186, 0.6943057179450989, 0.6953046917915344, 0.6963037252426147, 0.6973026990890503, 0.6983016729354858, 0.6993007063865662, 0.7002996802330017, 0.701298713684082, 0.7022976875305176, 0.7032967209815979, 0.7042956948280334, 0.7052947282791138, 0.7062937021255493, 0.7072927355766296, 0.7082917094230652, 0.7092906832695007, 0.710289716720581, 0.7112886905670166, 0.7122877240180969, 0.7132866978645325, 0.7142857313156128, 0.7152847051620483, 0.7162837386131287, 0.7172827124595642, 0.7182817459106445, 0.7192807197570801, 0.7202796936035156, 0.721278727054596, 0.7222777009010315, 0.7232767343521118, 0.7242757081985474, 0.7252747416496277, 0.7262737154960632, 0.7272727489471436, 0.7282717227935791, 0.7292707562446594, 0.730269730091095, 0.7312687039375305, 0.7322677373886108, 0.7332667112350464, 0.7342657446861267, 0.7352647185325623, 0.7362637519836426, 0.7372627258300781, 0.7382617592811584, 0.739260733127594, 0.7402597665786743, 0.7412587404251099, 0.7422577142715454, 0.7432567477226257, 0.7442557215690613, 0.7452547550201416, 0.7462537288665771, 0.7472527623176575, 0.748251736164093, 0.7492507696151733, 0.7502497434616089, 0.7512487769126892, 0.7522477507591248, 0.7532467246055603, 0.7542457580566406, 0.7552447319030762, 0.7562437653541565, 0.757242739200592, 0.7582417726516724, 0.7592407464981079, 0.7602397799491882, 0.7612387537956238, 0.7622377872467041, 0.7632367610931396, 0.7642357349395752, 0.7652347683906555, 0.7662337422370911, 0.7672327756881714, 0.7682317495346069, 0.7692307829856873, 0.7702297568321228, 0.7712287902832031, 0.7722277641296387, 0.773226797580719, 0.7742257714271545, 0.7752248048782349, 0.7762237787246704, 0.777222752571106, 0.7782217860221863, 0.7792207598686218, 0.7802197933197021, 0.7812187671661377, 0.782217800617218, 0.7832167744636536, 0.7842158079147339, 0.7852147817611694, 0.7862138152122498, 0.7872127890586853, 0.7882117629051208, 0.7892107963562012, 0.7902097702026367, 0.791208803653717, 0.7922077775001526, 0.7932068109512329, 0.7942057847976685, 0.7952048182487488, 0.7962037920951843, 0.7972028255462646, 0.7982017993927002, 0.7992007732391357, 0.8001998066902161, 0.8011987805366516, 0.8021978139877319, 0.8031967878341675, 0.8041958212852478, 0.8051947951316833, 0.8061938285827637, 0.8071928024291992, 0.8081918358802795, 0.8091908097267151, 0.8101897835731506, 0.811188817024231, 0.8121877908706665, 0.8131868243217468, 0.8141857981681824, 0.8151848316192627, 0.8161838054656982, 0.8171828389167786, 0.8181818127632141, 0.8191808462142944, 0.82017982006073, 0.8211787939071655, 0.8221778273582458, 0.8231768012046814, 0.8241758346557617, 0.8251748085021973, 0.8261738419532776, 0.8271728157997131, 0.8281718492507935, 0.829170823097229, 0.8301698565483093, 0.8311688303947449, 0.8321678042411804, 0.8331668376922607, 0.8341658115386963, 0.8351648449897766, 0.8361638188362122, 0.8371628522872925, 0.838161826133728, 0.8391608595848083, 0.8401598334312439, 0.8411588668823242, 0.8421578407287598, 0.8431568145751953, 0.8441558480262756, 0.8451548218727112, 0.8461538553237915, 0.847152829170227, 0.8481518626213074, 0.8491508364677429, 0.8501498699188232, 0.8511488437652588, 0.8521478772163391, 0.8531468510627747, 0.8541458249092102, 0.8551448583602905, 0.8561438322067261, 0.8571428656578064, 0.8581418395042419, 0.8591408729553223, 0.8601398468017578, 0.8611388802528381, 0.8621378540992737, 0.863136887550354, 0.8641358613967896, 0.8651348948478699, 0.8661338686943054, 0.867132842540741, 0.8681318759918213, 0.8691308498382568, 0.8701298832893372, 0.8711288571357727, 0.872127890586853, 0.8731268644332886, 0.8741258978843689, 0.8751248717308044, 0.8761239051818848, 0.8771228790283203, 0.8781218528747559, 0.8791208863258362, 0.8801198601722717, 0.881118893623352, 0.8821178674697876, 0.8831169009208679, 0.8841158747673035, 0.8851149082183838, 0.8861138820648193, 0.8871129155158997, 0.8881118893623352, 0.8891108632087708, 0.8901098966598511, 0.8911088705062866, 0.8921079039573669, 0.8931068778038025, 0.8941059112548828, 0.8951048851013184, 0.8961039185523987, 0.8971028923988342, 0.8981019258499146, 0.8991008996963501, 0.9000998735427856, 0.901098906993866, 0.9020978808403015, 0.9030969142913818, 0.9040958881378174, 0.9050949215888977, 0.9060938954353333, 0.9070929288864136, 0.9080919027328491, 0.9090909361839294, 0.910089910030365, 0.9110888838768005, 0.9120879173278809, 0.9130868911743164, 0.9140859246253967, 0.9150848984718323, 0.9160839319229126, 0.9170829057693481, 0.9180819392204285, 0.919080913066864, 0.9200799465179443, 0.9210789203643799, 0.9220778942108154, 0.9230769276618958, 0.9240759015083313, 0.9250749349594116, 0.9260739088058472, 0.9270729422569275, 0.928071916103363, 0.9290709495544434, 0.9300699234008789, 0.9310689568519592, 0.9320679306983948, 0.9330669045448303, 0.9340659379959106, 0.9350649118423462, 0.9360639452934265, 0.9370629191398621, 0.9380619525909424, 0.9390609264373779, 0.9400599598884583, 0.9410589337348938, 0.9420579671859741, 0.9430569410324097, 0.9440559148788452, 0.9450549483299255, 0.9460539221763611, 0.9470529556274414, 0.948051929473877, 0.9490509629249573, 0.9500499367713928, 0.9510489702224731, 0.9520479440689087, 0.953046977519989, 0.9540459513664246, 0.9550449848175049, 0.9560439586639404, 0.957042932510376, 0.9580419659614563, 0.9590409398078918, 0.9600399732589722, 0.9610389471054077, 0.962037980556488, 0.9630369544029236, 0.9640359878540039, 0.9650349617004395, 0.9660339951515198, 0.9670329689979553, 0.9680319428443909, 0.9690309762954712, 0.9700299501419067, 0.9710289835929871, 0.9720279574394226, 0.9730269908905029, 0.9740259647369385, 0.9750249981880188, 0.9760239720344543, 0.9770230054855347, 0.9780219793319702, 0.9790209531784058, 0.9800199866294861, 0.9810189604759216, 0.982017993927002, 0.9830169677734375, 0.9840160012245178, 0.9850149750709534, 0.9860140085220337, 0.9870129823684692, 0.9880120158195496, 0.9890109896659851, 0.9900099635124207, 0.991008996963501, 0.9920079708099365, 0.9930070042610168, 0.9940059781074524, 0.9950050115585327, 0.9960039854049683, 0.9970030188560486, 0.9980019927024841, 0.9990010261535645, 1.0], "expected": [-0.7615941762924194, -0.7611742615699768, -0.7607537508010864, -0.7603325843811035, -0.7599107623100281, -0.7594883441925049, -0.7590652704238892, -0.7586416006088257, -0.7582172155380249, -0.7577922344207764, -0.7573665380477905, -0.7569402456283569, -0.7565133571624756, -0.7560857534408569, -0.7556575536727905, -0.7552286386489868, -0.7547991275787354, -0.7543689608573914, -0.7539381384849548, -0.7535066604614258, -0.7530745267868042, -0.7526417374610901, -0.7522083520889282, -0.751774251461029, -0.7513395547866821, -0.7509041428565979, -0.7504681348800659, -0.7500314116477966, -0.7495940923690796, -0.74915611743927, -0.7487174272537231, -0.7482781410217285, -0.7478381395339966, -0.7473975419998169, -0.7469562292098999, -0.7465143203735352, -0.7460716962814331, -0.7456284165382385, -0.7451844811439514, -0.7447398900985718, -0.7442946434020996, -0.7438487410545349, -0.7434021830558777, -0.7429549098014832, -0.7425070405006409, -0.7420584559440613, -0.7416092157363892, -0.7411593198776245, -0.7407087683677673, -0.7402575612068176, -0.7398056387901306, -0.7393530607223511, -0.738899827003479, -0.7384459376335144, -0.7379913330078125, -0.7375360727310181, -0.7370801568031311, -0.7366235852241516, -0.7361662983894348, -0.7357083559036255, -0.7352497577667236, -0.7347904443740845, -0.7343305349349976, -0.7338698506355286, -0.7334085702896118, -0.7329465746879578, -0.7324839234352112, -0.7320205569267273, -0.7315565347671509, -0.7310918569564819, -0.7306264638900757, -0.7301604151725769, -0.7296936511993408, -0.7292262315750122, -0.7287581562995911, -0.7282893657684326, -0.7278198599815369, -0.7273497581481934, -0.7268788814544678, -0.7264074087142944, -0.7259352207183838, -0.7254623174667358, -0.7249887585639954, -0.7245144844055176, -0.7240395545959473, -0.7235639095306396, -0.7230875492095947, -0.7226105332374573, -0.7221328616142273, -0.72165447473526, -0.7211753726005554, -0.7206956148147583, -0.7202151417732239, -0.7197340130805969, -0.7192521095275879, -0.7187696099281311, -0.7182863354682922, -0.7178024649620056, -0.7173178195953369, -0.7168325185775757, -0.7163464426994324, -0.7158597707748413, -0.7153723835945129, -0.7148842811584473, -0.7143954634666443, -0.713905930519104, -0.713415801525116, -0.7129248380661011, -0.7124332785606384, -0.7119409441947937, -0.7114479541778564, -0.7109542489051819, -0.7104598879814148, -0.7099648118019104, -0.7094689607620239, -0.7089724540710449, -0.7084752321243286, -0.7079773545265198, -0.7074787020683289, -0.7069793939590454, -0.7064793109893799, -0.7059786319732666, -0.7054771184921265, -0.7049750089645386, -0.7044721841812134, -0.7039685845375061, -0.7034643888473511, -0.7029593586921692, -0.7024536728858948, -0.7019472718238831, -0.701440155506134, -0.7009323239326477, -0.7004237771034241, -0.6999145150184631, -0.6994045376777649, -0.6988939046859741, -0.6983824968338013, -0.6978703737258911, -0.6973575353622437, -0.6968440413475037, -0.6963297724723816, -0.6958147883415222, -0.6952990889549255, -0.6947826743125916, -0.6942655444145203, -0.6937477588653564, -0.6932291984558105, -0.6927099227905273, -0.6921899318695068, -0.691669225692749, -0.6911478042602539, -0.6906256079673767, -0.690102756023407, -0.6895791292190552, -0.6890548467636108, -0.6885297894477844, -0.6880040168762207, -0.6874775290489197, -0.6869503259658813, -0.6864224076271057, -0.685893714427948, -0.6853643655776978, -0.6848342418670654, -0.6843034029006958, -0.6837718486785889, -0.6832395792007446, -0.6827065348625183, -0.6821728348731995, -0.6816383004188538, -0.6811031699180603, -0.68056720495224, -0.6800305247306824, -0.6794931888580322, -0.678955078125, -0.6784161925315857, -0.6778765916824341, -0.6773363351821899, -0.676795244216919, -0.6762534976005554, -0.6757109761238098, -0.6751677393913269, -0.6746237874031067, -0.6740790605545044, -0.6735336780548096, -0.6729874610900879, -0.6724405884742737, -0.6718928813934326, -0.671344518661499, -0.6707954406738281, -0.6702455878257751, -0.6696949601173401, -0.6691436767578125, -0.6685916185379028, -0.6680387854576111, -0.667485237121582, -0.6669309735298157, -0.6663759350776672, -0.6658201813697815, -0.6652637124061584, -0.6647064685821533, -0.6641485095024109, -0.6635897755622864, -0.6630303263664246, -0.6624701023101807, -0.6619091629981995, -0.661347508430481, -0.6607850193977356, -0.6602218747138977, -0.6596579551696777, -0.6590933203697205, -0.6585279107093811, -0.6579617261886597, -0.6573948264122009, -0.6568272113800049, -0.6562588214874268, -0.6556897163391113, -0.6551198363304138, -0.6545491814613342, -0.6539778709411621, -0.6534057259559631, -0.6528328657150269, -0.6522592306137085, -0.6516848802566528, -0.6511097550392151, -0.65053391456604, -0.6499573588371277, -0.6493799686431885, -0.648801863193512, -0.6482230424880981, -0.6476434469223022, -0.6470630764961243, -0.646481990814209, -0.6459000706672668, -0.6453174948692322, -0.6447341442108154, -0.6441500186920166, -0.6435651779174805, -0.6429795622825623, -0.642393171787262, -0.6418060660362244, -0.6412181854248047, -0.6406295299530029, -0.6400402188301086, -0.6394500136375427, -0.6388591527938843, -0.6382675170898438, -0.6376751065254211, -0.6370819211006165, -0.6364880204200745, -0.6358934044837952, -0.635297954082489, -0.6347017884254456, -0.6341047883033752, -0.6335071325302124, -0.6329086422920227, -0.6323094964027405, -0.6317095160484314, -0.6311087608337402, -0.6305072903633118, -0.6299050450325012, -0.6293020844459534, -0.6286982893943787, -0.6280938386917114, -0.6274884939193726, -0.6268824934959412, -0.6262757182121277, -0.6256681680679321, -0.6250598430633545, -0.6244507431983948, -0.6238409280776978, -0.6232303380966187, -0.6226190328598022, -0.622006893157959, -0.6213940382003784, -0.620780348777771, -0.6201659440994263, -0.6195507645606995, -0.6189348697662354, -0.6183182001113892, -0.6177007555961609, -0.6170825362205505, -0.6164635419845581, -0.6158438324928284, -0.6152233481407166, -0.6146020889282227, -0.6139800548553467, -0.6133572459220886, -0.6127337217330933, -0.6121094226837158, -0.6114842891693115, -0.6108585000038147, -0.610231876373291, -0.6096044778823853, -0.6089763641357422, -0.608347475528717, -0.6077178120613098, -0.6070873737335205, -0.6064561605453491, -0.6058241724967957, -0.6051914691925049, -0.604557991027832, -0.6039237380027771, -0.6032886505126953, -0.602652907371521, -0.6020163893699646, -0.6013790369033813, -0.6007409691810608, -0.6001020669937134, -0.5994624495506287, -0.5988220572471619, -0.5981809496879578, -0.5975390076637268, -0.5968962907791138, -0.5962528586387634, -0.595608651638031, -0.5949636697769165, -0.5943178534507751, -0.5936713814735413, -0.5930240750312805, -0.5923759937286377, -0.5917271971702576, -0.5910776257514954, -0.5904272198677063, -0.5897760987281799, -0.5891242027282715, -0.588471531867981, -0.5878180861473083, -0.5871639251708984, -0.5865089297294617, -0.5858532190322876, -0.5851967334747314, -0.5845394134521484, -0.5838813781738281, -0.5832225680351257, -0.5825629830360413, -0.5819026231765747, -0.5812415480613708, -0.5805796384811401, -0.5799170136451721, -0.579253613948822, -0.5785893797874451, -0.5779244899749756, -0.5772587060928345, -0.5765922665596008, -0.5759249925613403, -0.5752569437026978, -0.5745881795883179, -0.5739185810089111, -0.5732482671737671, -0.572577178478241, -0.5719053149223328, -0.5712326765060425, -0.5705592632293701, -0.5698850750923157, -0.5692101716995239, -0.5685344338417053, -0.5678579807281494, -0.5671806931495667, -0.5665026903152466, -0.5658239126205444, -0.5651443600654602, -0.5644640922546387, -0.5637829899787903, -0.5631011724472046, -0.562418520450592, -0.5617351531982422, -0.5610509514808655, -0.5603660345077515, -0.5596803426742554, -0.558993935585022, -0.5583066940307617, -0.5576186776161194, -0.5569299459457397, -0.556240439414978, -0.5555501580238342, -0.5548590421676636, -0.5541672706604004, -0.5534746646881104, -0.552781343460083, -0.5520871877670288, -0.5513923168182373, -0.550696611404419, -0.5500002503395081, -0.5493030548095703, -0.5486050844192505, -0.5479063987731934, -0.5472068786621094, -0.5465066432952881, -0.5458056330680847, -0.5451038479804993, -0.5444012880325317, -0.5436980128288269, -0.5429939031600952, -0.542289137840271, -0.5415835380554199, -0.5408771634101868, -0.5401700139045715, -0.539462149143219, -0.5387535095214844, -0.5380440354347229, -0.5373339056968689, -0.536622941493988, -0.5359112620353699, -0.5351987481117249, -0.5344855189323425, -0.5337715744972229, -0.5330567955970764, -0.5323413014411926, -0.531624972820282, -0.5309079885482788, -0.530190110206604, -0.5294715762138367, -0.5287522673606873, -0.5280321836471558, -0.5273113250732422, -0.5265897512435913, -0.5258673429489136, -0.5251442790031433, -0.5244203805923462, -0.5236957669258118, -0.5229703783988953, -0.5222441554069519, -0.521517276763916, -0.5207895636558533, -0.520061194896698, -0.5193319916725159, -0.5186020731925964, -0.5178713202476501, -0.5171399116516113, -0.5164076685905457, -0.5156747102737427, -0.5149409770965576, -0.5142064690589905, -0.5134713053703308, -0.5127352476119995, -0.5119985342025757, -0.5112610459327698, -0.5105227828025818, -0.5097837448120117, -0.5090440511703491, -0.5083035230636597, -0.5075622797012329, -0.5068202614784241, -0.5060774683952332, -0.5053339600563049, -0.5045896768569946, -0.503844678401947, -0.5030989050865173, -0.5023523569107056, -0.5016050934791565, -0.5008571147918701, -0.5001083612442017, -0.49935880303382874, -0.4986085593700409, -0.4978575110435486, -0.49710577726364136, -0.49635323882102966, -0.49560001492500305, -0.494845986366272, -0.494091272354126, -0.4933357536792755, -0.49257951974868774, -0.49182257056236267, -0.49106481671333313, -0.49030637741088867, -0.48954713344573975, -0.4887872040271759, -0.4880264699459076, -0.48726505041122437, -0.48650285601615906, -0.48573994636535645, -0.48497626185417175, -0.48421189188957214, -0.48344674706459045, -0.4826808571815491, -0.4819142520427704, -0.4811468720436096, -0.48037877678871155, -0.4796099066734314, -0.4788403809070587, -0.4780700206756592, -0.4772990047931671, -0.4765271842479706, -0.4757547080516815, -0.47498148679733276, -0.47420746088027954, -0.4734327495098114, -0.47265729308128357, -0.47188112139701843, -0.4711041748523712, -0.4703265428543091, -0.46954813599586487, -0.46876904368400574, -0.4679891765117645, -0.4672086238861084, -0.46642735600471497, -0.46564531326293945, -0.46486255526542664, -0.4640790522098541, -0.4632948637008667, -0.4625099003314972, -0.4617242217063904, -0.46093785762786865, -0.46015071868896484, -0.4593628942966461, -0.4585743248462677, -0.457785040140152, -0.45699504017829895, -0.4562043249607086, -0.4554128646850586, -0.45462068915367126, -0.45382779836654663, -0.4530342221260071, -0.45223990082740784, -0.4514448344707489, -0.45064908266067505, -0.4498526155948639, -0.44905540347099304, -0.4482575058937073, -0.4474588632583618, -0.44665953516960144, -0.44585949182510376, -0.4450587034225464, -0.4442572593688965, -0.4434550702571869, -0.44265216588974, -0.4418485462665558, -0.4410442113876343, -0.44023919105529785, -0.4394334554672241, -0.4386270046234131, -0.43781983852386475, -0.4370119869709015, -0.4362034201622009, -0.43539413809776306, -0.43458420038223267, -0.4337735176086426, -0.4329621195793152, -0.4321500360965729, -0.43133726716041565, -0.4305237829685211, -0.4297095835208893, -0.42889469861984253, -0.42807912826538086, -0.4272628426551819, -0.4264458417892456, -0.4256281852722168, -0.4248098134994507, -0.42399075627326965, -0.4231709837913513, -0.42235055565834045, -0.4215293824672699, -0.4207075536251068, -0.4198850095272064, -0.4190618097782135, -0.4182378947734833, -0.41741329431533813, -0.41658803820610046, -0.4157620668411255, -0.4149353802204132, -0.4141080379486084, -0.41328001022338867, -0.41245129704475403, -0.41162189841270447, -0.4107918441295624, -0.409961074590683, -0.40912964940071106, -0.40829750895500183, -0.40746474266052246, -0.4066312611103058, -0.4057970941066742, -0.4049622714519501, -0.40412676334381104, -0.4032905697822571, -0.4024537205696106, -0.4016161859035492, -0.4007779657840729, -0.39993909001350403, -0.39909955859184265, -0.39825934171676636, -0.39741846919059753, -0.3965769112110138, -0.3957346975803375, -0.39489179849624634, -0.394048273563385, -0.3932040333747864, -0.3923591673374176, -0.3915136158466339, -0.3906674087047577, -0.38982054591178894, -0.38897302746772766, -0.38812485337257385, -0.3872760236263275, -0.38642653822898865, -0.38557636737823486, -0.38472557067871094, -0.3838740885257721, -0.3830219805240631, -0.3821692168712616, -0.38131579756736755, -0.380461722612381, -0.3796069920063019, -0.378751665353775, -0.37789562344551086, -0.37703898549079895, -0.3761816620826721, -0.37532371282577515, -0.37446510791778564, -0.373605877161026, -0.37274599075317383, -0.3718854784965515, -0.37102431058883667, -0.3701624870300293, -0.36930009722709656, -0.3684370219707489, -0.3675732910633087, -0.3667089641094208, -0.3658439815044403, -0.3649783730506897, -0.36411210894584656, -0.36324524879455566, -0.36237776279449463, -0.36150962114334106, -0.36064085364341736, -0.3597714900970459, -0.3589015007019043, -0.35803085565567017, -0.3571596145629883, -0.35628771781921387, -0.3554152250289917, -0.3545421063899994, -0.35366836190223694, -0.35279402136802673, -0.351919025182724, -0.3510434627532959, -0.35016724467277527, -0.3492904603481293, -0.34841302037239075, -0.34753498435020447, -0.34665635228157043, -0.34577709436416626, -0.34489721059799194, -0.34401676058769226, -0.34313568472862244, -0.34225398302078247, -0.34137171506881714, -0.34048882126808167, -0.3396053612232208, -0.33872127532958984, -0.3378365933895111, -0.3369513154029846, -0.3360654413700104, -0.3351789712905884, -0.33429190516471863, -0.3334042429924011, -0.33251598477363586, -0.33162713050842285, -0.3307377099990845, -0.3298477232456207, -0.32895711064338684, -0.3280659317970276, -0.3271741271018982, -0.3262817859649658, -0.3253888487815857, -0.3244953155517578, -0.32360121607780457, -0.32270655035972595, -0.3218112885951996, -0.32091546058654785, -0.32001903653144836, -0.3191221058368683, -0.31822454929351807, -0.3173264265060425, -0.31642773747444153, -0.3155284523963928, -0.31462863087654114, -0.3137282431125641, -0.31282728910446167, -0.3119257688522339, -0.31102368235588074, -0.3101210296154022, -0.3092178702354431, -0.30831408500671387, -0.30740976333618164, -0.30650490522384644, -0.30559948086738586, -0.3046934902667999, -0.303786963224411, -0.30287986993789673, -0.30197224020957947, -0.30106404423713684, -0.30015531182289124, -0.29924607276916504, -0.2983362674713135, -0.29742589592933655, -0.29651501774787903, -0.29560357332229614, -0.2946915924549103, -0.29377907514572144, -0.2928660213947296, -0.2919524312019348, -0.29103830456733704, -0.29012367129325867, -0.2892085015773773, -0.288292795419693, -0.2873765528202057, -0.2864598035812378, -0.2855425179004669, -0.28462469577789307, -0.2837063670158386, -0.2827875018119812, -0.2818681299686432, -0.2809482514858246, -0.280027836561203, -0.27910691499710083, -0.27818551659584045, -0.2772635519504547, -0.2763410806655884, -0.27541813254356384, -0.27449464797973633, -0.2735706567764282, -0.2726461589336395, -0.2717211842536926, -0.27079567313194275, -0.26986968517303467, -0.268943190574646, -0.2680162191390991, -0.26708874106407166, -0.2661607563495636, -0.26523226499557495, -0.2643032968044281, -0.26337382197380066, -0.262443870306015, -0.26151344180107117, -0.26058250665664673, -0.2596510946750641, -0.25871920585632324, -0.2577868700027466, -0.25685399770736694, -0.2559206783771515, -0.25498685240745544, -0.2540525794029236, -0.2531178295612335, -0.25218257308006287, -0.2512468695640564, -0.2503106892108917, -0.24937404692173004, -0.24843694269657135, -0.24749939143657684, -0.24656134843826294, -0.24562284350395203, -0.2446838766336441, -0.24374446272850037, -0.24280457198619843, -0.24186423420906067, -0.2409234493970871, -0.23998220264911652, -0.2390405237674713, -0.2380983829498291, -0.23715578019618988, -0.23621274530887604, -0.23526926338672638, -0.2343253493309021, -0.2333809733390808, -0.2324361652135849, -0.23149091005325317, -0.23054522275924683, -0.22959910333156586, -0.22865256667137146, -0.22770556807518005, -0.22675815224647522, -0.22581030428409576, -0.2248620241880417, -0.223913311958313, -0.22296419739723206, -0.2220146507024765, -0.22106468677520752, -0.22011429071426392, -0.21916347742080688, -0.21821226179599762, -0.21726062893867493, -0.2163085639476776, -0.21535609662532806, -0.21440322697162628, -0.21344995498657227, -0.21249626576900482, -0.21154217422008514, -0.21058768033981323, -0.2096327692270279, -0.2086774706840515, -0.2077217698097229, -0.20676569640636444, -0.20580920577049255, -0.20485231280326843, -0.20389504730701447, -0.20293737947940826, -0.20197933912277222, -0.20102089643478394, -0.20006206631660461, -0.19910284876823425, -0.19814325869083405, -0.197183296084404, -0.1962229609489441, -0.19526222348213196, -0.19430112838745117, -0.19333964586257935, -0.19237780570983887, -0.19141560792922974, -0.19045302271842957, -0.18949006497859955, -0.18852674961090088, -0.18756307661533356, -0.1865990310907364, -0.18563465774059296, -0.18466989696025848, -0.18370479345321655, -0.18273931741714478, -0.18177349865436554, -0.18080733716487885, -0.1798408329486847, -0.1788739711046219, -0.17790675163269043, -0.1769391894340515, -0.17597129940986633, -0.1750030666589737, -0.1740344911813736, -0.17306558787822723, -0.17209632694721222, -0.17112675309181213, -0.1701568365097046, -0.16918660700321198, -0.1682160347700119, -0.16724513471126556, -0.16627392172813416, -0.1653023660182953, -0.16433049738407135, -0.16335833072662354, -0.16238583624362946, -0.1614130139350891, -0.1604398787021637, -0.1594664305448532, -0.15849269926548004, -0.1575186401605606, -0.1565442681312561, -0.15556958317756653, -0.15459460020065308, -0.15361931920051575, -0.15264376997947693, -0.15166789293289185, -0.15069171786308289, -0.14971524477005005, -0.14873848855495453, -0.14776146411895752, -0.14678412675857544, -0.14580650627613068, -0.14482860267162323, -0.1438504010438919, -0.1428719311952591, -0.1418931931257248, -0.1409141719341278, -0.13993486762046814, -0.1389552801847458, -0.13797543942928314, -0.1369953155517578, -0.1360149383544922, -0.13503429293632507, -0.13405336439609528, -0.13307218253612518, -0.1320907473564148, -0.1311090588569641, -0.13012710213661194, -0.12914487719535828, -0.1281624138355255, -0.12717969715595245, -0.1261967271566391, -0.12521351873874664, -0.12423005700111389, -0.12324634939432144, -0.1222623959183693, -0.12127821892499924, -0.12029378861188889, -0.11930911988019943, -0.11832422763109207, -0.11733909696340561, -0.11635373532772064, -0.11536814272403717, -0.11438232660293579, -0.11339627951383591, -0.11241001635789871, -0.11142352968454361, -0.1104368269443512, -0.10944989323616028, -0.10846275091171265, -0.1074753999710083, -0.10648783296346664, -0.10550004988908768, -0.10451207309961319, -0.10352388024330139, -0.10253547877073288, -0.10154688358306885, -0.1005580797791481, -0.09956908226013184, -0.09857989102602005, -0.09759049862623215, -0.09660091996192932, -0.09561114758253098, -0.09462118148803711, -0.09363103657960892, -0.0926406979560852, -0.09165017306804657, -0.0906594842672348, -0.08966860175132751, -0.0886775404214859, -0.08768630772829056, -0.08669490367174149, -0.08570332080125809, -0.08471158146858215, -0.0837196633219719, -0.0827275738120079, -0.08173533529043198, -0.08074292540550232, -0.07975035905838013, -0.0787576362490654, -0.07776474952697754, -0.07677172124385834, -0.075778529047966, -0.07478518784046173, -0.07379170507192612, -0.07279806584119797, -0.07180428504943848, -0.07081037014722824, -0.06981630623340607, -0.06882210075855255, -0.06782776862382889, -0.06683329492807388, -0.06583869457244873, -0.06484395265579224, -0.0638490840792656, -0.06285410374403, -0.06185897812247276, -0.060863740742206573, -0.059868376702070236, -0.058872900903224945, -0.0578773058950901, -0.05688159167766571, -0.055885765701532364, -0.05488983169198036, -0.053893785923719406, -0.052897632122039795, -0.05190137401223183, -0.0509050115942955, -0.04990854859352112, -0.048911985009908676, -0.04791532829403877, -0.04691857472062111, -0.045921724289655685, -0.0449247844517231, -0.04392775893211365, -0.042930636554956436, -0.04193343594670296, -0.040936149656772614, -0.039938785135746, -0.038941334933042526, -0.03794381022453308, -0.03694621101021767, -0.03594853729009628, -0.03495079278945923, -0.0339529775083065, -0.032955098897218704, -0.031957145780324936, -0.030959133058786392, -0.029961060732603073, -0.02896292693912983, -0.02796473540365696, -0.026966487988829613, -0.025968186557292938, -0.024969832971692085, -0.023971430957317352, -0.02297297865152359, -0.021974483504891396, -0.02097594365477562, -0.01997736282646656, -0.01897873915731907, -0.017980080097913742, -0.01698138378560543, -0.015982653945684433, -0.014983892440795898, -0.01398510206490755, -0.01298628281801939, -0.01198743749409914, -0.010988568887114525, -0.009989677928388119, -0.008990766480565071, -0.007991837337613106, -0.006992893293499947, -0.005993934348225594, -0.0049949632957577705, -0.003995982464402914, -0.0029969941824674606, -0.001997999381273985, -0.000999000621959567, 0.0, 0.000999000621959567, 0.001997999381273985, 0.0029969941824674606, 0.003995982464402914, 0.0049949632957577705, 0.005993934348225594, 0.006992893293499947, 0.007991837337613106, 0.008990766480565071, 0.009989677928388119, 0.010988568887114525, 0.01198743749409914, 0.01298628281801939, 0.01398510206490755, 0.014983892440795898, 0.015982653945684433, 0.01698138378560543, 0.017980080097913742, 0.01897873915731907, 0.01997736282646656, 0.02097594365477562, 0.021974483504891396, 0.02297297865152359, 0.023971430957317352, 0.024969832971692085, 0.025968186557292938, 0.026966487988829613, 0.02796473540365696, 0.02896292693912983, 0.029961060732603073, 0.030959133058786392, 0.031957145780324936, 0.032955098897218704, 0.0339529775083065, 0.03495079278945923, 0.03594853729009628, 0.03694621101021767, 0.03794381022453308, 0.038941334933042526, 0.039938785135746, 0.040936149656772614, 0.04193343594670296, 0.042930636554956436, 0.04392775893211365, 0.0449247844517231, 0.045921724289655685, 0.04691857472062111, 0.04791532829403877, 0.048911985009908676, 0.04990854859352112, 0.0509050115942955, 0.05190137401223183, 0.052897632122039795, 0.053893785923719406, 0.05488983169198036, 0.055885765701532364, 0.05688159167766571, 0.0578773058950901, 0.058872900903224945, 0.059868376702070236, 0.060863740742206573, 0.06185897812247276, 0.06285410374403, 0.0638490840792656, 0.06484395265579224, 0.06583869457244873, 0.06683329492807388, 0.06782776862382889, 0.06882210075855255, 0.06981630623340607, 0.07081037014722824, 0.07180428504943848, 0.07279806584119797, 0.07379170507192612, 0.07478518784046173, 0.075778529047966, 0.07677172124385834, 0.07776474952697754, 0.0787576362490654, 0.07975035905838013, 0.08074292540550232, 0.08173533529043198, 0.0827275738120079, 0.0837196633219719, 0.08471158146858215, 0.08570332080125809, 0.08669490367174149, 0.08768630772829056, 0.0886775404214859, 0.08966860175132751, 0.0906594842672348, 0.09165017306804657, 0.0926406979560852, 0.09363103657960892, 0.09462118148803711, 0.09561114758253098, 0.09660091996192932, 0.09759049862623215, 0.09857989102602005, 0.09956908226013184, 0.1005580797791481, 0.10154688358306885, 0.10253547877073288, 0.10352388024330139, 0.10451207309961319, 0.10550004988908768, 0.10648783296346664, 0.1074753999710083, 0.10846275091171265, 0.10944989323616028, 0.1104368269443512, 0.11142352968454361, 0.11241001635789871, 0.11339627951383591, 0.11438232660293579, 0.11536814272403717, 0.11635373532772064, 0.11733909696340561, 0.11832422763109207, 0.11930911988019943, 0.12029378861188889, 0.12127821892499924, 0.1222623959183693, 0.12324634939432144, 0.12423005700111389, 0.12521351873874664, 0.1261967271566391, 0.12717969715595245, 0.1281624138355255, 0.12914487719535828, 0.13012710213661194, 0.1311090588569641, 0.1320907473564148, 0.13307218253612518, 0.13405336439609528, 0.13503429293632507, 0.1360149383544922, 0.1369953155517578, 0.13797543942928314, 0.1389552801847458, 0.13993486762046814, 0.1409141719341278, 0.1418931931257248, 0.1428719311952591, 0.1438504010438919, 0.14482860267162323, 0.14580650627613068, 0.14678412675857544, 0.14776146411895752, 0.14873848855495453, 0.14971524477005005, 0.15069171786308289, 0.15166789293289185, 0.15264376997947693, 0.15361931920051575, 0.15459460020065308, 0.15556958317756653, 0.1565442681312561, 0.1575186401605606, 0.15849269926548004, 0.1594664305448532, 0.1604398787021637, 0.1614130139350891, 0.16238583624362946, 0.16335833072662354, 0.16433049738407135, 0.1653023660182953, 0.16627392172813416, 0.16724513471126556, 0.1682160347700119, 0.16918660700321198, 0.1701568365097046, 0.17112675309181213, 0.17209632694721222, 0.17306558787822723, 0.1740344911813736, 0.1750030666589737, 0.17597129940986633, 0.1769391894340515, 0.17790675163269043, 0.1788739711046219, 0.1798408329486847, 0.18080733716487885, 0.18177349865436554, 0.18273931741714478, 0.18370479345321655, 0.18466989696025848, 0.18563465774059296, 0.1865990310907364, 0.18756307661533356, 0.18852674961090088, 0.18949006497859955, 0.19045302271842957, 0.19141560792922974, 0.19237780570983887, 0.19333964586257935, 0.19430112838745117, 0.19526222348213196, 0.1962229609489441, 0.197183296084404, 0.19814325869083405, 0.19910284876823425, 0.20006206631660461, 0.20102089643478394, 0.20197933912277222, 0.20293737947940826, 0.20389504730701447, 0.20485231280326843, 0.20580920577049255, 0.20676569640636444, 0.2077217698097229, 0.2086774706840515, 0.2096327692270279, 0.21058768033981323, 0.21154217422008514, 0.21249626576900482, 0.21344995498657227, 0.21440322697162628, 0.21535609662532806, 0.2163085639476776, 0.21726062893867493, 0.21821226179599762, 0.21916347742080688, 0.22011429071426392, 0.22106468677520752, 0.2220146507024765, 0.22296419739723206, 0.223913311958313, 0.2248620241880417, 0.22581030428409576, 0.22675815224647522, 0.22770556807518005, 0.22865256667137146, 0.22959910333156586, 0.23054522275924683, 0.23149091005325317, 0.2324361652135849, 0.2333809733390808, 0.2343253493309021, 0.23526926338672638, 0.23621274530887604, 0.23715578019618988, 0.2380983829498291, 0.2390405237674713, 0.23998220264911652, 0.2409234493970871, 0.24186423420906067, 0.24280457198619843, 0.24374446272850037, 0.2446838766336441, 0.24562284350395203, 0.24656134843826294, 0.24749939143657684, 0.24843694269657135, 0.24937404692173004, 0.2503106892108917, 0.2512468695640564, 0.25218257308006287, 0.2531178295612335, 0.2540525794029236, 0.25498685240745544, 0.2559206783771515, 0.25685399770736694, 0.2577868700027466, 0.25871920585632324, 0.2596510946750641, 0.26058250665664673, 0.26151344180107117, 0.262443870306015, 0.26337382197380066, 0.2643032968044281, 0.26523226499557495, 0.2661607563495636, 0.26708874106407166, 0.2680162191390991, 0.268943190574646, 0.26986968517303467, 0.27079567313194275, 0.2717211842536926, 0.2726461589336395, 0.2735706567764282, 0.27449464797973633, 0.27541813254356384, 0.2763410806655884, 0.2772635519504547, 0.27818551659584045, 0.27910691499710083, 0.280027836561203, 0.2809482514858246, 0.2818681299686432, 0.2827875018119812, 0.2837063670158386, 0.28462469577789307, 0.2855425179004669, 0.2864598035812378, 0.2873765528202057, 0.288292795419693, 0.2892085015773773, 0.29012367129325867, 0.29103830456733704, 0.2919524312019348, 0.2928660213947296, 0.29377907514572144, 0.2946915924549103, 0.29560357332229614, 0.29651501774787903, 0.29742589592933655, 0.2983362674713135, 0.29924607276916504, 0.30015531182289124, 0.30106404423713684, 0.30197224020957947, 0.30287986993789673, 0.303786963224411, 0.3046934902667999, 0.30559948086738586, 0.30650490522384644, 0.30740976333618164, 0.30831408500671387, 0.3092178702354431, 0.3101210296154022, 0.31102368235588074, 0.3119257688522339, 0.31282728910446167, 0.3137282431125641, 0.31462863087654114, 0.3155284523963928, 0.31642773747444153, 0.3173264265060425, 0.31822454929351807, 0.3191221058368683, 0.32001903653144836, 0.32091546058654785, 0.3218112885951996, 0.32270655035972595, 0.32360121607780457, 0.3244953155517578, 0.3253888487815857, 0.3262817859649658, 0.3271741271018982, 0.3280659317970276, 0.32895711064338684, 0.3298477232456207, 0.3307377099990845, 0.33162713050842285, 0.33251598477363586, 0.3334042429924011, 0.33429190516471863, 0.3351789712905884, 0.3360654413700104, 0.3369513154029846, 0.3378365933895111, 0.33872127532958984, 0.3396053612232208, 0.34048882126808167, 0.34137171506881714, 0.34225398302078247, 0.34313568472862244, 0.34401676058769226, 0.34489721059799194, 0.34577709436416626, 0.34665635228157043, 0.34753498435020447, 0.34841302037239075, 0.3492904603481293, 0.35016724467277527, 0.3510434627532959, 0.351919025182724, 0.35279402136802673, 0.35366836190223694, 0.3545421063899994, 0.3554152250289917, 0.35628771781921387, 0.3571596145629883, 0.35803085565567017, 0.3589015007019043, 0.3597714900970459, 0.36064085364341736, 0.36150962114334106, 0.36237776279449463, 0.36324524879455566, 0.36411210894584656, 0.3649783730506897, 0.3658439815044403, 0.3667089641094208, 0.3675732910633087, 0.3684370219707489, 0.36930009722709656, 0.3701624870300293, 0.37102431058883667, 0.3718854784965515, 0.37274599075317383, 0.373605877161026, 0.37446510791778564, 0.37532371282577515, 0.3761816620826721, 0.37703898549079895, 0.37789562344551086, 0.378751665353775, 0.3796069920063019, 0.380461722612381, 0.38131579756736755, 0.3821692168712616, 0.3830219805240631, 0.3838740885257721, 0.38472557067871094, 0.38557636737823486, 0.38642653822898865, 0.3872760236263275, 0.38812485337257385, 0.38897302746772766, 0.38982054591178894, 0.3906674087047577, 0.3915136158466339, 0.3923591673374176, 0.3932040333747864, 0.394048273563385, 0.39489179849624634, 0.3957346975803375, 0.3965769112110138, 0.39741846919059753, 0.39825934171676636, 0.39909955859184265, 0.39993909001350403, 0.4007779657840729, 0.4016161859035492, 0.4024537205696106, 0.4032905697822571, 0.40412676334381104, 0.4049622714519501, 0.4057970941066742, 0.4066312611103058, 0.40746474266052246, 0.40829750895500183, 0.40912964940071106, 0.409961074590683, 0.4107918441295624, 0.41162189841270447, 0.41245129704475403, 0.41328001022338867, 0.4141080379486084, 0.4149353802204132, 0.4157620668411255, 0.41658803820610046, 0.41741329431533813, 0.4182378947734833, 0.4190618097782135, 0.4198850095272064, 0.4207075536251068, 0.4215293824672699, 0.42235055565834045, 0.4231709837913513, 0.42399075627326965, 0.4248098134994507, 0.4256281852722168, 0.4264458417892456, 0.4272628426551819, 0.42807912826538086, 0.42889469861984253, 0.4297095835208893, 0.4305237829685211, 0.43133726716041565, 0.4321500360965729, 0.4329621195793152, 0.4337735176086426, 0.43458420038223267, 0.43539413809776306, 0.4362034201622009, 0.4370119869709015, 0.43781983852386475, 0.4386270046234131, 0.4394334554672241, 0.44023919105529785, 0.4410442113876343, 0.4418485462665558, 0.44265216588974, 0.4434550702571869, 0.4442572593688965, 0.4450587034225464, 0.44585949182510376, 0.44665953516960144, 0.4474588632583618, 0.4482575058937073, 0.44905540347099304, 0.4498526155948639, 0.45064908266067505, 0.4514448344707489, 0.45223990082740784, 0.4530342221260071, 0.45382779836654663, 0.45462068915367126, 0.4554128646850586, 0.4562043249607086, 0.45699504017829895, 0.457785040140152, 0.4585743248462677, 0.4593628942966461, 0.46015071868896484, 0.46093785762786865, 0.4617242217063904, 0.4625099003314972, 0.4632948637008667, 0.4640790522098541, 0.46486255526542664, 0.46564531326293945, 0.46642735600471497, 0.4672086238861084, 0.4679891765117645, 0.46876904368400574, 0.46954813599586487, 0.4703265428543091, 0.4711041748523712, 0.47188112139701843, 0.47265729308128357, 0.4734327495098114, 0.47420746088027954, 0.47498148679733276, 0.4757547080516815, 0.4765271842479706, 0.4772990047931671, 0.4780700206756592, 0.4788403809070587, 0.4796099066734314, 0.48037877678871155, 0.4811468720436096, 0.4819142520427704, 0.4826808571815491, 0.48344674706459045, 0.48421189188957214, 0.48497626185417175, 0.48573994636535645, 0.48650285601615906, 0.48726505041122437, 0.4880264699459076, 0.4887872040271759, 0.48954713344573975, 0.49030637741088867, 0.49106481671333313, 0.49182257056236267, 0.49257951974868774, 0.4933357536792755, 0.494091272354126, 0.494845986366272, 0.49560001492500305, 0.49635323882102966, 0.49710577726364136, 0.4978575110435486, 0.4986085593700409, 0.49935880303382874, 0.5001083612442017, 0.5008571147918701, 0.5016050934791565, 0.5023523569107056, 0.5030989050865173, 0.503844678401947, 0.5045896768569946, 0.5053339600563049, 0.5060774683952332, 0.5068202614784241, 0.5075622797012329, 0.5083035230636597, 0.5090440511703491, 0.5097837448120117, 0.5105227828025818, 0.5112610459327698, 0.5119985342025757, 0.5127352476119995, 0.5134713053703308, 0.5142064690589905, 0.5149409770965576, 0.5156747102737427, 0.5164076685905457, 0.5171399116516113, 0.5178713202476501, 0.5186020731925964, 0.5193319916725159, 0.520061194896698, 0.5207895636558533, 0.521517276763916, 0.5222441554069519, 0.5229703783988953, 0.5236957669258118, 0.5244203805923462, 0.5251442790031433, 0.5258673429489136, 0.5265897512435913, 0.5273113250732422, 0.5280321836471558, 0.5287522673606873, 0.5294715762138367, 0.530190110206604, 0.5309079885482788, 0.531624972820282, 0.5323413014411926, 0.5330567955970764, 0.5337715744972229, 0.5344855189323425, 0.5351987481117249, 0.5359112620353699, 0.536622941493988, 0.5373339056968689, 0.5380440354347229, 0.5387535095214844, 0.539462149143219, 0.5401700139045715, 0.5408771634101868, 0.5415835380554199, 0.542289137840271, 0.5429939031600952, 0.5436980128288269, 0.5444012880325317, 0.5451038479804993, 0.5458056330680847, 0.5465066432952881, 0.5472068786621094, 0.5479063987731934, 0.5486050844192505, 0.5493030548095703, 0.5500002503395081, 0.550696611404419, 0.5513923168182373, 0.5520871877670288, 0.552781343460083, 0.5534746646881104, 0.5541672706604004, 0.5548590421676636, 0.5555501580238342, 0.556240439414978, 0.5569299459457397, 0.5576186776161194, 0.5583066940307617, 0.558993935585022, 0.5596803426742554, 0.5603660345077515, 0.5610509514808655, 0.5617351531982422, 0.562418520450592, 0.5631011724472046, 0.5637829899787903, 0.5644640922546387, 0.5651443600654602, 0.5658239126205444, 0.5665026903152466, 0.5671806931495667, 0.5678579807281494, 0.5685344338417053, 0.5692101716995239, 0.5698850750923157, 0.5705592632293701, 0.5712326765060425, 0.5719053149223328, 0.572577178478241, 0.5732482671737671, 0.5739185810089111, 0.5745881795883179, 0.5752569437026978, 0.5759249925613403, 0.5765922665596008, 0.5772587060928345, 0.5779244899749756, 0.5785893797874451, 0.579253613948822, 0.5799170136451721, 0.5805796384811401, 0.5812415480613708, 0.5819026231765747, 0.5825629830360413, 0.5832225680351257, 0.5838813781738281, 0.5845394134521484, 0.5851967334747314, 0.5858532190322876, 0.5865089297294617, 0.5871639251708984, 0.5878180861473083, 0.588471531867981, 0.5891242027282715, 0.5897760987281799, 0.5904272198677063, 0.5910776257514954, 0.5917271971702576, 0.5923759937286377, 0.5930240750312805, 0.5936713814735413, 0.5943178534507751, 0.5949636697769165, 0.595608651638031, 0.5962528586387634, 0.5968962907791138, 0.5975390076637268, 0.5981809496879578, 0.5988220572471619, 0.5994624495506287, 0.6001020669937134, 0.6007409691810608, 0.6013790369033813, 0.6020163893699646, 0.602652907371521, 0.6032886505126953, 0.6039237380027771, 0.604557991027832, 0.6051914691925049, 0.6058241724967957, 0.6064561605453491, 0.6070873737335205, 0.6077178120613098, 0.608347475528717, 0.6089763641357422, 0.6096044778823853, 0.610231876373291, 0.6108585000038147, 0.6114842891693115, 0.6121094226837158, 0.6127337217330933, 0.6133572459220886, 0.6139800548553467, 0.6146020889282227, 0.6152233481407166, 0.6158438324928284, 0.6164635419845581, 0.6170825362205505, 0.6177007555961609, 0.6183182001113892, 0.6189348697662354, 0.6195507645606995, 0.6201659440994263, 0.620780348777771, 0.6213940382003784, 0.622006893157959, 0.6226190328598022, 0.6232303380966187, 0.6238409280776978, 0.6244507431983948, 0.6250598430633545, 0.6256681680679321, 0.6262757182121277, 0.6268824934959412, 0.6274884939193726, 0.6280938386917114, 0.6286982893943787, 0.6293020844459534, 0.6299050450325012, 0.6305072903633118, 0.6311087608337402, 0.6317095160484314, 0.6323094964027405, 0.6329086422920227, 0.6335071325302124, 0.6341047883033752, 0.6347017884254456, 0.635297954082489, 0.6358934044837952, 0.6364880204200745, 0.6370819211006165, 0.6376751065254211, 0.6382675170898438, 0.6388591527938843, 0.6394500136375427, 0.6400402188301086, 0.6406295299530029, 0.6412181854248047, 0.6418060660362244, 0.642393171787262, 0.6429795622825623, 0.6435651779174805, 0.6441500186920166, 0.6447341442108154, 0.6453174948692322, 0.6459000706672668, 0.646481990814209, 0.6470630764961243, 0.6476434469223022, 0.6482230424880981, 0.648801863193512, 0.6493799686431885, 0.6499573588371277, 0.65053391456604, 0.6511097550392151, 0.6516848802566528, 0.6522592306137085, 0.6528328657150269, 0.6534057259559631, 0.6539778709411621, 0.6545491814613342, 0.6551198363304138, 0.6556897163391113, 0.6562588214874268, 0.6568272113800049, 0.6573948264122009, 0.6579617261886597, 0.6585279107093811, 0.6590933203697205, 0.6596579551696777, 0.6602218747138977, 0.6607850193977356, 0.661347508430481, 0.6619091629981995, 0.6624701023101807, 0.6630303263664246, 0.6635897755622864, 0.6641485095024109, 0.6647064685821533, 0.6652637124061584, 0.6658201813697815, 0.6663759350776672, 0.6669309735298157, 0.667485237121582, 0.6680387854576111, 0.6685916185379028, 0.6691436767578125, 0.6696949601173401, 0.6702455878257751, 0.6707954406738281, 0.671344518661499, 0.6718928813934326, 0.6724405884742737, 0.6729874610900879, 0.6735336780548096, 0.6740790605545044, 0.6746237874031067, 0.6751677393913269, 0.6757109761238098, 0.6762534976005554, 0.676795244216919, 0.6773363351821899, 0.6778765916824341, 0.6784161925315857, 0.678955078125, 0.6794931888580322, 0.6800305247306824, 0.68056720495224, 0.6811031699180603, 0.6816383004188538, 0.6821728348731995, 0.6827065348625183, 0.6832395792007446, 0.6837718486785889, 0.6843034029006958, 0.6848342418670654, 0.6853643655776978, 0.685893714427948, 0.6864224076271057, 0.6869503259658813, 0.6874775290489197, 0.6880040168762207, 0.6885297894477844, 0.6890548467636108, 0.6895791292190552, 0.690102756023407, 0.6906256079673767, 0.6911478042602539, 0.691669225692749, 0.6921899318695068, 0.6927099227905273, 0.6932291984558105, 0.6937477588653564, 0.6942655444145203, 0.6947826743125916, 0.6952990889549255, 0.6958147883415222, 0.6963297724723816, 0.6968440413475037, 0.6973575353622437, 0.6978703737258911, 0.6983824968338013, 0.6988939046859741, 0.6994045376777649, 0.6999145150184631, 0.7004237771034241, 0.7009323239326477, 0.701440155506134, 0.7019472718238831, 0.7024536728858948, 0.7029593586921692, 0.7034643888473511, 0.7039685845375061, 0.7044721841812134, 0.7049750089645386, 0.7054771184921265, 0.7059786319732666, 0.7064793109893799, 0.7069793939590454, 0.7074787020683289, 0.7079773545265198, 0.7084752321243286, 0.7089724540710449, 0.7094689607620239, 0.7099648118019104, 0.7104598879814148, 0.7109542489051819, 0.7114479541778564, 0.7119409441947937, 0.7124332785606384, 0.7129248380661011, 0.713415801525116, 0.713905930519104, 0.7143954634666443, 0.7148842811584473, 0.7153723835945129, 0.7158597707748413, 0.7163464426994324, 0.7168325185775757, 0.7173178195953369, 0.7178024649620056, 0.7182863354682922, 0.7187696099281311, 0.7192521095275879, 0.7197340130805969, 0.7202151417732239, 0.7206956148147583, 0.7211753726005554, 0.72165447473526, 0.7221328616142273, 0.7226105332374573, 0.7230875492095947, 0.7235639095306396, 0.7240395545959473, 0.7245144844055176, 0.7249887585639954, 0.7254623174667358, 0.7259352207183838, 0.7264074087142944, 0.7268788814544678, 0.7273497581481934, 0.7278198599815369, 0.7282893657684326, 0.7287581562995911, 0.7292262315750122, 0.7296936511993408, 0.7301604151725769, 0.7306264638900757, 0.7310918569564819, 0.7315565347671509, 0.7320205569267273, 0.7324839234352112, 0.7329465746879578, 0.7334085702896118, 0.7338698506355286, 0.7343305349349976, 0.7347904443740845, 0.7352497577667236, 0.7357083559036255, 0.7361662983894348, 0.7366235852241516, 0.7370801568031311, 0.7375360727310181, 0.7379913330078125, 0.7384459376335144, 0.738899827003479, 0.7393530607223511, 0.7398056387901306, 0.7402575612068176, 0.7407087683677673, 0.7411593198776245, 0.7416092157363892, 0.7420584559440613, 0.7425070405006409, 0.7429549098014832, 0.7434021830558777, 0.7438487410545349, 0.7442946434020996, 0.7447398900985718, 0.7451844811439514, 0.7456284165382385, 0.7460716962814331, 0.7465143203735352, 0.7469562292098999, 0.7473975419998169, 0.7478381395339966, 0.7482781410217285, 0.7487174272537231, 0.74915611743927, 0.7495940923690796, 0.7500314116477966, 0.7504681348800659, 0.7509041428565979, 0.7513395547866821, 0.751774251461029, 0.7522083520889282, 0.7526417374610901, 0.7530745267868042, 0.7535066604614258, 0.7539381384849548, 0.7543689608573914, 0.7547991275787354, 0.7552286386489868, 0.7556575536727905, 0.7560857534408569, 0.7565133571624756, 0.7569402456283569, 0.7573665380477905, 0.7577922344207764, 0.7582172155380249, 0.7586416006088257, 0.7590652704238892, 0.7594883441925049, 0.7599107623100281, 0.7603325843811035, 0.7607537508010864, 0.7611742615699768, 0.7615941762924194]} diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/test/test.js b/lib/node_modules/@stdlib/math/base/special/tanhf/test/test.js new file mode 100644 index 000000000000..ef1f38574f60 --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/test/test.js @@ -0,0 +1,160 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); +var isPositiveZerof = require( '@stdlib/math/base/assert/is-positive-zerof' ); +var isNegativeZerof = require( '@stdlib/math/base/assert/is-negative-zerof' ); +var f32 = require( '@stdlib/number/float64/base/to-float32' ); +var isAlmostSameValuef = require( '@stdlib/number/float32/base/assert/is-almost-same-value' ); +var PINF = require( '@stdlib/constants/float32/pinf' ); +var NINF = require( '@stdlib/constants/float32/ninf' ); +var tanhf = require( './../lib' ); + + +// FIXTURES // + +var data = require( './fixtures/python/data.json' ); +var large = require( './fixtures/python/large.json' ); +var small = require( './fixtures/python/small.json' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof tanhf, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function computes the hyperbolic tangent', function test( t ) { + var expected; + var x; + var y; + var e; + var i; + + x = data.x; + expected = data.expected; + + for ( i = 0; i < x.length; i++ ) { + y = tanhf( x[ i ] ); + e = f32( expected[ i ] ); + t.strictEqual( isAlmostSameValuef( y, e, 2 ), true, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function computes the hyperbolic tangent (large values)', function test( t ) { + var expected; + var x; + var y; + var e; + var i; + + x = large.x; + expected = large.expected; + + for ( i = 0; i < x.length; i++ ) { + y = tanhf( x[ i ] ); + e = f32( expected[ i ] ); + t.strictEqual( isAlmostSameValuef( y, e, 2 ), true, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function computes the hyperbolic tangent (small values)', function test( t ) { + var expected; + var x; + var y; + var e; + var i; + + x = small.x; + expected = small.expected; + + for ( i = 0; i < x.length; i++ ) { + y = tanhf( x[ i ] ); + e = f32( expected[ i ] ); + t.strictEqual( isAlmostSameValuef( y, e, 2 ), true, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function returns `NaN` if provided `NaN`', function test( t ) { + var v = tanhf( NaN ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns `1.0` if provided `+infinity`', function test( t ) { + var v = tanhf( PINF ); + t.strictEqual( v, f32( 1.0 ), 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns `-1.0` if provided `-infinity`', function test( t ) { + var v = tanhf( NINF ); + t.strictEqual( v, f32( -1.0 ), 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns `+0` if provided `+0`', function test( t ) { + var v = tanhf( 0.0 ); + t.strictEqual( isPositiveZerof( v ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns `-0` if provided `-0`', function test( t ) { + var v = tanhf( -0.0 ); + t.strictEqual( isNegativeZerof( v ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'the function is an odd function (tanhf(-x) === -tanhf(x))', function test( t ) { + var values; + var v; + var i; + + values = [ 0.1, 0.5, 0.625, 1.0, 2.0, 5.0, 10.0, 50.0, 80.0 ]; + for ( i = 0; i < values.length; i++ ) { + v = f32( values[ i ] ); + t.strictEqual( tanhf( -v ), -tanhf( v ), 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function handles subnormal inputs', function test( t ) { + var v; + + // Very small values should return x (since tanh(x) ~ x for |x| << 1): + v = tanhf( f32( 1.0e-30 ) ); + t.strictEqual( v, f32( 1.0e-30 ), 'returns expected value' ); + + v = tanhf( f32( -1.0e-30 ) ); + t.strictEqual( v, f32( -1.0e-30 ), 'returns expected value' ); + + v = tanhf( f32( 1.0e-38 ) ); + t.strictEqual( v, f32( 1.0e-38 ), 'returns expected value' ); + + t.end(); +}); diff --git a/lib/node_modules/@stdlib/math/base/special/tanhf/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/tanhf/test/test.native.js new file mode 100644 index 000000000000..6f26b8541beb --- /dev/null +++ b/lib/node_modules/@stdlib/math/base/special/tanhf/test/test.native.js @@ -0,0 +1,169 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var resolve = require( 'path' ).resolve; +var tape = require( 'tape' ); +var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); +var isPositiveZerof = require( '@stdlib/math/base/assert/is-positive-zerof' ); +var isNegativeZerof = require( '@stdlib/math/base/assert/is-negative-zerof' ); +var f32 = require( '@stdlib/number/float64/base/to-float32' ); +var isAlmostSameValuef = require( '@stdlib/number/float32/base/assert/is-almost-same-value' ); +var PINF = require( '@stdlib/constants/float32/pinf' ); +var NINF = require( '@stdlib/constants/float32/ninf' ); +var tryRequire = require( '@stdlib/utils/try-require' ); + + +// VARIABLES // + +var tanhf = tryRequire( resolve( __dirname, './../lib/native.js' ) ); +var opts = { + 'skip': ( tanhf instanceof Error ) +}; + + +// FIXTURES // + +var data = require( './fixtures/python/data.json' ); +var large = require( './fixtures/python/large.json' ); +var small = require( './fixtures/python/small.json' ); + + +// TESTS // + +tape( 'main export is a function', opts, function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof tanhf, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function computes the hyperbolic tangent', opts, function test( t ) { + var expected; + var x; + var y; + var e; + var i; + + x = data.x; + expected = data.expected; + + for ( i = 0; i < x.length; i++ ) { + y = tanhf( x[ i ] ); + e = f32( expected[ i ] ); + t.strictEqual( isAlmostSameValuef( y, e, 2 ), true, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function computes the hyperbolic tangent (large values)', opts, function test( t ) { + var expected; + var x; + var y; + var e; + var i; + + x = large.x; + expected = large.expected; + + for ( i = 0; i < x.length; i++ ) { + y = tanhf( x[ i ] ); + e = f32( expected[ i ] ); + t.strictEqual( isAlmostSameValuef( y, e, 2 ), true, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function computes the hyperbolic tangent (small values)', opts, function test( t ) { + var expected; + var x; + var y; + var e; + var i; + + x = small.x; + expected = small.expected; + + for ( i = 0; i < x.length; i++ ) { + y = tanhf( x[ i ] ); + e = f32( expected[ i ] ); + t.strictEqual( isAlmostSameValuef( y, e, 2 ), true, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function returns `NaN` if provided `NaN`', opts, function test( t ) { + var v = tanhf( NaN ); + t.strictEqual( isnanf( v ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns `1.0` if provided `+infinity`', opts, function test( t ) { + var v = tanhf( PINF ); + t.strictEqual( v, f32( 1.0 ), 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns `-1.0` if provided `-infinity`', opts, function test( t ) { + var v = tanhf( NINF ); + t.strictEqual( v, f32( -1.0 ), 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns `+0` if provided `+0`', opts, function test( t ) { + var v = tanhf( 0.0 ); + t.strictEqual( isPositiveZerof( v ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns `-0` if provided `-0`', opts, function test( t ) { + var v = tanhf( -0.0 ); + t.strictEqual( isNegativeZerof( v ), true, 'returns expected value' ); + t.end(); +}); + +tape( 'the function is an odd function (tanhf(-x) === -tanhf(x))', opts, function test( t ) { + var values; + var v; + var i; + + values = [ 0.1, 0.5, 0.625, 1.0, 2.0, 5.0, 10.0, 50.0, 80.0 ]; + for ( i = 0; i < values.length; i++ ) { + v = f32( values[ i ] ); + t.strictEqual( tanhf( -v ), -tanhf( v ), 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function handles subnormal inputs', opts, function test( t ) { + var v; + + // Very small values should return x (since tanh(x) ~ x for |x| << 1): + v = tanhf( f32( 1.0e-30 ) ); + t.strictEqual( v, f32( 1.0e-30 ), 'returns expected value' ); + + v = tanhf( f32( -1.0e-30 ) ); + t.strictEqual( v, f32( -1.0e-30 ), 'returns expected value' ); + + v = tanhf( f32( 1.0e-38 ) ); + t.strictEqual( v, f32( 1.0e-38 ), 'returns expected value' ); + + t.end(); +});