Mercurial > hg > beaglert
changeset 163:20b52283c7b4 heavy-updated
- added circular buffer pd/heavy example (works but process needs to be killed manually if launched via ssh?)
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/ControlBinop.c Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,94 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "ControlBinop.h" + +hv_size_t cBinop_init(ControlBinop *o, float k) { + o->k = k; + return 0; +} + +static float cBinop_perform_op(BinopType op, float f, const float k) { + switch (op) { + case HV_BINOP_ADD: return f + k; + case HV_BINOP_SUBTRACT: return f - k; + case HV_BINOP_MULTIPLY: return f * k; + case HV_BINOP_DIVIDE: return (k != 0.0f) ? f / k : 0.0f; + case HV_BINOP_INT_DIV: return (float) ((int) f / (int) k); + case HV_BINOP_MOD_BIPOLAR: return (float) ((int) f % (int) k); + case HV_BINOP_MOD_UNIPOLAR: { + f = (k == 0.0f) ? 0.0f : (float) ((int) f % (int) k); + return (f < 0.0f) ? f + fabsf(k) : f; + } + case HV_BINOP_BIT_LEFTSHIFT: return (float) (((int) f) << ((int) k)); + case HV_BINOP_BIT_RIGHTSHIFT: return (float) (((int) f) >> ((int) k)); + case HV_BINOP_BIT_AND: return (float) ((int) f & (int) k); + case HV_BINOP_BIT_XOR: return (float) ((int) f ^ (int) k); + case HV_BINOP_BIT_OR: return (float) ((int) f | (int) k); + case HV_BINOP_EQ: return (f == k) ? 1.0f : 0.0f; + case HV_BINOP_NEQ: return (f != k) ? 1.0f : 0.0f; + case HV_BINOP_LOGICAL_AND: return ((f == 0.0f) || (k == 0.0f)) ? 0.0f : 1.0f; + case HV_BINOP_LOGICAL_OR: return ((f == 0.0f) && (k == 0.0f)) ? 0.0f : 1.0f; + case HV_BINOP_LESS_THAN: return (f < k) ? 1.0f : 0.0f; + case HV_BINOP_LESS_THAN_EQL: return (f <= k) ? 1.0f : 0.0f; + case HV_BINOP_GREATER_THAN: return (f > k) ? 1.0f : 0.0f; + case HV_BINOP_GREATER_THAN_EQL: return (f >= k) ? 1.0f : 0.0f; + case HV_BINOP_MAX: return hv_max_f(f, k); + case HV_BINOP_MIN: return hv_min_f(f, k); + case HV_BINOP_POW: return (f > 0.0f) ? powf(f, k) : 0.0f; + case HV_BINOP_ATAN2: return ((f == 0.0f) && (k == 0.0f)) ? 0.0f : atan2f(f, k); + default: return 0.0f; + } +} + +void cBinop_onMessage(HvBase *_c, ControlBinop *o, BinopType op, int letIn, + const HvMessage *const m, + void (*sendMessage)(HvBase *, int, const HvMessage *const)) { + switch (letIn) { + case 0: { + if (msg_isFloat(m, 0)) { + // Note(joe): supporting Pd's ability to perform operations of packs + // of floats is likely to not be supported in the future. + if (msg_isFloat(m, 1)) o->k = msg_getFloat(m, 1); + HvMessage *n = HV_MESSAGE_ON_STACK(1); + float f = cBinop_perform_op(op, msg_getFloat(m, 0), o->k); + msg_initWithFloat(n, msg_getTimestamp(m), f); + sendMessage(_c, 0, n); + } + break; + } + case 1: { + if (msg_isFloat(m, 0)) { + o->k = msg_getFloat(m, 0); + } + break; + } + default: break; + } +} + +void cBinop_k_onMessage(HvBase *_c, void *o, BinopType op, const float k, + int letIn, const HvMessage *const m, + void (*sendMessage)(HvBase *, int, const HvMessage *const)) { + if (msg_isFloat(m, 0)) { + // NOTE(mhroth): Heavy does not support sending bangs to binop objects to return the previous output + float f = (msg_isFloat(m, 1)) ? msg_getFloat(m, 1) : k; + HvMessage *n = HV_MESSAGE_ON_STACK(1); + f = cBinop_perform_op(op, msg_getFloat(m, 0), f); + msg_initWithFloat(n, msg_getTimestamp(m), f); + sendMessage(_c, 0, n); + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/ControlBinop.h Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,63 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_CONTROL_BINOP_H_ +#define _HEAVY_CONTROL_BINOP_H_ + +#include "HvBase.h" + +typedef enum BinopType { + HV_BINOP_ADD, + HV_BINOP_SUBTRACT, + HV_BINOP_MULTIPLY, + HV_BINOP_DIVIDE, + HV_BINOP_INT_DIV, + HV_BINOP_MOD_BIPOLAR, + HV_BINOP_MOD_UNIPOLAR, + HV_BINOP_BIT_LEFTSHIFT, + HV_BINOP_BIT_RIGHTSHIFT, + HV_BINOP_BIT_AND, + HV_BINOP_BIT_XOR, + HV_BINOP_BIT_OR, + HV_BINOP_EQ, + HV_BINOP_NEQ, + HV_BINOP_LOGICAL_AND, + HV_BINOP_LOGICAL_OR, + HV_BINOP_LESS_THAN, + HV_BINOP_LESS_THAN_EQL, + HV_BINOP_GREATER_THAN, + HV_BINOP_GREATER_THAN_EQL, + HV_BINOP_MAX, + HV_BINOP_MIN, + HV_BINOP_POW, + HV_BINOP_ATAN2 +} BinopType; + +typedef struct ControlBinop { + float k; +} ControlBinop; + +hv_size_t cBinop_init(ControlBinop *o, float k); + +void cBinop_onMessage(HvBase *_c, ControlBinop *o, BinopType op, int letIn, + const HvMessage *const m, + void (*sendMessage)(HvBase *, int, const HvMessage *const)); + +void cBinop_k_onMessage(HvBase *_c, void *o, BinopType op, const float k, + int letIn, const HvMessage *const m, + void (*sendMessage)(HvBase *, int, const HvMessage *const)); + +#endif // _HEAVY_CONTROL_BINOP_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/ControlCast.c Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,60 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "ControlCast.h" + +void cCast_onMessage(HvBase *_c, CastType castType, int letIn, const HvMessage *const m, + void (*sendMessage)(HvBase *, int, const HvMessage *const)) { + switch (castType) { + case HV_CAST_BANG: { + HvMessage *n = HV_MESSAGE_ON_STACK(1); + msg_initWithBang(n, msg_getTimestamp(m)); + sendMessage(_c, 0, n); + break; + } + case HV_CAST_FLOAT: { + if (msg_isFloat(m, 0)) { + HvMessage *n = HV_MESSAGE_ON_STACK(1); + msg_initWithFloat(n, msg_getTimestamp(m), msg_getFloat(m, 0)); + sendMessage(_c, 0, n); + } + break; + } + case HV_CAST_SYMBOL: { + switch (msg_getType(m, 0)) { + case BANG: { + HvMessage *n = HV_MESSAGE_ON_STACK(1); + msg_initWithSymbol(n, msg_getTimestamp(m), "bang"); + sendMessage(_c, 0, n); + break; + } + case FLOAT: { + HvMessage *n = HV_MESSAGE_ON_STACK(1); + msg_initWithSymbol(n, msg_getTimestamp(m), "float"); + sendMessage(_c, 0, n); + break; + } + case SYMBOL: { + sendMessage(_c, 0, m); + break; + } + default: return; + } + break; + } + default: return; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/ControlCast.h Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,31 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_CONTROL_CAST_H_ +#define _HEAVY_CONTROL_CAST_H_ + +#include "HvBase.h" + +typedef enum CastType { + HV_CAST_BANG, + HV_CAST_FLOAT, + HV_CAST_SYMBOL +} CastType; + +void cCast_onMessage(HvBase *_c, CastType castType, int letIn, const HvMessage *const m, + void (*sendMessage)(HvBase *, int, const HvMessage *const)); + +#endif // _HEAVY_CONTROL_CAST_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/ControlDelay.c Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,91 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "ControlDelay.h" + +hv_size_t cDelay_init(HvBase *_c, ControlDelay *o, float delayMs) { + o->delay = ctx_millisecondsToSamples(_c, delayMs); + hv_memset(o->msgs, __HV_DELAY_MAX_MESSAGES*sizeof(HvMessage *)); + return 0; +} + +void cDelay_onMessage(HvBase *_c, ControlDelay *o, int letIn, const HvMessage *const m, + void (*sendMessage)(HvBase *, int, const HvMessage *const)) { + switch (letIn) { + case 0: { + if (msg_compareSymbol(m, 0, "flush")) { + // send all messages immediately + for (int i = 0; i < __HV_DELAY_MAX_MESSAGES; i++) { + HvMessage *n = o->msgs[i]; + if (n != NULL) { + msg_setTimestamp(n, msg_getTimestamp(m)); // update the timestamp to now + sendMessage(_c, 0, n); // send the message + ctx_cancelMessage(_c, n, sendMessage); // then clear it + // NOTE(mhroth): there may be a problem here if a flushed message causes a clear message to return + // to this object in the same step + } + } + hv_memset(o->msgs, __HV_DELAY_MAX_MESSAGES*sizeof(HvMessage *)); + } else if (msg_compareSymbol(m, 0, "clear")) { + // cancel (clear) all (pending) messages + for (int i = 0; i < __HV_DELAY_MAX_MESSAGES; i++) { + HvMessage *n = o->msgs[i]; + if (n != NULL) { + ctx_cancelMessage(_c, n, sendMessage); + } + } + hv_memset(o->msgs, __HV_DELAY_MAX_MESSAGES*sizeof(HvMessage *)); + } else { + hv_uint32_t ts = msg_getTimestamp(m); + msg_setTimestamp((HvMessage *) m, ts+o->delay); // update the timestamp to set the delay + int i; + for (i = 0; i < __HV_DELAY_MAX_MESSAGES; i++) { + if (o->msgs[i] == NULL) { + o->msgs[i] = ctx_scheduleMessage(_c, m, sendMessage, 0); + break; + } + } + hv_assert(i < __HV_DELAY_MAX_MESSAGES); // scheduled message limit reached + msg_setTimestamp((HvMessage *) m, ts); // return to the original timestamp + } + break; + } + case 1: { + if (msg_isFloat(m,0)) { + // set delay in milliseconds + o->delay = ctx_millisecondsToSamples(_c,msg_getFloat(m,0)); + } + break; + } + case 2: { + if (msg_isFloat(m,0)) { + // set delay in samples + o->delay = (hv_uint32_t) msg_getFloat(m,0); + } + break; + } + default: break; + } +} + +void cDelay_clearExecutingMessage(ControlDelay *o, const HvMessage *const m) { + for (int i = 0; i < __HV_DELAY_MAX_MESSAGES; ++i) { + if (o->msgs[i] == m) { + o->msgs[i] = NULL; + break; + } + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/ControlDelay.h Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,36 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_CONTROL_DELAY_H_ +#define _HEAVY_CONTROL_DELAY_H_ + +#define __HV_DELAY_MAX_MESSAGES 8 + +#include "HvBase.h" + +typedef struct ControlDelay { + hv_uint32_t delay; // delay in samples + HvMessage *msgs[__HV_DELAY_MAX_MESSAGES]; +} ControlDelay; + +hv_size_t cDelay_init(HvBase *_c, ControlDelay *o, float delayMs); + +void cDelay_onMessage(HvBase *_c, ControlDelay *o, int letIn, const HvMessage *const m, + void (*sendMessage)(HvBase *, int, const HvMessage *const)); + +void cDelay_clearExecutingMessage(ControlDelay *o, const HvMessage *const m); + +#endif // _HEAVY_CONTROL_DELAY_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/ControlSlice.c Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,62 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "ControlSlice.h" + +hv_size_t cSlice_init(ControlSlice *o, int i, int n) { + o->i = i; + o->n = n; + return 0; +} + +void cSlice_onMessage(HvBase *_c, ControlSlice *o, int letIn, const HvMessage *const m, + void (*sendMessage)(HvBase *, int, const HvMessage *const)) { + switch (letIn) { + case 0: { + // if the start point is greater than the number of elements in the source message, do nothing + if (o->i < msg_getNumElements(m)) { + int x = msg_getNumElements(m) - o->i; // number of elements in the new message + if (o->n > 0) x = hv_min_i(x, o->n); + HvMessage *n = HV_MESSAGE_ON_STACK(x); + msg_init(n, x, msg_getTimestamp(m)); + hv_memcpy(&n->elem, &m->elem+o->i, x*sizeof(Element)); + sendMessage(_c, 0, n); + } else { + // if nothing can be sliced, send a bang out of the right outlet + HvMessage *n = HV_MESSAGE_ON_STACK(1); + msg_initWithBang(n, msg_getTimestamp(m)); + sendMessage(_c, 1, n); + } + break; + } + case 1: { + if (msg_isFloat(m,0)) { + o->i = (int) msg_getFloat(m,0); + if (msg_isFloat(m,1)) { + o->n = (int) msg_getFloat(m,1); + } + } + break; + } + case 2: { + if (msg_isFloat(m,0)) { + o->n = (int) msg_getFloat(m,0); + } + break; + } + default: break; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/ControlSlice.h Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,32 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_CONTROL_SLICE_H_ +#define _HEAVY_CONTROL_SLICE_H_ + +#include "HvBase.h" + +typedef struct ControlSlice { + int i; // start index + int n; // length of slice +} ControlSlice; + +hv_size_t cSlice_init(ControlSlice *o, int i, int n); + +void cSlice_onMessage(HvBase *_c, ControlSlice *o, int letIn, const HvMessage *const m, + void (*sendMessage)(HvBase *, int, const HvMessage *const)); + +#endif // _HEAVY_CONTROL_SLICE_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/ControlSystem.c Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,46 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "ControlSystem.h" +#include "HvTable.h" + +void cSystem_onMessage(HvBase *_c, void *o, int letIn, const HvMessage *const m, + void (*sendMessage)(HvBase *, int, const HvMessage *const)) { + + HvMessage *n = HV_MESSAGE_ON_STACK(1); + if (msg_compareSymbol(m, 0, "samplerate")) { + msg_initWithFloat(n, msg_getTimestamp(m), (float) ctx_getSampleRate(_c)); + } else if (msg_compareSymbol(m, 0, "numInputChannels")) { + msg_initWithFloat(n, msg_getTimestamp(m), (float) ctx_getNumInputChannels(_c)); + } else if (msg_compareSymbol(m, 0, "numOutputChannels")) { + msg_initWithFloat(n, msg_getTimestamp(m), (float) ctx_getNumOutputChannels(_c)); + } else if (msg_compareSymbol(m, 0, "currentTime")) { + msg_initWithFloat(n, msg_getTimestamp(m), (float) msg_getTimestamp(m)); + } else if (msg_compareSymbol(m, 0, "table")) { + // NOTE(mhroth): no need to check message format for symbols as table lookup will fail otherwise + HvTable *o = ctx_getTableForHash(_c, msg_getHash(m,1)); + if (o != NULL) { + if (msg_compareSymbol(m, 2, "length")) { + msg_initWithFloat(n, msg_getTimestamp(m), (float) hTable_getLength(o)); + } else if (msg_compareSymbol(m, 2, "size")) { + msg_initWithFloat(n, msg_getTimestamp(m), (float) hTable_getSize(o)); + } else if (msg_compareSymbol(m, 2, "head")) { + msg_initWithFloat(n, msg_getTimestamp(m), (float) hTable_getHead(o)); + } else return; + } else return; + } else return; + sendMessage(_c, 0, n); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/ControlSystem.h Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,25 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_CONTROL_SYSTEM_H_ +#define _HEAVY_CONTROL_SYSTEM_H_ + +#include "HvBase.h" + +void cSystem_onMessage(HvBase *_c, void *o, int letIn, const HvMessage *const m, + void (*sendMessage)(HvBase *, int, const HvMessage *const)); + +#endif // _HEAVY_CONTROL_SYSTEM_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/ControlVar.c Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,83 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "ControlVar.h" + +hv_size_t cVar_init_f(ControlVar *o, float k) { + o->e.type = FLOAT; + o->e.data.f = k; + return 0; +} + +hv_size_t cVar_init_s(ControlVar *o, const char *s) { + o->e.type = HASH; + o->e.data.h = msg_symbolToHash(s); + return 0; +} + +void cVar_free(ControlVar *o) { + // nothing to do +} + +void cVar_onMessage(HvBase *_c, ControlVar *o, int letIn, const HvMessage *const m, + void (*sendMessage)(HvBase *, int, const HvMessage *const)) { + switch (letIn) { + case 0: { + switch (msg_getType(m,0)) { + case BANG: { + HvMessage *n = HV_MESSAGE_ON_STACK(1); + if (o->e.type == FLOAT) msg_initWithFloat(n, msg_getTimestamp(m), o->e.data.f); + else if (o->e.type == HASH) msg_initWithHash(n, msg_getTimestamp(m), o->e.data.h); + else return; + sendMessage(_c, 0, n); + break; + } + case FLOAT: { + o->e.type = FLOAT; + o->e.data.f = msg_getFloat(m,0); + sendMessage(_c, 0, m); + break; + } + case SYMBOL: + case HASH: { + o->e.type = HASH; + o->e.data.h = msg_getHash(m,0); + sendMessage(_c, 0, m); + break; + } + default: return; + } + break; + } + case 1: { + switch (msg_getType(m,0)) { + case FLOAT: { + o->e.type = FLOAT; + o->e.data.f = msg_getFloat(m,0); + break; + } + case SYMBOL: + case HASH: { + o->e.type = HASH; + o->e.data.h = msg_getHash(m,0); + break; + } + default: break; + } + } + default: return; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/ControlVar.h Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,35 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_CONTROL_VAR_H_ +#define _HEAVY_CONTROL_VAR_H_ + +#include "HvBase.h" + +typedef struct ControlVar { + Element e; // type is only every FLOAT or HASH +} ControlVar; + +hv_size_t cVar_init_f(ControlVar *o, float k); + +hv_size_t cVar_init_s(ControlVar *o, const char *s); + +void cVar_free(ControlVar *o); + +void cVar_onMessage(HvBase *_c, ControlVar *o, int letIn, const HvMessage *const m, + void (*sendMessage)(HvBase *, int, const HvMessage *const)); + +#endif // _HEAVY_CONTROL_VAR_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/Heavy.c Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,196 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvBase.h" +#include "HvTable.h" + +#if !HV_WIN +#pragma mark - Heavy Table +#endif + +int hv_table_resize(HvTable *o, hv_uint32_t newLength) { + return hTable_resize(o, newLength); +} + +float *hv_table_getBuffer(HvTable *o) { + return hTable_getBuffer(o); +} + +hv_size_t hv_table_getLength(HvTable *o) { + return hTable_getLength(o); +} + + + +#if !HV_WIN +#pragma mark - Heavy Message +#endif + +hv_size_t hv_msg_getByteSize (hv_uint32_t numElements) { + return msg_getByteSize(numElements); +} + +void hv_msg_init(HvMessage *m, int numElements, hv_uint32_t timestamp) { + msg_init(m, numElements, timestamp); +} + +hv_size_t hv_msg_getNumElements(const HvMessage *const m) { + return msg_getNumElements(m); +} + +double hv_msg_getTimestamp(const HvMessage *const m) { + return msg_getTimestamp(m); +} + +void hv_msg_setTimestamp(HvMessage *m, hv_uint32_t timestamp) { + msg_setTimestamp(m, timestamp); +} + +bool hv_msg_isBang(const HvMessage *const m, int i) { + return msg_isBang(m,i); +} + +void hv_msg_setBang(HvMessage *m, int i) { + msg_setBang(m,i); +} + +bool hv_msg_isFloat(const HvMessage *const m, int i) { + return msg_isFloat(m, i); +} + +float hv_msg_getFloat(const HvMessage *const m, int i) { + return msg_getFloat(m,i); +} + +void hv_msg_setFloat(HvMessage *m, int i, float f) { + msg_setFloat(m,i,f); +} + +bool hv_msg_isSymbol(const HvMessage *const m, int i) { + return msg_isSymbol(m,i); +} + +char *hv_msg_getSymbol(const HvMessage *const m, int i) { + return msg_getSymbol(m,i); +} + +void hv_msg_setSymbol(HvMessage *m, int i, char *s) { + msg_setSymbol(m,i,s); +} + +bool hv_msg_isHash(const HvMessage *const m, int i) { + return msg_isHash(m, i); +} + +unsigned int hv_msg_getHash(const HvMessage *const m, int i) { + return msg_getHash(m, i); +} + +bool hv_msg_hasFormat(const HvMessage *const m, const char *fmt) { + return msg_hasFormat(m, fmt); +} + +char *hv_msg_toString(const HvMessage *const m) { + return msg_toString(m); +} + +HvMessage *hv_msg_copy(HvMessage *m) { + return msg_copy(m); +} + +void hv_msg_free(HvMessage *m) { + msg_free(m); +} + + + +#if !HV_WIN +#pragma mark - Heavy Common +#endif + +double hv_getSampleRate(HvBase *c) { + return ctx_getSampleRate(c); +} + +int hv_getNumInputChannels(HvBase *c) { + return ctx_getNumInputChannels(c); +} + +int hv_getNumOutputChannels(HvBase *c) { + return ctx_getNumOutputChannels(c); +} + +const char *hv_getName(HvBase *c) { + return ctx_getName(c); +} + +void hv_setPrintHook(HvBase *c, void (*f)(double, const char *, const char *, void *)) { + ctx_setPrintHook(c, f); +} + +void hv_setSendHook(HvBase *c, void (*f)(double, const char *, const HvMessage *const, void *)) { + ctx_setSendHook(c, f); +} + +void hv_vscheduleMessageForReceiver(HvBase *c, const char *receiverName, const double delayMs, const char *format, ...) { + va_list ap; + va_start(ap, format); + + const int numElem = (int) hv_strlen(format); + HvMessage *m = HV_MESSAGE_ON_STACK(numElem); + msg_init(m, numElem, c->blockStartTimestamp + (hv_uint32_t) (hv_max_d(0.0, delayMs)*ctx_getSampleRate(c)/1000.0)); + for (int i = 0; i < numElem; i++) { + switch (format[i]) { + case 'b': msg_setBang(m,i); break; + case 'f': msg_setFloat(m, i, (float) va_arg(ap, double)); break; + case 's': msg_setSymbol(m, i, (char *) va_arg(ap, char *)); break; + default: break; + } + } + ctx_scheduleMessageForReceiver(c, receiverName, m); + + va_end(ap); +} + +void hv_scheduleMessageForReceiver(HvBase *c, const char *receiverName, double delayMs, HvMessage *m) { + hv_assert(delayMs >= 0.0); + msg_setTimestamp(m, c->blockStartTimestamp + (hv_uint32_t) (delayMs*ctx_getSampleRate(c)/1000.0)); + ctx_scheduleMessageForReceiver(c, receiverName, m); +} + +HvTable *hv_getTableForName(HvBase *c, const char *tableName) { + return ctx_getTableForName(c, tableName); +} + +void hv_cancelMessage(HvBase *c, HvMessage *m) { + ctx_cancelMessage(c, m, NULL); +} + +double hv_getCurrentTime(HvBase *c) { + return ((double) c->blockStartTimestamp)/c->sampleRate; +} + +void *hv_getUserData(HvBase *c) { + return ctx_getUserData(c); +} + +void hv_setUserData(HvBase *c, void *userData) { + ctx_setUserData(c, userData); +} + +void hv_setBasePath(HvBase *c, const char *basePath) { + ctx_setBasePath(c, basePath); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/HeavyMath.h Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,645 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_MATH_H_ +#define _HEAVY_MATH_H_ + +#include "Utils.h" + +// https://software.intel.com/sites/landingpage/IntrinsicsGuide/ +// https://gcc.gnu.org/onlinedocs/gcc-4.8.1/gcc/ARM-NEON-Intrinsics.html +// http://codesuppository.blogspot.co.uk/2015/02/sse2neonh-porting-guide-and-header-file.html + +static inline void __hv_zero_f(hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_setzero_ps(); +#elif HV_SIMD_SSE + *bOut = _mm_setzero_ps(); +#elif HV_SIMD_NEON + *bOut = vdupq_n_f32(0.0f); +#else // HV_SIMD_NONE + *bOut = 0.0f; +#endif +} + +static inline void __hv_load_f(float *bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_load_ps(bIn); +#elif HV_SIMD_SSE + *bOut = _mm_load_ps(bIn); +#elif HV_SIMD_NEON + *bOut = vld1q_f32(bIn); +#else // HV_SIMD_NONE + *bOut = *bIn; +#endif +} + +static inline void __hv_store_f(float *bOut, hv_bInf_t bIn) { +#if HV_SIMD_AVX + _mm256_store_ps(bOut, bIn); +#elif HV_SIMD_SSE + _mm_store_ps(bOut, bIn); +#elif HV_SIMD_NEON + vst1q_f32(bOut, bIn); +#else // HV_SIMD_NONE + *bOut = bIn; +#endif +} + +static inline void __hv_log_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX +#warning __hv_log_f() not implemented +#elif HV_SIMD_SSE +#warning __hv_log_f() not implemented +#elif HV_SIMD_NEON +#warning __hv_log_f() not implemented +#else // HV_SIMD_NONE + *bOut = (bIn > 0.0f) ? hv_log_f(bIn) : 0.0f; +#endif +} + +static inline void __hv_log10_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX +#warning __hv_log10_f() not implemented +#elif HV_SIMD_SSE +#warning __hv_log10_f() not implemented +#elif HV_SIMD_NEON +#warning __hv_log10_f() not implemented +#else // HV_SIMD_NONE + *bOut = (bIn > 0.0f) ? hv_log10_f(bIn) : 0.0f; +#endif +} + +static inline void __hv_log2_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX +#warning __hv_log2_f() not implemented +#elif HV_SIMD_SSE +#warning __hv_log2_f() not implemented +#elif HV_SIMD_NEON +#warning __hv_log2_f() not implemented +#else // HV_SIMD_NONE + *bOut = (bIn > 0.0f) ? hv_log2_f(bIn) : 0.0f; +#endif +} + +// NOTE(mhroth): this is a pretty ghetto implementation +static inline void __hv_cos_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_set_ps( + hv_cos_f(bIn[7]), hv_cos_f(bIn[6]), hv_cos_f(bIn[5]), hv_cos_f(bIn[4]), + hv_cos_f(bIn[3]), hv_cos_f(bIn[2]), hv_cos_f(bIn[1]), hv_cos_f(bIn[0])); +#elif HV_SIMD_SSE + *bOut = _mm_set_ps(hv_cos_f(bIn[3]), hv_cos_f(bIn[2]), hv_cos_f(bIn[1]), hv_cos_f(bIn[0])); +#elif HV_SIMD_NEON + *bOut = (float32x4_t) {hv_cos_f(bIn[0]), hv_cos_f(bIn[1]), hv_cos_f(bIn[2]), hv_cos_f(bIn[3])}; +#else // HV_SIMD_NONE + *bOut = hv_cos_f(bIn); +#endif +} + +static inline void __hv_acos_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX +#warning __hv_acos_f() not implemented +#elif HV_SIMD_SSE +#warning __hv_acos_f() not implemented +#elif HV_SIMD_NEON +#warning __hv_acos_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_acos_f(bIn); +#endif +} + +static inline void __hv_cosh_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX +#warning __hv_cosh_f() not implemented +#elif HV_SIMD_SSE +#warning __hv_cosh_f() not implemented +#elif HV_SIMD_NEON +#warning __hv_cosh_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_cosh_f(bIn); +#endif +} + +static inline void __hv_acosh_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX +#warning __hv_acosh_f() not implemented +#elif HV_SIMD_SSE +#warning __hv_acosh_f() not implemented +#elif HV_SIMD_NEON +#warning __hv_acosh_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_acosh_f(bIn); +#endif +} + +static inline void __hv_sin_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX +#warning __hv_sin_f() not implemented +#elif HV_SIMD_SSE +#warning __hv_sin_f() not implemented +#elif HV_SIMD_NEON +#warning __hv_sin_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_sin_f(bIn); +#endif +} + +static inline void __hv_asin_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX +#warning __hv_asin_f() not implemented +#elif HV_SIMD_SSE +#warning __hv_asin_f() not implemented +#elif HV_SIMD_NEON +#warning __hv_asin_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_asin_f(bIn); +#endif +} + +static inline void __hv_sinh_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX +#warning __hv_sinh_f() not implemented +#elif HV_SIMD_SSE +#warning __hv_sinh_f() not implemented +#elif HV_SIMD_NEON +#warning __hv_sinh_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_sinh_f(bIn); +#endif +} + +static inline void __hv_asinh_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX +#warning __hv_asinh_f() not implemented +#elif HV_SIMD_SSE +#warning __hv_asinh_f() not implemented +#elif HV_SIMD_NEON +#warning __hv_asinh_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_asinh_f(bIn); +#endif +} + +static inline void __hv_tan_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX +#warning __hv_tan_f() not implemented +#elif HV_SIMD_SSE +#warning __hv_tan_f() not implemented +#elif HV_SIMD_NEON +#warning __hv_tan_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_tan_f(bIn); +#endif +} + +static inline void __hv_atan_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX +#warning __hv_atan_f() not implemented +#elif HV_SIMD_SSE +#warning __hv_atan_f() not implemented +#elif HV_SIMD_NEON +#warning __hv_atan_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_atan_f(bIn); +#endif +} + +static inline void __hv_atan2_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX +#warning __hv_atan2_f() not implemented +#elif HV_SIMD_SSE +#warning __hv_atan2_f() not implemented +#elif HV_SIMD_NEON +#warning __hv_atan2_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_atan2_f(bIn0, bIn1); +#endif +} + +static inline void __hv_tanh_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX +#warning __hv_tanh_f() not implemented +#elif HV_SIMD_SSE +#warning __hv_tanh_f() not implemented +#elif HV_SIMD_NEON +#warning __hv_tanh_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_tanh_f(bIn); +#endif +} + +static inline void __hv_atanh_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX +#warning __hv_atanh_f() not implemented +#elif HV_SIMD_SSE +#warning __hv_atanh_f() not implemented +#elif HV_SIMD_NEON +#warning __hv_atanh_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_atanh_f(bIn); +#endif +} + +// NOTE(mhroth): use of sqrt is absolute and total MURDER. Make do with recipocal sqrt if possible!! +static inline void __hv_sqrt_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_sqrt_ps(bIn); +#elif HV_SIMD_SSE + *bOut = _mm_sqrt_ps(bIn); +#elif HV_SIMD_NEON +#warning __hv_sqrt_f() numerical results may be inexact + *bOut = vrecpeq_f32(vrsqrteq_f32(bIn)); +#else // HV_SIMD_NONE + *bOut = hv_sqrt_f(bIn); +#endif +} + +static inline void __hv_rsqrt_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_rsqrt_ps(bIn); +#elif HV_SIMD_SSE + *bOut = _mm_rsqrt_ps(bIn); +#elif HV_SIMD_NEON +#warning __hv_rsqrt_f() numerical results may be inexact + *bOut = vrsqrteq_f32(bIn); +#else // HV_SIMD_NONE + *bOut = 1.0f/hv_sqrt_f(bIn); +#endif +} + +static inline void __hv_abs_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_andnot_ps(_mm256_set1_ps(-0.0f), bIn); +#elif HV_SIMD_SSE + *bOut = _mm_andnot_ps(_mm_set1_ps(-0.0f), bIn); // == 1 << 31 +#elif HV_SIMD_NEON + *bOut = vabsq_f32(bIn); +#else // HV_SIMD_NONE + *bOut = hv_abs_f(bIn); +#endif +} + +static inline void __hv_exp_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX +#warning __hv_exp_f() not implemented +#elif HV_SIMD_SSE +#warning __hv_exp_f() not implemented +#elif HV_SIMD_NEON +#warning __hv_exp_f() not implemented +#else // HV_SIMD_NONE + *bOut = hv_exp_f(bIn); +#endif +} + +static inline void __hv_ceil_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_ceil_ps(bIn); +#elif HV_SIMD_SSE + *bOut = _mm_ceil_ps(bIn); +#elif HV_SIMD_NEON +#if __ARM_ARCH >= 8 + *bOut = vrndpq_f32(bIn); +#else +#warning A slow NEON implementation of __hv_ceil_f() is being used because the necessary intrinsic cannot be found. It is only available in ARMv8. + *bOut = (float32x4_t) {hv_ceil_f(bIn[0]), hv_ceil_f(bIn[1]), hv_ceil_f(bIn[2]), hv_ceil_f(bIn[3])}; +#endif // vrndpq_f32 +#else // HV_SIMD_NONE + *bOut = hv_ceil_f(bIn); +#endif +} + +static inline void __hv_floor_f(hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_floor_ps(bIn); +#elif HV_SIMD_SSE + *bOut = _mm_floor_ps(bIn); +#elif HV_SIMD_NEON +#if __ARM_ARCH >= 8 + *bOut = vrndmq_f32(bIn); +#else +#warning A slow NEON implementation of __hv_floor_f() is being used because the necessary intrinsic cannot be found. It is only available in ARMv8. + *bOut = (float32x4_t) {hv_floor_f(bIn[0]), hv_floor_f(bIn[1]), hv_floor_f(bIn[2]), hv_floor_f(bIn[3])}; +#endif // vrndmq_f32 +#else // HV_SIMD_NONE + *bOut = hv_floor_f(bIn); +#endif +} + +// __add~f +static inline void __hv_add_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_add_ps(bIn0, bIn1); +#elif HV_SIMD_SSE + *bOut = _mm_add_ps(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vaddq_f32(bIn0, bIn1); +#else // HV_SIMD_NONE + *bOut = bIn0 + bIn1; +#endif +} + +// __add~i +static inline void __hv_add_i(hv_bIni_t bIn0, hv_bIni_t bIn1, hv_bOuti_t bOut) { +#if HV_SIMD_AVX + __m128i x = _mm_add_epi32(_mm256_castsi256_si128(bIn0), _mm256_castsi256_si128(bIn1)); + __m128i y = _mm_add_epi32(_mm256_extractf128_si256(bIn0, 1), _mm256_extractf128_si256(bIn1, 1)); + *bOut = _mm256_insertf128_si256(_mm256_castsi128_si256(x), y, 1); +#elif HV_SIMD_SSE + *bOut = _mm_add_epi32(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vaddq_s32(bIn0, bIn1); +#else // HV_SIMD_NONE + *bOut = bIn0 + bIn1; +#endif +} + +// __sub~f +static inline void __hv_sub_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_sub_ps(bIn0, bIn1); +#elif HV_SIMD_SSE + *bOut = _mm_sub_ps(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vsubq_f32(bIn0, bIn1); +#else // HV_SIMD_NONE + *bOut = bIn0 - bIn1; +#endif +} + +// __mul~f +static inline void __hv_mul_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_mul_ps(bIn0, bIn1); +#elif HV_SIMD_SSE + *bOut = _mm_mul_ps(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vmulq_f32(bIn0, bIn1); +#else // HV_SIMD_NONE + *bOut = bIn0 * bIn1; +#endif +} + +// __*~i +static inline void __hv_mul_i(hv_bIni_t bIn0, hv_bIni_t bIn1, hv_bOuti_t bOut) { +#if HV_SIMD_AVX + __m128i x = _mm_mullo_epi32(_mm256_castsi256_si128(bIn0), _mm256_castsi256_si128(bIn1)); + __m128i y = _mm_mullo_epi32(_mm256_extractf128_si256(bIn0, 1), _mm256_extractf128_si256(bIn1, 1)); + *bOut = _mm256_insertf128_si256(_mm256_castsi128_si256(x), y, 1); +#elif HV_SIMD_SSE + *bOut = _mm_mullo_epi32(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vmulq_s32(bIn0, bIn1); +#else // HV_SIMD_NONE + *bOut = bIn0 * bIn1; +#endif +} + +// __cast~if +static inline void __hv_cast_if(hv_bIni_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_cvtepi32_ps(bIn); +#elif HV_SIMD_SSE + *bOut = _mm_cvtepi32_ps(bIn); +#elif HV_SIMD_NEON + *bOut = vcvtq_f32_s32(bIn); +#else // HV_SIMD_NONE + *bOut = (float) bIn; +#endif +} + +// __cast~fi +static inline void __hv_cast_fi(hv_bInf_t bIn, hv_bOuti_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_cvtps_epi32(bIn); +#elif HV_SIMD_SSE + *bOut = _mm_cvtps_epi32(bIn); +#elif HV_SIMD_NEON + *bOut = vcvtq_s32_f32(bIn); +#else // HV_SIMD_NONE + *bOut = (int) bIn; +#endif +} + +static inline void __hv_div_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_div_ps(bIn0, bIn1); +#elif HV_SIMD_SSE + *bOut = _mm_div_ps(bIn0, bIn1); +#elif HV_SIMD_NEON +#warning __hv_div_f() numerical results may be inexact + *bOut = vmulq_f32(bIn0, vrecpeq_f32(bIn1)); +#else // HV_SIMD_NONE + *bOut = (bIn1 != 0.0f) ? (bIn0 / bIn1) : 0.0f; +#endif +} + +static inline void __hv_min_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_min_ps(bIn0, bIn1); +#elif HV_SIMD_SSE + *bOut = _mm_min_ps(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vminq_f32(bIn0, bIn1); +#else // HV_SIMD_NONE + *bOut = hv_min_f(bIn0, bIn1); +#endif +} + +static inline void __hv_min_i(hv_bIni_t bIn0, hv_bIni_t bIn1, hv_bOuti_t bOut) { +#if HV_SIMD_AVX + __m128i x = _mm_min_epi32(_mm256_castsi256_si128(bIn0), _mm256_castsi256_si128(bIn1)); + __m128i y = _mm_min_epi32(_mm256_extractf128_si256(bIn0, 1), _mm256_extractf128_si256(bIn1, 1)); + *bOut = _mm256_insertf128_si256(_mm256_castsi128_si256(x), y, 1); +#elif HV_SIMD_SSE + *bOut = _mm_min_epi32(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vminq_s32(bIn0, bIn1); +#else // HV_SIMD_NONE + *bOut = hv_min_i(bIn0, bIn1); +#endif +} + +static inline void __hv_max_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_max_ps(bIn0, bIn1); +#elif HV_SIMD_SSE + *bOut = _mm_max_ps(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vmaxq_f32(bIn0, bIn1); +#else // HV_SIMD_NONE + *bOut = hv_max_f(bIn0, bIn1); +#endif +} + +static inline void __hv_max_i(hv_bIni_t bIn0, hv_bIni_t bIn1, hv_bOuti_t bOut) { +#if HV_SIMD_AVX + __m128i x = _mm_max_epi32(_mm256_castsi256_si128(bIn0), _mm256_castsi256_si128(bIn1)); + __m128i y = _mm_max_epi32(_mm256_extractf128_si256(bIn0, 1), _mm256_extractf128_si256(bIn1, 1)); + *bOut = _mm256_insertf128_si256(_mm256_castsi128_si256(x), y, 1); +#elif HV_SIMD_SSE + *bOut = _mm_max_epi32(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vmaxq_s32(bIn0, bIn1); +#else // HV_SIMD_NONE + *bOut = hv_max_i(bIn0, bIn1); +#endif +} + +static inline void __hv_pow_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_set_ps( + hv_pow_f(bIn0[7], bIn1[7]), + hv_pow_f(bIn0[6], bIn1[6]), + hv_pow_f(bIn0[5], bIn1[5]), + hv_pow_f(bIn0[4], bIn1[4]), + hv_pow_f(bIn0[3], bIn1[3]), + hv_pow_f(bIn0[2], bIn1[2]), + hv_pow_f(bIn0[1], bIn1[1]), + hv_pow_f(bIn0[0], bIn1[0])); +#elif HV_SIMD_SSE + *bOut = _mm_set_ps( + hv_pow_f(bIn0[3], bIn1[3]), + hv_pow_f(bIn0[2], bIn1[2]), + hv_pow_f(bIn0[1], bIn1[1]), + hv_pow_f(bIn0[0], bIn1[0])); +#elif HV_SIMD_NEON + *bOut = (float32x4_t) { + hv_pow_f(bIn0[0], bIn1[0]), + hv_pow_f(bIn0[1], bIn1[1]), + hv_pow_f(bIn0[2], bIn1[2]), + hv_pow_f(bIn0[3], bIn1[3])}; +#else // HV_SIMD_NONE + *bOut = hv_pow_f(bIn0, bIn1); +#endif +} + +static inline void __hv_gt_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_cmp_ps(bIn0, bIn1, _CMP_GT_OQ); +#elif HV_SIMD_SSE + *bOut = _mm_cmpgt_ps(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vreinterpretq_f32_u32(vcgtq_f32(bIn0, bIn1)); +#else // HV_SIMD_NONE + *bOut = (bIn0 > bIn1) ? 1.0f : 0.0f; +#endif +} + +static inline void __hv_gte_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_cmp_ps(bIn0, bIn1, _CMP_GE_OQ); +#elif HV_SIMD_SSE + *bOut = _mm_cmpge_ps(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vreinterpretq_f32_u32(vcgeq_f32(bIn0, bIn1)); +#else // HV_SIMD_NONE + *bOut = (bIn0 >= bIn1) ? 1.0f : 0.0f; +#endif +} + +static inline void __hv_lt_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_cmp_ps(bIn0, bIn1, _CMP_LT_OQ); +#elif HV_SIMD_SSE + *bOut = _mm_cmplt_ps(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vreinterpretq_f32_u32(vcltq_f32(bIn0, bIn1)); +#else // HV_SIMD_NONE + *bOut = (bIn0 < bIn1) ? 1.0f : 0.0f; +#endif +} + +static inline void __hv_lte_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_cmp_ps(bIn0, bIn1, _CMP_LE_OQ); +#elif HV_SIMD_SSE + *bOut = _mm_cmple_ps(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vreinterpretq_f32_u32(vcleq_f32(bIn0, bIn1)); +#else // HV_SIMD_NONE + *bOut = (bIn0 <= bIn1) ? 1.0f : 0.0f; +#endif +} + +static inline void __hv_neq_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_cmp_ps(bIn0, bIn1, _CMP_NEQ_OQ); +#elif HV_SIMD_SSE + *bOut = _mm_cmpneq_ps(bIn0, bIn1); +#elif HV_SIMD_NEON + *bOut = vreinterpretq_f32_u32(vmvnq_u32(vceqq_f32(bIn0, bIn1))); +#else // HV_SIMD_NONE + *bOut = (bIn0 != bIn1) ? 1.0f : 0.0f; +#endif +} + +static inline void __hv_xor_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX +#warning __hv_xor_f() not implemented +#elif HV_SIMD_SSE +#warning __hv_xor_f() not implemented +#elif HV_SIMD_NEON +#warning __hv_xor_f() not implemented +#else // HV_SIMD_NONE + *bOut = (float) (((int) bIn0) ^ ((int) bIn1)); +#endif +} + +static inline void __hv_and_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_and_ps(bIn1, bIn0); +#elif HV_SIMD_SSE + *bOut = _mm_and_ps(bIn1, bIn0); +#elif HV_SIMD_NEON + *bOut = vreinterpretq_f32_u32(vandq_u32(vreinterpretq_u32_f32(bIn1), vreinterpretq_u32_f32(bIn0))); +#else // HV_SIMD_NONE + if (bIn0 == 0.0f || bIn1 == 0.0f) *bOut = 0.0f; + else if (bIn0 == 1.0f) *bOut = bIn1; + else if (bIn1 == 1.0f) *bOut = bIn0; + else hv_assert(0); // NOTE(mhroth): floating point & is pretty much a bad idea, only used for if~ +#endif +} + +// bOut = (bIn0 * bIn1) + bIn2 +static inline void __hv_fma_f(hv_bInf_t bIn0, hv_bInf_t bIn1, hv_bInf_t bIn2, hv_bOutf_t bOut) { +#if HV_SIMD_AVX +#if HV_SIMD_FMA + *bOut = _mm256_fmadd_ps(bIn0, bIn1, bIn2); +#else + *bOut = _mm256_add_ps(_mm256_mul_ps(bIn0, bIn1), bIn2); +#endif // HV_SIMD_FMA +#elif HV_SIMD_SSE +#if HV_SIMD_FMA + *bOut = _mm_fmadd_ps(bIn0, bIn1, bIn2); +#else + *bOut = _mm_add_ps(_mm_mul_ps(bIn0, bIn1), bIn2); +#endif // HV_SIMD_FMA +#elif HV_SIMD_NEON +#if __ARM_ARCH >= 8 + *bOut = vfmaq_f32(bIn2, bIn0, bIn1); +#else + // NOTE(mhroth): it turns out, fma SUUUUCKS on lesser ARM architectures + // But in fact ideally fma would be disabled in ir2c for ARM architectures. + // LLVM does a much better job handling fma than we do. + *bOut = vaddq_f32(vmulq_f32(bIn0, bIn1), bIn2); +#endif +#else // HV_SIMD_NONE + *bOut = hv_fma_f(bIn0, bIn1, bIn2); +#endif +} + +#endif // _HEAVY_MATH_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/Heavy_bbb.h Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,241 @@ + +/** + * Copyright (c) 2014,2015 Enzien Audio, Ltd. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, and/or + * sublicense copies of the Software, strictly on a non-commercial basis, + * and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * DO NOT MODIFY. THIS CODE IS MACHINE GENERATED BY THE SECTION6 HEAVY COMPILER. + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "Utils.h" + +#if !HV_MSVC +#pragma mark - Heavy Table +#endif + +#ifndef _HEAVY_TABLE_H_ +#define _HEAVY_TABLE_H_ + +typedef struct HvTable HvTable; + +/** + * Resizes the table to the given length. Length must be positive. + * Existing contents are copied to the new table. Remaining space is cleared. + * The change in byte-size of the table is returned. A value of zero indicates error. + */ +HV_EXPORT int hv_table_resize(HvTable *o, hv_uint32_t newLength); + +/** Returns a pointer to the raw buffer backing this table. DO NOT free it. */ +HV_EXPORT float *hv_table_getBuffer(HvTable *o); + +/** Returns the length of this table in samples. */ +HV_EXPORT int hv_table_getLength(HvTable *o); + +#endif // _HEAVY_TABLE_H_ + + + +#if !HV_MSVC +#pragma mark - Heavy Message +#endif + +#ifndef _HEAVY_MESSAGE_H_ +#define _HEAVY_MESSAGE_H_ + +HV_EXPORT typedef struct HvMessage HvMessage; + +/** Returns the byte size of a HvMessage with a number of elements on the heap. */ +HV_EXPORT hv_size_t hv_msg_getByteSize(int numElements); + +/** Create a HvMessage on the stack with a number of elements. This message MUST NOT be freed. */ +#define hv_msg_onStack(_n) ((HvMessage *) hv_alloca(hv_msg_getByteSize(_n))) + +/** Initialise a message with the number of elements and a timestamp (in milliseconds). */ +HV_EXPORT void hv_msg_init(HvMessage *m, int numElements, double timestamp); + +/** Returns the number of elements in this message. */ +HV_EXPORT int hv_msg_getNumElements(const HvMessage *const m); + +/** Returns the time at which this message exists (in milliseconds). */ +HV_EXPORT hv_uint32_t hv_msg_getTimestamp(const HvMessage *const m); + +/** Set the time at which this message should be executed (in milliseconds). */ +HV_EXPORT void hv_msg_setTimestamp(HvMessage *m, hv_uint32_t timestamp); + +/** Returns true of the indexed element is a bang. False otherwise. Index is not bounds checked. */ +HV_EXPORT bool hv_msg_isBang(const HvMessage *const m, int i); + +/** Sets the indexed element to a bang. Index is not bounds checked. */ +HV_EXPORT void hv_msg_setBang(HvMessage *m, int i); + +/** Returns true of the indexed element is a float. False otherwise. Index is not bounds checked. */ +HV_EXPORT bool hv_msg_isFloat(const HvMessage *const m, int i); + +/** Returns the indexed element as a float value. Index is not bounds checked. */ +HV_EXPORT float hv_msg_getFloat(const HvMessage *const m, int i); + +/** Sets the indexed element to float value. Index is not bounds checked. */ +HV_EXPORT void hv_msg_setFloat(HvMessage *m, int i, float f); + +/** Returns true of the indexed element is a symbol. False otherwise. Index is not bounds checked. */ +HV_EXPORT bool hv_msg_isSymbol(const HvMessage *const m, int i); + +/** Returns the indexed element as a symbol value. Index is not bounds checked. */ +HV_EXPORT char *hv_msg_getSymbol(const HvMessage *const m, int i); + +/** Returns true of the indexed element is a hash. False otherwise. Index is not bounds checked. */ +HV_EXPORT bool hv_msg_isHash(const HvMessage *const m, int i); + +/** Returns the indexed element as a hash value. Index is not bounds checked. */ +HV_EXPORT unsigned int hv_msg_getHash(const HvMessage *const m, int i); + +/** Sets the indexed element to symbol value. Index is not bounds checked. */ +HV_EXPORT void hv_msg_setSymbol(HvMessage *m, int i, const char *s); + +/** + * Returns true if the message has the given format, in number of elements and type. False otherwise. + * Valid element types are: + * 'b': bang + * 'f': float + * 's': symbol + * + * For example, a message with three floats would have a format of "fff". A single bang is "b". + * A message with two symbols is "ss". These types can be mixed and matched in any way. + */ +HV_EXPORT bool hv_msg_hasFormat(const HvMessage *const m, const char *fmt); + +/** + * Returns a basic string representation of the message. + * The character array MUST be deallocated by the caller. + */ +HV_EXPORT char *hv_msg_toString(const HvMessage *const m); + +/** Copy a message onto the stack. The message persists. */ +HV_EXPORT HvMessage *hv_msg_copy(const HvMessage *const m); + +/** Free a copied message. */ +HV_EXPORT void hv_msg_free(HvMessage *m); + +#endif // _HEAVY_MESSAGE_H_ + + + +#if !HV_MSVC +#pragma mark - Heavy Patch +#endif + +#ifndef _HEAVY_BBB_H_ +#define _HEAVY_BBB_H_ + +typedef struct Hv_bbb Hv_bbb; + +/** + * Creates a new patch instance. + * Sample rate should be positive and in Hertz. + */ +HV_EXPORT Hv_bbb *hv_bbb_new(double sampleRate); + +/** + * Creates a new patch instance. + * Sample rate should be positive and in Hertz. + * Pool size is in kilobytes, and determines the maximum amount of memory + * allocated to messages at any time. By default this is 10. + */ +HV_EXPORT Hv_bbb *hv_bbb_new_with_pool(double sampleRate, int poolKb); + +/** Frees a patch instance. */ +HV_EXPORT void hv_bbb_free(Hv_bbb *c); + +/** Processes one block of samples for a patch instance. The buffer format is an array of float channel arrays. */ +HV_EXPORT int hv_bbb_process(Hv_bbb *c, float **const inputBuffers, float **const outputBuffers, int n4); + +/** Processes one block of samples for a patch instance. The buffer format is an uninterleaved float array of channels. */ +HV_EXPORT int hv_bbb_process_inline(Hv_bbb *c, float *const inputBuffers, float *const outputBuffers, int n4); + +/** Processes one block of samples for a patch instance. The buffer format is an interleaved short array of channels. */ +HV_EXPORT int hv_bbb_process_inline_short(Hv_bbb *c, short *const inputBuffers, short *const outputBuffers, int n4); +#endif // _HEAVY_BBB_H_ + + + +#if !HV_MSVC +#pragma mark - Heavy Common +#endif + +#ifndef _HEAVY_COMMON_H_ +#define _HEAVY_COMMON_H_ + +typedef void Heavy; + +/** Returns the sample rate with which this patch has been configured. */ +HV_EXPORT double hv_getSampleRate(Heavy *c); + +/** Returns the number of input channels with which this patch has been configured. */ +HV_EXPORT int hv_getNumInputChannels(Heavy *c); + +/** Returns the number of output channels with which this patch has been configured. */ +HV_EXPORT int hv_getNumOutputChannels(Heavy *c); + +/** Set the print hook. The function is called whenever a message is sent to a print object. */ +HV_EXPORT void hv_setPrintHook(Heavy *c, + void (*f)(double timestamp, const char *printName, const char *message, void *userData)); + +/** + * Set the send hook. The function is called whenever a message is sent to any send object. + * Messages returned by this function should NEVER be freed. If the message must persist, call + * hv_msg_copy() first. + */ +HV_EXPORT void hv_setSendHook(Heavy *c, void (*f)(double timestamp, const char *receiverName, const HvMessage *const m, void *userData)); + +HV_EXPORT void hv_vscheduleMessageForReceiver( + Heavy *c, const char *receiverName, double delayMs, const char *format, ...); + +HV_EXPORT void hv_scheduleMessageForReceiver(Heavy *c, const char *receiverName, double delayMs, HvMessage *m); + +/** Cancels a previously scheduled message. */ +HV_EXPORT void hv_cancelMessage(Heavy *c, HvMessage *m); + +/** Returns a table object given its name. NULL if no table with that name exists. */ +HV_EXPORT HvTable *hv_getTableForName(Heavy *c, const char *tableName); + +/** Returns the current patch time in milliseconds. */ +HV_EXPORT double hv_getCurrentTime(Heavy *c); + +/** Sets a user-definable value. This value is never manipulated by Heavy. */ +HV_EXPORT void hv_setUserData(Heavy *c, void *userData); + +/** Returns the user-defined data. */ +HV_EXPORT void *hv_getUserData(Heavy *c); + +/** Define the base path of the patch. Used as the root path to locate assets. */ +HV_EXPORT void hv_setBasePath(Heavy *c, const char *basePath); + +/** Returns the read-only user-assigned name of this patch. */ +HV_EXPORT const char *hv_getName(Heavy *c); + +#endif // _HEAVY_COMMON_H_ + +#ifdef __cplusplus +} // extern "C" +#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/HvBase.c Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,51 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvBase.h" + +void ctx_setBasePath(HvBase *const _c, const char *basePath) { + hv_free(_c->basePath); + if (basePath != NULL) { + hv_size_t len = (hv_size_t) hv_strlen(basePath); + _c->basePath = (char *) hv_malloc((len+1)*sizeof(char)); + hv_strncpy(_c->basePath, basePath, len); + } +} + +void ctx_cancelMessage(HvBase *_c, HvMessage *m, void (*sendMessage)(HvBase *, int, const HvMessage *)) { + mq_removeMessage(&_c->mq, m, sendMessage); +} + +void ctx_scheduleMessageForReceiverV(HvBase *const _c, const char *name, + const hv_uint32_t timestamp, const char *format, ...) { + va_list ap; + va_start(ap, format); + + const int numElem = (int) hv_strlen(format); + HvMessage *m = HV_MESSAGE_ON_STACK(numElem); + msg_init(m, numElem, timestamp); + for (int i = 0; i < numElem; i++) { + switch (format[i]) { + case 'b': msg_setBang(m,i); break; + case 'f': msg_setFloat(m, i, (float) va_arg(ap, double)); break; + case 's': msg_setSymbol(m, i, (char *) va_arg(ap, char *)); break; + default: break; + } + } + _c->f_scheduleMessageForReceiver(_c, name, m); + + va_end(ap); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/HvBase.h Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,126 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_BASE_H_ +#define _HEAVY_BASE_H_ + +#include "MessageQueue.h" +#include "Utils.h" + +#define Base(_x) ((HvBase *) _x) + +typedef struct HvBase { + int numInputChannels; + int numOutputChannels; + double sampleRate; + hv_uint32_t blockStartTimestamp; + unsigned int numBytes; // the total number of bytes allocated for this patch + void (*f_scheduleMessageForReceiver)(struct HvBase *const, const char *, HvMessage *); + struct HvTable *(*f_getTableForHash)(struct HvBase *const, hv_uint32_t); + MessageQueue mq; + void (*printHook)(double, const char *, const char *, void *); + void (*sendHook)(double, const char *, const HvMessage *const, void *); + char *basePath; + void *userData; + const char *name; +} HvBase; + +/** + * Schedule a message in the message queue according to its timestamp. + * The copy of the message added to the queue is returned. + */ +static inline HvMessage *ctx_scheduleMessage(HvBase *_c, const HvMessage *const m, + void (*sendMessage)(HvBase *, int, const HvMessage *), int outletIndex) { + return mq_addMessageByTimestamp(&_c->mq, (HvMessage *) m, outletIndex, sendMessage); +} + +static inline void ctx_scheduleMessageForReceiver(HvBase *const _c, + const char *name, HvMessage *m) { + _c->f_scheduleMessageForReceiver(_c, name, m); +} + +void ctx_scheduleMessageForReceiverV(HvBase *const _c, const char *name, + const hv_uint32_t timestamp, const char *format, ...); + +void ctx_cancelMessage(HvBase *_c, HvMessage *m, + void (*sendMessage)(HvBase *, int, const HvMessage *)); + +static inline int ctx_millisecondsToSamples(HvBase *_c, float timeInMs) { + return (int) (timeInMs * _c->sampleRate / 1000.0); +} + +static inline double ctx_samplesToMilliseconds(HvBase *_c, int samples) { + return 1000.0 * samples / _c->sampleRate; +} + +static inline double ctx_getSampleRate(HvBase *_c) { + return _c->sampleRate; +} + +static inline int ctx_getNumInputChannels(HvBase *_c) { + return _c->numInputChannels; +} + +static inline int ctx_getNumOutputChannels(HvBase *_c) { + return _c->numOutputChannels; +} + +static inline const char *ctx_getName(HvBase *_c) { + return _c->name; +} + +/** Returns the first sample of the block. */ +static inline hv_uint32_t ctx_getBlockStartTimestamp(HvBase *_c) { + return _c->blockStartTimestamp; +} + +static inline void ctx_setPrintHook(HvBase *const _c, void (*f)(double, + const char *, const char *, void *)) { + _c->printHook = f; +} + +static inline void ctx_setSendHook(HvBase *const _c, void (*f)(double, const char *, const HvMessage *const, void *)) { + _c->sendHook = f; +} + +static inline void *ctx_getUserData(HvBase *const _c) { + return _c->userData; +} + +static inline void ctx_setUserData(HvBase *const _c, void *userData) { + _c->userData = userData; +} + +void ctx_setBasePath(HvBase *const _c, const char *basePath); + +static inline const char *ctx_getBasePath(HvBase *const _c) { + return _c->basePath; +} + +static inline struct HvTable *ctx_getTableForHash(HvBase *const _c, hv_uint32_t h) { + return _c->f_getTableForHash(_c, h); +} + +static inline struct HvTable *ctx_getTableForName(HvBase *const _c, const char *tableName) { + return ctx_getTableForHash(_c, msg_symbolToHash(tableName)); +} + +/** Returns the total number of bytes allocated for this patch. */ +static inline unsigned int ctx_getNumBytes(HvBase *_c) { + return _c->numBytes; +} + +#endif // _HEAVY_BASE_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/HvContext_bbb.c Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,741 @@ + +/** + * Copyright (c) 2014,2015 Enzien Audio, Ltd. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, and/or + * sublicense copies of the Software, strictly on a non-commercial basis, + * and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * DO NOT MODIFY. THIS CODE IS MACHINE GENERATED BY THE SECTION6 HEAVY COMPILER. + */ + +/* + * System Includes + */ + +#include <assert.h> +#include <math.h> +#include <string.h> +#include <stdarg.h> +#include "HvContext_bbb.h" +#include "HeavyMath.h" + + +/* + * Function Declarations + */ +static void cCast_fcSF6_sendMessage(HvBase *, int, const HvMessage *const); +static void cBinop_8jSo1_sendMessage(HvBase *, int, const HvMessage *const); +static void cReceive_FxyXp_sendMessage(HvBase *, int, const HvMessage *const); +static void cSystem_mISeT_sendMessage(HvBase *, int, const HvMessage *const); +static void cMsg_IENBD_sendMessage(HvBase *, int, const HvMessage *const); +static void cSend_bhqJO_sendMessage(HvBase *, int, const HvMessage *const); +static void cReceive_Vgi75_sendMessage(HvBase *, int, const HvMessage *const); +static void cCast_2AsCD_sendMessage(HvBase *, int, const HvMessage *const); +static void cSystem_0VTVG_sendMessage(HvBase *, int, const HvMessage *const); +static void cVar_Nbuhx_sendMessage(HvBase *, int, const HvMessage *const); +static void cVar_8i48y_sendMessage(HvBase *, int, const HvMessage *const); +static void cSwitchcase_HCeid_onMessage(HvBase *, void *, int letIn, const HvMessage *const, void *); +static void cMsg_Sg8K2_sendMessage(HvBase *, int, const HvMessage *const); +static void cBinop_8bt42_sendMessage(HvBase *, int, const HvMessage *const); +static void cSlice_rCDp5_sendMessage(HvBase *, int, const HvMessage *const); +static void cLoadbang_sLy2Y_sendMessage(HvBase *, int, const HvMessage *const); +static void cBinop_6cI32_sendMessage(HvBase *, int, const HvMessage *const); +static void cBinop_aQLZM_sendMessage(HvBase *, int, const HvMessage *const); +static void cMsg_zIs5H_sendMessage(HvBase *, int, const HvMessage *const); +static void cVar_suvom_sendMessage(HvBase *, int, const HvMessage *const); +static void cMsg_xVUKW_sendMessage(HvBase *, int, const HvMessage *const); +static void cSystem_lCWpf_sendMessage(HvBase *, int, const HvMessage *const); +static void cSlice_aq0PT_sendMessage(HvBase *, int, const HvMessage *const); +static void cBinop_br2Uk_sendMessage(HvBase *, int, const HvMessage *const); +static void cMsg_IWR3b_sendMessage(HvBase *, int, const HvMessage *const); +static void cBinop_gwAEl_sendMessage(HvBase *, int, const HvMessage *const); +static void cVar_jMs8D_sendMessage(HvBase *, int, const HvMessage *const); +static void cSystem_QTSOn_sendMessage(HvBase *, int, const HvMessage *const); +static void cMsg_TAhzQ_sendMessage(HvBase *, int, const HvMessage *const); +static void cBinop_ltNi5_sendMessage(HvBase *, int, const HvMessage *const); +static void cLoadbang_rydyZ_sendMessage(HvBase *, int, const HvMessage *const); +static void cMsg_IXFiv_sendMessage(HvBase *, int, const HvMessage *const); +static void cSlice_fXstx_sendMessage(HvBase *, int, const HvMessage *const); +static void cLoadbang_Aytpw_sendMessage(HvBase *, int, const HvMessage *const); +static void cMsg_bvjva_sendMessage(HvBase *, int, const HvMessage *const); +static void cBinop_KxvCV_sendMessage(HvBase *, int, const HvMessage *const); +static void cDelay_dFU5B_sendMessage(HvBase *, int, const HvMessage *const); +static void cLoadbang_nujLv_sendMessage(HvBase *, int, const HvMessage *const); +static void cSwitchcase_o94lO_onMessage(HvBase *, void *, int letIn, const HvMessage *const, void *); +static void cLoadbang_6j7WE_sendMessage(HvBase *, int, const HvMessage *const); +static void cBinop_oXoQf_sendMessage(HvBase *, int, const HvMessage *const); +static void cBinop_9I5VM_sendMessage(HvBase *, int, const HvMessage *const); +static const float hTable_bMRkm_data[65536] = {-0.992707f, -0.983216f, -0.969855f, -0.952679f, -0.931761f, -0.907185f, -0.879046f, -0.847456f, -0.812537f, -0.774428f, -0.733277f, -0.689242f, -0.642494f, -0.593223f, -0.541622f, -0.487895f, -0.432252f, -0.374912f, -0.316099f, -0.256044f, -0.194982f, -0.133152f, -0.0708002f, -0.00817063f, 0.0544907f, 0.116938f, 0.178926f, 0.240212f, 0.300555f, 0.359718f, 0.417464f, 0.473569f, 0.527814f, 0.579986f, 0.62988f, 0.677301f, 0.722062f, 0.763988f, 0.802915f, 0.83868f, 0.871146f, 0.900192f, 0.925702f, 0.947577f, 0.96573f, 0.980092f, 0.990605f, 0.997228f, 0.999928f, 0.998693f, 0.993536f, 0.984477f, 0.971553f, 0.954814f, 0.934325f, 0.910167f, 0.882434f, 0.851234f, 0.816679f, 0.778918f, 0.738099f, 0.694381f, 0.647936f, 0.598947f, 0.547606f, 0.494114f, 0.438681f, 0.381518f, 0.322857f, 0.262929f, 0.201969f, 0.140216f, 0.0779126f, 0.0153026f, -0.047368f, -0.109853f, -0.171906f, -0.233283f, -0.293742f, -0.353048f, -0.410967f, -0.467273f, -0.521744f, -0.574166f, -0.624334f, -0.672046f, -0.717112f, -0.759363f, -0.798631f, -0.834762f, -0.867616f, -0.897063f, -0.922987f, -0.945287f, -0.96387f, -0.978658f, -0.989602f, -0.996659f, -0.999803f, -0.999021f, -0.994316f, -0.985706f, -0.973225f, -0.956922f, -0.936846f, -0.913091f, -0.885751f, -0.854933f, -0.820757f, -0.783358f, -0.742883f, -0.699491f, -0.653351f, -0.604637f, -0.553547f, -0.500283f, -0.445056f, -0.388081f, -0.329582f, -0.269788f, -0.208934f, -0.14726f, -0.0850051f, -0.0224166f, 0.0402594f, 0.102777f, 0.16489f, 0.226356f, 0.286934f, 0.346385f, 0.404476f, 0.460977f, 0.515663f, 0.568323f, 0.618752f, 0.66675f, 0.71213f, 0.754713f, 0.794333f, 0.830834f, 0.864071f, 0.893903f, 0.920224f, 0.942931f, 0.961935f, 0.977162f, 0.988551f, 0.996059f, 0.999655f, 0.999326f, 0.995058f, 0.986882f, 0.97483f, 0.95895f, 0.939305f, 0.915971f, 0.88904f, 0.858617f, 0.824823f, 0.78778f, 0.74764f, 0.704565f, 0.658723f, 0.610294f, 0.559469f, 0.506447f, 0.451435f, 0.39465f, 0.336312f, 0.27665f, 0.215903f, 0.154309f, 0.0921083f, 0.0295464f, -0.0331317f, -0.0956802f, -0.157853f, -0.219407f, -0.280096f, -0.339684f, -0.397938f, -0.454629f, -0.509535f, -0.562439f, -0.613136f, -0.661425f, -0.707117f, -0.750021f, -0.789979f, -0.826835f, -0.860444f, -0.890673f, -0.917405f, -0.940535f, -0.959971f, -0.975638f, -0.987461f, -0.995403f, -0.999436f, -0.999544f, -0.995727f, -0.988f, -0.976393f, -0.960952f, -0.941737f, -0.918815f, -0.892279f, -0.862239f, -0.828813f, -0.792133f, -0.752342f, -0.709596f, -0.664064f, -0.615924f, -0.565361f, -0.512572f, -0.457771f, -0.401172f, -0.342999f, -0.283478f, -0.222845f, -0.161335f, -0.099192f, -0.0366583f, 0.0260199f, 0.0885951f, 0.150822f, 0.212456f, 0.273256f, 0.332983f, 0.391402f, 0.448285f, 0.503408f, 0.556548f, 0.6075f, 0.656066f, 0.702055f, 0.745288f, 0.785594f, 0.822814f, 0.856805f, 0.88743f, 0.914562f, 0.938097f, 0.957948f, 0.974037f, 0.986301f, 0.994691f, 0.999176f, 0.999737f, 0.996373f, 0.98909f, 0.977913f, 0.962896f, 0.944098f, 0.921593f, 0.895468f, 0.865828f, 0.832787f, 0.796475f, 0.757033f, 0.714608f, 0.669378f, 0.621519f, 0.57122f, 0.518678f, 0.464099f, 0.407697f, 0.349694f, 0.290316f, 0.229794f, 0.16837f, 0.106286f, 0.0437843f, -0.018889f, -0.0814882f, -0.143768f, -0.205483f, -0.266392f, -0.326252f, -0.384829f, -0.441895f, -0.497224f, -0.550601f, -0.601816f, -0.650667f, -0.696964f, -0.740525f, -0.781171f, -0.818743f, -0.8531f, -0.884107f, -0.911642f, -0.935596f, -0.955877f, -0.972404f, -0.985113f, -0.993949f, -0.99887f, -0.999868f, -0.996941f, -0.990098f, -0.979367f, -0.96479f, -0.946425f, -0.924343f, -0.898629f, -0.869374f, -0.836704f, -0.80075f, -0.761651f, -0.719561f, -0.674645f, -0.62708f, -0.577052f, -0.524757f, -0.470395f, -0.414184f, -0.356348f, -0.297112f, -0.23671f, -0.175379f, -0.113358f, -0.0508918f, 0.0117749f, 0.0743956f, 0.136723f, 0.198513f, 0.259523f, 0.319514f, 0.37825f, 0.435501f, 0.491042f, 0.544655f, 0.596127f, 0.645251f, 0.691841f, 0.735714f, 0.776698f, 0.814631f, 0.849366f, 0.880765f, 0.908706f, 0.933076f, 0.95377f, 0.970718f, 0.983854f, 0.993126f, 0.998498f, 0.99995f, 0.997475f, 0.991083f, 0.9808f, 0.96665f, 0.948703f, 0.927031f, 0.901718f, 0.872865f, 0.840585f, 0.805003f, 0.766259f, 0.724506f, 0.6799f, 0.632621f, 0.582858f, 0.530807f, 0.476671f, 0.420663f, 0.363003f, 0.303917f, 0.243637f, 0.182399f, 0.120442f, 0.0580135f, -0.00464251f, -0.06728f, -0.129653f, -0.191518f, -0.25263f, -0.312752f, -0.371644f, -0.429072f, -0.484815f, -0.538653f, -0.590376f, -0.63978f, -0.686672f, -0.730868f, -0.772195f, -0.810488f, -0.845587f, -0.877364f, -0.905696f, -0.930471f, -0.951592f, -0.968977f, -0.982556f, -0.992277f, -0.998102f, -0.999993f, -0.997955f, -0.991998f, -0.982146f, -0.968437f, -0.950924f, -0.929678f, -0.90478f, -0.876329f, -0.844429f, -0.809207f, -0.770808f, -0.729382f, -0.685091f, -0.638111f, -0.588625f, -0.536827f, -0.48292f, -0.427114f, -0.369626f, -0.310687f, -0.250529f, -0.189387f, -0.127501f, -0.065115f, -0.00247255f, 0.0601802f, 0.122597f, 0.184531f, 0.245739f, 0.305982f, 0.365023f, 0.42263f, 0.478578f, 0.532647f, 0.584625f, 0.634307f, 0.681489f, 0.725994f, 0.767647f, 0.806286f, 0.841758f, 0.873924f, 0.902659f, 0.92785f, 0.949397f, 0.967206f, 0.981211f, 0.991363f, 0.997622f, 0.999963f, 0.998378f, 0.992873f, 0.983469f, 0.970203f, 0.953119f, 0.932284f, 0.907789f, 0.879729f, 0.848215f, 0.81337f, 0.77533f, 0.734246f, 0.690278f, 0.643597f, 0.59438f, 0.542829f, 0.489147f, 0.433545f, 0.37624f, 0.317458f, 0.257428f, 0.196388f, 0.134575f, 0.0722313f, 0.00960496f, -0.0530585f, -0.115513f, -0.177514f, -0.238818f, -0.299185f, -0.358377f, -0.416162f, -0.472309f, -0.526598f, -0.578819f, -0.628766f, -0.676244f, -0.721067f, -0.763058f, -0.802053f, -0.837899f, -0.870447f, -0.89957f, -0.925161f, -0.947118f, -0.965356f, -0.979804f, -0.990403f, -0.997113f, -0.999908f, -0.998771f, -0.993701f, -0.984729f, -0.97189f, -0.955234f, -0.934828f, -0.91075f, -0.883096f, -0.851973f, -0.817503f, -0.779811f, -0.739057f, -0.695402f, -0.649015f, -0.600081f, -0.548789f, -0.495343f, -0.43995f, -0.38283f, -0.3242f, -0.264297f, -0.203357f, -0.141619f, -0.0793251f, -0.0167194f, 0.0459523f, 0.108444f, 0.170511f, 0.231906f, 0.292389f, 0.351723f, 0.409676f, 0.466019f, 0.520533f, 0.573002f, 0.623222f, 0.670995f, 0.716129f, 0.758444f, 0.79778f, 0.833982f, 0.86691f, 0.896433f, 0.922436f, 0.944817f, 0.963488f, 0.978373f, 0.989402f, 0.996547f, 0.999777f, 0.999083f, 0.994465f, 0.985942f, 0.973547f, 0.95733f, 0.937352f, 0.913679f, 0.886418f, 0.855676f, 0.821575f, 0.784247f, 0.743839f, 0.700511f, 0.654431f, 0.605781f, 0.554744f, 0.501527f, 0.446341f, 0.389402f, 0.330935f, 0.271168f, 0.210336f, 0.148677f, 0.0864343f, 0.0238507f, -0.0388263f, -0.10135f, -0.163476f, -0.224959f, -0.285559f, -0.345037f, -0.403161f, -0.459703f, -0.514437f, -0.567146f, -0.617626f, -0.665681f, -0.711122f, -0.75377f, -0.793458f, -0.83003f, -0.863343f, -0.893265f, -0.919667f, -0.942456f, -0.961544f, -0.976856f, -0.988332f, -0.995927f, -0.999611f, -0.99937f, -0.995204f, -0.987116f, -0.97515f, -0.959354f, -0.939791f, -0.916538f, -0.889686f, -0.859339f, -0.825618f, -0.788655f, -0.748586f, -0.705573f, -0.65979f, -0.611417f, -0.560642f, -0.507666f, -0.452697f, -0.395949f, -0.337646f, -0.278014f, -0.217288f, -0.155709f, -0.0935194f, -0.0309628f, 0.0317154f, 0.0942691f, 0.156453f, 0.218023f, 0.278737f, 0.338353f, 0.396639f, 0.453367f, 0.508315f, 0.561266f, 0.612013f, 0.660358f, 0.706109f, 0.749088f, 0.789115f, 0.826041f, 0.859723f, 0.890028f, 0.916839f, 0.940049f, 0.959568f, 0.975319f, 0.98724f, 0.995273f, 0.999393f, 0.999588f, 0.995859f, 0.988219f, 0.976698f, 0.961342f, 0.942211f, 0.91938f, 0.892931f, 0.862968f, 0.829616f, 0.793007f, 0.753285f, 0.710604f, 0.665132f, 0.617049f, 0.566542f, 0.513807f, 0.459048f, 0.402487f, 0.344346f, 0.284853f, 0.224242f, 0.16275f, 0.100619f, 0.0380914f, -0.0245862f, -0.0871668f, -0.149404f, -0.211055f, -0.271876f, -0.331629f, -0.39008f, -0.447f, -0.502165f, -0.555358f, -0.606364f, -0.654986f, -0.701035f, -0.744331f, -0.784704f, -0.821996f, -0.85606f, -0.886762f, -0.913983f, -0.937605f, -0.95754f, -0.973714f, -0.986064f, -0.994542f, -0.999114f, -0.999763f, -0.996486f, -0.989296f, -0.978215f, -0.963283f, -0.944568f, -0.922144f, -0.896099f, -0.866535f, -0.833568f, -0.797327f, -0.757955f, -0.715605f, -0.670434f, -0.622631f, -0.572384f, -0.519889f, -0.465353f, -0.408989f, -0.351019f, -0.29167f, -0.231174f, -0.169768f, -0.107695f, -0.0452f, 0.0174722f, 0.0800757f, 0.142365f, 0.204095f, 0.265024f, 0.324914f, 0.383524f, 0.440625f, 0.495996f, 0.549418f, 0.600683f, 0.649589f, 0.695944f, 0.739567f, 0.780285f, 0.817935f, 0.852364f, 0.883447f, 0.911059f, 0.935094f, 0.955457f, 0.972068f, 0.984862f, 0.993789f, 0.998809f, 0.999895f, 0.997055f, 0.990299f, 0.979655f, 0.965164f, 0.946882f, 0.924883f, 0.899251f, 0.870087f, 0.837493f, 0.80161f, 0.76258f, 0.720555f, 0.675701f, 0.628194f, 0.578219f, 0.525974f, 0.471662f, 0.415492f, 0.357689f, 0.298482f, 0.238104f, 0.17679f, 0.114783f, 0.052324f, -0.0103406f, -0.0729653f, -0.135303f, -0.197108f, -0.258139f, -0.318155f, -0.376922f, -0.434208f, -0.48979f, -0.543448f, -0.594973f, -0.644159f, -0.690808f, -0.734744f, -0.775795f, -0.813798f, -0.848606f, -0.880081f, -0.908101f, -0.932555f, -0.953345f, -0.970378f, -0.9836f, -0.992959f, -0.998419f, -0.999958f, -0.997571f, -0.991266f, -0.981068f, -0.967018f, -0.949157f, -0.927566f, -0.902333f, -0.873557f, -0.841351f, -0.805841f, -0.767166f, -0.725478f, -0.680941f, -0.633722f, -0.584012f, -0.532008f, -0.477916f, -0.421948f, -0.364322f, -0.305266f, -0.24501f, -0.183791f, -0.12185f, -0.0594284f, 0.00322553f, 0.0658663f, 0.128248f, 0.190126f, 0.251258f, 0.311403f, 0.370327f, 0.427795f, 0.483578f, 0.537461f, 0.589233f, 0.63869f, 0.68564f, 0.729898f, 0.771289f, 0.809652f, 0.844836f, 0.876689f, 0.905098f, 0.929953f, 0.951156f, 0.968624f, 0.982288f, 0.992095f, 0.998006f, 0.999998f, 0.998052f, 0.992182f, 0.982416f, 0.968793f, 0.951365f, 0.930201f, 0.905385f, 0.877012f, 0.845196f, 0.810053f, 0.771723f, 0.730364f, 0.686136f, 0.639214f, 0.589782f, 0.538034f, 0.484172f, 0.428409f, 0.370961f, 0.312052f, 0.251918f, 0.190795f, 0.128924f, 0.0665461f, 0.00390688f, -0.058748f, -0.121173f, -0.183122f, -0.24435f, -0.304617f, -0.363688f, -0.42133f, -0.477317f, -0.53143f, -0.583457f, -0.633193f, -0.680443f, -0.725011f, -0.76673f, -0.805438f, -0.840983f, -0.873225f, -0.902038f, -0.927309f, -0.948939f, -0.966842f, -0.98094f, -0.991179f, -0.997525f, -0.999954f, -0.998457f, -0.993038f, -0.98372f, -0.970539f, -0.953547f, -0.932804f, -0.908388f, -0.880406f, -0.848967f, -0.814194f, -0.776223f, -0.735205f, -0.691299f, -0.644678f, -0.595523f, -0.544022f, -0.490385f, -0.434822f, -0.377553f, -0.318801f, -0.258796f, -0.197776f, -0.135978f, -0.073645f, -0.0110219f, 0.0516437f, 0.114106f, 0.17612f, 0.237442f, 0.297831f, 0.357052f, 0.414871f, 0.471061f, 0.525396f, 0.577665f, 0.627665f, 0.6752f, 0.720083f, 0.762139f, 0.801202f, 0.837119f, 0.869749f, 0.898957f, 0.924627f, 0.946666f, 0.964987f, 0.979519f, 0.990204f, 0.997001f, 0.999882f, 0.998838f, 0.993868f, 0.984982f, 0.972229f, 0.955658f, 0.935335f, 0.911338f, 0.883763f, 0.852717f, 0.818322f, 0.780713f, 0.740026f, 0.696434f, 0.650107f, 0.601227f, 0.549987f, 0.496586f, 0.441235f, 0.384151f, 0.325558f, 0.265682f, 0.204762f, 0.143039f, 0.0807549f, 0.0181535f, -0.0445193f, -0.107017f, -0.169096f, -0.230511f, -0.291019f, -0.350382f, -0.408368f, -0.46475f, -0.519307f, -0.571825f, -0.622097f, -0.669927f, -0.715126f, -0.757513f, -0.796918f, -0.833193f, -0.866195f, -0.895796f, -0.921879f, -0.944342f, -0.963097f, -0.97807f, -0.989201f, -0.996432f, -0.999751f, -0.999144f, -0.994613f, -0.986176f, -0.973867f, -0.957733f, -0.937839f, -0.914261f, -0.887079f, -0.856413f, -0.822385f, -0.785126f, -0.744785f, -0.701519f, -0.655499f, -0.606903f, -0.555924f, -0.502756f, -0.44761f, -0.390708f, -0.332272f, -0.272531f, -0.21172f, -0.150078f, -0.0878453f, -0.0252672f, 0.0374106f, 0.0999409f, 0.162078f, 0.223578f, 0.2842f, 0.343706f, 0.401862f, 0.458441f, 0.51322f, 0.565982f, 0.616515f, 0.664625f, 0.710126f, 0.752837f, 0.792593f, 0.829235f, 0.862622f, 0.892622f, 0.919116f, 0.941987f, 0.961158f, 0.976554f, 0.988115f, 0.995797f, 0.999567f, 0.999413f, 0.995335f, 0.987348f, 0.975472f, 0.959761f, 0.940282f, 0.91711f, 0.890337f, 0.860068f, 0.826422f, 0.789529f, 0.749536f, 0.706593f, 0.66087f, 0.612553f, 0.56183f, 0.508901f, 0.453974f, 0.397264f, 0.338993f, 0.279391f, 0.218689f, 0.157126f, 0.0949476f, 0.0323964f, -0.0302817f, -0.0928409f, -0.155036f, -0.216622f, -0.277358f, -0.337005f, -0.395324f, -0.45209f, -0.50708f, -0.560078f, -0.610877f, -0.659277f, -0.705089f, -0.748132f, -0.788237f, -0.825236f, -0.858993f, -0.889376f, -0.916266f, -0.939558f, -0.95916f, -0.974996f, -0.987004f, -0.995135f, -0.999349f, -0.999632f, -0.995989f, -0.988436f, -0.977001f, -0.961729f, -0.942681f, -0.919931f, -0.893568f, -0.86369f, -0.830412f, -0.793873f, -0.754218f, -0.7116f, -0.666189f, -0.618161f, -0.567705f, -0.51502f, -0.46031f, -0.403786f, -0.345677f, -0.286212f, -0.225623f, -0.164148f, -0.102028f, -0.0395071f, 0.0231694f, 0.0857557f, 0.148004f, 0.20967f, 0.270512f, 0.330292f, 0.388775f, 0.44573f, 0.500936f, 0.554175f, 0.605239f, 0.653918f, 0.700027f, 0.743386f, 0.783826f, 0.821187f, 0.855324f, 0.886102f, 0.9134f, 0.937112f, 0.957137f, 0.973395f, 0.98583f, 0.994394f, 0.999054f, 0.99979f, 0.9966f, 0.989498f, 0.978509f, 0.963673f, 0.945042f, 0.9227f, 0.896735f, 0.867248f, 0.834356f, 0.798188f, 0.758885f, 0.716601f, 0.671502f, 0.623756f, 0.573562f, 0.521115f, 0.466622f, 0.410297f, 0.35236f, 0.29304f, 0.232568f, 0.171182f, 0.109122f, 0.046633f, -0.0160381f, -0.0786459f, -0.140945f, -0.20269f, -0.26364f, -0.323554f, -0.382199f, -0.43934f, -0.494752f, -0.548221f, -0.599536f, -0.648497f, -0.694911f, -0.738597f, -0.779382f, -0.817108f, -0.851619f, -0.882778f, -0.91047f, -0.934586f, -0.955033f, -0.971728f, -0.984608f, -0.993622f, -0.998734f, -0.999921f, -0.997168f, -0.990499f, -0.979941f, -0.965534f, -0.947336f, -0.925418f, -0.899865f, -0.870779f, -0.838273f, -0.802462f, -0.7635f, -0.721539f, -0.676746f, -0.629295f, -0.579373f, -0.527176f, -0.472908f, -0.416782f, -0.359014f, -0.299836f, -0.23948f, -0.178185f, -0.11619f, -0.0537389f, 0.00892361f, 0.0715515f, 0.133899f, 0.19572f, 0.256771f, 0.316812f, 0.375609f, 0.432931f, 0.488553f, 0.542256f, 0.59383f, 0.643073f, 0.689788f, 0.733786f, 0.774902f, 0.812975f, 0.847855f, 0.879406f, 0.907503f, 0.932036f, 0.95291f, 0.970042f, 0.983349f, 0.992794f, 0.998341f, 0.999967f, 0.997667f, 0.99145f, 0.981339f, 0.967374f, 0.949611f, 0.928106f, 0.902953f, 0.874256f, 0.842125f, 0.806687f, 0.768082f, 0.72646f, 0.681985f, 0.634832f, 0.585179f, 0.533225f, 0.479177f, 0.423248f, 0.365657f, 0.30663f, 0.246399f, 0.1852f, 0.123273f, 0.0608605f, -0.0017912f, -0.0644352f, -0.126826f, -0.188718f, -0.249869f, -0.310039f, -0.368992f, -0.426496f, -0.482325f, -0.536253f, -0.588075f, -0.637587f, -0.684595f, -0.728915f, -0.770372f, -0.808804f, -0.844061f, -0.876003f, -0.904493f, -0.929429f, -0.950715f, -0.968267f, -0.982017f, -0.991911f, -0.997909f, -0.999989f, -0.998142f, -0.992365f, -0.982685f, -0.969146f, -0.951802f, -0.93072f, -0.905984f, -0.877689f, -0.845948f, -0.810884f, -0.77263f, -0.731335f, -0.687169f, -0.640304f, -0.590926f, -0.539226f, -0.48541f, -0.429686f, -0.372275f, -0.3134f, -0.25329f, -0.192187f, -0.130329f, -0.0679599f, -0.00532387f, 0.0573332f, 0.119765f, 0.181728f, 0.242978f, 0.303269f, 0.362369f, 0.420045f, 0.476072f, 0.530229f, 0.582304f, 0.632092f, 0.679399f, 0.724038f, 0.765825f, 0.804601f, 0.840218f, 0.872534f, 0.901425f, 0.926775f, 0.948486f, 0.966473f, 0.980664f, 0.990996f, 0.997429f, 0.999946f, 0.998536f, 0.993205f, 0.983974f, 0.970878f, 0.953971f, 0.933317f, 0.908992f, 0.881089f, 0.849726f, 0.815026f, 0.777126f, 0.736174f, 0.692331f, 0.645769f, 0.596671f, 0.545229f, 0.491637f, 0.436115f, 0.378881f, 0.32016f, 0.260181f, 0.199181f, 0.137398f, 0.0750748f, 0.0124562f, -0.0502115f, -0.112681f, -0.174708f, -0.236048f, -0.296461f, -0.35571f, -0.413563f, -0.469792f, -0.524176f, -0.576497f, -0.626551f, -0.674143f, -0.719088f, -0.761209f, -0.80034f, -0.836329f, -0.869034f, -0.898327f, -0.924086f, -0.946207f, -0.964613f, -0.97923f, -0.990002f, -0.996886f, -0.999856f, -0.998899f, -0.99402f, -0.985234f, -0.972566f, -0.956079f, -0.935838f, -0.911921f, -0.884424f, -0.853454f, -0.819132f, -0.781593f, -0.740985f, -0.697455f, -0.651186f, -0.60236f, -0.55117f, -0.497815f, -0.442505f, -0.385457f, -0.326895f, -0.267049f, -0.206151f, -0.144442f, -0.0821674f, -0.0195702f, 0.0431035f, 0.105608f, 0.167698f, 0.22913f, 0.289663f, 0.349056f, 0.407076f, 0.463496f, 0.518096f, 0.570661f, 0.620985f, 0.668871f, 0.71413f, 0.756586f, 0.796067f, 0.832413f, 0.865489f, 0.895167f, 0.921329f, 0.943873f, 0.962711f, 0.977768f, 0.988986f, 0.996319f, 0.999725f, 0.999205f, 0.994762f, 0.986412f, 0.974189f, 0.958141f, 0.938329f, 0.914833f, 0.887744f, 0.857157f, 0.823202f, 0.786015f, 0.745741f, 0.702539f, 0.656579f, 0.608039f, 0.557112f, 0.503996f, 0.448896f, 0.39203f, 0.333625f, 0.273911f, 0.213122f, 0.151495f, 0.0892736f, 0.0267009f, -0.0359772f, -0.0985143f, -0.160663f, -0.222181f, -0.282825f, -0.342359f, -0.400548f, -0.457164f, -0.511985f, -0.564797f, -0.615389f, -0.663557f, -0.709118f, -0.751894f, -0.791717f, -0.828431f, -0.861892f, -0.891969f, -0.918543f, -0.94151f, -0.960766f, -0.976248f, -0.987896f, -0.995665f, -0.999523f, -0.999457f, -0.995466f, -0.987565f, -0.975787f, -0.960165f, -0.940768f, -0.917678f, -0.890983f, -0.86079f, -0.827217f, -0.790395f, -0.750469f, -0.707596f, -0.661938f, -0.613675f, -0.563004f, -0.510121f, -0.455236f, -0.398563f, -0.340324f, -0.280749f, -0.220071f, -0.158527f, -0.0963587f, -0.0338128f, 0.0288654f, 0.0914298f, 0.153635f, 0.215237f, 0.275995f, 0.335669f, 0.394025f, 0.450828f, 0.50586f, 0.558905f, 0.609755f, 0.65821f, 0.704081f, 0.747187f, 0.787359f, 0.824439f, 0.858272f, 0.888731f, 0.9157f, 0.939072f, 0.958757f, 0.974677f, 0.98677f, 0.994988f, 0.999298f, 0.999676f, 0.996121f, 0.988655f, 0.977306f, 0.96212f, 0.943155f, 0.920487f, 0.894204f, 0.864409f, 0.831215f, 0.794748f, 0.75516f, 0.712608f, 0.667257f, 0.619286f, 0.568883f, 0.516245f, 0.46158f, 0.405101f, 0.347025f, 0.287587f, 0.22702f, 0.165562f, 0.103454f, 0.0409401f, -0.0217353f, -0.0843259f, -0.146586f, -0.208269f, -0.269132f, -0.328939f, -0.387453f, -0.444445f, -0.499692f, -0.552978f, -0.604092f, -0.652834f, -0.699006f, -0.742429f, -0.782936f, -0.820368f, -0.854579f, -0.885433f, -0.912811f, -0.936604f, -0.95672f, -0.973072f, -0.985594f, -0.994245f, -0.998992f, -0.999816f, -0.996714f, -0.989697f, -0.978795f, -0.964048f, -0.945512f, -0.923251f, -0.897365f, -0.867955f, -0.835137f, -0.79904f, -0.759804f, -0.717585f, -0.672547f, -0.624868f, -0.574725f, -0.522326f, -0.467876f, -0.411589f, -0.353685f, -0.294393f, -0.233945f, -0.172577f, -0.110531f, -0.0480487f, 0.0146213f, 0.0772334f, 0.139542f, 0.201302f, 0.262272f, 0.322212f, 0.380887f, 0.438067f, 0.493523f, 0.547038f, 0.598403f, 0.647418f, 0.693891f, 0.737639f, 0.77849f, 0.816285f, 0.850874f, 0.882118f, 0.909888f, 0.934085f, 0.954613f, 0.971393f, 0.984358f, 0.993457f, 0.998655f, 0.999932f, 0.997282f, 0.9907f, 0.980228f, 0.965907f, 0.947793f, 0.925958f, 0.900486f, 0.871477f, 0.839047f, 0.803321f, 0.764429f, 0.722534f, 0.677802f, 0.630409f, 0.580541f, 0.528392f, 0.474168f, 0.418082f, 0.360353f, 0.301206f, 0.240874f, 0.179597f, 0.117615f, 0.055171f, -0.00748928f, -0.0701204f, -0.132477f, -0.194313f, -0.255386f, -0.315453f, -0.374281f, -0.431638f, -0.4873f, -0.541049f, -0.592673f, -0.64197f, -0.688746f, -0.732817f, -0.773999f, -0.812142f, -0.847095f, -0.878722f, -0.906898f, -0.931512f, -0.952469f, -0.969685f, -0.983094f, -0.992627f, -0.998262f, -0.999976f, -0.997763f, -0.991632f, -0.981607f, -0.967728f, -0.950048f, -0.928637f, -0.903568f, -0.874947f, -0.842891f, -0.807525f, -0.768988f, -0.727431f, -0.683018f, -0.635922f, -0.586328f, -0.534427f, -0.480423f, -0.424533f, -0.366976f, -0.307978f, -0.247771f, -0.186591f, -0.124678f, -0.0622747f, 0.000374211f, 0.0630214f, 0.12542f, 0.187326f, 0.248496f, 0.308691f, 0.367673f, 0.425211f, 0.481081f, 0.535061f, 0.586932f, 0.636497f, 0.683563f, 0.727944f, 0.769467f, 0.807967f, 0.843296f, 0.875312f, 0.903892f, 0.928911f, 0.950278f, 0.967914f, 0.981749f, 0.991729f, 0.997814f, 0.99998f, 0.998221f, 0.992542f, 0.982955f, 0.969503f, 0.952243f, 0.931244f, 0.906588f, 0.878372f, 0.846707f, 0.811716f, 0.773538f, 0.732317f, 0.688213f, 0.641407f, 0.592083f, 0.540434f, 0.486662f, 0.430979f, 0.373603f, 0.31476f, 0.25468f, 0.193595f, 0.131752f, 0.069391f, 0.0067582f, -0.055901f, -0.118341f, -0.180316f, -0.241584f, -0.301904f, -0.361034f, -0.418745f, -0.474811f, -0.529012f, -0.581136f, -0.630978f, -0.678342f, -0.723042f, -0.764904f, -0.803754f, -0.839443f, -0.871835f, -0.900803f, -0.926234f, -0.948028f, -0.966099f, -0.980376f, -0.990804f, -0.997333f, -0.999937f, -0.998614f, -0.99337f, -0.984225f, -0.971215f, -0.954391f, -0.933819f, -0.90958f, -0.881766f, -0.850477f, -0.81585f, -0.778019f, -0.737133f, -0.693352f, -0.646848f, -0.597805f, -0.546413f, -0.492874f, -0.437392f, -0.380194f, -0.321502f, -0.261549f, -0.200569f, -0.138801f, -0.0764873f, -0.013873f, 0.0487965f, 0.111274f, 0.173313f, 0.234672f, 0.295108f, 0.354385f, 0.412271f, 0.468538f, 0.522965f, 0.57534f, 0.62545f, 0.673099f, 0.718105f, 0.76029f, 0.799489f, 0.835549f, 0.868328f, 0.897698f, 0.923542f, 0.945755f, 0.964243f, 0.978945f, 0.989803f, 0.996773f, 0.99983f, 0.99896f, 0.994169f, 0.985473f, 0.972905f, 0.956503f, 0.936345f, 0.91251f, 0.885092f, 0.854198f, 0.81995f, 0.782482f, 0.741941f, 0.698485f, 0.652277f, 0.603507f, 0.552367f, 0.499059f, 0.44379f, 0.386779f, 0.328249f, 0.268429f, 0.207554f, 0.145862f, 0.0835972f, 0.0210044f, -0.0416705f, -0.104182f, -0.166283f, -0.227733f, -0.288288f, -0.347712f, -0.405768f, -0.462227f, -0.51687f, -0.569483f, -0.61986f, -0.667802f, -0.713122f, -0.755642f, -0.795195f, -0.831623f, -0.864775f, -0.89453f, -0.920772f, -0.943398f, -0.96232f, -0.977463f, -0.988767f, -0.996189f, -0.999698f, -0.999266f, -0.99491f, -0.986647f, -0.974509f, -0.958544f, -0.938816f, -0.9154f, -0.88839f, -0.857891f, -0.824012f, -0.786895f, -0.746687f, -0.703548f, -0.657646f, -0.609162f, -0.558285f, -0.505216f, -0.450162f, -0.393336f, -0.334963f, -0.275275f, -0.214506f, -0.152896f, -0.0906846f, -0.0281173f, 0.0345609f, 0.0971039f, 0.159266f, 0.2208f, 0.281467f, 0.341027f, 0.399249f, 0.455902f, 0.510765f, 0.563623f, 0.614268f, 0.662501f, 0.708122f, 0.750962f, 0.790852f, 0.827637f, 0.861171f, 0.891324f, 0.917977f, 0.941025f, 0.960378f, 0.975946f, 0.98768f, 0.995535f, 0.99948f, 0.999501f, 0.995597f, 0.987784f, 0.976092f, 0.960566f, 0.941259f, 0.91825f, 0.891635f, 0.861519f, 0.82802f, 0.79127f, 0.751412f, 0.708603f, 0.663011f, 0.614811f, 0.564191f, 0.511356f, 0.456513f, 0.399877f, 0.341672f, 0.282124f, 0.221468f, 0.159942f, 0.0977869f, 0.0352465f, -0.0274317f, -0.0900016f, -0.152218f, -0.213836f, -0.274615f, -0.334315f, -0.392704f, -0.449551f, -0.504625f, -0.557717f, -0.608619f, -0.65713f, -0.70306f, -0.74623f, -0.786469f, -0.823621f, -0.857538f, -0.888078f, -0.915126f, -0.938581f, -0.958349f, -0.974355f, -0.986533f, -0.994838f, -0.999237f, -0.999711f, -0.996252f, -0.988872f, -0.977609f, -0.962507f, -0.943625f, -0.921038f, -0.894834f, -0.865116f, -0.832001f, -0.795614f, -0.756093f, -0.713604f, -0.668313f, -0.620398f, -0.570046f, -0.517456f, -0.462834f, -0.406394f, -0.348356f, -0.288946f, -0.228401f, -0.16696f, -0.104864f, -0.0423558f, 0.0203186f, 0.0829134f, 0.145183f, 0.206884f, 0.267769f, 0.327602f, 0.386147f, 0.443176f, 0.498464f, 0.551795f, 0.602959f, 0.651756f, 0.697994f, 0.741484f, 0.782058f, 0.819559f, 0.853843f, 0.884773f, 0.912229f, 0.936103f, 0.9563f, 0.972743f, 0.98536f, 0.994098f, 0.998931f, 0.999842f, 0.996828f, 0.989899f, 0.979082f, 0.964421f, 0.945973f, 0.923807f, 0.898001f, 0.868669f, 0.835926f, 0.7999f, 0.760734f, 0.71858f, 0.673604f, 0.625982f, 0.575902f, 0.523552f, 0.469145f, 0.412896f, 0.355027f, 0.295763f, 0.235338f, 0.173988f, 0.111955f, 0.0494815f, -0.0131872f, -0.0758036f, -0.138122f, -0.199897f, -0.260887f, -0.320852f, -0.379558f, -0.436774f, -0.492275f, -0.54584f, -0.597256f, -0.646326f, -0.692858f, -0.736669f, -0.777587f, -0.815452f, -0.850114f, -0.881439f, -0.909299f, -0.933577f, -0.954188f, -0.971053f, -0.984104f, -0.99329f, -0.998576f, -0.999941f, -0.997379f, -0.9909f, -0.980514f, -0.966278f, -0.948247f, -0.926493f, -0.9011f, -0.872169f, -0.839813f, -0.804159f, -0.765346f, -0.723518f, -0.678847f, -0.63151f, -0.581694f, -0.529594f, -0.475414f, -0.419367f, -0.361672f, -0.302557f, -0.24225f, -0.180991f, -0.119022f, -0.0565859f, 0.00607229f, 0.0687066f, 0.131071f, 0.192922f, 0.254015f, 0.31411f, 0.372968f, 0.430361f, 0.486063f, 0.539856f, 0.591529f, 0.64088f, 0.687714f, 0.731848f, 0.773107f, 0.811319f, 0.846344f, 0.878046f, 0.9063f, 0.930994f, 0.952033f, 0.969333f, 0.982826f, 0.992461f, 0.998184f, 0.999985f, 0.99786f, 0.991816f, 0.981878f, 0.968084f, 0.950489f, 0.92916f, 0.904183f, 0.875646f, 0.843665f, 0.808372f, 0.769904f, 0.728413f, 0.684062f, 0.637025f, 0.587485f, 0.535638f, 0.481683f, 0.425833f, 0.368311f, 0.309343f, 0.249161f, 0.188f, 0.126101f, 0.0637057f, 0.00106012f, -0.0615903f, -0.123998f, -0.185918f, -0.247107f, -0.307326f, -0.366338f, -0.423911f, -0.47982f, -0.533845f, -0.585774f, -0.635394f, -0.682518f, -0.726961f, -0.76855f, -0.80712f, -0.842521f, -0.874613f, -0.903271f, -0.928383f, -0.949837f, -0.967557f, -0.981478f, -0.991544f, -0.997717f, -0.999972f, -0.9983f, -0.992707f, -0.983216f, -0.969856f, -0.95268f, -0.931763f, -0.907187f, -0.879049f, -0.847458f, -0.81254f, -0.774431f, -0.73328f, -0.689246f, -0.642497f, -0.593226f, -0.541626f, -0.487899f, -0.432256f, -0.374916f, -0.316103f, -0.256048f, -0.194987f, -0.133157f, -0.0708047f, -0.00817518f, 0.0544861f, 0.116933f, 0.178922f, 0.240207f, 0.300551f, 0.359714f, 0.41746f, 0.473565f, 0.52781f, 0.579982f, 0.629877f, 0.677298f, 0.722059f, 0.763985f, 0.802912f, 0.838677f, 0.871144f, 0.90019f, 0.9257f, 0.947575f, 0.965729f, 0.980091f, 0.990604f, 0.997227f, 0.999928f, 0.998693f, 0.993536f, 0.984478f, 0.971554f, 0.954815f, 0.934326f, 0.910169f, 0.882436f, 0.851236f, 0.816682f, 0.778921f, 0.738102f, 0.694384f, 0.64794f, 0.598951f, 0.54761f, 0.494118f, 0.438685f, 0.381522f, 0.322862f, 0.262934f, 0.201974f, 0.140221f, 0.0779171f, 0.0153071f, -0.0473635f, -0.109849f, -0.171902f, -0.233278f, -0.293738f, -0.353044f, -0.410963f, -0.467269f, -0.52174f, -0.574162f, -0.62433f, -0.672042f, -0.717109f, -0.75936f, -0.798628f, -0.83476f, -0.867614f, -0.897061f, -0.922985f, -0.945285f, -0.963869f, -0.978657f, -0.989601f, -0.996659f, -0.999803f, -0.999021f, -0.994316f, -0.985707f, -0.973226f, -0.956923f, -0.936847f, -0.913093f, -0.885753f, -0.854935f, -0.82076f, -0.783361f, -0.742886f, -0.699494f, -0.653354f, -0.60464f, -0.55355f, -0.500287f, -0.44506f, -0.388085f, -0.329586f, -0.269792f, -0.208939f, -0.147264f, -0.0850097f, -0.0224211f, 0.0402548f, 0.102772f, 0.164886f, 0.226352f, 0.286929f, 0.346381f, 0.404472f, 0.460973f, 0.515659f, 0.56832f, 0.618748f, 0.666746f, 0.712126f, 0.75471f, 0.79433f, 0.830831f, 0.864069f, 0.893901f, 0.920222f, 0.942929f, 0.961934f, 0.977161f, 0.98855f, 0.996058f, 0.999655f, 0.999326f, 0.995059f, 0.986882f, 0.974831f, 0.958951f, 0.939306f, 0.915973f, 0.889042f, 0.85862f, 0.824826f, 0.787783f, 0.747643f, 0.704568f, 0.658726f, 0.610298f, 0.559473f, 0.506451f, 0.451439f, 0.394654f, 0.336316f, 0.276655f, 0.215908f, 0.154313f, 0.0921129f, 0.029551f, -0.0331272f, -0.0956756f, -0.157849f, -0.219402f, -0.280091f, -0.33968f, -0.397934f, -0.454625f, -0.509531f, -0.562436f, -0.613132f, -0.661421f, -0.707114f, -0.750018f, -0.789977f, -0.826833f, -0.860441f, -0.890671f, -0.917404f, -0.940533f, -0.95997f, -0.975637f, -0.987461f, -0.995403f, -0.999436f, -0.999544f, -0.995728f, -0.988001f, -0.976394f, -0.960953f, -0.941739f, -0.918817f, -0.892281f, -0.862241f, -0.828816f, -0.792136f, -0.752345f, -0.7096f, -0.664068f, -0.615927f, -0.565365f, -0.512576f, -0.457775f, -0.401176f, -0.343003f, -0.283483f, -0.222849f, -0.16134f, -0.0991965f, -0.0366628f, 0.0260153f, 0.0885905f, 0.150817f, 0.212452f, 0.273251f, 0.332978f, 0.391398f, 0.448281f, 0.503404f, 0.556544f, 0.607496f, 0.656062f, 0.702052f, 0.745285f, 0.785591f, 0.822812f, 0.856802f, 0.887428f, 0.91456f, 0.938095f, 0.957946f, 0.974036f, 0.9863f, 0.994691f, 0.999176f, 0.999737f, 0.996374f, 0.98909f, 0.977914f, 0.962897f, 0.944099f, 0.921594f, 0.89547f, 0.86583f, 0.832789f, 0.796478f, 0.757036f, 0.714611f, 0.669381f, 0.621523f, 0.571224f, 0.518682f, 0.464103f, 0.407701f, 0.349698f, 0.290321f, 0.229799f, 0.168375f, 0.10629f, 0.0437888f, -0.0188844f, -0.0814836f, -0.143763f, -0.205479f, -0.266388f, -0.326248f, -0.384825f, -0.44189f, -0.49722f, -0.550597f, -0.601812f, -0.650664f, -0.696961f, -0.740521f, -0.781168f, -0.818741f, -0.853098f, -0.884105f, -0.91164f, -0.935595f, -0.955876f, -0.972403f, -0.985112f, -0.993948f, -0.99887f, -0.999868f, -0.996941f, -0.990098f, -0.979368f, -0.964792f, -0.946426f, -0.924344f, -0.898631f, -0.869376f, -0.836707f, -0.800752f, -0.761653f, -0.719564f, -0.674648f, -0.627084f, -0.577056f, -0.524761f, -0.470399f, -0.414188f, -0.356352f, -0.297117f, -0.236715f, -0.175383f, -0.113363f, -0.0508964f, 0.0117704f, 0.0743911f, 0.136719f, 0.198509f, 0.259519f, 0.31951f, 0.378246f, 0.435497f, 0.491038f, 0.544652f, 0.596123f, 0.645248f, 0.691838f, 0.735711f, 0.776695f, 0.814628f, 0.849363f, 0.880763f, 0.908704f, 0.933075f, 0.953769f, 0.970717f, 0.983853f, 0.993125f, 0.998498f, 0.99995f, 0.997475f, 0.991084f, 0.980801f, 0.966651f, 0.948704f, 0.927033f, 0.90172f, 0.872868f, 0.840587f, 0.805005f, 0.766262f, 0.72451f, 0.679903f, 0.632624f, 0.582862f, 0.53081f, 0.476675f, 0.420667f, 0.363007f, 0.303922f, 0.243642f, 0.182403f, 0.120447f, 0.058018f, -0.00463796f, -0.0672755f, -0.129649f, -0.191513f, -0.252626f, -0.312747f, -0.37164f, -0.429068f, -0.484811f, -0.538649f, -0.590372f, -0.639777f, -0.686669f, -0.730865f, -0.772192f, -0.810486f, -0.845584f, -0.877362f, -0.905694f, -0.93047f, -0.951591f, -0.968976f, -0.982555f, -0.992276f, -0.998101f, -0.999993f, -0.997956f, -0.991999f, -0.982147f, -0.968438f, -0.950926f, -0.929679f, -0.904782f, -0.876332f, -0.844431f, -0.80921f, -0.77081f, -0.729385f, -0.685095f, -0.638115f, -0.588629f, -0.536831f, -0.482924f, -0.427118f, -0.36963f, -0.310691f, -0.250533f, -0.189391f, -0.127506f, -0.0651195f, -0.0024771f, 0.0601756f, 0.122593f, 0.184526f, 0.245735f, 0.305978f, 0.365019f, 0.422626f, 0.478574f, 0.532643f, 0.584621f, 0.634304f, 0.681486f, 0.725991f, 0.767644f, 0.806283f, 0.841755f, 0.873922f, 0.902657f, 0.927848f, 0.949396f, 0.967205f, 0.98121f, 0.991362f, 0.997621f, 0.999963f, 0.998379f, 0.992874f, 0.98347f, 0.970204f, 0.953121f, 0.932286f, 0.907791f, 0.879731f, 0.848217f, 0.813372f, 0.775333f, 0.734249f, 0.690281f, 0.6436f, 0.594383f, 0.542833f, 0.489151f, 0.433549f, 0.376244f, 0.317462f, 0.257433f, 0.196392f, 0.134579f, 0.0722358f, 0.00960951f, -0.053054f, -0.115509f, -0.17751f, -0.238814f, -0.299181f, -0.358373f, -0.416158f, -0.472305f, -0.526594f, -0.578815f, -0.628762f, -0.676241f, -0.721064f, -0.763055f, -0.80205f, -0.837896f, -0.870445f, -0.899568f, -0.925159f, -0.947117f, -0.965355f, -0.979803f, -0.990402f, -0.997113f, -0.999908f, -0.998771f, -0.993702f, -0.98473f, -0.971891f, -0.955236f, -0.934829f, -0.910752f, -0.883098f, -0.851976f, -0.817506f, -0.779814f, -0.73906f, -0.695405f, -0.649019f, -0.600084f, -0.548793f, -0.495347f, -0.439954f, -0.382834f, -0.324204f, -0.264302f, -0.203362f, -0.141624f, -0.0793296f, -0.0167239f, 0.0459477f, 0.108439f, 0.170506f, 0.231902f, 0.292385f, 0.351719f, 0.409671f, 0.466015f, 0.520529f, 0.572999f, 0.623219f, 0.670992f, 0.716126f, 0.758441f, 0.797777f, 0.83398f, 0.866908f, 0.896431f, 0.922435f, 0.944816f, 0.963487f, 0.978372f, 0.989402f, 0.996546f, 0.999777f, 0.999083f, 0.994465f, 0.985943f, 0.973548f, 0.957331f, 0.937354f, 0.913681f, 0.88642f, 0.855679f, 0.821577f, 0.78425f, 0.743842f, 0.700514f, 0.654434f, 0.605784f, 0.554748f, 0.501531f, 0.446345f, 0.389407f, 0.330939f, 0.271172f, 0.21034f, 0.148682f, 0.0864388f, 0.0238552f, -0.0388218f, -0.101346f, -0.163471f, -0.224954f, -0.285554f, -0.345033f, -0.403157f, -0.459699f, -0.514434f, -0.567142f, -0.617623f, -0.665678f, -0.711118f, -0.753766f, -0.793455f, -0.830027f, -0.863341f, -0.893263f, -0.919665f, -0.942454f, -0.961543f, -0.976855f, -0.988331f, -0.995926f, -0.999611f, -0.99937f, -0.995204f, -0.987117f, -0.975151f, -0.959355f, -0.939793f, -0.91654f, -0.889688f, -0.859342f, -0.825621f, -0.788658f, -0.748589f, -0.705577f, -0.659794f, -0.611421f, -0.560646f, -0.50767f, -0.452701f, -0.395953f, -0.33765f, -0.278018f, -0.217292f, -0.155713f, -0.0935239f, -0.0309673f, 0.0317108f, 0.0942646f, 0.156449f, 0.218019f, 0.278733f, 0.338349f, 0.396635f, 0.453363f, 0.508311f, 0.561262f, 0.61201f, 0.660354f, 0.706106f, 0.749085f, 0.789112f, 0.826038f, 0.85972f, 0.890026f, 0.916837f, 0.940048f, 0.959567f, 0.975318f, 0.987239f, 0.995273f, 0.999393f, 0.999588f, 0.995859f, 0.98822f, 0.976699f, 0.961344f, 0.942213f, 0.919381f, 0.892933f, 0.86297f, 0.829619f, 0.79301f, 0.753288f, 0.710607f, 0.665136f, 0.617052f, 0.566545f, 0.513811f, 0.459052f, 0.402491f, 0.344351f, 0.284858f, 0.224247f, 0.162755f, 0.100623f, 0.0380959f, -0.0245817f, -0.0871623f, -0.1494f, -0.21105f, -0.271871f, -0.331625f, -0.390076f, -0.446996f, -0.502161f, -0.555354f, -0.60636f, -0.654982f, -0.701032f, -0.744328f, -0.784701f, -0.821993f, -0.856057f, -0.88676f, -0.913981f, -0.937604f, -0.957538f, -0.973713f, -0.986063f, -0.994541f, -0.999114f, -0.999764f, -0.996487f, -0.989297f, -0.978216f, -0.963284f, -0.944569f, -0.922146f, -0.896101f, -0.866537f, -0.83357f, -0.79733f, -0.757958f, -0.715608f, -0.670437f, -0.622635f, -0.572388f, -0.519893f, -0.465357f, -0.408993f, -0.351023f, -0.291674f, -0.231179f, -0.169772f, -0.1077f, -0.0452045f, 0.0174677f, 0.0800711f, 0.14236f, 0.204091f, 0.26502f, 0.324909f, 0.383519f, 0.440621f, 0.495992f, 0.549414f, 0.600679f, 0.649585f, 0.695941f, 0.739563f, 0.780282f, 0.817932f, 0.852362f, 0.883444f, 0.911057f, 0.935093f, 0.955456f, 0.972067f, 0.984861f, 0.993788f, 0.998809f, 0.999895f, 0.997055f, 0.9903f, 0.979656f, 0.965165f, 0.946884f, 0.924884f, 0.899253f, 0.870089f, 0.837495f, 0.801613f, 0.762583f, 0.720559f, 0.675705f, 0.628198f, 0.578223f, 0.525978f, 0.471666f, 0.415496f, 0.357693f, 0.298487f, 0.238108f, 0.176795f, 0.114787f, 0.0523285f, -0.010336f, -0.0729607f, -0.135299f, -0.197104f, -0.258134f, -0.318151f, -0.376917f, -0.434204f, -0.489786f, -0.543445f, -0.59497f, -0.644156f, -0.690805f, -0.734741f, -0.775792f, -0.813795f, -0.848603f, -0.880079f, -0.908099f, -0.932553f, -0.953344f, -0.970377f, -0.983599f, -0.992959f, -0.998419f, -0.999958f, -0.997571f, -0.991267f, -0.981069f, -0.967019f, -0.949158f, -0.927568f, -0.902335f, -0.873559f, -0.841353f, -0.805843f, -0.767169f, -0.725481f, -0.680944f, -0.633726f, -0.584015f, -0.532012f, -0.47792f, -0.421952f, -0.364326f, -0.30527f, -0.245014f, -0.183796f, -0.121854f, -0.0594329f, 0.00322097f, 0.0658617f, 0.128244f, 0.190122f, 0.251254f, 0.311399f, 0.370322f, 0.427791f, 0.483574f, 0.537457f, 0.589229f, 0.638687f, 0.685637f, 0.729894f, 0.771286f, 0.809649f, 0.844833f, 0.876687f, 0.905096f, 0.929952f, 0.951155f, 0.968623f, 0.982287f, 0.992094f, 0.998006f, 0.999998f, 0.998052f, 0.992183f, 0.982417f, 0.968794f, 0.951366f, 0.930203f, 0.905387f, 0.877015f, 0.845198f, 0.810056f, 0.771726f, 0.730367f, 0.686139f, 0.639218f, 0.589786f, 0.538038f, 0.484176f, 0.428413f, 0.370965f, 0.312056f, 0.251922f, 0.1908f, 0.128928f, 0.0665506f, 0.00391143f, -0.0587435f, -0.121168f, -0.183118f, -0.244346f, -0.304613f, -0.363684f, -0.421326f, -0.477313f, -0.531427f, -0.583453f, -0.633189f, -0.680439f, -0.725008f, -0.766727f, -0.805436f, -0.840981f, -0.873223f, -0.902036f, -0.927308f, -0.948937f, -0.966841f, -0.980939f, -0.991178f, -0.997525f, -0.999954f, -0.998457f, -0.993039f, -0.983721f, -0.97054f, -0.953548f, -0.932805f, -0.90839f, -0.880408f, -0.848969f, -0.814196f, -0.776226f, -0.735208f, -0.691302f, -0.644682f, -0.595527f, -0.544026f, -0.490389f, -0.434826f, -0.377557f, -0.318805f, -0.258801f, -0.19778f, -0.135982f, -0.0736495f, -0.0110265f, 0.0516391f, 0.114101f, 0.176115f, 0.237437f, 0.297827f, 0.357048f, 0.414866f, 0.471057f, 0.525392f, 0.577661f, 0.627662f, 0.675197f, 0.72008f, 0.762136f, 0.801199f, 0.837116f, 0.869747f, 0.898955f, 0.924625f, 0.946664f, 0.964986f, 0.979518f, 0.990203f, 0.997f, 0.999882f, 0.998838f, 0.993868f, 0.984983f, 0.97223f, 0.95566f, 0.935336f, 0.91134f, 0.883765f, 0.852719f, 0.818325f, 0.780716f, 0.740029f, 0.696437f, 0.65011f, 0.601231f, 0.549991f, 0.49659f, 0.44124f, 0.384156f, 0.325562f, 0.265687f, 0.204767f, 0.143044f, 0.0807594f, 0.018158f, -0.0445147f, -0.107013f, -0.169091f, -0.230506f, -0.291014f, -0.350377f, -0.408364f, -0.464746f, -0.519303f, -0.571821f, -0.622093f, -0.669923f, -0.715123f, -0.75751f, -0.796915f, -0.83319f, -0.866193f, -0.895794f, -0.921878f, -0.944341f, -0.963096f, -0.978069f, -0.9892f, -0.996432f, -0.999751f, -0.999144f, -0.994613f, -0.986177f, -0.973868f, -0.957735f, -0.93784f, -0.914263f, -0.887082f, -0.856416f, -0.822387f, -0.785129f, -0.744788f, -0.701523f, -0.655502f, -0.606907f, -0.555928f, -0.502759f, -0.447615f, -0.390712f, -0.332276f, -0.272536f, -0.211725f, -0.150082f, -0.0878498f, -0.0252718f, 0.0374061f, 0.0999364f, 0.162074f, 0.223574f, 0.284196f, 0.343702f, 0.401858f, 0.458437f, 0.513216f, 0.565979f, 0.616511f, 0.664622f, 0.710123f, 0.752834f, 0.79259f, 0.829233f, 0.86262f, 0.892619f, 0.919114f, 0.941985f, 0.961156f, 0.976553f, 0.988115f, 0.995796f, 0.999567f, 0.999414f, 0.995336f, 0.987349f, 0.975473f, 0.959762f, 0.940283f, 0.917112f, 0.890339f, 0.860071f, 0.826424f, 0.789532f, 0.749539f, 0.706596f, 0.660874f, 0.612556f, 0.561834f, 0.508905f, 0.453978f, 0.397268f, 0.338997f, 0.279395f, 0.218693f, 0.157131f, 0.0949522f, 0.032401f, -0.0302772f, -0.0928363f, -0.155031f, -0.216617f, -0.277354f, -0.337001f, -0.39532f, -0.452086f, -0.507076f, -0.560075f, -0.610874f, -0.659274f, -0.705086f, -0.748129f, -0.788234f, -0.825234f, -0.858991f, -0.889374f, -0.916264f, -0.939556f, -0.959159f, -0.974995f, -0.987003f, -0.995135f, -0.999349f, -0.999632f, -0.99599f, -0.988437f, -0.977002f, -0.961731f, -0.942683f, -0.919933f, -0.89357f, -0.863692f, -0.830414f, -0.793876f, -0.754221f, -0.711603f, -0.666192f, -0.618164f, -0.567709f, -0.515024f, -0.460314f, -0.40379f, -0.345682f, -0.286216f, -0.225627f, -0.164152f, -0.102032f, -0.0395116f, 0.0231649f, 0.0857512f, 0.147999f, 0.209666f, 0.270508f, 0.330288f, 0.38877f, 0.445726f, 0.500932f, 0.554171f, 0.605235f, 0.653915f, 0.700024f, 0.743383f, 0.783823f, 0.821184f, 0.855321f, 0.8861f, 0.913399f, 0.937111f, 0.957136f, 0.973394f, 0.98583f, 0.994394f, 0.999053f, 0.99979f, 0.996601f, 0.989498f, 0.97851f, 0.963674f, 0.945043f, 0.922702f, 0.896737f, 0.867251f, 0.834359f, 0.79819f, 0.758888f, 0.716604f, 0.671506f, 0.62376f, 0.573565f, 0.521119f, 0.466626f, 0.410301f, 0.352364f, 0.293044f, 0.232572f, 0.171187f, 0.109126f, 0.0466376f, -0.0160336f, -0.0786413f, -0.14094f, -0.202686f, -0.263635f, -0.32355f, -0.382195f, -0.439336f, -0.494748f, -0.548217f, -0.599532f, -0.648493f, -0.694908f, -0.738594f, -0.779379f, -0.817105f, -0.851617f, -0.882776f, -0.910468f, -0.934585f, -0.955031f, -0.971727f, -0.984608f, -0.993621f, -0.998733f, -0.999921f, -0.997168f, -0.9905f, -0.979941f, -0.965535f, -0.947337f, -0.92542f, -0.899867f, -0.870781f, -0.838275f, -0.802465f, -0.763503f, -0.721543f, -0.676749f, -0.629299f, -0.579377f, -0.527179f, -0.472912f, -0.416786f, -0.359018f, -0.29984f, -0.239485f, -0.178189f, -0.116195f, -0.0537434f, 0.00891905f, 0.0715469f, 0.133895f, 0.195716f, 0.256766f, 0.316808f, 0.375605f, 0.432927f, 0.488549f, 0.542252f, 0.593826f, 0.643069f, 0.689785f, 0.733783f, 0.774899f, 0.812972f, 0.847853f, 0.879403f, 0.907501f, 0.932035f, 0.952909f, 0.970041f, 0.983348f, 0.992794f, 0.998341f, 0.999967f, 0.997668f, 0.99145f, 0.98134f, 0.967375f, 0.949612f, 0.928108f, 0.902955f, 0.874258f, 0.842127f, 0.80669f, 0.768085f, 0.726463f, 0.681988f, 0.634835f, 0.585183f, 0.533229f, 0.479181f, 0.423252f, 0.365661f, 0.306635f, 0.246404f, 0.185204f, 0.123277f, 0.0608651f, -0.00178665f, -0.0644306f, -0.126821f, -0.188713f, -0.249864f, -0.310034f, -0.368987f, -0.426492f, -0.482321f, -0.53625f, -0.588072f, -0.637584f, -0.684592f, -0.728912f, -0.770369f, -0.808802f, -0.844059f, -0.876001f, -0.904491f, -0.929427f, -0.950713f, -0.968266f, -0.982016f, -0.99191f, -0.997909f, -0.999989f, -0.998142f, -0.992365f, -0.982686f, -0.969147f, -0.951804f, -0.930722f, -0.905986f, -0.877691f, -0.84595f, -0.810887f, -0.772633f, -0.731338f, -0.687172f, -0.640308f, -0.590929f, -0.53923f, -0.485414f, -0.42969f, -0.372279f, -0.313404f, -0.253295f, -0.192191f, -0.130334f, -0.0679644f, -0.00532842f, 0.0573286f, 0.119761f, 0.181723f, 0.242973f, 0.303265f, 0.362365f, 0.420041f, 0.476068f, 0.530225f, 0.5823f, 0.632088f, 0.679395f, 0.724035f, 0.765822f, 0.804598f, 0.840215f, 0.872532f, 0.901423f, 0.926773f, 0.948485f, 0.966472f, 0.980663f, 0.990996f, 0.997429f, 0.999946f, 0.998536f, 0.993205f, 0.983974f, 0.970879f, 0.953972f, 0.933318f, 0.908994f, 0.881091f, 0.849728f, 0.815028f, 0.777129f, 0.736177f, 0.692334f, 0.645773f, 0.596675f, 0.545233f, 0.491641f, 0.436119f, 0.378885f, 0.320164f, 0.260186f, 0.199185f, 0.137402f, 0.0750793f, 0.0124608f, -0.050207f, -0.112677f, -0.174703f, -0.236044f, -0.296457f, -0.355706f, -0.413559f, -0.469788f, -0.524172f, -0.576494f, -0.626547f, -0.67414f, -0.719085f, -0.761206f, -0.800338f, -0.836327f, -0.869032f, -0.898325f, -0.924084f, -0.946206f, -0.964612f, -0.979229f, -0.990001f, -0.996886f, -0.999856f, -0.998899f, -0.99402f, -0.985234f, -0.972567f, -0.95608f, -0.935839f, -0.911923f, -0.884426f, -0.853456f, -0.819135f, -0.781596f, -0.740988f, -0.697458f, -0.651189f, -0.602364f, -0.551174f, -0.497819f, -0.442509f, -0.385461f, -0.3269f, -0.267053f, -0.206155f, -0.144447f, -0.0821719f, -0.0195748f, 0.043099f, 0.105604f, 0.167694f, 0.229126f, 0.289659f, 0.349052f, 0.407072f, 0.463492f, 0.518092f, 0.570657f, 0.620982f, 0.668867f, 0.714127f, 0.756583f, 0.796064f, 0.83241f, 0.865487f, 0.895165f, 0.921327f, 0.943872f, 0.96271f, 0.977767f, 0.988985f, 0.996319f, 0.999725f, 0.999205f, 0.994762f, 0.986413f, 0.97419f, 0.958142f, 0.938331f, 0.914835f, 0.887746f, 0.85716f, 0.823205f, 0.786018f, 0.745744f, 0.702543f, 0.656582f, 0.608043f, 0.557116f, 0.504f, 0.4489f, 0.392034f, 0.33363f, 0.273916f, 0.213126f, 0.1515f, 0.0892781f, 0.0267055f, -0.0359727f, -0.0985098f, -0.160659f, -0.222176f, -0.282821f, -0.342354f, -0.400543f, -0.45716f, -0.511981f, -0.564793f, -0.615386f, -0.663553f, -0.709115f, -0.751891f, -0.791714f, -0.828429f, -0.86189f, -0.891967f, -0.918541f, -0.941509f, -0.960765f, -0.976247f, -0.987896f, -0.995664f, -0.999523f, -0.999457f, -0.995466f, -0.987566f, -0.975788f, -0.960166f, -0.94077f, -0.917679f, -0.890985f, -0.860793f, -0.82722f, -0.790398f, -0.750472f, -0.707599f, -0.661941f, -0.613679f, -0.563007f, -0.510125f, -0.45524f, -0.398567f, -0.340329f, -0.280753f, -0.220075f, -0.158531f, -0.0963632f, -0.0338173f, 0.0288608f, 0.0914253f, 0.153631f, 0.215233f, 0.27599f, 0.335665f, 0.394021f, 0.450824f, 0.505856f, 0.558901f, 0.609751f, 0.658207f, 0.704077f, 0.747184f, 0.787356f, 0.824437f, 0.85827f, 0.888729f, 0.915698f, 0.939071f, 0.958756f, 0.974676f, 0.986769f, 0.994987f, 0.999298f, 0.999676f, 0.996121f, 0.988655f, 0.977307f, 0.962121f, 0.943157f, 0.920489f, 0.894206f, 0.864412f, 0.831218f, 0.794751f, 0.755163f, 0.712611f, 0.66726f, 0.619289f, 0.568887f, 0.516249f, 0.461584f, 0.405105f, 0.347029f, 0.287591f, 0.227025f, 0.165567f, 0.103459f, 0.0409446f, -0.0217308f, -0.0843214f, -0.146582f, -0.208264f, -0.269128f, -0.328934f, -0.387449f, -0.444441f, -0.499689f, -0.552974f, -0.604088f, -0.652831f, -0.699003f, -0.742426f, -0.782933f, -0.820366f, -0.854576f, -0.885431f, -0.912809f, -0.936603f, -0.956719f, -0.973071f, -0.985593f, -0.994245f, -0.998992f, -0.999816f, -0.996714f, -0.989698f, -0.978795f, -0.964049f, -0.945514f, -0.923253f, -0.897367f, -0.867958f, -0.83514f, -0.799042f, -0.759807f, -0.717588f, -0.672551f, -0.624872f, -0.574729f, -0.52233f, -0.46788f, -0.411593f, -0.35369f, -0.294397f, -0.233949f, -0.172581f, -0.110535f, -0.0480533f, 0.0146168f, 0.0772288f, 0.139537f, 0.201297f, 0.262267f, 0.322207f, 0.380883f, 0.438063f, 0.493519f, 0.547034f, 0.598399f, 0.647415f, 0.693888f, 0.737636f, 0.778487f, 0.816282f, 0.850872f, 0.882116f, 0.909886f, 0.934083f, 0.954612f, 0.971391f, 0.984357f, 0.993456f, 0.998655f, 0.999932f, 0.997282f, 0.990701f, 0.980229f, 0.965908f, 0.947795f, 0.925959f, 0.900488f, 0.87148f, 0.839049f, 0.803324f, 0.764432f, 0.722537f, 0.677806f, 0.630413f, 0.580544f, 0.528396f, 0.474172f, 0.418086f, 0.360358f, 0.30121f, 0.240878f, 0.179601f, 0.117619f, 0.0551756f, -0.00748473f, -0.0701158f, -0.132472f, -0.194309f, -0.255382f, -0.315449f, -0.374276f, -0.431634f, -0.487296f, -0.541045f, -0.592669f, -0.641966f, -0.688743f, -0.732813f, -0.773996f, -0.812139f, -0.847093f, -0.87872f, -0.906896f, -0.93151f, -0.952467f, -0.969684f, -0.983093f, -0.992627f, -0.998261f, -0.999976f, -0.997764f, -0.991633f, -0.981608f, -0.967729f, -0.950049f, -0.928639f, -0.90357f, -0.87495f, -0.842894f, -0.807528f, -0.768991f, -0.727434f, -0.683021f, -0.635925f, -0.586332f, -0.534431f, -0.480427f, -0.424537f, -0.36698f, -0.307983f, -0.247776f, -0.186596f, -0.124683f, -0.0622792f, 0.000369659f, 0.0630168f, 0.125416f, 0.187322f, 0.248492f, 0.308686f, 0.367668f, 0.425207f, 0.481077f, 0.535057f, 0.586928f, 0.636494f, 0.68356f, 0.727941f, 0.769464f, 0.807965f, 0.843293f, 0.87531f, 0.90389f, 0.928909f, 0.950277f, 0.967913f, 0.981748f, 0.991728f, 0.997813f, 0.99998f, 0.998221f, 0.992542f, 0.982956f, 0.969504f, 0.952244f, 0.931245f, 0.90659f, 0.878374f, 0.846709f, 0.811719f, 0.773541f, 0.73232f, 0.688216f, 0.641411f, 0.592086f, 0.540437f, 0.486666f, 0.430983f, 0.373608f, 0.314765f, 0.254684f, 0.1936f, 0.131756f, 0.0693955f, 0.00676275f, -0.0558965f, -0.118336f, -0.180312f, -0.24158f, -0.3019f, -0.36103f, -0.418741f, -0.474807f, -0.529008f, -0.581132f, -0.630974f, -0.678338f, -0.723039f, -0.764901f, -0.803751f, -0.83944f, -0.871833f, -0.900801f, -0.926233f, -0.948026f, -0.966098f, -0.980375f, -0.990803f, -0.997332f, -0.999937f, -0.998614f, -0.993371f, -0.984226f, -0.971216f, -0.954393f, -0.933821f, -0.909582f, -0.881768f, -0.85048f, -0.815852f, -0.778022f, -0.737136f, -0.693355f, -0.646852f, -0.597808f, -0.546416f, -0.492878f, -0.437396f, -0.380198f, -0.321507f, -0.261553f, -0.200573f, -0.138805f, -0.0764918f, -0.0138776f, 0.0487919f, 0.111269f, 0.173309f, 0.234667f, 0.295104f, 0.354381f, 0.412267f, 0.468534f, 0.522962f, 0.575336f, 0.625446f, 0.673096f, 0.718101f, 0.760287f, 0.799487f, 0.835547f, 0.868326f, 0.897695f, 0.92354f, 0.945753f, 0.964242f, 0.978944f, 0.989802f, 0.996773f, 0.99983f, 0.998961f, 0.994169f, 0.985473f, 0.972906f, 0.956504f, 0.936346f, 0.912511f, 0.885094f, 0.8542f, 0.819952f, 0.782485f, 0.741944f, 0.698489f, 0.652281f, 0.603511f, 0.552371f, 0.499063f, 0.443794f, 0.386783f, 0.328253f, 0.268433f, 0.207559f, 0.145867f, 0.0836017f, 0.0210089f, -0.041666f, -0.104177f, -0.166279f, -0.227728f, -0.288284f, -0.347708f, -0.405764f, -0.462223f, -0.516866f, -0.56948f, -0.619856f, -0.667799f, -0.713119f, -0.755639f, -0.795192f, -0.831621f, -0.864772f, -0.894528f, -0.92077f, -0.943397f, -0.962319f, -0.977462f, -0.988766f, -0.996188f, -0.999698f, -0.999266f, -0.99491f, -0.986647f, -0.97451f, -0.958546f, -0.938817f, -0.915402f, -0.888392f, -0.857893f, -0.824015f, -0.786897f, -0.74669f, -0.703551f, -0.65765f, -0.609165f, -0.558289f, -0.50522f, -0.450166f, -0.39334f, -0.334967f, -0.275279f, -0.214511f, -0.1529f, -0.0906891f, -0.0281218f, 0.0345563f, 0.0970994f, 0.159261f, 0.220796f, 0.281462f, 0.341023f, 0.399245f, 0.455898f, 0.510762f, 0.563619f, 0.614265f, 0.662498f, 0.708119f, 0.750959f, 0.790849f, 0.827634f, 0.861169f, 0.891322f, 0.917975f, 0.941023f, 0.960377f, 0.975945f, 0.987679f, 0.995534f, 0.99948f, 0.999501f, 0.995598f, 0.987785f, 0.976093f, 0.960567f, 0.94126f, 0.918252f, 0.891637f, 0.861521f, 0.828023f, 0.791273f, 0.751415f, 0.708606f, 0.663015f, 0.614815f, 0.564195f, 0.51136f, 0.456517f, 0.399882f, 0.341676f, 0.282129f, 0.221473f, 0.159947f, 0.0977915f, 0.035251f, -0.0274271f, -0.089997f, -0.152213f, -0.213832f, -0.27461f, -0.334311f, -0.392699f, -0.449547f, -0.504621f, -0.557713f, -0.608615f, -0.657126f, -0.703057f, -0.746227f, -0.786466f, -0.823618f, -0.857536f, -0.888076f, -0.915125f, -0.938579f, -0.958348f, -0.974354f, -0.986533f, -0.994838f, -0.999236f, -0.999711f, -0.996252f, -0.988872f, -0.97761f, -0.962508f, -0.943627f, -0.92104f, -0.894836f, -0.865119f, -0.832003f, -0.795616f, -0.756096f, -0.713607f, -0.668316f, -0.620402f, -0.57005f, -0.51746f, -0.462838f, -0.406398f, -0.34836f, -0.28895f, -0.228405f, -0.166965f, -0.104868f, -0.0423604f, 0.020314f, 0.0829089f, 0.145179f, 0.206879f, 0.267765f, 0.327597f, 0.386143f, 0.443172f, 0.49846f, 0.551791f, 0.602955f, 0.651752f, 0.69799f, 0.741481f, 0.782055f, 0.819557f, 0.85384f, 0.884771f, 0.912227f, 0.936101f, 0.956299f, 0.972742f, 0.985359f, 0.994097f, 0.998931f, 0.999842f, 0.996828f, 0.989899f, 0.979083f, 0.964422f, 0.945974f, 0.923809f, 0.898003f, 0.868671f, 0.835928f, 0.799903f, 0.760737f, 0.718583f, 0.673607f, 0.625986f, 0.575906f, 0.523555f, 0.469149f, 0.4129f, 0.355031f, 0.295767f, 0.235342f, 0.173993f, 0.11196f, 0.0494861f, -0.0131827f, -0.075799f, -0.138117f, -0.199892f, -0.260883f, -0.320848f, -0.379554f, -0.43677f, -0.492271f, -0.545836f, -0.597252f, -0.646323f, -0.692855f, -0.736666f, -0.777584f, -0.815449f, -0.850112f, -0.881436f, -0.909297f, -0.933575f, -0.954187f, -0.971052f, -0.984103f, -0.99329f, -0.998576f, -0.999941f, -0.997379f, -0.990901f, -0.980515f, -0.966279f, -0.948249f, -0.926494f, -0.901102f, -0.872171f, -0.839816f, -0.804161f, -0.765349f, -0.723521f, -0.67885f, -0.631514f, -0.581698f, -0.529598f, -0.475418f, -0.419371f, -0.361677f, -0.302561f, -0.242255f, -0.180996f, -0.119027f, -0.0565904f, 0.00606774f, 0.0687021f, 0.131067f, 0.192917f, 0.254011f, 0.314106f, 0.372964f, 0.430357f, 0.486059f, 0.539852f, 0.591526f, 0.640876f, 0.687711f, 0.731845f, 0.773104f, 0.811316f, 0.846342f, 0.878044f, 0.906298f, 0.930992f, 0.952031f, 0.969332f, 0.982826f, 0.99246f, 0.998183f, 0.999985f, 0.99786f, 0.991817f, 0.981879f, 0.968085f, 0.95049f, 0.929162f, 0.904185f, 0.875648f, 0.843667f, 0.808374f, 0.769907f, 0.728416f, 0.684065f, 0.637028f, 0.587489f, 0.535642f, 0.481688f, 0.425837f, 0.368315f, 0.309347f, 0.249165f, 0.188004f, 0.126105f, 0.0637103f, 0.00106467f, -0.0615858f, -0.123993f, -0.185913f, -0.247103f, -0.307322f, -0.366333f, -0.423907f, -0.479816f, -0.533841f, -0.585771f, -0.635391f, -0.682515f, -0.726958f, -0.768547f, -0.807117f, -0.842518f, -0.874611f, -0.903269f, -0.928381f, -0.949835f, -0.967556f, -0.981477f, -0.991544f, -0.997717f, -0.999972f, -0.9983f, -0.992708f, -0.983217f, -0.969857f, -0.952681f, -0.931764f, -0.907189f, -0.879051f, -0.847461f, -0.812543f, -0.774434f, -0.733283f, -0.689249f, -0.642501f, -0.59323f, -0.54163f, -0.487903f, -0.43226f, -0.37492f, -0.316107f, -0.256052f, -0.194991f, -0.133161f, -0.0708093f, -0.00817974f, 0.0544816f, 0.116929f, 0.178917f, 0.240203f, 0.300546f, 0.35971f, 0.417456f, 0.473561f, 0.527807f, 0.579979f, 0.629873f, 0.677294f, 0.722056f, 0.763982f, 0.802909f, 0.838675f, 0.871142f, 0.900188f, 0.925698f, 0.947574f, 0.965728f, 0.98009f, 0.990604f, 0.997227f, 0.999928f, 0.998693f, 0.993537f, 0.984479f, 0.971555f, 0.954816f, 0.934328f, 0.91017f, 0.882438f, 0.851239f, 0.816685f, 0.778924f, 0.738105f, 0.694387f, 0.647943f, 0.598955f, 0.547614f, 0.494122f, 0.438689f, 0.381526f, 0.322866f, 0.262938f, 0.201978f, 0.140225f, 0.0779216f, 0.0153117f, -0.0473589f, -0.109844f, -0.171897f, -0.233274f, -0.293734f, -0.35304f, -0.410959f, -0.467265f, -0.521736f, -0.574158f, -0.624327f, -0.672039f, -0.717106f, -0.759357f, -0.798625f, -0.834757f, -0.867611f, -0.897058f, -0.922983f, -0.945283f, -0.963868f, -0.978656f, -0.9896f, -0.996659f, -0.999803f, -0.999022f, -0.994317f, -0.985708f, -0.973227f, -0.956924f, -0.936849f, -0.913095f, -0.885755f, -0.854937f, -0.820762f, -0.783364f, -0.74289f, -0.699497f, -0.653358f, -0.604644f, -0.553554f, -0.500291f, -0.445064f, -0.388089f, -0.32959f, -0.269797f, -0.208943f, -0.147269f, -0.0850142f, -0.0224257f, 0.0402503f, 0.102768f, 0.164881f, 0.226348f, 0.286925f, 0.346376f, 0.404468f, 0.460969f, 0.515655f, 0.568316f, 0.618744f, 0.666743f, 0.712123f, 0.754707f, 0.794327f, 0.830829f, 0.864066f, 0.893898f, 0.92022f, 0.942928f, 0.961932f, 0.97716f, 0.98855f, 0.996058f, 0.999655f, 0.999326f, 0.995059f, 0.986883f, 0.974832f, 0.958953f, 0.939308f, 0.915974f, 0.889044f, 0.858622f, 0.824828f, 0.787786f, 0.747646f, 0.704571f, 0.65873f, 0.610301f, 0.559477f, 0.506454f, 0.451443f, 0.394658f, 0.33632f, 0.276659f, 0.215912f, 0.154318f, 0.0921174f, 0.0295555f, -0.0331226f, -0.0956711f, -0.157844f, -0.219398f, -0.280087f, -0.339676f, -0.39793f, -0.454621f, -0.509527f, -0.562432f, -0.613129f, -0.661418f, -0.707111f, -0.750015f, -0.789974f, -0.82683f, -0.860439f, -0.890669f, -0.917402f, -0.940532f, -0.959969f, -0.975636f, -0.98746f, -0.995402f, -0.999436f, -0.999545f, -0.995728f, -0.988002f, -0.976395f, -0.960955f, -0.94174f, -0.918819f, -0.892283f, -0.862244f, -0.828818f, -0.792138f, -0.752348f, -0.709603f, -0.664071f, -0.615931f, -0.565368f, -0.51258f, -0.457779f, -0.401181f, -0.343007f, -0.283487f, -0.222853f, -0.161344f, -0.099201f, -0.0366674f, 0.0260108f, 0.088586f, 0.150813f, 0.212447f, 0.273247f, 0.332974f, 0.391394f, 0.448277f, 0.503401f, 0.55654f, 0.607493f, 0.656059f, 0.702049f, 0.745282f, 0.785588f, 0.822809f, 0.8568f, 0.887426f, 0.914558f, 0.938094f, 0.957945f, 0.974035f, 0.986299f, 0.99469f, 0.999176f, 0.999738f, 0.996374f, 0.989091f, 0.977915f, 0.962898f, 0.944101f, 0.921596f, 0.895472f, 0.865832f, 0.832792f, 0.796481f, 0.757039f, 0.714615f, 0.669385f, 0.621526f, 0.571228f, 0.518686f, 0.464107f, 0.407705f, 0.349702f, 0.290325f, 0.229803f, 0.168379f, 0.106295f, 0.0437934f, -0.0188799f, -0.0814791f, -0.143759f, -0.205474f, -0.266383f, -0.326244f, -0.384821f, -0.441886f, -0.497216f, -0.550593f, -0.601808f, -0.65066f, -0.696958f, -0.740518f, -0.781165f, -0.818738f, -0.853096f, -0.884103f, -0.911638f, -0.935593f, -0.955874f, -0.972402f, -0.985111f, -0.993948f, -0.998869f, -0.999869f, -0.996941f, -0.990099f, -0.979369f, -0.964793f, -0.946428f, -0.924346f, -0.898633f, -0.869378f, -0.836709f, -0.800755f, -0.761656f, -0.719567f, -0.674652f, -0.627087f, -0.577059f, -0.524765f, -0.470403f, -0.414192f, -0.356356f, -0.297121f, -0.236719f, -0.175388f, -0.113367f, -0.0509009f, 0.0117658f, 0.0743865f, 0.136714f, 0.198504f, 0.259515f, 0.319505f, 0.378242f, 0.435493f, 0.491034f, 0.544648f, 0.59612f, 0.645244f, 0.691835f, 0.735708f, 0.776692f, 0.814626f, 0.849361f, 0.880761f, 0.908702f, 0.933073f, 0.953767f, 0.970716f, 0.983852f, 0.993125f, 0.998498f, 0.99995f, 0.997476f, 0.991085f, 0.980802f, 0.966652f, 0.948706f, 0.927034f, 0.901722f, 0.87287f, 0.840589f, 0.805008f, 0.766265f, 0.724513f, 0.679907f, 0.632628f, 0.582865f, 0.530814f, 0.476679f, 0.420671f, 0.363012f, 0.303926f, 0.243646f, 0.182407f, 0.120451f, 0.0580226f, -0.00463341f, -0.067271f, -0.129644f, -0.191509f, -0.252622f, -0.312743f, -0.371635f, -0.429064f, -0.484807f, -0.538645f, -0.590369f, -0.639773f, -0.686666f, -0.730862f, -0.772189f, -0.810483f, -0.845582f, -0.87736f, -0.905692f, -0.930468f, -0.95159f, -0.968974f, -0.982554f, -0.992276f, -0.998101f, -0.999993f, -0.997956f, -0.991999f, -0.982147f, -0.968439f, -0.950927f, -0.929681f, -0.904784f, -0.876334f, -0.844434f, -0.809212f, -0.770813f, -0.729388f, -0.685098f, -0.638118f, -0.588632f, -0.536834f, -0.482928f, -0.427122f, -0.369634f, -0.310696f, -0.250538f, -0.189396f, -0.12751f, -0.0651241f, -0.00248166f, 0.0601711f, 0.122588f, 0.184522f, 0.24573f, 0.305973f, 0.365014f, 0.422622f, 0.47857f, 0.532639f, 0.584617f, 0.6343f, 0.681483f, 0.725988f, 0.767641f, 0.80628f, 0.841753f, 0.87392f, 0.902655f, 0.927847f, 0.949394f, 0.967203f, 0.981209f, 0.991362f, 0.997621f, 0.999963f, 0.998379f, 0.992874f, 0.98347f, 0.970205f, 0.953122f, 0.932288f, 0.907793f, 0.879734f, 0.84822f, 0.813375f, 0.775336f, 0.734252f, 0.690285f, 0.643604f, 0.594387f, 0.542837f, 0.489155f, 0.433553f, 0.376249f, 0.317466f, 0.257437f, 0.196396f, 0.134584f, 0.0722404f, 0.00961407f, -0.0530494f, -0.115504f, -0.177505f, -0.23881f, -0.299176f, -0.358368f, -0.416154f, -0.472301f, -0.52659f, -0.578811f, -0.628759f, -0.676237f, -0.72106f, -0.763052f, -0.802048f, -0.837894f, -0.870443f, -0.899566f, -0.925158f, -0.947115f, -0.965354f, -0.979802f, -0.990402f, -0.997113f, -0.999908f, -0.998772f, -0.993702f, -0.984731f, -0.971892f, -0.955237f, -0.934831f, -0.910754f, -0.8831f, -0.851978f, -0.817509f, -0.779817f, -0.739063f, -0.695408f, -0.649022f, -0.600088f, -0.548797f, -0.495351f, -0.439958f, -0.382838f, -0.324209f, -0.264306f, -0.203366f, -0.141628f, -0.0793342f, -0.0167285f, 0.0459432f, 0.108435f, 0.170502f, 0.231897f, 0.29238f, 0.351714f, 0.409667f, 0.466011f, 0.520525f, 0.572995f, 0.623215f, 0.670988f, 0.716123f, 0.758438f, 0.797774f, 0.833977f, 0.866905f, 0.896429f, 0.922433f, 0.944814f, 0.963486f, 0.978371f, 0.989401f, 0.996546f, 0.999777f, 0.999083f, 0.994466f, 0.985943f, 0.973549f, 0.957332f, 0.937355f, 0.913683f, 0.886422f, 0.855681f, 0.82158f, 0.784253f, 0.743846f, 0.700517f, 0.654438f, 0.605788f, 0.554752f, 0.501535f, 0.446349f, 0.389411f, 0.330944f, 0.271177f, 0.210345f, 0.148686f, 0.0864433f, 0.0238598f, -0.0388172f, -0.101341f, -0.163467f, -0.22495f, -0.28555f, -0.345029f, -0.403153f, -0.459695f, -0.51443f, -0.567138f, -0.617619f, -0.665674f, -0.711115f, -0.753763f, -0.793452f, -0.830025f, -0.863339f, -0.893261f, -0.919663f, -0.942453f, -0.961541f, -0.976854f, -0.988331f, -0.995926f, -0.999611f, -0.99937f, -0.995204f, -0.987118f, -0.975152f, -0.959357f, -0.939794f, -0.916542f, -0.88969f, -0.859344f, -0.825623f, -0.78866f, -0.748592f, -0.70558f, -0.659797f, -0.611424f, -0.56065f, -0.507674f, -0.452705f, -0.395957f, -0.337654f, -0.278022f, -0.217297f, -0.155718f, -0.0935284f, -0.0309719f, 0.0317063f, 0.0942601f, 0.156444f, 0.218014f, 0.278729f, 0.338344f, 0.396631f, 0.453359f, 0.508307f, 0.561258f, 0.612006f, 0.660351f, 0.706103f, 0.749082f, 0.789109f, 0.826036f, 0.859718f, 0.890024f, 0.916835f, 0.940046f, 0.959566f, 0.975317f, 0.987239f, 0.995272f, 0.999392f, 0.999588f, 0.99586f, 0.98822f, 0.9767f, 0.961345f, 0.942214f, 0.919383f, 0.892935f, 0.862972f, 0.829621f, 0.793013f, 0.753291f, 0.71061f, 0.665139f, 0.617056f, 0.566549f, 0.513815f, 0.459056f, 0.402495f, 0.344355f, 0.284862f, 0.224251f, 0.162759f, 0.100628f, 0.0381005f, -0.0245771f, -0.0871577f, -0.149395f, -0.211046f, -0.271867f, -0.331621f, -0.390072f, -0.446992f, -0.502157f, -0.555351f, -0.606356f, -0.654979f, -0.701028f, -0.744325f, -0.784698f, -0.821991f, -0.856055f, -0.886758f, -0.913979f, -0.937602f, -0.957537f, -0.973712f, -0.986063f, -0.994541f, -0.999114f, -0.999764f, -0.996487f, -0.989298f, -0.978217f, -0.963285f, -0.944571f, -0.922147f, -0.896103f, -0.866539f, -0.833573f, -0.797333f, -0.757961f, -0.715611f, -0.670441f, -0.622639f, -0.572392f, -0.519897f, -0.465361f, -0.408997f, -0.351027f, -0.291678f, -0.231183f, -0.169777f, -0.107704f, -0.0452091f, 0.0174631f, 0.0800666f, 0.142356f, 0.204086f, 0.265016f, 0.324905f, 0.383515f, 0.440617f, 0.495988f, 0.54941f, 0.600675f, 0.649582f, 0.695937f, 0.73956f, 0.78028f, 0.817929f, 0.85236f, 0.883442f, 0.911056f, 0.935091f, 0.955455f, 0.972066f, 0.984861f, 0.993788f, 0.998809f, 0.999895f, 0.997055f, 0.9903f, 0.979657f, 0.965166f, 0.946885f, 0.924886f, 0.899255f, 0.870092f, 0.837498f, 0.801616f, 0.762586f, 0.720562f, 0.675708f, 0.628201f, 0.578227f, 0.525982f, 0.47167f, 0.4155f, 0.357698f, 0.298491f, 0.238113f, 0.176799f, 0.114792f, 0.0523331f, -0.0103315f, -0.0729562f, -0.135294f, -0.197099f, -0.25813f, -0.318146f, -0.376913f, -0.4342f, -0.489782f, -0.543441f, -0.594966f, -0.644152f, -0.690802f, -0.734738f, -0.775789f, -0.813793f, -0.848601f, -0.880077f, -0.908097f, -0.932551f, -0.953342f, -0.970376f, -0.983598f, -0.992958f, -0.998419f, -0.999958f, -0.997572f, -0.991267f, -0.98107f, -0.96702f, -0.94916f, -0.92757f, -0.902337f, -0.873562f, -0.841356f, -0.805846f, -0.767172f, -0.725484f, -0.680947f, -0.633729f, -0.584019f, -0.532016f, -0.477924f, -0.421956f, -0.364331f, -0.305274f, -0.245019f, -0.1838f, -0.121859f, -0.0594374f, 0.00321642f, 0.0658572f, 0.128239f, 0.190117f, 0.251249f, 0.311395f, 0.370318f, 0.427787f, 0.48357f, 0.537453f, 0.589225f, 0.638683f, 0.685634f, 0.729891f, 0.771283f, 0.809646f, 0.844831f, 0.876684f, 0.905094f, 0.92995f, 0.951153f, 0.968622f, 0.982286f, 0.992094f, 0.998005f, 0.999998f, 0.998052f, 0.992183f, 0.982418f, 0.968795f, 0.951368f, 0.930205f, 0.905388f, 0.877017f, 0.845201f, 0.810059f, 0.771729f, 0.73037f, 0.686143f, 0.639221f, 0.589789f, 0.538042f, 0.48418f, 0.428417f, 0.370969f, 0.31206f, 0.251927f, 0.190804f, 0.128933f, 0.0665552f, 0.00391599f, -0.0587389f, -0.121164f, -0.183113f, -0.244341f, -0.304609f, -0.363679f, -0.421322f, -0.477309f, -0.531423f, -0.58345f, -0.633186f, -0.680436f, -0.725005f, -0.766725f, -0.805433f, -0.840978f, -0.873221f, -0.902034f, -0.927306f, -0.948936f, -0.96684f, -0.980938f, -0.991177f, -0.997524f, -0.999954f, -0.998457f, -0.993039f, -0.983722f, -0.970541f, -0.953549f, -0.932807f, -0.908392f, -0.88041f, -0.848971f, -0.814199f, -0.776229f, -0.735211f, -0.691305f, -0.644685f, -0.595531f, -0.544029f, -0.490393f, -0.43483f, -0.377561f, -0.318809f, -0.258805f, -0.197785f, -0.135987f, -0.0736541f, -0.0110311f, 0.0516346f, 0.114097f, 0.176111f, 0.237433f, 0.297823f, 0.357043f, 0.414862f, 0.471053f, 0.525388f, 0.577658f, 0.627658f, 0.675193f, 0.720077f, 0.762133f, 0.801196f, 0.837114f, 0.869744f, 0.898953f, 0.924623f, 0.946663f, 0.964984f, 0.979517f, 0.990202f, 0.997f, 0.999882f, 0.998838f, 0.993869f, 0.984984f, 0.972231f, 0.955661f, 0.935338f, 0.911342f, 0.883767f, 0.852722f, 0.818328f, 0.780719f, 0.740032f, 0.69644f, 0.650114f, 0.601235f, 0.549994f, 0.496594f, 0.441244f, 0.38416f, 0.325567f, 0.265691f, 0.204771f, 0.143048f, 0.0807639f, 0.0181626f, -0.0445102f, -0.107008f, -0.169087f, -0.230502f, -0.29101f, -0.350373f, -0.408359f, -0.464742f, -0.519299f, -0.571817f, -0.62209f, -0.66992f, -0.71512f, -0.757508f, -0.796913f, -0.833188f, -0.866191f, -0.895792f, -0.921876f, -0.944339f, -0.963095f, -0.978068f, -0.989199f, -0.996432f, -0.999751f, -0.999144f, -0.994614f, -0.986178f, -0.973869f, -0.957736f, -0.937842f, -0.914265f, -0.887084f, -0.856418f, -0.82239f, -0.785132f, -0.744791f, -0.701526f, -0.655505f, -0.606911f, -0.555932f, -0.502763f, -0.447619f, -0.390717f, -0.332281f, -0.27254f, -0.211729f, -0.150087f, -0.0878543f, -0.0252763f, 0.0374015f, 0.0999318f, 0.162069f, 0.223569f, 0.284191f, 0.343698f, 0.401854f, 0.458433f, 0.513212f, 0.565975f, 0.616507f, 0.664619f, 0.710119f, 0.752831f, 0.792587f, 0.82923f, 0.862617f, 0.892617f, 0.919113f, 0.941984f, 0.961155f, 0.976552f, 0.988114f, 0.995796f, 0.999567f, 0.999414f, 0.995336f, 0.98735f, 0.975474f, 0.959764f, 0.940285f, 0.917114f, 0.890342f, 0.860073f, 0.826427f, 0.789535f, 0.749542f, 0.7066f, 0.660877f, 0.61256f, 0.561838f, 0.508909f, 0.453982f, 0.397272f, 0.339002f, 0.279399f, 0.218698f, 0.157135f, 0.0949567f, 0.0324055f, -0.0302726f, -0.0928318f, -0.155027f, -0.216613f, -0.277349f, -0.336997f, -0.395316f, -0.452082f, -0.507072f, -0.560071f, -0.61087f, -0.65927f, -0.705082f, -0.748126f, -0.788232f, -0.825231f, -0.858988f, -0.889372f, -0.916262f, -0.939555f, -0.959158f, -0.974994f, -0.987002f, -0.995134f, -0.999348f, -0.999632f, -0.99599f, -0.988437f, -0.977003f, -0.961732f, -0.942684f, -0.919935f, -0.893572f, -0.863694f, -0.830417f, -0.793879f, -0.754224f, -0.711607f, -0.666195f, -0.618168f, -0.567713f, -0.515028f, -0.460318f, -0.403794f, -0.345686f, -0.286221f, -0.225632f, -0.164157f, -0.102037f, -0.0395162f, 0.0231603f, 0.0857467f, 0.147995f, 0.209661f, 0.270504f, 0.330283f, 0.388766f, 0.445722f, 0.500928f, 0.554168f, 0.605231f, 0.653911f, 0.70002f, 0.74338f, 0.78382f, 0.821182f, 0.855319f, 0.886097f, 0.913397f, 0.937109f, 0.957134f, 0.973393f, 0.985829f, 0.994393f, 0.999053f, 0.99979f, 0.996601f, 0.989499f, 0.978511f, 0.963676f, 0.945045f, 0.922703f, 0.896739f, 0.867253f, 0.834361f, 0.798193f, 0.758891f, 0.716607f, 0.671509f, 0.623764f, 0.573569f, 0.521123f, 0.46663f, 0.410305f, 0.352369f, 0.293048f, 0.232577f, 0.171191f, 0.109131f, 0.0466421f, -0.016029f, -0.0786368f, -0.140936f, -0.202681f, -0.263631f, -0.323546f, -0.382191f, -0.439332f, -0.494744f, -0.548213f, -0.599529f, -0.64849f, -0.694905f, -0.738591f, -0.779377f, -0.817102f, -0.851615f, -0.882774f, -0.910466f, -0.934583f, -0.95503f, -0.971726f, -0.984607f, -0.993621f, -0.998733f, -0.999921f, -0.997168f, -0.9905f, -0.979942f, -0.965536f, -0.947339f, -0.925421f, -0.899869f, -0.870784f, -0.838278f, -0.802468f, -0.763506f, -0.721546f, -0.676753f, -0.629302f, -0.579381f, -0.527183f, -0.472916f, -0.41679f, -0.359023f, -0.299844f, -0.239489f, -0.178194f, -0.116199f, -0.0537479f, 0.0089145f, 0.0715424f, 0.13389f, 0.195711f, 0.256762f, 0.316804f, 0.375601f, 0.432923f, 0.488545f, 0.542248f, 0.593823f, 0.643066f, 0.689782f, 0.73378f, 0.774897f, 0.81297f, 0.84785f, 0.879401f, 0.907499f, 0.932033f, 0.952908f, 0.97004f, 0.983347f, 0.992793f, 0.99834f, 0.999967f, 0.997668f, 0.991451f, 0.981341f, 0.967377f, 0.949614f, 0.928109f, 0.902957f, 0.87426f, 0.84213f, 0.806692f, 0.768087f, 0.726466f, 0.681992f, 0.634839f, 0.585186f, 0.533233f, 0.479185f, 0.423256f, 0.365666f, 0.306639f, 0.246408f, 0.185209f, 0.123282f, 0.0608696f, -0.00178209f, -0.0644261f, -0.126817f, -0.188709f, -0.24986f, -0.31003f, -0.368983f, -0.426488f, -0.482317f, -0.536246f, -0.588068f, -0.63758f, -0.684589f, -0.728909f, -0.770366f, -0.808799f, -0.844056f, -0.875999f, -0.904489f, -0.929425f, -0.950712f, -0.968265f, -0.982015f, -0.99191f, -0.997909f, -0.999989f, -0.998143f, -0.992366f, -0.982687f, -0.969149f, -0.951805f, -0.930724f, -0.905987f, -0.877693f, -0.845953f, -0.810889f, -0.772636f, -0.731341f, -0.687175f, -0.640311f, -0.590933f, -0.539234f, -0.485418f, -0.429694f, -0.372283f, -0.313409f, -0.253299f, -0.192196f, -0.130338f, -0.0679689f, -0.00533297f, 0.0573241f, 0.119756f, 0.181719f, 0.242969f, 0.30326f, 0.36236f, 0.420037f, 0.476064f, 0.530221f, 0.582296f, 0.632085f, 0.679392f, 0.724031f, 0.765819f, 0.804596f, 0.840213f, 0.87253f, 0.901421f, 0.926772f, 0.948483f, 0.96647f, 0.980663f, 0.990995f, 0.997429f, 0.999945f, 0.998536f, 0.993206f, 0.983975f, 0.970881f, 0.953973f, 0.93332f, 0.908996f, 0.881093f, 0.84973f, 0.815031f, 0.777131f, 0.73618f, 0.692338f, 0.645776f, 0.596679f, 0.545237f, 0.491645f, 0.436123f, 0.37889f, 0.320168f, 0.26019f, 0.19919f, 0.137407f, 0.0750839f, 0.0124654f, -0.0502024f, -0.112672f, -0.174699f, -0.236039f, -0.296453f, -0.355702f, -0.413555f, -0.469784f, -0.524169f, -0.57649f, -0.626544f, -0.674136f, -0.719082f, -0.761203f, -0.800335f, -0.836324f, -0.86903f, -0.898323f, -0.924083f, -0.946204f, -0.96461f, -0.979228f, -0.990001f, -0.996886f, -0.999856f, -0.998899f, -0.994021f, -0.985235f, -0.972568f, -0.956081f, -0.935841f, -0.911925f, -0.884429f, -0.853459f, -0.819137f, -0.781599f, -0.740991f, -0.697461f, -0.651193f, -0.602368f, -0.551177f, -0.497823f, -0.442513f, -0.385466f, -0.326904f, -0.267058f, -0.206159f, -0.144451f, -0.0821765f, -0.0195793f, 0.0430945f, 0.105599f, 0.167689f, 0.229121f, 0.289654f, 0.349048f, 0.407068f, 0.463488f, 0.518088f, 0.570654f, 0.620978f, 0.668864f, 0.714124f, 0.75658f, 0.796062f, 0.832408f, 0.865485f, 0.895163f, 0.921326f, 0.94387f, 0.962708f, 0.977766f, 0.988985f, 0.996319f, 0.999725f, 0.999206f, 0.994763f, 0.986414f, 0.974191f, 0.958143f, 0.938332f, 0.914837f, 0.887748f, 0.857162f, 0.823207f, 0.786021f, 0.745747f, 0.702546f, 0.656585f, 0.608046f, 0.557119f, 0.504004f, 0.448904f, 0.392038f, 0.333634f, 0.27392f, 0.213131f, 0.151504f, 0.0892826f, 0.02671f, -0.0359681f, -0.0985053f, -0.160654f, -0.222172f, -0.282816f, -0.34235f, -0.400539f, -0.457156f, -0.511977f, -0.564789f, -0.615382f, -0.66355f, -0.709111f, -0.751888f, -0.791712f, -0.828426f, -0.861888f, -0.891965f, -0.918539f, -0.941507f, -0.960764f, -0.976246f, -0.987895f, -0.995664f, -0.999523f, -0.999457f, -0.995467f, -0.987567f, -0.975789f, -0.960168f, -0.940772f, -0.917681f, -0.890987f, -0.860795f, -0.827222f, -0.790401f, -0.750475f, -0.707602f, -0.661945f, -0.613683f, -0.563011f, -0.510129f, -0.455244f, -0.398571f, -0.340333f, -0.280758f, -0.22008f, -0.158536f, -0.0963677f, -0.0338219f, 0.0288563f, 0.0914208f, 0.153626f, 0.215229f, 0.275986f, 0.33566f, 0.394017f, 0.45082f, 0.505852f, 0.558897f, 0.609748f, 0.658203f, 0.704074f, 0.74718f, 0.787353f, 0.824434f, 0.858267f, 0.888727f, 0.915696f, 0.939069f, 0.958755f, 0.974675f, 0.986768f, 0.994987f, 0.999298f, 0.999676f, 0.996122f, 0.988656f, 0.977308f, 0.962122f, 0.943158f, 0.920491f, 0.894208f, 0.864414f, 0.83122f, 0.794753f, 0.755166f, 0.712614f, 0.667264f, 0.619293f, 0.56889f, 0.516253f, 0.461588f, 0.405109f, 0.347034f, 0.287596f, 0.227029f, 0.165571f, 0.103463f, 0.0409492f, -0.0217262f, -0.0843169f, -0.146577f, -0.20826f, -0.269124f, -0.32893f, -0.387444f, -0.444437f, -0.499685f, -0.55297f, -0.604085f, -0.652827f, -0.699f, -0.742423f, -0.78293f, -0.820363f, -0.854574f, -0.885429f, -0.912807f, -0.936601f, -0.956717f, -0.97307f, -0.985592f, -0.994244f, -0.998992f, -0.999816f, -0.996714f, -0.989699f, -0.978796f, -0.96405f, -0.945515f, -0.923255f, -0.897369f, -0.86796f, -0.835142f, -0.799045f, -0.75981f, -0.717591f, -0.672554f, -0.624875f, -0.574733f, -0.522334f, -0.467884f, -0.411597f, -0.353694f, -0.294402f, -0.233953f, -0.172586f, -0.11054f, -0.0480578f, 0.0146122f, 0.0772243f, 0.139533f, 0.201293f, 0.262263f, 0.322203f, 0.380878f, 0.438059f, 0.493515f, 0.54703f, 0.598396f, 0.647411f, 0.693884f, 0.737633f, 0.778484f, 0.816279f, 0.850869f, 0.882114f, 0.909884f, 0.934081f, 0.95461f, 0.97139f, 0.984356f, 0.993456f, 0.998655f, 0.999932f, 0.997282f, 0.990701f, 0.98023f, 0.96591f, 0.947796f, 0.925961f, 0.90049f, 0.871482f, 0.839052f, 0.803326f, 0.764435f, 0.72254f, 0.677809f, 0.630416f, 0.580548f, 0.5284f, 0.474176f, 0.41809f, 0.360362f, 0.301214f, 0.240883f, 0.179606f, 0.117624f, 0.0551801f, -0.00748017f, -0.0701113f, -0.132468f, -0.194304f, -0.255377f, -0.315444f, -0.374272f, -0.43163f, -0.487292f, -0.541041f, -0.592665f, -0.641963f, -0.68874f, -0.73281f, -0.773993f, -0.812137f, -0.84709f, -0.878717f, -0.906894f, -0.931509f, -0.952466f, -0.969683f, -0.983093f, -0.992626f, -0.998261f, -0.999976f, -0.997764f, -0.991634f, -0.981609f, -0.96773f, -0.950051f, -0.92864f, -0.903572f, -0.874952f, -0.842896f, -0.80753f, -0.768994f, -0.727437f, -0.683024f, -0.635929f, -0.586335f, -0.534434f, -0.480431f, -0.424541f, -0.366984f, -0.307987f, -0.24778f, -0.1866f, -0.124687f, -0.0622837f, 0.000365106f, 0.0630123f, 0.125411f, 0.187317f, 0.248488f, 0.308682f, 0.367664f, 0.425203f, 0.481073f, 0.535053f, 0.586925f, 0.636491f, 0.683556f, 0.727938f, 0.769461f, 0.807962f, 0.843291f, 0.875308f, 0.903888f, 0.928907f, 0.950276f, 0.967912f, 0.981747f, 0.991727f, 0.997813f, 0.99998f, 0.998222f, 0.992543f, 0.982957f, 0.969505f, 0.952246f, 0.931247f, 0.906592f, 0.878376f, 0.846711f, 0.811722f, 0.773544f, 0.732323f, 0.68822f, 0.641414f, 0.59209f, 0.540441f, 0.48667f, 0.430987f, 0.373612f, 0.314769f, 0.254688f, 0.193604f, 0.131761f, 0.0694f, 0.0067673f, -0.0558919f, -0.118332f, -0.180307f, -0.241575f, -0.301895f, -0.361025f, -0.418737f, -0.474803f, -0.529004f, -0.581128f, -0.63097f, -0.678335f, -0.723036f, -0.764898f, -0.803748f, -0.839438f, -0.871831f, -0.900799f, -0.926231f, -0.948025f, -0.966096f, -0.980374f, -0.990802f, -0.997332f, -0.999937f, -0.998615f, -0.993371f, -0.984227f, -0.971217f, -0.954394f, -0.933823f, -0.909584f, -0.88177f, -0.850482f, -0.815855f, -0.778024f, -0.737139f, -0.693358f, -0.646855f, -0.597812f, -0.54642f, -0.492882f, -0.437401f, -0.380202f, -0.321511f, -0.261558f, -0.200578f, -0.13881f, -0.0764964f, -0.0138821f, 0.0487874f, 0.111265f, 0.173304f, 0.234663f, 0.295099f, 0.354377f, 0.412263f, 0.46853f, 0.522958f, 0.575332f, 0.625443f, 0.673092f, 0.718098f, 0.760284f, 0.799484f, 0.835544f, 0.868324f, 0.897693f, 0.923538f, 0.945752f, 0.964241f, 0.978943f, 0.989801f, 0.996773f, 0.99983f, 0.998961f, 0.994169f, 0.985474f, 0.972907f, 0.956505f, 0.936348f, 0.912513f, 0.885096f, 0.854203f, 0.819955f, 0.782487f, 0.741947f, 0.698492f, 0.652284f, 0.603514f, 0.552375f, 0.499066f, 0.443798f, 0.386787f, 0.328257f, 0.268438f, 0.207563f, 0.145871f, 0.0836063f, 0.0210135f, -0.0416614f, -0.104172f, -0.166274f, -0.227724f, -0.288279f, -0.347703f, -0.40576f, -0.462219f, -0.516863f, -0.569476f, -0.619853f, -0.667795f, -0.713116f, -0.755636f, -0.79519f, -0.831618f, -0.86477f, -0.894526f, -0.920768f, -0.943395f, -0.962317f, -0.977461f, -0.988766f, -0.996188f, -0.999698f, -0.999267f, -0.994911f, -0.986648f, -0.974511f, -0.958547f, -0.938819f, -0.915404f, -0.888394f, -0.857895f, -0.824017f, -0.7869f, -0.746693f, -0.703554f, -0.657653f, -0.609169f, -0.558293f, -0.505224f, -0.45017f, -0.393344f, -0.334971f, -0.275283f, -0.214515f, -0.152905f, -0.0906937f, -0.0281264f, 0.0345518f, 0.0970948f, 0.159257f, 0.220791f, 0.281458f, 0.341019f, 0.39924f, 0.455894f, 0.510758f, 0.563616f, 0.614261f, 0.662494f, 0.708116f, 0.750956f, 0.790847f, 0.827632f, 0.861167f, 0.89132f, 0.917973f, 0.941022f, 0.960375f, 0.975944f, 0.987678f, 0.995534f, 0.99948f, 0.999501f, 0.995598f, 0.987785f, 0.976094f, 0.960569f, 0.941262f, 0.918253f, 0.891639f, 0.861524f, 0.828025f, 0.791275f, 0.751418f, 0.70861f, 0.663018f, 0.614819f, 0.564199f, 0.511364f, 0.456521f, 0.399886f, 0.34168f, 0.282133f, 0.221477f, 0.159951f, 0.097796f, 0.0352556f, -0.0274226f, -0.0899925f, -0.152209f, -0.213827f, -0.274606f, -0.334307f, -0.392695f, -0.449542f, -0.504617f, -0.55771f, -0.608611f, -0.657123f, -0.703054f, -0.746224f, -0.786464f, -0.823615f, -0.857533f, -0.888074f, -0.915123f, -0.938578f, -0.958347f, -0.974353f, -0.986532f, -0.994837f, -0.999236f, -0.999711f, -0.996252f, -0.988873f, -0.977611f, -0.962509f, -0.943628f, -0.921042f, -0.894838f, -0.865121f, -0.832006f, -0.795619f, -0.756099f, -0.71361f, -0.66832f, -0.620405f, -0.570054f, -0.517464f, -0.462842f, -0.406402f, -0.348365f, -0.288954f, -0.22841f, -0.166969f, -0.104873f, -0.0423649f, 0.0203094f, 0.0829044f, 0.145174f, 0.206875f, 0.26776f, 0.327593f, 0.386139f, 0.443167f, 0.498456f, 0.551787f, 0.602952f, 0.651749f, 0.697987f, 0.741478f, 0.782052f, 0.819554f, 0.853838f, 0.884769f, 0.912225f, 0.936099f, 0.956298f, 0.972741f, 0.985359f, 0.994097f, 0.998931f, 0.999842f, 0.996828f, 0.9899f, 0.979084f, 0.964424f, 0.945976f, 0.923811f, 0.898005f, 0.868673f, 0.835931f, 0.799906f, 0.76074f, 0.718586f, 0.673611f, 0.625989f, 0.575909f, 0.523559f, 0.469153f, 0.412905f, 0.355035f, 0.295772f, 0.235347f, 0.173997f, 0.111964f, 0.0494906f, -0.0131781f, -0.0757945f, -0.138113f, -0.199888f, -0.260878f, -0.320844f, -0.37955f, -0.436766f, -0.492267f, -0.545832f, -0.597249f, -0.646319f, -0.692852f, -0.736663f, -0.777581f, -0.815446f, -0.850109f, -0.881434f, -0.909295f, -0.933573f, -0.954185f, -0.97105f, -0.984102f, -0.993289f, -0.998576f, -0.999941f, -0.997379f, -0.990901f, -0.980516f, -0.96628f, -0.94825f, -0.926496f, -0.901104f, -0.872174f, -0.839818f, -0.804164f, -0.765352f, -0.723525f, -0.678854f, -0.631518f, -0.581702f, -0.529602f, -0.475422f, -0.419375f, -0.361681f, -0.302566f, -0.242259f, -0.181f, -0.119031f, -0.056595f, 0.00606319f, 0.0686975f, 0.131062f, 0.192913f, 0.254006f, 0.314102f, 0.37296f, 0.430353f, 0.486055f, 0.539849f, 0.591522f, 0.640873f, 0.687707f, 0.731842f, 0.773101f, 0.811314f, 0.84634f, 0.878042f, 0.906296f, 0.930991f, 0.95203f, 0.96933f, 0.982825f, 0.99246f, 0.998183f, 0.999985f, 0.99786f, 0.991817f, 0.98188f, 0.968086f, 0.950491f, 0.929164f, 0.904187f, 0.87565f, 0.84367f, 0.808377f, 0.76991f, 0.728419f, 0.684069f, 0.637032f, 0.587493f, 0.535646f, 0.481692f, 0.425841f, 0.36832f, 0.309352f, 0.24917f, 0.188009f, 0.12611f, 0.0637148f, 0.00106922f, -0.0615812f, -0.123989f, -0.185909f, -0.247098f, -0.307317f, -0.366329f, -0.423903f, -0.479812f, -0.533837f, -0.585767f, -0.635387f, -0.682512f, -0.726955f, -0.768544f, -0.807115f, -0.842516f, -0.874609f, -0.903267f, -0.928379f, -0.949834f, -0.967555f, -0.981476f, -0.991543f, -0.997716f, -0.999972f, -0.9983f, -0.992708f, -0.983218f, -0.969858f, -0.952683f, -0.931766f, -0.907191f, -0.879053f, -0.847463f, -0.812545f, -0.774437f, -0.733286f, -0.689252f, -0.642504f, -0.593234f, -0.541634f, -0.487907f, -0.432265f, -0.374924f, -0.316112f, -0.256057f, -0.194996f, -0.133166f, -0.0708138f, -0.00818429f, 0.0544771f, 0.116924f, 0.178913f, 0.240199f, 0.300542f, 0.359706f, 0.417452f, 0.473557f, 0.527803f, 0.579975f, 0.62987f, 0.677291f, 0.722053f, 0.763979f, 0.802906f, 0.838672f, 0.87114f, 0.900186f, 0.925697f, 0.947572f, 0.965727f, 0.980089f, 0.990603f, 0.997227f, 0.999928f, 0.998694f, 0.993537f, 0.98448f, 0.971556f, 0.954818f, 0.93433f, 0.910172f, 0.882441f, 0.851241f, 0.816687f, 0.778927f, 0.738108f, 0.694391f, 0.647947f, 0.598958f, 0.547618f, 0.494126f, 0.438693f, 0.381531f, 0.32287f, 0.262943f, 0.201983f, 0.14023f, 0.0779262f, 0.0153162f, -0.0473544f, -0.10984f, -0.171893f, -0.233269f, -0.293729f, -0.353035f, -0.410955f, -0.467261f, -0.521732f, -0.574155f, -0.624323f, -0.672036f, -0.717103f, -0.759354f, -0.798622f, -0.834755f, -0.867609f, -0.897056f, -0.922981f, -0.945282f, -0.963867f, -0.978655f, -0.9896f, -0.996658f, -0.999803f, -0.999022f, -0.994317f, -0.985708f, -0.973228f, -0.956926f, -0.936851f, -0.913097f, -0.885757f, -0.85494f, -0.820765f, -0.783367f, -0.742893f, -0.699501f, -0.653361f, -0.604648f, -0.553558f, -0.500295f, -0.445068f, -0.388093f, -0.329594f, -0.269801f, -0.208948f, -0.147273f, -0.0850188f, -0.0224302f, 0.0402457f, 0.102763f, 0.164877f, 0.226343f, 0.286921f, 0.346372f, 0.404464f, 0.460965f, 0.515652f, 0.568312f, 0.618741f, 0.66674f, 0.71212f, 0.754704f, 0.794325f, 0.830826f, 0.864064f, 0.893896f, 0.920218f, 0.942926f, 0.961931f, 0.977159f, 0.988549f, 0.996057f, 0.999654f, 0.999326f, 0.99506f, 0.986884f, 0.974833f, 0.958954f, 0.939309f, 0.915976f, 0.889046f, 0.858624f, 0.824831f, 0.787789f, 0.747649f, 0.704574f, 0.658733f, 0.610305f, 0.55948f, 0.506458f, 0.451447f, 0.394662f, 0.336325f, 0.276663f, 0.215916f, 0.154322f, 0.0921219f, 0.0295601f, -0.0331181f, -0.0956666f, -0.15784f, -0.219394f, -0.280083f, -0.339671f, -0.397925f, -0.454617f, -0.509523f, -0.562428f, -0.613125f, -0.661415f, -0.707108f, -0.750012f, -0.789971f, -0.826828f, -0.860437f, -0.890667f, -0.9174f, -0.94053f, -0.959967f, -0.975635f, -0.987459f, -0.995402f, -0.999436f, -0.999545f, -0.995729f, -0.988002f, -0.976396f, -0.960956f, -0.941742f, -0.918821f, -0.892285f, -0.862246f, -0.828821f, -0.792141f, -0.752351f, -0.709606f, -0.664074f, -0.615934f, -0.565372f, -0.512584f, -0.457783f, -0.401185f, -0.343012f, -0.283491f, -0.222858f, -0.161349f, -0.0992056f, -0.0366719f, 0.0260062f, 0.0885815f, 0.150808f, 0.212443f, 0.273243f, 0.33297f, 0.391389f, 0.448273f, 0.503397f, 0.556536f, 0.607489f, 0.656056f, 0.702046f, 0.745279f, 0.785585f, 0.822807f, 0.856797f, 0.887424f, 0.914557f, 0.938092f, 0.957944f, 0.974034f, 0.986298f, 0.99469f, 0.999175f, 0.999738f, 0.996374f, 0.989092f, 0.977916f, 0.962899f, 0.944102f, 0.921598f, 0.895474f, 0.865834f, 0.832794f, 0.796483f, 0.757042f, 0.714618f, 0.669388f, 0.62153f, 0.571232f, 0.51869f, 0.464111f, 0.40771f, 0.349706f, 0.290329f, 0.229807f, 0.168384f, 0.106299f, 0.0437979f, -0.0188753f, -0.0814746f, -0.143754f, -0.20547f, -0.266379f, -0.326239f, -0.384817f, -0.441882f, -0.497212f, -0.55059f, -0.601805f, -0.650657f, -0.696954f, -0.740515f, -0.781162f, -0.818736f, -0.853093f, -0.8841f, -0.911636f, -0.935591f, -0.955873f, -0.972401f, -0.985111f, -0.993947f, -0.998869f, -0.999869f, -0.996942f, -0.9901f, -0.97937f, -0.964794f, -0.946429f, -0.924348f, -0.898636f, -0.86938f, -0.836712f, -0.800758f, -0.761659f, -0.71957f, -0.674655f, -0.627091f, -0.577063f, -0.524769f, -0.470407f, -0.414197f, -0.35636f, -0.297125f, -0.236723f, -0.175392f, -0.113372f, -0.0509055f, 0.0117613f, 0.074382f, 0.13671f, 0.1985f, 0.25951f, 0.319501f, 0.378237f, 0.435489f, 0.49103f, 0.544644f, 0.596116f, 0.645241f, 0.691831f, 0.735705f, 0.776689f, 0.814623f, 0.849358f, 0.880759f, 0.9087f, 0.933071f, 0.953766f, 0.970715f, 0.983851f, 0.993124f, 0.998497f, 0.99995f, 0.997476f, 0.991085f, 0.980802f, 0.966653f, 0.948707f, 0.927036f, 0.901724f, 0.872872f, 0.840592f, 0.805011f, 0.766268f, 0.724516f, 0.67991f, 0.632631f, 0.582869f, 0.530818f, 0.476683f, 0.420675f, 0.363016f, 0.30393f, 0.243651f, 0.182412f, 0.120456f, 0.0580271f, -0.00462886f, -0.0672664f, -0.12964f, -0.191504f, -0.252617f, -0.312739f, -0.371631f, -0.42906f, -0.484803f, -0.538642f, -0.590365f, -0.63977f, -0.686662f, -0.730859f, -0.772186f, -0.81048f, -0.84558f, -0.877358f, -0.90569f, -0.930466f, -0.951588f, -0.968973f, -0.982553f, -0.992275f, -0.998101f, -0.999993f, -0.997956f, -0.992f, -0.982148f, -0.96844f, -0.950929f, -0.929683f, -0.904786f, -0.876336f, -0.844436f, -0.809215f, -0.770816f, -0.729391f, -0.685101f, -0.638122f, -0.588636f, -0.536838f, -0.482932f, -0.427126f, -0.369638f, -0.3107f, -0.250542f, -0.1894f, -0.127515f, -0.0651286f, -0.00248621f, 0.0601666f, 0.122584f, 0.184517f, 0.245726f, 0.305969f, 0.36501f, 0.422618f, 0.478566f, 0.532635f, 0.584614f, 0.634296f, 0.681479f, 0.725985f, 0.767638f, 0.806278f, 0.84175f, 0.873918f, 0.902654f, 0.927845f, 0.949393f, 0.967202f, 0.981208f, 0.991361f, 0.997621f, 0.999963f, 0.998379f, 0.992875f, 0.983471f, 0.970206f, 0.953123f, 0.932289f, 0.907795f, 0.879736f, 0.848222f, 0.813378f, 0.775339f, 0.734255f, 0.690288f, 0.643607f, 0.594391f, 0.542841f, 0.489159f, 0.433557f, 0.376253f, 0.317471f, 0.257442f, 0.196401f, 0.134588f, 0.0722449f, 0.00961862f, -0.0530449f, -0.1155f, -0.177501f, -0.238805f, -0.299172f, -0.358364f, -0.41615f, -0.472297f, -0.526586f, -0.578807f, -0.628755f, -0.676234f, -0.721057f, -0.763049f, -0.802045f, -0.837891f, -0.87044f, -0.899565f, -0.925156f, -0.947114f, -0.965353f, -0.979801f, -0.990401f, -0.997112f, -0.999908f, -0.998772f, -0.993703f, -0.984731f, -0.971893f, -0.955238f, -0.934832f, -0.910756f, -0.883102f, -0.85198f, -0.817511f, -0.77982f, -0.739067f, -0.695411f, -0.649026f, -0.600092f, -0.548801f, -0.495355f, -0.439963f, -0.382842f, -0.324213f, -0.264311f, -0.203371f, -0.141633f, -0.0793387f, -0.016733f, 0.0459386f, 0.10843f, 0.170497f, 0.231893f, 0.292376f, 0.35171f, 0.409663f, 0.466007f, 0.520521f, 0.572991f, 0.623211f, 0.670985f, 0.71612f, 0.758435f, 0.797771f, 0.833975f, 0.866903f, 0.896427f, 0.922431f, 0.944813f, 0.963485f, 0.97837f, 0.9894f, 0.996545f, 0.999777f, 0.999083f, 0.994466f, 0.985944f, 0.97355f, 0.957333f, 0.937357f, 0.913685f, 0.886424f, 0.855684f, 0.821583f, 0.784255f, 0.743849f, 0.700521f, 0.654441f, 0.605791f, 0.554755f, 0.501539f, 0.446353f, 0.389415f, 0.330948f, 0.271181f, 0.210349f, 0.148691f, 0.0864479f, 0.0238643f, -0.0388127f, -0.101337f, -0.163462f, -0.224946f, -0.285546f, -0.345024f, -0.403149f, -0.459691f, -0.514426f, -0.567135f, -0.617616f, -0.665671f, -0.711112f, -0.753761f, -0.793449f, -0.830022f, -0.863336f, -0.893259f, -0.919661f, -0.942451f, -0.96154f, -0.976853f, -0.98833f, -0.995926f, -0.99961f, -0.99937f, -0.995205f, -0.987118f, -0.975153f, -0.959358f, -0.939796f, -0.916544f, -0.889692f, -0.859346f, -0.825626f, -0.788663f, -0.748595f, -0.705583f, -0.659801f, -0.611428f, -0.560654f, -0.507678f, -0.452709f, -0.395961f, -0.337658f, -0.278027f, -0.217301f, -0.155722f, -0.0935329f, -0.0309764f, 0.0317017f, 0.0942555f, 0.15644f, 0.21801f, 0.278724f, 0.33834f, 0.396627f, 0.453355f, 0.508303f, 0.561255f, 0.612003f, 0.660347f, 0.706099f, 0.749079f, 0.789106f, 0.826033f, 0.859716f, 0.890022f, 0.916834f, 0.940045f, 0.959564f, 0.975316f, 0.987238f, 0.995272f, 0.999392f, 0.999589f, 0.99586f, 0.988221f, 0.976701f, 0.961346f, 0.942216f, 0.919385f, 0.892937f, 0.862975f, 0.829624f, 0.793016f, 0.753294f, 0.710613f, 0.665143f, 0.61706f, 0.566553f, 0.513818f, 0.45906f, 0.4025f, 0.344359f, 0.284867f, 0.224255f, 0.162764f, 0.100632f, 0.038105f, -0.0245725f, -0.0871532f, -0.149391f, -0.211041f, -0.271863f, -0.331616f, -0.390068f, -0.446988f, -0.502153f, -0.555347f, -0.606353f, -0.654975f, -0.701025f, -0.744322f, -0.784696f, -0.821988f, -0.856053f, -0.886756f, -0.913977f, -0.937601f, -0.957536f, -0.973711f, -0.986062f, -0.994541f, -0.999114f, -0.999764f, -0.996488f, -0.989298f, -0.978218f, -0.963287f, -0.944573f, -0.922149f, -0.896105f, -0.866541f, -0.833575f, -0.797335f, -0.757964f, -0.715614f, -0.670444f, -0.622642f, -0.572395f, -0.519901f, -0.465365f, -0.409001f, -0.351032f, -0.291683f, -0.231188f, -0.169781f, -0.107709f, -0.0452136f, 0.0174586f, 0.0800621f, 0.142351f, 0.204082f, 0.265011f, 0.324901f, 0.383511f, 0.440613f, 0.495984f, 0.549407f, 0.600672f, 0.649578f, 0.695934f, 0.739557f, 0.780277f, 0.817927f, 0.852357f, 0.88344f, 0.911054f, 0.93509f, 0.955453f, 0.972065f, 0.98486f, 0.993787f, 0.998808f, 0.999895f, 0.997056f, 0.990301f, 0.979658f, 0.965167f, 0.946887f, 0.924888f, 0.899257f, 0.870094f, 0.8375f, 0.801618f, 0.762589f, 0.720565f, 0.675712f, 0.628205f, 0.578231f, 0.525985f, 0.471674f, 0.415504f, 0.357702f, 0.298495f, 0.238117f, 0.176804f, 0.114796f, 0.0523376f, -0.0103269f, -0.0729516f, -0.13529f, -0.197095f, -0.258125f, -0.318142f, -0.376909f, -0.434196f, -0.489778f, -0.543437f, -0.594962f, -0.644149f, -0.690799f, -0.734735f, -0.775786f, -0.81379f, -0.848599f, -0.880075f, -0.908095f, -0.93255f, -0.953341f, -0.970375f, -0.983597f, -0.992957f, -0.998418f, -0.999958f, -0.997572f, -0.991268f, -0.981071f, -0.967021f, -0.949161f, -0.927571f, -0.902339f, -0.873564f, -0.841358f, -0.805849f, -0.767174f, -0.725487f, -0.68095f, -0.633733f, -0.584023f, -0.53202f, -0.477928f, -0.42196f, -0.364335f, -0.305279f, -0.245023f, -0.183805f, -0.121863f, -0.059442f, 0.00321187f, 0.0658526f, 0.128235f, 0.190113f, 0.251245f, 0.31139f, 0.370314f, 0.427783f, 0.483566f, 0.537449f, 0.589222f, 0.63868f, 0.68563f, 0.729888f, 0.77128f, 0.809644f, 0.844828f, 0.876682f, 0.905092f, 0.929948f, 0.951152f, 0.968621f, 0.982286f, 0.992093f, 0.998005f, 0.999998f, 0.998053f, 0.992184f, 0.982419f, 0.968796f, 0.951369f, 0.930206f, 0.90539f, 0.877019f, 0.845203f, 0.810061f, 0.771732f, 0.730373f, 0.686146f, 0.639225f, 0.589793f, 0.538045f, 0.484184f, 0.428421f, 0.370973f, 0.312065f, 0.251931f, 0.190809f, 0.128937f, 0.0665597f, 0.00392054f, -0.0587344f, -0.121159f, -0.183109f, -0.244337f, -0.304604f, -0.363675f, -0.421318f, -0.477305f, -0.531419f, -0.583446f, -0.633182f, -0.680433f, -0.725002f, -0.766722f, -0.80543f, -0.840976f, -0.873219f, -0.902032f, -0.927304f, -0.948935f, -0.966839f, -0.980937f, -0.991177f, -0.997524f, -0.999954f, -0.998457f, -0.99304f, -0.983723f, -0.970542f, -0.953551f, -0.932809f, -0.908394f, -0.880413f, -0.848974f, -0.814202f, -0.776232f, -0.735214f, -0.691309f, -0.644688f, -0.595534f, -0.544033f, -0.490397f, -0.434835f, -0.377565f, -0.318814f, -0.25881f, -0.197789f, -0.135991f, -0.0736586f, -0.0110356f, 0.05163f, 0.114092f, 0.176106f, 0.237428f, 0.297818f, 0.357039f, 0.414858f, 0.471049f, 0.525384f, 0.577654f, 0.627654f, 0.67519f, 0.720074f, 0.76213f, 0.801194f, 0.837111f, 0.869742f, 0.898951f, 0.924622f, 0.946661f, 0.964983f, 0.979516f, 0.990202f, 0.996999f, 0.999882f, 0.998839f, 0.993869f, 0.984985f, 0.972232f, 0.955662f, 0.935339f, 0.911344f, 0.883769f, 0.852724f, 0.81833f, 0.780722f, 0.740036f, 0.696444f, 0.650117f, 0.601238f, 0.549998f, 0.496598f, 0.441248f, 0.384164f, 0.325571f, 0.265695f, 0.204776f, 0.143053f, 0.0807685f, 0.0181671f, -0.0445056f, -0.107004f, -0.169082f, -0.230498f, -0.291006f, -0.350369f, -0.408355f, -0.464738f, -0.519295f, -0.571813f, -0.622086f, -0.669916f, -0.715116f, -0.757505f, -0.79691f, -0.833185f, -0.866188f, -0.89579f, -0.921874f, -0.944338f, -0.963094f, -0.978067f, -0.989199f, -0.996431f, -0.999751f, -0.999144f, -0.994614f, -0.986179f, -0.97387f, -0.957737f, -0.937844f, -0.914266f, -0.887086f, -0.856421f, -0.822392f, -0.785135f, -0.744794f, -0.701529f, -0.655509f, -0.606914f, -0.555935f, -0.502767f, -0.447623f, -0.390721f, -0.332285f, -0.272544f, -0.211734f, -0.150091f, -0.0878589f, -0.0252809f, 0.037397f, 0.0999273f, 0.162065f, 0.223565f, 0.284187f, 0.343693f, 0.40185f, 0.458429f, 0.513208f, 0.565971f, 0.616504f, 0.664615f, 0.710116f, 0.752828f, 0.792584f, 0.829228f, 0.862615f, 0.892615f, 0.919111f, 0.941982f, 0.961154f, 0.976551f, 0.988113f, 0.995795f, 0.999567f, 0.999414f, 0.995336f, 0.98735f, 0.975475f, 0.959765f, 0.940287f, 0.917116f, 0.890344f, 0.860075f, 0.826429f, 0.789538f, 0.749545f, 0.706603f, 0.660881f, 0.612564f, 0.561841f, 0.508913f, 0.453986f, 0.397276f, 0.339006f, 0.279404f, 0.218702f, 0.15714f, 0.0949612f, 0.0324101f, -0.0302681f, -0.0928273f, -0.155022f, -0.216609f, -0.277345f, -0.336993f, -0.395312f, -0.452078f, -0.507068f, -0.560067f, -0.610866f, -0.659267f, -0.705079f, -0.748123f, -0.788229f, -0.825229f, -0.858986f, -0.88937f, -0.91626f, -0.939553f, -0.959157f, -0.974993f, -0.987001f, -0.995134f, -0.999348f, -0.999632f, -0.995991f, -0.988438f, -0.977004f, -0.961733f, -0.942686f, -0.919936f, -0.893574f, -0.863697f, -0.830419f, -0.793882f, -0.754227f, -0.71161f, -0.666199f, -0.618172f, -0.567716f, -0.515031f, -0.460322f, -0.403799f, -0.34569f, -0.286225f, -0.225636f, -0.164161f, -0.102041f, -0.0395207f, 0.0231558f, 0.0857421f, 0.14799f, 0.209657f, 0.270499f, 0.330279f, 0.388762f, 0.445718f, 0.500924f, 0.554164f, 0.605228f, 0.653908f, 0.700017f, 0.743377f, 0.783817f, 0.821179f, 0.855317f, 0.886095f, 0.913395f, 0.937108f, 0.957133f, 0.973392f, 0.985828f, 0.994393f, 0.999053f, 0.99979f, 0.996602f, 0.989499f, 0.978512f, 0.963677f, 0.945046f, 0.922705f, 0.896741f, 0.867255f, 0.834364f, 0.798196f, 0.758893f, 0.716611f, 0.671512f, 0.623767f, 0.573573f, 0.521127f, 0.466634f, 0.410309f, 0.352373f, 0.293053f, 0.232581f, 0.171196f, 0.109135f, 0.0466467f, -0.0160245f, -0.0786323f, -0.140931f, -0.202677f, -0.263626f, -0.323541f, -0.382187f, -0.439328f, -0.49474f, -0.548209f, -0.599525f, -0.648486f, -0.694901f, -0.738588f, -0.779374f, -0.8171f, -0.851612f, -0.882772f, -0.910464f, -0.934582f, -0.955029f, -0.971725f, -0.984606f, -0.99362f, -0.998733f, -0.999921f, -0.997169f, -0.990501f, -0.979943f, -0.965538f, -0.94734f, -0.925423f, -0.899871f, -0.870786f, -0.83828f, -0.80247f, -0.763509f, -0.721549f, -0.676756f, -0.629306f, -0.579384f, -0.527187f, -0.47292f, -0.416794f, -0.359027f, -0.299849f, -0.239494f, -0.178198f, -0.116204f, -0.0537525f, 0.00890995f, 0.0715378f, 0.133885f, 0.195707f, 0.256757f, 0.316799f, 0.375596f, 0.432919f, 0.488541f, 0.542244f, 0.593819f, 0.643062f, 0.689778f, 0.733777f, 0.774894f, 0.812967f, 0.847848f, 0.879399f, 0.907497f, 0.932031f, 0.952906f, 0.970039f, 0.983347f, 0.992793f, 0.99834f, 0.999967f, 0.997668f, 0.991452f, 0.981342f, 0.967378f, 0.949615f, 0.928111f, 0.902959f, 0.874262f, 0.842132f, 0.806695f, 0.76809f, 0.726469f, 0.681995f, 0.634842f, 0.58519f, 0.533236f, 0.479189f, 0.42326f, 0.36567f, 0.306643f, 0.246412f, 0.185213f, 0.123286f, 0.0608742f, -0.00177754f, -0.0644215f, -0.126812f, -0.188704f, -0.249856f, -0.310026f, -0.368979f, -0.426483f, -0.482313f, -0.536242f, -0.588064f, -0.637577f, -0.684585f, -0.728906f, -0.770363f, -0.808796f, -0.844054f, -0.875997f, -0.904487f, -0.929424f, -0.95071f, -0.968264f, -0.982014f, -0.991909f, -0.997908f, -0.999989f, -0.998143f, -0.992366f, -0.982687f, -0.96915f, -0.951806f, -0.930725f, -0.905989f, -0.877696f, -0.845955f, -0.810892f, -0.772639f, -0.731344f, -0.687179f, -0.640315f, -0.590937f, -0.539238f, -0.485422f, -0.429699f, -0.372288f, -0.313413f, -0.253304f, -0.1922f, -0.130343f, -0.0679735f, -0.00533753f, 0.0573195f, 0.119752f, 0.181714f, 0.242964f, 0.303256f, 0.362356f, 0.420033f, 0.47606f, 0.530217f, 0.582292f, 0.632081f, 0.679388f, 0.724028f, 0.765816f, 0.804593f, 0.84021f, 0.872528f, 0.901419f, 0.92677f, 0.948482f, 0.966469f, 0.980662f, 0.990995f, 0.997428f, 0.999945f, 0.998536f, 0.993206f, 0.983976f, 0.970882f, 0.953975f, 0.933321f, 0.908998f, 0.881095f, 0.849733f, 0.815034f, 0.777134f, 0.736183f, 0.692341f, 0.64578f, 0.596682f, 0.54524f, 0.491649f, 0.436127f, 0.378894f, 0.320173f, 0.260194f, 0.199194f, 0.137411f, 0.0750884f, 0.0124699f, -0.0501979f, -0.112668f, -0.174695f, -0.236035f, -0.296448f, -0.355698f, -0.41355f, -0.46978f, -0.524165f, -0.576486f, -0.62654f, -0.674133f, -0.719078f, -0.7612f, -0.800332f, -0.836322f, -0.869027f, -0.898321f, -0.924081f, -0.946203f, -0.964609f, -0.979227f, -0.99f, -0.996885f, -0.999856f, -0.9989f, -0.994021f, -0.985236f, -0.972569f, -0.956083f, -0.935842f, -0.911927f, -0.884431f, -0.853461f, -0.81914f, -0.781602f, -0.740994f, -0.697464f, -0.651196f, -0.602371f, -0.551181f, -0.497827f, -0.442517f, -0.38547f, -0.326908f, -0.267062f, -0.206164f, -0.144456f, -0.082181f, -0.0195839f, 0.0430899f, 0.105595f, 0.167685f, 0.229117f, 0.28965f, 0.349044f, 0.407063f, 0.463484f, 0.518084f, 0.57065f, 0.620974f, 0.668861f, 0.714121f, 0.756577f, 0.796059f, 0.832405f, 0.865483f, 0.895161f, 0.921324f, 0.943869f, 0.962707f, 0.977765f, 0.988984f, 0.996318f, 0.999725f, 0.999206f, 0.994763f, 0.986414f, 0.974192f, 0.958144f, 0.938334f, 0.914839f, 0.887751f, 0.857164f, 0.82321f, 0.786023f, 0.74575f, 0.702549f, 0.656589f, 0.60805f, 0.557123f, 0.504008f, 0.448908f, 0.392043f, 0.333638f, 0.273924f, 0.213135f, 0.151509f, 0.0892872f, 0.0267146f, -0.0359636f, -0.0985008f, -0.16065f, -0.222167f, -0.282812f, -0.342346f, -0.400535f, -0.457152f, -0.511974f, -0.564785f, -0.615379f, -0.663547f, -0.709108f, -0.751885f, -0.791709f, -0.828424f, -0.861885f, -0.891963f, -0.918538f, -0.941506f, -0.960763f, -0.976245f, -0.987894f, -0.995664f, -0.999523f, -0.999457f, -0.995467f, -0.987567f, -0.97579f, -0.960169f, -0.940773f, -0.917683f, -0.89099f, -0.860797f, -0.827225f, -0.790404f, -0.750478f, -0.707605f, -0.661948f, -0.613686f, -0.563015f, -0.510133f, -0.455248f, -0.398575f, -0.340337f, -0.280762f, -0.220084f, -0.15854f, -0.0963723f, -0.0338264f, 0.0288517f, 0.0914162f, 0.153622f, 0.215224f, 0.275982f, 0.335656f, 0.394013f, 0.450816f, 0.505848f, 0.558894f, 0.609744f, 0.6582f, 0.704071f, 0.747177f, 0.78735f, 0.824432f, 0.858265f, 0.888725f, 0.915694f, 0.939068f, 0.958754f, 0.974674f, 0.986768f, 0.994986f, 0.999298f, 0.999676f, 0.996122f, 0.988657f, 0.977309f, 0.962123f, 0.94316f, 0.920492f, 0.89421f, 0.864416f, 0.831223f, 0.794756f, 0.755169f, 0.712617f, 0.667267f, 0.619297f, 0.568894f, 0.516257f, 0.461592f, 0.405113f, 0.347038f, 0.2876f, 0.227034f, 0.165576f, 0.103468f, 0.0409537f, -0.0217217f, -0.0843123f, -0.146573f, -0.208255f, -0.269119f, -0.328926f, -0.38744f, -0.444433f, -0.499681f, -0.552966f, -0.604081f, -0.652824f, -0.698997f, -0.74242f, -0.782928f, -0.82036f, -0.854572f, -0.885427f, -0.912805f, -0.9366f, -0.956716f, -0.973069f, -0.985592f, -0.994244f, -0.998991f, -0.999816f, -0.996715f, -0.989699f, -0.978797f, -0.964051f, -0.945517f, -0.923257f, -0.897371f, -0.867962f, -0.835145f, -0.799048f, -0.759813f, -0.717595f, -0.672557f, -0.624879f, -0.574737f, -0.522337f, -0.467888f, -0.411601f, -0.353698f, -0.294406f, -0.233958f, -0.17259f, -0.110544f, -0.0480624f, 0.0146077f, 0.0772198f, 0.139528f, 0.201289f, 0.262258f, 0.322199f, 0.380874f, 0.438055f, 0.493511f, 0.547026f, 0.598392f, 0.647408f, 0.693881f, 0.73763f, 0.778481f, 0.816277f, 0.850867f, 0.882112f, 0.909882f, 0.93408f, 0.954609f, 0.971389f, 0.984355f, 0.993455f, 0.998655f, 0.999932f, 0.997283f, 0.990702f, 0.980231f, 0.965911f, 0.947798f, 0.925963f, 0.900491f, 0.871484f, 0.839054f, 0.803329f, 0.764438f, 0.722544f, 0.677812f, 0.63042f, 0.580552f, 0.528404f, 0.47418f, 0.418094f, 0.360366f, 0.301219f, 0.240887f, 0.17961f, 0.117628f, 0.0551847f, -0.00747562f, -0.0701068f, -0.132463f, -0.1943f, -0.255373f, -0.31544f, -0.374268f, -0.431626f, -0.487288f, -0.541037f, -0.592662f, -0.641959f, -0.688736f, -0.732807f, -0.773991f, -0.812134f, -0.847088f, -0.878715f, -0.906892f, -0.931507f, -0.952465f, -0.969682f, -0.983092f, -0.992626f, -0.998261f, -0.999976f, -0.997764f, -0.991634f, -0.98161f, -0.967731f, -0.950052f, -0.928642f, -0.903574f, -0.874954f, -0.842899f, -0.807533f, -0.768997f, -0.727441f, -0.683028f, -0.635932f, -0.586339f, -0.534438f, -0.480435f, -0.424545f, -0.366989f, -0.307991f, -0.247785f, -0.186605f, -0.124692f, -0.0622883f, 0.000360554f, 0.0630078f, 0.125407f, 0.187313f, 0.248483f, 0.308678f, 0.36766f, 0.425199f, 0.481069f, 0.535049f, 0.586921f, 0.636487f, 0.683553f, 0.727935f, 0.769458f, 0.807959f, 0.843288f, 0.875306f, 0.903886f, 0.928906f, 0.950274f, 0.967911f, 0.981746f, 0.991727f, 0.997813f, 0.99998f, 0.998222f, 0.992544f, 0.982958f, 0.969506f, 0.952247f, 0.931249f, 0.906594f, 0.878378f, 0.846714f, 0.811724f, 0.773547f, 0.732326f, 0.688223f, 0.641418f, 0.592094f, 0.540445f, 0.486674f, 0.430991f, 0.373616f, 0.314773f, 0.254693f, 0.193609f, 0.131765f, 0.0694046f, 0.00677185f, -0.0558874f, -0.118327f, -0.180303f, -0.241571f, -0.301891f, -0.361021f, -0.418732f, -0.474799f, -0.529001f, -0.581125f, -0.630967f, -0.678332f, -0.723033f, -0.764895f, -0.803746f, -0.839435f, -0.871828f, -0.900797f, -0.926229f, -0.948024f, -0.966095f, -0.980373f, -0.990802f, -0.997332f, -0.999937f, -0.998615f, -0.993372f, -0.984227f, -0.971218f, -0.954395f, -0.933824f, -0.909586f, -0.881772f, -0.850485f, -0.815858f, -0.778027f, -0.737142f, -0.693362f, -0.646859f, -0.597815f, -0.546424f, -0.492886f, -0.437405f, -0.380206f, -0.321515f, -0.261562f, -0.200582f, -0.138814f, -0.0765009f, -0.0138867f, 0.0487828f, 0.11126f, 0.1733f, 0.234658f, 0.295095f, 0.354373f, 0.412259f, 0.468526f, 0.522954f, 0.575329f, 0.625439f, 0.673089f, 0.718095f, 0.760281f, 0.799481f, 0.835542f, 0.868321f, 0.897691f, 0.923537f, 0.94575f, 0.96424f, 0.978942f, 0.989801f, 0.996772f, 0.999829f, 0.998961f, 0.99417f, 0.985475f, 0.972908f, 0.956507f, 0.936349f, 0.912515f, 0.885098f, 0.854205f, 0.819958f, 0.78249f, 0.74195f, 0.698495f, 0.652288f, 0.603518f, 0.552379f, 0.49907f, 0.443802f, 0.386792f, 0.328262f, 0.268442f, 0.207568f, 0.145876f, 0.0836108f, 0.021018f, -0.0416569f, -0.104168f, -0.16627f, -0.227719f, -0.288275f, -0.347699f, -0.405756f, -0.462215f, -0.516859f, -0.569472f, -0.619849f, -0.667792f, -0.713113f, -0.755633f, -0.795187f, -0.831616f, -0.864768f, -0.894524f, -0.920767f, -0.943394f, -0.962316f, -0.97746f, -0.988765f, -0.996187f, -0.999698f, -0.999267f, -0.994911f, -0.986649f, -0.974512f, -0.958548f, -0.938821f, -0.915406f, -0.888396f, -0.857898f, -0.82402f, -0.786903f, -0.746696f, -0.703558f, -0.657656f, -0.609173f, -0.558297f, -0.505228f, -0.450174f, -0.393348f, -0.334975f, -0.275288f, -0.21452f, -0.152909f, -0.0906982f, -0.0281309f, 0.0345472f, 0.0970903f, 0.159252f, 0.220787f, 0.281453f, 0.341015f, 0.399236f, 0.45589f, 0.510754f, 0.563612f, 0.614258f, 0.662491f, 0.708112f, 0.750953f, 0.790844f, 0.827629f, 0.861164f, 0.891318f, 0.917971f, 0.94102f, 0.960374f, 0.975943f, 0.987678f, 0.995533f, 0.99948f, 0.999501f, 0.995598f, 0.987786f, 0.976095f, 0.96057f, 0.941264f, 0.918255f, 0.891641f, 0.861526f, 0.828028f, 0.791278f, 0.751421f, 0.708613f, 0.663022f, 0.614822f, 0.564202f, 0.511368f, 0.456525f, 0.39989f, 0.341685f, 0.282137f, 0.221482f, 0.159956f, 0.0978005f, 0.0352601f, -0.027418f, -0.089988f, -0.152204f, -0.213823f, -0.274602f, -0.334302f, -0.392691f, -0.449538f, -0.504614f, -0.557706f, -0.608608f, -0.657119f, -0.70305f, -0.746221f, -0.786461f, -0.823613f, -0.857531f, -0.888072f, -0.915121f, -0.938576f, -0.958346f, -0.974351f, -0.986531f, -0.994837f, -0.999236f, -0.999711f, -0.996253f, -0.988874f, -0.977612f, -0.962511f, -0.94363f, -0.921044f, -0.89484f, -0.865123f, -0.832008f, -0.795622f, -0.756102f, -0.713614f, -0.668323f, -0.620409f, -0.570058f, -0.517468f, -0.462846f, -0.406406f, -0.348369f, -0.288959f, -0.228414f, -0.166973f, -0.104877f, -0.0423694f, 0.0203049f, 0.0828998f, 0.14517f, 0.20687f, 0.267756f, 0.327589f, 0.386134f, 0.443163f, 0.498452f, 0.551783f, 0.602948f, 0.651745f, 0.697984f, 0.741475f, 0.782049f, 0.819552f, 0.853836f, 0.884767f, 0.912223f, 0.936098f, 0.956296f, 0.97274f, 0.985358f, 0.994096f, 0.998931f, 0.999843f, 0.996829f, 0.989901f, 0.979085f, 0.964425f, 0.945977f, 0.923813f, 0.898007f, 0.868676f, 0.835933f, 0.799909f, 0.760743f, 0.718589f, 0.673614f, 0.625993f, 0.575913f, 0.523563f, 0.469157f, 0.412909f, 0.35504f, 0.295776f, 0.235351f, 0.174002f, 0.111969f, 0.0494952f, -0.0131736f, -0.07579f, -0.138108f, -0.199883f, -0.260874f, -0.32084f, -0.379546f, -0.436762f, -0.492263f, -0.545829f, -0.597245f, -0.646316f, -0.692848f, -0.73666f, -0.777578f, -0.815444f, -0.850107f, -0.881432f, -0.909293f, -0.933572f, -0.954184f, -0.971049f, -0.984101f, -0.993289f, -0.998575f, -0.999941f, -0.99738f, -0.990902f, -0.980517f, -0.966281f, -0.948251f, -0.926498f, -0.901106f, -0.872176f, -0.839821f, -0.804167f, -0.765355f, -0.723528f, -0.678857f, -0.631521f, -0.581705f, -0.529606f, -0.475426f, -0.419379f, -0.361685f, -0.30257f, -0.242264f, -0.181005f, -0.119036f, -0.0565995f, 0.00605863f, 0.068693f, 0.131058f, 0.192908f, 0.254002f, 0.314097f, 0.372956f, 0.430349f, 0.486051f, 0.539845f, 0.591518f, 0.640869f, 0.687704f, 0.731839f, 0.773098f, 0.811311f, 0.846337f, 0.87804f, 0.906294f, 0.930989f, 0.952028f, 0.969329f, 0.982824f, 0.992459f, 0.998183f, 0.999985f, 0.997861f, 0.991818f, 0.981881f, 0.968087f, 0.950493f, 0.929165f, 0.904189f, 0.875652f, 0.843672f, 0.80838f, 0.769913f, 0.728423f, 0.684072f, 0.637035f, 0.587496f, 0.53565f, 0.481696f, 0.425845f, 0.368324f, 0.309356f, 0.249174f, 0.188013f, 0.126114f, 0.0637194f, 0.00107377f, -0.0615767f, -0.123984f, -0.185904f, -0.247094f, -0.307313f, -0.366325f, -0.423898f, -0.479808f, -0.533833f, -0.585763f, -0.635384f, -0.682508f, -0.726952f, -0.768541f, -0.807112f, -0.842513f, -0.874606f, -0.903265f, -0.928377f, -0.949833f, -0.967554f, -0.981475f, -0.991543f, -0.997716f, -0.999972f, -0.9983f, -0.992709f, -0.983219f, -0.96986f, -0.952684f, -0.931768f, -0.907193f, -0.879055f, -0.847466f, -0.812548f, -0.774439f, -0.733289f, -0.689256f, -0.642508f, -0.593237f, -0.541638f, -0.487911f, -0.432269f, -0.374929f, -0.316116f, -0.256061f, -0.195f, -0.13317f, -0.0708184f, -0.00818884f, 0.0544725f, 0.11692f, 0.178908f, 0.240194f, 0.300537f, 0.359701f, 0.417448f, 0.473553f, 0.527799f, 0.579971f, 0.629866f, 0.677288f, 0.722049f, 0.763976f, 0.802904f, 0.83867f, 0.871137f, 0.900184f, 0.925695f, 0.947571f, 0.965726f, 0.980088f, 0.990602f, 0.997226f, 0.999928f, 0.998694f, 0.993538f, 0.984481f, 0.971557f, 0.954819f, 0.934331f, 0.910174f, 0.882443f, 0.851243f, 0.81669f, 0.77893f, 0.738111f, 0.694394f, 0.64795f, 0.598962f, 0.547622f, 0.49413f, 0.438697f, 0.381535f, 0.322875f, 0.262947f, 0.201987f, 0.140234f, 0.0779307f, 0.0153208f, -0.0473498f, -0.109835f, -0.171888f, -0.233265f, -0.293725f, -0.353031f, -0.410951f, -0.467257f, -0.521728f, -0.574151f, -0.62432f, -0.672032f, -0.7171f, -0.759351f, -0.79862f, -0.834752f, -0.867607f, -0.897054f, -0.92298f, -0.94528f, -0.963866f, -0.978654f, -0.989599f, -0.996658f, -0.999803f, -0.999022f, -0.994318f, -0.985709f, -0.973229f, -0.956927f, -0.936852f, -0.913099f, -0.885759f, -0.854942f, -0.820767f, -0.78337f, -0.742896f, -0.699504f, -0.653365f, -0.604651f, -0.553562f, -0.500299f, -0.445072f, -0.388097f, -0.329599f, -0.269805f, -0.208952f, -0.147278f, -0.0850233f, -0.0224348f, 0.0402412f, 0.102759f, 0.164872f, 0.226339f, 0.286916f, 0.346368f, 0.40446f, 0.460961f, 0.515648f, 0.568309f, 0.618737f, 0.666736f, 0.712117f, 0.754701f, 0.794322f, 0.830824f, 0.864062f, 0.893894f, 0.920216f, 0.942925f, 0.96193f, 0.977158f, 0.988548f, 0.996057f, 0.999654f, 0.999327f, 0.99506f, 0.986885f, 0.974834f, 0.958955f, 0.939311f, 0.915978f, 0.889048f, 0.858627f, 0.824833f, 0.787791f, 0.747652f, 0.704578f, 0.658736f, 0.610309f, 0.559484f, 0.506462f, 0.451451f, 0.394667f, 0.336329f, 0.276668f, 0.215921f, 0.154327f, 0.0921265f, 0.0295646f, -0.0331135f, -0.095662f, -0.157835f, -0.219389f, -0.280078f, -0.339667f, -0.397921f, -0.454613f, -0.509519f, -0.562424f, -0.613121f, -0.661411f, -0.707104f, -0.750009f, -0.789968f, -0.826825f, -0.860434f, -0.890665f, -0.917398f, -0.940529f, -0.959966f, -0.975634f, -0.987459f, -0.995402f, -0.999436f, -0.999545f, -0.995729f, -0.988003f, -0.976397f, -0.960957f, -0.941743f, -0.918823f, -0.892287f, -0.862248f, -0.828823f, -0.792144f, -0.752354f, -0.709609f, -0.664078f, -0.615938f, -0.565376f, -0.512588f, -0.457787f, -0.401189f, -0.343016f, -0.283496f, -0.222862f, -0.161353f, -0.0992101f, -0.0366765f, 0.0260017f, 0.088577f, 0.150804f, 0.212438f, 0.273238f, 0.332965f, 0.391385f, 0.448269f, 0.503393f, 0.556533f, 0.607485f, 0.656052f, 0.702042f, 0.745276f, 0.785582f, 0.822804f, 0.856795f, 0.887422f, 0.914555f, 0.938091f, 0.957943f, 0.974033f, 0.986298f, 0.994689f, 0.999175f, 0.999738f, 0.996375f, 0.989092f, 0.977917f, 0.962901f, 0.944104f, 0.9216f, 0.895476f, 0.865837f, 0.832797f, 0.796486f, 0.757045f, 0.714621f, 0.669391f, 0.621534f, 0.571235f, 0.518694f, 0.464115f, 0.407714f, 0.349711f, 0.290334f, 0.229812f, 0.168388f, 0.106304f, 0.0438025f, -0.0188708f, -0.08147f, -0.14375f, -0.205465f, -0.266375f, -0.326235f, -0.384813f, -0.441878f, -0.497208f, -0.550586f, -0.601801f, -0.650653f, -0.696951f, -0.740512f, -0.78116f, -0.818733f, -0.853091f, -0.884098f, -0.911634f, -0.93559f, -0.955872f, -0.9724f, -0.98511f, -0.993947f, -0.998869f, -0.999869f, -0.996942f, -0.9901f, -0.979371f, -0.964795f, -0.946431f, -0.92435f, -0.898637f, -0.869383f, -0.836714f, -0.80076f, -0.761662f, -0.719573f, -0.674658f, -0.627094f, -0.577067f, -0.524773f, -0.470411f, -0.414201f, -0.356365f, -0.29713f, -0.236728f, -0.175397f, -0.113376f, -0.05091f, 0.0117567f, 0.0743775f, 0.136705f, 0.198495f, 0.259506f, 0.319497f, 0.378233f, 0.435485f, 0.491026f, 0.54464f, 0.596112f, 0.645237f, 0.691828f, 0.735702f, 0.776686f, 0.81462f, 0.849356f, 0.880756f, 0.908698f, 0.93307f, 0.953764f, 0.970713f, 0.98385f, 0.993124f, 0.998497f, 0.99995f, 0.997476f, 0.991086f, 0.980803f, 0.966654f, 0.948709f, 0.927038f, 0.901726f, 0.872874f, 0.840594f, 0.805013f, 0.766271f, 0.724519f, 0.679913f, 0.632635f, 0.582873f, 0.530822f, 0.476687f, 0.42068f, 0.36302f, 0.303935f, 0.243655f, 0.182416f, 0.12046f, 0.0580317f, -0.0046243f, -0.0672619f, -0.129635f, -0.1915f, -0.252613f, -0.312734f, -0.371627f, -0.429056f, -0.484799f, -0.538638f, -0.590361f, -0.639766f, -0.686659f, -0.730856f, -0.772183f, -0.810478f, -0.845577f, -0.877356f, -0.905688f, -0.930465f, -0.951587f, -0.968972f, -0.982553f, -0.992275f, -0.9981f, -0.999994f, -0.997956f, -0.992001f, -0.982149f, -0.968441f, -0.95093f, -0.929684f, -0.904788f, -0.876338f, -0.844439f, -0.809218f, -0.770819f, -0.729394f, -0.685105f, -0.638125f, -0.58864f, -0.536842f, -0.482936f, -0.42713f, -0.369643f, -0.310704f, -0.250546f, -0.189405f, -0.127519f, -0.0651332f, -0.00249076f, 0.060162f, 0.122579f, 0.184513f, 0.245722f, 0.305965f, 0.365006f, 0.422614f, 0.478562f, 0.532632f, 0.58461f, 0.634293f, 0.681476f, 0.725981f, 0.767635f, 0.806275f, 0.841748f, 0.873916f, 0.902652f, 0.927843f, 0.949391f, 0.967201f, 0.981207f, 0.99136f, 0.99762f, 0.999963f, 0.998379f, 0.992875f, 0.983472f, 0.970207f, 0.953125f, 0.932291f, 0.907797f, 0.879738f, 0.848225f, 0.81338f, 0.775342f, 0.734258f, 0.690291f, 0.643611f, 0.594394f, 0.542845f, 0.489163f, 0.433561f, 0.376257f, 0.317475f, 0.257446f, 0.196405f, 0.134593f, 0.0722495f, 0.00962317f, -0.0530403f, -0.115495f, -0.177496f, -0.238801f, -0.299167f, -0.35836f, -0.416146f, -0.472293f, -0.526582f, -0.578804f, -0.628752f, -0.676231f, -0.721054f, -0.763046f, -0.802042f, -0.837889f, -0.870438f, -0.899563f, -0.925154f, -0.947113f, -0.965352f, -0.9798f, -0.990401f, -0.997112f, -0.999908f, -0.998772f, -0.993703f, -0.984732f, -0.971894f, -0.95524f, -0.934834f, -0.910757f, -0.883104f, -0.851983f, -0.817514f, -0.779823f, -0.73907f, -0.695415f, -0.649029f, -0.600095f, -0.548805f, -0.495358f, -0.439967f, -0.382846f, -0.324217f, -0.264315f, -0.203375f, -0.141637f, -0.0793432f, -0.0167376f, 0.0459341f, 0.108426f, 0.170493f, 0.231888f, 0.292371f, 0.351706f, 0.409659f, 0.466003f, 0.520517f, 0.572987f, 0.623208f, 0.670982f, 0.716116f, 0.758432f, 0.797769f, 0.833972f, 0.866901f, 0.896425f, 0.922429f, 0.944811f, 0.963483f, 0.978369f, 0.9894f, 0.996545f, 0.999777f, 0.999083f, 0.994467f, 0.985945f, 0.973551f, 0.957335f, 0.937358f, 0.913687f, 0.886427f, 0.855686f, 0.821585f, 0.784258f, 0.743852f, 0.700524f, 0.654445f, 0.605795f, 0.554759f, 0.501543f, 0.446357f, 0.389419f, 0.330952f, 0.271185f, 0.210354f, 0.148695f, 0.0864524f, 0.0238689f, -0.0388081f, -0.101332f, -0.163458f, -0.224941f, -0.285541f, -0.34502f, -0.403145f, -0.459687f, -0.514422f, -0.567131f, -0.617612f, -0.665668f, -0.711109f, -0.753758f, -0.793446f, -0.83002f, -0.863334f, -0.893257f, -0.919659f, -0.94245f, -0.961539f, -0.976852f, -0.988329f, -0.995925f, -0.99961f, -0.99937f, -0.995205f, -0.987119f, -0.975154f, -0.959359f, -0.939798f, -0.916545f, -0.889694f, -0.859349f, -0.825629f, -0.788666f, -0.748598f, -0.705586f, -0.659804f, -0.611431f, -0.560658f, -0.507682f, -0.452713f, -0.395966f, -0.337663f, -0.278031f, -0.217305f, -0.155727f, -0.0935375f, -0.030981f, 0.0316972f, 0.094251f, 0.156435f, 0.218005f, 0.27872f, 0.338336f, 0.396622f, 0.453351f, 0.508299f, 0.561251f, 0.611999f, 0.660344f, 0.706096f, 0.749076f, 0.789103f, 0.826031f, 0.859713f, 0.89002f, 0.916832f, 0.940043f, 0.959563f, 0.975315f, 0.987237f, 0.995271f, 0.999392f, 0.999589f, 0.995861f, 0.988222f, 0.976702f, 0.961347f, 0.942217f, 0.919387f, 0.892939f, 0.862977f, 0.829627f, 0.793019f, 0.753297f, 0.710617f, 0.665146f, 0.617063f, 0.566557f, 0.513822f, 0.459064f, 0.402504f, 0.344363f, 0.284871f, 0.22426f, 0.162768f, 0.100637f, 0.0381096f, -0.024568f, -0.0871487f, -0.149386f, -0.211037f, -0.271858f, -0.331612f, -0.390064f, -0.446984f, -0.502149f, -0.555343f, -0.606349f, -0.654972f, -0.701022f, -0.744319f, -0.784693f, -0.821985f, -0.85605f, -0.886754f, -0.913975f, -0.937599f, -0.957535f, -0.97371f, -0.986061f, -0.99454f, -0.999114f, -0.999764f, -0.996488f, -0.989299f, -0.978219f, -0.963288f, -0.944574f, -0.922151f, -0.896107f, -0.866544f, -0.833578f, -0.797338f, -0.757967f, -0.715618f, -0.670448f, -0.622646f, -0.572399f, -0.519905f, -0.465369f, -0.409006f, -0.351036f, -0.291687f, -0.231192f, -0.169786f, -0.107713f, -0.0452182f, 0.017454f, 0.0800575f, 0.142347f, 0.204077f, 0.265007f, 0.324896f, 0.383507f, 0.440609f, 0.49598f, 0.549403f, 0.600668f, 0.649575f, 0.695931f, 0.739554f, 0.780274f, 0.817924f, 0.852355f, 0.883438f, 0.911052f, 0.935088f, 0.955452f, 0.972064f, 0.984859f, 0.993787f, 0.998808f, 0.999895f, 0.997056f, 0.990302f, 0.979658f, 0.965168f, 0.946888f, 0.924889f, 0.899259f, 0.870096f, 0.837503f, 0.801621f, 0.762592f, 0.720568f, 0.675715f, 0.628208f, 0.578234f, 0.525989f, 0.471678f, 0.415508f, 0.357706f, 0.2985f, 0.238121f, 0.176808f, 0.114801f, 0.0523422f, -0.0103224f, -0.0729471f, -0.135285f, -0.19709f, -0.258121f, -0.318138f, -0.376905f, -0.434192f, -0.489774f, -0.543433f, -0.594959f, -0.644145f, -0.690795f, -0.734732f, -0.775783f, -0.813787f, -0.848596f, -0.880073f, -0.908093f, -0.932548f, -0.95334f, -0.970374f, -0.983597f, -0.992957f, -0.998418f, -0.999959f, -0.997572f, -0.991268f, -0.981072f, -0.967023f, -0.949162f, -0.927573f, -0.902341f, -0.873566f, -0.841361f, -0.805851f, -0.767177f, -0.72549f, -0.680954f, -0.633736f, -0.584027f, -0.532024f, -0.477932f, -0.421964f, -0.364339f, -0.305283f, -0.245028f, -0.183809f, -0.121868f, -0.0594465f, 0.00320732f, 0.0658481f, 0.12823f, 0.190108f, 0.25124f, 0.311386f, 0.37031f, 0.427778f, 0.483562f, 0.537445f, 0.589218f, 0.638676f, 0.685627f, 0.729885f, 0.771277f, 0.809641f, 0.844826f, 0.87668f, 0.905091f, 0.929947f, 0.951151f, 0.968619f, 0.982285f, 0.992093f, 0.998005f, 0.999998f, 0.998053f, 0.992184f, 0.98242f, 0.968797f, 0.951371f, 0.930208f, 0.905392f, 0.877021f, 0.845206f, 0.810064f, 0.771735f, 0.730376f, 0.686149f, 0.639228f, 0.589797f, 0.538049f, 0.484188f, 0.428425f, 0.370978f, 0.312069f, 0.251936f, 0.190813f, 0.128942f, 0.0665642f, 0.00392509f, -0.0587298f, -0.121155f, -0.183104f, -0.244332f, -0.3046f, -0.363671f, -0.421313f, -0.477301f, -0.531415f, -0.583442f, -0.633179f, -0.680429f, -0.724999f, -0.766719f, -0.805427f, -0.840973f, -0.873216f, -0.90203f, -0.927302f, -0.948933f, -0.966838f, -0.980936f, -0.991176f, -0.997524f, -0.999954f, -0.998458f, -0.99304f, -0.983724f, -0.970544f, -0.953552f, -0.93281f, -0.908396f, -0.880415f, -0.848976f, -0.814204f, -0.776235f, -0.735217f, -0.691312f, -0.644692f, -0.595538f, -0.544037f, -0.490401f, -0.434839f, -0.37757f, -0.318818f, -0.258814f, -0.197793f, -0.135996f, -0.0736632f, -0.0110402f, 0.0516255f, 0.114088f, 0.176102f, 0.237424f, 0.297814f, 0.357035f, 0.414854f, 0.471045f, 0.525381f, 0.57765f, 0.627651f, 0.675187f, 0.720071f, 0.762127f, 0.801191f, 0.837109f, 0.86974f, 0.898949f, 0.92462f, 0.94666f, 0.964982f, 0.979515f, 0.990201f, 0.996999f, 0.999882f, 0.998839f, 0.99387f, 0.984985f, 0.972233f, 0.955664f, 0.935341f, 0.911346f, 0.883771f, 0.852727f, 0.818333f, 0.780725f, 0.740039f, 0.696447f, 0.650121f, 0.601242f, 0.550002f, 0.496602f, 0.441252f, 0.384168f, 0.325575f, 0.2657f, 0.20478f, 0.143057f, 0.080773f, 0.0181717f, -0.0445011f, -0.106999f, -0.169078f, -0.230493f, -0.291001f, -0.350365f, -0.408351f, -0.464734f, -0.519291f, -0.57181f, -0.622083f, -0.669913f, -0.715113f, -0.757502f, -0.796907f, -0.833183f, -0.866186f, -0.895788f, -0.921872f, -0.944336f, -0.963092f, -0.978066f, -0.989198f, -0.996431f, -0.999751f, -0.999144f, -0.994615f, -0.986179f, -0.973871f, -0.957739f, -0.937845f, -0.914268f, -0.887088f, -0.856423f, -0.822395f, -0.785138f, -0.744797f, -0.701532f, -0.655512f, -0.606918f, -0.555939f, -0.502771f, -0.447627f, -0.390725f, -0.332289f, -0.272549f, -0.211738f, -0.150096f, -0.0878634f, -0.0252854f, 0.0373924f, 0.0999228f, 0.16206f, 0.22356f, 0.284183f, 0.343689f, 0.401846f, 0.458425f, 0.513204f, 0.565967f, 0.6165f, 0.664612f, 0.710113f, 0.752825f, 0.792581f, 0.829225f, 0.862613f, 0.892613f, 0.919109f, 0.941981f, 0.961153f, 0.97655f, 0.988113f, 0.995795f, 0.999567f, 0.999414f, 0.995337f, 0.987351f, 0.975476f, 0.959766f, 0.940288f, 0.917118f, 0.890346f, 0.860078f, 0.826432f, 0.789541f, 0.749548f, 0.706606f, 0.660884f, 0.612567f, 0.561845f, 0.508917f, 0.45399f, 0.39728f, 0.33901f, 0.279408f, 0.218707f, 0.157144f, 0.0949658f, 0.0324146f, -0.0302635f, -0.0928227f, -0.155018f, -0.216604f, -0.277341f, -0.336988f, -0.395308f, -0.452074f, -0.507064f, -0.560063f, -0.610863f, -0.659264f, -0.705076f, -0.74812f, -0.788226f, -0.825226f, -0.858984f, -0.889367f, -0.916259f, -0.939552f, -0.959155f, -0.974992f, -0.987001f, -0.995133f, -0.999348f, -0.999632f, -0.995991f, -0.988439f, -0.977005f, -0.961734f, -0.942687f, -0.919938f, -0.893576f, -0.863699f, -0.830422f, -0.793884f, -0.75423f, -0.711613f, -0.666202f, -0.618175f, -0.56772f, -0.515035f, -0.460326f, -0.403803f, -0.345695f, -0.286229f, -0.225641f, -0.164166f, -0.102046f, -0.0395253f, 0.0231512f, 0.0857376f, 0.147986f, 0.209652f, 0.270495f, 0.330275f, 0.388758f, 0.445714f, 0.50092f, 0.55416f, 0.605224f, 0.653905f, 0.700014f, 0.743374f, 0.783814f, 0.821177f, 0.855314f, 0.886093f, 0.913393f, 0.937106f, 0.957132f, 0.973391f, 0.985827f, 0.994393f, 0.999053f, 0.99979f, 0.996602f, 0.9895f, 0.978513f, 0.963678f, 0.945048f, 0.922707f, 0.896743f, 0.867257f, 0.834366f, 0.798199f, 0.758896f, 0.716614f, 0.671516f, 0.623771f, 0.573577f, 0.521131f, 0.466638f, 0.410313f, 0.352377f, 0.293057f, 0.232586f, 0.1712f, 0.10914f, 0.0466512f, -0.0160199f, -0.0786277f, -0.140927f, -0.202672f, -0.263622f, -0.323537f, -0.382182f, -0.439324f, -0.494736f, -0.548205f, -0.599521f, -0.648483f, -0.694898f, -0.738584f, -0.779371f, -0.817097f, -0.85161f, -0.88277f, -0.910463f, -0.93458f, -0.955027f, -0.971724f, -0.984605f, -0.99362f, -0.998733f, -0.999921f, -0.997169f, -0.990501f, -0.979944f, -0.965539f, -0.947342f, -0.925425f, -0.899873f, -0.870788f, -0.838283f, -0.802473f, -0.763512f, -0.721552f, -0.676759f, -0.629309f, -0.579388f, -0.527191f, -0.472924f, -0.416798f, -0.359031f, -0.299853f, -0.239498f, -0.178203f, -0.116208f, -0.053757f, 0.0089054f, 0.0715333f, 0.133881f, 0.195702f, 0.256753f, 0.316795f, 0.375592f, 0.432914f, 0.488537f, 0.542241f, 0.593815f, 0.643059f, 0.689775f, 0.733774f, 0.774891f, 0.812964f, 0.847845f, 0.879397f, 0.907495f, 0.93203f, 0.952905f, 0.970038f, 0.983346f, 0.992792f, 0.99834f, 0.999967f, 0.997669f, 0.991452f, 0.981342f, 0.967379f, 0.949616f, 0.928113f, 0.902961f, 0.874264f, 0.842135f, 0.806698f, 0.768093f, 0.726472f, 0.681998f, 0.634846f, 0.585194f, 0.53324f, 0.479193f, 0.423265f, 0.365674f, 0.306648f, 0.246417f, 0.185218f, 0.123291f, 0.0608787f, -0.00177299f, -0.064417f, -0.126808f, -0.1887f, -0.249851f, -0.310021f, -0.368975f, -0.426479f, -0.482309f, -0.536238f, -0.588061f, -0.637573f, -0.684582f, -0.728902f, -0.770361f, -0.808794f, -0.844051f, -0.875994f, -0.904485f, -0.929422f, -0.950709f, -0.968262f, -0.982014f, -0.991908f, -0.997908f, -0.999989f, -0.998143f, -0.992367f, -0.982688f, -0.969151f, -0.951808f, -0.930727f, -0.905991f, -0.877698f, -0.845957f, -0.810895f, -0.772642f, -0.731348f, -0.687182f, -0.640318f, -0.59094f, -0.539242f, -0.485426f, -0.429703f, -0.372292f, -0.313417f, -0.253308f, -0.192205f, -0.130347f, -0.067978f, -0.00534208f, 0.057315f, 0.119747f, 0.18171f, 0.24296f, 0.303252f, 0.362352f, 0.420029f, 0.476056f, 0.530213f, 0.582289f, 0.632078f, 0.679385f, 0.724025f, 0.765813f, 0.80459f, 0.840208f, 0.872525f, 0.901417f, 0.926768f, 0.94848f, 0.966468f, 0.980661f, 0.990994f, 0.997428f, 0.999945f, 0.998537f, 0.993207f, 0.983977f, 0.970883f, 0.953976f, 0.933323f, 0.909f, 0.881097f, 0.849735f, 0.815036f, 0.777137f, 0.736186f, 0.692344f, 0.645783f, 0.596686f, 0.545244f, 0.491653f, 0.436132f, 0.378898f, 0.320177f, 0.260199f, 0.199199f, 0.137416f, 0.075093f, 0.0124745f, -0.0501933f, -0.112663f, -0.17469f, -0.236031f, -0.296444f, -0.355693f, -0.413546f, -0.469776f, -0.524161f, -0.576483f, -0.626537f, -0.67413f, -0.719075f, -0.761197f, -0.80033f, -0.836319f, -0.869025f, -0.898319f, -0.924079f, -0.946202f, -0.964608f, -0.979226f, -0.989999f, -0.996885f, -0.999856f, -0.9989f, -0.994021f, -0.985237f, -0.97257f, -0.956084f, -0.935844f, -0.911929f, -0.884433f, -0.853463f, -0.819143f, -0.781605f, -0.740997f, -0.697468f, -0.6512f, -0.602375f, -0.551185f, -0.497831f, -0.442521f, -0.385474f, -0.326912f, -0.267066f, -0.206168f, -0.14446f, -0.0821855f, -0.0195885f, 0.0430854f, 0.10559f, 0.16768f, 0.229112f, 0.289646f, 0.349039f, 0.407059f, 0.46348f, 0.51808f, 0.570646f, 0.620971f, 0.668857f, 0.714117f, 0.756574f, 0.796056f, 0.832403f, 0.86548f, 0.895159f, 0.921322f, 0.943867f, 0.962706f, 0.977764f, 0.988983f, 0.996318f, 0.999725f, 0.999206f, 0.994764f, 0.986415f, 0.974193f, 0.958146f, 0.938336f, 0.91484f, 0.887753f, 0.857167f, 0.823213f, 0.786026f, 0.745753f, 0.702552f, 0.656592f, 0.608054f, 0.557127f, 0.504012f, 0.448912f, 0.392047f, 0.333643f, 0.273929f, 0.21314f, 0.151513f, 0.0892917f, 0.0267191f, -0.035959f, -0.0984962f, -0.160645f, -0.222163f, -0.282808f, -0.342341f, -0.400531f, -0.457148f, -0.51197f, -0.564782f, -0.615375f, -0.663543f, -0.709105f, -0.751882f, -0.791706f, -0.828421f, -0.861883f, -0.891961f, -0.918536f, -0.941504f, -0.960762f, -0.976244f, -0.987894f, -0.995663f, -0.999523f, -0.999458f, -0.995467f, -0.987568f, -0.975791f, -0.96017f, -0.940775f, -0.917685f, -0.890992f, -0.8608f, -0.827227f, -0.790406f, -0.750481f, -0.707609f, -0.661952f, -0.61369f, -0.563019f, -0.510137f, -0.455252f, -0.398579f, -0.340341f, -0.280767f, -0.220089f, -0.158545f, -0.0963768f, -0.033831f, 0.0288472f, 0.0914117f, 0.153617f, 0.21522f, 0.275977f, 0.335652f, 0.394009f, 0.450812f, 0.505844f, 0.55889f, 0.60974f, 0.658196f, 0.704068f, 0.747174f, 0.787347f, 0.824429f, 0.858263f, 0.888723f, 0.915692f, 0.939066f, 0.958752f, 0.974673f, 0.986767f, 0.994986f, 0.999297f, 0.999676f, 0.996123f, 0.988657f, 0.97731f, 0.962125f, 0.943161f, 0.920494f, 0.894212f, 0.864418f, 0.831225f, 0.794759f, 0.755172f, 0.71262f, 0.66727f, 0.6193f, 0.568898f, 0.516261f, 0.461596f, 0.405118f, 0.347042f, 0.287605f, 0.227038f, 0.16558f, 0.103473f, 0.0409583f, -0.0217171f, -0.0843078f, -0.146568f, -0.208251f, -0.269115f, -0.328921f, -0.387436f, -0.444429f, -0.499677f, -0.552962f, -0.604077f, -0.65282f, -0.698993f, -0.742417f, -0.782925f, -0.820358f, -0.854569f, -0.885425f, -0.912804f, -0.936598f, -0.956715f, -0.973068f, -0.985591f, -0.994243f, -0.998991f, -0.999816f, -0.996715f, -0.9897f, -0.978798f, -0.964053f, -0.945518f, -0.923258f, -0.897373f, -0.867964f, -0.835147f, -0.799051f, -0.759816f, -0.717598f, -0.672561f, -0.624883f, -0.57474f, -0.522341f, -0.467892f, -0.411605f, -0.353702f, -0.29441f, -0.233962f, -0.172595f, -0.110549f, -0.0480669f, 0.0146031f, 0.0772152f, 0.139524f, 0.201284f, 0.262254f, 0.322194f, 0.38087f, 0.438051f, 0.493508f, 0.547022f, 0.598388f, 0.647404f, 0.693878f, 0.737626f, 0.778479f, 0.816274f, 0.850864f, 0.882109f, 0.90988f, 0.934078f, 0.954608f, 0.971388f, 0.984354f, 0.993455f, 0.998654f, 0.999932f, 0.997283f, 0.990703f, 0.980232f, 0.965912f, 0.947799f, 0.925964f, 0.900493f, 0.871486f, 0.839057f, 0.803332f, 0.764441f, 0.722547f, 0.677816f, 0.630423f, 0.580555f, 0.528408f, 0.474184f, 0.418099f, 0.36037f, 0.301223f, 0.240891f, 0.179615f, 0.117633f, 0.0551892f, -0.00747107f, -0.0701022f, -0.132459f, -0.194295f, -0.255368f, -0.315436f, -0.374264f, -0.431622f, -0.487284f, -0.541033f, -0.592658f, -0.641956f, -0.688733f, -0.732804f, -0.773988f, -0.812131f, -0.847085f, -0.878713f, -0.90689f, -0.931505f, -0.952463f, -0.969681f, -0.983091f, -0.992625f, -0.998261f, -0.999976f, -0.997764f, -0.991635f, -0.981611f, -0.967732f, -0.950054f, -0.928644f, -0.903576f, -0.874956f, -0.842901f, -0.807536f, -0.769f, -0.727444f, -0.683031f, -0.635936f, -0.586343f, -0.534442f, -0.480439f, -0.424549f, -0.366993f, -0.307996f, -0.247789f, -0.186609f, -0.124696f, -0.0622928f, 0.000356001f, 0.0630032f, 0.125402f, 0.187308f, 0.248479f, 0.308673f, 0.367656f, 0.425195f, 0.481065f, 0.535046f, 0.586917f, 0.636483f, 0.68355f, 0.727932f, 0.769455f, 0.807957f, 0.843286f, 0.875304f, 0.903884f, 0.928904f, 0.950273f, 0.96791f, 0.981746f, 0.991726f, 0.997812f, 0.99998f, 0.998222f, 0.992544f, 0.982959f, 0.969507f, 0.952248f, 0.93125f, 0.906596f, 0.878381f, 0.846716f, 0.811727f, 0.773549f, 0.732329f, 0.688226f, 0.641421f, 0.592097f, 0.540449f, 0.486678f, 0.430996f, 0.37362f, 0.314777f, 0.254697f, 0.193613f, 0.13177f, 0.0694091f, 0.00677641f, -0.0558828f, -0.118323f, -0.180298f, -0.241566f, -0.301887f, -0.361017f, -0.418728f, -0.474795f, -0.528997f, -0.581121f, -0.630963f, -0.678328f, -0.72303f, -0.764892f, -0.803743f, -0.839433f, -0.871826f, -0.900795f, -0.926227f, -0.948022f, -0.966094f, -0.980372f, -0.990801f, -0.997332f, -0.999937f, -0.998615f, -0.993372f, -0.984228f, -0.971219f, -0.954397f, -0.933826f, -0.909588f, -0.881774f, -0.850487f, -0.81586f, -0.77803f, -0.737145f, -0.693365f, -0.646862f, -0.597819f, -0.546428f, -0.49289f, -0.437409f, -0.380211f, -0.32152f, -0.261567f, -0.200587f, -0.138819f, -0.0765055f, -0.0138912f, 0.0487783f, 0.111256f, 0.173295f, 0.234654f, 0.295091f, 0.354368f, 0.412254f, 0.468522f, 0.52295f, 0.575325f, 0.625436f, 0.673086f, 0.718092f, 0.760278f, 0.799478f, 0.835539f, 0.868319f, 0.897689f, 0.923535f, 0.945749f, 0.964239f, 0.978942f, 0.9898f, 0.996772f, 0.999829f, 0.998961f, 0.99417f, 0.985476f, 0.972909f, 0.956508f, 0.936351f, 0.912517f, 0.8851f, 0.854207f, 0.81996f, 0.782493f, 0.741953f, 0.698498f, 0.652291f, 0.603522f, 0.552382f, 0.499074f, 0.443807f, 0.386796f, 0.328266f, 0.268446f, 0.207572f, 0.14588f, 0.0836153f, 0.0210226f, -0.0416523f, -0.104163f, -0.166266f, -0.227715f, -0.288271f, -0.347695f, -0.405752f, -0.462211f, -0.516855f, -0.569468f, -0.619846f, -0.667789f, -0.713109f, -0.75563f, -0.795184f, -0.831613f, -0.864766f, -0.894522f, -0.920765f, -0.943392f, -0.962315f, -0.977459f, -0.988764f, -0.996187f, -0.999698f, -0.999267f, -0.994912f, -0.98665f, -0.974513f, -0.95855f, -0.938822f, -0.915408f, -0.888398f, -0.8579f, -0.824022f, -0.786906f, -0.746699f, -0.703561f, -0.65766f, -0.609176f, -0.5583f, -0.505231f, -0.450178f, -0.393353f, -0.33498f, -0.275292f, -0.214524f, -0.152914f, -0.0907027f, -0.0281355f, 0.0345427f, 0.0970858f, 0.159248f, 0.220782f, 0.281449f, 0.34101f, 0.399232f, 0.455886f, 0.51075f, 0.563608f, 0.614254f, 0.662487f, 0.708109f, 0.75095f, 0.790841f, 0.827627f, 0.861162f, 0.891316f, 0.917969f, 0.941019f, 0.960373f, 0.975942f, 0.987677f, 0.995533f, 0.999479f, 0.999501f, 0.995599f, 0.987787f, 0.976096f, 0.960571f, 0.941265f, 0.918257f, 0.891643f, 0.861528f, 0.828031f, 0.791281f, 0.751424f, 0.708616f, 0.663025f, 0.614826f, 0.564206f, 0.511372f, 0.456529f, 0.399894f, 0.341689f, 0.282142f, 0.221486f, 0.15996f, 0.0978051f, 0.0352647f, -0.0274135f, -0.0899834f, -0.1522f, -0.213818f, -0.274597f, -0.334298f, -0.392687f, -0.449534f, -0.50461f, -0.557702f, -0.608604f, -0.657116f, -0.703047f, -0.746218f, -0.786458f, -0.82361f, -0.857529f, -0.88807f, -0.915119f, -0.938575f, -0.958344f, -0.97435f, -0.98653f, -0.994836f, -0.999236f, -0.999711f, -0.996253f, -0.988874f, -0.977613f, -0.962512f, -0.943631f, -0.921045f, -0.894842f, -0.865125f, -0.832011f, -0.795625f, -0.756105f, -0.713617f, -0.668327f, -0.620412f, -0.570061f, -0.517472f, -0.46285f, -0.40641f, -0.348373f, -0.288963f, -0.228419f, -0.166978f, -0.104882f, -0.042374f, 0.0203003f, 0.0828953f, 0.145165f, 0.206866f, 0.267752f, 0.327584f, 0.38613f, 0.443159f, 0.498448f, 0.55178f, 0.602944f, 0.651742f, 0.697981f, 0.741472f, 0.782046f, 0.819549f, 0.853833f, 0.884765f, 0.912221f, 0.936096f, 0.956295f, 0.972739f, 0.985357f, 0.994096f, 0.99893f, 0.999843f, 0.996829f, 0.989901f, 0.979086f, 0.964426f, 0.945979f, 0.923814f, 0.898009f, 0.868678f, 0.835936f, 0.799911f, 0.760746f, 0.718592f, 0.673617f, 0.625996f, 0.575917f, 0.523567f, 0.469161f, 0.412913f, 0.355044f, 0.295781f, 0.235356f, 0.174006f, 0.111973f, 0.0494997f, -0.013169f, -0.0757854f, -0.138104f, -0.199879f, -0.260869f, -0.320835f, -0.379541f, -0.436758f, -0.492259f, -0.545825f, -0.597242f, -0.646313f, -0.692845f, -0.736657f, -0.777575f, -0.815441f, -0.850104f, -0.88143f, -0.909291f, -0.93357f, -0.954183f, -0.971048f, -0.9841f, -0.993288f, -0.998575f, -0.999941f, -0.99738f, -0.990903f, -0.980518f, -0.966282f, -0.948253f, -0.9265f, -0.901108f, -0.872178f, -0.839823f, -0.80417f, -0.765358f, -0.723531f, -0.67886f, -0.631525f, -0.581709f, -0.529609f, -0.47543f, -0.419383f, -0.361689f, -0.302574f, -0.242268f, -0.181009f, -0.11904f, -0.0566041f, 0.00605408f, 0.0686884f, 0.131053f, 0.192904f, 0.253998f, 0.314093f, 0.372951f, 0.430344f, 0.486047f, 0.539841f, 0.591515f, 0.640866f, 0.687701f, 0.731835f, 0.773095f, 0.811308f, 0.846335f, 0.878037f, 0.906292f, 0.930987f, 0.952027f, 0.969328f, 0.982823f, 0.992458f, 0.998183f, 0.999985f, 0.997861f, 0.991819f, 0.981881f, 0.968089f, 0.950494f, 0.929167f, 0.904191f, 0.875655f, 0.843675f, 0.808382f, 0.769916f, 0.728426f, 0.684075f, 0.637039f, 0.5875f, 0.535654f, 0.4817f, 0.42585f, 0.368328f, 0.30936f, 0.249178f, 0.188018f, 0.126119f, 0.0637239f, 0.00107833f, -0.0615721f, -0.12398f, -0.1859f, -0.24709f, -0.307309f, -0.366321f, -0.423894f, -0.479804f, -0.53383f, -0.58576f, -0.63538f, -0.682505f, -0.726949f, -0.768538f, -0.807109f, -0.842511f, -0.874604f, -0.903263f, -0.928376f, -0.949831f, -0.967553f, -0.981474f, -0.991542f, -0.997716f, -0.999972f, -0.9983f, -0.992709f, -0.98322f, -0.969861f, -0.952686f, -0.931769f, -0.907195f, -0.879057f, -0.847468f, -0.812551f, -0.774442f, -0.733292f, -0.689259f, -0.642511f, -0.593241f, -0.541641f, -0.487915f, -0.432273f, -0.374933f, -0.31612f, -0.256066f, -0.195005f, -0.133175f, -0.0708229f, -0.00819339f, 0.054468f, 0.116915f, 0.178904f, 0.24019f, 0.300533f, 0.359697f, 0.417444f, 0.473549f, 0.527795f, 0.579968f, 0.629863f, 0.677284f, 0.722046f, 0.763973f, 0.802901f, 0.838668f, 0.871135f, 0.900182f, 0.925693f, 0.947569f, 0.965725f, 0.980087f, 0.990602f, 0.997226f, 0.999928f, 0.998694f, 0.993538f, 0.984481f, 0.971559f, 0.95482f, 0.934333f, 0.910176f, 0.882445f, 0.851246f, 0.816692f, 0.778932f, 0.738114f, 0.694397f, 0.647954f, 0.598966f, 0.547625f, 0.494134f, 0.438701f, 0.381539f, 0.322879f, 0.262951f, 0.201992f, 0.140239f, 0.0779353f, 0.0153253f, -0.0473453f, -0.109831f, -0.171884f, -0.23326f, -0.293721f, -0.353027f, -0.410947f, -0.467253f, -0.521724f, -0.574147f, -0.624316f, -0.672029f, -0.717097f, -0.759348f, -0.798617f, -0.83475f, -0.867605f, -0.897052f, -0.922978f, -0.945279f, -0.963864f, -0.978653f, -0.989598f, -0.996658f, -0.999803f, -0.999022f, -0.994318f, -0.98571f, -0.97323f, -0.956929f, -0.936854f, -0.9131f, -0.885761f, -0.854944f, -0.82077f, -0.783373f, -0.742899f, -0.699507f, -0.653368f, -0.604655f, -0.553566f, -0.500303f, -0.445076f, -0.388102f, -0.329603f, -0.26981f, -0.208957f, -0.147282f, -0.0850278f, -0.0224393f, 0.0402366f, 0.102754f, 0.164868f, 0.226334f, 0.286912f, 0.346363f, 0.404455f, 0.460957f, 0.515644f, 0.568305f, 0.618734f, 0.666733f, 0.712114f, 0.754698f, 0.794319f, 0.830821f, 0.86406f, 0.893892f, 0.920215f, 0.942923f, 0.961929f, 0.977157f, 0.988548f, 0.996057f, 0.999654f, 0.999327f, 0.995061f, 0.986885f, 0.974835f, 0.958957f, 0.939313f, 0.91598f, 0.88905f, 0.858629f, 0.824836f, 0.787794f, 0.747655f, 0.704581f, 0.65874f, 0.610312f, 0.559488f, 0.506466f, 0.451455f, 0.394671f, 0.336333f, 0.276672f, 0.215925f, 0.154331f, 0.092131f, 0.0295692f, -0.033109f, -0.0956575f, -0.157831f, -0.219385f, -0.280074f, -0.339663f, -0.397917f, -0.454609f, -0.509515f, -0.56242f, -0.613118f, -0.661408f, -0.707101f, -0.750006f, -0.789966f, -0.826822f, -0.860432f, -0.890663f, -0.917396f, -0.940527f, -0.959965f, -0.975633f, -0.987458f, -0.995401f, -0.999435f, -0.999545f, -0.995729f, -0.988004f, -0.976398f, -0.960958f, -0.941745f, -0.918824f, -0.892289f, -0.86225f, -0.828826f, -0.792147f, -0.752357f, -0.709612f, -0.664081f, -0.615942f, -0.56538f, -0.512591f, -0.457791f, -0.401193f, -0.34302f, -0.2835f, -0.222867f, -0.161358f, -0.0992146f, -0.036681f, 0.0259971f, 0.0885724f, 0.150799f, 0.212434f, 0.273234f, 0.332961f, 0.391381f, 0.448265f, 0.503389f, 0.556529f, 0.607482f, 0.656049f, 0.702039f, 0.745273f, 0.785579f, 0.822801f, 0.856793f, 0.88742f, 0.914553f, 0.938089f, 0.957941f, 0.974032f, 0.986297f, 0.994689f, 0.999175f, 0.999738f, 0.996375f, 0.989093f, 0.977917f, 0.962902f, 0.944105f, 0.921601f, 0.895478f, 0.865839f, 0.832799f, 0.796489f, 0.757048f, 0.714624f, 0.669395f, 0.621537f, 0.571239f, 0.518698f, 0.464119f, 0.407718f, 0.349715f, 0.290338f, 0.229816f, 0.168393f, 0.106308f, 0.043807f, -0.0188662f, -0.0814655f, -0.143745f, -0.205461f, -0.26637f, -0.326231f, -0.384808f, -0.441874f, -0.497204f, -0.550582f, -0.601798f, -0.65065f, -0.696948f, -0.740509f, -0.781157f, -0.81873f, -0.853088f, -0.884096f, -0.911632f, -0.935588f, -0.95587f, -0.972399f, -0.985109f, -0.993946f, -0.998869f, -0.999869f, -0.996942f, -0.990101f, -0.979372f, -0.964796f, -0.946432f, -0.924351f, -0.89864f, -0.869385f, -0.836717f, -0.800763f, -0.761665f, -0.719576f, -0.674662f, -0.627098f, -0.577071f, -0.524777f, -0.470415f, -0.414205f, -0.356369f, -0.297134f, -0.236732f, -0.175401f, -0.113381f, -0.0509146f, 0.0117522f, 0.0743729f, 0.136701f, 0.198491f, 0.259501f, 0.319493f, 0.378229f, 0.43548f, 0.491022f, 0.544636f, 0.596109f, 0.645234f, 0.691825f, 0.735699f, 0.776683f, 0.814618f, 0.849354f, 0.880754f, 0.908696f, 0.933068f, 0.953763f, 0.970712f, 0.98385f, 0.993123f, 0.998497f, 0.99995f, 0.997477f, 0.991086f, 0.980804f, 0.966656f, 0.94871f, 0.927039f, 0.901728f, 0.872876f, 0.840597f, 0.805016f, 0.766274f, 0.724522f, 0.679917f, 0.632639f, 0.582877f, 0.530826f, 0.476691f, 0.420684f, 0.363024f, 0.303939f, 0.24366f, 0.182421f, 0.120465f, 0.0580362f, -0.00461975f, -0.0672573f, -0.129631f, -0.191495f, -0.252608f, -0.31273f, -0.371623f, -0.429052f, -0.484795f, -0.538634f, -0.590357f, -0.639763f, -0.686656f, -0.730853f, -0.77218f, -0.810475f, -0.845575f, -0.877353f, -0.905687f, -0.930463f, -0.951585f, -0.968971f, -0.982552f, -0.992274f, -0.9981f, -0.999994f, -0.997957f, -0.992001f, -0.98215f, -0.968442f, -0.950931f, -0.929686f, -0.90479f, -0.87634f, -0.844441f, -0.80922f, -0.770822f, -0.729397f, -0.685108f, -0.638129f, -0.588643f, -0.536846f, -0.48294f, -0.427134f, -0.369647f, -0.310709f, -0.250551f, -0.189409f, -0.127524f, -0.0651377f, -0.00249531f, 0.0601575f, 0.122575f, 0.184508f, 0.245717f, 0.30596f, 0.365002f, 0.42261f, 0.478558f, 0.532628f, 0.584606f, 0.634289f, 0.681473f, 0.725978f, 0.767633f, 0.806272f, 0.841745f, 0.873913f, 0.90265f, 0.927841f, 0.94939f, 0.9672f, 0.981207f, 0.99136f, 0.99762f, 0.999963f, 0.998379f, 0.992876f, 0.983473f, 0.970208f, 0.953126f, 0.932293f, 0.907799f, 0.87974f, 0.848227f, 0.813383f, 0.775345f, 0.734262f, 0.690295f, 0.643614f, 0.594398f, 0.542848f, 0.489167f, 0.433566f, 0.376261f, 0.317479f, 0.25745f, 0.19641f, 0.134597f, 0.072254f, 0.00962772f, -0.0530358f, -0.115491f, -0.177492f, -0.238796f, -0.299163f, -0.358356f, -0.416142f, -0.472289f, -0.526578f, -0.5788f, -0.628748f, -0.676227f, -0.721051f, -0.763043f, -0.802039f, -0.837886f, -0.870436f, -0.899561f, -0.925152f, -0.947111f, -0.96535f, -0.979799f, -0.9904f, -0.997112f, -0.999908f, -0.998772f, -0.993704f, -0.984733f, -0.971895f, -0.955241f, -0.934836f, -0.910759f, -0.883106f, -0.851985f, -0.817516f, -0.779826f, -0.739073f, -0.695418f, -0.649033f, -0.600099f, -0.548808f, -0.495362f, -0.439971f, -0.382851f, -0.324222f, -0.264319f, -0.20338f, -0.141642f, -0.0793478f, -0.0167421f, 0.0459295f, 0.108421f, 0.170488f, 0.231884f, 0.292367f, 0.351702f, 0.409655f, 0.465999f, 0.520513f, 0.572984f, 0.623204f, 0.670978f, 0.716113f, 0.758429f, 0.797766f, 0.83397f, 0.866899f, 0.896423f, 0.922427f, 0.94481f, 0.963482f, 0.978368f, 0.989399f, 0.996545f, 0.999777f, 0.999084f, 0.994467f, 0.985946f, 0.973552f, 0.957336f, 0.93736f, 0.913689f, 0.886429f, 0.855688f, 0.821588f, 0.784261f, 0.743855f, 0.700527f, 0.654448f, 0.605799f, 0.554763f, 0.501547f, 0.446361f, 0.389423f, 0.330956f, 0.27119f, 0.210358f, 0.1487f, 0.0864569f, 0.0238735f, -0.0388036f, -0.101328f, -0.163453f, -0.224937f, -0.285537f, -0.345016f, -0.403141f, -0.459683f, -0.514418f, -0.567127f, -0.617608f, -0.665664f, -0.711106f, -0.753754f, -0.793444f, -0.830017f, -0.863332f, -0.893255f, -0.919658f, -0.942448f, -0.961538f, -0.976851f, -0.988328f, -0.995925f, -0.99961f, -0.99937f, -0.995206f, -0.98712f, -0.975155f, -0.959361f, -0.939799f, -0.916547f, -0.889696f, -0.859351f, -0.825631f, -0.788669f, -0.748601f, -0.70559f, -0.659808f, -0.611435f, -0.560661f, -0.507686f, -0.452717f, -0.39597f, -0.337667f, -0.278036f, -0.21731f, -0.155731f, -0.093542f, -0.0309855f, 0.0316926f, 0.0942465f, 0.156431f, 0.218001f, 0.278716f, 0.338332f, 0.396618f, 0.453347f, 0.508295f, 0.561247f, 0.611995f, 0.66034f, 0.706093f, 0.749073f, 0.789101f, 0.826028f, 0.859711f, 0.890018f, 0.91683f, 0.940042f, 0.959562f, 0.975314f, 0.987236f, 0.995271f, 0.999392f, 0.999589f, 0.995861f, 0.988222f, 0.976703f, 0.961349f, 0.942219f, 0.919389f, 0.892941f, 0.862979f, 0.829629f, 0.793021f, 0.7533f, 0.71062f, 0.665149f, 0.617067f, 0.56656f, 0.513826f, 0.459068f, 0.402508f, 0.344368f, 0.284875f, 0.224264f, 0.162773f, 0.100641f, 0.0381141f, -0.0245634f, -0.0871441f, -0.149382f, -0.211032f, -0.271854f, -0.331608f, -0.390059f, -0.44698f, -0.502145f, -0.555339f, -0.606346f, -0.654968f, -0.701019f, -0.744316f, -0.78469f, -0.821983f, -0.856048f, -0.886751f, -0.913973f, -0.937598f, -0.957533f, -0.973709f, -0.98606f, -0.99454f, -0.999113f, -0.999764f, -0.996488f, -0.989299f, -0.97822f, -0.963289f, -0.944575f, -0.922153f, -0.896109f, -0.866546f, -0.83358f, -0.797341f, -0.75797f, -0.715621f, -0.670451f, -0.622649f, -0.572403f, -0.519909f, -0.465373f, -0.40901f, -0.35104f, -0.291691f, -0.231196f, -0.16979f, -0.107718f, -0.0452227f, 0.0174495f, 0.080053f, 0.142342f, 0.204073f, 0.265002f, 0.324892f, 0.383503f, 0.440605f, 0.495976f, 0.549399f, 0.600665f, 0.649571f, 0.695928f, 0.739551f, 0.780271f, 0.817922f, 0.852353f, 0.883436f, 0.91105f, 0.935086f, 0.955451f, 0.972063f, 0.984858f, 0.993786f, 0.998808f, 0.999895f, 0.997056f, 0.990302f, 0.979659f, 0.96517f, 0.94689f, 0.924891f, 0.899261f, 0.870098f, 0.837505f, 0.801624f, 0.762595f, 0.720571f, 0.675718f, 0.628212f, 0.578238f, 0.525993f, 0.471682f, 0.415513f, 0.35771f, 0.298504f, 0.238126f, 0.176813f, 0.114805f, 0.0523467f, -0.0103178f, -0.0729425f, -0.135281f, -0.197086f, -0.258117f, -0.318133f, -0.376901f, -0.434188f, -0.48977f, -0.543429f, -0.594955f, -0.644142f, -0.690792f, -0.734729f, -0.77578f, -0.813785f, -0.848594f, -0.88007f, -0.908091f, -0.932546f, -0.953338f, -0.970372f, -0.983596f, -0.992956f, -0.998418f, -0.999959f, -0.997572f, -0.991269f, -0.981073f, -0.967024f, -0.949164f, -0.927575f, -0.902343f, -0.873568f, -0.841363f, -0.805854f, -0.76718f, -0.725493f, -0.680957f, -0.63374f, -0.58403f, -0.532028f, -0.477936f, -0.421968f, -0.364343f, -0.305287f, -0.245032f, -0.183814f, -0.121872f, -0.0594511f, 0.00320276f, 0.0658436f, 0.128226f, 0.190104f, 0.251236f, 0.311382f, 0.370305f, 0.427774f, 0.483558f, 0.537441f, 0.589214f, 0.638673f, 0.685624f, 0.729882f, 0.771274f, 0.809638f, 0.844823f, 0.876678f, 0.905089f, 0.929945f, 0.951149f, 0.968618f, 0.982284f, 0.992092f, 0.998004f, 0.999998f, 0.998053f, 0.992185f, 0.982421f, 0.968798f, 0.951372f, 0.93021f, 0.905394f, 0.877023f, 0.845208f, 0.810067f, 0.771738f, 0.730379f, 0.686153f, 0.639232f, 0.5898f, 0.538053f, 0.484192f, 0.42843f, 0.370982f, 0.312073f, 0.25194f, 0.190818f, 0.128946f, 0.0665688f, 0.00392964f, -0.0587253f, -0.12115f, -0.1831f, -0.244328f, -0.304596f, -0.363667f, -0.421309f, -0.477297f, -0.531411f, -0.583438f, -0.633175f, -0.680426f, -0.724996f, -0.766716f, -0.805425f, -0.840971f, -0.873214f, -0.902028f, -0.927301f, -0.948932f, -0.966837f, -0.980935f, -0.991176f, -0.997523f, -0.999954f, -0.998458f, -0.993041f, -0.983724f, -0.970545f, -0.953553f, -0.932812f, -0.908398f, -0.880417f, -0.848979f, -0.814207f, -0.776238f, -0.73522f, -0.691315f, -0.644695f, -0.595542f, -0.544041f, -0.490405f, -0.434843f, -0.377574f, -0.318822f, -0.258818f, -0.197798f, -0.136f, -0.0736677f, -0.0110447f, 0.0516209f, 0.114083f, 0.176097f, 0.23742f, 0.29781f, 0.357031f, 0.41485f, 0.471041f, 0.525377f, 0.577646f, 0.627647f, 0.675183f, 0.720068f, 0.762124f, 0.801188f, 0.837106f, 0.869738f, 0.898947f, 0.924618f, 0.946658f, 0.964981f, 0.979514f, 0.990201f, 0.996999f, 0.999882f, 0.998839f, 0.99387f, 0.984986f, 0.972234f, 0.955665f, 0.935343f, 0.911348f, 0.883774f, 0.852729f, 0.818335f, 0.780728f, 0.740042f, 0.69645f, 0.650124f, 0.601245f, 0.550006f, 0.496606f, 0.441256f, 0.384172f, 0.32558f, 0.265704f, 0.204785f, 0.143062f, 0.0807776f, 0.0181762f, -0.0444965f, -0.106995f, -0.169073f, -0.230489f, -0.290997f, -0.35036f, -0.408347f, -0.46473f, -0.519287f, -0.571806f, -0.622079f, -0.66991f, -0.71511f, -0.757499f, -0.796904f, -0.83318f, -0.866184f, -0.895786f, -0.92187f, -0.944335f, -0.963091f, -0.978065f, -0.989197f, -0.99643f, -0.999751f, -0.999145f, -0.994615f, -0.98618f, -0.973872f, -0.95774f, -0.937847f, -0.91427f, -0.88709f, -0.856425f, -0.822398f, -0.785141f, -0.744801f, -0.701536f, -0.655516f, -0.606921f, -0.555943f, -0.502775f, -0.447631f, -0.390729f, -0.332294f, -0.272553f, -0.211743f, -0.1501f, -0.0878679f, -0.02529f, 0.0373879f, 0.0999183f, 0.162056f, 0.223556f, 0.284178f, 0.343685f, 0.401842f, 0.458421f, 0.513201f, 0.565964f, 0.616497f, 0.664608f, 0.71011f, 0.752822f, 0.792579f, 0.829223f, 0.862611f, 0.892611f, 0.919107f, 0.941979f, 0.961151f, 0.976549f, 0.988112f, 0.995795f, 0.999567f, 0.999414f, 0.995337f, 0.987352f, 0.975477f, 0.959768f, 0.94029f, 0.917119f, 0.890348f, 0.86008f, 0.826434f, 0.789543f, 0.749551f, 0.706609f, 0.660887f, 0.612571f, 0.561849f, 0.508921f, 0.453994f, 0.397285f, 0.339014f, 0.279412f, 0.218711f, 0.157149f, 0.0949703f, 0.0324192f, -0.030259f, -0.0928182f, -0.155013f, -0.2166f, -0.277336f, -0.336984f, -0.395303f, -0.45207f, -0.50706f, -0.560059f, -0.610859f, -0.65926f, -0.705073f, -0.748116f, -0.788223f, -0.825224f, -0.858981f, -0.889365f, -0.916257f, -0.93955f, -0.959154f, -0.974991f, -0.987f, -0.995133f, -0.999348f, -0.999632f, -0.995992f, -0.98844f, -0.977006f, -0.961736f, -0.942689f, -0.91994f, -0.893578f, -0.863701f, -0.830425f, -0.793887f, -0.754233f, -0.711616f, -0.666206f, -0.618179f, -0.567724f, -0.515039f, -0.46033f, -0.403807f, -0.345699f, -0.286234f, -0.225645f, -0.16417f, -0.102051f, -0.0395298f, 0.0231467f, 0.085733f, 0.147981f, 0.209648f, 0.27049f, 0.330271f, 0.388754f, 0.44571f, 0.500916f, 0.554156f, 0.60522f, 0.653901f, 0.700011f, 0.743371f, 0.783811f, 0.821174f, 0.855312f, 0.886091f, 0.913391f, 0.937104f, 0.95713f, 0.97339f, 0.985827f, 0.994392f, 0.999053f, 0.99979f, 0.996602f, 0.989501f, 0.978513f, 0.963679f, 0.945049f, 0.922709f, 0.896745f, 0.86726f, 0.834369f, 0.798201f, 0.758899f, 0.716617f, 0.671519f, 0.623774f, 0.57358f, 0.521134f, 0.466642f, 0.410317f, 0.352381f, 0.293061f, 0.23259f, 0.171204f, 0.109144f, 0.0466558f, -0.0160153f, -0.0786232f, -0.140922f, -0.202668f, -0.263618f, -0.323533f, -0.382178f, -0.439319f, -0.494732f, -0.548202f, -0.599518f, -0.64848f, -0.694895f, -0.738581f, -0.779368f, -0.817094f, -0.851608f, -0.882768f, -0.910461f, -0.934578f, -0.955026f, -0.971723f, -0.984604f, -0.993619f, -0.998732f, -0.999921f, -0.99717f, -0.990502f, -0.979945f, -0.96554f, -0.947343f, -0.925426f, -0.899875f, -0.87079f, -0.838285f, -0.802476f, -0.763514f, -0.721555f, -0.676763f, -0.629313f, -0.579392f, -0.527195f, -0.472928f, -0.416802f, -0.359035f, -0.299857f, -0.239502f, -0.178207f, -0.116213f, -0.0537616f, 0.00890084f, 0.0715288f, 0.133876f, 0.195698f, 0.256749f, 0.316791f, 0.375588f, 0.43291f, 0.488533f, 0.542237f, 0.593812f, 0.643055f, 0.689772f, 0.733771f, 0.774888f, 0.812962f, 0.847843f, 0.879395f, 0.907493f, 0.932028f, 0.952903f, 0.970037f, 0.983345f, 0.992792f, 0.99834f, 0.999967f, 0.997669f, 0.991453f, 0.981343f, 0.96738f, 0.949618f, 0.928114f, 0.902963f, 0.874267f, 0.842137f, 0.806701f, 0.768096f, 0.726475f, 0.682002f, 0.634849f, 0.585198f, 0.533244f, 0.479197f, 0.423269f, 0.365678f, 0.306652f, 0.246421f, 0.185222f, 0.123295f, 0.0608833f, -0.00176844f, -0.0644125f, -0.126803f, -0.188695f, -0.249847f, -0.310017f, -0.36897f, -0.426475f, -0.482305f, -0.536234f, -0.588057f, -0.63757f, -0.684579f, -0.728899f, -0.770358f, -0.808791f, -0.844049f, -0.875992f, -0.904483f, -0.92942f, -0.950708f, -0.968261f, -0.982013f, -0.991908f, -0.997908f, -0.999989f, -0.998143f, -0.992368f, -0.982689f, -0.969152f, -0.951809f, -0.930729f, -0.905993f, -0.8777f, -0.84596f, -0.810897f, -0.772644f, -0.731351f, -0.687185f, -0.640322f, -0.590944f, -0.539246f, -0.485429f, -0.429707f, -0.372296f, -0.313422f, -0.253312f, -0.192209f, -0.130352f, -0.0679826f, -0.00534663f, 0.0573104f, 0.119743f, 0.181705f, 0.242955f, 0.303247f, 0.362348f, 0.420025f, 0.476052f, 0.530209f, 0.582285f, 0.632074f, 0.679382f, 0.724022f, 0.76581f, 0.804588f, 0.840205f, 0.872523f, 0.901415f, 0.926766f, 0.948479f, 0.966467f, 0.98066f, 0.990994f, 0.997428f, 0.999945f, 0.998537f, 0.993207f, 0.983978f, 0.970884f, 0.953977f, 0.933325f, 0.909002f, 0.8811f, 0.849738f, 0.815039f, 0.77714f, 0.736189f, 0.692348f, 0.645787f, 0.59669f, 0.545248f, 0.491657f, 0.436136f, 0.378902f, 0.320181f, 0.260203f, 0.199203f, 0.13742f, 0.0750975f, 0.012479f, -0.0501888f, -0.112659f, -0.174686f, -0.236026f, -0.29644f, -0.355689f, -0.413542f, -0.469772f, -0.524157f, -0.576479f, -0.626533f, -0.674126f, -0.719072f, -0.761194f, -0.800327f, -0.836317f, -0.869023f, -0.898317f, -0.924077f, -0.9462f, -0.964607f, -0.979226f, -0.989999f, -0.996884f, -0.999855f, -0.9989f, -0.994022f, -0.985238f, -0.972571f, -0.956086f, -0.935846f, -0.911931f, -0.884435f, -0.853466f, -0.819145f, -0.781607f, -0.741f, -0.697471f, -0.651203f, -0.602379f, -0.551189f, -0.497835f, -0.442525f, -0.385478f, -0.326917f, -0.267071f, -0.206173f, -0.144465f, -0.0821901f, -0.019593f, 0.0430808f, 0.105585f, 0.167676f, 0.229108f, 0.289641f, 0.349035f, 0.407055f, 0.463476f, 0.518077f, 0.570642f, 0.620967f, 0.668854f, 0.714114f, 0.756571f, 0.796053f, 0.8324f, 0.865478f, 0.895157f, 0.92132f, 0.943866f, 0.962705f, 0.977763f, 0.988983f, 0.996318f, 0.999724f, 0.999206f, 0.994764f, 0.986416f, 0.974194f, 0.958147f, 0.938337f, 0.914842f, 0.887755f, 0.857169f, 0.823215f, 0.786029f, 0.745757f, 0.702556f, 0.656596f, 0.608057f, 0.557131f, 0.504016f, 0.448916f, 0.392051f, 0.333647f, 0.273933f, 0.213144f, 0.151518f, 0.0892962f, 0.0267237f, -0.0359545f, -0.0984917f, -0.160641f, -0.222158f, -0.282803f, -0.342337f, -0.400527f, -0.457144f, -0.511966f, -0.564778f, -0.615371f, -0.66354f, -0.709102f, -0.751879f, -0.791703f, -0.828418f, -0.861881f, -0.891959f, -0.918534f, -0.941503f, -0.96076f, -0.976243f, -0.987893f, -0.995663f, -0.999523f, -0.999458f, -0.995468f, -0.987569f, -0.975792f, -0.960172f, -0.940776f, -0.917687f, -0.890994f, -0.860802f, -0.82723f, -0.790409f, -0.750484f, -0.707612f, -0.661955f, -0.613694f, -0.563022f, -0.510141f, -0.455256f, -0.398583f, -0.340346f, -0.280771f, -0.220093f, -0.158549f, -0.0963813f, -0.0338355f, 0.0288426f, 0.0914072f, 0.153613f, 0.215215f, 0.275973f, 0.335647f, 0.394004f, 0.450808f, 0.50584f, 0.558886f, 0.609737f, 0.658193f, 0.704064f, 0.747171f, 0.787345f, 0.824426f, 0.85826f, 0.888721f, 0.915691f, 0.939065f, 0.958751f, 0.974672f, 0.986766f, 0.994985f, 0.999297f, 0.999676f, 0.996123f, 0.988658f, 0.977311f, 0.962126f, 0.943163f, 0.920496f, 0.894214f, 0.864421f, 0.831228f, 0.794762f, 0.755175f, 0.712624f, 0.667274f, 0.619304f, 0.568902f, 0.516265f, 0.4616f, 0.405122f, 0.347046f, 0.287609f, 0.227042f, 0.165585f, 0.103477f, 0.0409628f, -0.0217126f, -0.0843033f, -0.146564f, -0.208246f, -0.26911f, -0.328917f, -0.387432f, -0.444425f, -0.499673f, -0.552959f, -0.604074f, -0.652817f, -0.69899f, -0.742414f, -0.782922f, -0.820355f, -0.854567f, -0.885423f, -0.912802f, -0.936596f, -0.956713f, -0.973067f, -0.98559f, -0.994243f, -0.998991f, -0.999816f, -0.996715f, -0.989701f, -0.978799f, -0.964054f, -0.94552f, -0.92326f, -0.897375f, -0.867967f, -0.83515f, -0.799053f, -0.759819f, -0.717601f, -0.672564f, -0.624886f, -0.574744f, -0.522345f, -0.467896f, -0.411609f, -0.353707f, -0.294415f, -0.233967f, -0.172599f, -0.110553f, -0.0480715f, 0.0145986f, 0.0772107f, 0.139519f, 0.20128f, 0.26225f, 0.32219f, 0.380866f, 0.438046f, 0.493504f, 0.547019f, 0.598385f, 0.647401f, 0.693875f, 0.737623f, 0.778476f, 0.816271f, 0.850862f, 0.882107f, 0.909879f, 0.934076f, 0.954606f, 0.971387f, 0.984353f, 0.993454f, 0.998654f, 0.999932f, 0.997284f, 0.990703f, 0.980233f, 0.965913f, 0.947801f, 0.925966f, 0.900495f, 0.871489f, 0.839059f, 0.803334f, 0.764444f, 0.72255f, 0.677819f, 0.630427f, 0.580559f, 0.528411f, 0.474188f, 0.418103f, 0.360375f, 0.301227f, 0.240896f, 0.179619f, 0.117637f, 0.0551937f, -0.00746652f, -0.0700977f, -0.132454f, -0.194291f, -0.255364f, -0.315431f, -0.37426f, -0.431618f, -0.48728f, -0.54103f, -0.592654f, -0.641952f, -0.68873f, -0.732801f, -0.773985f, -0.812129f, -0.847083f, -0.878711f, -0.906888f, -0.931504f, -0.952462f, -0.96968f, -0.98309f, -0.992625f, -0.99826f, -0.999976f, -0.997765f, -0.991635f, -0.981612f, -0.967734f, -0.950055f, -0.928645f, -0.903578f, -0.874959f, -0.842903f, -0.807539f, -0.769003f, -0.727447f, -0.683034f, -0.635939f, -0.586346f, -0.534446f, -0.480443f, -0.424553f, -0.366997f, -0.308f, -0.247794f, -0.186614f, -0.124701f, -0.0622974f, 0.000351449f, 0.0629987f, 0.125398f, 0.187304f, 0.248474f, 0.308669f, 0.367651f, 0.425191f, 0.481061f, 0.535042f, 0.586914f, 0.63648f, 0.683547f, 0.727929f, 0.769452f, 0.807954f, 0.843283f, 0.875301f, 0.903883f, 0.928902f, 0.950271f, 0.967909f, 0.981745f, 0.991726f, 0.997812f, 0.99998f, 0.998222f, 0.992545f, 0.98296f, 0.969508f, 0.95225f, 0.931252f, 0.906597f, 0.878383f, 0.846719f, 0.811729f, 0.773552f, 0.732333f, 0.68823f, 0.641425f, 0.592101f, 0.540453f, 0.486682f, 0.431f, 0.373625f, 0.314782f, 0.254702f, 0.193618f, 0.131774f, 0.0694137f, 0.00678096f, -0.0558783f, -0.118318f, -0.180294f, -0.241562f, -0.301882f, -0.361013f, -0.418724f, -0.474791f, -0.528993f, -0.581117f, -0.63096f, -0.678325f, -0.723027f, -0.764889f, -0.80374f, -0.83943f, -0.871824f, -0.900793f, -0.926226f, -0.948021f, -0.966093f, -0.980371f, -0.9908f, -0.997331f, -0.999937f, -0.998615f, -0.993373f, -0.984229f, -0.97122f, -0.954398f, -0.933827f, -0.90959f, -0.881776f, -0.850489f, -0.815863f, -0.778033f, -0.737148f, -0.693368f, -0.646866f, -0.597823f, -0.546432f, -0.492894f, -0.437413f, -0.380215f, -0.321524f, -0.261571f, -0.200591f, -0.138823f, -0.07651f, -0.0138958f, 0.0487737f, 0.111251f, 0.173291f, 0.23465f, 0.295086f, 0.354364f, 0.41225f, 0.468518f, 0.522946f, 0.575321f, 0.625432f, 0.673082f, 0.718089f, 0.760275f, 0.799476f, 0.835537f, 0.868317f, 0.897687f, 0.923533f, 0.945747f, 0.964237f, 0.978941f, 0.989799f, 0.996772f, 0.999829f, 0.998961f, 0.994171f, 0.985476f, 0.97291f, 0.956509f, 0.936353f, 0.912519f, 0.885102f, 0.85421f, 0.819963f, 0.782496f, 0.741956f, 0.698502f, 0.652295f, 0.603525f, 0.552386f, 0.499078f, 0.443811f, 0.3868f, 0.32827f, 0.268451f, 0.207577f, 0.145885f, 0.0836199f, 0.0210271f, -0.0416478f, -0.104159f, -0.166261f, -0.22771f, -0.288266f, -0.34769f, -0.405747f, -0.462207f, -0.516851f, -0.569465f, -0.619842f, -0.667785f, -0.713106f, -0.755627f, -0.795181f, -0.831611f, -0.864763f, -0.89452f, -0.920763f, -0.943391f, -0.962314f, -0.977458f, -0.988763f, -0.996186f, -0.999698f, -0.999267f, -0.994912f, -0.98665f, -0.974514f, -0.958551f, -0.938824f, -0.91541f, -0.8884f, -0.857902f, -0.824025f, -0.786909f, -0.746702f, -0.703564f, -0.657663f, -0.60918f, -0.558304f, -0.505235f, -0.450182f, -0.393357f, -0.334984f, -0.275297f, -0.214528f, -0.152918f, -0.0907072f, -0.02814f, 0.0345381f, 0.0970812f, 0.159243f, 0.220778f, 0.281445f, 0.341006f, 0.399228f, 0.455882f, 0.510746f, 0.563604f, 0.61425f, 0.662484f, 0.708106f, 0.750947f, 0.790838f, 0.827624f, 0.86116f, 0.891314f, 0.917968f, 0.941017f, 0.960371f, 0.975941f, 0.987676f, 0.995532f, 0.999479f, 0.999502f, 0.995599f, 0.987787f, 0.976097f, 0.960572f, 0.941267f, 0.918259f, 0.891645f, 0.861531f, 0.828033f, 0.791284f, 0.751427f, 0.708619f, 0.663028f, 0.614829f, 0.56421f, 0.511376f, 0.456533f, 0.399898f, 0.341693f, 0.282146f, 0.221491f, 0.159965f, 0.0978096f, 0.0352692f, -0.0274089f, -0.0899789f, -0.152195f, -0.213814f, -0.274593f, -0.334294f, -0.392683f, -0.44953f, -0.504606f, -0.557698f, -0.608601f, -0.657113f, -0.703044f, -0.746215f, -0.786455f, -0.823608f, -0.857526f, -0.888068f, -0.915117f, -0.938573f, -0.958343f, -0.974349f, -0.98653f, -0.994836f, -0.999236f, -0.999711f, -0.996254f, -0.988875f, -0.977614f, -0.962513f, -0.943633f, -0.921047f, -0.894844f, -0.865128f, -0.832013f, -0.795628f, -0.756108f, -0.71362f, -0.66833f, -0.620416f, -0.570065f, -0.517476f, -0.462854f, -0.406414f, -0.348378f, -0.288967f, -0.228423f, -0.166982f, -0.104886f, -0.0423785f, 0.0202958f, 0.0828907f, 0.145161f, 0.206861f, 0.267747f, 0.32758f, 0.386126f, 0.443155f, 0.498444f, 0.551776f, 0.602941f, 0.651738f, 0.697977f, 0.741469f, 0.782043f, 0.819546f, 0.853831f, 0.884763f, 0.91222f, 0.936095f, 0.956294f, 0.972738f, 0.985356f, 0.994095f, 0.99893f, 0.999843f, 0.996829f, 0.989902f, 0.979087f, 0.964427f, 0.94598f, 0.923816f, 0.898011f, 0.86868f, 0.835938f, 0.799914f, 0.760749f, 0.718596f, 0.673621f, 0.626f, 0.575921f, 0.523571f, 0.469165f, 0.412917f, 0.355048f, 0.295785f, 0.23536f, 0.174011f, 0.111978f, 0.0495042f, -0.0131645f, -0.0757809f, -0.138099f, -0.199875f, -0.260865f, -0.320831f, -0.379537f, -0.436754f, -0.492255f, -0.545821f, -0.597238f, -0.646309f, -0.692842f, -0.736654f, -0.777573f, -0.815438f, -0.850102f, -0.881428f, -0.909289f, -0.933569f, -0.954181f, -0.971047f, -0.9841f, -0.993288f, -0.998575f, -0.999941f, -0.99738f, -0.990903f, -0.980519f, -0.966284f, -0.948254f, -0.926501f, -0.90111f, -0.87218f, -0.839825f, -0.804172f, -0.765361f, -0.723534f, -0.678864f, -0.631528f, -0.581713f, -0.529613f, -0.475434f, -0.419387f, -0.361693f, -0.302579f, -0.242273f, -0.181014f, -0.119045f, -0.0566086f, 0.00604953f, 0.0686839f, 0.131049f, 0.192899f, 0.253993f, 0.314089f, 0.372947f, 0.43034f, 0.486043f, 0.539837f, 0.591511f, 0.640862f, 0.687697f, 0.731832f, 0.773093f, 0.811306f, 0.846332f, 0.878035f, 0.90629f, 0.930986f, 0.952026f, 0.969327f, 0.982822f, 0.992458f, 0.998182f, 0.999985f, 0.997861f, 0.991819f, 0.981882f, 0.96809f, 0.950496f, 0.929169f, 0.904193f, 0.875657f, 0.843677f, 0.808385f, 0.769919f, 0.728429f, 0.684079f, 0.637042f, 0.587504f, 0.535657f, 0.481704f, 0.425854f, 0.368332f, 0.309365f, 0.249183f, 0.188022f, 0.126123f, 0.0637285f, 0.00108288f, -0.0615676f, -0.123975f, -0.185895f, -0.247085f, -0.307304f, -0.366316f, -0.42389f, -0.4798f, -0.533826f, -0.585756f, -0.635377f, -0.682502f, -0.726946f, -0.768535f, -0.807107f, -0.842508f, -0.874602f, -0.903261f, -0.928374f, -0.94983f, -0.967552f, -0.981474f, -0.991541f, -0.997715f, -0.999972f, -0.998301f, -0.99271f, -0.98322f, -0.969862f, -0.952687f, -0.931771f, -0.907197f, -0.879059f, -0.84747f, -0.812553f, -0.774445f, -0.733295f, -0.689262f, -0.642515f, -0.593245f, -0.541645f, -0.487919f, -0.432277f, -0.374937f, -0.316125f, -0.25607f, -0.195009f, -0.133179f, -0.0708275f, -0.00819795f, 0.0544634f, 0.116911f, 0.178899f, 0.240185f, 0.300529f, 0.359693f, 0.41744f, 0.473545f, 0.527791f, 0.579964f, 0.629859f, 0.677281f, 0.722043f, 0.76397f, 0.802898f, 0.838665f, 0.871133f, 0.90018f, 0.925691f, 0.947568f, 0.965723f, 0.980086f, 0.990601f, 0.997226f, 0.999928f, 0.998694f, 0.993539f, 0.984482f, 0.97156f, 0.954822f, 0.934334f, 0.910178f, 0.882447f, 0.851248f, 0.816695f, 0.778935f, 0.738117f, 0.6944f, 0.647957f, 0.598969f, 0.547629f, 0.494138f, 0.438705f, 0.381543f, 0.322883f, 0.262956f, 0.201996f, 0.140243f, 0.0779398f, 0.0153299f, -0.0473407f, -0.109826f, -0.171879f, -0.233256f, -0.293716f, -0.353023f, -0.410942f, -0.467249f, -0.52172f, -0.574143f, -0.624313f, -0.672025f, -0.717093f, -0.759345f, -0.798614f, -0.834747f, -0.867602f, -0.89705f, -0.922976f, -0.945277f, -0.963863f, -0.978652f, -0.989598f, -0.996657f, -0.999803f, -0.999022f, -0.994319f, -0.985711f, -0.973231f, -0.95693f, -0.936855f, -0.913102f, -0.885764f, -0.854947f, -0.820773f, -0.783375f, -0.742902f, -0.69951f, -0.653372f, -0.604658f, -0.553569f, -0.500307f, -0.44508f, -0.388106f, -0.329607f, -0.269814f, -0.208961f, -0.147287f, -0.0850324f, -0.0224439f, 0.0402321f, 0.10275f, 0.164863f, 0.22633f, 0.286908f, 0.346359f, 0.404451f, 0.460953f, 0.51564f, 0.568301f, 0.61873f, 0.666729f, 0.71211f, 0.754695f, 0.794316f, 0.830819f, 0.864057f, 0.89389f, 0.920213f, 0.942922f, 0.961927f, 0.977156f, 0.988547f, 0.996056f, 0.999654f, 0.999327f, 0.995061f, 0.986886f, 0.974836f, 0.958958f, 0.939314f, 0.915982f, 0.889052f, 0.858631f, 0.824838f, 0.787797f, 0.747658f, 0.704584f, 0.658743f, 0.610316f, 0.559492f, 0.50647f, 0.451459f, 0.394675f, 0.336338f, 0.276677f, 0.21593f, 0.154336f, 0.0921355f, 0.0295737f, -0.0331044f, -0.095653f, -0.157826f, -0.21938f, -0.28007f, -0.339658f, -0.397913f, -0.454605f, -0.509511f, -0.562417f, -0.613114f, -0.661404f, -0.707098f, -0.750003f, -0.789963f, -0.82682f, -0.86043f, -0.890661f, -0.917394f, -0.940526f, -0.959964f, -0.975632f, -0.987457f, -0.995401f, -0.999435f, -0.999545f, -0.99573f, -0.988005f, -0.976399f, -0.96096f, -0.941746f, -0.918826f, -0.892291f, -0.862253f, -0.828828f, -0.792149f, -0.75236f, -0.709616f, -0.664084f, -0.615945f, -0.565383f, -0.512595f, -0.457795f, -0.401197f, -0.343024f, -0.283504f, -0.222871f, -0.161362f, -0.0992192f, -0.0366856f, 0.0259926f, 0.0885679f, 0.150795f, 0.212429f, 0.273229f, 0.332957f, 0.391377f, 0.448261f, 0.503385f, 0.556525f, 0.607478f, 0.656045f, 0.702036f, 0.745269f, 0.785577f, 0.822799f, 0.85679f, 0.887418f, 0.914551f, 0.938088f, 0.95794f, 0.97403f, 0.986296f, 0.994688f, 0.999175f, 0.999738f, 0.996375f, 0.989094f, 0.977918f, 0.962903f, 0.944107f, 0.921603f, 0.89548f, 0.865841f, 0.832802f, 0.796492f, 0.757051f, 0.714627f, 0.669398f, 0.621541f, 0.571243f, 0.518702f, 0.464123f, 0.407722f, 0.349719f, 0.290342f, 0.229821f, 0.168397f, 0.106313f, 0.0438116f, -0.0188617f, -0.0814609f, -0.143741f, -0.205456f, -0.266366f, -0.326227f, -0.384804f, -0.44187f, -0.4972f, -0.550578f, -0.601794f, -0.650647f, -0.696945f, -0.740506f, -0.781154f, -0.818728f, -0.853086f, -0.884094f, -0.91163f, -0.935587f, -0.955869f, -0.972398f, -0.985108f, -0.993946f, -0.998869f, -0.999869f, -0.996943f, -0.990102f, -0.979373f, -0.964797f, -0.946434f, -0.924353f, -0.898642f, -0.869387f, -0.836719f, -0.800766f, -0.761668f, -0.71958f, -0.674665f, -0.627101f, -0.577074f, -0.52478f, -0.470419f, -0.414209f, -0.356373f, -0.297138f, -0.236737f, -0.175405f, -0.113385f, -0.0509191f, 0.0117476f, 0.0743684f, 0.136696f, 0.198486f, 0.259497f, 0.319488f, 0.378225f, 0.435476f, 0.491018f, 0.544632f, 0.596105f, 0.64523f, 0.691822f, 0.735696f, 0.77668f, 0.814615f, 0.849351f, 0.880752f, 0.908695f, 0.933067f, 0.953762f, 0.970711f, 0.983849f, 0.993123f, 0.998497f, 0.99995f, 0.997477f, 0.991087f, 0.980805f, 0.966657f, 0.948712f, 0.927041f, 0.90173f, 0.872879f, 0.840599f, 0.805019f, 0.766277f, 0.724525f, 0.67992f, 0.632642f, 0.58288f, 0.53083f, 0.476695f, 0.420688f, 0.363029f, 0.303943f, 0.243664f, 0.182425f, 0.120469f, 0.0580408f, -0.0046152f, -0.0672528f, -0.129626f, -0.191491f, -0.252604f, -0.312726f, -0.371619f, -0.429047f, -0.484791f, -0.53863f, -0.590354f, -0.639759f, -0.686653f, -0.73085f, -0.772177f, -0.810473f, -0.845572f, -0.877351f, -0.905685f, -0.930461f, -0.951584f, -0.96897f, -0.982551f, -0.992274f, -0.9981f, -0.999994f, -0.997957f, -0.992002f, -0.982151f, -0.968443f, -0.950933f, -0.929688f, -0.904792f, -0.876343f, -0.844444f, -0.809223f, -0.770825f, -0.7294f, -0.685111f, -0.638132f, -0.588647f, -0.53685f, -0.482944f, -0.427138f, -0.369651f, -0.310713f, -0.250555f, -0.189414f, -0.127528f, -0.0651422f, -0.00249987f, 0.0601529f, 0.12257f, 0.184504f, 0.245713f, 0.305956f, 0.364997f, 0.422606f, 0.478554f, 0.532624f, 0.584602f, 0.634286f, 0.681469f, 0.725975f, 0.76763f, 0.806269f, 0.841743f, 0.873911f, 0.902648f, 0.92784f, 0.949388f, 0.967199f, 0.981206f, 0.991359f, 0.99762f, 0.999963f, 0.99838f, 0.992876f, 0.983474f, 0.970209f, 0.953128f, 0.932294f, 0.907801f, 0.879742f, 0.848229f, 0.813386f, 0.775348f, 0.734265f, 0.690298f, 0.643618f, 0.594402f, 0.542852f, 0.489171f, 0.43357f, 0.376266f, 0.317484f, 0.257455f, 0.196414f, 0.134602f, 0.0722585f, 0.00963228f, -0.0530313f, -0.115486f, -0.177487f, -0.238792f, -0.299159f, -0.358351f, -0.416138f, -0.472285f, -0.526575f, -0.578796f, -0.628745f, -0.676224f, -0.721048f, -0.76304f, -0.802037f, -0.837884f, -0.870434f, -0.899559f, -0.925151f, -0.94711f, -0.965349f, -0.979798f, -0.990399f, -0.997111f, -0.999908f, -0.998773f, -0.993704f, -0.984734f, -0.971896f, -0.955242f, -0.934837f, -0.910761f, -0.883108f, -0.851987f, -0.817519f, -0.779828f, -0.739076f, -0.695421f, -0.649036f, -0.600103f, -0.548812f, -0.495366f, -0.439975f, -0.382855f, -0.324226f, -0.264324f, -0.203384f, -0.141646f, -0.0793523f, -0.0167467f, 0.045925f, 0.108417f, 0.170484f, 0.231879f, 0.292363f, 0.351697f, 0.409651f, 0.465995f, 0.520509f, 0.57298f, 0.623201f, 0.670975f, 0.71611f, 0.758426f, 0.797763f, 0.833967f, 0.866896f, 0.896421f, 0.922426f, 0.944808f, 0.963481f, 0.978367f, 0.989398f, 0.996544f, 0.999777f, 0.999084f, 0.994468f, 0.985947f, 0.973554f, 0.957337f, 0.937362f, 0.91369f, 0.886431f, 0.855691f, 0.82159f, 0.784264f, 0.743858f, 0.70053f, 0.654451f, 0.605802f, 0.554767f, 0.501551f, 0.446365f, 0.389428f, 0.330961f, 0.271194f, 0.210363f, 0.148704f, 0.0864615f, 0.023878f, -0.038799f, -0.101323f, -0.163449f, -0.224932f, -0.285533f, -0.345012f, -0.403136f, -0.459679f, -0.514414f, -0.567123f, -0.617605f, -0.665661f, -0.711102f, -0.753752f, -0.793441f, -0.830015f, -0.863329f, -0.893253f, -0.919656f, -0.942447f, -0.961536f, -0.97685f, -0.988328f, -0.995924f, -0.99961f, -0.99937f, -0.995206f, -0.987121f, -0.975156f, -0.959362f, -0.939801f, -0.916549f, -0.889698f, -0.859353f, -0.825634f, -0.788671f, -0.748604f, -0.705593f, -0.659811f, -0.611439f, -0.560665f, -0.50769f, -0.452721f, -0.395974f, -0.337671f, -0.27804f, -0.217314f, -0.155736f, -0.0935466f, -0.0309901f, 0.0316881f, 0.0942419f, 0.156426f, 0.217997f, 0.278711f, 0.338327f, 0.396614f, 0.453343f, 0.508291f, 0.561243f, 0.611992f, 0.660337f, 0.70609f, 0.74907f, 0.789098f, 0.826025f, 0.859709f, 0.890016f, 0.916828f, 0.94004f, 0.959561f, 0.975313f, 0.987236f, 0.99527f, 0.999392f, 0.999589f, 0.995861f, 0.988223f, 0.976704f, 0.96135f, 0.94222f, 0.91939f, 0.892943f, 0.862982f, 0.829632f, 0.793024f, 0.753303f, 0.710623f, 0.665153f, 0.61707f, 0.566564f, 0.51383f, 0.459072f, 0.402512f, 0.344372f, 0.28488f, 0.224269f, 0.162777f, 0.100646f, 0.0381186f, -0.0245589f, -0.0871396f, -0.149377f, -0.211028f, -0.271849f, -0.331603f, -0.390055f, -0.446975f, -0.502141f, -0.555335f, -0.606342f, -0.654965f, -0.701015f, -0.744313f, -0.784687f, -0.82198f, -0.856045f, -0.886749f, -0.913971f, -0.937596f, -0.957532f, -0.973708f, -0.986059f, -0.994539f, -0.999113f, -0.999764f, -0.996489f, -0.9893f, -0.978221f, -0.96329f, -0.944577f, -0.922154f, -0.896111f, -0.866548f, -0.833583f, -0.797343f, -0.757973f, -0.715624f, -0.670454f, -0.622653f, -0.572406f, -0.519913f, -0.465377f, -0.409014f, -0.351044f, -0.291696f, -0.231201f, -0.169795f, -0.107722f, -0.0452273f, 0.0174449f, 0.0800484f, 0.142338f, 0.204068f, 0.264998f, 0.324888f, 0.383498f, 0.440601f, 0.495972f, 0.549395f, 0.600661f, 0.649568f, 0.695924f, 0.739548f, 0.780268f, 0.817919f, 0.85235f, 0.883434f, 0.911048f, 0.935085f, 0.955449f, 0.972062f, 0.984857f, 0.993785f, 0.998808f, 0.999895f, 0.997057f, 0.990303f, 0.97966f, 0.965171f, 0.946891f, 0.924893f, 0.899262f, 0.870101f, 0.837508f, 0.801627f, 0.762598f, 0.720574f, 0.675722f, 0.628215f, 0.578242f, 0.525997f, 0.471686f, 0.415517f, 0.357715f, 0.298508f, 0.23813f, 0.176817f, 0.11481f, 0.0523513f, -0.0103133f, -0.072938f, -0.135276f, -0.197081f, -0.258112f, -0.318129f, -0.376896f, -0.434184f, -0.489766f, -0.543425f, -0.594951f, -0.644139f, -0.690789f, -0.734726f, -0.775777f, -0.813782f, -0.848591f, -0.880068f, -0.908089f, -0.932545f, -0.953337f, -0.970371f, -0.983595f, -0.992956f, -0.998418f, -0.999959f, -0.997573f, -0.99127f, -0.981074f, -0.967025f, -0.949165f, -0.927576f, -0.902345f, -0.873571f, -0.841366f, -0.805857f, -0.767183f, -0.725497f, -0.68096f, -0.633743f, -0.584034f, -0.532032f, -0.47794f, -0.421972f, -0.364347f, -0.305292f, -0.245036f, -0.183818f, -0.121877f, -0.0594556f, 0.00319821f, 0.065839f, 0.128221f, 0.190099f, 0.251232f, 0.311377f, 0.370301f, 0.42777f, 0.483554f, 0.537438f, 0.589211f, 0.638669f, 0.68562f, 0.729879f, 0.771271f, 0.809636f, 0.844821f, 0.876676f, 0.905087f, 0.929943f, 0.951148f, 0.968617f, 0.982283f, 0.992091f, 0.998004f, 0.999998f, 0.998053f, 0.992186f, 0.982421f, 0.9688f, 0.951373f, 0.930211f, 0.905396f, 0.877025f, 0.84521f, 0.810069f, 0.771741f, 0.730382f, 0.686156f, 0.639235f, 0.589804f, 0.538057f, 0.484196f, 0.428434f, 0.370986f, 0.312078f, 0.251944f, 0.190822f, 0.128951f, 0.0665733f, 0.0039342f, -0.0587207f, -0.121146f, -0.183096f, -0.244324f, -0.304591f, -0.363662f, -0.421305f, -0.477293f, -0.531407f, -0.583435f, -0.633171f, -0.680422f, -0.724992f, -0.766713f, -0.805422f, -0.840968f, -0.873212f, -0.902026f, -0.927299f, -0.94893f, -0.966835f, -0.980935f, -0.991175f, -0.997523f, -0.999954f, -0.998458f, -0.993041f, -0.983725f, -0.970546f, -0.953555f, -0.932814f, -0.9084f, -0.880419f, -0.848981f, -0.814209f, -0.776241f, -0.735223f, -0.691319f, -0.644699f, -0.595545f, -0.544045f, -0.490409f, -0.434847f, -0.377578f, -0.318826f, -0.258823f, -0.197802f, -0.136005f, -0.0736722f, -0.0110493f, 0.0516164f, 0.114079f, 0.176093f, 0.237415f, 0.297805f, 0.357026f, 0.414846f, 0.471037f, 0.525373f, 0.577643f, 0.627644f, 0.67518f, 0.720064f, 0.762121f, 0.801185f, 0.837104f, 0.869735f, 0.898945f, 0.924617f, 0.946657f, 0.96498f, 0.979513f, 0.9902f, 0.996998f, 0.999882f, 0.998839f, 0.993871f, 0.984987f, 0.972235f, 0.955666f, 0.935344f, 0.911349f, 0.883776f, 0.852731f, 0.818338f, 0.780731f, 0.740045f, 0.696454f, 0.650128f, 0.601249f, 0.55001f, 0.49661f, 0.44126f, 0.384177f, 0.325584f, 0.265708f, 0.204789f, 0.143066f, 0.0807821f, 0.0181808f, -0.044492f, -0.10699f, -0.169069f, -0.230484f, -0.290993f, -0.350356f, -0.408343f, -0.464726f, -0.519284f, -0.571802f, -0.622075f, -0.669906f, -0.715107f, -0.757496f, -0.796902f, -0.833178f, -0.866182f, -0.895784f, -0.921869f, -0.944333f, -0.96309f, -0.978064f, -0.989197f, -0.99643f, -0.99975f, -0.999145f, -0.994616f, -0.986181f, -0.973873f, -0.957741f, -0.937848f, -0.914272f, -0.887092f, -0.856428f, -0.8224f, -0.785143f, -0.744804f, -0.701539f, -0.655519f, -0.606925f, -0.555947f, -0.502779f, -0.447635f, -0.390733f, -0.332298f, -0.272558f, -0.211747f, -0.150105f, -0.0878725f, -0.0252945f, 0.0373833f, 0.0999137f, 0.162051f, 0.223552f, 0.284174f, 0.34368f, 0.401837f, 0.458417f, 0.513197f, 0.56596f, 0.616493f, 0.664605f, 0.710107f, 0.752819f, 0.792576f, 0.82922f, 0.862608f, 0.892609f, 0.919105f, 0.941978f, 0.96115f, 0.976548f, 0.988111f, 0.995794f, 0.999567f, 0.999414f, 0.995338f, 0.987352f, 0.975478f, 0.959769f, 0.940291f, 0.917121f, 0.89035f, 0.860082f, 0.826437f, 0.789546f, 0.749554f, 0.706613f, 0.660891f, 0.612574f, 0.561853f, 0.508925f, 0.453998f, 0.397289f, 0.339019f, 0.279417f, 0.218716f, 0.157153f, 0.0949748f, 0.0324237f, -0.0302544f, -0.0928137f, -0.155009f, -0.216595f, -0.277332f, -0.33698f, -0.395299f, -0.452066f, -0.507056f, -0.560056f, -0.610856f, -0.659257f, -0.705069f, -0.748113f, -0.78822f, -0.825221f, -0.858979f, -0.889363f, -0.916255f, -0.939549f, -0.959153f, -0.97499f, -0.986999f, -0.995132f, -0.999348f, -0.999633f, -0.995992f, -0.98844f, -0.977007f, -0.961737f, -0.94269f, -0.919942f, -0.89358f, -0.863704f, -0.830427f, -0.79389f, -0.754236f, -0.711619f, -0.666209f, -0.618182f, -0.567728f, -0.515043f, -0.460334f, -0.403811f, -0.345703f, -0.286238f, -0.225649f, -0.164175f, -0.102055f, -0.0395344f, 0.0231421f, 0.0857285f, 0.147977f, 0.209643f, 0.270486f, 0.330266f, 0.388749f, 0.445706f, 0.500912f, 0.554152f, 0.605217f, 0.653898f, 0.700007f, 0.743368f, 0.783809f, 0.821171f, 0.85531f, 0.886089f, 0.913389f, 0.937103f, 0.957129f, 0.973389f, 0.985826f, 0.994392f, 0.999052f, 0.99979f, 0.996603f, 0.989501f, 0.978514f, 0.963681f, 0.945051f, 0.92271f, 0.896747f, 0.867262f, 0.834371f, 0.798204f, 0.758902f, 0.71662f, 0.671523f, 0.623778f, 0.573584f, 0.521138f, 0.466646f, 0.410322f, 0.352386f, 0.293066f, 0.232594f, 0.171209f, 0.109149f, 0.0466603f, -0.0160108f, -0.0786186f, -0.140918f, -0.202663f, -0.263613f, -0.323529f, -0.382174f, -0.439315f, -0.494728f, -0.548198f, -0.599514f, -0.648476f, -0.694892f, -0.738578f, -0.779365f, -0.817092f, -0.851605f, -0.882765f, -0.910459f, -0.934577f, -0.955024f, -0.971722f, -0.984604f, -0.993619f, -0.998732f, -0.999921f, -0.99717f, -0.990503f, -0.979946f, -0.965541f, -0.947345f, -0.925428f, -0.899877f, -0.870792f, -0.838288f, -0.802478f, -0.763517f, -0.721558f, -0.676766f, -0.629317f, -0.579395f, -0.527199f, -0.472932f, -0.416806f, -0.35904f, -0.299862f, -0.239507f, -0.178212f, -0.116217f, -0.0537661f, 0.00889629f, 0.0715242f, 0.133872f, 0.195693f, 0.256744f, 0.316786f, 0.375584f, 0.432906f, 0.488529f, 0.542233f, 0.593808f, 0.643052f, 0.689769f, 0.733768f, 0.774885f, 0.812959f, 0.847841f, 0.879393f, 0.907491f, 0.932027f, 0.952902f, 0.970035f, 0.983344f, 0.992791f, 0.998339f, 0.999967f, 0.997669f, 0.991453f, 0.981344f, 0.967381f, 0.949619f, 0.928116f, 0.902965f, 0.874269f, 0.842139f, 0.806703f, 0.768099f, 0.726479f, 0.682005f, 0.634853f, 0.585201f, 0.533248f, 0.479201f, 0.423273f, 0.365683f, 0.306656f, 0.246426f, 0.185227f, 0.1233f, 0.0608878f, -0.00176388f, -0.0644079f, -0.126799f, -0.188691f, -0.249842f, -0.310013f, -0.368966f, -0.426471f, -0.482301f, -0.53623f, -0.588053f, -0.637566f, -0.684575f, -0.728896f, -0.770355f, -0.808788f, -0.844046f, -0.87599f, -0.904481f, -0.929419f, -0.950706f, -0.96826f, -0.982012f, -0.991907f, -0.997907f, -0.999989f, -0.998144f, -0.992368f, -0.98269f, -0.969153f, -0.951811f, -0.93073f, -0.905995f, -0.877702f, -0.845962f, -0.8109f, -0.772647f, -0.731354f, -0.687189f, -0.640325f, -0.590948f, -0.539249f, -0.485433f, -0.429711f, -0.3723f, -0.313426f, -0.253317f, -0.192214f, -0.130356f, -0.0679871f, -0.00535118f, 0.0573059f, 0.119738f, 0.181701f, 0.242951f, 0.303243f, 0.362344f, 0.420021f, 0.476048f, 0.530206f, 0.582281f, 0.632071f, 0.679378f, 0.724019f, 0.765807f, 0.804585f, 0.840203f, 0.872521f, 0.901413f, 0.926765f, 0.948477f, 0.966466f, 0.980659f, 0.990993f, 0.997428f, 0.999945f, 0.998537f, 0.993208f, 0.983978f, 0.970885f, 0.953979f, 0.933326f, 0.909004f, 0.881102f, 0.84974f, 0.815042f, 0.777143f, 0.736192f, 0.692351f, 0.64579f, 0.596693f, 0.545252f, 0.491661f, 0.43614f, 0.378906f, 0.320186f, 0.260207f, 0.199207f, 0.137425f, 0.075102f, 0.0124836f, -0.0501842f, -0.112654f, -0.174681f, -0.236022f, -0.296435f, -0.355685f, -0.413538f, -0.469768f, -0.524153f, -0.576475f, -0.62653f, -0.674123f, -0.719069f, -0.761191f, -0.800324f, -0.836314f, -0.869021f, -0.898315f, -0.924076f, -0.946199f, -0.964606f, -0.979225f, -0.989998f, -0.996884f, -0.999855f, -0.9989f, -0.994022f, -0.985238f, -0.972572f, -0.956087f, -0.935847f, -0.911933f, -0.884437f, -0.853468f, -0.819148f, -0.78161f, -0.741003f, -0.697474f, -0.651207f, -0.602382f, -0.551193f, -0.497839f, -0.44253f, -0.385482f, -0.326921f, -0.267075f, -0.206177f, -0.144469f, -0.0821946f, -0.0195976f, 0.0430763f, 0.105581f, 0.167671f, 0.229104f, 0.289637f, 0.349031f, 0.407051f, 0.463472f, 0.518073f, 0.570639f, 0.620964f, 0.66885f, 0.714111f, 0.756568f, 0.796051f, 0.832398f, 0.865476f, 0.895155f, 0.921318f, 0.943864f, 0.962703f, 0.977762f, 0.988982f, 0.996317f, 0.999724f, 0.999206f, 0.994765f, 0.986417f, 0.974195f, 0.958148f, 0.938339f, 0.914844f, 0.887757f, 0.857171f, 0.823218f, 0.786032f, 0.74576f, 0.702559f, 0.656599f, 0.608061f, 0.557134f, 0.504019f, 0.44892f, 0.392055f, 0.333651f, 0.273938f, 0.213148f, 0.151522f, 0.0893008f, 0.0267282f, -0.0359499f, -0.0984872f, -0.160636f, -0.222154f, -0.282799f, -0.342333f, -0.400523f, -0.45714f, -0.511962f, -0.564774f, -0.615368f, -0.663536f, -0.709099f, -0.751876f, -0.7917f, -0.828416f, -0.861878f, -0.891956f, -0.918532f, -0.941501f, -0.960759f, -0.976242f, -0.987892f, -0.995662f, -0.999523f, -0.999458f, -0.995468f, -0.987569f, -0.975793f, -0.960173f, -0.940778f, -0.917689f, -0.890996f, -0.860804f, -0.827232f, -0.790412f, -0.750487f, -0.707615f, -0.661959f, -0.613697f, -0.563026f, -0.510145f, -0.45526f, -0.398588f, -0.34035f, -0.280775f, -0.220097f, -0.158554f, -0.0963859f, -0.0338401f, 0.0288381f, 0.0914026f, 0.153608f, 0.215211f, 0.275968f, 0.335643f, 0.394f, 0.450804f, 0.505837f, 0.558882f, 0.609733f, 0.658189f, 0.704061f, 0.747168f, 0.787342f, 0.824424f, 0.858258f, 0.888718f, 0.915689f, 0.939063f, 0.95875f, 0.974671f, 0.986766f, 0.994985f, 0.999297f, 0.999676f, 0.996123f, 0.988659f, 0.977312f, 0.962127f, 0.943164f, 0.920498f, 0.894216f, 0.864423f, 0.83123f, 0.794765f, 0.755178f, 0.712627f, 0.667277f, 0.619307f, 0.568905f, 0.516269f, 0.461604f, 0.405126f, 0.347051f, 0.287613f, 0.227047f, 0.165589f, 0.103482f, 0.0409674f, -0.021708f, -0.0842987f, -0.146559f, -0.208242f, -0.269106f, -0.328913f, -0.387428f, -0.444421f, -0.499669f, -0.552955f, -0.60407f, -0.652814f, -0.698987f, -0.742411f, -0.782919f, -0.820353f, -0.854565f, -0.885421f, -0.9128f, -0.936595f, -0.956712f, -0.973066f, -0.985589f, -0.994242f, -0.998991f, -0.999816f, -0.996716f, -0.989701f, -0.9788f, -0.964055f, -0.945521f, -0.923262f, -0.897377f, -0.867969f, -0.835152f, -0.799056f, -0.759822f, -0.717604f, -0.672568f, -0.62489f, -0.574748f, -0.522349f, -0.4679f, -0.411614f, -0.353711f, -0.294419f, -0.233971f, -0.172604f, -0.110558f, -0.048076f, 0.014594f, 0.0772061f, 0.139515f, 0.201275f, 0.262245f, 0.322186f, 0.380862f, 0.438042f, 0.4935f, 0.547015f, 0.598381f, 0.647397f, 0.693871f, 0.73762f, 0.778473f, 0.816269f, 0.850859f, 0.882105f, 0.909877f, 0.934075f, 0.954605f, 0.971386f, 0.984353f, 0.993454f, 0.998654f, 0.999932f, 0.997284f, 0.990704f, 0.980234f, 0.965914f, 0.947802f, 0.925968f, 0.900497f, 0.871491f, 0.839061f, 0.803337f, 0.764447f, 0.722553f, 0.677823f, 0.63043f, 0.580563f, 0.528415f, 0.474192f, 0.418107f, 0.360379f, 0.301232f, 0.2409f, 0.179624f, 0.117642f, 0.0551983f, -0.00746196f, -0.0700931f, -0.132449f, -0.194286f, -0.25536f, -0.315427f, -0.374255f, -0.431613f, -0.487276f, -0.541026f, -0.592651f, -0.641949f, -0.688726f, -0.732798f, -0.773982f, -0.812126f, -0.847081f, -0.878709f, -0.906886f, -0.931502f, -0.95246f, -0.969679f, -0.983089f, -0.992624f, -0.99826f, -0.999976f, -0.997765f, -0.991636f, -0.981613f, -0.967735f, -0.950056f, -0.928647f, -0.90358f, -0.874961f, -0.842906f, -0.807541f, -0.769006f, -0.72745f, -0.683038f, -0.635943f, -0.58635f, -0.53445f, -0.480447f, -0.424557f, -0.367001f, -0.308004f, -0.247798f, -0.186618f, -0.124705f, -0.0623019f, 0.000346896f, 0.0629941f, 0.125393f, 0.187299f, 0.24847f, 0.308665f, 0.367647f, 0.425186f, 0.481057f, 0.535038f, 0.58691f, 0.636477f, 0.683543f, 0.727925f, 0.769449f, 0.807951f, 0.843281f, 0.875299f, 0.903881f, 0.928901f, 0.95027f, 0.967907f, 0.981744f, 0.991725f, 0.997812f, 0.99998f, 0.998223f, 0.992545f, 0.982961f, 0.969509f, 0.952251f, 0.931254f, 0.906599f, 0.878385f, 0.846721f, 0.811732f, 0.773555f, 0.732336f, 0.688233f, 0.641428f, 0.592105f, 0.540457f, 0.486686f, 0.431004f, 0.373629f, 0.314786f, 0.254706f, 0.193622f, 0.131779f, 0.0694182f, 0.00678551f, -0.0558737f, -0.118314f, -0.180289f, -0.241558f, -0.301878f, -0.361008f, -0.41872f, -0.474787f, -0.528989f, -0.581114f, -0.630956f, -0.678322f, -0.723023f, -0.764886f, -0.803738f, -0.839428f, -0.871822f, -0.900792f, -0.926224f, -0.948019f, -0.966092f, -0.980371f, -0.9908f, -0.997331f, -0.999937f, -0.998616f, -0.993373f, -0.98423f, -0.971222f, -0.954399f, -0.933829f, -0.909592f, -0.881779f, -0.850492f, -0.815866f, -0.778036f, -0.737151f, -0.693372f, -0.646869f, -0.597826f, -0.546435f, -0.492898f, -0.437417f, -0.380219f, -0.321528f, -0.261575f, -0.200596f, -0.138828f, -0.0765145f, -0.0139003f, 0.0487692f, 0.111247f, 0.173286f, 0.234645f, 0.295082f, 0.35436f, 0.412246f, 0.468514f, 0.522942f, 0.575317f, 0.625429f, 0.673079f, 0.718086f, 0.760272f, 0.799473f, 0.835534f, 0.868315f, 0.897685f, 0.923531f, 0.945746f, 0.964236f, 0.97894f, 0.989799f, 0.996771f, 0.999829f, 0.998962f, 0.994171f, 0.985477f, 0.972911f, 0.956511f, 0.936354f, 0.912521f, 0.885104f, 0.854212f, 0.819965f, 0.782499f, 0.741959f, 0.698505f, 0.652298f, 0.603529f, 0.55239f, 0.499082f, 0.443815f, 0.386804f, 0.328274f, 0.268455f, 0.207581f, 0.145889f, 0.0836244f, 0.0210317f, -0.0416432f, -0.104154f, -0.166257f, -0.227706f, -0.288262f, -0.347686f, -0.405743f, -0.462203f, -0.516847f, -0.569461f, -0.619838f, -0.667782f, -0.713103f, -0.755624f, -0.795178f, -0.831608f, -0.864761f, -0.894518f, -0.920761f, -0.943389f, -0.962312f, -0.977457f, -0.988763f, -0.996186f, -0.999697f, -0.999267f, -0.994913f, -0.986651f, -0.974515f, -0.958552f, -0.938825f, -0.915411f, -0.888403f, -0.857905f, -0.824028f, -0.786911f, -0.746705f, -0.703567f, -0.657667f, -0.609184f, -0.558308f, -0.505239f, -0.450186f, -0.393361f, -0.334988f, -0.275301f, -0.214533f, -0.152923f, -0.0907118f, -0.0281446f, 0.0345336f, 0.0970767f, 0.159239f, 0.220773f, 0.28144f, 0.341002f, 0.399224f, 0.455878f, 0.510742f, 0.563601f, 0.614247f, 0.662481f, 0.708103f, 0.750944f, 0.790835f, 0.827621f, 0.861157f, 0.891312f, 0.917966f, 0.941015f, 0.96037f, 0.975941f, 0.987676f, 0.995532f, 0.999479f, 0.999502f, 0.9956f, 0.987788f, 0.976097f, 0.960574f, 0.941268f, 0.918261f, 0.891647f, 0.861533f, 0.828036f, 0.791287f, 0.75143f, 0.708623f, 0.663032f, 0.614833f, 0.564214f, 0.511379f, 0.456537f, 0.399903f, 0.341697f, 0.28215f, 0.221495f, 0.159969f, 0.0978141f, 0.0352738f, -0.0274044f, -0.0899744f, -0.152191f, -0.213809f, -0.274588f, -0.33429f, -0.392678f, -0.449526f, -0.504602f, -0.557695f, -0.608597f, -0.657109f, -0.703041f, -0.746212f, -0.786452f, -0.823605f, -0.857524f, -0.888066f, -0.915116f, -0.938572f, -0.958342f, -0.974348f, -0.986529f, -0.994836f, -0.999236f, -0.999712f, -0.996254f, -0.988876f, -0.977615f, -0.962514f, -0.943634f, -0.921049f, -0.894846f, -0.86513f, -0.832016f, -0.79563f, -0.756111f, -0.713623f, -0.668333f, -0.620419f, -0.570069f, -0.51748f, -0.462858f, -0.406418f, -0.348382f, -0.288972f, -0.228428f, -0.166987f, -0.104891f, -0.0423831f, 0.0202912f, 0.0828862f, 0.145156f, 0.206857f, 0.267743f, 0.327576f, 0.386122f, 0.443151f, 0.49844f, 0.551772f, 0.602937f, 0.651735f, 0.697974f, 0.741466f, 0.782041f, 0.819544f, 0.853829f, 0.88476f, 0.912218f, 0.936093f, 0.956292f, 0.972737f, 0.985356f, 0.994095f, 0.99893f, 0.999843f, 0.99683f, 0.989902f, 0.979088f, 0.964428f, 0.945981f, 0.923818f, 0.898013f, 0.868683f, 0.835941f, 0.799917f, 0.760751f, 0.718599f, 0.673624f, 0.626004f, 0.575924f, 0.523575f, 0.469169f, 0.412921f, 0.355052f, 0.295789f, 0.235365f, 0.174015f, 0.111982f, 0.0495088f, -0.0131599f, -0.0757763f, -0.138095f, -0.19987f, -0.260861f, -0.320827f, -0.379533f, -0.436749f, -0.492251f, -0.545817f, -0.597234f, -0.646306f, -0.692839f, -0.736651f, -0.77757f, -0.815436f, -0.8501f, -0.881425f, -0.909287f, -0.933567f, -0.95418f, -0.971046f, -0.984099f, -0.993287f, -0.998575f, -0.999941f, -0.997381f, -0.990904f, -0.980519f, -0.966285f, -0.948256f, -0.926503f, -0.901112f, -0.872183f, -0.839828f, -0.804175f, -0.765364f, -0.723537f, -0.678867f, -0.631532f, -0.581716f, -0.529617f, -0.475438f, -0.419391f, -0.361698f, -0.302583f, -0.242277f, -0.181018f, -0.119049f, -0.0566131f, 0.00604498f, 0.0686793f, 0.131044f, 0.192895f, 0.253989f, 0.314084f, 0.372943f, 0.430336f, 0.486039f, 0.539833f, 0.591507f, 0.640859f, 0.687694f, 0.731829f, 0.77309f, 0.811303f, 0.84633f, 0.878033f, 0.906288f, 0.930984f, 0.952024f, 0.969326f, 0.982821f, 0.992457f, 0.998182f, 0.999985f, 0.997862f, 0.99182f, 0.981883f, 0.968091f, 0.950497f, 0.92917f, 0.904195f, 0.875659f, 0.84368f, 0.808388f, 0.769921f, 0.728432f, 0.684082f, 0.637046f, 0.587507f, 0.535661f, 0.481708f, 0.425858f, 0.368336f, 0.309369f, 0.249187f, 0.188027f, 0.126128f, 0.063733f, 0.00108743f, -0.061563f, -0.123971f, -0.185891f, -0.247081f, -0.3073f, -0.366312f, -0.423886f, -0.479796f, -0.533822f, -0.585752f, -0.635373f, -0.682498f, -0.726943f, -0.768532f, -0.807104f, -0.842506f, -0.8746f, -0.903259f, -0.928372f, -0.949828f, -0.96755f, -0.981473f, -0.991541f, -0.997715f, -0.999972f, -0.998301f, -0.99271f, -0.983221f, -0.969863f, -0.952688f, -0.931773f, -0.907198f, -0.879062f, -0.847473f, -0.812556f, -0.774448f, -0.733299f, -0.689266f, -0.642518f, -0.593248f, -0.541649f, -0.487923f, -0.432281f, -0.374941f, -0.316129f, -0.256074f, -0.195014f, -0.133184f, -0.070832f, -0.0082025f, 0.0544589f, 0.116906f, 0.178895f, 0.240181f, 0.300524f, 0.359689f, 0.417435f, 0.473541f, 0.527787f, 0.57996f, 0.629856f, 0.677277f, 0.72204f, 0.763967f, 0.802895f, 0.838663f, 0.871131f, 0.900178f, 0.92569f, 0.947566f, 0.965722f, 0.980086f, 0.9906f, 0.997225f, 0.999928f, 0.998695f, 0.99354f, 0.984483f, 0.971561f, 0.954823f, 0.934336f, 0.91018f, 0.882449f, 0.851251f, 0.816698f, 0.778938f, 0.73812f, 0.694404f, 0.647961f, 0.598973f, 0.547633f, 0.494142f, 0.438709f, 0.381547f, 0.322888f, 0.26296f, 0.202001f, 0.140248f, 0.0779443f, 0.0153344f, -0.0473362f, -0.109822f, -0.171875f, -0.233252f, -0.293712f, -0.353018f, -0.410938f, -0.467245f, -0.521716f, -0.57414f, -0.624309f, -0.672022f, -0.71709f, -0.759342f, -0.798611f, -0.834745f, -0.8676f, -0.897048f, -0.922974f, -0.945276f, -0.963862f, -0.978651f, -0.989597f, -0.996657f, -0.999803f, -0.999023f, -0.994319f, -0.985711f, -0.973232f, -0.956931f, -0.936857f, -0.913104f, -0.885766f, -0.854949f, -0.820775f, -0.783378f, -0.742905f, -0.699513f, -0.653375f, -0.604662f, -0.553573f, -0.500311f, -0.445084f, -0.38811f, -0.329612f, -0.269819f, -0.208966f, -0.147291f, -0.0850369f, -0.0224484f, 0.0402275f, 0.102745f, 0.164859f, 0.226325f, 0.286903f, 0.346355f, 0.404447f, 0.460949f, 0.515636f, 0.568297f, 0.618727f, 0.666726f, 0.712107f, 0.754692f, 0.794314f, 0.830816f, 0.864055f, 0.893888f, 0.920211f, 0.94292f, 0.961926f, 0.977155f, 0.988546f, 0.996056f, 0.999654f, 0.999327f, 0.995062f, 0.986887f, 0.974837f, 0.958959f, 0.939316f, 0.915984f, 0.889054f, 0.858634f, 0.824841f, 0.7878f, 0.747661f, 0.704587f, 0.658747f, 0.610319f, 0.559495f, 0.506474f, 0.451463f, 0.394679f, 0.336342f, 0.276681f, 0.215934f, 0.15434f, 0.0921401f, 0.0295783f, -0.0330999f, -0.0956484f, -0.157822f, -0.219376f, -0.280065f, -0.339654f, -0.397909f, -0.454601f, -0.509507f, -0.562413f, -0.613111f, -0.661401f, -0.707095f, -0.75f, -0.78996f, -0.826817f, -0.860428f, -0.890659f, -0.917393f, -0.940524f, -0.959962f, -0.975631f, -0.987456f, -0.9954f, -0.999435f, -0.999545f, -0.99573f, -0.988005f, -0.9764f, -0.960961f, -0.941748f, -0.918828f, -0.892293f, -0.862255f, -0.828831f, -0.792152f, -0.752363f, -0.709619f, -0.664088f, -0.615949f, -0.565387f, -0.512599f, -0.457799f, -0.401201f, -0.343029f, -0.283509f, -0.222876f, -0.161367f, -0.0992237f, -0.0366901f, 0.025988f, 0.0885634f, 0.15079f, 0.212425f, 0.273225f, 0.332952f, 0.391373f, 0.448257f, 0.503381f, 0.556521f, 0.607475f, 0.656042f, 0.702033f, 0.745266f, 0.785574f, 0.822796f, 0.856788f, 0.887416f, 0.914549f, 0.938086f, 0.957939f, 0.974029f, 0.986295f, 0.994688f, 0.999175f, 0.999738f, 0.996376f, 0.989094f, 0.977919f, 0.962904f, 0.944108f, 0.921605f, 0.895482f, 0.865843f, 0.832804f, 0.796494f, 0.757054f, 0.714631f, 0.669402f, 0.621544f, 0.571247f, 0.518705f, 0.464127f, 0.407726f, 0.349723f, 0.290347f, 0.229825f, 0.168402f, 0.106317f, 0.0438161f, -0.0188571f, -0.0814564f, -0.143736f, -0.205452f, -0.266362f, -0.326222f, -0.3848f, -0.441866f, -0.497197f, -0.550574f, -0.60179f, -0.650643f, -0.696941f, -0.740503f, -0.781151f, -0.818725f, -0.853084f, -0.884092f, -0.911628f, -0.935585f, -0.955868f, -0.972397f, -0.985107f, -0.993945f, -0.998868f, -0.999869f, -0.996943f, -0.990102f, -0.979374f, -0.964799f, -0.946435f, -0.924355f, -0.898644f, -0.86939f, -0.836722f, -0.800769f, -0.761671f, -0.719583f, -0.674668f, -0.627105f, -0.577078f, -0.524784f, -0.470423f, -0.414213f, -0.356377f, -0.297143f, -0.236741f, -0.17541f, -0.11339f, -0.0509236f, 0.0117431f, 0.0743638f, 0.136692f, 0.198482f, 0.259493f, 0.319484f, 0.378221f, 0.435472f, 0.491014f, 0.544629f, 0.596101f, 0.645227f, 0.691818f, 0.735693f, 0.776678f, 0.814613f, 0.849349f, 0.88075f, 0.908693f, 0.933065f, 0.95376f, 0.97071f, 0.983848f, 0.993122f, 0.998496f, 0.99995f, 0.997477f, 0.991088f, 0.980806f, 0.966658f, 0.948713f, 0.927043f, 0.901732f, 0.872881f, 0.840602f, 0.805021f, 0.76628f, 0.724528f, 0.679923f, 0.632646f, 0.582884f, 0.530834f, 0.476699f, 0.420692f, 0.363033f, 0.303948f, 0.243668f, 0.18243f, 0.120474f, 0.0580453f, -0.00461065f, -0.0672483f, -0.129622f, -0.191486f, -0.2526f, -0.312721f, -0.371614f, -0.429043f, -0.484787f, -0.538626f, -0.59035f, -0.639756f, -0.686649f, -0.730847f, -0.772174f, -0.81047f, -0.84557f, -0.877349f, -0.905683f, -0.93046f, -0.951583f, -0.968969f, -0.98255f, -0.992273f, -0.998099f, -0.999994f, -0.997957f, -0.992002f, -0.982152f, -0.968444f, -0.950934f, -0.929689f, -0.904794f, -0.876345f, -0.844446f, -0.809226f, -0.770828f, -0.729403f, -0.685115f, -0.638136f, -0.588651f, -0.536854f, -0.482948f, -0.427143f, -0.369655f, -0.310717f, -0.25056f, -0.189418f, -0.127533f, -0.0651468f, -0.00250442f, 0.0601484f, 0.122566f, 0.1845f, 0.245708f, 0.305952f, 0.364993f, 0.422601f, 0.47855f, 0.53262f, 0.584599f, 0.634282f, 0.681466f, 0.725972f, 0.767627f, 0.806267f, 0.841741f, 0.873909f, 0.902646f, 0.927838f, 0.949387f, 0.967198f, 0.981205f, 0.991359f, 0.99762f, 0.999963f, 0.99838f, 0.992877f, 0.983474f, 0.97021f, 0.953129f, 0.932296f, 0.907803f, 0.879744f, 0.848232f, 0.813388f, 0.77535f, 0.734268f, 0.690301f, 0.643621f, 0.594405f, 0.542856f, 0.489175f, 0.433574f, 0.37627f, 0.317488f, 0.257459f, 0.196419f, 0.134606f, 0.0722631f, 0.00963683f, -0.0530267f, -0.115482f, -0.177483f, -0.238787f, -0.299154f, -0.358347f, -0.416133f, -0.472281f, -0.526571f, -0.578793f, -0.628741f, -0.676221f, -0.721045f, -0.763037f, -0.802034f, -0.837881f, -0.870431f, -0.899557f, -0.925149f, -0.947108f, -0.965348f, -0.979797f, -0.990399f, -0.997111f, -0.999908f, -0.998773f, -0.993705f, -0.984735f, -0.971897f, -0.955244f, -0.934839f, -0.910763f, -0.88311f, -0.85199f, -0.817522f, -0.779831f, -0.739079f, -0.695425f, -0.64904f, -0.600106f, -0.548816f, -0.49537f, -0.439979f, -0.382859f, -0.32423f, -0.264328f, -0.203389f, -0.141651f, -0.0793568f, -0.0167512f, 0.0459205f, 0.108412f, 0.170479f, 0.231875f, 0.292358f, 0.351693f, 0.409646f, 0.465991f, 0.520505f, 0.572976f, 0.623197f, 0.670971f, 0.716107f, 0.758423f, 0.79776f, 0.833965f, 0.866894f, 0.896419f, 0.922424f, 0.944807f, 0.96348f, 0.978366f, 0.989398f, 0.996544f, 0.999777f, 0.999084f, 0.994468f, 0.985947f, 0.973555f, 0.957339f, 0.937363f, 0.913692f, 0.886433f, 0.855693f, 0.821593f, 0.784267f, 0.743861f, 0.700534f, 0.654455f, 0.605806f, 0.554771f, 0.501555f, 0.446369f, 0.389432f, 0.330965f, 0.271199f, 0.210367f, 0.148709f, 0.086466f, 0.0238826f, -0.0387945f, -0.101319f, -0.163444f, -0.224928f, -0.285528f, -0.345007f, -0.403132f, -0.459675f, -0.51441f, -0.56712f, -0.617601f, -0.665657f, -0.711099f, -0.753749f, -0.793438f, -0.830012f, -0.863327f, -0.893251f, -0.919654f, -0.942445f, -0.961535f, -0.976849f, -0.988327f, -0.995924f, -0.99961f, -0.999371f, -0.995207f, -0.987121f, -0.975157f, -0.959363f, -0.939802f, -0.916551f, -0.8897f, -0.859356f, -0.825636f, -0.788674f, -0.748607f, -0.705596f, -0.659814f, -0.611442f, -0.560669f, -0.507694f, -0.452725f, -0.395978f, -0.337675f, -0.278044f, -0.217319f, -0.15574f, -0.0935511f, -0.0309946f, 0.0316835f, 0.0942374f, 0.156422f, 0.217992f, 0.278707f, 0.338323f, 0.39661f, 0.453339f, 0.508287f, 0.56124f, 0.611988f, 0.660334f, 0.706087f, 0.749067f, 0.789095f, 0.826023f, 0.859707f, 0.890014f, 0.916826f, 0.940039f, 0.959559f, 0.975312f, 0.987235f, 0.99527f, 0.999392f, 0.999589f, 0.995862f, 0.988224f, 0.976705f, 0.961351f, 0.942222f, 0.919392f, 0.892945f, 0.862984f, 0.829634f, 0.793027f, 0.753306f, 0.710626f, 0.665156f, 0.617074f, 0.566568f, 0.513834f, 0.459076f, 0.402516f, 0.344376f, 0.284884f, 0.224273f, 0.162781f, 0.10065f, 0.0381232f, -0.0245543f, -0.0871351f, -0.149373f, -0.211023f, -0.271845f, -0.331599f, -0.390051f, -0.446971f, -0.502137f, -0.555332f, -0.606338f, -0.654962f, -0.701012f, -0.74431f, -0.784684f, -0.821978f, -0.856043f, -0.886747f, -0.913969f, -0.937595f, -0.957531f, -0.973707f, -0.986059f, -0.994539f, -0.999113f, -0.999764f, -0.996489f, -0.989301f, -0.978222f, -0.963292f, -0.944579f, -0.922156f, -0.896113f, -0.866551f, -0.833585f, -0.797346f, -0.757976f, -0.715627f, -0.670458f, -0.622656f, -0.57241f, -0.519916f, -0.465381f, -0.409018f, -0.351049f, -0.2917f, -0.231205f, -0.169799f, -0.107727f, -0.0452318f, 0.0174404f, 0.0800439f, 0.142333f, 0.204064f, 0.264994f, 0.324883f, 0.383494f, 0.440596f, 0.495968f, 0.549391f, 0.600657f, 0.649564f, 0.695921f, 0.739545f, 0.780265f, 0.817916f, 0.852348f, 0.883432f, 0.911046f, 0.935083f, 0.955448f, 0.972061f, 0.984857f, 0.993785f, 0.998808f, 0.999895f, 0.997057f, 0.990304f, 0.979661f, 0.965172f, 0.946892f, 0.924895f, 0.899264f, 0.870103f, 0.83751f, 0.801629f, 0.762601f, 0.720578f, 0.675725f, 0.628219f, 0.578245f, 0.526001f, 0.47169f, 0.415521f, 0.357719f, 0.298513f, 0.238135f, 0.176822f, 0.114814f, 0.0523558f, -0.0103087f, -0.0729335f, -0.135272f, -0.197077f, -0.258108f, -0.318125f, -0.376892f, -0.434179f, -0.489762f, -0.543422f, -0.594948f, -0.644135f, -0.690786f, -0.734723f, -0.775774f, -0.81378f, -0.848589f, -0.880066f, -0.908087f, -0.932543f, -0.953336f, -0.97037f, -0.983594f, -0.992955f, -0.998417f, -0.999959f, -0.997573f, -0.99127f, -0.981074f, -0.967026f, -0.949167f, -0.927578f, -0.902347f, -0.873573f, -0.841368f, -0.805859f, -0.767186f, -0.7255f, -0.680964f, -0.633747f, -0.584038f, -0.532035f, -0.477944f, -0.421977f, -0.364352f, -0.305296f, -0.245041f, -0.183823f, -0.121881f, -0.0594602f, 0.00319366f, 0.0658345f, 0.128216f, 0.190095f, 0.251227f, 0.311373f, 0.370297f, 0.427766f, 0.48355f, 0.537434f, 0.589207f, 0.638666f, 0.685617f, 0.729876f, 0.771268f, 0.809633f, 0.844819f, 0.876674f, 0.905085f, 0.929942f, 0.951146f, 0.968616f, 0.982282f, 0.992091f, 0.998004f, 0.999998f, 0.998054f, 0.992186f, 0.982422f, 0.968801f, 0.951375f, 0.930213f, 0.905398f, 0.877028f, 0.845213f, 0.810072f, 0.771744f, 0.730385f, 0.686159f, 0.639239f, 0.589808f, 0.538061f, 0.4842f, 0.428438f, 0.37099f, 0.312082f, 0.251949f, 0.190827f, 0.128955f, 0.0665779f, 0.00393875f, -0.0587162f, -0.121141f, -0.183091f, -0.244319f, -0.304587f, -0.363658f, -0.421301f, -0.477289f, -0.531403f, -0.583431f, -0.633168f, -0.680419f, -0.724989f, -0.76671f, -0.805419f, -0.840966f, -0.87321f, -0.902024f, -0.927297f, -0.948929f, -0.966834f, -0.980934f, -0.991174f, -0.997523f, -0.999954f, -0.998458f, -0.993042f, -0.983726f, -0.970547f, -0.953556f, -0.932815f, -0.908402f, -0.880421f, -0.848984f, -0.814212f, -0.776243f, -0.735226f, -0.691322f, -0.644702f, -0.595549f, -0.544049f, -0.490413f, -0.434851f, -0.377582f, -0.318831f, -0.258827f, -0.197807f, -0.136009f, -0.0736768f, -0.0110538f, 0.0516118f, 0.114074f, 0.176088f, 0.237411f, 0.297801f, 0.357022f, 0.414842f, 0.471033f, 0.525369f, 0.577639f, 0.62764f, 0.675177f, 0.720061f, 0.762118f, 0.801183f, 0.837101f, 0.869733f, 0.898943f, 0.924615f, 0.946655f, 0.964979f, 0.979512f, 0.990199f, 0.996998f, 0.999882f, 0.998839f, 0.993871f, 0.984988f, 0.972237f, 0.955668f, 0.935346f, 0.911351f, 0.883778f, 0.852734f, 0.818341f, 0.780733f, 0.740048f, 0.696457f, 0.650131f, 0.601253f, 0.550013f, 0.496614f, 0.441264f, 0.384181f, 0.325588f, 0.265713f, 0.204794f, 0.143071f, 0.0807866f, 0.0181853f, -0.0444874f, -0.106986f, -0.169064f, -0.23048f, -0.290988f, -0.350352f, -0.408339f, -0.464722f, -0.51928f, -0.571798f, -0.622072f, -0.669903f, -0.715104f, -0.757493f, -0.796899f, -0.833175f, -0.866179f, -0.895782f, -0.921867f, -0.944332f, -0.963089f, -0.978063f, -0.989196f, -0.99643f, -0.99975f, -0.999145f, -0.994616f, -0.986182f, -0.973874f, -0.957743f, -0.93785f, -0.914274f, -0.887094f, -0.85643f, -0.822403f, -0.785146f, -0.744807f, -0.701542f, -0.655523f, -0.606929f, -0.555951f, -0.502783f, -0.447639f, -0.390738f, -0.332302f, -0.272562f, -0.211751f, -0.150109f, -0.087877f, -0.0252991f, 0.0373788f, 0.0999092f, 0.162047f, 0.223547f, 0.28417f, 0.343676f, 0.401833f, 0.458413f, 0.513193f, 0.565956f, 0.61649f, 0.664602f, 0.710103f, 0.752816f, 0.792573f, 0.829218f, 0.862606f, 0.892607f, 0.919103f, 0.941976f, 0.961149f, 0.976547f, 0.988111f, 0.995794f, 0.999566f, 0.999414f, 0.995338f, 0.987353f, 0.975479f, 0.95977f, 0.940293f, 0.917123f, 0.890352f, 0.860085f, 0.826439f, 0.789549f, 0.749557f, 0.706616f, 0.660894f, 0.612578f, 0.561857f, 0.508929f, 0.454002f, 0.397293f, 0.339023f, 0.279421f, 0.21872f, 0.157158f, 0.0949794f, 0.0324283f, -0.0302499f, -0.0928091f, -0.155004f, -0.216591f, -0.277327f, -0.336975f, -0.395295f, -0.452062f, -0.507052f, -0.560052f, -0.610852f, -0.659253f, -0.705066f, -0.74811f, -0.788218f, -0.825219f, -0.858977f, -0.889361f, -0.916253f, -0.939547f, -0.959151f, -0.974989f, -0.986998f, -0.995132f, -0.999348f, -0.999633f, -0.995992f, -0.988441f, -0.977008f, -0.961738f, -0.942692f, -0.919943f, -0.893582f, -0.863706f, -0.83043f, -0.793893f, -0.754239f, -0.711623f, -0.666212f, -0.618186f, -0.567731f, -0.515047f, -0.460338f, -0.403815f, -0.345707f, -0.286242f, -0.225654f, -0.164179f, -0.10206f, -0.0395389f, 0.0231376f, 0.085724f, 0.147972f, 0.209639f, 0.270482f, 0.330262f, 0.388745f, 0.445702f, 0.500908f, 0.554149f, 0.605213f, 0.653894f, 0.700004f, 0.743365f, 0.783806f, 0.821169f, 0.855307f, 0.886087f, 0.913387f, 0.937101f, 0.957128f, 0.973388f, 0.985825f, 0.994391f, 0.999052f, 0.99979f, 0.996603f, 0.989502f, 0.978515f, 0.963682f, 0.945052f, 0.922712f, 0.896749f, 0.867264f, 0.834374f, 0.798207f, 0.758905f, 0.716623f, 0.671526f, 0.623781f, 0.573588f, 0.521142f, 0.46665f, 0.410326f, 0.35239f, 0.29307f, 0.232599f, 0.171213f, 0.109153f, 0.0466649f, -0.0160062f, -0.0786141f, -0.140913f, -0.202659f, -0.263609f, -0.323524f, -0.38217f, -0.439311f, -0.494724f, -0.548194f, -0.59951f, -0.648473f, -0.694888f, -0.738575f, -0.779362f, -0.817089f, -0.851603f, -0.882763f, -0.910457f, -0.934575f, -0.955023f, -0.971721f, -0.984603f, -0.993618f, -0.998732f, -0.999921f, -0.99717f, -0.990503f, -0.979947f, -0.965542f, -0.947346f, -0.92543f, -0.899879f, -0.870795f, -0.83829f, -0.802481f, -0.76352f, -0.721562f, -0.676769f, -0.62932f, -0.579399f, -0.527203f, -0.472936f, -0.416811f, -0.359044f, -0.299866f, -0.239511f, -0.178216f, -0.116222f, -0.0537707f, 0.00889174f, 0.0715197f, 0.133867f, 0.195689f, 0.25674f, 0.316782f, 0.37558f, 0.432902f, 0.488525f, 0.542229f, 0.593804f, 0.643048f, 0.689765f, 0.733765f, 0.774882f, 0.812956f, 0.847838f, 0.87939f, 0.907489f, 0.932025f, 0.9529f, 0.970034f, 0.983343f, 0.992791f, 0.998339f, 0.999967f, 0.99767f, 0.991454f, 0.981345f, 0.967382f, 0.949621f, 0.928118f, 0.902967f, 0.874271f, 0.842142f, 0.806706f, 0.768102f, 0.726482f, 0.682008f, 0.634856f, 0.585205f, 0.533252f, 0.479205f, 0.423277f, 0.365687f, 0.306661f, 0.24643f, 0.185231f, 0.123304f, 0.0608923f, -0.00175933f, -0.0644034f, -0.126794f, -0.188686f, -0.249838f, -0.310008f, -0.368962f, -0.426467f, -0.482297f, -0.536227f, -0.58805f, -0.637563f, -0.684572f, -0.728893f, -0.770352f, -0.808786f, -0.844044f, -0.875988f, -0.904479f, -0.929417f, -0.950705f, -0.968259f, -0.982011f, -0.991907f, -0.997907f, -0.999989f, -0.998144f, -0.992369f, -0.982691f, -0.969154f, -0.951812f, -0.930732f, -0.905997f, -0.877704f, -0.845965f, -0.810903f, -0.77265f, -0.731357f, -0.687192f, -0.640329f, -0.590951f, -0.539253f, -0.485437f, -0.429715f, -0.372304f, -0.31343f, -0.253321f, -0.192218f, -0.130361f, -0.0679917f, -0.00535574f, 0.0573013f, 0.119734f, 0.181697f, 0.242947f, 0.303239f, 0.362339f, 0.420016f, 0.476044f, 0.530202f, 0.582278f, 0.632067f, 0.679375f, 0.724016f, 0.765804f, 0.804582f, 0.8402f, 0.872519f, 0.901411f, 0.926763f, 0.948476f, 0.966465f, 0.980658f, 0.990992f, 0.997427f, 0.999945f, 0.998537f, 0.993208f, 0.983979f, 0.970886f, 0.95398f, 0.933328f, 0.909006f, 0.881104f, 0.849742f, 0.815044f, 0.777146f, 0.736195f, 0.692354f, 0.645794f, 0.596697f, 0.545256f, 0.491665f, 0.436144f, 0.378911f, 0.32019f, 0.260212f, 0.199212f, 0.137429f, 0.0751066f, 0.0124881f, -0.0501797f, -0.11265f, -0.174677f, -0.236017f, -0.296431f, -0.355681f, -0.413534f, -0.469764f, -0.524149f, -0.576471f, -0.626526f, -0.67412f, -0.719066f, -0.761188f, -0.800321f, -0.836312f, -0.869018f, -0.898313f, -0.924074f, -0.946197f, -0.964604f, -0.979224f, -0.989998f, -0.996884f, -0.999855f, -0.9989f, -0.994023f, -0.985239f, -0.972573f, -0.956088f, -0.935849f, -0.911934f, -0.884439f, -0.853471f, -0.81915f, -0.781613f, -0.741006f, -0.697478f, -0.65121f, -0.602386f, -0.551196f, -0.497843f, -0.442534f, -0.385487f, -0.326925f, -0.26708f, -0.206182f, -0.144474f, -0.0821991f, -0.0196021f, 0.0430717f, 0.105576f, 0.167667f, 0.229099f, 0.289632f, 0.349027f, 0.407047f, 0.463468f, 0.518069f, 0.570635f, 0.62096f, 0.668847f, 0.714108f, 0.756565f, 0.796048f, 0.832395f, 0.865473f, 0.895153f, 0.921317f, 0.943863f, 0.962702f, 0.977761f, 0.988981f, 0.996317f, 0.999724f, 0.999206f, 0.994765f, 0.986417f, 0.974196f, 0.95815f, 0.93834f, 0.914846f, 0.887759f, 0.857174f, 0.82322f, 0.786035f, 0.745763f, 0.702562f, 0.656603f, 0.608064f, 0.557138f, 0.504023f, 0.448924f, 0.392059f, 0.333656f, 0.273942f, 0.213153f, 0.151527f, 0.0893053f, 0.0267328f, -0.0359454f, -0.0984826f, -0.160632f, -0.22215f, -0.282795f, -0.342329f, -0.400518f, -0.457136f, -0.511958f, -0.56477f, -0.615364f, -0.663533f, -0.709095f, -0.751873f, -0.791698f, -0.828413f, -0.861876f, -0.891954f, -0.91853f, -0.9415f, -0.960758f, -0.976241f, -0.987891f, -0.995662f, -0.999522f, -0.999458f, -0.995469f, -0.98757f, -0.975793f, -0.960174f, -0.940779f, -0.91769f, -0.890998f, -0.860807f, -0.827235f, -0.790415f, -0.75049f, -0.707618f, -0.661962f, -0.613701f, -0.56303f, -0.510149f, -0.455264f, -0.398592f, -0.340354f, -0.28078f, -0.220102f, -0.158558f, -0.0963904f, -0.0338446f, 0.0288335f, 0.0913981f, 0.153604f, 0.215206f, 0.275964f, 0.335639f, 0.393996f, 0.4508f, 0.505833f, 0.558879f, 0.60973f, 0.658186f, 0.704058f, 0.747165f, 0.787339f, 0.824421f, 0.858256f, 0.888716f, 0.915687f, 0.939061f, 0.958748f, 0.97467f, 0.986765f, 0.994984f, 0.999297f, 0.999677f, 0.996124f, 0.988659f, 0.977313f, 0.962128f, 0.943166f, 0.920499f, 0.894218f, 0.864425f, 0.831233f, 0.794767f, 0.755181f, 0.71263f, 0.667281f, 0.619311f, 0.568909f, 0.516273f, 0.461608f, 0.40513f, 0.347055f, 0.287618f, 0.227051f, 0.165594f, 0.103486f, 0.0409719f, -0.0217035f, -0.0842942f, -0.146555f, -0.208238f, -0.269102f, -0.328909f, -0.387423f, -0.444417f, -0.499665f, -0.552951f, -0.604066f, -0.65281f, -0.698984f, -0.742408f, -0.782916f, -0.82035f, -0.854562f, -0.885419f, -0.912798f, -0.936593f, -0.956711f, -0.973065f, -0.985589f, -0.994242f, -0.998991f, -0.999817f, -0.996716f, -0.989702f, -0.978801f, -0.964056f, -0.945523f, -0.923264f, -0.897379f, -0.867971f, -0.835155f, -0.799059f, -0.759825f, -0.717607f, -0.672571f, -0.624893f, -0.574751f, -0.522353f, -0.467904f, -0.411618f, -0.353715f, -0.294424f, -0.233975f, -0.172608f, -0.110562f, -0.0480806f, 0.0145895f, 0.0772016f, 0.13951f, 0.201271f, 0.262241f, 0.322181f, 0.380857f, 0.438038f, 0.493496f, 0.547011f, 0.598378f, 0.647394f, 0.693868f, 0.737617f, 0.77847f, 0.816266f, 0.850857f, 0.882103f, 0.909875f, 0.934073f, 0.954603f, 0.971385f, 0.984352f, 0.993453f, 0.998654f, 0.999932f, 0.997284f, 0.990705f, 0.980235f, 0.965916f, 0.947803f, 0.92597f, 0.900499f, 0.871493f, 0.839064f, 0.80334f, 0.76445f, 0.722556f, 0.677826f, 0.630434f, 0.580567f, 0.528419f, 0.474196f, 0.418111f, 0.360383f, 0.301236f, 0.240905f, 0.179628f, 0.117646f, 0.0552028f, -0.00745741f, -0.0700886f, -0.132445f, -0.194282f, -0.255355f, -0.315423f, -0.374251f, -0.431609f, -0.487272f, -0.541022f, -0.592647f, -0.641945f, -0.688723f, -0.732795f, -0.773979f, -0.812123f, -0.847078f, -0.878706f, -0.906884f, -0.9315f, -0.952459f, -0.969677f, -0.983088f, -0.992624f, -0.99826f, -0.999976f, -0.997765f, -0.991637f, -0.981614f, -0.967736f, -0.950058f, -0.928649f, -0.903582f, -0.874963f, -0.842908f, -0.807544f, -0.769008f, -0.727453f, -0.683041f, -0.635946f, -0.586354f, -0.534454f, -0.480451f, -0.424562f, -0.367006f, -0.308009f, -0.247802f, -0.186623f, -0.12471f, -0.0623064f, 0.000342344f, 0.0629896f, 0.125389f, 0.187295f, 0.248466f, 0.30866f, 0.367643f, 0.425182f, 0.481053f, 0.535034f, 0.586906f, 0.636473f, 0.68354f, 0.727922f, 0.769446f, 0.807949f, 0.843278f, 0.875297f, 0.903879f, 0.928899f, 0.950269f, 0.967906f, 0.981743f, 0.991724f, 0.997811f, 0.99998f, 0.998223f, 0.992546f, 0.982961f, 0.96951f, 0.952253f, 0.931255f, 0.906601f, 0.878387f, 0.846723f, 0.811735f, 0.773558f, 0.732339f, 0.688236f, 0.641432f, 0.592108f, 0.54046f, 0.48669f, 0.431008f, 0.373633f, 0.31479f, 0.25471f, 0.193627f, 0.131783f, 0.0694228f, 0.00679006f, -0.0558692f, -0.118309f, -0.180285f, -0.241553f, -0.301874f, -0.361004f, -0.418716f, -0.474783f, -0.528985f, -0.58111f, -0.630953f, -0.678318f, -0.72302f, -0.764883f, -0.803735f, -0.839426f, -0.871819f, -0.90079f, -0.926222f, -0.948018f, -0.966091f, -0.98037f, -0.990799f, -0.997331f, -0.999937f, -0.998616f, -0.993374f, -0.984231f, -0.971223f, -0.954401f, -0.933831f, -0.909593f, -0.881781f, -0.850494f, -0.815868f, -0.778039f, -0.737154f, -0.693375f, -0.646873f, -0.59783f, -0.546439f, -0.492902f, -0.437421f, -0.380223f, -0.321533f, -0.26158f, -0.2006f, -0.138832f, -0.0765191f, -0.0139049f, 0.0487646f, 0.111242f, 0.173282f, 0.234641f, 0.295078f, 0.354355f, 0.412242f, 0.46851f, 0.522938f, 0.575314f, 0.625425f, 0.673076f, 0.718082f, 0.760269f, 0.79947f, 0.835532f, 0.868312f, 0.897683f, 0.92353f, 0.945744f, 0.964235f, 0.978939f, 0.989798f, 0.996771f, 0.999829f, 0.998962f, 0.994172f, 0.985478f, 0.972912f, 0.956512f, 0.936356f, 0.912523f, 0.885106f, 0.854214f, 0.819968f, 0.782502f, 0.741962f, 0.698508f, 0.652302f, 0.603532f, 0.552394f, 0.499086f, 0.443819f, 0.386808f, 0.328279f, 0.26846f, 0.207586f, 0.145894f, 0.0836289f, 0.0210362f, -0.0416387f, -0.10415f, -0.166252f, -0.227702f, -0.288257f, -0.347682f, -0.405739f, -0.462199f, -0.516843f, -0.569457f, -0.619835f, -0.667778f, -0.7131f, -0.755621f, -0.795176f, -0.831606f, -0.864759f, -0.894516f, -0.92076f, -0.943388f, -0.962311f, -0.977456f, -0.988762f, -0.996186f, -0.999697f, -0.999268f, -0.994913f, -0.986652f, -0.974516f, -0.958553f, -0.938827f, -0.915413f, -0.888405f, -0.857907f, -0.82403f, -0.786914f, -0.746708f, -0.703571f, -0.65767f, -0.609187f, -0.558312f, -0.505243f, -0.45019f, -0.393365f, -0.334993f, -0.275305f, -0.214537f, -0.152927f, -0.0907163f, -0.0281491f, 0.034529f, 0.0970722f, 0.159234f, 0.220769f, 0.281436f, 0.340997f, 0.399219f, 0.455874f, 0.510738f, 0.563597f, 0.614243f, 0.662477f, 0.7081f, 0.750941f, 0.790833f, 0.827619f, 0.861155f, 0.891309f, 0.917964f, 0.941014f, 0.960369f, 0.97594f, 0.987675f, 0.995532f, 0.999479f, 0.999502f, 0.9956f, 0.987789f, 0.976098f, 0.960575f, 0.94127f, 0.918262f, 0.89165f, 0.861535f, 0.828038f, 0.791289f, 0.751433f, 0.708626f, 0.663035f, 0.614837f, 0.564218f, 0.511383f, 0.456541f, 0.399907f, 0.341702f, 0.282155f, 0.221499f, 0.159974f, 0.0978187f, 0.0352783f, -0.0273998f, -0.0899698f, -0.152186f, -0.213805f, -0.274584f, -0.334285f, -0.392674f, -0.449522f, -0.504598f, -0.557691f, -0.608593f, -0.657106f, -0.703038f, -0.746209f, -0.78645f, -0.823602f, -0.857522f, -0.888064f, -0.915114f, -0.93857f, -0.95834f, -0.974347f, -0.986528f, -0.994835f, -0.999235f, -0.999712f, -0.996254f, -0.988877f, -0.977616f, -0.962516f, -0.943636f, -0.921051f, -0.894848f, -0.865132f, -0.832018f, -0.795633f, -0.756114f, -0.713627f, -0.668337f, -0.620423f, -0.570073f, -0.517484f, -0.462862f, -0.406423f, -0.348386f, -0.288976f, -0.228432f, -0.166991f, -0.104895f, -0.0423876f, 0.0202867f, 0.0828817f, 0.145152f, 0.206852f, 0.267738f, 0.327571f, 0.386118f, 0.443147f, 0.498436f, 0.551768f, 0.602933f, 0.651731f, 0.697971f, 0.741463f, 0.782038f, 0.819541f, 0.853826f, 0.884758f, 0.912216f, 0.936091f, 0.956291f, 0.972736f, 0.985355f, 0.994094f, 0.99893f, 0.999843f, 0.99683f, 0.989903f, 0.979089f, 0.964429f, 0.945983f, 0.92382f, 0.898015f, 0.868685f, 0.835943f, 0.799919f, 0.760754f, 0.718602f, 0.673627f, 0.626007f, 0.575928f, 0.523579f, 0.469173f, 0.412925f, 0.355057f, 0.295794f, 0.235369f, 0.17402f, 0.111987f, 0.0495133f, -0.0131554f, -0.0757718f, -0.13809f, -0.199866f, -0.260856f, -0.320822f, -0.379529f, -0.436745f, -0.492247f, -0.545813f, -0.597231f, -0.646302f, -0.692835f, -0.736647f, -0.777567f, -0.815433f, -0.850097f, -0.881423f, -0.909286f, -0.933565f, -0.954179f, -0.971045f, -0.984098f, -0.993286f, -0.998574f, -0.999941f, -0.997381f, -0.990904f, -0.98052f, -0.966286f, -0.948257f, -0.926505f, -0.901114f, -0.872185f, -0.83983f, -0.804178f, -0.765367f, -0.72354f, -0.67887f, -0.631535f, -0.58172f, -0.529621f, -0.475442f, -0.419396f, -0.361702f, -0.302587f, -0.242281f, -0.181023f, -0.119054f, -0.0566177f, 0.00604042f, 0.0686748f, 0.13104f, 0.19289f, 0.253984f, 0.31408f, 0.372939f, 0.430332f, 0.486035f, 0.539829f, 0.591504f, 0.640855f, 0.687691f, 0.731826f, 0.773087f, 0.8113f, 0.846328f, 0.878031f, 0.906286f, 0.930982f, 0.952023f, 0.969325f, 0.98282f, 0.992457f, 0.998182f, 0.999985f, 0.997862f, 0.99182f, 0.981884f, 0.968092f, 0.950498f, 0.929172f, 0.904197f, 0.875661f, 0.843682f, 0.80839f, 0.769924f, 0.728435f, 0.684085f, 0.637049f, 0.587511f, 0.535665f, 0.481712f, 0.425862f, 0.368341f, 0.309373f, 0.249192f, 0.188031f, 0.126132f, 0.0637375f, 0.00109199f, -0.0615585f, -0.123966f, -0.185887f, -0.247076f, -0.307296f, -0.366308f, -0.423882f, -0.479792f, -0.533818f, -0.585748f, -0.63537f, -0.682495f, -0.72694f, -0.768529f, -0.807101f, -0.842504f, -0.874598f, -0.903257f, -0.928371f, -0.949827f, -0.967549f, -0.981472f, -0.99154f, -0.997715f, -0.999971f, -0.998301f, -0.992711f, -0.983222f, -0.969864f, -0.95269f, -0.931774f, -0.9072f, -0.879064f, -0.847475f, -0.812559f, -0.774451f, -0.733302f, -0.689269f, -0.642522f, -0.593252f, -0.541653f, -0.487927f, -0.432285f, -0.374945f, -0.316133f, -0.256079f, -0.195018f, -0.133188f, -0.0708365f, -0.00820705f, 0.0544543f, 0.116902f, 0.17889f, 0.240176f, 0.30052f, 0.359684f, 0.417431f, 0.473537f, 0.527783f, 0.579956f, 0.629852f, 0.677274f, 0.722037f, 0.763964f, 0.802893f, 0.83866f, 0.871129f, 0.900176f, 0.925688f, 0.947565f, 0.965721f, 0.980085f, 0.9906f, 0.997225f, 0.999928f, 0.998695f, 0.99354f, 0.984484f, 0.971562f, 0.954825f, 0.934338f, 0.910182f, 0.882451f, 0.851253f, 0.8167f, 0.778941f, 0.738123f, 0.694407f, 0.647964f, 0.598977f, 0.547637f, 0.494146f, 0.438713f, 0.381552f, 0.322892f, 0.262965f, 0.202005f, 0.140252f, 0.0779489f, 0.015339f, -0.0473316f, -0.109817f, -0.17187f, -0.233247f, -0.293708f, -0.353014f, -0.410934f, -0.467241f, -0.521712f, -0.574136f, -0.624305f, -0.672019f, -0.717087f, -0.759339f, -0.798609f, -0.834742f, -0.867598f, -0.897046f, -0.922973f, -0.945274f, -0.963861f, -0.97865f, -0.989596f, -0.996657f, -0.999803f, -0.999023f, -0.99432f, -0.985712f, -0.973233f, -0.956933f, -0.936859f, -0.913106f, -0.885768f, -0.854951f, -0.820778f, -0.783381f, -0.742908f, -0.699517f, -0.653378f, -0.604666f, -0.553577f, -0.500315f, -0.445088f, -0.388114f, -0.329616f, -0.269823f, -0.20897f, -0.147296f, -0.0850415f, -0.022453f, 0.040223f, 0.102741f, 0.164854f, 0.226321f, 0.286899f, 0.346351f, 0.404443f, 0.460945f, 0.515632f, 0.568294f, 0.618723f, 0.666723f, 0.712104f, 0.754689f, 0.794311f, 0.830814f, 0.864053f, 0.893886f, 0.920209f, 0.942919f, 0.961925f, 0.977154f, 0.988546f, 0.996055f, 0.999654f, 0.999327f, 0.995062f, 0.986888f, 0.974838f, 0.958961f, 0.939317f, 0.915985f, 0.889056f, 0.858636f, 0.824843f, 0.787803f, 0.747664f, 0.704591f, 0.65875f, 0.610323f, 0.559499f, 0.506478f, 0.451467f, 0.394683f, 0.336346f, 0.276685f, 0.215939f, 0.154345f, 0.0921446f, 0.0295828f, -0.0330953f, -0.0956439f, -0.157817f, -0.219371f, -0.280061f, -0.33965f, -0.397905f, -0.454597f, -0.509503f, -0.562409f, -0.613107f, -0.661397f, -0.707091f, -0.749997f, -0.789957f, -0.826815f, -0.860425f, -0.890657f, -0.917391f, -0.940522f, -0.959961f, -0.97563f, -0.987456f, -0.9954f, -0.999435f, -0.999545f, -0.995731f, -0.988006f, -0.976401f, -0.960962f, -0.941749f, -0.91883f, -0.892295f, -0.862257f, -0.828834f, -0.792155f, -0.752366f, -0.709622f, -0.664091f, -0.615952f, -0.565391f, -0.512603f, -0.457803f, -0.401206f, -0.343033f, -0.283513f, -0.22288f, -0.161371f, -0.0992282f, -0.0366947f, 0.0259835f, 0.0885588f, 0.150786f, 0.21242f, 0.273221f, 0.332948f, 0.391369f, 0.448252f, 0.503377f, 0.556518f, 0.607471f, 0.656038f, 0.702029f, 0.745263f, 0.785571f, 0.822794f, 0.856786f, 0.887413f, 0.914548f, 0.938084f, 0.957937f, 0.974028f, 0.986295f, 0.994687f, 0.999174f, 0.999738f, 0.996376f, 0.989095f, 0.97792f, 0.962906f, 0.94411f, 0.921607f, 0.895485f, 0.865846f, 0.832807f, 0.796497f, 0.757057f, 0.714634f, 0.669405f, 0.621548f, 0.57125f, 0.518709f, 0.464131f, 0.40773f, 0.349728f, 0.290351f, 0.22983f, 0.168406f, 0.106322f, 0.0438207f, -0.0188526f, -0.0814519f, -0.143732f, -0.205447f, -0.266357f, -0.326218f, -0.384796f, -0.441862f, -0.497193f, -0.550571f, -0.601787f, -0.65064f, -0.696938f, -0.7405f, -0.781148f, -0.818723f, -0.853081f, -0.88409f, -0.911627f, -0.935583f, -0.955866f, -0.972396f, -0.985107f, -0.993945f, -0.998868f, -0.999869f, -0.996943f, -0.990103f, -0.979374f, -0.9648f, -0.946437f, -0.924357f, -0.898646f, -0.869392f, -0.836724f, -0.800771f, -0.761674f, -0.719586f, -0.674672f, -0.627108f, -0.577082f, -0.524788f, -0.470427f, -0.414217f, -0.356382f, -0.297147f, -0.236746f, -0.175414f, -0.113394f, -0.0509282f, 0.0117385f, 0.0743593f, 0.136687f, 0.198478f, 0.259488f, 0.31948f, 0.378216f, 0.435468f, 0.49101f, 0.544625f, 0.596098f, 0.645224f, 0.691815f, 0.735689f, 0.776675f, 0.81461f, 0.849346f, 0.880748f, 0.908691f, 0.933063f, 0.953759f, 0.970709f, 0.983847f, 0.993122f, 0.998496f, 0.99995f, 0.997477f, 0.991088f, 0.980807f, 0.966659f, 0.948714f, 0.927045f, 0.901734f, 0.872883f, 0.840604f, 0.805024f, 0.766283f, 0.724531f, 0.679927f, 0.632649f, 0.582888f, 0.530837f, 0.476703f, 0.420696f, 0.363037f, 0.303952f, 0.243673f, 0.182434f, 0.120478f, 0.0580499f, -0.00460609f, -0.0672437f, -0.129617f, -0.191482f, -0.252595f, -0.312717f, -0.37161f, -0.429039f, -0.484783f, -0.538622f, -0.590346f, -0.639752f, -0.686646f, -0.730843f, -0.772171f, -0.810467f, -0.845568f, -0.877347f, -0.905681f, -0.930458f, -0.951581f, -0.968968f, -0.982549f, -0.992272f, -0.998099f, -0.999994f, -0.997958f, -0.992003f, -0.982153f, -0.968446f, -0.950936f, -0.929691f, -0.904796f, -0.876347f, -0.844449f, -0.809228f, -0.770831f, -0.729407f, -0.685118f, -0.638139f, -0.588654f, -0.536857f, -0.482952f, -0.427147f, -0.36966f, -0.310722f, -0.250564f, -0.189423f, -0.127537f, -0.0651513f, -0.00250897f, 0.0601438f, 0.122561f, 0.184495f, 0.245704f, 0.305947f, 0.364989f, 0.422597f, 0.478546f, 0.532616f, 0.584595f, 0.634279f, 0.681463f, 0.725969f, 0.767624f, 0.806264f, 0.841738f, 0.873907f, 0.902644f, 0.927836f, 0.949386f, 0.967197f, 0.981204f, 0.991358f, 0.997619f, 0.999963f, 0.99838f, 0.992877f, 0.983475f, 0.970211f, 0.95313f, 0.932298f, 0.907805f, 0.879747f, 0.848234f, 0.813391f, 0.775353f, 0.734271f, 0.690304f, 0.643625f, 0.594409f, 0.54286f, 0.489179f, 0.433578f, 0.376274f, 0.317492f, 0.257464f, 0.196423f, 0.134611f, 0.0722676f, 0.00964138f, -0.0530222f, -0.115477f, -0.177478f, -0.238783f, -0.29915f, -0.358343f, -0.416129f, -0.472277f, -0.526567f, -0.578789f, -0.628738f, -0.676217f, -0.721041f, -0.763034f, -0.802031f, -0.837879f, -0.870429f, -0.899555f, -0.925147f, -0.947107f, -0.965347f, -0.979796f, -0.990398f, -0.997111f, -0.999908f, -0.998773f, -0.993705f, -0.984735f, -0.971898f, -0.955245f, -0.934841f, -0.910765f, -0.883113f, -0.851992f, -0.817524f, -0.779834f, -0.739082f, -0.695428f, -0.649043f, -0.60011f, -0.54882f, -0.495374f, -0.439983f, -0.382863f, -0.324235f, -0.264333f, -0.203393f, -0.141655f, -0.0793614f, -0.0167558f, 0.0459159f, 0.108408f, 0.170475f, 0.231871f, 0.292354f, 0.351689f, 0.409642f, 0.465987f, 0.520502f, 0.572972f, 0.623194f, 0.670968f, 0.716104f, 0.75842f, 0.797758f, 0.833962f, 0.866892f, 0.896417f, 0.922422f, 0.944805f, 0.963478f, 0.978365f, 0.989397f, 0.996544f, 0.999777f, 0.999084f, 0.994469f, 0.985948f, 0.973556f, 0.95734f, 0.937365f, 0.913694f, 0.886435f, 0.855695f, 0.821596f, 0.78427f, 0.743864f, 0.700537f, 0.654458f, 0.605809f, 0.554774f, 0.501558f, 0.446373f, 0.389436f, 0.330969f, 0.271203f, 0.210371f, 0.148713f, 0.0864705f, 0.0238871f, -0.0387899f, -0.101314f, -0.16344f, -0.224923f, -0.285524f, -0.345003f, -0.403128f, -0.45967f, -0.514406f, -0.567116f, -0.617598f, -0.665654f, -0.711096f, -0.753746f, -0.793435f, -0.83001f, -0.863325f, -0.893249f, -0.919652f, -0.942444f, -0.961534f, -0.976848f, -0.988326f, -0.995924f, -0.99961f, -0.999371f, -0.995207f, -0.987122f, -0.975158f, -0.959364f, -0.939804f, -0.916553f, -0.889702f, -0.859358f, -0.825639f, -0.788677f, -0.74861f, -0.705599f, -0.659818f, -0.611446f, -0.560673f, -0.507698f, -0.452729f, -0.395982f, -0.33768f, -0.278049f, -0.217323f, -0.155745f, -0.0935556f, -0.0309992f, 0.031679f, 0.0942329f, 0.156417f, 0.217988f, 0.278702f, 0.338319f, 0.396606f, 0.453335f, 0.508283f, 0.561236f, 0.611984f, 0.66033f, 0.706083f, 0.749064f, 0.789092f, 0.82602f, 0.859704f, 0.890012f, 0.916825f, 0.940037f, 0.959558f, 0.975311f, 0.987234f, 0.99527f, 0.999392f, 0.999589f, 0.995862f, 0.988224f, 0.976706f, 0.961352f, 0.942223f, 0.919394f, 0.892947f, 0.862986f, 0.829637f, 0.79303f, 0.753309f, 0.710629f, 0.66516f, 0.617077f, 0.566572f, 0.513838f, 0.45908f, 0.40252f, 0.34438f, 0.284888f, 0.224278f, 0.162786f, 0.100655f, 0.0381277f, -0.0245498f, -0.0871305f, -0.149368f, -0.211019f, -0.271841f, -0.331595f, -0.390047f, -0.446967f, -0.502133f, -0.555328f, -0.606335f, -0.654958f, -0.701009f, -0.744307f, -0.784681f, -0.821975f, -0.856041f, -0.886745f, -0.913968f, -0.937593f, -0.957529f, -0.973706f, -0.986058f, -0.994538f, -0.999113f, -0.999764f, -0.996489f, -0.989301f, -0.978223f, -0.963293f, -0.94458f, -0.922158f, -0.896115f, -0.866553f, -0.833588f, -0.797349f, -0.757979f, -0.71563f, -0.670461f, -0.62266f, -0.572414f, -0.51992f, -0.465385f, -0.409022f, -0.351053f, -0.291704f, -0.23121f, -0.169804f, -0.107731f, -0.0452364f, 0.0174358f, 0.0800394f, 0.142329f, 0.204059f, 0.264989f, 0.324879f, 0.38349f, 0.440592f, 0.495964f, 0.549388f, 0.600654f, 0.649561f, 0.695918f, 0.739542f, 0.780262f, 0.817914f, 0.852345f, 0.88343f, 0.911044f, 0.935081f, 0.955447f, 0.97206f, 0.984856f, 0.993784f, 0.998807f, 0.999895f, 0.997057f, 0.990304f, 0.979662f, 0.965173f, 0.946894f, 0.924896f, 0.899266f, 0.870105f, 0.837513f, 0.801632f, 0.762604f, 0.720581f, 0.675728f, 0.628222f, 0.578249f, 0.526005f, 0.471694f, 0.415525f, 0.357723f, 0.298517f, 0.238139f, 0.176826f, 0.114819f, 0.0523604f, -0.0103042f, -0.0729289f, -0.135267f, -0.197073f, -0.258103f, -0.31812f, -0.376888f, -0.434175f, -0.489758f, -0.543418f, -0.594944f, -0.644132f, -0.690782f, -0.73472f, -0.775772f, -0.813777f, -0.848586f, -0.880064f, -0.908085f, -0.932541f, -0.953334f, -0.970369f, -0.983593f, -0.992955f, -0.998417f, -0.999959f, -0.997573f, -0.991271f, -0.981075f, -0.967027f, -0.949168f, -0.92758f, -0.902349f, -0.873575f, -0.841371f, -0.805862f, -0.767189f, -0.725503f, -0.680967f, -0.63375f, -0.584041f, -0.532039f, -0.477948f, -0.421981f, -0.364356f, -0.3053f, -0.245045f, -0.183827f, -0.121886f, -0.0594647f, 0.00318911f, 0.0658299f, 0.128212f, 0.19009f, 0.251223f, 0.311369f, 0.370293f, 0.427762f, 0.483546f, 0.53743f, 0.589203f, 0.638662f, 0.685614f, 0.729873f, 0.771266f, 0.80963f, 0.844816f, 0.876671f, 0.905083f, 0.92994f, 0.951145f, 0.968615f, 0.982281f, 0.99209f, 0.998003f, 0.999998f, 0.998054f, 0.992187f, 0.982423f, 0.968802f, 0.951376f, 0.930215f, 0.9054f, 0.87703f, 0.845215f, 0.810075f, 0.771747f, 0.730389f, 0.686162f, 0.639242f, 0.589812f, 0.538065f, 0.484204f, 0.428442f, 0.370995f, 0.312086f, 0.251953f, 0.190831f, 0.12896f, 0.0665824f, 0.0039433f, -0.0587117f, -0.121137f, -0.183087f, -0.244315f, -0.304583f, -0.363654f, -0.421297f, -0.477285f, -0.5314f, -0.583427f, -0.633164f, -0.680416f, -0.724986f, -0.766707f, -0.805417f, -0.840963f, -0.873207f, -0.902022f, -0.927296f, -0.948927f, -0.966833f, -0.980933f, -0.991174f, -0.997523f, -0.999954f, -0.998459f, -0.993043f, -0.983727f, -0.970548f, -0.953558f, -0.932817f, -0.908404f, -0.880423f, -0.848986f, -0.814215f, -0.776246f, -0.735229f, -0.691325f, -0.644706f, -0.595553f, -0.544052f, -0.490416f, -0.434855f, -0.377586f, -0.318835f, -0.258832f, -0.197811f, -0.136014f, -0.0736813f, -0.0110584f, 0.0516073f, 0.11407f, 0.176084f, 0.237406f, 0.297797f, 0.357018f, 0.414837f, 0.471029f, 0.525365f, 0.577635f, 0.627637f, 0.675173f, 0.720058f, 0.762115f, 0.80118f, 0.837099f, 0.869731f, 0.898941f, 0.924613f, 0.946654f, 0.964977f, 0.979511f, 0.990199f, 0.996998f, 0.999882f, 0.99884f, 0.993872f, 0.984989f, 0.972238f, 0.955669f, 0.935347f, 0.911353f, 0.88378f, 0.852736f, 0.818343f, 0.780736f, 0.740051f, 0.69646f, 0.650135f, 0.601256f, 0.550017f, 0.496618f, 0.441268f, 0.384185f, 0.325593f, 0.265717f, 0.204798f, 0.143075f, 0.0807912f, 0.0181899f, -0.0444829f, -0.106981f, -0.16906f, -0.230475f, -0.290984f, -0.350348f, -0.408335f, -0.464718f, -0.519276f, -0.571795f, -0.622068f, -0.669899f, -0.7151f, -0.75749f, -0.796896f, -0.833173f, -0.866177f, -0.89578f, -0.921865f, -0.94433f, -0.963087f, -0.978062f, -0.989195f, -0.996429f, -0.99975f, -0.999145f, -0.994617f, -0.986182f, -0.973875f, -0.957744f, -0.937851f, -0.914276f, -0.887096f, -0.856432f, -0.822405f, -0.785149f, -0.74481f, -0.701545f, -0.655526f, -0.606932f, -0.555954f, -0.502787f, -0.447643f, -0.390742f, -0.332306f, -0.272566f, -0.211756f, -0.150114f, -0.0878816f, -0.0253036f, 0.0373742f, 0.0999047f, 0.162042f, 0.223543f, 0.284165f, 0.343672f, 0.401829f, 0.458409f, 0.513189f, 0.565952f, 0.616486f, 0.664598f, 0.7101f, 0.752813f, 0.79257f, 0.829215f, 0.862604f, 0.892605f, 0.919102f, 0.941975f, 0.961148f, 0.976546f, 0.98811f, 0.995793f, 0.999566f, 0.999415f, 0.995338f, 0.987354f, 0.97548f, 0.959772f, 0.940294f, 0.917125f, 0.890354f, 0.860087f, 0.826442f, 0.789552f, 0.74956f, 0.706619f, 0.660898f, 0.612582f, 0.56186f, 0.508933f, 0.454006f, 0.397297f, 0.339027f, 0.279425f, 0.218725f, 0.157162f, 0.0949839f, 0.0324328f, -0.0302453f, -0.0928046f, -0.155f, -0.216586f, -0.277323f, -0.336971f, -0.395291f, -0.452058f, -0.507049f, -0.560048f, -0.610848f, -0.65925f, -0.705063f, -0.748107f, -0.788215f, -0.825216f, -0.858974f, -0.889359f, -0.916251f, -0.939545f, -0.95915f, -0.974988f, -0.986998f, -0.995131f, -0.999348f, -0.999633f, -0.995993f, -0.988442f, -0.977009f, -0.961739f, -0.942693f, -0.919945f, -0.893584f, -0.863708f, -0.830432f, -0.793895f, -0.754242f, -0.711626f, -0.666216f, -0.618189f, -0.567735f, -0.515051f, -0.460342f, -0.403819f, -0.345712f, -0.286247f, -0.225658f, -0.164184f, -0.102064f, -0.0395434f, 0.023133f, 0.0857194f, 0.147968f, 0.209635f, 0.270477f, 0.330258f, 0.388741f, 0.445698f, 0.500905f, 0.554145f, 0.60521f, 0.653891f, 0.700001f, 0.743362f, 0.783803f, 0.821166f, 0.855305f, 0.886085f, 0.913385f, 0.9371f, 0.957126f, 0.973387f, 0.985824f, 0.994391f, 0.999052f, 0.99979f, 0.996603f, 0.989503f, 0.978516f, 0.963683f, 0.945054f, 0.922714f, 0.896751f, 0.867266f, 0.834376f, 0.79821f, 0.758908f, 0.716626f, 0.671529f, 0.623785f, 0.573592f, 0.521146f, 0.466654f, 0.41033f, 0.352394f, 0.293074f, 0.232603f, 0.171218f, 0.109158f, 0.0466694f, -0.0160017f, -0.0786096f, -0.140909f, -0.202654f, -0.263604f, -0.32352f, -0.382166f, -0.439307f, -0.49472f, -0.54819f, -0.599507f, -0.648469f, -0.694885f, -0.738572f, -0.779359f, -0.817086f, -0.8516f, -0.882761f, -0.910455f, -0.934574f, -0.955022f, -0.97172f, -0.984602f, -0.993618f, -0.998732f, -0.999922f, -0.997171f, -0.990504f, -0.979948f, -0.965544f, -0.947348f, -0.925431f, -0.899881f, -0.870797f, -0.838293f, -0.802484f, -0.763523f, -0.721565f, -0.676773f, -0.629324f, -0.579403f, -0.527206f, -0.47294f, -0.416815f, -0.359048f, -0.29987f, -0.239516f, -0.178221f, -0.116226f, -0.0537752f, 0.00888719f, 0.0715151f, 0.133863f, 0.195684f, 0.256735f, 0.316778f, 0.375575f, 0.432898f, 0.488521f, 0.542225f, 0.593801f, 0.643045f, 0.689762f, 0.733762f, 0.774879f, 0.812954f, 0.847836f, 0.879388f, 0.907487f, 0.932023f, 0.952899f, 0.970033f, 0.983343f, 0.99279f, 0.998339f, 0.999967f, 0.99767f, 0.991455f, 0.981346f, 0.967383f, 0.949622f, 0.928119f, 0.902969f, 0.874273f, 0.842144f, 0.806709f, 0.768105f, 0.726485f, 0.682012f, 0.63486f, 0.585209f, 0.533256f, 0.479209f, 0.423281f, 0.365691f, 0.306665f, 0.246434f, 0.185236f, 0.123309f, 0.0608969f, -0.00175478f, -0.0643988f, -0.12679f, -0.188682f, -0.249834f, -0.310004f, -0.368958f, -0.426463f, -0.482293f, -0.536223f, -0.588046f, -0.637559f, -0.684569f, -0.72889f, -0.770349f, -0.808783f, -0.844041f, -0.875986f, -0.904478f, -0.929415f, -0.950703f, -0.968258f, -0.98201f, -0.991906f, -0.997907f, -0.999989f, -0.998144f, -0.992369f, -0.982692f, -0.969155f, -0.951813f, -0.930734f, -0.905999f, -0.877706f, -0.845967f, -0.810905f, -0.772653f, -0.73136f, -0.687195f, -0.640332f, -0.590955f, -0.539257f, -0.485441f, -0.429719f, -0.372309f, -0.313435f, -0.253326f, -0.192223f, -0.130365f, -0.0679962f, -0.00536029f, 0.0572968f, 0.119729f, 0.181692f, 0.242942f, 0.303234f, 0.362335f, 0.420012f, 0.47604f, 0.530198f, 0.582274f, 0.632064f, 0.679372f, 0.724012f, 0.765801f, 0.80458f, 0.840198f, 0.872517f, 0.901409f, 0.926761f, 0.948475f, 0.966463f, 0.980657f, 0.990992f, 0.997427f, 0.999945f, 0.998538f, 0.993209f, 0.98398f, 0.970887f, 0.953981f, 0.933329f, 0.909008f, 0.881106f, 0.849745f, 0.815047f, 0.777149f, 0.736198f, 0.692357f, 0.645797f, 0.5967f, 0.54526f, 0.491669f, 0.436148f, 0.378915f, 0.320194f, 0.260216f, 0.199216f, 0.137434f, 0.0751111f, 0.0124927f, -0.0501751f, -0.112645f, -0.174672f, -0.236013f, -0.296427f, -0.355676f, -0.41353f, -0.469759f, -0.524145f, -0.576468f, -0.626522f, -0.674116f, -0.719063f, -0.761185f, -0.800319f, -0.836309f, -0.869016f, -0.898311f, -0.924072f, -0.946196f, -0.964603f, -0.979223f, -0.989997f, -0.996883f, -0.999855f, -0.998901f, -0.994023f, -0.98524f, -0.972574f, -0.956089f, -0.93585f, -0.911936f, -0.884441f, -0.853473f, -0.819153f, -0.781616f, -0.741009f, -0.697481f, -0.651214f, -0.60239f, -0.5512f, -0.497847f, -0.442538f, -0.385491f, -0.32693f, -0.267084f, -0.206186f, -0.144478f, -0.0822037f, -0.0196067f, 0.0430672f, 0.105572f, 0.167662f, 0.229095f, 0.289628f, 0.349022f, 0.407043f, 0.463464f, 0.518065f, 0.570631f, 0.620957f, 0.668844f, 0.714105f, 0.756562f, 0.796045f, 0.832393f, 0.865471f, 0.895151f, 0.921315f, 0.943861f, 0.962701f, 0.97776f, 0.98898f, 0.996316f, 0.999724f, 0.999207f, 0.994766f, 0.986418f, 0.974197f, 0.958151f, 0.938342f, 0.914848f, 0.887761f, 0.857176f, 0.823223f, 0.786038f, 0.745766f, 0.702565f, 0.656606f, 0.608068f, 0.557142f, 0.504027f, 0.448928f, 0.392064f, 0.33366f, 0.273946f, 0.213157f, 0.151531f, 0.0893098f, 0.0267373f, -0.0359408f, -0.0984781f, -0.160627f, -0.222145f, -0.28279f, -0.342324f, -0.400514f, -0.457132f, -0.511954f, -0.564766f, -0.615361f, -0.66353f, -0.709092f, -0.75187f, -0.791695f, -0.828411f, -0.861874f, -0.891952f, -0.918528f, -0.941498f, -0.960757f, -0.976241f, -0.987891f, -0.995661f, -0.999522f, -0.999458f, -0.995469f, -0.987571f, -0.975794f, -0.960175f, -0.940781f, -0.917692f, -0.891f, -0.860809f, -0.827237f, -0.790417f, -0.750493f, -0.707621f, -0.661965f, -0.613704f, -0.563034f, -0.510152f, -0.455268f, -0.398596f, -0.340358f, -0.280784f, -0.220106f, -0.158563f, -0.0963949f, -0.0338492f, 0.028829f, 0.0913936f, 0.153599f, 0.215202f, 0.27596f, 0.335634f, 0.393992f, 0.450796f, 0.505829f, 0.558875f, 0.609726f, 0.658183f, 0.704055f, 0.747162f, 0.787336f, 0.824419f, 0.858253f, 0.888714f, 0.915685f, 0.93906f, 0.958747f, 0.974669f, 0.986764f, 0.994984f, 0.999297f, 0.999677f, 0.996124f, 0.98866f, 0.977314f, 0.96213f, 0.943167f, 0.920501f, 0.89422f, 0.864427f, 0.831235f, 0.79477f, 0.755184f, 0.712633f, 0.667284f, 0.619314f, 0.568913f, 0.516277f, 0.461612f, 0.405134f, 0.347059f, 0.287622f, 0.227056f, 0.165598f, 0.103491f, 0.0409765f, -0.0216989f, -0.0842896f, -0.14655f, -0.208233f, -0.269097f, -0.328904f, -0.387419f, -0.444413f, -0.499661f, -0.552947f, -0.604063f, -0.652807f, -0.69898f, -0.742405f, -0.782914f, -0.820347f, -0.85456f, -0.885416f, -0.912796f, -0.936592f, -0.956709f, -0.973064f, -0.985588f, -0.994241f, -0.99899f, -0.999817f, -0.996717f, -0.989703f, -0.978802f, -0.964057f, -0.945524f, -0.923265f, -0.897381f, -0.867973f, -0.835157f, -0.799062f, -0.759828f, -0.71761f, -0.672574f, -0.624897f, -0.574755f, -0.522357f, -0.467908f, -0.411622f, -0.353719f, -0.294428f, -0.23398f, -0.172613f, -0.110567f, -0.0480851f, 0.0145849f, 0.0771971f, 0.139506f, 0.201266f, 0.262236f, 0.322177f, 0.380853f, 0.438034f, 0.493492f, 0.547007f, 0.598374f, 0.647391f, 0.693865f, 0.737614f, 0.778467f, 0.816263f, 0.850855f, 0.882101f, 0.909873f, 0.934072f, 0.954602f, 0.971384f, 0.984351f, 0.993453f, 0.998653f, 0.999932f, 0.997285f, 0.990705f, 0.980236f, 0.965917f, 0.947805f, 0.925971f, 0.900501f, 0.871495f, 0.839066f, 0.803342f, 0.764453f, 0.722559f, 0.677829f, 0.630437f, 0.58057f, 0.528423f, 0.4742f, 0.418115f, 0.360387f, 0.30124f, 0.240909f, 0.179632f, 0.117651f, 0.0552074f, -0.00745286f, -0.0700841f, -0.13244f, -0.194277f, -0.255351f, -0.315418f, -0.374247f, -0.431605f, -0.487268f, -0.541018f, -0.592643f, -0.641942f, -0.68872f, -0.732792f, -0.773976f, -0.812121f, -0.847076f, -0.878704f, -0.906882f, -0.931499f, -0.952458f, -0.969676f, -0.983087f, -0.992623f, -0.99826f, -0.999976f, -0.997766f, -0.991637f, -0.981614f, -0.967737f, -0.950059f, -0.92865f, -0.903584f, -0.874965f, -0.842911f, -0.807547f, -0.769011f, -0.727456f, -0.683044f, -0.63595f, -0.586357f, -0.534458f, -0.480455f, -0.424566f, -0.36701f, -0.308013f, -0.247807f, -0.186627f, -0.124714f, -0.062311f, 0.000337791f, 0.062985f, 0.125384f, 0.187291f, 0.248461f, 0.308656f, 0.367639f, 0.425178f, 0.481049f, 0.53503f, 0.586903f, 0.636469f, 0.683537f, 0.727919f, 0.769443f, 0.807946f, 0.843276f, 0.875295f, 0.903877f, 0.928897f, 0.950267f, 0.967905f, 0.981742f, 0.991724f, 0.997811f, 0.99998f, 0.998223f, 0.992546f, 0.982962f, 0.969512f, 0.952254f, 0.931257f, 0.906603f, 0.878389f, 0.846726f, 0.811737f, 0.773561f, 0.732342f, 0.68824f, 0.641435f, 0.592112f, 0.540464f, 0.486694f, 0.431012f, 0.373637f, 0.314795f, 0.254715f, 0.193631f, 0.131788f, 0.0694273f, 0.00679462f, -0.0558646f, -0.118305f, -0.18028f, -0.241549f, -0.301869f, -0.361f, -0.418712f, -0.474779f, -0.528981f, -0.581106f, -0.630949f, -0.678315f, -0.723017f, -0.76488f, -0.803732f, -0.839423f, -0.871817f, -0.900788f, -0.926221f, -0.948016f, -0.966089f, -0.980369f, -0.990798f, -0.99733f, -0.999937f, -0.998616f, -0.993374f, -0.984231f, -0.971224f, -0.954402f, -0.933832f, -0.909595f, -0.881783f, -0.850497f, -0.815871f, -0.778042f, -0.737157f, -0.693378f, -0.646876f, -0.597834f, -0.546443f, -0.492906f, -0.437425f, -0.380227f, -0.321537f, -0.261584f, -0.200604f, -0.138837f, -0.0765236f, -0.0139094f, 0.0487601f, 0.111238f, 0.173278f, 0.234636f, 0.295073f, 0.354351f, 0.412238f, 0.468506f, 0.522934f, 0.57531f, 0.625422f, 0.673072f, 0.718079f, 0.760266f, 0.799468f, 0.835529f, 0.86831f, 0.897681f, 0.923528f, 0.945743f, 0.964234f, 0.978938f, 0.989798f, 0.99677f, 0.999829f, 0.998962f, 0.994172f, 0.985479f, 0.972913f, 0.956513f, 0.936357f, 0.912525f, 0.885109f, 0.854217f, 0.819971f, 0.782504f, 0.741965f, 0.698511f, 0.652305f, 0.603536f, 0.552398f, 0.49909f, 0.443823f, 0.386813f, 0.328283f, 0.268464f, 0.20759f, 0.145898f, 0.0836335f, 0.0210408f, -0.0416341f, -0.104145f, -0.166248f, -0.227697f, -0.288253f, -0.347678f, -0.405735f, -0.462195f, -0.516839f, -0.569453f, -0.619831f, -0.667775f, -0.713097f, -0.755618f, -0.795173f, -0.831603f, -0.864757f, -0.894514f, -0.920758f, -0.943386f, -0.96231f, -0.977455f, -0.988761f, -0.996185f, -0.999697f, -0.999268f, -0.994914f, -0.986653f, -0.974517f, -0.958555f, -0.938828f, -0.915415f, -0.888407f, -0.857909f, -0.824033f, -0.786917f, -0.746711f, -0.703574f, -0.657674f, -0.609191f, -0.558315f, -0.505247f, -0.450194f, -0.393369f, -0.334997f, -0.27531f, -0.214542f, -0.152932f, -0.0907208f, -0.0281537f, 0.0345245f, 0.0970676f, 0.15923f, 0.220765f, 0.281432f, 0.340993f, 0.399215f, 0.45587f, 0.510734f, 0.563593f, 0.614239f, 0.662474f, 0.708096f, 0.750938f, 0.79083f, 0.827616f, 0.861153f, 0.891307f, 0.917962f, 0.941012f, 0.960368f, 0.975939f, 0.987674f, 0.995531f, 0.999479f, 0.999502f, 0.995601f, 0.987789f, 0.976099f, 0.960576f, 0.941271f, 0.918264f, 0.891652f, 0.861538f, 0.828041f, 0.791292f, 0.751436f, 0.708629f, 0.663039f, 0.61484f, 0.564221f, 0.511387f, 0.456545f, 0.399911f, 0.341706f, 0.282159f, 0.221504f, 0.159978f, 0.0978232f, 0.0352829f, -0.0273953f, -0.0899653f, -0.152182f, -0.2138f, -0.27458f, -0.334281f, -0.39267f, -0.449518f, -0.504594f, -0.557687f, -0.60859f, -0.657102f, -0.703034f, -0.746206f, -0.786447f, -0.8236f, -0.857519f, -0.888062f, -0.915112f, -0.938568f, -0.958339f, -0.974346f, -0.986528f, -0.994835f, -0.999235f, -0.999712f, -0.996255f, -0.988877f, -0.977616f, -0.962517f, -0.943637f, -0.921052f, -0.89485f, -0.865134f, -0.832021f, -0.795636f, -0.756117f, -0.71363f, -0.66834f, -0.620427f, -0.570076f, -0.517488f, -0.462866f, -0.406427f, -0.34839f, -0.28898f, -0.228436f, -0.166996f, -0.1049f, -0.0423922f, 0.0202821f, 0.0828771f, 0.145147f, 0.206848f, 0.267734f, 0.327567f, 0.386113f, 0.443143f, 0.498432f, 0.551764f, 0.60293f, 0.651728f, 0.697967f, 0.74146f, 0.782035f, 0.819539f, 0.853824f, 0.884756f, 0.912214f, 0.93609f, 0.95629f, 0.972734f, 0.985354f, 0.994094f, 0.99893f, 0.999843f, 0.996831f, 0.989904f, 0.97909f, 0.964431f, 0.945984f, 0.923821f, 0.898017f, 0.868687f, 0.835946f, 0.799922f, 0.760757f, 0.718605f, 0.673631f, 0.626011f, 0.575932f, 0.523583f, 0.469177f, 0.41293f, 0.355061f, 0.295798f, 0.235373f, 0.174024f, 0.111991f, 0.0495179f, -0.0131508f, -0.0757673f, -0.138086f, -0.199861f, -0.260852f, -0.320818f, -0.379525f, -0.436741f, -0.492243f, -0.54581f, -0.597227f, -0.646299f, -0.692832f, -0.736644f, -0.777564f, -0.81543f, -0.850095f, -0.881421f, -0.909284f, -0.933564f, -0.954177f, -0.971044f, -0.984097f, -0.993286f, -0.998574f, -0.999941f, -0.997381f, -0.990905f, -0.980521f, -0.966287f, -0.948259f, -0.926507f, -0.901116f, -0.872187f, -0.839833f, -0.80418f, -0.765369f, -0.723543f, -0.678874f, -0.631539f, -0.581724f, -0.529625f, -0.475446f, -0.4194f, -0.361706f, -0.302592f, -0.242286f, -0.181027f, -0.119058f, -0.0566222f, 0.00603587f, 0.0686703f, 0.131035f, 0.192886f, 0.25398f, 0.314076f, 0.372934f, 0.430328f, 0.486031f, 0.539826f, 0.5915f, 0.640852f, 0.687687f, 0.731823f, 0.773084f, 0.811298f, 0.846325f, 0.878029f, 0.906284f, 0.930981f, 0.952021f, 0.969324f, 0.982819f, 0.992456f, 0.998182f, 0.999985f, 0.997862f, 0.991821f, 0.981885f, 0.968093f, 0.9505f, 0.929174f, 0.904199f, 0.875663f, 0.843685f, 0.808393f, 0.769927f, 0.728438f, 0.684089f, 0.637053f, 0.587515f, 0.535669f, 0.481716f, 0.425866f, 0.368345f, 0.309378f, 0.249196f, 0.188036f, 0.126137f, 0.0637421f, 0.00109654f, -0.061554f, -0.123962f, -0.185882f, -0.247072f, -0.307291f, -0.366304f, -0.423878f, -0.479788f, -0.533814f, -0.585745f, -0.635366f, -0.682492f, -0.726937f, -0.768526f, -0.807099f, -0.842501f, -0.874595f, -0.903255f, -0.928369f, -0.949826f, -0.967548f, -0.981471f, -0.99154f, -0.997715f, -0.999971f, -0.998302f, -0.992711f, -0.983223f, -0.969865f, -0.952691f, -0.931776f, -0.907202f, -0.879066f, -0.847478f, -0.812561f, -0.774454f, -0.733305f, -0.689272f, -0.642525f, -0.593256f, -0.541657f, -0.487931f, -0.432289f, -0.37495f, -0.316137f, -0.256083f, -0.195023f, -0.133193f, -0.0708411f, -0.00821161f, 0.0544498f, 0.116897f, 0.178886f, 0.240172f, 0.300516f, 0.35968f, 0.417427f, 0.473533f, 0.52778f, 0.579953f, 0.629848f, 0.677271f, 0.722034f, 0.763962f, 0.80289f, 0.838658f, 0.871126f, 0.900174f, 0.925686f, 0.947564f, 0.96572f, 0.980084f, 0.990599f, 0.997224f, 0.999928f, 0.998695f, 0.993541f, 0.984485f, 0.971563f, 0.954826f, 0.934339f, 0.910184f, 0.882453f, 0.851255f, 0.816703f, 0.778944f, 0.738126f, 0.69441f, 0.647968f, 0.59898f, 0.547641f, 0.49415f, 0.438717f, 0.381556f, 0.322896f, 0.262969f, 0.202009f, 0.140257f, 0.0779534f, 0.0153435f, -0.0473271f, -0.109813f, -0.171866f, -0.233243f, -0.293703f, -0.35301f, -0.41093f, -0.467237f, -0.521709f, -0.574132f, -0.624302f, -0.672015f, -0.717084f, -0.759336f, -0.798606f, -0.83474f, -0.867595f, -0.897044f, -0.922971f, -0.945273f, -0.96386f, -0.978649f, -0.989596f, -0.996656f, -0.999803f, -0.999023f, -0.99432f, -0.985713f, -0.973234f, -0.956934f, -0.93686f, -0.913108f, -0.88577f, -0.854954f, -0.82078f, -0.783384f, -0.742911f, -0.69952f, -0.653382f, -0.604669f, -0.553581f, -0.500319f, -0.445092f, -0.388118f, -0.32962f, -0.269827f, -0.208974f, -0.1473f, -0.085046f, -0.0224575f, 0.0402184f, 0.102736f, 0.16485f, 0.226317f, 0.286895f, 0.346346f, 0.404439f, 0.460941f, 0.515628f, 0.56829f, 0.61872f, 0.666719f, 0.712101f, 0.754686f, 0.794308f, 0.830811f, 0.864051f, 0.893884f, 0.920208f, 0.942917f, 0.961924f, 0.977153f, 0.988545f, 0.996055f, 0.999654f, 0.999327f, 0.995062f, 0.986888f, 0.974839f, 0.958962f, 0.939319f, 0.915987f, 0.889058f, 0.858638f, 0.824846f, 0.787806f, 0.747667f, 0.704594f, 0.658754f, 0.610327f, 0.559503f, 0.506482f, 0.451471f, 0.394687f, 0.33635f, 0.27669f, 0.215943f, 0.154349f, 0.0921491f, 0.0295874f, -0.0330908f, -0.0956394f, -0.157813f, -0.219367f, -0.280057f, -0.339646f, -0.3979f, -0.454592f, -0.509499f, -0.562405f, -0.613103f, -0.661394f, -0.707088f, -0.749994f, -0.789954f, -0.826812f, -0.860423f, -0.890655f, -0.917389f, -0.940521f, -0.95996f, -0.975629f, -0.987455f, -0.995399f, -0.999435f, -0.999546f, -0.995731f, -0.988007f, -0.976402f, -0.960963f, -0.941751f, -0.918832f, -0.892298f, -0.86226f, -0.828836f, -0.792158f, -0.752369f, -0.709625f, -0.664095f, -0.615956f, -0.565395f, -0.512607f, -0.457807f, -0.40121f, -0.343037f, -0.283518f, -0.222884f, -0.161376f, -0.0992327f, -0.0366992f, 0.0259789f, 0.0885543f, 0.150781f, 0.212416f, 0.273216f, 0.332944f, 0.391364f, 0.448248f, 0.503373f, 0.556514f, 0.607467f, 0.656035f, 0.702026f, 0.74526f, 0.785568f, 0.822791f, 0.856783f, 0.887411f, 0.914546f, 0.938083f, 0.957936f, 0.974027f, 0.986294f, 0.994687f, 0.999174f, 0.999738f, 0.996377f, 0.989096f, 0.977921f, 0.962907f, 0.944111f, 0.921608f, 0.895487f, 0.865848f, 0.832809f, 0.7965f, 0.75706f, 0.714637f, 0.669408f, 0.621552f, 0.571254f, 0.518713f, 0.464135f, 0.407734f, 0.349732f, 0.290355f, 0.229834f, 0.168411f, 0.106327f, 0.0438252f, -0.018848f, -0.0814473f, -0.143727f, -0.205443f, -0.266353f, -0.326214f, -0.384792f, -0.441858f, -0.497189f, -0.550567f, -0.601783f, -0.650636f, -0.696935f, -0.740497f, -0.781146f, -0.81872f, -0.853079f, -0.884088f, -0.911625f, -0.935582f, -0.955865f, -0.972395f, -0.985106f, -0.993944f, -0.998868f, -0.999869f, -0.996944f, -0.990104f, -0.979375f, -0.964801f, -0.946438f, -0.924358f, -0.898648f, -0.869394f, -0.836727f, -0.800774f, -0.761677f, -0.719589f, -0.674675f, -0.627112f, -0.577085f, -0.524792f, -0.470431f, -0.414221f, -0.356386f, -0.297151f, -0.23675f, -0.175419f, -0.113399f, -0.0509327f, 0.0117339f, 0.0743548f, 0.136683f, 0.198473f, 0.259484f, 0.319475f, 0.378212f, 0.435464f, 0.491006f, 0.544621f, 0.596094f, 0.64522f, 0.691812f, 0.735686f, 0.776672f, 0.814607f, 0.849344f, 0.880746f, 0.908689f, 0.933062f, 0.953758f, 0.970708f, 0.983846f, 0.993121f, 0.998496f, 0.99995f, 0.997478f, 0.991089f, 0.980808f, 0.96666f, 0.948716f, 0.927046f, 0.901736f, 0.872885f, 0.840607f, 0.805027f, 0.766285f, 0.724535f, 0.67993f, 0.632653f, 0.582891f, 0.530841f, 0.476707f, 0.4207f, 0.363041f, 0.303956f, 0.243677f, 0.182439f, 0.120483f, 0.0580544f, -0.00460154f, -0.0672392f, -0.129613f, -0.191477f, -0.252591f, -0.312713f, -0.371606f, -0.429035f, -0.484779f, -0.538619f, -0.590343f, -0.639749f, -0.686643f, -0.73084f, -0.772168f, -0.810465f, -0.845565f, -0.877345f, -0.905679f, -0.930456f, -0.95158f, -0.968967f, -0.982548f, -0.992272f, -0.998099f, -0.999994f, -0.997958f, -0.992004f, -0.982153f, -0.968447f, -0.950937f, -0.929693f, -0.904798f, -0.876349f, -0.844451f, -0.809231f, -0.770834f, -0.72941f, -0.685121f, -0.638143f, -0.588658f, -0.536861f, -0.482956f, -0.427151f, -0.369664f, -0.310726f, -0.250568f, -0.189427f, -0.127542f, -0.0651559f, -0.00251353f, 0.0601393f, 0.122557f, 0.184491f, 0.245699f, 0.305943f, 0.364985f, 0.422593f, 0.478542f, 0.532612f, 0.584591f, 0.634275f, 0.681459f, 0.725966f, 0.767621f, 0.806261f, 0.841736f, 0.873904f, 0.902642f, 0.927835f, 0.949384f, 0.967195f, 0.981203f, 0.991358f, 0.997619f, 0.999963f, 0.99838f, 0.992878f, 0.983476f, 0.970212f, 0.953132f, 0.932299f, 0.907807f, 0.879749f, 0.848237f, 0.813393f, 0.775356f, 0.734274f, 0.690308f, 0.643628f, 0.594413f, 0.542864f, 0.489183f, 0.433582f, 0.376278f, 0.317497f, 0.257468f, 0.196428f, 0.134615f, 0.0722722f, 0.00964593f, -0.0530176f, -0.115473f, -0.177474f, -0.238779f, -0.299146f, -0.358339f, -0.416125f, -0.472273f, -0.526563f, -0.578785f, -0.628734f, -0.676214f, -0.721038f, -0.763031f, -0.802028f, -0.837876f, -0.870427f, -0.899553f, -0.925146f, -0.947105f, -0.965346f, -0.979795f, -0.990397f, -0.99711f, -0.999908f, -0.998773f, -0.993706f, -0.984736f, -0.9719f, -0.955246f, -0.934842f, -0.910767f, -0.883115f, -0.851994f, -0.817527f, -0.779837f, -0.739085f, -0.695431f, -0.649047f, -0.600113f, -0.548824f, -0.495378f, -0.439987f, -0.382867f, -0.324239f, -0.264337f, -0.203398f, -0.14166f, -0.0793659f, -0.0167603f, 0.0459114f, 0.108403f, 0.17047f, 0.231866f, 0.29235f, 0.351685f, 0.409638f, 0.465983f, 0.520498f, 0.572969f, 0.62319f, 0.670965f, 0.716101f, 0.758417f, 0.797755f, 0.83396f, 0.866889f, 0.896415f, 0.92242f, 0.944804f, 0.963477f, 0.978364f, 0.989397f, 0.996543f, 0.999777f, 0.999084f, 0.994469f, 0.985949f, 0.973557f, 0.957341f, 0.937366f, 0.913696f, 0.886437f, 0.855698f, 0.821598f, 0.784272f, 0.743867f, 0.70054f, 0.654462f, 0.605813f, 0.554778f, 0.501562f, 0.446378f, 0.38944f, 0.330974f, 0.271207f, 0.210376f, 0.148718f, 0.0864751f, 0.0238917f, -0.0387854f, -0.101309f, -0.163435f, -0.224919f, -0.285519f, -0.344999f, -0.403124f, -0.459666f, -0.514403f, -0.567112f, -0.617594f, -0.665651f, -0.711093f, -0.753743f, -0.793432f, -0.830007f, -0.863322f, -0.893247f, -0.919651f, -0.942442f, -0.961533f, -0.976847f, -0.988326f, -0.995923f, -0.99961f, -0.999371f, -0.995207f, -0.987123f, -0.975159f, -0.959366f, -0.939805f, -0.916555f, -0.889704f, -0.85936f, -0.825641f, -0.78868f, -0.748613f, -0.705602f, -0.659821f, -0.611449f, -0.560676f, -0.507702f, -0.452733f, -0.395986f, -0.337684f, -0.278053f, -0.217328f, -0.155749f, -0.0935602f, -0.0310037f, 0.0316744f, 0.0942283f, 0.156413f, 0.217983f, 0.278698f, 0.338314f, 0.396602f, 0.453331f, 0.508279f, 0.561232f, 0.611981f, 0.660327f, 0.70608f, 0.749061f, 0.78909f, 0.826018f, 0.859702f, 0.89001f, 0.916823f, 0.940035f, 0.959557f, 0.97531f, 0.987233f, 0.995269f, 0.999391f, 0.999589f, 0.995863f, 0.988225f, 0.976707f, 0.961353f, 0.942225f, 0.919396f, 0.892949f, 0.862989f, 0.829639f, 0.793032f, 0.753312f, 0.710633f, 0.665163f, 0.617081f, 0.566575f, 0.513842f, 0.459084f, 0.402525f, 0.344385f, 0.284893f, 0.224282f, 0.16279f, 0.100659f, 0.0381323f, -0.0245452f, -0.087126f, -0.149364f, -0.211015f, -0.271836f, -0.33159f, -0.390043f, -0.446963f, -0.502129f, -0.555324f, -0.606331f, -0.654955f, -0.701006f, -0.744304f, -0.784679f, -0.821972f, -0.856038f, -0.886743f, -0.913966f, -0.937591f, -0.957528f, -0.973705f, -0.986057f, -0.994538f, -0.999113f, -0.999764f, -0.99649f, -0.989302f, -0.978224f, -0.963294f, -0.944582f, -0.92216f, -0.896117f, -0.866555f, -0.83359f, -0.797352f, -0.757982f, -0.715634f, -0.670465f, -0.622664f, -0.572418f, -0.519924f, -0.465389f, -0.409026f, -0.351057f, -0.291709f, -0.231214f, -0.169808f, -0.107736f, -0.0452409f, 0.0174313f, 0.0800348f, 0.142324f, 0.204055f, 0.264985f, 0.324875f, 0.383486f, 0.440588f, 0.49596f, 0.549384f, 0.60065f, 0.649558f, 0.695914f, 0.739539f, 0.78026f, 0.817911f, 0.852343f, 0.883428f, 0.911043f, 0.93508f, 0.955445f, 0.972059f, 0.984855f, 0.993784f, 0.998807f, 0.999895f, 0.997058f, 0.990305f, 0.979663f, 0.965174f, 0.946895f, 0.924898f, 0.899268f, 0.870107f, 0.837515f, 0.801635f, 0.762607f, 0.720584f, 0.675732f, 0.628226f, 0.578253f, 0.526009f, 0.471698f, 0.415529f, 0.357727f, 0.298521f, 0.238143f, 0.176831f, 0.114823f, 0.0523649f, -0.0102996f, -0.0729244f, -0.135263f, -0.197068f, -0.258099f, -0.318116f, -0.376884f, -0.434171f, -0.489754f, -0.543414f, -0.59494f, -0.644128f, -0.690779f, -0.734717f, -0.775769f, -0.813774f, -0.848584f, -0.880062f, -0.908083f, -0.93254f, -0.953333f, -0.970368f, -0.983593f, -0.992954f, -0.998417f, -0.999959f, -0.997574f, -0.991271f, -0.981076f, -0.967028f, -0.94917f, -0.927581f, -0.902351f, -0.873577f, -0.841373f, -0.805865f, -0.767192f, -0.725506f, -0.68097f, -0.633754f, -0.584045f, -0.532043f, -0.477952f, -0.421985f, -0.36436f, -0.305305f, -0.24505f, -0.183832f, -0.12189f, -0.0594693f, 0.00318455f, 0.0658254f, 0.128207f, 0.190086f, 0.251218f, 0.311364f, 0.370288f, 0.427758f, 0.483542f, 0.537426f, 0.589199f, 0.638659f, 0.68561f, 0.729869f, 0.771263f, 0.809628f, 0.844814f, 0.876669f, 0.905081f, 0.929938f, 0.951144f, 0.968614f, 0.98228f, 0.99209f, 0.998003f, 0.999998f, 0.998054f, 0.992187f, 0.982424f, 0.968803f, 0.951378f, 0.930216f, 0.905402f, 0.877032f, 0.845218f, 0.810077f, 0.77175f, 0.730392f, 0.686166f, 0.639246f, 0.589815f, 0.538068f, 0.484208f, 0.428446f, 0.370999f, 0.312091f, 0.251958f, 0.190836f, 0.128964f, 0.066587f, 0.00394785f, -0.0587071f, -0.121132f, -0.183082f, -0.24431f, -0.304578f, -0.36365f, -0.421293f, -0.477281f, -0.531396f, -0.583424f, -0.633161f, -0.680412f, -0.724983f, -0.766704f, -0.805414f, -0.840961f, -0.873205f, -0.902021f, -0.927294f, -0.948926f, -0.966832f, -0.980932f, -0.991173f, -0.997522f, -0.999954f, -0.998459f, -0.993043f, -0.983728f, -0.970549f, -0.953559f, -0.932819f, -0.908406f, -0.880426f, -0.848988f, -0.814217f, -0.776249f, -0.735232f, -0.691328f, -0.644709f, -0.595556f, -0.544056f, -0.49042f, -0.434859f, -0.377591f, -0.318839f, -0.258836f, -0.197816f, -0.136018f, -0.0736858f, -0.0110629f, 0.0516028f, 0.114065f, 0.176079f, 0.237402f, 0.297792f, 0.357013f, 0.414833f, 0.471025f, 0.525361f, 0.577632f, 0.627633f, 0.67517f, 0.720055f, 0.762112f, 0.801177f, 0.837096f, 0.869728f, 0.898939f, 0.924611f, 0.946653f, 0.964976f, 0.97951f, 0.990198f, 0.996997f, 0.999881f, 0.99884f, 0.993872f, 0.984989f, 0.972239f, 0.95567f, 0.935349f, 0.911355f, 0.883782f, 0.852738f, 0.818346f, 0.780739f, 0.740054f, 0.696463f, 0.650138f, 0.60126f, 0.550021f, 0.496622f, 0.441272f, 0.384189f, 0.325597f, 0.265722f, 0.204803f, 0.14308f, 0.0807957f, 0.0181944f, -0.0444783f, -0.106977f, -0.169055f, -0.230471f, -0.29098f, -0.350343f, -0.40833f, -0.464714f, -0.519272f, -0.571791f, -0.622065f, -0.669896f, -0.715097f, -0.757487f, -0.796893f, -0.83317f, -0.866175f, -0.895778f, -0.921863f, -0.944329f, -0.963086f, -0.978061f, -0.989195f, -0.996429f, -0.99975f, -0.999145f, -0.994617f, -0.986183f, -0.973876f, -0.957745f, -0.937853f, -0.914277f, -0.887099f, -0.856435f, -0.822408f, -0.785152f, -0.744813f, -0.701549f, -0.655529f, -0.606936f, -0.555958f, -0.502791f, -0.447647f, -0.390746f, -0.332311f, -0.272571f, -0.21176f, -0.150118f, -0.0878861f, -0.0253082f, 0.0373697f, 0.0999001f, 0.162038f, 0.223538f, 0.284161f, 0.343668f, 0.401825f, 0.458405f, 0.513185f, 0.565949f, 0.616482f, 0.664595f, 0.710097f, 0.75281f, 0.792568f, 0.829212f, 0.862601f, 0.892603f, 0.9191f, 0.941973f, 0.961146f, 0.976545f, 0.988109f, 0.995793f, 0.999566f, 0.999415f, 0.995339f, 0.987355f, 0.975481f, 0.959773f, 0.940296f, 0.917127f, 0.890356f, 0.860089f, 0.826445f, 0.789554f, 0.749563f, 0.706622f, 0.660901f, 0.612585f, 0.561864f, 0.508937f, 0.45401f, 0.397301f, 0.339032f, 0.27943f, 0.218729f, 0.157167f, 0.0949884f, 0.0324374f, -0.0302408f, -0.0928001f, -0.154995f, -0.216582f, -0.277319f, -0.336967f, -0.395287f, -0.452053f, -0.507045f, -0.560044f, -0.610845f, -0.659246f, -0.70506f, -0.748104f, -0.788212f, -0.825214f, -0.858972f, -0.889357f, -0.91625f, -0.939544f, -0.959149f, -0.974987f, -0.986997f, -0.995131f, -0.999347f, -0.999633f, -0.995993f, -0.988442f, -0.97701f, -0.961741f, -0.942695f, -0.919947f, -0.893586f, -0.863711f, -0.830435f, -0.793898f, -0.754245f, -0.711629f, -0.666219f, -0.618193f, -0.567739f, -0.515055f, -0.460346f, -0.403824f, -0.345716f, -0.286251f, -0.225663f, -0.164188f, -0.102069f, -0.039548f, 0.0231285f, 0.0857149f, 0.147963f, 0.20963f, 0.270473f, 0.330253f, 0.388737f, 0.445694f, 0.500901f, 0.554141f, 0.605206f, 0.653887f, 0.699998f, 0.743359f, 0.7838f, 0.821164f, 0.855302f, 0.886083f, 0.913384f, 0.937098f, 0.957125f, 0.973386f, 0.985824f, 0.99439f, 0.999052f, 0.999791f, 0.996604f, 0.989503f, 0.978517f, 0.963684f, 0.945055f, 0.922716f, 0.896753f, 0.867269f, 0.834379f, 0.798212f, 0.758911f, 0.71663f, 0.671533f, 0.623789f, 0.573595f, 0.52115f, 0.466658f, 0.410334f, 0.352398f, 0.293079f, 0.232608f, 0.171222f, 0.109162f, 0.046674f, -0.0159971f, -0.078605f, -0.140904f, -0.20265f, -0.2636f, -0.323516f, -0.382161f, -0.439303f, -0.494716f, -0.548186f, -0.599503f, -0.648466f, -0.694882f, -0.738569f, -0.779356f, -0.817084f, -0.851598f, -0.882759f, -0.910453f, -0.934572f, -0.95502f, -0.971719f, -0.984601f, -0.993617f, -0.998731f, -0.999922f, -0.997171f, -0.990505f, -0.979949f, -0.965545f, -0.947349f, -0.925433f, -0.899883f, -0.870799f, -0.838295f, -0.802487f, -0.763526f, -0.721568f, -0.676776f, -0.629327f, -0.579406f, -0.52721f, -0.472944f, -0.416819f, -0.359053f, -0.299875f, -0.23952f, -0.178225f, -0.116231f, -0.0537798f, 0.00888263f, 0.0715106f, 0.133858f, 0.19568f, 0.256731f, 0.316773f, 0.375571f, 0.432894f, 0.488517f, 0.542221f, 0.593797f, 0.643041f, 0.689759f, 0.733759f, 0.774876f, 0.812951f, 0.847833f, 0.879386f, 0.907485f, 0.932021f, 0.952898f, 0.970032f, 0.983342f, 0.99279f, 0.998339f, 0.999967f, 0.99767f, 0.991455f, 0.981347f, 0.967385f, 0.949623f, 0.928121f, 0.902971f, 0.874276f, 0.842147f, 0.806711f, 0.768108f, 0.726488f, 0.682015f, 0.634863f, 0.585212f, 0.53326f, 0.479213f, 0.423285f, 0.365695f, 0.306669f, 0.246439f, 0.18524f, 0.123313f, 0.0609014f, -0.00175023f, -0.0643943f, -0.126785f, -0.188678f, -0.249829f, -0.31f, -0.368953f, -0.426459f, -0.482289f, -0.536219f, -0.588042f, -0.637556f, -0.684565f, -0.728887f, -0.770346f, -0.80878f, -0.844039f, -0.875983f, -0.904476f, -0.929414f, -0.950702f, -0.968257f, -0.982009f, -0.991905f, -0.997907f, -0.999989f, -0.998144f, -0.99237f, -0.982693f, -0.969157f, -0.951815f, -0.930735f, -0.906001f, -0.877709f, -0.845969f, -0.810908f, -0.772656f, -0.731363f, -0.687199f, -0.640336f, -0.590959f, -0.539261f, -0.485445f, -0.429723f, -0.372313f, -0.313439f, -0.25333f, -0.192227f, -0.13037f, -0.0680007f, -0.00536484f, 0.0572923f, 0.119725f, 0.181688f, 0.242938f, 0.30323f, 0.362331f, 0.420008f, 0.476036f, 0.530194f, 0.58227f, 0.63206f, 0.679368f, 0.724009f, 0.765799f, 0.804577f, 0.840195f, 0.872514f, 0.901407f, 0.92676f, 0.948473f, 0.966462f, 0.980656f, 0.990991f, 0.997427f, 0.999945f, 0.998538f, 0.993209f, 0.983981f, 0.970888f, 0.953983f, 0.933331f, 0.90901f, 0.881108f, 0.849747f, 0.81505f, 0.777151f, 0.736202f, 0.692361f, 0.645801f, 0.596704f, 0.545263f, 0.491673f, 0.436152f, 0.378919f, 0.320199f, 0.260221f, 0.199221f, 0.137438f, 0.0751156f, 0.0124972f, -0.0501706f, -0.112641f, -0.174668f, -0.236008f, -0.296422f, -0.355672f, -0.413525f, -0.469755f, -0.524141f, -0.576464f, -0.626519f, -0.674113f, -0.71906f, -0.761182f, -0.800316f, -0.836307f, -0.869014f, -0.898309f, -0.924071f, -0.946194f, -0.964602f, -0.979222f, -0.989996f, -0.996883f, -0.999855f, -0.998901f, -0.994024f, -0.985241f, -0.972575f, -0.956091f, -0.935852f, -0.911938f, -0.884443f, -0.853475f, -0.819156f, -0.781619f, -0.741012f, -0.697484f, -0.651217f, -0.602393f, -0.551204f, -0.49785f, -0.442542f, -0.385495f, -0.326934f, -0.267088f, -0.206191f, -0.144483f, -0.0822082f, -0.0196112f, 0.0430626f, 0.105567f, 0.167658f, 0.22909f, 0.289624f, 0.349018f, 0.407039f, 0.46346f, 0.518061f, 0.570627f, 0.620953f, 0.66884f, 0.714101f, 0.756559f, 0.796042f, 0.83239f, 0.865469f, 0.895149f, 0.921313f, 0.94386f, 0.9627f, 0.977759f, 0.98898f, 0.996316f, 0.999724f, 0.999207f, 0.994766f, 0.986419f, 0.974198f, 0.958152f, 0.938343f, 0.91485f, 0.887763f, 0.857179f, 0.823226f, 0.78604f, 0.745769f, 0.702569f, 0.656609f, 0.608072f, 0.557146f, 0.504031f, 0.448932f, 0.392068f, 0.333664f, 0.273951f, 0.213162f, 0.151536f, 0.0893144f, 0.0267419f, -0.0359363f, -0.0984736f, -0.160623f, -0.222141f, -0.282786f, -0.34232f, -0.40051f, -0.457127f, -0.51195f, -0.564763f, -0.615357f, -0.663526f, -0.709089f, -0.751867f, -0.791692f, -0.828408f, -0.861871f, -0.89195f, -0.918527f, -0.941496f, -0.960755f, -0.97624f, -0.98789f, -0.995661f, -0.999522f, -0.999458f, -0.995469f, -0.987572f, -0.975795f, -0.960177f, -0.940782f, -0.917694f, -0.891002f, -0.860811f, -0.82724f, -0.79042f, -0.750496f, -0.707625f, -0.661969f, -0.613708f, -0.563037f, -0.510156f, -0.455272f, -0.3986f, -0.340363f, -0.280788f, -0.220111f, -0.158567f, -0.0963995f, -0.0338537f, 0.0288244f, 0.091389f, 0.153595f, 0.215197f, 0.275955f, 0.33563f, 0.393988f, 0.450792f, 0.505825f, 0.558871f, 0.609722f, 0.658179f, 0.704051f, 0.747159f, 0.787333f, 0.824416f, 0.858251f, 0.888712f, 0.915683f, 0.939058f, 0.958746f, 0.974668f, 0.986763f, 0.994983f, 0.999296f, 0.999677f, 0.996125f, 0.988661f, 0.977315f, 0.962131f, 0.943169f, 0.920503f, 0.894222f, 0.86443f, 0.831238f, 0.794773f, 0.755187f, 0.712636f, 0.667287f, 0.619318f, 0.568917f, 0.516281f, 0.461616f, 0.405138f, 0.347063f, 0.287626f, 0.22706f, 0.165603f, 0.103495f, 0.040981f, -0.0216944f, -0.0842851f, -0.146546f, -0.208229f, -0.269093f, -0.3289f, -0.387415f, -0.444409f, -0.499657f, -0.552943f, -0.604059f, -0.652803f, -0.698977f, -0.742402f, -0.782911f, -0.820345f, -0.854558f, -0.885414f, -0.912794f, -0.93659f, -0.956708f, -0.973063f, -0.985587f, -0.994241f, -0.99899f, -0.999817f, -0.996717f, -0.989703f, -0.978803f, -0.964059f, -0.945526f, -0.923267f, -0.897383f, -0.867976f, -0.83516f, -0.799064f, -0.759831f, -0.717613f, -0.672578f, -0.6249f, -0.574759f, -0.522361f, -0.467912f, -0.411626f, -0.353724f, -0.294432f, -0.233984f, -0.172617f, -0.110571f, -0.0480897f, 0.0145804f, 0.0771925f, 0.139501f, 0.201262f, 0.262232f, 0.322173f, 0.380849f, 0.43803f, 0.493488f, 0.547003f, 0.59837f, 0.647387f, 0.693861f, 0.737611f, 0.778464f, 0.816261f, 0.850852f, 0.882099f, 0.909871f, 0.93407f, 0.954601f, 0.971383f, 0.98435f, 0.993452f, 0.998653f, 0.999932f, 0.997285f, 0.990706f, 0.980236f, 0.965918f, 0.947806f, 0.925973f, 0.900503f, 0.871497f, 0.839069f, 0.803345f, 0.764456f, 0.722563f, 0.677833f, 0.630441f, 0.580574f, 0.528427f, 0.474204f, 0.418119f, 0.360392f, 0.301245f, 0.240914f, 0.179637f, 0.117655f, 0.0552119f, -0.00744831f, -0.0700795f, -0.132436f, -0.194273f, -0.255346f, -0.315414f, -0.374243f, -0.431601f, -0.487264f, -0.541014f, -0.59264f, -0.641938f, -0.688716f, -0.732789f, -0.773973f, -0.812118f, -0.847073f, -0.878702f, -0.90688f, -0.931497f, -0.952456f, -0.969675f, -0.983087f, -0.992623f, -0.998259f, -0.999976f, -0.997766f, -0.991638f, -0.981615f, -0.967738f, -0.950061f, -0.928652f, -0.903586f, -0.874967f, -0.842913f, -0.807549f, -0.769014f, -0.727459f, -0.683048f, -0.635953f, -0.586361f, -0.534461f, -0.480459f, -0.42457f, -0.367014f, -0.308017f, -0.247811f, -0.186632f, -0.124719f, -0.0623155f, 0.000333239f, 0.0629805f, 0.12538f, 0.187286f, 0.248457f, 0.308652f, 0.367634f, 0.425174f, 0.481045f, 0.535026f, 0.586899f, 0.636466f, 0.683533f, 0.727916f, 0.76944f, 0.807943f, 0.843273f, 0.875292f, 0.903875f, 0.928896f, 0.950266f, 0.967904f, 0.981741f, 0.991723f, 0.997811f, 0.99998f, 0.998223f, 0.992547f, 0.982963f, 0.969513f, 0.952255f, 0.931259f, 0.906605f, 0.878391f, 0.846728f, 0.81174f, 0.773564f, 0.732345f, 0.688243f, 0.641439f, 0.592116f, 0.540468f, 0.486698f, 0.431016f, 0.373641f, 0.314799f, 0.254719f, 0.193636f, 0.131792f, 0.0694318f, 0.00679917f, -0.0558601f, -0.1183f, -0.180276f, -0.241544f, -0.301865f, -0.360996f, -0.418708f, -0.474775f, -0.528977f, -0.581103f, -0.630946f, -0.678311f, -0.723014f, -0.764878f, -0.80373f, -0.839421f, -0.871815f, -0.900786f, -0.926219f, -0.948015f, -0.966088f, -0.980368f, -0.990798f, -0.99733f, -0.999936f, -0.998616f, -0.993375f, -0.984232f, -0.971225f, -0.954403f, -0.933834f, -0.909597f, -0.881785f, -0.850499f, -0.815874f, -0.778044f, -0.73716f, -0.693381f, -0.64688f, -0.597837f, -0.546447f, -0.49291f, -0.437429f, -0.380232f, -0.321541f, -0.261589f, -0.200609f, -0.138841f, -0.0765281f, -0.013914f, 0.0487555f, 0.111233f, 0.173273f, 0.234632f, 0.295069f, 0.354347f, 0.412234f, 0.468502f, 0.52293f, 0.575306f, 0.625418f, 0.673069f, 0.718076f, 0.760263f, 0.799465f, 0.835527f, 0.868308f, 0.897679f, 0.923526f, 0.945742f, 0.964233f, 0.978937f, 0.989797f, 0.99677f, 0.999829f, 0.998962f, 0.994173f, 0.985479f, 0.972915f, 0.956515f, 0.936359f, 0.912526f, 0.885111f, 0.854219f, 0.819973f, 0.782507f, 0.741968f, 0.698515f, 0.652309f, 0.60354f, 0.552401f, 0.499094f, 0.443827f, 0.386817f, 0.328287f, 0.268468f, 0.207594f, 0.145903f, 0.083638f, 0.0210453f, -0.0416296f, -0.104141f, -0.166243f, -0.227693f, -0.288249f, -0.347673f, -0.405731f, -0.462191f, -0.516835f, -0.56945f, -0.619828f, -0.667772f, -0.713093f, -0.755615f, -0.79517f, -0.831601f, -0.864754f, -0.894512f, -0.920756f, -0.943385f, -0.962309f, -0.977454f, -0.988761f, -0.996185f, -0.999697f, -0.999268f, -0.994914f, -0.986653f, -0.974518f, -0.958556f, -0.93883f, -0.915417f, -0.888409f, -0.857912f, -0.824035f, -0.78692f, -0.746715f, -0.703577f, -0.657677f, -0.609194f, -0.558319f, -0.505251f, -0.450198f, -0.393374f, -0.335001f, -0.275314f, -0.214546f, -0.152936f, -0.0907254f, -0.0281582f, 0.0345199f, 0.0970631f, 0.159225f, 0.22076f, 0.281427f, 0.340989f, 0.399211f, 0.455866f, 0.51073f, 0.563589f, 0.614236f, 0.66247f, 0.708093f, 0.750935f, 0.790827f, 0.827614f, 0.86115f, 0.891305f, 0.91796f, 0.941011f, 0.960366f, 0.975938f, 0.987674f, 0.995531f, 0.999479f, 0.999502f, 0.995601f, 0.98779f, 0.9761f, 0.960577f, 0.941273f, 0.918266f, 0.891654f, 0.86154f, 0.828043f, 0.791295f, 0.751439f, 0.708632f, 0.663042f, 0.614844f, 0.564225f, 0.511391f, 0.456549f, 0.399915f, 0.34171f, 0.282163f, 0.221508f, 0.159983f, 0.0978277f, 0.0352874f, -0.0273907f, -0.0899608f, -0.152177f, -0.213796f, -0.274575f, -0.334277f, -0.392666f, -0.449514f, -0.50459f, -0.557683f, -0.608586f, -0.657099f, -0.703031f, -0.746203f, -0.786444f, -0.823597f, -0.857517f, -0.888059f, -0.91511f, -0.938567f, -0.958338f, -0.974345f, -0.986527f, -0.994834f, -0.999235f, -0.999712f, -0.996255f, -0.988878f, -0.977618f, -0.962518f, -0.943639f, -0.921054f, -0.894853f, -0.865137f, -0.832023f, -0.795639f, -0.75612f, -0.713633f, -0.668344f, -0.62043f, -0.57008f, -0.517491f, -0.46287f, -0.406431f, -0.348395f, -0.288985f, -0.228441f, -0.167f, -0.104904f, -0.0423967f, 0.0202776f, 0.0828726f, 0.145143f, 0.206844f, 0.26773f, 0.327563f, 0.386109f, 0.443139f, 0.498428f, 0.55176f, 0.602926f, 0.651725f, 0.697964f, 0.741457f, 0.782032f, 0.819536f, 0.853822f, 0.884754f, 0.912212f, 0.936088f, 0.956288f, 0.972733f, 0.985353f, 0.994093f, 0.998929f, 0.999843f, 0.996831f, 0.989904f, 0.979091f, 0.964432f, 0.945986f, 0.923823f, 0.898019f, 0.868689f, 0.835948f, 0.799925f, 0.76076f, 0.718608f, 0.673634f, 0.626014f, 0.575935f, 0.523587f, 0.469181f, 0.412934f, 0.355065f, 0.295802f, 0.235378f, 0.174029f, 0.111996f, 0.0495224f, -0.0131463f, -0.0757627f, -0.138081f, -0.199857f, -0.260847f, -0.320814f, -0.37952f, -0.436737f, -0.49224f, -0.545806f, -0.597223f, -0.646295f, -0.692829f, -0.736641f, -0.777561f, -0.815428f, -0.850092f, -0.881419f, -0.909282f, -0.933562f, -0.954176f, -0.971043f, -0.984096f, -0.993285f, -0.998574f, -0.999941f, -0.997382f, -0.990905f, -0.980522f, -0.966288f, -0.94826f, -0.926508f, -0.901118f, -0.872189f, -0.839835f, -0.804183f, -0.765372f, -0.723547f, -0.678877f, -0.631542f, -0.581728f, -0.529629f, -0.47545f, -0.419404f, -0.36171f, -0.302596f, -0.24229f, -0.181032f, -0.119063f, -0.0566268f, 0.00603132f, 0.0686657f, 0.131031f, 0.192881f, 0.253975f, 0.314071f, 0.37293f, 0.430324f, 0.486027f, 0.539822f, 0.591496f, 0.640848f, 0.687684f, 0.73182f, 0.773081f, 0.811295f, 0.846323f, 0.878027f, 0.906282f, 0.930979f, 0.95202f, 0.969322f, 0.982819f, 0.992455f, 0.998181f, 0.999985f, 0.997862f, 0.991822f, 0.981886f, 0.968094f, 0.950501f, 0.929175f, 0.9042f, 0.875666f, 0.843687f, 0.808396f, 0.76993f, 0.728441f, 0.684092f, 0.637056f, 0.587518f, 0.535673f, 0.48172f, 0.42587f, 0.368349f, 0.309382f, 0.2492f, 0.18804f, 0.126141f, 0.0637466f, 0.00110109f, -0.0615494f, -0.123957f, -0.185878f, -0.247067f, -0.307287f, -0.366299f, -0.423874f, -0.479784f, -0.53381f, -0.585741f, -0.635363f, -0.682488f, -0.726933f, -0.768524f, -0.807096f, -0.842499f, -0.874593f, -0.903253f, -0.928367f, -0.949824f, -0.967547f, -0.98147f, -0.991539f, -0.997714f, -0.999971f, -0.998302f, -0.992712f, -0.983224f, -0.969866f, -0.952693f, -0.931778f, -0.907204f, -0.879068f, -0.84748f, -0.812564f, -0.774457f, -0.733308f, -0.689276f, -0.642529f, -0.593259f, -0.54166f, -0.487935f, -0.432293f, -0.374954f, -0.316142f, -0.256088f, -0.195027f, -0.133197f, -0.0708456f, -0.00821616f, 0.0544452f, 0.116893f, 0.178881f, 0.240168f, 0.300511f, 0.359676f, 0.417423f, 0.473529f, 0.527776f, 0.579949f, 0.629845f, 0.677267f, 0.722031f, 0.763959f, 0.802887f, 0.838655f, 0.871124f, 0.900172f, 0.925685f, 0.947562f, 0.965719f, 0.980083f, 0.990598f, 0.997224f, 0.999928f, 0.998695f, 0.993541f, 0.984486f, 0.971564f, 0.954827f, 0.934341f, 0.910185f, 0.882455f, 0.851258f, 0.816706f, 0.778947f, 0.738129f, 0.694414f, 0.647971f, 0.598984f, 0.547644f, 0.494154f, 0.438722f, 0.38156f, 0.3229f, 0.262973f, 0.202014f, 0.140261f, 0.077958f, 0.0153481f, -0.0473225f, -0.109808f, -0.171861f, -0.233238f, -0.293699f, -0.353006f, -0.410926f, -0.467233f, -0.521705f, -0.574128f, -0.624298f, -0.672012f, -0.717081f, -0.759333f, -0.798603f, -0.834737f, -0.867593f, -0.897042f, -0.922969f, -0.945271f, -0.963858f, -0.978648f, -0.989595f, -0.996656f, -0.999803f, -0.999023f, -0.994321f, -0.985714f, -0.973236f, -0.956935f, -0.936862f, -0.91311f, -0.885772f, -0.854956f, -0.820783f, -0.783387f, -0.742914f, -0.699523f, -0.653385f, -0.604673f, -0.553585f, -0.500323f, -0.445096f, -0.388123f, -0.329624f, -0.269832f, -0.208979f, -0.147305f, -0.0850505f, -0.0224621f, 0.0402139f, 0.102731f, 0.164845f, 0.226312f, 0.28689f, 0.346342f, 0.404435f, 0.460937f, 0.515624f, 0.568286f, 0.618716f, 0.666716f, 0.712098f, 0.754683f, 0.794305f, 0.830809f, 0.864048f, 0.893882f, 0.920206f, 0.942916f, 0.961922f, 0.977152f, 0.988544f, 0.996054f, 0.999653f, 0.999327f, 0.995063f, 0.986889f, 0.97484f, 0.958963f, 0.93932f, 0.915989f, 0.889061f, 0.858641f, 0.824849f, 0.787808f, 0.747671f, 0.704597f, 0.658757f, 0.61033f, 0.559507f, 0.506486f, 0.451475f, 0.394692f, 0.336355f, 0.276694f, 0.215948f, 0.154354f, 0.0921537f, 0.0295919f, -0.0330862f, -0.0956348f, -0.157808f, -0.219363f, -0.280052f, -0.339641f, -0.397896f, -0.454588f, -0.509495f, -0.562402f, -0.6131f, -0.661391f, -0.707085f, -0.749991f, -0.789952f, -0.82681f, -0.860421f, -0.890653f, -0.917387f, -0.940519f, -0.959958f, -0.975628f, -0.987454f, -0.995399f, -0.999435f, -0.999546f, -0.995732f, -0.988007f, -0.976403f, -0.960965f, -0.941752f, -0.918833f, -0.8923f, -0.862262f, -0.828839f, -0.792161f, -0.752372f, -0.709628f, -0.664098f, -0.61596f, -0.565399f, -0.512611f, -0.457811f, -0.401214f, -0.343041f, -0.283522f, -0.222889f, -0.16138f, -0.0992373f, -0.0367038f, 0.0259744f, 0.0885497f, 0.150777f, 0.212412f, 0.273212f, 0.33294f, 0.39136f, 0.448244f, 0.503369f, 0.55651f, 0.607464f, 0.656032f, 0.702023f, 0.745257f, 0.785565f, 0.822788f, 0.856781f, 0.887409f, 0.914544f, 0.938081f, 0.957935f, 0.974026f, 0.986293f, 0.994687f, 0.999174f, 0.999738f, 0.996377f, 0.989097f, 0.977922f, 0.962908f, 0.944113f, 0.92161f, 0.895489f, 0.86585f, 0.832812f, 0.796503f, 0.757063f, 0.71464f, 0.669412f, 0.621555f, 0.571258f, 0.518717f, 0.464139f, 0.407739f, 0.349736f, 0.29036f, 0.229838f, 0.168415f, 0.106331f, 0.0438298f, -0.0188435f, -0.0814428f, -0.143723f, -0.205438f, -0.266348f, -0.326209f, -0.384787f, -0.441854f, -0.497185f, -0.550563f, -0.601779f, -0.650633f, -0.696931f, -0.740494f, -0.781143f, -0.818717f, -0.853077f, -0.884086f, -0.911623f, -0.93558f, -0.955864f, -0.972393f, -0.985105f, -0.993944f, -0.998868f, -0.999869f, -0.996944f, -0.990104f, -0.979376f, -0.964802f, -0.94644f, -0.92436f, -0.89865f, -0.869396f, -0.836729f, -0.800777f, -0.76168f, -0.719592f, -0.674679f, -0.627115f, -0.577089f, -0.524796f, -0.470435f, -0.414226f, -0.35639f, -0.297156f, -0.236754f, -0.175423f, -0.113403f, -0.0509373f, 0.0117294f, 0.0743502f, 0.136678f, 0.198469f, 0.259479f, 0.319471f, 0.378208f, 0.43546f, 0.491002f, 0.544617f, 0.59609f, 0.645217f, 0.691808f, 0.735683f, 0.776669f, 0.814605f, 0.849342f, 0.880743f, 0.908687f, 0.93306f, 0.953756f, 0.970707f, 0.983846f, 0.993121f, 0.998496f, 0.99995f, 0.997478f, 0.991089f, 0.980808f, 0.966662f, 0.948717f, 0.927048f, 0.901738f, 0.872888f, 0.840609f, 0.80503f, 0.766288f, 0.724538f, 0.679933f, 0.632656f, 0.582895f, 0.530845f, 0.476711f, 0.420704f, 0.363046f, 0.303961f, 0.243682f, 0.182443f, 0.120487f, 0.058059f, -0.00459699f, -0.0672346f, -0.129608f, -0.191473f, -0.252586f, -0.312708f, -0.371602f, -0.429031f, -0.484775f, -0.538615f, -0.590339f, -0.639745f, -0.686639f, -0.730837f, -0.772165f, -0.810462f, -0.845563f, -0.877343f, -0.905677f, -0.930455f, -0.951578f, -0.968965f, -0.982547f, -0.992271f, -0.998098f, -0.999994f, -0.997958f, -0.992004f, -0.982154f, -0.968448f, -0.950938f, -0.929694f, -0.9048f, -0.876351f, -0.844454f, -0.809234f, -0.770837f, -0.729413f, -0.685125f, -0.638146f, -0.588662f, -0.536865f, -0.48296f, -0.427155f, -0.369668f, -0.31073f, -0.250573f, -0.189432f, -0.127546f, -0.0651604f, -0.00251808f, 0.0601347f, 0.122552f, 0.184486f, 0.245695f, 0.305939f, 0.364981f, 0.422589f, 0.478538f, 0.532608f, 0.584588f, 0.634272f, 0.681456f, 0.725963f, 0.767618f, 0.806259f, 0.841733f, 0.873902f, 0.90264f, 0.927833f, 0.949383f, 0.967194f, 0.981202f, 0.991357f, 0.997619f, 0.999963f, 0.998381f, 0.992878f, 0.983477f, 0.970213f, 0.953133f, 0.932301f, 0.907808f, 0.879751f, 0.848239f, 0.813396f, 0.775359f, 0.734277f, 0.690311f, 0.643632f, 0.594416f, 0.542868f, 0.489187f, 0.433586f, 0.376282f, 0.317501f, 0.257472f, 0.196432f, 0.13462f, 0.0722767f, 0.00965049f, -0.0530131f, -0.115468f, -0.17747f, -0.238774f, -0.299141f, -0.358334f, -0.416121f, -0.472269f, -0.526559f, -0.578781f, -0.628731f, -0.676211f, -0.721035f, -0.763028f, -0.802026f, -0.837874f, -0.870425f, -0.899551f, -0.925144f, -0.947104f, -0.965344f, -0.979794f, -0.990397f, -0.99711f, -0.999907f, -0.998774f, -0.993706f, -0.984737f, -0.971901f, -0.955248f, -0.934844f, -0.910769f, -0.883117f, -0.851997f, -0.81753f, -0.77984f, -0.739088f, -0.695434f, -0.64905f, -0.600117f, -0.548827f, -0.495382f, -0.439991f, -0.382872f, -0.324243f, -0.264341f, -0.203402f, -0.141664f, -0.0793705f, -0.0167649f, 0.0459068f, 0.108399f, 0.170466f, 0.231862f, 0.292345f, 0.35168f, 0.409634f, 0.465979f, 0.520494f, 0.572965f, 0.623186f, 0.670961f, 0.716097f, 0.758414f, 0.797752f, 0.833957f, 0.866887f, 0.896413f, 0.922419f, 0.944802f, 0.963476f, 0.978364f, 0.989396f, 0.996543f, 0.999776f, 0.999085f, 0.99447f, 0.98595f, 0.973558f, 0.957343f, 0.937368f, 0.913698f, 0.886439f, 0.8557f, 0.821601f, 0.784275f, 0.74387f, 0.700543f, 0.654465f, 0.605817f, 0.554782f, 0.501566f, 0.446382f, 0.389444f, 0.330978f, 0.271212f, 0.21038f, 0.148722f, 0.0864796f, 0.0238962f, -0.0387808f, -0.101305f, -0.163431f, -0.224915f, -0.285515f, -0.344995f, -0.40312f, -0.459662f, -0.514399f, -0.567108f, -0.617591f, -0.665647f, -0.71109f, -0.75374f, -0.79343f, -0.830004f, -0.86332f, -0.893245f, -0.919649f, -0.942441f, -0.961531f, -0.976846f, -0.988325f, -0.995923f, -0.999609f, -0.999371f, -0.995208f, -0.987124f, -0.97516f, -0.959367f, -0.939807f, -0.916556f, -0.889706f, -0.859363f, -0.825644f, -0.788683f, -0.748616f, -0.705606f, -0.659825f, -0.611453f, -0.56068f, -0.507706f, -0.452737f, -0.395991f, -0.337688f, -0.278057f, -0.217332f, -0.155754f, -0.0935647f, -0.0310083f, 0.0316699f, 0.0942238f, 0.156408f, 0.217979f, 0.278694f, 0.33831f, 0.396597f, 0.453327f, 0.508276f, 0.561228f, 0.611977f, 0.660323f, 0.706077f, 0.749058f, 0.789087f, 0.826015f, 0.8597f, 0.890008f, 0.916821f, 0.940034f, 0.959555f, 0.975309f, 0.987233f, 0.995269f, 0.999391f, 0.99959f, 0.995863f, 0.988226f, 0.976708f, 0.961355f, 0.942226f, 0.919397f, 0.892951f, 0.862991f, 0.829642f, 0.793035f, 0.753315f, 0.710636f, 0.665166f, 0.617085f, 0.566579f, 0.513846f, 0.459088f, 0.402529f, 0.344389f, 0.284897f, 0.224286f, 0.162795f, 0.100664f, 0.0381368f, -0.0245407f, -0.0871215f, -0.149359f, -0.21101f, -0.271832f, -0.331586f, -0.390038f, -0.446959f, -0.502125f, -0.55532f, -0.606328f, -0.654951f, -0.701002f, -0.744301f, -0.784676f, -0.82197f, -0.856036f, -0.886741f, -0.913964f, -0.93759f, -0.957527f, -0.973704f, -0.986057f, -0.994537f, -0.999112f, -0.999764f, -0.99649f, -0.989303f, -0.978225f, -0.963295f, -0.944583f, -0.922162f, -0.896119f, -0.866557f, -0.833593f, -0.797354f, -0.757985f, -0.715637f, -0.670468f, -0.622667f, -0.572421f, -0.519928f, -0.465393f, -0.40903f, -0.351061f, -0.291713f, -0.231219f, -0.169813f, -0.10774f, -0.0452455f, 0.0174267f, 0.0800303f, 0.14232f, 0.20405f, 0.26498f, 0.32487f, 0.383482f, 0.440584f, 0.495956f, 0.54938f, 0.600646f, 0.649554f, 0.695911f, 0.739536f, 0.780257f, 0.817909f, 0.852341f, 0.883425f, 0.911041f, 0.935078f, 0.955444f, 0.972058f, 0.984854f, 0.993783f, 0.998807f, 0.999896f, 0.997058f, 0.990305f, 0.979664f, 0.965175f, 0.946897f, 0.9249f, 0.89927f, 0.870109f, 0.837518f, 0.801637f, 0.762609f, 0.720587f, 0.675735f, 0.628229f, 0.578257f, 0.526012f, 0.471702f, 0.415533f, 0.357732f, 0.298526f, 0.238148f, 0.176835f, 0.114828f, 0.0523695f, -0.0102951f, -0.0729198f, -0.135258f, -0.197064f, -0.258095f, -0.318112f, -0.376879f, -0.434167f, -0.48975f, -0.54341f, -0.594937f, -0.644125f, -0.690776f, -0.734714f, -0.775766f, -0.813772f, -0.848582f, -0.880059f, -0.908082f, -0.932538f, -0.953332f, -0.970367f, -0.983592f, -0.992954f, -0.998417f, -0.999959f, -0.997574f, -0.991272f, -0.981077f, -0.967029f, -0.949171f, -0.927583f, -0.902353f, -0.873579f, -0.841375f, -0.805867f, -0.767195f, -0.725509f, -0.680974f, -0.633758f, -0.584049f, -0.532047f, -0.477956f, -0.421989f, -0.364364f, -0.305309f, -0.245054f, -0.183836f, -0.121895f, -0.0594738f, 0.00318f, 0.0658208f, 0.128203f, 0.190082f, 0.251214f, 0.31136f, 0.370284f, 0.427754f, 0.483538f, 0.537422f, 0.589196f, 0.638655f, 0.685607f, 0.729866f, 0.77126f, 0.809625f, 0.844811f, 0.876667f, 0.905079f, 0.929937f, 0.951142f, 0.968613f, 0.98228f, 0.992089f, 0.998003f, 0.999998f, 0.998055f, 0.992188f, 0.982425f, 0.968804f, 0.951379f, 0.930218f, 0.905404f, 0.877034f, 0.84522f, 0.81008f, 0.771753f, 0.730395f, 0.686169f, 0.639249f, 0.589819f, 0.538072f, 0.484212f, 0.42845f, 0.371003f, 0.312095f, 0.251962f, 0.19084f, 0.128969f, 0.0665915f, 0.00395241f, -0.0587026f, -0.121128f, -0.183078f, -0.244306f, -0.304574f, -0.363645f, -0.421289f, -0.477277f, -0.531392f, -0.58342f, -0.633157f, -0.680409f, -0.72498f, -0.766701f, -0.805411f, -0.840958f, -0.873203f, -0.902019f, -0.927292f, -0.948924f, -0.966831f, -0.980931f, -0.991173f, -0.997522f, -0.999954f, -0.998459f, -0.993044f, -0.983728f, -0.97055f, -0.95356f, -0.93282f, -0.908408f, -0.880428f, -0.848991f, -0.81422f, -0.776252f, -0.735236f, -0.691332f, -0.644713f, -0.59556f, -0.54406f, -0.490424f, -0.434863f, -0.377595f, -0.318844f, -0.25884f, -0.19782f, -0.136023f, -0.0736904f, -0.0110675f, 0.0515982f, 0.114061f, 0.176075f, 0.237398f, 0.297788f, 0.357009f, 0.414829f, 0.471021f, 0.525357f, 0.577628f, 0.62763f, 0.675166f, 0.720052f, 0.762109f, 0.801175f, 0.837094f, 0.869726f, 0.898937f, 0.92461f, 0.946651f, 0.964975f, 0.979509f, 0.990197f, 0.996997f, 0.999881f, 0.99884f, 0.993873f, 0.98499f, 0.97224f, 0.955672f, 0.935351f, 0.911357f, 0.883784f, 0.852741f, 0.818348f, 0.780742f, 0.740057f, 0.696467f, 0.650142f, 0.601264f, 0.550025f, 0.496626f, 0.441276f, 0.384193f, 0.325601f, 0.265726f, 0.204807f, 0.143084f, 0.0808003f, 0.018199f, -0.0444738f, -0.106972f, -0.169051f, -0.230466f, -0.290975f, -0.350339f, -0.408326f, -0.46471f, -0.519268f, -0.571787f, -0.622061f, -0.669893f, -0.715094f, -0.757484f, -0.796891f, -0.833168f, -0.866173f, -0.895776f, -0.921862f, -0.944327f, -0.963085f, -0.978061f, -0.989194f, -0.996429f, -0.99975f, -0.999146f, -0.994618f, -0.986184f, -0.973877f, -0.957746f, -0.937854f, -0.914279f, -0.887101f, -0.856437f, -0.822411f, -0.785155f, -0.744816f, -0.701552f, -0.655533f, -0.606939f, -0.555962f, -0.502795f, -0.447651f, -0.39075f, -0.332315f, -0.272575f, -0.211765f, -0.150123f, -0.0878906f, -0.0253127f, 0.0373651f, 0.0998956f, 0.162033f, 0.223534f, 0.284157f, 0.343663f, 0.401821f, 0.458401f, 0.513181f, 0.565945f, 0.616479f, 0.664591f, 0.710094f, 0.752807f, 0.792565f, 0.82921f, 0.862599f, 0.892601f, 0.919098f, 0.941971f, 0.961145f, 0.976544f, 0.988108f, 0.995792f, 0.999566f, 0.999415f, 0.995339f, 0.987355f, 0.975482f, 0.959774f, 0.940297f, 0.917129f, 0.890358f, 0.860091f, 0.826447f, 0.789557f, 0.749566f, 0.706626f, 0.660905f, 0.612589f, 0.561868f, 0.50894f, 0.454014f, 0.397305f, 0.339036f, 0.279434f, 0.218733f, 0.157171f, 0.094993f, 0.0324419f, -0.0302362f, -0.0927955f, -0.154991f, -0.216577f, -0.277314f, -0.336963f, -0.395283f, -0.452049f, -0.507041f, -0.560041f, -0.610841f, -0.659243f, -0.705056f, -0.748101f, -0.788209f, -0.825211f, -0.85897f, -0.889355f, -0.916248f, -0.939542f, -0.959147f, -0.974986f, -0.986996f, -0.995131f, -0.999347f, -0.999633f, -0.995994f, -0.988443f, -0.977011f, -0.961742f, -0.942696f, -0.919949f, -0.893588f, -0.863713f, -0.830437f, -0.793901f, -0.754247f, -0.711632f, -0.666223f, -0.618197f, -0.567743f, -0.515059f, -0.46035f, -0.403828f, -0.34572f, -0.286256f, -0.225667f, -0.164193f, -0.102073f, -0.0395525f, 0.0231239f, 0.0857103f, 0.147959f, 0.209626f, 0.270469f, 0.330249f, 0.388733f, 0.44569f, 0.500897f, 0.554137f, 0.605202f, 0.653884f, 0.699994f, 0.743356f, 0.783797f, 0.821161f, 0.8553f, 0.886081f, 0.913382f, 0.937096f, 0.957124f, 0.973385f, 0.985823f, 0.99439f, 0.999052f, 0.999791f, 0.996604f, 0.989504f, 0.978518f, 0.963686f, 0.945057f, 0.922718f, 0.896755f, 0.867271f, 0.834381f, 0.798215f, 0.758914f, 0.716633f, 0.671536f, 0.623792f, 0.573599f, 0.521154f, 0.466662f, 0.410338f, 0.352403f, 0.293083f, 0.232612f, 0.171227f, 0.109167f, 0.0466785f, -0.0159926f, -0.0786005f, -0.1409f, -0.202645f, -0.263596f, -0.323511f, -0.382157f, -0.439299f, -0.494712f, -0.548182f, -0.5995f, -0.648462f, -0.694878f, -0.738566f, -0.779354f, -0.817081f, -0.851596f, -0.882757f, -0.910451f, -0.93457f, -0.955019f, -0.971718f, -0.9846f, -0.993617f, -0.998731f, -0.999922f, -0.997171f, -0.990505f, -0.97995f, -0.965546f, -0.947351f, -0.925435f, -0.899885f, -0.870801f, -0.838297f, -0.802489f, -0.763529f, -0.721571f, -0.67678f, -0.629331f, -0.57941f, -0.527214f, -0.472948f, -0.416823f, -0.359057f, -0.299879f, -0.239525f, -0.17823f, -0.116235f, -0.0537843f, 0.00887808f, 0.0715061f, 0.133854f, 0.195676f, 0.256727f, 0.316769f, 0.375567f, 0.43289f, 0.488513f, 0.542218f, 0.593793f, 0.643038f, 0.689755f, 0.733756f, 0.774874f, 0.812949f, 0.847831f, 0.879384f, 0.907484f, 0.93202f, 0.952896f, 0.970031f, 0.983341f, 0.992789f, 0.998338f, 0.999967f, 0.99767f, 0.991456f, 0.981348f, 0.967386f, 0.949625f, 0.928123f, 0.902973f, 0.874278f, 0.842149f, 0.806714f, 0.768111f, 0.726491f, 0.682018f, 0.634867f, 0.585216f, 0.533264f, 0.479217f, 0.423289f, 0.365699f, 0.306674f, 0.246443f, 0.185245f, 0.123318f, 0.060906f, -0.00174567f, -0.0643898f, -0.12678f, -0.188673f, -0.249825f, -0.309995f, -0.368949f, -0.426455f, -0.482285f, -0.536215f, -0.588039f, -0.637552f, -0.684562f, -0.728884f, -0.770343f, -0.808778f, -0.844036f, -0.875981f, -0.904474f, -0.929412f, -0.950701f, -0.968256f, -0.982008f, -0.991905f, -0.997906f, -0.999989f, -0.998145f, -0.99237f, -0.982693f, -0.969158f, -0.951816f, -0.930737f, -0.906003f, -0.877711f, -0.845972f, -0.81091f, -0.772659f, -0.731366f, -0.687202f, -0.640339f, -0.590962f, -0.539265f, -0.485449f, -0.429727f, -0.372317f, -0.313443f, -0.253334f, -0.192232f, -0.130374f, -0.0680053f, -0.00536939f, 0.0572877f, 0.11972f, 0.181683f, 0.242933f, 0.303226f, 0.362327f, 0.420004f, 0.476032f, 0.53019f, 0.582266f, 0.632057f, 0.679365f, 0.724006f, 0.765796f, 0.804574f, 0.840193f, 0.872512f, 0.901405f, 0.926758f, 0.948472f, 0.966461f, 0.980655f, 0.990991f, 0.997426f, 0.999945f, 0.998538f, 0.99321f, 0.983982f, 0.970889f, 0.953984f, 0.933333f, 0.909012f, 0.88111f, 0.84975f, 0.815052f, 0.777154f, 0.736205f, 0.692364f, 0.645804f, 0.596708f, 0.545267f, 0.491677f, 0.436156f, 0.378923f, 0.320203f, 0.260225f, 0.199225f, 0.137443f, 0.0751202f, 0.0125018f, -0.050166f, -0.112636f, -0.174663f, -0.236004f, -0.296418f, -0.355668f, -0.413521f, -0.469751f, -0.524137f, -0.57646f, -0.626515f, -0.67411f, -0.719056f, -0.761179f, -0.800313f, -0.836304f, -0.869012f, -0.898307f, -0.924069f, -0.946193f, -0.964601f, -0.979221f, -0.989996f, -0.996883f, -0.999855f, -0.998901f, -0.994024f, -0.985242f, -0.972576f, -0.956092f, -0.935854f, -0.91194f, -0.884445f, -0.853478f, -0.819158f, -0.781621f, -0.741015f, -0.697487f, -0.651221f, -0.602397f, -0.551208f, -0.497854f, -0.442546f, -0.385499f, -0.326938f, -0.267093f, -0.206195f, -0.144487f, -0.0822128f, -0.0196158f, 0.0430581f, 0.105563f, 0.167653f, 0.229086f, 0.289619f, 0.349014f, 0.407034f, 0.463456f, 0.518057f, 0.570624f, 0.620949f, 0.668837f, 0.714098f, 0.756556f, 0.79604f, 0.832388f, 0.865467f, 0.895147f, 0.921311f, 0.943858f, 0.962699f, 0.977759f, 0.988979f, 0.996316f, 0.999724f, 0.999207f, 0.994767f, 0.98642f, 0.974199f, 0.958153f, 0.938345f, 0.914851f, 0.887765f, 0.857181f, 0.823228f, 0.786043f, 0.745772f, 0.702572f, 0.656613f, 0.608075f, 0.557149f, 0.504035f, 0.448936f, 0.392072f, 0.333668f, 0.273955f, 0.213166f, 0.15154f, 0.0893189f, 0.0267464f, -0.0359317f, -0.0984691f, -0.160618f, -0.222136f, -0.282781f, -0.342316f, -0.400506f, -0.457123f, -0.511946f, -0.564759f, -0.615354f, -0.663523f, -0.709086f, -0.751864f, -0.791689f, -0.828406f, -0.861869f, -0.891948f, -0.918525f, -0.941495f, -0.960754f, -0.976239f, -0.987889f, -0.995661f, -0.999522f, -0.999458f, -0.99547f, -0.987572f, -0.975796f, -0.960178f, -0.940784f, -0.917696f, -0.891004f, -0.860813f, -0.827243f, -0.790423f, -0.750499f, -0.707628f, -0.661972f, -0.613712f, -0.563041f, -0.51016f, -0.455276f, -0.398604f, -0.340367f, -0.280793f, -0.220115f, -0.158572f, -0.096404f, -0.0338583f, 0.0288199f, 0.0913845f, 0.15359f, 0.215193f, 0.275951f, 0.335626f, 0.393984f, 0.450788f, 0.505821f, 0.558867f, 0.609719f, 0.658176f, 0.704048f, 0.747156f, 0.78733f, 0.824413f, 0.858249f, 0.88871f, 0.915681f, 0.939057f, 0.958744f, 0.974667f, 0.986763f, 0.994983f, 0.999296f, 0.999677f, 0.996125f, 0.988662f, 0.977316f, 0.962132f, 0.94317f, 0.920505f, 0.894224f, 0.864432f, 0.831241f, 0.794776f, 0.75519f, 0.71264f, 0.667291f, 0.619322f, 0.56892f, 0.516284f, 0.461621f, 0.405143f, 0.347068f, 0.287631f, 0.227065f, 0.165607f, 0.1035f, 0.0409856f, -0.0216898f, -0.0842806f, -0.146541f, -0.208224f, -0.269089f, -0.328896f, -0.387411f, -0.444404f, -0.499653f, -0.55294f, -0.604055f, -0.6528f, -0.698974f, -0.742399f, -0.782908f, -0.820342f, -0.854555f, -0.885412f, -0.912792f, -0.936588f, -0.956707f, -0.973062f, -0.985586f, -0.99424f, -0.99899f, -0.999817f, -0.996717f, -0.989704f, -0.978804f, -0.96406f, -0.945527f, -0.923269f, -0.897385f, -0.867978f, -0.835162f, -0.799067f, -0.759834f, -0.717617f, -0.672581f, -0.624904f, -0.574763f, -0.522365f, -0.467916f, -0.41163f, -0.353728f, -0.294437f, -0.233989f, -0.172622f, -0.110576f, -0.0480942f, 0.0145758f, 0.077188f, 0.139497f, 0.201257f, 0.262228f, 0.322169f, 0.380845f, 0.438026f, 0.493484f, 0.547f, 0.598367f, 0.647384f, 0.693858f, 0.737608f, 0.778461f, 0.816258f, 0.85085f, 0.882097f, 0.909869f, 0.934068f, 0.954599f, 0.971382f, 0.984349f, 0.993452f, 0.998653f, 0.999932f, 0.997285f, 0.990707f, 0.980237f, 0.965919f, 0.947808f, 0.925975f, 0.900505f, 0.8715f, 0.839071f, 0.803348f, 0.764459f, 0.722566f, 0.677836f, 0.630445f, 0.580578f, 0.528431f, 0.474208f, 0.418123f, 0.360396f, 0.301249f, 0.240918f, 0.179641f, 0.11766f, 0.0552165f, -0.00744375f, -0.070075f, -0.132431f, -0.194268f, -0.255342f, -0.31541f, -0.374238f, -0.431597f, -0.48726f, -0.54101f, -0.592636f, -0.641935f, -0.688713f, -0.732786f, -0.77397f, -0.812115f, -0.847071f, -0.8787f, -0.906878f, -0.931495f, -0.952455f, -0.969674f, -0.983086f, -0.992622f, -0.998259f, -0.999976f, -0.997766f, -0.991638f, -0.981616f, -0.967739f, -0.950062f, -0.928654f, -0.903588f, -0.87497f, -0.842916f, -0.807552f, -0.769017f, -0.727462f, -0.683051f, -0.635957f, -0.586365f, -0.534465f, -0.480463f, -0.424574f, -0.367018f, -0.308022f, -0.247816f, -0.186636f, -0.124723f, -0.0623201f, 0.000328686f, 0.062976f, 0.125375f, 0.187282f, 0.248452f, 0.308647f, 0.36763f, 0.42517f, 0.481041f, 0.535023f, 0.586895f, 0.636463f, 0.68353f, 0.727913f, 0.769437f, 0.80794f, 0.843271f, 0.87529f, 0.903873f, 0.928894f, 0.950264f, 0.967903f, 0.98174f, 0.991723f, 0.997811f, 0.99998f, 0.998224f, 0.992547f, 0.982964f, 0.969514f, 0.952257f, 0.93126f, 0.906607f, 0.878394f, 0.846731f, 0.811743f, 0.773567f, 0.732348f, 0.688246f, 0.641442f, 0.592119f, 0.540472f, 0.486702f, 0.43102f, 0.373646f, 0.314803f, 0.254724f, 0.19364f, 0.131797f, 0.0694364f, 0.00680372f, -0.0558555f, -0.118296f, -0.180271f, -0.24154f, -0.301861f, -0.360992f, -0.418704f, -0.474771f, -0.528974f, -0.581099f, -0.630942f, -0.678308f, -0.723011f, -0.764875f, -0.803727f, -0.839418f, -0.871813f, -0.900784f, -0.926217f, -0.948013f, -0.966087f, -0.980367f, -0.990797f, -0.99733f, -0.999936f, -0.998617f, -0.993375f, -0.984233f, -0.971226f, -0.954405f, -0.933836f, -0.909599f, -0.881787f, -0.850501f, -0.815876f, -0.778047f, -0.737163f, -0.693385f, -0.646883f, -0.597841f, -0.546451f, -0.492914f, -0.437433f, -0.380236f, -0.321546f, -0.261593f, -0.200613f, -0.138846f, -0.0765327f, -0.0139185f, 0.048751f, 0.111229f, 0.173269f, 0.234627f, 0.295064f, 0.354343f, 0.412229f, 0.468498f, 0.522927f, 0.575302f, 0.625414f, 0.673066f, 0.718073f, 0.76026f, 0.799462f, 0.835524f, 0.868306f, 0.897677f, 0.923524f, 0.94574f, 0.964231f, 0.978936f, 0.989796f, 0.99677f, 0.999829f, 0.998962f, 0.994173f, 0.98548f, 0.972916f, 0.956516f, 0.936361f, 0.912528f, 0.885113f, 0.854222f, 0.819976f, 0.78251f, 0.741971f, 0.698518f, 0.652312f, 0.603543f, 0.552405f, 0.499098f, 0.443831f, 0.386821f, 0.328292f, 0.268473f, 0.207599f, 0.145907f, 0.0836426f, 0.0210499f, -0.041625f, -0.104136f, -0.166239f, -0.227688f, -0.288244f, -0.347669f, -0.405727f, -0.462187f, -0.516831f, -0.569446f, -0.619824f, -0.667768f, -0.71309f, -0.755612f, -0.795167f, -0.831598f, -0.864752f, -0.89451f, -0.920754f, -0.943383f, -0.962308f, -0.977453f, -0.98876f, -0.996184f, -0.999697f, -0.999268f, -0.994915f, -0.986654f, -0.974519f, -0.958557f, -0.938831f, -0.915419f, -0.888411f, -0.857914f, -0.824038f, -0.786923f, -0.746718f, -0.70358f, -0.657681f, -0.609198f, -0.558323f, -0.505255f, -0.450202f, -0.393378f, -0.335006f, -0.275318f, -0.214551f, -0.152941f, -0.0907299f, -0.0281628f, 0.0345154f, 0.0970586f, 0.159221f, 0.220756f, 0.281423f, 0.340985f, 0.399207f, 0.455862f, 0.510726f, 0.563586f, 0.614232f, 0.662467f, 0.70809f, 0.750932f, 0.790824f, 0.827611f, 0.861148f, 0.891303f, 0.917959f, 0.941009f, 0.960365f, 0.975937f, 0.987673f, 0.99553f, 0.999479f, 0.999502f, 0.995601f, 0.987791f, 0.976101f, 0.960579f, 0.941274f, 0.918268f, 0.891656f, 0.861542f, 0.828046f, 0.791298f, 0.751442f, 0.708635f, 0.663045f, 0.614847f, 0.564229f, 0.511395f, 0.456553f, 0.399919f, 0.341715f, 0.282168f, 0.221513f, 0.159987f, 0.0978323f, 0.035292f, -0.0273862f, -0.0899562f, -0.152173f, -0.213792f, -0.274571f, -0.334272f, -0.392662f, -0.44951f, -0.504586f, -0.55768f, -0.608583f, -0.657095f, -0.703028f, -0.746199f, -0.786441f, -0.823595f, -0.857515f, -0.888057f, -0.915108f, -0.938565f, -0.958336f, -0.974344f, -0.986526f, -0.994834f, -0.999235f, -0.999712f, -0.996256f, -0.988879f, -0.977618f, -0.962519f, -0.94364f, -0.921056f, -0.894855f, -0.865139f, -0.832026f, -0.795641f, -0.756123f, -0.713636f, -0.668347f, -0.620434f, -0.570084f, -0.517495f, -0.462874f, -0.406435f, -0.348399f, -0.288989f, -0.228445f, -0.167005f, -0.104909f, -0.0424013f, 0.020273f, 0.082868f, 0.145138f, 0.206839f, 0.267725f, 0.327559f, 0.386105f, 0.443135f, 0.498424f, 0.551757f, 0.602922f, 0.651721f, 0.697961f, 0.741454f, 0.782029f, 0.819533f, 0.853819f, 0.884752f, 0.91221f, 0.936086f, 0.956287f, 0.972732f, 0.985353f, 0.994093f, 0.998929f, 0.999843f, 0.996831f, 0.989905f, 0.979091f, 0.964433f, 0.945987f, 0.923825f, 0.898021f, 0.868692f, 0.835951f, 0.799928f, 0.760763f, 0.718611f, 0.673637f, 0.626018f, 0.575939f, 0.523591f, 0.469185f, 0.412938f, 0.355069f, 0.295807f, 0.235382f, 0.174033f, 0.112f, 0.049527f, -0.0131417f, -0.0757582f, -0.138077f, -0.199852f, -0.260843f, -0.320809f, -0.379516f, -0.436733f, -0.492236f, -0.545802f, -0.59722f, -0.646292f, -0.692825f, -0.736638f, -0.777558f, -0.815425f, -0.85009f, -0.881417f, -0.90928f, -0.93356f, -0.954175f, -0.971042f, -0.984096f, -0.993285f, -0.998574f, -0.999941f, -0.997382f, -0.990906f, -0.980523f, -0.96629f, -0.948262f, -0.92651f, -0.90112f, -0.872191f, -0.839838f, -0.804186f, -0.765375f, -0.72355f, -0.67888f, -0.631546f, -0.581731f, -0.529633f, -0.475454f, -0.419408f, -0.361715f, -0.3026f, -0.242295f, -0.181036f, -0.119067f, -0.0566313f, 0.00602677f, 0.0686612f, 0.131026f, 0.192877f, 0.253971f, 0.314067f, 0.372926f, 0.43032f, 0.486023f, 0.539818f, 0.591493f, 0.640845f, 0.687681f, 0.731817f, 0.773078f, 0.811292f, 0.84632f, 0.878024f, 0.90628f, 0.930977f, 0.952019f, 0.969321f, 0.982818f, 0.992455f, 0.998181f, 0.999985f, 0.997863f, 0.991822f, 0.981887f, 0.968095f, 0.950503f, 0.929177f, 0.904202f, 0.875668f, 0.84369f, 0.808398f, 0.769933f, 0.728444f, 0.684095f, 0.63706f, 0.587522f, 0.535676f, 0.481724f, 0.425874f, 0.368353f, 0.309386f, 0.249205f, 0.188045f, 0.126146f, 0.0637512f, 0.00110564f, -0.0615449f, -0.123953f, -0.185873f, -0.247063f, -0.307283f, -0.366295f, -0.42387f, -0.47978f, -0.533806f, -0.585737f, -0.635359f, -0.682485f, -0.72693f, -0.768521f, -0.807093f, -0.842496f, -0.874591f, -0.903251f, -0.928365f, -0.949823f, -0.967546f, -0.981469f, -0.991538f, -0.997714f, -0.999971f, -0.998302f, -0.992712f, -0.983224f, -0.969867f, -0.952694f, -0.931779f, -0.907206f, -0.87907f, -0.847483f, -0.812567f, -0.77446f, -0.733311f, -0.689279f, -0.642532f, -0.593263f, -0.541664f, -0.487939f, -0.432297f, -0.374958f, -0.316146f, -0.256092f, -0.195031f, -0.133202f, -0.0708502f, -0.00822071f, 0.0544407f, 0.116888f, 0.178877f, 0.240163f, 0.300507f, 0.359672f, 0.417419f, 0.473525f, 0.527772f, 0.579945f, 0.629841f, 0.677264f, 0.722027f, 0.763956f, 0.802884f, 0.838653f, 0.871122f, 0.90017f, 0.925683f, 0.947561f, 0.965717f, 0.980082f, 0.990598f, 0.997224f, 0.999928f, 0.998695f, 0.993542f, 0.984486f, 0.971565f, 0.954829f, 0.934343f, 0.910187f, 0.882458f, 0.85126f, 0.816708f, 0.77895f, 0.738132f, 0.694417f, 0.647975f, 0.598988f, 0.547648f, 0.494157f, 0.438726f, 0.381564f, 0.322905f, 0.262978f, 0.202018f, 0.140266f, 0.0779625f, 0.0153527f, -0.047318f, -0.109803f, -0.171857f, -0.233234f, -0.293694f, -0.353001f, -0.410922f, -0.467229f, -0.521701f, -0.574125f, -0.624295f, -0.672009f, -0.717078f, -0.75933f, -0.7986f, -0.834735f, -0.867591f, -0.89704f, -0.922967f, -0.94527f, -0.963857f, -0.978648f, -0.989595f, -0.996655f, -0.999803f, -0.999023f, -0.994321f, -0.985714f, -0.973237f, -0.956937f, -0.936863f, -0.913112f, -0.885774f, -0.854959f, -0.820786f, -0.78339f, -0.742917f, -0.699526f, -0.653389f, -0.604677f, -0.553588f, -0.500327f, -0.445101f, -0.388127f, -0.329629f, -0.269836f, -0.208983f, -0.147309f, -0.0850551f, -0.0224667f, 0.0402093f, 0.102727f, 0.164841f, 0.226308f, 0.286886f, 0.346338f, 0.40443f, 0.460933f, 0.51562f, 0.568282f, 0.618712f, 0.666712f, 0.712094f, 0.75468f, 0.794302f, 0.830806f, 0.864046f, 0.89388f, 0.920204f, 0.942914f, 0.961921f, 0.977151f, 0.988543f, 0.996054f, 0.999653f, 0.999327f, 0.995063f, 0.98689f, 0.974841f, 0.958964f, 0.939322f, 0.915991f, 0.889063f, 0.858643f, 0.824851f, 0.787811f, 0.747674f, 0.7046f, 0.65876f, 0.610334f, 0.559511f, 0.50649f, 0.45148f, 0.394696f, 0.336359f, 0.276698f, 0.215952f, 0.154358f, 0.0921582f, 0.0295965f, -0.0330817f, -0.0956303f, -0.157804f, -0.219358f, -0.280048f, -0.339637f, -0.397892f, -0.454584f, -0.509491f, -0.562398f, -0.613096f, -0.661387f, -0.707082f, -0.749988f, -0.789949f, -0.826807f, -0.860418f, -0.890651f, -0.917385f, -0.940518f, -0.959957f, -0.975627f, -0.987454f, -0.995399f, -0.999435f, -0.999546f, -0.995732f, -0.988008f, -0.976404f, -0.960966f, -0.941754f, -0.918835f, -0.892302f, -0.862264f, -0.828841f, -0.792163f, -0.752375f, -0.709632f, -0.664101f, -0.615963f, -0.565402f, -0.512615f, -0.457815f, -0.401218f, -0.343046f, -0.283526f, -0.222893f, -0.161385f, -0.0992418f, -0.0367083f, 0.0259698f, 0.0885452f, 0.150772f, 0.212407f, 0.273208f, 0.332935f, 0.391356f, 0.44824f, 0.503365f, 0.556506f, 0.60746f, 0.656028f, 0.70202f, 0.745254f, 0.785562f, 0.822786f, 0.856779f, 0.887407f, 0.914542f, 0.93808f, 0.957934f, 0.974025f, 0.986292f, 0.994686f, 0.999174f, 0.999738f, 0.996377f, 0.989097f, 0.977923f, 0.962909f, 0.944114f, 0.921612f, 0.895491f, 0.865853f, 0.832814f, 0.796505f, 0.757066f, 0.714643f, 0.669415f, 0.621559f, 0.571262f, 0.518721f, 0.464143f, 0.407743f, 0.34974f, 0.290364f, 0.229843f, 0.16842f, 0.106336f, 0.0438343f, -0.0188389f, -0.0814383f, -0.143718f, -0.205434f, -0.266344f, -0.326205f, -0.384783f, -0.44185f, -0.497181f, -0.550559f, -0.601776f, -0.650629f, -0.696928f, -0.740491f, -0.78114f, -0.818715f, -0.853074f, -0.884084f, -0.911621f, -0.935579f, -0.955862f, -0.972392f, -0.985104f, -0.993943f, -0.998868f, -0.999869f, -0.996945f, -0.990105f, -0.979377f, -0.964803f, -0.946441f, -0.924362f, -0.898652f, -0.869399f, -0.836732f, -0.80078f, -0.761683f, -0.719595f, -0.674682f, -0.627119f, -0.577093f, -0.5248f, -0.470439f, -0.41423f, -0.356394f, -0.29716f, -0.236759f, -0.175428f, -0.113408f, -0.0509418f, 0.0117248f, 0.0743457f, 0.136674f, 0.198464f, 0.259475f, 0.319467f, 0.378204f, 0.435456f, 0.490998f, 0.544613f, 0.596087f, 0.645213f, 0.691805f, 0.73568f, 0.776666f, 0.814602f, 0.849339f, 0.880741f, 0.908685f, 0.933059f, 0.953755f, 0.970706f, 0.983845f, 0.99312f, 0.998495f, 0.99995f, 0.997478f, 0.99109f, 0.980809f, 0.966663f, 0.948719f, 0.92705f, 0.90174f, 0.87289f, 0.840612f, 0.805032f, 0.766291f, 0.724541f, 0.679937f, 0.63266f, 0.582899f, 0.530849f, 0.476715f, 0.420708f, 0.36305f, 0.303965f, 0.243686f, 0.182448f, 0.120492f, 0.0580635f, -0.00459244f, -0.0672301f, -0.129604f, -0.191469f, -0.252582f, -0.312704f, -0.371597f, -0.429027f, -0.484771f, -0.538611f, -0.590335f, -0.639742f, -0.686636f, -0.730834f, -0.772163f, -0.810459f, -0.84556f, -0.87734f, -0.905675f, -0.930453f, -0.951577f, -0.968964f, -0.982547f, -0.992271f, -0.998098f, -0.999994f, -0.997959f, -0.992005f, -0.982155f, -0.968449f, -0.95094f, -0.929696f, -0.904801f, -0.876353f, -0.844456f, -0.809236f, -0.77084f, -0.729416f, -0.685128f, -0.63815f, -0.588665f, -0.536869f, -0.482964f, -0.427159f, -0.369672f, -0.310735f, -0.250577f, -0.189436f, -0.127551f, -0.065165f, -0.00252263f, 0.0601302f, 0.122547f, 0.184482f, 0.245691f, 0.305934f, 0.364976f, 0.422585f, 0.478534f, 0.532605f, 0.584584f, 0.634268f, 0.681453f, 0.72596f, 0.767615f, 0.806256f, 0.841731f, 0.8739f, 0.902638f, 0.927831f, 0.949381f, 0.967193f, 0.981201f, 0.991356f, 0.997618f, 0.999963f, 0.998381f, 0.992879f, 0.983478f, 0.970214f, 0.953135f, 0.932303f, 0.90781f, 0.879753f, 0.848241f, 0.813399f, 0.775362f, 0.73428f, 0.690314f, 0.643635f, 0.59442f, 0.542871f, 0.489191f, 0.43359f, 0.376287f, 0.317505f, 0.257477f, 0.196437f, 0.134624f, 0.0722813f, 0.00965504f, -0.0530085f, -0.115464f, -0.177465f, -0.23877f, -0.299137f, -0.35833f, -0.416117f, -0.472265f, -0.526555f, -0.578778f, -0.628727f, -0.676207f, -0.721032f, -0.763025f, -0.802023f, -0.837871f, -0.870423f, -0.899549f, -0.925142f, -0.947102f, -0.965343f, -0.979793f, -0.990396f, -0.997109f, -0.999907f, -0.998774f, -0.993707f, -0.984738f, -0.971902f, -0.955249f, -0.934845f, -0.91077f, -0.883119f, -0.851999f, -0.817532f, -0.779843f, -0.739091f, -0.695438f, -0.649054f, -0.600121f, -0.548831f, -0.495386f, -0.439995f, -0.382876f, -0.324248f, -0.264346f, -0.203406f, -0.141669f, -0.079375f, -0.0167694f, 0.0459023f, 0.108394f, 0.170461f, 0.231857f, 0.292341f, 0.351676f, 0.40963f, 0.465975f, 0.52049f, 0.572961f, 0.623183f, 0.670958f, 0.716094f, 0.758411f, 0.797749f, 0.833955f, 0.866885f, 0.896411f, 0.922417f, 0.944801f, 0.963475f, 0.978363f, 0.989395f, 0.996543f, 0.999776f, 0.999085f, 0.99447f, 0.98595f, 0.973559f, 0.957344f, 0.937369f, 0.9137f, 0.886441f, 0.855702f, 0.821603f, 0.784278f, 0.743873f, 0.700546f, 0.654469f, 0.60582f, 0.554786f, 0.50157f, 0.446386f, 0.389449f, 0.330982f, 0.271216f, 0.210385f, 0.148727f, 0.0864841f, 0.0239008f, -0.0387763f, -0.1013f, -0.163426f, -0.22491f, -0.285511f, -0.34499f, -0.403116f, -0.459658f, -0.514395f, -0.567105f, -0.617587f, -0.665644f, -0.711086f, -0.753737f, -0.793427f, -0.830002f, -0.863318f, -0.893243f, -0.919647f, -0.942439f, -0.96153f, -0.976845f, -0.988324f, -0.995922f, -0.999609f, -0.999371f, -0.995208f, -0.987124f, -0.975161f, -0.959368f, -0.939808f, -0.916558f, -0.889708f, -0.859365f, -0.825646f, -0.788685f, -0.748619f, -0.705609f, -0.659828f, -0.611457f, -0.560684f, -0.50771f, -0.452741f, -0.395995f, -0.337693f, -0.278062f, -0.217337f, -0.155758f, -0.0935692f, -0.0310128f, 0.0316653f, 0.0942193f, 0.156404f, 0.217974f, 0.278689f, 0.338306f, 0.396593f, 0.453323f, 0.508272f, 0.561225f, 0.611974f, 0.66032f, 0.706074f, 0.749055f, 0.789084f, 0.826013f, 0.859697f, 0.890006f, 0.916819f, 0.940032f, 0.959554f, 0.975308f, 0.987232f, 0.995268f, 0.999391f, 0.99959f, 0.995863f, 0.988227f, 0.976709f, 0.961356f, 0.942228f, 0.919399f, 0.892953f, 0.862993f, 0.829644f, 0.793038f, 0.753318f, 0.710639f, 0.66517f, 0.617088f, 0.566583f, 0.51385f, 0.459092f, 0.402533f, 0.344393f, 0.284901f, 0.224291f, 0.162799f, 0.100668f, 0.0381414f, -0.0245361f, -0.0871169f, -0.149355f, -0.211006f, -0.271828f, -0.331582f, -0.390034f, -0.446955f, -0.502121f, -0.555316f, -0.606324f, -0.654948f, -0.700999f, -0.744298f, -0.784673f, -0.821967f, -0.856034f, -0.886739f, -0.913962f, -0.937588f, -0.957526f, -0.973703f, -0.986056f, -0.994537f, -0.999112f, -0.999764f, -0.99649f, -0.989303f, -0.978226f, -0.963297f, -0.944585f, -0.922163f, -0.896121f, -0.86656f, -0.833595f, -0.797357f, -0.757988f, -0.71564f, -0.670471f, -0.622671f, -0.572425f, -0.519932f, -0.465397f, -0.409035f, -0.351066f, -0.291717f, -0.231223f, -0.169817f, -0.107745f, -0.04525f, 0.0174221f, 0.0800257f, 0.142315f, 0.204046f, 0.264976f, 0.324866f, 0.383477f, 0.44058f, 0.495952f, 0.549376f, 0.600643f, 0.649551f, 0.695908f, 0.739533f, 0.780254f, 0.817906f, 0.852338f, 0.883423f, 0.911039f, 0.935077f, 0.955442f, 0.972057f, 0.984853f, 0.993783f, 0.998807f, 0.999896f, 0.997058f, 0.990306f, 0.979665f, 0.965177f, 0.946898f, 0.924901f, 0.899272f, 0.870112f, 0.83752f, 0.80164f, 0.762612f, 0.72059f, 0.675738f, 0.628233f, 0.57826f, 0.526016f, 0.471706f, 0.415537f, 0.357736f, 0.29853f, 0.238152f, 0.17684f, 0.114832f, 0.052374f, -0.0102905f, -0.0729153f, -0.135254f, -0.197059f, -0.25809f, -0.318107f, -0.376875f, -0.434163f, -0.489746f, -0.543406f, -0.594933f, -0.644121f, -0.690772f, -0.73471f, -0.775763f, -0.813769f, -0.848579f, -0.880057f, -0.90808f, -0.932536f, -0.95333f, -0.970366f, -0.983591f, -0.992953f, -0.998416f, -0.999959f, -0.997574f, -0.991272f, -0.981078f, -0.967031f, -0.949173f, -0.927585f, -0.902355f, -0.873582f, -0.841378f, -0.80587f, -0.767198f, -0.725512f, -0.680977f, -0.633761f, -0.584052f, -0.532051f, -0.47796f, -0.421993f, -0.364369f, -0.305313f, -0.245058f, -0.183841f, -0.121899f, -0.0594784f, 0.00317545f, 0.0658163f, 0.128198f, 0.190077f, 0.251209f, 0.311356f, 0.37028f, 0.42775f, 0.483534f, 0.537418f, 0.589192f, 0.638652f, 0.685604f, 0.729863f, 0.771257f, 0.809622f, 0.844809f, 0.876665f, 0.905077f, 0.929935f, 0.951141f, 0.968612f, 0.982279f, 0.992089f, 0.998003f, 0.999998f, 0.998055f, 0.992188f, 0.982426f, 0.968805f, 0.95138f, 0.930219f, 0.905406f, 0.877036f, 0.845223f, 0.810083f, 0.771755f, 0.730398f, 0.686172f, 0.639253f, 0.589823f, 0.538076f, 0.484216f, 0.428454f, 0.371007f, 0.312099f, 0.251966f, 0.190845f, 0.128973f, 0.066596f, 0.00395696f, -0.058698f, -0.121123f, -0.183073f, -0.244301f, -0.30457f, -0.363641f, -0.421285f, -0.477273f, -0.531388f, -0.583416f, -0.633154f, -0.680406f, -0.724977f, -0.766698f, -0.805409f, -0.840956f, -0.873201f, -0.902017f, -0.92729f, -0.948923f, -0.966829f, -0.98093f, -0.991172f, -0.997522f, -0.999954f, -0.998459f, -0.993044f, -0.983729f, -0.970551f, -0.953562f, -0.932822f, -0.908409f, -0.88043f, -0.848993f, -0.814223f, -0.776255f, -0.735239f, -0.691335f, -0.644716f, -0.595564f, -0.544064f, -0.490428f, -0.434867f, -0.377599f, -0.318848f, -0.258845f, -0.197825f, -0.136027f, -0.0736949f, -0.011072f, 0.0515937f, 0.114056f, 0.17607f, 0.237393f, 0.297784f, 0.357005f, 0.414825f, 0.471016f, 0.525354f, 0.577624f, 0.627626f, 0.675163f, 0.720049f, 0.762106f, 0.801172f, 0.837091f, 0.869724f, 0.898935f, 0.924608f, 0.94665f, 0.964974f, 0.979508f, 0.990197f, 0.996997f, 0.999881f, 0.99884f, 0.993873f, 0.984991f, 0.972241f, 0.955673f, 0.935352f, 0.911359f, 0.883786f, 0.852743f, 0.818351f, 0.780745f, 0.74006f, 0.69647f, 0.650145f, 0.601267f, 0.550029f, 0.49663f, 0.44128f, 0.384198f, 0.325605f, 0.26573f, 0.204812f, 0.143089f, 0.0808048f, 0.0182035f, -0.0444692f, -0.106968f, -0.169046f, -0.230462f, -0.290971f, -0.350335f, -0.408322f, -0.464706f, -0.519264f, -0.571783f, -0.622058f, -0.669889f, -0.715091f, -0.757481f, -0.796888f, -0.833165f, -0.86617f, -0.895774f, -0.92186f, -0.944326f, -0.963084f, -0.97806f, -0.989193f, -0.996428f, -0.99975f, -0.999146f, -0.994618f, -0.986185f, -0.973878f, -0.957748f, -0.937856f, -0.914281f, -0.887103f, -0.856439f, -0.822413f, -0.785158f, -0.744819f, -0.701555f, -0.655536f, -0.606943f, -0.555966f, -0.502799f, -0.447655f, -0.390754f, -0.332319f, -0.272579f, -0.211769f, -0.150127f, -0.0878951f, -0.0253173f, 0.0373606f, 0.0998911f, 0.162029f, 0.223529f, 0.284152f, 0.343659f, 0.401817f, 0.458397f, 0.513177f, 0.565941f, 0.616475f, 0.664588f, 0.710091f, 0.752804f, 0.792562f, 0.829207f, 0.862597f, 0.892599f, 0.919096f, 0.94197f, 0.961144f, 0.976543f, 0.988108f, 0.995792f, 0.999566f, 0.999415f, 0.99534f, 0.987356f, 0.975483f, 0.959775f, 0.940299f, 0.91713f, 0.89036f, 0.860094f, 0.82645f, 0.78956f, 0.749569f, 0.706629f, 0.660908f, 0.612592f, 0.561872f, 0.508944f, 0.454019f, 0.39731f, 0.33904f, 0.279439f, 0.218738f, 0.157176f, 0.0949975f, 0.0324465f, -0.0302317f, -0.092791f, -0.154986f, -0.216573f, -0.27731f, -0.336958f, -0.395278f, -0.452045f, -0.507037f, -0.560037f, -0.610838f, -0.65924f, -0.705053f, -0.748098f, -0.788206f, -0.825208f, -0.858967f, -0.889353f, -0.916246f, -0.939541f, -0.959146f, -0.974985f, -0.986995f, -0.99513f, -0.999347f, -0.999633f, -0.995994f, -0.988444f, -0.977012f, -0.961743f, -0.942698f, -0.91995f, -0.89359f, -0.863715f, -0.83044f, -0.793904f, -0.754251f, -0.711635f, -0.666226f, -0.6182f, -0.567746f, -0.515063f, -0.460354f, -0.403832f, -0.345725f, -0.28626f, -0.225672f, -0.164197f, -0.102078f, -0.0395571f, 0.0231194f, 0.0857058f, 0.147954f, 0.209621f, 0.270464f, 0.330245f, 0.388728f, 0.445685f, 0.500893f, 0.554133f, 0.605199f, 0.653881f, 0.699991f, 0.743352f, 0.783794f, 0.821158f, 0.855298f, 0.886078f, 0.91338f, 0.937095f, 0.957123f, 0.973384f, 0.985822f, 0.994389f, 0.999051f, 0.999791f, 0.996604f, 0.989505f, 0.978519f, 0.963687f, 0.945058f, 0.922719f, 0.896757f, 0.867273f, 0.834384f, 0.798218f, 0.758917f, 0.716636f, 0.67154f, 0.623796f, 0.573603f, 0.521158f, 0.466666f, 0.410342f, 0.352407f, 0.293087f, 0.232617f, 0.171231f, 0.109171f, 0.0466831f, -0.015988f, -0.078596f, -0.140895f, -0.202641f, -0.263591f, -0.323507f, -0.382153f, -0.439295f, -0.494708f, -0.548179f, -0.599496f, -0.648459f, -0.694875f, -0.738563f, -0.779351f, -0.817079f, -0.851593f, -0.882755f, -0.91045f, -0.934569f, -0.955018f, -0.971717f, -0.984599f, -0.993616f, -0.998731f, -0.999922f, -0.997172f, -0.990506f, -0.979951f, -0.965547f, -0.947352f, -0.925437f, -0.899887f, -0.870803f, -0.8383f, -0.802492f, -0.763532f, -0.721574f, -0.676783f, -0.629334f, -0.579414f, -0.527218f, -0.472952f, -0.416827f, -0.359061f, -0.299884f, -0.239529f, -0.178234f, -0.11624f, -0.0537889f, 0.00887353f, 0.0715015f, 0.133849f, 0.195671f, 0.256722f, 0.316765f, 0.375563f, 0.432886f, 0.488509f, 0.542214f, 0.59379f, 0.643034f, 0.689752f, 0.733752f, 0.774871f, 0.812946f, 0.847829f, 0.879382f, 0.907482f, 0.932018f, 0.952895f, 0.97003f, 0.98334f, 0.992788f, 0.998338f, 0.999967f, 0.997671f, 0.991456f, 0.981348f, 0.967387f, 0.949626f, 0.928125f, 0.902975f, 0.87428f, 0.842152f, 0.806717f, 0.768114f, 0.726494f, 0.682021f, 0.63487f, 0.58522f, 0.533267f, 0.479221f, 0.423293f, 0.365704f, 0.306678f, 0.246448f, 0.185249f, 0.123323f, 0.0609105f, -0.00174112f, -0.0643852f, -0.126776f, -0.188669f, -0.24982f, -0.309991f, -0.368945f, -0.42645f, -0.482281f, -0.536211f, -0.588035f, -0.637549f, -0.684559f, -0.728881f, -0.77034f, -0.808775f, -0.844034f, -0.875979f, -0.904472f, -0.92941f, -0.950699f, -0.968255f, -0.982008f, -0.991904f, -0.997906f, -0.999989f, -0.998145f, -0.992371f, -0.982694f, -0.969159f, -0.951818f, -0.930739f, -0.906005f, -0.877713f, -0.845974f, -0.810913f, -0.772662f, -0.731369f, -0.687205f, -0.640343f, -0.590966f, -0.539269f, -0.485453f, -0.429731f, -0.372321f, -0.313448f, -0.253339f, -0.192236f, -0.130379f, -0.0680098f, -0.00537395f, 0.0572832f, 0.119716f, 0.181679f, 0.242929f, 0.303221f, 0.362322f, 0.42f, 0.476028f, 0.530186f, 0.582263f, 0.632053f, 0.679362f, 0.724003f, 0.765793f, 0.804572f, 0.840191f, 0.87251f, 0.901403f, 0.926756f, 0.94847f, 0.96646f, 0.980654f, 0.99099f, 0.997426f, 0.999945f, 0.998538f, 0.993211f, 0.983982f, 0.97089f, 0.953985f, 0.933334f, 0.909014f, 0.881113f, 0.849752f, 0.815055f, 0.777157f, 0.736208f, 0.692367f, 0.645808f, 0.596711f, 0.545271f, 0.491681f, 0.43616f, 0.378928f, 0.320207f, 0.260229f, 0.19923f, 0.137447f, 0.0751247f, 0.0125063f, -0.0501615f, -0.112632f, -0.174659f, -0.236f, -0.296414f, -0.355664f, -0.413517f, -0.469747f, -0.524134f, -0.576457f, -0.626512f, -0.674106f, -0.719053f, -0.761176f, -0.80031f, -0.836302f, -0.869009f, -0.898305f, -0.924067f, -0.946191f, -0.9646f, -0.97922f, -0.989995f, -0.996882f, -0.999855f, -0.998901f, -0.994025f, -0.985243f, -0.972578f, -0.956094f, -0.935855f, -0.911942f, -0.884448f, -0.85348f, -0.819161f, -0.781624f, -0.741018f, -0.697491f, -0.651224f, -0.602401f, -0.551212f, -0.497858f, -0.44255f, -0.385503f, -0.326943f, -0.267097f, -0.2062f, -0.144492f, -0.0822173f, -0.0196203f, 0.0430535f, 0.105558f, 0.167649f, 0.229081f, 0.289615f, 0.34901f, 0.40703f, 0.463452f, 0.518053f, 0.57062f, 0.620946f, 0.668833f, 0.714095f, 0.756553f, 0.796037f, 0.832385f, 0.865464f, 0.895145f, 0.92131f, 0.943857f, 0.962697f, 0.977758f, 0.988978f, 0.996315f, 0.999724f, 0.999207f, 0.994767f, 0.986421f, 0.9742f, 0.958155f, 0.938347f, 0.914853f, 0.887767f, 0.857183f, 0.823231f, 0.786046f, 0.745775f, 0.702575f, 0.656616f, 0.608079f, 0.557153f, 0.504039f, 0.44894f, 0.392076f, 0.333673f, 0.273959f, 0.213171f, 0.151545f, 0.0893234f, 0.026751f, -0.0359272f, -0.0984645f, -0.160614f, -0.222132f, -0.282777f, -0.342312f, -0.400502f, -0.457119f, -0.511942f, -0.564755f, -0.61535f, -0.663519f, -0.709083f, -0.751861f, -0.791687f, -0.828403f, -0.861867f, -0.891946f, -0.918523f, -0.941493f, -0.960753f, -0.976238f, -0.987889f, -0.99566f, -0.999522f, -0.999458f, -0.99547f, -0.987573f, -0.975797f, -0.960179f, -0.940786f, -0.917698f, -0.891006f, -0.860816f, -0.827245f, -0.790426f, -0.750502f, -0.707631f, -0.661976f, -0.613715f, -0.563045f, -0.510164f, -0.45528f, -0.398609f, -0.340371f, -0.280797f, -0.22012f, -0.158576f, -0.0964085f, -0.0338628f, 0.0288153f, 0.09138f, 0.153586f, 0.215188f, 0.275947f, 0.335622f, 0.393979f, 0.450784f, 0.505817f, 0.558863f, 0.609715f, 0.658172f, 0.704045f, 0.747153f, 0.787328f, 0.824411f, 0.858246f, 0.888708f, 0.91568f, 0.939055f, 0.958743f, 0.974666f, 0.986762f, 0.994982f, 0.999296f, 0.999677f, 0.996126f, 0.988662f, 0.977317f, 0.962133f, 0.943172f, 0.920506f, 0.894226f, 0.864434f, 0.831243f, 0.794778f, 0.755193f, 0.712643f, 0.667294f, 0.619325f, 0.568924f, 0.516288f, 0.461625f, 0.405147f, 0.347072f, 0.287635f, 0.227069f, 0.165612f, 0.103504f, 0.0409901f, -0.0216853f, -0.084276f, -0.146537f, -0.20822f, -0.269084f, -0.328891f, -0.387407f, -0.4444f, -0.499649f, -0.552936f, -0.604052f, -0.652796f, -0.698971f, -0.742396f, -0.782905f, -0.82034f, -0.854553f, -0.88541f, -0.912791f, -0.936587f, -0.956705f, -0.973061f, -0.985586f, -0.99424f, -0.99899f, -0.999817f, -0.996718f, -0.989704f, -0.978805f, -0.964061f, -0.945529f, -0.923271f, -0.897387f, -0.86798f, -0.835165f, -0.79907f, -0.759837f, -0.71762f, -0.672584f, -0.624907f, -0.574766f, -0.522369f, -0.46792f, -0.411634f, -0.353732f, -0.294441f, -0.233993f, -0.172626f, -0.11058f, -0.0480988f, 0.0145713f, 0.0771834f, 0.139492f, 0.201253f, 0.262223f, 0.322164f, 0.38084f, 0.438022f, 0.49348f, 0.546996f, 0.598363f, 0.64738f, 0.693855f, 0.737605f, 0.778459f, 0.816255f, 0.850847f, 0.882095f, 0.909867f, 0.934067f, 0.954598f, 0.971381f, 0.984349f, 0.993451f, 0.998653f, 0.999933f, 0.997286f, 0.990707f, 0.980238f, 0.96592f, 0.947809f, 0.925976f, 0.900507f, 0.871502f, 0.839074f, 0.80335f, 0.764462f, 0.722569f, 0.677839f, 0.630448f, 0.580581f, 0.528435f, 0.474212f, 0.418127f, 0.3604f, 0.301253f, 0.240922f, 0.179646f, 0.117664f, 0.055221f, -0.0074392f, -0.0700704f, -0.132427f, -0.194264f, -0.255338f, -0.315406f, -0.374234f, -0.431593f, -0.487256f, -0.541007f, -0.592632f, -0.641931f, -0.68871f, -0.732783f, -0.773968f, -0.812113f, -0.847069f, -0.878698f, -0.906876f, -0.931494f, -0.952453f, -0.969673f, -0.983085f, -0.992622f, -0.998259f, -0.999976f, -0.997767f, -0.991639f, -0.981617f, -0.96774f, -0.950063f, -0.928655f, -0.90359f, -0.874972f, -0.842918f, -0.807555f, -0.76902f, -0.727466f, -0.683054f, -0.63596f, -0.586368f, -0.534469f, -0.480467f, -0.424578f, -0.367023f, -0.308026f, -0.24782f, -0.186641f, -0.124728f, -0.0623246f, 0.000324134f, 0.0629714f, 0.125371f, 0.187277f, 0.248448f, 0.308643f, 0.367626f, 0.425166f, 0.481037f, 0.535019f, 0.586892f, 0.636459f, 0.683527f, 0.72791f, 0.769435f, 0.807938f, 0.843268f, 0.875288f, 0.903871f, 0.928892f, 0.950263f, 0.967902f, 0.98174f, 0.991722f, 0.99781f, 0.99998f, 0.998224f, 0.992548f, 0.982965f, 0.969515f, 0.952258f, 0.931262f, 0.906609f, 0.878396f, 0.846733f, 0.811745f, 0.773569f, 0.732351f, 0.68825f, 0.641446f, 0.592123f, 0.540476f, 0.486706f, 0.431024f, 0.37365f, 0.314808f, 0.254728f, 0.193644f, 0.131801f, 0.0694409f, 0.00680827f, -0.055851f, -0.118291f, -0.180267f, -0.241535f, -0.301856f, -0.360987f, -0.418699f, -0.474767f, -0.52897f, -0.581095f, -0.630939f, -0.678305f, -0.723008f, -0.764872f, -0.803724f, -0.839416f, -0.871811f, -0.900782f, -0.926215f, -0.948012f, -0.966086f, -0.980366f, -0.990797f, -0.997329f, -0.999936f, -0.998617f, -0.993376f, -0.984234f, -0.971227f, -0.954406f, -0.933837f, -0.909601f, -0.881789f, -0.850504f, -0.815879f, -0.77805f, -0.737166f, -0.693388f, -0.646887f, -0.597845f, -0.546454f, -0.492918f, -0.437438f, -0.38024f, -0.32155f, -0.261597f, -0.200618f, -0.13885f, -0.0765372f, -0.0139231f, 0.0487464f, 0.111224f, 0.173264f, 0.234623f, 0.29506f, 0.354338f, 0.412225f, 0.468494f, 0.522923f, 0.575299f, 0.625411f, 0.673062f, 0.71807f, 0.760257f, 0.799459f, 0.835522f, 0.868303f, 0.897675f, 0.923522f, 0.945739f, 0.96423f, 0.978935f, 0.989796f, 0.996769f, 0.999829f, 0.998963f, 0.994174f, 0.985481f, 0.972917f, 0.956517f, 0.936362f, 0.91253f, 0.885115f, 0.854224f, 0.819978f, 0.782513f, 0.741974f, 0.698521f, 0.652315f, 0.603547f, 0.552409f, 0.499102f, 0.443835f, 0.386825f, 0.328296f, 0.268477f, 0.207603f, 0.145912f, 0.0836471f, 0.0210544f, -0.0416205f, -0.104132f, -0.166234f, -0.227684f, -0.28824f, -0.347665f, -0.405723f, -0.462183f, -0.516827f, -0.569442f, -0.619821f, -0.667765f, -0.713087f, -0.755609f, -0.795165f, -0.831596f, -0.86475f, -0.894508f, -0.920753f, -0.943382f, -0.962306f, -0.977452f, -0.988759f, -0.996184f, -0.999697f, -0.999268f, -0.994915f, -0.986655f, -0.97452f, -0.958559f, -0.938833f, -0.91542f, -0.888413f, -0.857916f, -0.824041f, -0.786926f, -0.746721f, -0.703584f, -0.657684f, -0.609202f, -0.558327f, -0.505259f, -0.450206f, -0.393382f, -0.33501f, -0.275323f, -0.214555f, -0.152945f, -0.0907345f, -0.0281673f, 0.0345108f, 0.097054f, 0.159216f, 0.220751f, 0.281419f, 0.34098f, 0.399203f, 0.455858f, 0.510722f, 0.563582f, 0.614229f, 0.662464f, 0.708087f, 0.750929f, 0.790822f, 0.827609f, 0.861146f, 0.891301f, 0.917957f, 0.941008f, 0.960364f, 0.975936f, 0.987672f, 0.99553f, 0.999478f, 0.999502f, 0.995602f, 0.987792f, 0.976102f, 0.96058f, 0.941276f, 0.91827f, 0.891658f, 0.861545f, 0.828048f, 0.7913f, 0.751445f, 0.708638f, 0.663049f, 0.614851f, 0.564233f, 0.511399f, 0.456558f, 0.399923f, 0.341719f, 0.282172f, 0.221517f, 0.159992f, 0.0978368f, 0.0352965f, -0.0273816f, -0.0899517f, -0.152168f, -0.213787f, -0.274567f, -0.334268f, -0.392658f, -0.449506f, -0.504582f, -0.557676f, -0.608579f, -0.657092f, -0.703025f, -0.746196f, -0.786438f, -0.823592f, -0.857512f, -0.888055f, -0.915106f, -0.938564f, -0.958335f, -0.974343f, -0.986525f, -0.994833f, -0.999234f, -0.999712f, -0.996256f, -0.988879f, -0.977619f, -0.96252f, -0.943642f, -0.921058f, -0.894857f, -0.865141f, -0.832028f, -0.795644f, -0.756126f, -0.713639f, -0.66835f, -0.620437f, -0.570088f, -0.517499f, -0.462878f, -0.406439f, -0.348403f, -0.288994f, -0.22845f, -0.167009f, -0.104914f, -0.0424058f, 0.0202685f, 0.0828635f, 0.145134f, 0.206835f, 0.267721f, 0.327554f, 0.386101f, 0.443131f, 0.49842f, 0.551753f, 0.602919f, 0.651718f, 0.697958f, 0.741451f, 0.782026f, 0.819531f, 0.853817f, 0.88475f, 0.912208f, 0.936085f, 0.956286f, 0.972731f, 0.985352f, 0.994092f, 0.998929f, 0.999843f, 0.996832f, 0.989906f, 0.979092f, 0.964434f, 0.945989f, 0.923827f, 0.898023f, 0.868694f, 0.835953f, 0.79993f, 0.760766f, 0.718615f, 0.673641f, 0.626021f, 0.575943f, 0.523594f, 0.469189f, 0.412942f, 0.355074f, 0.295811f, 0.235387f, 0.174038f, 0.112005f, 0.0495315f, -0.0131371f, -0.0757537f, -0.138072f, -0.199848f, -0.260839f, -0.320805f, -0.379512f, -0.436729f, -0.492232f, -0.545798f, -0.597216f, -0.646288f, -0.692822f, -0.736635f, -0.777555f, -0.815422f, -0.850088f, -0.881415f, -0.909278f, -0.933559f, -0.954173f, -0.971041f, -0.984095f, -0.993284f, -0.998573f, -0.999941f, -0.997382f, -0.990907f, -0.980524f, -0.966291f, -0.948263f, -0.926512f, -0.901122f, -0.872194f, -0.83984f, -0.804188f, -0.765378f, -0.723553f, -0.678884f, -0.631549f, -0.581735f, -0.529636f, -0.475458f, -0.419412f, -0.361719f, -0.302605f, -0.242299f, -0.181041f, -0.119072f, -0.0566359f, 0.00602221f, 0.0686566f, 0.131022f, 0.192873f, 0.253967f, 0.314063f, 0.372922f, 0.430316f, 0.486019f, 0.539814f, 0.591489f, 0.640841f, 0.687678f, 0.731814f, 0.773075f, 0.81129f, 0.846318f, 0.878022f, 0.906278f, 0.930976f, 0.952017f, 0.96932f, 0.982817f, 0.992454f, 0.998181f, 0.999985f, 0.997863f, 0.991823f, 0.981888f, 0.968097f, 0.950504f, 0.929179f, 0.904204f, 0.87567f, 0.843692f, 0.808401f, 0.769936f, 0.728448f, 0.684099f, 0.637063f, 0.587526f, 0.53568f, 0.481728f, 0.425878f, 0.368358f, 0.309391f, 0.249209f, 0.188049f, 0.12615f, 0.0637557f, 0.0011102f, -0.0615403f, -0.123948f, -0.185869f, -0.247059f, -0.307278f, -0.366291f, -0.423865f, -0.479776f, -0.533802f, -0.585734f, -0.635356f, -0.682482f, -0.726927f, -0.768518f, -0.80709f, -0.842494f, -0.874589f, -0.90325f, -0.928364f, -0.949821f, -0.967545f, -0.981468f, -0.991538f, -0.997714f, -0.999971f, -0.998302f, -0.992713f, -0.983225f, -0.969869f, -0.952695f, -0.931781f, -0.907208f, -0.879072f, -0.847485f, -0.812569f, -0.774462f, -0.733314f, -0.689282f, -0.642536f, -0.593267f, -0.541668f, -0.487943f, -0.432301f, -0.374962f, -0.31615f, -0.256096f, -0.195036f, -0.133206f, -0.0708547f, -0.00822526f, 0.0544361f, 0.116884f, 0.178872f, 0.240159f, 0.300503f, 0.359667f, 0.417415f, 0.473521f, 0.527768f, 0.579942f, 0.629838f, 0.677261f, 0.722024f, 0.763953f, 0.802882f, 0.83865f, 0.87112f, 0.900168f, 0.925681f, 0.947559f, 0.965716f, 0.980081f, 0.990597f, 0.997223f, 0.999928f, 0.998696f, 0.993542f, 0.984487f, 0.971566f, 0.95483f, 0.934344f, 0.910189f, 0.88246f, 0.851263f, 0.816711f, 0.778952f, 0.738136f, 0.69442f, 0.647978f, 0.598991f, 0.547652f, 0.494161f, 0.43873f, 0.381569f, 0.322909f, 0.262982f, 0.202023f, 0.14027f, 0.077967f, 0.0153572f, -0.0473134f, -0.109799f, -0.171852f, -0.233229f, -0.29369f, -0.352997f, -0.410918f, -0.467225f, -0.521697f, -0.574121f, -0.624291f, -0.672005f, -0.717074f, -0.759327f, -0.798598f, -0.834732f, -0.867589f, -0.897038f, -0.922965f, -0.945268f, -0.963856f, -0.978647f, -0.989594f, -0.996655f, -0.999802f, -0.999024f, -0.994322f, -0.985715f, -0.973238f, -0.956938f, -0.936865f, -0.913113f, -0.885776f, -0.854961f, -0.820788f, -0.783392f, -0.74292f, -0.69953f, -0.653392f, -0.60468f, -0.553592f, -0.500331f, -0.445105f, -0.388131f, -0.329633f, -0.26984f, -0.208988f, -0.147314f, -0.0850596f, -0.0224712f, 0.0402048f, 0.102722f, 0.164836f, 0.226303f, 0.286881f, 0.346334f, 0.404426f, 0.460929f, 0.515617f, 0.568279f, 0.618709f, 0.666709f, 0.712091f, 0.754677f, 0.7943f, 0.830803f, 0.864044f, 0.893878f, 0.920202f, 0.942913f, 0.96192f, 0.97715f, 0.988543f, 0.996054f, 0.999653f, 0.999328f, 0.995064f, 0.986891f, 0.974842f, 0.958966f, 0.939324f, 0.915993f, 0.889065f, 0.858645f, 0.824854f, 0.787814f, 0.747677f, 0.704604f, 0.658764f, 0.610337f, 0.559514f, 0.506494f, 0.451484f, 0.3947f, 0.336363f, 0.276703f, 0.215957f, 0.154363f, 0.0921627f, 0.029601f, -0.0330771f, -0.0956258f, -0.157799f, -0.219354f, -0.280043f, -0.339633f, -0.397888f, -0.45458f, -0.509488f, -0.562394f, -0.613092f, -0.661384f, -0.707078f, -0.749985f, -0.789946f, -0.826805f, -0.860416f, -0.890648f, -0.917384f, -0.940516f, -0.959956f, -0.975626f, -0.987453f, -0.995398f, -0.999434f, -0.999546f, -0.995732f, -0.988009f, -0.976405f, -0.960967f, -0.941755f, -0.918837f, -0.892304f, -0.862267f, -0.828844f, -0.792166f, -0.752378f, -0.709635f, -0.664105f, -0.615967f, -0.565406f, -0.512619f, -0.457819f, -0.401222f, -0.34305f, -0.283531f, -0.222898f, -0.161389f, -0.0992463f, -0.0367129f, 0.0259653f, 0.0885407f, 0.150768f, 0.212403f, 0.273203f, 0.332931f, 0.391352f, 0.448236f, 0.503361f, 0.556502f, 0.607457f, 0.656025f, 0.702016f, 0.745251f, 0.78556f, 0.822783f, 0.856776f, 0.887405f, 0.91454f, 0.938078f, 0.957932f, 0.974024f, 0.986292f, 0.994686f, 0.999174f, 0.999738f, 0.996378f, 0.989098f, 0.977924f, 0.962911f, 0.944116f, 0.921614f, 0.895493f, 0.865855f, 0.832817f, 0.796508f, 0.757069f, 0.714647f, 0.669419f, 0.621562f, 0.571265f, 0.518725f, 0.464147f, 0.407747f, 0.349745f, 0.290368f, 0.229847f, 0.168424f, 0.10634f, 0.0438389f, -0.0188344f, -0.0814337f, -0.143714f, -0.20543f, -0.26634f, -0.326201f, -0.384779f, -0.441846f, -0.497177f, -0.550555f, -0.601772f, -0.650626f, -0.696925f, -0.740488f, -0.781137f, -0.818712f, -0.853072f, -0.884081f, -0.911619f, -0.935577f, -0.955861f, -0.972391f, -0.985103f, -0.993943f, -0.998867f, -0.999869f, -0.996945f, -0.990106f, -0.979378f, -0.964805f, -0.946442f, -0.924363f, -0.898654f, -0.869401f, -0.836734f, -0.800782f, -0.761686f, -0.719599f, -0.674685f, -0.627123f, -0.577096f, -0.524804f, -0.470443f, -0.414234f, -0.356399f, -0.297164f, -0.236763f, -0.175432f, -0.113412f, -0.0509464f, 0.0117203f, 0.0743411f, 0.136669f, 0.19846f, 0.259471f, 0.319462f, 0.3782f, 0.435452f, 0.490994f, 0.544609f, 0.596083f, 0.64521f, 0.691802f, 0.735677f, 0.776663f, 0.814599f, 0.849337f, 0.880739f, 0.908683f, 0.933057f, 0.953754f, 0.970705f, 0.983844f, 0.99312f, 0.998495f, 0.99995f, 0.997479f, 0.99109f, 0.98081f, 0.966664f, 0.94872f, 0.927051f, 0.901742f, 0.872892f, 0.840614f, 0.805035f, 0.766294f, 0.724544f, 0.67994f, 0.632663f, 0.582902f, 0.530853f, 0.476719f, 0.420713f, 0.363054f, 0.303969f, 0.24369f, 0.182452f, 0.120496f, 0.058068f, -0.00458788f, -0.0672255f, -0.129599f, -0.191464f, -0.252577f, -0.3127f, -0.371593f, -0.429023f, -0.484767f, -0.538607f, -0.590332f, -0.639738f, -0.686633f, -0.730831f, -0.77216f, -0.810457f, -0.845558f, -0.877338f, -0.905673f, -0.930451f, -0.951576f, -0.968963f, -0.982546f, -0.99227f, -0.998098f, -0.999994f, -0.997959f, -0.992005f, -0.982156f, -0.96845f, -0.950941f, -0.929698f, -0.904803f, -0.876356f, -0.844458f, -0.809239f, -0.770842f, -0.729419f, -0.685131f, -0.638153f, -0.588669f, -0.536873f, -0.482968f, -0.427163f, -0.369677f, -0.310739f, -0.250582f, -0.18944f, -0.127556f, -0.0651695f, -0.00252718f, 0.0601256f, 0.122543f, 0.184477f, 0.245686f, 0.30593f, 0.364972f, 0.422581f, 0.47853f, 0.532601f, 0.58458f, 0.634265f, 0.68145f, 0.725956f, 0.767612f, 0.806253f, 0.841728f, 0.873898f, 0.902636f, 0.927829f, 0.94938f, 0.967192f, 0.981201f, 0.991356f, 0.997618f, 0.999963f, 0.998381f, 0.992879f, 0.983479f, 0.970216f, 0.953136f, 0.932304f, 0.907812f, 0.879755f, 0.848244f, 0.813401f, 0.775365f, 0.734283f, 0.690318f, 0.643639f, 0.594424f, 0.542875f, 0.489195f, 0.433594f, 0.376291f, 0.31751f, 0.257481f, 0.196441f, 0.134629f, 0.0722858f, 0.00965959f, -0.053004f, -0.115459f, -0.177461f, -0.238765f, -0.299133f, -0.358326f, -0.416113f, -0.472261f, -0.526551f, -0.578774f, -0.628724f, -0.676204f, -0.721029f, -0.763022f, -0.80202f, -0.837869f, -0.87042f, -0.899547f, -0.92514f, -0.947101f, -0.965342f, -0.979793f, -0.990395f, -0.997109f, -0.999907f, -0.998774f, -0.993707f, -0.984739f, -0.971903f, -0.955251f, -0.934847f, -0.910772f, -0.883121f, -0.852001f, -0.817535f, -0.779846f, -0.739094f, -0.695441f, -0.649057f, -0.600124f, -0.548835f, -0.49539f, -0.439999f, -0.38288f, -0.324252f, -0.26435f, -0.203411f, -0.141673f, -0.0793795f, -0.016774f, 0.0458977f, 0.10839f, 0.170457f, 0.231853f, 0.292337f, 0.351672f, 0.409626f, 0.465971f, 0.520486f, 0.572957f, 0.623179f, 0.670954f, 0.716091f, 0.758408f, 0.797747f, 0.833952f, 0.866883f, 0.896409f, 0.922415f, 0.944799f, 0.963473f, 0.978362f, 0.989395f, 0.996542f, 0.999776f, 0.999085f, 0.994471f, 0.985951f, 0.97356f, 0.957345f, 0.937371f, 0.913702f, 0.886444f, 0.855705f, 0.821606f, 0.784281f, 0.743876f, 0.70055f, 0.654472f, 0.605824f, 0.55479f, 0.501574f, 0.44639f, 0.389453f, 0.330987f, 0.271221f, 0.210389f, 0.148731f, 0.0864887f, 0.0239053f, -0.0387717f, -0.101296f, -0.163422f, -0.224906f, -0.285506f, -0.344986f, -0.403111f, -0.459654f, -0.514391f, -0.567101f, -0.617583f, -0.66564f, -0.711083f, -0.753734f, -0.793424f, -0.829999f, -0.863315f, -0.893241f, -0.919645f, -0.942438f, -0.961529f, -0.976844f, -0.988324f, -0.995922f, -0.999609f, -0.999371f, -0.995209f, -0.987125f, -0.975162f, -0.95937f, -0.93981f, -0.91656f, -0.889711f, -0.859367f, -0.825649f, -0.788688f, -0.748622f, -0.705612f, -0.659832f, -0.61146f, -0.560688f, -0.507713f, -0.452745f, -0.395999f, -0.337697f, -0.278066f, -0.217341f, -0.155763f, -0.0935737f, -0.0310174f, 0.0316608f, 0.0942147f, 0.156399f, 0.21797f, 0.278685f, 0.338302f, 0.396589f, 0.453319f, 0.508268f, 0.561221f, 0.61197f, 0.660316f, 0.70607f, 0.749052f, 0.789081f, 0.82601f, 0.859695f, 0.890004f, 0.916817f, 0.940031f, 0.959553f, 0.975307f, 0.987231f, 0.995268f, 0.999391f, 0.99959f, 0.995864f, 0.988227f, 0.97671f, 0.961357f, 0.942229f, 0.919401f, 0.892955f, 0.862996f, 0.829647f, 0.793041f, 0.753321f, 0.710642f, 0.665173f, 0.617092f, 0.566586f, 0.513854f, 0.459097f, 0.402537f, 0.344398f, 0.284906f, 0.224295f, 0.162804f, 0.100673f, 0.0381459f, -0.0245316f, -0.0871124f, -0.14935f, -0.211001f, -0.271823f, -0.331578f, -0.39003f, -0.446951f, -0.502117f, -0.555313f, -0.60632f, -0.654944f, -0.700996f, -0.744295f, -0.78467f, -0.821965f, -0.856031f, -0.886737f, -0.91396f, -0.937587f, -0.957524f, -0.973701f, -0.986055f, -0.994536f, -0.999112f, -0.999764f, -0.996491f, -0.989304f, -0.978227f, -0.963298f, -0.944586f, -0.922165f, -0.896123f, -0.866562f, -0.833598f, -0.79736f, -0.757991f, -0.715643f, -0.670475f, -0.622674f, -0.572429f, -0.519936f, -0.465401f, -0.409039f, -0.35107f, -0.291722f, -0.231227f, -0.169822f, -0.107749f, -0.0452546f, 0.0174176f, 0.0800212f, 0.142311f, 0.204041f, 0.264972f, 0.324862f, 0.383473f, 0.440576f, 0.495948f, 0.549372f, 0.600639f, 0.649547f, 0.695905f, 0.73953f, 0.780251f, 0.817903f, 0.852336f, 0.883421f, 0.911037f, 0.935075f, 0.955441f, 0.972055f, 0.984853f, 0.993782f, 0.998807f, 0.999896f, 0.997059f, 0.990307f, 0.979666f, 0.965178f, 0.9469f, 0.924903f, 0.899274f, 0.870114f, 0.837523f, 0.801643f, 0.762615f, 0.720593f, 0.675742f, 0.628236f, 0.578264f, 0.52602f, 0.47171f, 0.415542f, 0.35774f, 0.298534f, 0.238157f, 0.176844f, 0.114837f, 0.0523785f, -0.010286f, -0.0729108f, -0.135249f, -0.197055f, -0.258086f, -0.318103f, -0.376871f, -0.434159f, -0.489742f, -0.543402f, -0.594929f, -0.644118f, -0.690769f, -0.734707f, -0.77576f, -0.813766f, -0.848577f, -0.880055f, -0.908078f, -0.932535f, -0.953329f, -0.970365f, -0.98359f, -0.992953f, -0.998416f, -0.999959f, -0.997575f, -0.991273f, -0.981079f, -0.967032f, -0.949174f, -0.927587f, -0.902357f, -0.873584f, -0.84138f, -0.805873f, -0.767201f, -0.725515f, -0.68098f, -0.633765f, -0.584056f, -0.532055f, -0.477964f, -0.421997f, -0.364373f, -0.305318f, -0.245063f, -0.183845f, -0.121904f, -0.0594829f, 0.0031709f, 0.0658118f, 0.128194f, 0.190073f, 0.251205f, 0.311351f, 0.370276f, 0.427746f, 0.48353f, 0.537415f, 0.589189f, 0.638648f, 0.6856f, 0.72986f, 0.771254f, 0.809619f, 0.844806f, 0.876663f, 0.905075f, 0.929933f, 0.951139f, 0.96861f, 0.982278f, 0.992088f, 0.998002f, 0.999998f, 0.998055f, 0.992189f, 0.982427f, 0.968806f, 0.951382f, 0.930221f, 0.905408f, 0.877038f, 0.845225f, 0.810086f, 0.771758f, 0.730401f, 0.686176f, 0.639256f, 0.589826f, 0.53808f, 0.48422f, 0.428458f, 0.371012f, 0.312104f, 0.251971f, 0.190849f, 0.128978f, 0.0666006f, 0.00396151f, -0.0586935f, -0.121119f, -0.183069f, -0.244297f, -0.304565f, -0.363637f, -0.42128f, -0.477269f, -0.531384f, -0.583413f, -0.63315f, -0.680402f, -0.724974f, -0.766695f, -0.805406f, -0.840953f, -0.873199f, -0.902015f, -0.927289f, -0.948922f, -0.966828f, -0.980929f, -0.991171f, -0.997521f, -0.999954f, -0.99846f, -0.993045f, -0.98373f, -0.970552f, -0.953563f, -0.932824f, -0.908411f, -0.880432f, -0.848996f, -0.814225f, -0.776258f, -0.735242f, -0.691338f, -0.64472f, -0.595567f, -0.544068f, -0.490432f, -0.434872f, -0.377603f, -0.318852f, -0.258849f, -0.197829f, -0.136032f, -0.0736995f, -0.0110766f, 0.0515891f, 0.114052f, 0.176066f, 0.237389f, 0.297779f, 0.357001f, 0.414821f, 0.471012f, 0.52535f, 0.577621f, 0.627623f, 0.67516f, 0.720045f, 0.762104f, 0.801169f, 0.837089f, 0.869722f, 0.898933f, 0.924606f, 0.946648f, 0.964973f, 0.979508f, 0.990196f, 0.996996f, 0.999881f, 0.99884f, 0.993874f, 0.984992f, 0.972242f, 0.955674f, 0.935354f, 0.911361f, 0.883788f, 0.852745f, 0.818354f, 0.780748f, 0.740063f, 0.696473f, 0.650148f, 0.601271f, 0.550032f, 0.496634f, 0.441284f, 0.384202f, 0.32561f, 0.265735f, 0.204816f, 0.143093f, 0.0808093f, 0.0182081f, -0.0444647f, -0.106963f, -0.169042f, -0.230458f, -0.290967f, -0.350331f, -0.408318f, -0.464702f, -0.51926f, -0.57178f, -0.622054f, -0.669886f, -0.715088f, -0.757478f, -0.796885f, -0.833163f, -0.866168f, -0.895772f, -0.921858f, -0.944324f, -0.963082f, -0.978059f, -0.989193f, -0.996428f, -0.99975f, -0.999146f, -0.994619f, -0.986185f, -0.973879f, -0.957749f, -0.937858f, -0.914283f, -0.887105f, -0.856442f, -0.822416f, -0.78516f, -0.744822f, -0.701558f, -0.65554f, -0.606947f, -0.555969f, -0.502803f, -0.447659f, -0.390759f, -0.332324f, -0.272584f, -0.211774f, -0.150132f, -0.0878997f, -0.0253219f, 0.037356f, 0.0998866f, 0.162024f, 0.223525f, 0.284148f, 0.343655f, 0.401812f, 0.458392f, 0.513173f, 0.565937f, 0.616472f, 0.664585f, 0.710087f, 0.752801f, 0.792559f, 0.829205f, 0.862594f, 0.892597f, 0.919094f, 0.941969f, 0.961143f, 0.976542f, 0.988107f, 0.995792f, 0.999566f, 0.999415f, 0.99534f, 0.987357f, 0.975484f, 0.959777f, 0.940301f, 0.917132f, 0.890362f, 0.860096f, 0.826452f, 0.789563f, 0.749572f, 0.706632f, 0.660911f, 0.612596f, 0.561875f, 0.508948f, 0.454023f, 0.397314f, 0.339044f, 0.279443f, 0.218742f, 0.15718f, 0.095002f, 0.032451f, -0.0302271f, -0.0927865f, -0.154982f, -0.216568f, -0.277306f, -0.336954f, -0.395274f, -0.452041f, -0.507033f, -0.560033f, -0.610834f, -0.659236f, -0.70505f, -0.748095f, -0.788203f, -0.825206f, -0.858965f, -0.889351f, -0.916244f, -0.939539f, -0.959145f, -0.974984f, -0.986995f, -0.99513f, -0.999347f, -0.999633f, -0.995994f, -0.988444f, -0.977013f, -0.961744f, -0.942699f, -0.919952f, -0.893592f, -0.863718f, -0.830442f, -0.793907f, -0.754254f, -0.711639f, -0.666229f, -0.618204f, -0.56775f, -0.515066f, -0.460358f, -0.403836f, -0.345729f, -0.286264f, -0.225676f, -0.164202f, -0.102082f, -0.0395616f, 0.0231148f, 0.0857013f, 0.14795f, 0.209617f, 0.27046f, 0.33024f, 0.388724f, 0.445681f, 0.500889f, 0.55413f, 0.605195f, 0.653877f, 0.699988f, 0.743349f, 0.783792f, 0.821156f, 0.855295f, 0.886076f, 0.913378f, 0.937093f, 0.957121f, 0.973383f, 0.985821f, 0.994389f, 0.999051f, 0.999791f, 0.996605f, 0.989505f, 0.97852f, 0.963688f, 0.94506f, 0.922721f, 0.896759f, 0.867275f, 0.834386f, 0.798221f, 0.75892f, 0.716639f, 0.671543f, 0.623799f, 0.573606f, 0.521162f, 0.46667f, 0.410347f, 0.352411f, 0.293092f, 0.232621f, 0.171236f, 0.109176f, 0.0466876f, -0.0159835f, -0.0785914f, -0.140891f, -0.202636f, -0.263587f, -0.323503f, -0.382149f, -0.439291f, -0.494705f, -0.548175f, -0.599492f, -0.648455f, -0.694872f, -0.73856f, -0.779348f, -0.817076f, -0.851591f, -0.882753f, -0.910448f, -0.934567f, -0.955016f, -0.971715f, -0.984599f, -0.993616f, -0.998731f, -0.999922f, -0.997172f, -0.990507f, -0.979952f, -0.965548f, -0.947353f, -0.925438f, -0.899889f, -0.870806f, -0.838302f, -0.802495f, -0.763535f, -0.721577f, -0.676786f, -0.629338f, -0.579418f, -0.527222f, -0.472956f, -0.416831f, -0.359065f, -0.299888f, -0.239533f, -0.178239f, -0.116244f, -0.0537934f, 0.00886898f, 0.071497f, 0.133845f, 0.195667f, 0.256718f, 0.31676f, 0.375559f, 0.432882f, 0.488505f, 0.54221f, 0.593786f, 0.643031f, 0.689749f, 0.733749f, 0.774868f, 0.812943f, 0.847826f, 0.87938f, 0.90748f, 0.932016f, 0.952893f, 0.970029f, 0.983339f, 0.992788f, 0.998338f, 0.999968f, 0.997671f, 0.991457f, 0.981349f, 0.967388f, 0.949628f, 0.928126f, 0.902977f, 0.874282f, 0.842154f, 0.806719f, 0.768117f, 0.726497f, 0.682025f, 0.634874f, 0.585224f, 0.533271f, 0.479225f, 0.423298f, 0.365708f, 0.306682f, 0.246452f, 0.185254f, 0.123327f, 0.0609151f, -0.00173657f, -0.0643807f, -0.126771f, -0.188664f, -0.249816f, -0.309987f, -0.368941f, -0.426446f, -0.482277f, -0.536207f, -0.588031f, -0.637545f, -0.684556f, -0.728877f, -0.770337f, -0.808772f, -0.844031f, -0.875977f, -0.90447f, -0.929409f, -0.950698f, -0.968253f, -0.982007f, -0.991904f, -0.997906f, -0.999989f, -0.998145f, -0.992372f, -0.982695f, -0.96916f, -0.951819f, -0.93074f, -0.906007f, -0.877715f, -0.845977f, -0.810916f, -0.772665f, -0.731372f, -0.687208f, -0.640346f, -0.59097f, -0.539272f, -0.485457f, -0.429735f, -0.372326f, -0.313452f, -0.253343f, -0.19224f, -0.130383f, -0.0680144f, -0.0053785f, 0.0572786f, 0.119711f, 0.181674f, 0.242924f, 0.303217f, 0.362318f, 0.419996f, 0.476024f, 0.530182f, 0.582259f, 0.632049f, 0.679358f, 0.724f, 0.76579f, 0.804569f, 0.840188f, 0.872508f, 0.901401f, 0.926754f, 0.948469f, 0.966459f, 0.980653f, 0.990989f, 0.997426f, 0.999945f, 0.998539f, 0.993211f, 0.983983f, 0.970891f, 0.953987f, 0.933336f, 0.909016f, 0.881115f, 0.849755f, 0.815058f, 0.77716f, 0.736211f, 0.69237f, 0.645811f, 0.596715f, 0.545275f, 0.491685f, 0.436164f, 0.378932f, 0.320211f, 0.260234f, 0.199234f, 0.137452f, 0.0751293f, 0.0125109f, -0.050157f, -0.112627f, -0.174654f, -0.235995f, -0.296409f, -0.355659f, -0.413513f, -0.469743f, -0.52413f, -0.576453f, -0.626508f, -0.674103f, -0.71905f, -0.761173f, -0.800308f, -0.836299f, -0.869007f, -0.898303f, -0.924065f, -0.94619f, -0.964599f, -0.979219f, -0.989994f, -0.996882f, -0.999855f, -0.998901f, -0.994025f, -0.985243f, -0.972579f, -0.956095f, -0.935857f, -0.911944f, -0.88445f, -0.853482f, -0.819163f, -0.781627f, -0.741021f, -0.697494f, -0.651228f, -0.602404f, -0.551215f, -0.497862f, -0.442554f, -0.385508f, -0.326947f, -0.267101f, -0.206204f, -0.144496f, -0.0822218f, -0.0196249f, 0.043049f, 0.105554f, 0.167644f, 0.229077f, 0.289611f, 0.349005f, 0.407026f, 0.463448f, 0.518049f, 0.570616f, 0.620942f, 0.66883f, 0.714092f, 0.75655f, 0.796034f, 0.832383f, 0.865462f, 0.895143f, 0.921308f, 0.943855f, 0.962696f, 0.977757f, 0.988978f, 0.996315f, 0.999724f, 0.999207f, 0.994767f, 0.986421f, 0.974201f, 0.958156f, 0.938348f, 0.914855f, 0.887769f, 0.857186f, 0.823233f, 0.786049f, 0.745778f, 0.702578f, 0.65662f, 0.608082f, 0.557157f, 0.504043f, 0.448945f, 0.39208f, 0.333677f, 0.273964f, 0.213175f, 0.151549f, 0.089328f, 0.0267555f, -0.0359226f, -0.09846f, -0.160609f, -0.222127f, -0.282773f, -0.342307f, -0.400498f, -0.457115f, -0.511938f, -0.564751f, -0.615346f, -0.663516f, -0.709079f, -0.751858f, -0.791684f, -0.828401f, -0.861865f, -0.891944f, -0.918521f, -0.941492f, -0.960752f, -0.976237f, -0.987888f, -0.99566f, -0.999522f, -0.999459f, -0.995471f, -0.987574f, -0.975798f, -0.960181f, -0.940787f, -0.917699f, -0.891008f, -0.860818f, -0.827248f, -0.790429f, -0.750505f, -0.707634f, -0.661979f, -0.613719f, -0.563049f, -0.510168f, -0.455284f, -0.398613f, -0.340376f, -0.280801f, -0.220124f, -0.158581f, -0.0964131f, -0.0338674f, 0.0288108f, 0.0913754f, 0.153581f, 0.215184f, 0.275942f, 0.335617f, 0.393975f, 0.45078f, 0.505813f, 0.55886f, 0.609712f, 0.658169f, 0.704042f, 0.74715f, 0.787325f, 0.824408f, 0.858244f, 0.888706f, 0.915678f, 0.939054f, 0.958742f, 0.974665f, 0.986761f, 0.994982f, 0.999296f, 0.999677f, 0.996126f, 0.988663f, 0.977318f, 0.962135f, 0.943173f, 0.920508f, 0.894228f, 0.864437f, 0.831246f, 0.794781f, 0.755196f, 0.712646f, 0.667298f, 0.619329f, 0.568928f, 0.516292f, 0.461629f, 0.405151f, 0.347076f, 0.287639f, 0.227074f, 0.165616f, 0.103509f, 0.0409947f, -0.0216807f, -0.0842715f, -0.146532f, -0.208215f, -0.26908f, -0.328887f, -0.387402f, -0.444396f, -0.499645f, -0.552932f, -0.604048f, -0.652793f, -0.698967f, -0.742393f, -0.782902f, -0.820337f, -0.85455f, -0.885408f, -0.912789f, -0.936585f, -0.956704f, -0.97306f, -0.985585f, -0.994239f, -0.99899f, -0.999817f, -0.996718f, -0.989705f, -0.978806f, -0.964062f, -0.94553f, -0.923272f, -0.897389f, -0.867983f, -0.835167f, -0.799072f, -0.75984f, -0.717623f, -0.672588f, -0.624911f, -0.57477f, -0.522373f, -0.467924f, -0.411638f, -0.353736f, -0.294445f, -0.233998f, -0.17263f, -0.110585f, -0.0481033f, 0.0145667f, 0.0771789f, 0.139488f, 0.201248f, 0.262219f, 0.32216f, 0.380836f, 0.438018f, 0.493476f, 0.546992f, 0.598359f, 0.647377f, 0.693852f, 0.737602f, 0.778456f, 0.816253f, 0.850845f, 0.882093f, 0.909865f, 0.934065f, 0.954597f, 0.97138f, 0.984348f, 0.993451f, 0.998652f, 0.999933f, 0.997286f, 0.990708f, 0.980239f, 0.965921f, 0.947811f, 0.925978f, 0.900509f, 0.871504f, 0.839076f, 0.803353f, 0.764465f, 0.722572f, 0.677843f, 0.630452f, 0.580585f, 0.528438f, 0.474216f, 0.418132f, 0.360404f, 0.301258f, 0.240927f, 0.17965f, 0.117669f, 0.0552256f, -0.00743465f, -0.0700659f, -0.132422f, -0.19426f, -0.255333f, -0.315401f, -0.37423f, -0.431589f, -0.487253f, -0.541003f, -0.592629f, -0.641928f, -0.688706f, -0.73278f, -0.773965f, -0.81211f, -0.847066f, -0.878696f, -0.906874f, -0.931492f, -0.952452f, -0.969672f, -0.983084f, -0.992621f, -0.998259f, -0.999976f, -0.997767f, -0.991639f, -0.981618f, -0.967741f, -0.950065f, -0.928657f, -0.903592f, -0.874974f, -0.842921f, -0.807557f, -0.769023f, -0.727469f, -0.683057f, -0.635964f, -0.586372f, -0.534473f, -0.480471f, -0.424582f, -0.367027f, -0.30803f, -0.247824f, -0.186645f, -0.124732f, -0.0623292f, 0.000319581f, 0.0629669f, 0.125366f, 0.187273f, 0.248443f, 0.308639f, 0.367622f, 0.425162f, 0.481033f, 0.535015f, 0.586888f, 0.636455f, 0.683523f, 0.727907f, 0.769432f, 0.807935f, 0.843266f, 0.875286f, 0.903869f, 0.928891f, 0.950262f, 0.967901f, 0.981739f, 0.991722f, 0.99781f, 0.99998f, 0.998224f, 0.992548f, 0.982966f, 0.969516f, 0.95226f, 0.931264f, 0.906611f, 0.878398f, 0.846736f, 0.811748f, 0.773572f, 0.732354f, 0.688253f, 0.641449f, 0.592127f, 0.540479f, 0.48671f, 0.431028f, 0.373654f, 0.314812f, 0.254732f, 0.193649f, 0.131806f, 0.0694455f, 0.00681283f, -0.0558465f, -0.118287f, -0.180262f, -0.241531f, -0.301852f, -0.360983f, -0.418695f, -0.474763f, -0.528966f, -0.581091f, -0.630935f, -0.678301f, -0.723004f, -0.764869f, -0.803721f, -0.839413f, -0.871808f, -0.90078f, -0.926214f, -0.948011f, -0.966085f, -0.980365f, -0.990796f, -0.997329f, -0.999936f, -0.998617f, -0.993376f, -0.984235f, -0.971228f, -0.954407f, -0.933839f, -0.909603f, -0.881792f, -0.850506f, -0.815881f, -0.778053f, -0.73717f, -0.693391f, -0.64689f, -0.597848f, -0.546458f, -0.492922f, -0.437442f, -0.380244f, -0.321554f, -0.261602f, -0.200622f, -0.138855f, -0.0765418f, -0.0139276f, 0.0487419f, 0.11122f, 0.17326f, 0.234619f, 0.295056f, 0.354334f, 0.412221f, 0.46849f, 0.522919f, 0.575295f, 0.625407f, 0.673059f, 0.718067f, 0.760254f, 0.799457f, 0.835519f, 0.868301f, 0.897673f, 0.923521f, 0.945737f, 0.964229f, 0.978934f, 0.989795f, 0.996769f, 0.999829f, 0.998963f, 0.994174f, 0.985482f, 0.972918f, 0.956519f, 0.936364f, 0.912532f, 0.885117f, 0.854226f, 0.819981f, 0.782516f, 0.741977f, 0.698524f, 0.652319f, 0.603551f, 0.552413f, 0.499106f, 0.443839f, 0.386829f, 0.3283f, 0.268482f, 0.207608f, 0.145916f, 0.0836516f, 0.021059f, -0.0416159f, -0.104127f, -0.16623f, -0.227679f, -0.288236f, -0.34766f, -0.405718f, -0.462179f, -0.516824f, -0.569438f, -0.619817f, -0.667761f, -0.713084f, -0.755606f, -0.795162f, -0.831593f, -0.864747f, -0.894506f, -0.920751f, -0.94338f, -0.962305f, -0.977451f, -0.988759f, -0.996183f, -0.999696f, -0.999269f, -0.994915f, -0.986656f, -0.974521f, -0.95856f, -0.938835f, -0.915422f, -0.888415f, -0.857919f, -0.824043f, -0.786928f, -0.746724f, -0.703587f, -0.657687f, -0.609205f, -0.55833f, -0.505263f, -0.45021f, -0.393386f, -0.335014f, -0.275327f, -0.21456f, -0.15295f, -0.090739f, -0.0281719f, 0.0345063f, 0.0970495f, 0.159212f, 0.220747f, 0.281414f, 0.340976f, 0.399199f, 0.455853f, 0.510718f, 0.563578f, 0.614225f, 0.66246f, 0.708084f, 0.750926f, 0.790819f, 0.827606f, 0.861143f, 0.891299f, 0.917955f, 0.941006f, 0.960362f, 0.975935f, 0.987671f, 0.99553f, 0.999478f, 0.999503f, 0.995602f, 0.987792f, 0.976103f, 0.960581f, 0.941278f, 0.918272f, 0.89166f, 0.861547f, 0.828051f, 0.791303f, 0.751448f, 0.708642f, 0.663052f, 0.614855f, 0.564236f, 0.511403f, 0.456562f, 0.399928f, 0.341723f, 0.282177f, 0.221522f, 0.159996f, 0.0978413f, 0.0353011f, -0.0273771f, -0.0899472f, -0.152164f, -0.213783f, -0.274562f, -0.334264f, -0.392653f, -0.449502f, -0.504578f, -0.557672f, -0.608575f, -0.657089f, -0.703021f, -0.746193f, -0.786435f, -0.823589f, -0.85751f, -0.888053f, -0.915105f, -0.938562f, -0.958334f, -0.974342f, -0.986524f, -0.994833f, -0.999234f, -0.999712f, -0.996257f, -0.98888f, -0.97762f, -0.962522f, -0.943643f, -0.92106f, -0.894859f, -0.865143f, -0.832031f, -0.795647f, -0.756129f, -0.713642f, -0.668354f, -0.620441f, -0.570091f, -0.517503f, -0.462882f, -0.406443f, -0.348408f, -0.288998f, -0.228454f, -0.167014f, -0.104918f, -0.0424104f, 0.0202639f, 0.082859f, 0.145129f, 0.20683f, 0.267716f, 0.32755f, 0.386097f, 0.443127f, 0.498417f, 0.551749f, 0.602915f, 0.651714f, 0.697954f, 0.741448f, 0.782024f, 0.819528f, 0.853814f, 0.884748f, 0.912206f, 0.936083f, 0.956284f, 0.97273f, 0.985351f, 0.994092f, 0.998929f, 0.999843f, 0.996832f, 0.989906f, 0.979093f, 0.964435f, 0.94599f, 0.923828f, 0.898025f, 0.868696f, 0.835956f, 0.799933f, 0.760769f, 0.718618f, 0.673644f, 0.626025f, 0.575947f, 0.523598f, 0.469193f, 0.412946f, 0.355078f, 0.295815f, 0.235391f, 0.174042f, 0.112009f, 0.0495361f, -0.0131326f, -0.0757491f, -0.138068f, -0.199843f, -0.260834f, -0.320801f, -0.379508f, -0.436725f, -0.492228f, -0.545794f, -0.597212f, -0.646285f, -0.692819f, -0.736632f, -0.777553f, -0.81542f, -0.850085f, -0.881413f, -0.909276f, -0.933557f, -0.954172f, -0.97104f, -0.984094f, -0.993284f, -0.998573f, -0.999941f, -0.997383f, -0.990907f, -0.980525f, -0.966292f, -0.948264f, -0.926513f, -0.901124f, -0.872196f, -0.839843f, -0.804191f, -0.765381f, -0.723556f, -0.678887f, -0.631553f, -0.581739f, -0.52964f, -0.475462f, -0.419416f, -0.361723f, -0.302609f, -0.242304f, -0.181045f, -0.119076f, -0.0566404f, 0.00601766f, 0.0686521f, 0.131017f, 0.192868f, 0.253962f, 0.314058f, 0.372918f, 0.430312f, 0.486015f, 0.53981f, 0.591485f, 0.640838f, 0.687674f, 0.73181f, 0.773073f, 0.811287f, 0.846316f, 0.87802f, 0.906276f, 0.930974f, 0.952016f, 0.969319f, 0.982816f, 0.992454f, 0.998181f, 0.999985f, 0.997863f, 0.991823f, 0.981888f, 0.968098f, 0.950505f, 0.92918f, 0.904206f, 0.875672f, 0.843694f, 0.808404f, 0.769939f, 0.728451f, 0.684102f, 0.637067f, 0.587529f, 0.535684f, 0.481732f, 0.425883f, 0.368362f, 0.309395f, 0.249214f, 0.188054f, 0.126155f, 0.0637603f, 0.00111475f, -0.0615358f, -0.123944f, -0.185864f, -0.247054f, -0.307274f, -0.366287f, -0.423861f, -0.479772f, -0.533799f, -0.58573f, -0.635352f, -0.682478f, -0.726924f, -0.768515f, -0.807088f, -0.842491f, -0.874586f, -0.903248f, -0.928362f, -0.94982f, -0.967544f, -0.981468f, -0.991537f, -0.997713f, -0.999971f, -0.998303f, -0.992714f, -0.983226f, -0.96987f, -0.952697f, -0.931783f, -0.90721f, -0.879075f, -0.847487f, -0.812572f, -0.774465f, -0.733317f, -0.689286f, -0.642539f, -0.59327f, -0.541672f, -0.487947f, -0.432306f, -0.374967f, -0.316155f, -0.256101f, -0.19504f, -0.133211f, -0.0708593f, -0.00822981f, 0.0544316f, 0.116879f, 0.178868f, 0.240154f, 0.300498f, 0.359663f, 0.417411f, 0.473517f, 0.527764f, 0.579938f, 0.629834f, 0.677257f, 0.722021f, 0.76395f, 0.802879f, 0.838648f, 0.871117f, 0.900166f, 0.925679f, 0.947558f, 0.965715f, 0.98008f, 0.990596f, 0.997223f, 0.999928f, 0.998696f, 0.993543f, 0.984488f, 0.971567f, 0.954831f, 0.934346f, 0.910191f, 0.882462f, 0.851265f, 0.816714f, 0.778955f, 0.738139f, 0.694423f, 0.647981f, 0.598995f, 0.547656f, 0.494165f, 0.438734f, 0.381573f, 0.322913f, 0.262987f, 0.202027f, 0.140275f, 0.0779716f, 0.0153618f, -0.0473089f, -0.109794f, -0.171848f, -0.233225f, -0.293686f, -0.352993f, -0.410913f, -0.46722f, -0.521693f, -0.574117f, -0.624287f, -0.672002f, -0.717071f, -0.759324f, -0.798595f, -0.83473f, -0.867586f, -0.897036f, -0.922964f, -0.945267f, -0.963855f, -0.978646f, -0.989593f, -0.996655f, -0.999802f, -0.999024f, -0.994322f, -0.985716f, -0.973239f, -0.956939f, -0.936867f, -0.913115f, -0.885778f, -0.854963f, -0.820791f, -0.783395f, -0.742923f, -0.699533f, -0.653396f, -0.604684f, -0.553596f, -0.500335f, -0.445109f, -0.388135f, -0.329637f, -0.269845f, -0.208992f, -0.147318f, -0.0850641f, -0.0224758f, 0.0402002f, 0.102718f, 0.164832f, 0.226299f, 0.286877f, 0.346329f, 0.404422f, 0.460925f, 0.515613f, 0.568275f, 0.618705f, 0.666706f, 0.712088f, 0.754674f, 0.794297f, 0.830801f, 0.864042f, 0.893876f, 0.920201f, 0.942911f, 0.961919f, 0.977149f, 0.988542f, 0.996053f, 0.999653f, 0.999328f, 0.995064f, 0.986891f, 0.974843f, 0.958967f, 0.939325f, 0.915994f, 0.889067f, 0.858648f, 0.824856f, 0.787817f, 0.74768f, 0.704607f, 0.658767f, 0.610341f, 0.559518f, 0.506498f, 0.451488f, 0.394704f, 0.336368f, 0.276707f, 0.215961f, 0.154367f, 0.0921673f, 0.0296056f, -0.0330726f, -0.0956212f, -0.157795f, -0.219349f, -0.280039f, -0.339629f, -0.397884f, -0.454576f, -0.509484f, -0.56239f, -0.613089f, -0.66138f, -0.707075f, -0.749982f, -0.789943f, -0.826802f, -0.860414f, -0.890646f, -0.917382f, -0.940515f, -0.959955f, -0.975625f, -0.987452f, -0.995398f, -0.999434f, -0.999546f, -0.995733f, -0.988009f, -0.976406f, -0.960968f, -0.941757f, -0.918839f, -0.892306f, -0.862269f, -0.828846f, -0.792169f, -0.752381f, -0.709638f, -0.664108f, -0.61597f, -0.56541f, -0.512623f, -0.457823f, -0.401226f, -0.343054f, -0.283535f, -0.222902f, -0.161394f, -0.0992509f, -0.0367174f, 0.0259607f, 0.0885362f, 0.150763f, 0.212398f, 0.273199f, 0.332927f, 0.391348f, 0.448232f, 0.503357f, 0.556499f, 0.607453f, 0.656021f, 0.702013f, 0.745248f, 0.785557f, 0.822781f, 0.856774f, 0.887403f, 0.914538f, 0.938077f, 0.957931f, 0.974023f, 0.986291f, 0.994685f, 0.999173f, 0.999738f, 0.996378f, 0.989099f, 0.977925f, 0.962912f, 0.944117f, 0.921616f, 0.895495f, 0.865857f, 0.832819f, 0.796511f, 0.757072f, 0.71465f, 0.669422f, 0.621566f, 0.571269f, 0.518729f, 0.464151f, 0.407751f, 0.349749f, 0.290373f, 0.229852f, 0.168429f, 0.106345f, 0.0438434f, -0.0188298f, -0.0814292f, -0.143709f, -0.205425f, -0.266335f, -0.326196f, -0.384775f, -0.441842f, -0.497173f, -0.550552f, -0.601768f, -0.650622f, -0.696922f, -0.740485f, -0.781134f, -0.81871f, -0.85307f, -0.884079f, -0.911617f, -0.935575f, -0.955859f, -0.97239f, -0.985103f, -0.993942f, -0.998867f, -0.999869f, -0.996945f, -0.990106f, -0.979379f, -0.964806f, -0.946444f, -0.924365f, -0.898656f, -0.869403f, -0.836737f, -0.800785f, -0.761689f, -0.719602f, -0.674689f, -0.627126f, -0.5771f, -0.524808f, -0.470447f, -0.414238f, -0.356403f, -0.297169f, -0.236768f, -0.175437f, -0.113417f, -0.0509509f, 0.0117157f, 0.0743366f, 0.136665f, 0.198455f, 0.259466f, 0.319458f, 0.378195f, 0.435448f, 0.49099f, 0.544606f, 0.59608f, 0.645206f, 0.691799f, 0.735674f, 0.77666f, 0.814597f, 0.849334f, 0.880737f, 0.908681f, 0.933055f, 0.953752f, 0.970704f, 0.983843f, 0.993119f, 0.998495f, 0.99995f, 0.997479f, 0.991091f, 0.980811f, 0.966665f, 0.948722f, 0.927053f, 0.901744f, 0.872894f, 0.840616f, 0.805038f, 0.766297f, 0.724547f, 0.679944f, 0.632667f, 0.582906f, 0.530857f, 0.476723f, 0.420717f, 0.363058f, 0.303974f, 0.243695f, 0.182457f, 0.120501f, 0.0580726f, -0.00458333f, -0.067221f, -0.129595f, -0.19146f, -0.252573f, -0.312695f, -0.371589f, -0.429019f, -0.484763f, -0.538603f, -0.590328f, -0.639735f, -0.686629f, -0.730828f, -0.772157f, -0.810454f, -0.845556f, -0.877336f, -0.905671f, -0.93045f, -0.951574f, -0.968962f, -0.982545f, -0.992269f, -0.998098f, -0.999994f, -0.997959f, -0.992006f, -0.982157f, -0.968451f, -0.950943f, -0.929699f, -0.904805f, -0.876358f, -0.844461f, -0.809242f, -0.770845f, -0.729422f, -0.685135f, -0.638157f, -0.588673f, -0.536877f, -0.482972f, -0.427167f, -0.369681f, -0.310743f, -0.250586f, -0.189445f, -0.12756f, -0.065174f, -0.00253174f, 0.0601211f, 0.122538f, 0.184473f, 0.245682f, 0.305926f, 0.364968f, 0.422577f, 0.478526f, 0.532597f, 0.584576f, 0.634261f, 0.681446f, 0.725953f, 0.767609f, 0.806251f, 0.841726f, 0.873896f, 0.902634f, 0.927828f, 0.949378f, 0.967191f, 0.9812f, 0.991355f, 0.997618f, 0.999963f, 0.998381f, 0.99288f, 0.983479f, 0.970217f, 0.953137f, 0.932306f, 0.907814f, 0.879758f, 0.848246f, 0.813404f, 0.775368f, 0.734286f, 0.690321f, 0.643642f, 0.594427f, 0.542879f, 0.489199f, 0.433598f, 0.376295f, 0.317514f, 0.257486f, 0.196446f, 0.134633f, 0.0722903f, 0.00966414f, -0.0529994f, -0.115455f, -0.177456f, -0.238761f, -0.299128f, -0.358322f, -0.416109f, -0.472257f, -0.526548f, -0.57877f, -0.62872f, -0.676201f, -0.721026f, -0.76302f, -0.802017f, -0.837866f, -0.870418f, -0.899545f, -0.925139f, -0.947099f, -0.965341f, -0.979792f, -0.990395f, -0.997109f, -0.999907f, -0.998774f, -0.993708f, -0.984739f, -0.971904f, -0.955252f, -0.934849f, -0.910774f, -0.883123f, -0.852004f, -0.817538f, -0.779848f, -0.739097f, -0.695444f, -0.649061f, -0.600128f, -0.548839f, -0.495394f, -0.440003f, -0.382884f, -0.324256f, -0.264355f, -0.203415f, -0.141678f, -0.0793841f, -0.0167785f, 0.0458932f, 0.108385f, 0.170452f, 0.231848f, 0.292332f, 0.351668f, 0.409622f, 0.465967f, 0.520482f, 0.572954f, 0.623176f, 0.670951f, 0.716088f, 0.758405f, 0.797744f, 0.83395f, 0.86688f, 0.896407f, 0.922413f, 0.944798f, 0.963472f, 0.978361f, 0.989394f, 0.996542f, 0.999776f, 0.999085f, 0.994471f, 0.985952f, 0.973561f, 0.957346f, 0.937373f, 0.913704f, 0.886446f, 0.855707f, 0.821609f, 0.784284f, 0.743879f, 0.700553f, 0.654476f, 0.605828f, 0.554793f, 0.501578f, 0.446394f, 0.389457f, 0.330991f, 0.271225f, 0.210394f, 0.148736f, 0.0864932f, 0.0239099f, -0.0387672f, -0.101291f, -0.163417f, -0.224901f, -0.285502f, -0.344982f, -0.403107f, -0.45965f, -0.514387f, -0.567097f, -0.61758f, -0.665637f, -0.71108f, -0.753731f, -0.793421f, -0.829997f, -0.863313f, -0.893239f, -0.919644f, -0.942436f, -0.961528f, -0.976843f, -0.988323f, -0.995921f, -0.999609f, -0.999371f, -0.995209f, -0.987126f, -0.975163f, -0.959371f, -0.939812f, -0.916562f, -0.889713f, -0.85937f, -0.825652f, -0.788691f, -0.748626f, -0.705615f, -0.659835f, -0.611464f, -0.560691f, -0.507717f, -0.452749f, -0.396003f, -0.337701f, -0.278071f, -0.217345f, -0.155767f, -0.0935783f, -0.0310219f, 0.0316562f, 0.0942102f, 0.156395f, 0.217965f, 0.278681f, 0.338297f, 0.396585f, 0.453315f, 0.508264f, 0.561217f, 0.611966f, 0.660313f, 0.706067f, 0.749049f, 0.789078f, 0.826008f, 0.859693f, 0.890002f, 0.916815f, 0.940029f, 0.959552f, 0.975306f, 0.98723f, 0.995268f, 0.999391f, 0.99959f, 0.995864f, 0.988228f, 0.976711f, 0.961358f, 0.942231f, 0.919403f, 0.892958f, 0.862998f, 0.82965f, 0.793044f, 0.753324f, 0.710645f, 0.665177f, 0.617095f, 0.56659f, 0.513858f, 0.459101f, 0.402541f, 0.344402f, 0.28491f, 0.2243f, 0.162808f, 0.100677f, 0.0381505f, -0.024527f, -0.0871079f, -0.149346f, -0.210997f, -0.271819f, -0.331573f, -0.390026f, -0.446947f, -0.502113f, -0.555309f, -0.606317f, -0.654941f, -0.700993f, -0.744292f, -0.784667f, -0.821962f, -0.856029f, -0.886734f, -0.913958f, -0.937585f, -0.957523f, -0.9737f, -0.986054f, -0.994536f, -0.999112f, -0.999765f, -0.996491f, -0.989305f, -0.978228f, -0.963299f, -0.944588f, -0.922167f, -0.896125f, -0.866564f, -0.8336f, -0.797363f, -0.757994f, -0.715646f, -0.670478f, -0.622678f, -0.572433f, -0.51994f, -0.465405f, -0.409043f, -0.351074f, -0.291726f, -0.231232f, -0.169826f, -0.107754f, -0.0452591f, 0.017413f, 0.0800167f, 0.142306f, 0.204037f, 0.264967f, 0.324858f, 0.383469f, 0.440572f, 0.495944f, 0.549369f, 0.600635f, 0.649544f, 0.695901f, 0.739527f, 0.780248f, 0.817901f, 0.852334f, 0.883419f, 0.911035f, 0.935073f, 0.95544f, 0.972054f, 0.984852f, 0.993782f, 0.998806f, 0.999896f, 0.997059f, 0.990307f, 0.979667f, 0.965179f, 0.946901f, 0.924905f, 0.899276f, 0.870116f, 0.837525f, 0.801646f, 0.762618f, 0.720596f, 0.675745f, 0.62824f, 0.578268f, 0.526024f, 0.471714f, 0.415546f, 0.357744f, 0.298539f, 0.238161f, 0.176849f, 0.114841f, 0.0523831f, -0.0102814f, -0.0729062f, -0.135245f, -0.19705f, -0.258081f, -0.318099f, -0.376867f, -0.434155f, -0.489738f, -0.543399f, -0.594926f, -0.644114f, -0.690766f, -0.734704f, -0.775757f, -0.813764f, -0.848574f, -0.880053f, -0.908076f, -0.932533f, -0.953328f, -0.970364f, -0.983589f, -0.992952f, -0.998416f, -0.999959f, -0.997575f, -0.991274f, -0.98108f, -0.967033f, -0.949176f, -0.927588f, -0.902359f, -0.873586f, -0.841383f, -0.805876f, -0.767204f, -0.725518f, -0.680984f, -0.633768f, -0.58406f, -0.532059f, -0.477968f, -0.422001f, -0.364377f, -0.305322f, -0.245067f, -0.18385f, -0.121908f, -0.0594874f, 0.00316634f, 0.0658072f, 0.128189f, 0.190068f, 0.251201f, 0.311347f, 0.370271f, 0.427742f, 0.483526f, 0.537411f, 0.589185f, 0.638645f, 0.685597f, 0.729857f, 0.771251f, 0.809617f, 0.844804f, 0.876661f, 0.905073f, 0.929932f, 0.951138f, 0.968609f, 0.982277f, 0.992087f, 0.998002f, 0.999997f, 0.998056f, 0.99219f, 0.982427f, 0.968807f, 0.951383f, 0.930223f, 0.90541f, 0.877041f, 0.845227f, 0.810088f, 0.771761f, 0.730404f, 0.686179f, 0.63926f, 0.58983f, 0.538084f, 0.484224f, 0.428462f, 0.371016f, 0.312108f, 0.251975f, 0.190853f, 0.128982f, 0.0666051f, 0.00396606f, -0.0586889f, -0.121114f, -0.183064f, -0.244293f, -0.304561f, -0.363633f, -0.421276f, -0.477265f, -0.53138f, -0.583409f, -0.633147f, -0.680399f, -0.724971f, -0.766693f, -0.805403f, -0.840951f, -0.873196f, -0.902013f, -0.927287f, -0.94892f, -0.966827f, -0.980928f, -0.991171f, -0.997521f, -0.999954f, -0.99846f, -0.993045f, -0.983731f, -0.970553f, -0.953564f, -0.932825f, -0.908413f, -0.880434f, -0.848998f, -0.814228f, -0.776261f, -0.735245f, -0.691342f, -0.644723f, -0.595571f, -0.544072f, -0.490436f, -0.434876f, -0.377607f, -0.318857f, -0.258854f, -0.197834f, -0.136036f, -0.073704f, -0.0110811f, 0.0515846f, 0.114047f, 0.176061f, 0.237384f, 0.297775f, 0.356996f, 0.414817f, 0.471008f, 0.525346f, 0.577617f, 0.627619f, 0.675156f, 0.720042f, 0.762101f, 0.801166f, 0.837086f, 0.869719f, 0.898931f, 0.924604f, 0.946647f, 0.964971f, 0.979507f, 0.990195f, 0.996996f, 0.999881f, 0.998841f, 0.993874f, 0.984993f, 0.972243f, 0.955676f, 0.935356f, 0.911362f, 0.88379f, 0.852748f, 0.818356f, 0.780751f, 0.740066f, 0.696476f, 0.650152f, 0.601275f, 0.550036f, 0.496638f, 0.441289f, 0.384206f, 0.325614f, 0.265739f, 0.20482f, 0.143098f, 0.0808139f, 0.0182126f, -0.0444601f, -0.106959f, -0.169037f, -0.230453f, -0.290962f, -0.350326f, -0.408314f, -0.464698f, -0.519256f, -0.571776f, -0.62205f, -0.669882f, -0.715084f, -0.757475f, -0.796882f, -0.83316f, -0.866166f, -0.89577f, -0.921856f, -0.944323f, -0.963081f, -0.978058f, -0.989192f, -0.996428f, -0.99975f, -0.999146f, -0.994619f, -0.986186f, -0.97388f, -0.95775f, -0.937859f, -0.914285f, -0.887107f, -0.856444f, -0.822418f, -0.785163f, -0.744825f, -0.701562f, -0.655543f, -0.60695f, -0.555973f, -0.502807f, -0.447663f, -0.390763f, -0.332328f, -0.272588f, -0.211778f, -0.150136f, -0.0879042f, -0.0253264f, 0.0373515f, 0.099882f, 0.16202f, 0.223521f, 0.284143f, 0.343651f, 0.401808f, 0.458388f, 0.513169f, 0.565934f, 0.616468f, 0.664581f, 0.710084f, 0.752798f, 0.792556f, 0.829202f, 0.862592f, 0.892595f, 0.919093f, 0.941967f, 0.961141f, 0.976541f, 0.988106f, 0.995791f, 0.999566f, 0.999415f, 0.995341f, 0.987357f, 0.975485f, 0.959778f, 0.940302f, 0.917134f, 0.890364f, 0.860098f, 0.826455f, 0.789566f, 0.749575f, 0.706635f, 0.660915f, 0.6126f, 0.561879f, 0.508952f, 0.454027f, 0.397318f, 0.339049f, 0.279447f, 0.218747f, 0.157185f, 0.0950066f, 0.0324556f, -0.0302226f, -0.0927819f, -0.154977f, -0.216564f, -0.277301f, -0.33695f, -0.39527f, -0.452037f, -0.507029f, -0.560029f, -0.61083f, -0.659233f, -0.705047f, -0.748092f, -0.788201f, -0.825203f, -0.858963f, -0.889349f, -0.916242f, -0.939538f, -0.959144f, -0.974983f, -0.986994f, -0.995129f, -0.999347f, -0.999634f, -0.995995f, -0.988445f, -0.977014f, -0.961746f, -0.942701f, -0.919954f, -0.893594f, -0.86372f, -0.830445f, -0.793909f, -0.754256f, -0.711642f, -0.666233f, -0.618207f, -0.567754f, -0.51507f, -0.460362f, -0.40384f, -0.345733f, -0.286269f, -0.22568f, -0.164206f, -0.102087f, -0.0395662f, 0.0231103f, 0.0856967f, 0.147945f, 0.209612f, 0.270455f, 0.330236f, 0.38872f, 0.445677f, 0.500885f, 0.554126f, 0.605191f, 0.653874f, 0.699985f, 0.743346f, 0.783789f, 0.821153f, 0.855293f, 0.886074f, 0.913376f, 0.937091f, 0.95712f, 0.973382f, 0.985821f, 0.994388f, 0.999051f, 0.999791f, 0.996605f, 0.989506f, 0.978521f, 0.963689f, 0.945061f, 0.922723f, 0.896761f, 0.867278f, 0.834389f, 0.798223f, 0.758923f, 0.716642f, 0.671546f, 0.623803f, 0.57361f, 0.521165f, 0.466674f, 0.410351f, 0.352416f, 0.293096f, 0.232625f, 0.17124f, 0.109181f, 0.0466922f, -0.0159789f, -0.0785869f, -0.140886f, -0.202632f, -0.263582f, -0.323498f, -0.382144f, -0.439287f, -0.494701f, -0.548171f, -0.599489f, -0.648452f, -0.694869f, -0.738557f, -0.779345f, -0.817073f, -0.851589f, -0.882751f, -0.910446f, -0.934565f, -0.955015f, -0.971714f, -0.984598f, -0.993615f, -0.99873f, -0.999922f, -0.997172f, -0.990507f, -0.979952f, -0.965549f, -0.947355f, -0.92544f, -0.899891f, -0.870808f, -0.838305f, -0.802498f, -0.763538f, -0.721581f, -0.67679f, -0.629341f, -0.579421f, -0.527226f, -0.47296f, -0.416835f, -0.35907f, -0.299892f, -0.239538f, -0.178243f, -0.116249f, -0.0537979f, 0.00886442f, 0.0714924f, 0.13384f, 0.195662f, 0.256714f, 0.316756f, 0.375554f, 0.432878f, 0.488501f, 0.542206f, 0.593782f, 0.643027f, 0.689746f, 0.733746f, 0.774865f, 0.812941f, 0.847824f, 0.879377f, 0.907478f, 0.932015f, 0.952892f, 0.970028f, 0.983339f, 0.992787f, 0.998338f, 0.999968f, 0.997671f, 0.991457f, 0.98135f, 0.967389f, 0.949629f, 0.928128f, 0.902979f, 0.874284f, 0.842157f, 0.806722f, 0.768119f, 0.7265f, 0.682028f, 0.634877f, 0.585227f, 0.533275f, 0.479229f, 0.423302f, 0.365712f, 0.306687f, 0.246456f, 0.185258f, 0.123332f, 0.0609196f, -0.00173202f, -0.0643761f, -0.126767f, -0.18866f, -0.249811f, -0.309982f, -0.368936f, -0.426442f, -0.482274f, -0.536204f, -0.588027f, -0.637542f, -0.684552f, -0.728874f, -0.770334f, -0.80877f, -0.844029f, -0.875974f, -0.904468f, -0.929407f, -0.950696f, -0.968252f, -0.982006f, -0.991903f, -0.997905f, -0.999989f, -0.998145f, -0.992372f, -0.982696f, -0.969161f, -0.95182f, -0.930742f, -0.906009f, -0.877717f, -0.845979f, -0.810918f, -0.772668f, -0.731376f, -0.687212f, -0.64035f, -0.590973f, -0.539276f, -0.485461f, -0.42974f, -0.37233f, -0.313456f, -0.253348f, -0.192245f, -0.130388f, -0.0680189f, -0.00538305f, 0.0572741f, 0.119707f, 0.18167f, 0.24292f, 0.303213f, 0.362314f, 0.419992f, 0.47602f, 0.530178f, 0.582255f, 0.632046f, 0.679355f, 0.723997f, 0.765787f, 0.804566f, 0.840186f, 0.872505f, 0.901399f, 0.926753f, 0.948467f, 0.966457f, 0.980653f, 0.990989f, 0.997425f, 0.999945f, 0.998539f, 0.993212f, 0.983984f, 0.970892f, 0.953988f, 0.933338f, 0.909017f, 0.881117f, 0.849757f, 0.81506f, 0.777163f, 0.736214f, 0.692374f, 0.645814f, 0.596719f, 0.545279f, 0.491689f, 0.436168f, 0.378936f, 0.320216f, 0.260238f, 0.199239f, 0.137456f, 0.0751338f, 0.0125154f, -0.0501524f, -0.112623f, -0.17465f, -0.235991f, -0.296405f, -0.355655f, -0.413509f, -0.469739f, -0.524126f, -0.576449f, -0.626505f, -0.6741f, -0.719047f, -0.76117f, -0.800305f, -0.836297f, -0.869005f, -0.898301f, -0.924064f, -0.946188f, -0.964597f, -0.979218f, -0.989994f, -0.996882f, -0.999855f, -0.998902f, -0.994026f, -0.985244f, -0.97258f, -0.956096f, -0.935858f, -0.911946f, -0.884452f, -0.853485f, -0.819166f, -0.78163f, -0.741024f, -0.697497f, -0.651231f, -0.602408f, -0.551219f, -0.497866f, -0.442558f, -0.385512f, -0.326951f, -0.267106f, -0.206209f, -0.144501f, -0.0822264f, -0.0196294f, 0.0430444f, 0.105549f, 0.16764f, 0.229073f, 0.289606f, 0.349001f, 0.407022f, 0.463444f, 0.518045f, 0.570612f, 0.620939f, 0.668827f, 0.714089f, 0.756547f, 0.796031f, 0.83238f, 0.86546f, 0.895141f, 0.921306f, 0.943854f, 0.962695f, 0.977756f, 0.988977f, 0.996315f, 0.999724f, 0.999208f, 0.994768f, 0.986422f, 0.974203f, 0.958157f, 0.93835f, 0.914857f, 0.887771f, 0.857188f, 0.823236f, 0.786052f, 0.745781f, 0.702581f, 0.656623f, 0.608086f, 0.557161f, 0.504047f, 0.448949f, 0.392085f, 0.333681f, 0.273968f, 0.21318f, 0.151554f, 0.0893325f, 0.0267601f, -0.0359181f, -0.0984555f, -0.160605f, -0.222123f, -0.282768f, -0.342303f, -0.400493f, -0.457111f, -0.511934f, -0.564748f, -0.615343f, -0.663513f, -0.709076f, -0.751855f, -0.791681f, -0.828398f, -0.861862f, -0.891942f, -0.918519f, -0.94149f, -0.96075f, -0.976236f, -0.987887f, -0.995659f, -0.999522f, -0.999459f, -0.995471f, -0.987574f, -0.975799f, -0.960182f, -0.940789f, -0.917701f, -0.89101f, -0.86082f, -0.82725f, -0.790431f, -0.750508f, -0.707637f, -0.661983f, -0.613722f, -0.563053f, -0.510172f, -0.455288f, -0.398617f, -0.34038f, -0.280806f, -0.220128f, -0.158585f, -0.0964176f, -0.0338719f, 0.0288062f, 0.0913709f, 0.153577f, 0.21518f, 0.275938f, 0.335613f, 0.393971f, 0.450776f, 0.505809f, 0.558856f, 0.609708f, 0.658165f, 0.704039f, 0.747147f, 0.787322f, 0.824406f, 0.858242f, 0.888704f, 0.915676f, 0.939052f, 0.958741f, 0.974664f, 0.98676f, 0.994982f, 0.999296f, 0.999677f, 0.996126f, 0.988664f, 0.977319f, 0.962136f, 0.943175f, 0.92051f, 0.89423f, 0.864439f, 0.831248f, 0.794784f, 0.755199f, 0.712649f, 0.667301f, 0.619332f, 0.568931f, 0.516296f, 0.461633f, 0.405155f, 0.347081f, 0.287644f, 0.227078f, 0.165621f, 0.103513f, 0.0409992f, -0.0216762f, -0.0842669f, -0.146528f, -0.208211f, -0.269075f, -0.328883f, -0.387398f, -0.444392f, -0.499641f, -0.552928f, -0.604044f, -0.652789f, -0.698964f, -0.74239f, -0.782899f, -0.820334f, -0.854548f, -0.885406f, -0.912787f, -0.936584f, -0.956703f, -0.973059f, -0.985584f, -0.994239f, -0.998989f, -0.999817f, -0.996718f, -0.989706f, -0.978806f, -0.964063f, -0.945532f, -0.923274f, -0.897391f, -0.867985f, -0.83517f, -0.799075f, -0.759843f, -0.717626f, -0.672591f, -0.624914f, -0.574774f, -0.522376f, -0.467928f, -0.411643f, -0.353741f, -0.29445f, -0.234002f, -0.172635f, -0.110589f, -0.0481079f, 0.0145622f, 0.0771744f, 0.139483f, 0.201244f, 0.262214f, 0.322156f, 0.380832f, 0.438014f, 0.493472f, 0.546988f, 0.598356f, 0.647373f, 0.693848f, 0.737599f, 0.778453f, 0.81625f, 0.850843f, 0.88209f, 0.909864f, 0.934064f, 0.954595f, 0.971379f, 0.984347f, 0.99345f, 0.998652f, 0.999933f, 0.997286f, 0.990708f, 0.98024f, 0.965923f, 0.947812f, 0.92598f, 0.900511f, 0.871506f, 0.839079f, 0.803356f, 0.764468f, 0.722575f, 0.677846f, 0.630455f, 0.580589f, 0.528442f, 0.47422f, 0.418136f, 0.360409f, 0.301262f, 0.240931f, 0.179655f, 0.117673f, 0.0552301f, -0.0074301f, -0.0700613f, -0.132418f, -0.194255f, -0.255329f, -0.315397f, -0.374226f, -0.431585f, -0.487249f, -0.540999f, -0.592625f, -0.641924f, -0.688703f, -0.732777f, -0.773962f, -0.812108f, -0.847064f, -0.878693f, -0.906873f, -0.93149f, -0.952451f, -0.969671f, -0.983083f, -0.992621f, -0.998258f, -0.999976f, -0.997767f, -0.99164f, -0.981619f, -0.967743f, -0.950066f, -0.928659f, -0.903594f, -0.874976f, -0.842923f, -0.80756f, -0.769026f, -0.727472f, -0.683061f, -0.635967f, -0.586376f, -0.534477f, -0.480475f, -0.424586f, -0.367031f, -0.308035f, -0.247829f, -0.186649f, -0.124737f, -0.0623337f, 0.000315029f, 0.0629623f, 0.125362f, 0.187268f, 0.248439f, 0.308634f, 0.367618f, 0.425158f, 0.481029f, 0.535011f, 0.586884f, 0.636452f, 0.68352f, 0.727904f, 0.769429f, 0.807932f, 0.843264f, 0.875284f, 0.903867f, 0.928889f, 0.95026f, 0.9679f, 0.981738f, 0.991721f, 0.99781f, 0.99998f, 0.998224f, 0.992549f, 0.982967f, 0.969517f, 0.952261f, 0.931265f, 0.906613f, 0.8784f, 0.846738f, 0.811751f, 0.773575f, 0.732358f, 0.688256f, 0.641453f, 0.59213f, 0.540483f, 0.486714f, 0.431032f, 0.373658f, 0.314816f, 0.254737f, 0.193653f, 0.13181f, 0.06945f, 0.00681738f, -0.0558419f, -0.118282f, -0.180258f, -0.241527f, -0.301847f, -0.360979f, -0.418691f, -0.474759f, -0.528962f, -0.581088f, -0.630932f, -0.678298f, -0.723001f, -0.764866f, -0.803719f, -0.839411f, -0.871806f, -0.900778f, -0.926212f, -0.948009f, -0.966083f, -0.980364f, -0.990795f, -0.997329f, -0.999936f, -0.998617f, -0.993377f, -0.984235f, -0.971229f, -0.954409f, -0.93384f, -0.909605f, -0.881794f, -0.850509f, -0.815884f, -0.778056f, -0.737173f, -0.693394f, -0.646894f, -0.597852f, -0.546462f, -0.492926f, -0.437446f, -0.380248f, -0.321559f, -0.261606f, -0.200627f, -0.138859f, -0.0765463f, -0.0139322f, 0.0487373f, 0.111215f, 0.173255f, 0.234614f, 0.295051f, 0.35433f, 0.412217f, 0.468486f, 0.522915f, 0.575291f, 0.625404f, 0.673055f, 0.718064f, 0.760251f, 0.799454f, 0.835517f, 0.868299f, 0.897671f, 0.923519f, 0.945736f, 0.964228f, 0.978933f, 0.989794f, 0.996769f, 0.999829f, 0.998963f, 0.994175f, 0.985482f, 0.972919f, 0.95652f, 0.936365f, 0.912534f, 0.885119f, 0.854229f, 0.819984f, 0.782519f, 0.74198f, 0.698528f, 0.652322f, 0.603554f, 0.552417f, 0.49911f, 0.443843f, 0.386834f, 0.328305f, 0.268486f, 0.207612f, 0.145921f, 0.0836562f, 0.0210635f, -0.0416114f, -0.104123f, -0.166225f, -0.227675f, -0.288231f, -0.347656f, -0.405714f, -0.462175f, -0.51682f, -0.569435f, -0.619813f, -0.667758f, -0.713081f, -0.755603f, -0.795159f, -0.831591f, -0.864745f, -0.894504f, -0.920749f, -0.943379f, -0.962304f, -0.97745f, -0.988758f, -0.996183f, -0.999696f, -0.999269f, -0.994916f, -0.986656f, -0.974522f, -0.958561f, -0.938836f, -0.915424f, -0.888417f, -0.857921f, -0.824046f, -0.786931f, -0.746727f, -0.70359f, -0.657691f, -0.609209f, -0.558334f, -0.505267f, -0.450214f, -0.39339f, -0.335018f, -0.275332f, -0.214564f, -0.152954f, -0.0907435f, -0.0281764f, 0.0345017f, 0.097045f, 0.159207f, 0.220742f, 0.28141f, 0.340972f, 0.399194f, 0.455849f, 0.510715f, 0.563574f, 0.614221f, 0.662457f, 0.70808f, 0.750923f, 0.790816f, 0.827604f, 0.861141f, 0.891297f, 0.917953f, 0.941005f, 0.960361f, 0.975934f, 0.987671f, 0.995529f, 0.999478f, 0.999503f, 0.995603f, 0.987793f, 0.976104f, 0.960582f, 0.941279f, 0.918273f, 0.891662f, 0.861549f, 0.828053f, 0.791306f, 0.751451f, 0.708645f, 0.663055f, 0.614858f, 0.56424f, 0.511407f, 0.456566f, 0.399932f, 0.341727f, 0.282181f, 0.221526f, 0.160001f, 0.0978459f, 0.0353056f, -0.0273725f, -0.0899426f, -0.152159f, -0.213778f, -0.274558f, -0.33426f, -0.392649f, -0.449498f, -0.504574f, -0.557668f, -0.608572f, -0.657085f, -0.703018f, -0.74619f, -0.786433f, -0.823587f, -0.857507f, -0.888051f, -0.915103f, -0.938561f, -0.958333f, -0.974341f, -0.986524f, -0.994832f, -0.999234f, -0.999712f, -0.996257f, -0.988881f, -0.977621f, -0.962523f, -0.943645f, -0.921061f, -0.894861f, -0.865146f, -0.832033f, -0.79565f, -0.756132f, -0.713646f, -0.668357f, -0.620444f, -0.570095f, -0.517507f, -0.462886f, -0.406447f, -0.348412f, -0.289002f, -0.228459f, -0.167018f, -0.104923f, -0.0424149f, 0.0202594f, 0.0828544f, 0.145125f, 0.206826f, 0.267712f, 0.327546f, 0.386092f, 0.443123f, 0.498413f, 0.551745f, 0.602912f, 0.651711f, 0.697951f, 0.741445f, 0.782021f, 0.819526f, 0.853812f, 0.884746f, 0.912205f, 0.936082f, 0.956283f, 0.972729f, 0.98535f, 0.994091f, 0.998929f, 0.999843f, 0.996832f, 0.989907f, 0.979094f, 0.964437f, 0.945992f, 0.92383f, 0.898027f, 0.868698f, 0.835958f, 0.799936f, 0.760772f, 0.718621f, 0.673648f, 0.626028f, 0.57595f, 0.523602f, 0.469197f, 0.41295f, 0.355082f, 0.29582f, 0.235395f, 0.174047f, 0.112014f, 0.0495406f, -0.013128f, -0.0757446f, -0.138063f, -0.199839f, -0.26083f, -0.320796f, -0.379504f, -0.436721f, -0.492224f, -0.545791f, -0.597209f, -0.646281f, -0.692816f, -0.736629f, -0.77755f, -0.815417f, -0.850083f, -0.88141f, -0.909274f, -0.933556f, -0.954171f, -0.971039f, -0.984093f, -0.993283f, -0.998573f, -0.999941f, -0.997383f, -0.990908f, -0.980526f, -0.966293f, -0.948266f, -0.926515f, -0.901126f, -0.872198f, -0.839845f, -0.804194f, -0.765384f, -0.723559f, -0.67889f, -0.631556f, -0.581742f, -0.529644f, -0.475466f, -0.41942f, -0.361727f, -0.302613f, -0.242308f, -0.18105f, -0.119081f, -0.056645f, 0.00601311f, 0.0686475f, 0.131013f, 0.192864f, 0.253958f, 0.314054f, 0.372913f, 0.430308f, 0.486011f, 0.539806f, 0.591482f, 0.640834f, 0.687671f, 0.731807f, 0.77307f, 0.811285f, 0.846313f, 0.878018f, 0.906275f, 0.930972f, 0.952014f, 0.969318f, 0.982815f, 0.992453f, 0.99818f, 0.999985f, 0.997864f, 0.991824f, 0.981889f, 0.968099f, 0.950507f, 0.929182f, 0.904208f, 0.875675f, 0.843697f, 0.808406f, 0.769942f, 0.728454f, 0.684105f, 0.63707f, 0.587533f, 0.535688f, 0.481736f, 0.425887f, 0.368366f, 0.309399f, 0.249218f, 0.188058f, 0.126159f, 0.0637648f, 0.0011193f, -0.0615312f, -0.123939f, -0.18586f, -0.24705f, -0.30727f, -0.366282f, -0.423857f, -0.479768f, -0.533795f, -0.585726f, -0.635349f, -0.682475f, -0.726921f, -0.768512f, -0.807085f, -0.842489f, -0.874584f, -0.903246f, -0.92836f, -0.949819f, -0.967542f, -0.981467f, -0.991537f, -0.997713f, -0.999971f, -0.998303f, -0.992714f, -0.983227f, -0.969871f, -0.952698f, -0.931784f, -0.907212f, -0.879077f, -0.84749f, -0.812575f, -0.774468f, -0.73332f, -0.689289f, -0.642543f, -0.593274f, -0.541676f, -0.487951f, -0.43231f, -0.374971f, -0.316159f, -0.256105f, -0.195045f, -0.133216f, -0.0708638f, -0.00823437f, 0.0544271f, 0.116875f, 0.178863f, 0.24015f, 0.300494f, 0.359659f, 0.417407f, 0.473513f, 0.52776f, 0.579934f, 0.629831f, 0.677254f, 0.722018f, 0.763947f, 0.802876f, 0.838645f, 0.871115f, 0.900164f, 0.925678f, 0.947556f, 0.965714f, 0.980079f, 0.990596f, 0.997223f, 0.999928f, 0.998696f, 0.993543f, 0.984489f, 0.971568f, 0.954833f, 0.934347f, 0.910193f, 0.882464f, 0.851268f, 0.816716f, 0.778958f, 0.738142f, 0.694427f, 0.647985f, 0.598998f, 0.54766f, 0.494169f, 0.438738f, 0.381577f, 0.322918f, 0.262991f, 0.202032f, 0.140279f, 0.0779761f, 0.0153663f, -0.0473043f, -0.10979f, -0.171843f, -0.233221f, -0.293681f, -0.352989f, -0.410909f, -0.467216f, -0.521689f, -0.574113f, -0.624284f, -0.671999f, -0.717068f, -0.759321f, -0.798592f, -0.834727f, -0.867584f, -0.897034f, -0.922962f, -0.945265f, -0.963854f, -0.978645f, -0.989593f, -0.996654f, -0.999802f, -0.999024f, -0.994323f, -0.985717f, -0.97324f, -0.956941f, -0.936868f, -0.913117f, -0.885781f, -0.854966f, -0.820793f, -0.783398f, -0.742926f, -0.699536f, -0.653399f, -0.604688f, -0.5536f, -0.500338f, -0.445113f, -0.388139f, -0.329642f, -0.269849f, -0.208997f, -0.147323f, -0.0850687f, -0.0224803f, 0.0401957f, 0.102713f, 0.164827f, 0.226294f, 0.286873f, 0.346325f, 0.404418f, 0.460921f, 0.515609f, 0.568271f, 0.618702f, 0.666702f, 0.712085f, 0.754671f, 0.794294f, 0.830798f, 0.864039f, 0.893874f, 0.920199f, 0.94291f, 0.961918f, 0.977148f, 0.988541f, 0.996053f, 0.999653f, 0.999328f, 0.995065f, 0.986892f, 0.974844f, 0.958968f, 0.939327f, 0.915996f, 0.889069f, 0.85865f, 0.824859f, 0.78782f, 0.747683f, 0.70461f, 0.658771f, 0.610345f, 0.559522f, 0.506501f, 0.451492f, 0.394708f, 0.336372f, 0.276712f, 0.215965f, 0.154372f, 0.0921718f, 0.0296101f, -0.033068f, -0.0956167f, -0.157791f, -0.219345f, -0.280035f, -0.339624f, -0.39788f, -0.454572f, -0.50948f, -0.562387f, -0.613085f, -0.661377f, -0.707072f, -0.749979f, -0.789941f, -0.826799f, -0.860411f, -0.890644f, -0.91738f, -0.940513f, -0.959953f, -0.975624f, -0.987452f, -0.995397f, -0.999434f, -0.999546f, -0.995733f, -0.98801f, -0.976407f, -0.96097f, -0.941758f, -0.918841f, -0.892308f, -0.862271f, -0.828849f, -0.792172f, -0.752384f, -0.709641f, -0.664112f, -0.615974f, -0.565414f, -0.512627f, -0.457827f, -0.401231f, -0.343059f, -0.283539f, -0.222907f, -0.161398f, -0.0992554f, -0.036722f, 0.0259562f, 0.0885316f, 0.150759f, 0.212394f, 0.273194f, 0.332922f, 0.391343f, 0.448228f, 0.503353f, 0.556495f, 0.607449f, 0.656018f, 0.70201f, 0.745245f, 0.785554f, 0.822778f, 0.856771f, 0.887401f, 0.914537f, 0.938075f, 0.95793f, 0.974022f, 0.98629f, 0.994685f, 0.999173f, 0.999739f, 0.996378f, 0.989099f, 0.977926f, 0.962913f, 0.944119f, 0.921617f, 0.895497f, 0.865859f, 0.832822f, 0.796513f, 0.757075f, 0.714653f, 0.669425f, 0.621569f, 0.571273f, 0.518733f, 0.464155f, 0.407755f, 0.349753f, 0.290377f, 0.229856f, 0.168433f, 0.106349f, 0.043848f, -0.0188253f, -0.0814246f, -0.143705f, -0.205421f, -0.266331f, -0.326192f, -0.384771f, -0.441837f, -0.497169f, -0.550548f, -0.601765f, -0.650619f, -0.696918f, -0.740481f, -0.781131f, -0.818707f, -0.853067f, -0.884077f, -0.911615f, -0.935574f, -0.955858f, -0.972389f, -0.985102f, -0.993942f, -0.998867f, -0.99987f, -0.996946f, -0.990107f, -0.97938f, -0.964807f, -0.946445f, -0.924367f, -0.898658f, -0.869405f, -0.836739f, -0.800788f, -0.761692f, -0.719605f, -0.674692f, -0.62713f, -0.577104f, -0.524811f, -0.470451f, -0.414242f, -0.356407f, -0.297173f, -0.236772f, -0.175441f, -0.113421f, -0.0509555f, 0.0117112f, 0.0743321f, 0.13666f, 0.198451f, 0.259462f, 0.319454f, 0.378191f, 0.435444f, 0.490986f, 0.544602f, 0.596076f, 0.645203f, 0.691795f, 0.735671f, 0.776657f, 0.814594f, 0.849332f, 0.880735f, 0.908679f, 0.933054f, 0.953751f, 0.970703f, 0.983842f, 0.993119f, 0.998495f, 0.99995f, 0.997479f, 0.991092f, 0.980812f, 0.966666f, 0.948723f, 0.927055f, 0.901746f, 0.872896f, 0.840619f, 0.80504f, 0.7663f, 0.72455f, 0.679947f, 0.63267f, 0.58291f, 0.530861f, 0.476727f, 0.420721f, 0.363062f, 0.303978f, 0.243699f, 0.182461f, 0.120505f, 0.0580771f, -0.00457878f, -0.0672165f, -0.12959f, -0.191455f, -0.252569f, -0.312691f, -0.371585f, -0.429015f, -0.484759f, -0.538599f, -0.590324f, -0.639731f, -0.686626f, -0.730825f, -0.772154f, -0.810451f, -0.845553f, -0.877334f, -0.905669f, -0.930448f, -0.951573f, -0.968961f, -0.982544f, -0.992269f, -0.998097f, -0.999994f, -0.997959f, -0.992006f, -0.982158f, -0.968452f, -0.950944f, -0.929701f, -0.904807f, -0.87636f, -0.844463f, -0.809245f, -0.770848f, -0.729425f, -0.685138f, -0.63816f, -0.588676f, -0.53688f, -0.482976f, -0.427171f, -0.369685f, -0.310748f, -0.25059f, -0.189449f, -0.127565f, -0.0651786f, -0.00253629f, 0.0601165f, 0.122534f, 0.184468f, 0.245677f, 0.305921f, 0.364964f, 0.422573f, 0.478522f, 0.532593f, 0.584573f, 0.634258f, 0.681443f, 0.72595f, 0.767606f, 0.806248f, 0.841723f, 0.873893f, 0.902632f, 0.927826f, 0.949377f, 0.96719f, 0.981199f, 0.991355f, 0.997617f, 0.999963f, 0.998382f, 0.99288f, 0.98348f, 0.970218f, 0.953139f, 0.932308f, 0.907816f, 0.87976f, 0.848249f, 0.813407f, 0.77537f, 0.734289f, 0.690324f, 0.643646f, 0.594431f, 0.542883f, 0.489203f, 0.433603f, 0.376299f, 0.317518f, 0.25749f, 0.19645f, 0.134638f, 0.0722949f, 0.00966869f, -0.0529949f, -0.11545f, -0.177452f, -0.238756f, -0.299124f, -0.358317f, -0.416104f, -0.472253f, -0.526544f, -0.578767f, -0.628716f, -0.676197f, -0.721022f, -0.763017f, -0.802015f, -0.837864f, -0.870416f, -0.899543f, -0.925137f, -0.947098f, -0.96534f, -0.979791f, -0.990394f, -0.997108f, -0.999907f, -0.998775f, -0.993709f, -0.98474f, -0.971905f, -0.955253f, -0.93485f, -0.910776f, -0.883125f, -0.852006f, -0.81754f, -0.779851f, -0.7391f, -0.695448f, -0.649064f, -0.600132f, -0.548843f, -0.495398f, -0.440007f, -0.382888f, -0.32426f, -0.264359f, -0.20342f, -0.141682f, -0.0793886f, -0.0167831f, 0.0458886f, 0.108381f, 0.170448f, 0.231844f, 0.292328f, 0.351663f, 0.409617f, 0.465963f, 0.520478f, 0.57295f, 0.623172f, 0.670948f, 0.716085f, 0.758402f, 0.797741f, 0.833947f, 0.866878f, 0.896405f, 0.922412f, 0.944796f, 0.963471f, 0.97836f, 0.989393f, 0.996541f, 0.999776f, 0.999085f, 0.994472f, 0.985953f, 0.973562f, 0.957348f, 0.937374f, 0.913705f, 0.886448f, 0.85571f, 0.821611f, 0.784286f, 0.743882f, 0.700556f, 0.654479f, 0.605831f, 0.554797f, 0.501582f, 0.446398f, 0.389461f, 0.330995f, 0.271229f, 0.210398f, 0.14874f, 0.0864977f, 0.0239144f, -0.0387626f, -0.101287f, -0.163413f, -0.224897f, -0.285498f, -0.344977f, -0.403103f, -0.459646f, -0.514383f, -0.567093f, -0.617576f, -0.665634f, -0.711077f, -0.753728f, -0.793419f, -0.829994f, -0.863311f, -0.893237f, -0.919642f, -0.942435f, -0.961526f, -0.976842f, -0.988322f, -0.995921f, -0.999609f, -0.999371f, -0.995209f, -0.987127f, -0.975164f, -0.959372f, -0.939813f, -0.916564f, -0.889715f, -0.859372f, -0.825654f, -0.788694f, -0.748629f, -0.705619f, -0.659838f, -0.611467f, -0.560695f, -0.507721f, -0.452753f, -0.396007f, -0.337705f, -0.278075f, -0.21735f, -0.155772f, -0.0935828f, -0.0310265f, 0.0316517f, 0.0942057f, 0.15639f, 0.217961f, 0.278676f, 0.338293f, 0.396581f, 0.45331f, 0.50826f, 0.561213f, 0.611963f, 0.66031f, 0.706064f, 0.749046f, 0.789076f, 0.826005f, 0.85969f, 0.89f, 0.916814f, 0.940028f, 0.95955f, 0.975305f, 0.98723f, 0.995267f, 0.999391f, 0.99959f, 0.995865f, 0.988229f, 0.976712f, 0.96136f, 0.942232f, 0.919404f, 0.89296f, 0.863f, 0.829652f, 0.793046f, 0.753327f, 0.710649f, 0.66518f, 0.617099f, 0.566594f, 0.513862f, 0.459105f, 0.402546f, 0.344406f, 0.284915f, 0.224304f, 0.162813f, 0.100682f, 0.038155f, -0.0245225f, -0.0871033f, -0.149341f, -0.210992f, -0.271814f, -0.331569f, -0.390022f, -0.446943f, -0.502109f, -0.555305f, -0.606313f, -0.654938f, -0.70099f, -0.744289f, -0.784665f, -0.821959f, -0.856027f, -0.886732f, -0.913956f, -0.937584f, -0.957522f, -0.973699f, -0.986054f, -0.994535f, -0.999112f, -0.999765f, -0.996492f, -0.989305f, -0.978229f, -0.9633f, -0.944589f, -0.922169f, -0.896127f, -0.866566f, -0.833603f, -0.797365f, -0.757996f, -0.71565f, -0.670482f, -0.622681f, -0.572436f, -0.519944f, -0.465409f, -0.409047f, -0.351078f, -0.29173f, -0.231236f, -0.169831f, -0.107758f, -0.0452637f, 0.0174085f, 0.0800121f, 0.142302f, 0.204033f, 0.264963f, 0.324853f, 0.383465f, 0.440568f, 0.49594f, 0.549365f, 0.600632f, 0.64954f, 0.695898f, 0.739523f, 0.780245f, 0.817898f, 0.852331f, 0.883417f, 0.911033f, 0.935072f, 0.955438f, 0.972053f, 0.984851f, 0.993781f, 0.998806f, 0.999896f, 0.99706f, 0.990308f, 0.979668f, 0.96518f, 0.946903f, 0.924907f, 0.899278f, 0.870118f, 0.837528f, 0.801648f, 0.762621f, 0.7206f, 0.675748f, 0.628244f, 0.578271f, 0.526028f, 0.471718f, 0.41555f, 0.357749f, 0.298543f, 0.238166f, 0.176853f, 0.114846f, 0.0523876f, -0.0102769f, -0.0729017f, -0.13524f, -0.197046f, -0.258077f, -0.318094f, -0.376863f, -0.434151f, -0.489734f, -0.543395f, -0.594922f, -0.644111f, -0.690763f, -0.734701f, -0.775754f, -0.813761f, -0.848572f, -0.880051f, -0.908074f, -0.932531f, -0.953326f, -0.970363f, -0.983588f, -0.992952f, -0.998416f, -0.999959f, -0.997575f, -0.991274f, -0.98108f, -0.967034f, -0.949177f, -0.92759f, -0.902361f, -0.873588f, -0.841385f, -0.805878f, -0.767206f, -0.725521f, -0.680987f, -0.633772f, -0.584064f, -0.532062f, -0.477972f, -0.422005f, -0.364381f, -0.305326f, -0.245072f, -0.183854f, -0.121913f, -0.059492f, 0.00316179f, 0.0658027f, 0.128185f, 0.190064f, 0.251196f, 0.311343f, 0.370267f, 0.427737f, 0.483522f, 0.537407f, 0.589181f, 0.638641f, 0.685594f, 0.729854f, 0.771248f, 0.809614f, 0.844801f, 0.876658f, 0.905071f, 0.92993f, 0.951137f, 0.968608f, 0.982276f, 0.992087f, 0.998002f, 0.999997f, 0.998056f, 0.99219f, 0.982428f, 0.968809f, 0.951385f, 0.930224f, 0.905411f, 0.877043f, 0.84523f, 0.810091f, 0.771764f, 0.730407f, 0.686182f, 0.639263f, 0.589834f, 0.538088f, 0.484228f, 0.428466f, 0.37102f, 0.312112f, 0.25198f, 0.190858f, 0.128987f, 0.0666097f, 0.00397062f, -0.0586844f, -0.12111f, -0.18306f, -0.244288f, -0.304557f, -0.363629f, -0.421272f, -0.477261f, -0.531376f, -0.583405f, -0.633143f, -0.680396f, -0.724967f, -0.76669f, -0.805401f, -0.840949f, -0.873194f, -0.902011f, -0.927285f, -0.948919f, -0.966826f, -0.980928f, -0.99117f, -0.997521f, -0.999954f, -0.99846f, -0.993046f, -0.983732f, -0.970554f, -0.953566f, -0.932827f, -0.908415f, -0.880436f, -0.849f, -0.814231f, -0.776263f, -0.735248f, -0.691345f, -0.644727f, -0.595575f, -0.544075f, -0.49044f, -0.43488f, -0.377612f, -0.318861f, -0.258858f, -0.197838f, -0.136041f, -0.0737085f, -0.0110857f, 0.05158f, 0.114043f, 0.176057f, 0.23738f, 0.297771f, 0.356992f, 0.414812f, 0.471004f, 0.525342f, 0.577613f, 0.627616f, 0.675153f, 0.720039f, 0.762098f, 0.801164f, 0.837084f, 0.869717f, 0.898929f, 0.924603f, 0.946645f, 0.96497f, 0.979506f, 0.990195f, 0.996995f, 0.999881f, 0.998841f, 0.993875f, 0.984993f, 0.972244f, 0.955677f, 0.935357f, 0.911364f, 0.883793f, 0.85275f, 0.818359f, 0.780753f, 0.740069f, 0.69648f, 0.650155f, 0.601278f, 0.55004f, 0.496642f, 0.441293f, 0.38421f, 0.325618f, 0.265744f, 0.204825f, 0.143102f, 0.0808184f, 0.0182172f, -0.0444556f, -0.106954f, -0.169033f, -0.230449f, -0.290958f, -0.350322f, -0.40831f, -0.464694f, -0.519252f, -0.571772f, -0.622047f, -0.669879f, -0.715081f, -0.757472f, -0.79688f, -0.833158f, -0.866164f, -0.895768f, -0.921855f, -0.944321f, -0.96308f, -0.978057f, -0.989192f, -0.996427f, -0.99975f, -0.999146f, -0.994619f, -0.986187f, -0.973881f, -0.957752f, -0.937861f, -0.914286f, -0.887109f, -0.856447f, -0.822421f, -0.785166f, -0.744828f, -0.701565f, -0.655547f, -0.606954f, -0.555977f, -0.502811f, -0.447668f, -0.390767f, -0.332332f, -0.272593f, -0.211783f, -0.150141f, -0.0879087f, -0.025331f, 0.0373469f, 0.0998775f, 0.162015f, 0.223516f, 0.284139f, 0.343646f, 0.401804f, 0.458384f, 0.513165f, 0.56593f, 0.616465f, 0.664578f, 0.710081f, 0.752795f, 0.792554f, 0.8292f, 0.86259f, 0.892593f, 0.919091f, 0.941965f, 0.96114f, 0.97654f, 0.988106f, 0.995791f, 0.999565f, 0.999415f, 0.995341f, 0.987358f, 0.975486f, 0.959779f, 0.940304f, 0.917136f, 0.890366f, 0.860101f, 0.826457f, 0.789568f, 0.749578f, 0.706639f, 0.660918f, 0.612603f, 0.561883f, 0.508956f, 0.454031f, 0.397322f, 0.339053f, 0.279452f, 0.218751f, 0.157189f, 0.0950111f, 0.0324601f, -0.030218f, -0.0927774f, -0.154973f, -0.21656f, -0.277297f, -0.336946f, -0.395266f, -0.452033f, -0.507025f, -0.560026f, -0.610827f, -0.659229f, -0.705043f, -0.748089f, -0.788198f, -0.825201f, -0.85896f, -0.889347f, -0.91624f, -0.939536f, -0.959142f, -0.974982f, -0.986993f, -0.995129f, -0.999347f, -0.999634f, -0.995995f, -0.988446f, -0.977015f, -0.961747f, -0.942702f, -0.919956f, -0.893596f, -0.863722f, -0.830448f, -0.793912f, -0.754259f, -0.711645f, -0.666236f, -0.618211f, -0.567758f, -0.515074f, -0.460366f, -0.403844f, -0.345737f, -0.286273f, -0.225685f, -0.164211f, -0.102091f, -0.0395707f, 0.0231057f, 0.0856922f, 0.147941f, 0.209608f, 0.270451f, 0.330232f, 0.388716f, 0.445673f, 0.500881f, 0.554122f, 0.605188f, 0.65387f, 0.699981f, 0.743343f, 0.783786f, 0.821151f, 0.855291f, 0.886072f, 0.913374f, 0.93709f, 0.957119f, 0.973381f, 0.98582f, 0.994388f, 0.999051f, 0.999791f, 0.996606f, 0.989506f, 0.978522f, 0.96369f, 0.945063f, 0.922725f, 0.896763f, 0.86728f, 0.834391f, 0.798226f, 0.758926f, 0.716645f, 0.67155f, 0.623806f, 0.573614f, 0.521169f, 0.466678f, 0.410355f, 0.35242f, 0.293101f, 0.23263f, 0.171245f, 0.109185f, 0.0466967f, -0.0159744f, -0.0785823f, -0.140882f, -0.202628f, -0.263578f, -0.323494f, -0.38214f, -0.439283f, -0.494697f, -0.548167f, -0.599485f, -0.648448f, -0.694865f, -0.738554f, -0.779342f, -0.817071f, -0.851586f, -0.882748f, -0.910444f, -0.934564f, -0.955014f, -0.971713f, -0.984597f, -0.993614f, -0.99873f, -0.999922f, -0.997173f, -0.990508f, -0.979953f, -0.965551f, -0.947356f, -0.925442f, -0.899893f, -0.87081f, -0.838307f, -0.8025f, -0.763541f, -0.721584f, -0.676793f, -0.629345f, -0.579425f, -0.52723f, -0.472964f, -0.416839f, -0.359074f, -0.299897f, -0.239542f, -0.178248f, -0.116253f, -0.0538025f, 0.00885987f, 0.0714879f, 0.133836f, 0.195658f, 0.256709f, 0.316752f, 0.37555f, 0.432873f, 0.488497f, 0.542202f, 0.593779f, 0.643024f, 0.689742f, 0.733743f, 0.774862f, 0.812938f, 0.847821f, 0.879375f, 0.907476f, 0.932013f, 0.952891f, 0.970026f, 0.983338f, 0.992787f, 0.998337f, 0.999968f, 0.997672f, 0.991458f, 0.981351f, 0.96739f, 0.94963f, 0.92813f, 0.902981f, 0.874287f, 0.842159f, 0.806725f, 0.768122f, 0.726503f, 0.682031f, 0.634881f, 0.585231f, 0.533279f, 0.479233f, 0.423306f, 0.365716f, 0.306691f, 0.246461f, 0.185263f, 0.123336f, 0.0609242f, -0.00172746f, -0.0643716f, -0.126762f, -0.188655f, -0.249807f, -0.309978f, -0.368932f, -0.426438f, -0.48227f, -0.5362f, -0.588024f, -0.637538f, -0.684549f, -0.728871f, -0.770331f, -0.808767f, -0.844027f, -0.875972f, -0.904466f, -0.929406f, -0.950695f, -0.968251f, -0.982005f, -0.991903f, -0.997905f, -0.999989f, -0.998146f, -0.992373f, -0.982697f, -0.969162f, -0.951822f, -0.930744f, -0.906011f, -0.877719f, -0.845981f, -0.810921f, -0.772671f, -0.731379f, -0.687215f, -0.640353f, -0.590977f, -0.53928f, -0.485465f, -0.429744f, -0.372334f, -0.313461f, -0.253352f, -0.192249f, -0.130392f, -0.0680235f, -0.0053876f, 0.0572695f, 0.119702f, 0.181665f, 0.242916f, 0.303208f, 0.36231f, 0.419987f, 0.476016f, 0.530175f, 0.582252f, 0.632042f, 0.679352f, 0.723993f, 0.765784f, 0.804564f, 0.840183f, 0.872503f, 0.901397f, 0.926751f, 0.948466f, 0.966456f, 0.980652f, 0.990988f, 0.997425f, 0.999945f, 0.998539f, 0.993212f, 0.983985f, 0.970894f, 0.95399f, 0.933339f, 0.909019f, 0.881119f, 0.849759f, 0.815063f, 0.777166f, 0.736217f, 0.692377f, 0.645818f, 0.596722f, 0.545282f, 0.491693f, 0.436173f, 0.37894f, 0.32022f, 0.260243f, 0.199243f, 0.137461f, 0.0751383f, 0.01252f, -0.0501479f, -0.112618f, -0.174645f, -0.235986f, -0.296401f, -0.355651f, -0.413505f, -0.469735f, -0.524122f, -0.576445f, -0.626501f, -0.674096f, -0.719044f, -0.761167f, -0.800302f, -0.836294f, -0.869003f, -0.898299f, -0.924062f, -0.946187f, -0.964596f, -0.979217f, -0.989993f, -0.996881f, -0.999855f, -0.998902f, -0.994026f, -0.985245f, -0.972581f, -0.956098f, -0.93586f, -0.911948f, -0.884454f, -0.853487f, -0.819169f, -0.781633f, -0.741027f, -0.6975f, -0.651235f, -0.602411f, -0.551223f, -0.49787f, -0.442562f, -0.385516f, -0.326955f, -0.26711f, -0.206213f, -0.144505f, -0.0822309f, -0.019634f, 0.0430399f, 0.105545f, 0.167635f, 0.229068f, 0.289602f, 0.348997f, 0.407018f, 0.46344f, 0.518042f, 0.570609f, 0.620935f, 0.668823f, 0.714085f, 0.756544f, 0.796029f, 0.832378f, 0.865458f, 0.895139f, 0.921304f, 0.943852f, 0.962694f, 0.977755f, 0.988976f, 0.996314f, 0.999724f, 0.999208f, 0.994768f, 0.986423f, 0.974204f, 0.958159f, 0.938351f, 0.914859f, 0.887773f, 0.85719f, 0.823239f, 0.786054f, 0.745784f, 0.702585f, 0.656627f, 0.60809f, 0.557165f, 0.504051f, 0.448953f, 0.392089f, 0.333686f, 0.273973f, 0.213184f, 0.151558f, 0.089337f, 0.0267646f, -0.0359135f, -0.0984509f, -0.1606f, -0.222119f, -0.282764f, -0.342299f, -0.400489f, -0.457107f, -0.51193f, -0.564744f, -0.615339f, -0.663509f, -0.709073f, -0.751852f, -0.791678f, -0.828396f, -0.86186f, -0.89194f, -0.918518f, -0.941489f, -0.960749f, -0.976235f, -0.987887f, -0.995659f, -0.999521f, -0.999459f, -0.995472f, -0.987575f, -0.9758f, -0.960183f, -0.94079f, -0.917703f, -0.891012f, -0.860823f, -0.827253f, -0.790434f, -0.750511f, -0.707641f, -0.661986f, -0.613726f, -0.563056f, -0.510176f, -0.455292f, -0.398621f, -0.340384f, -0.28081f, -0.220133f, -0.15859f, -0.0964221f, -0.0338765f, 0.0288017f, 0.0913664f, 0.153572f, 0.215175f, 0.275933f, 0.335609f, 0.393967f, 0.450771f, 0.505805f, 0.558852f, 0.609704f, 0.658162f, 0.704035f, 0.747144f, 0.787319f, 0.824403f, 0.85824f, 0.888702f, 0.915674f, 0.939051f, 0.958739f, 0.974663f, 0.986759f, 0.994981f, 0.999295f, 0.999678f, 0.996127f, 0.988664f, 0.97732f, 0.962137f, 0.943176f, 0.920512f, 0.894232f, 0.864441f, 0.831251f, 0.794787f, 0.755202f, 0.712652f, 0.667304f, 0.619336f, 0.568935f, 0.5163f, 0.461637f, 0.405159f, 0.347085f, 0.287648f, 0.227082f, 0.165625f, 0.103518f, 0.0410038f, -0.0216716f, -0.0842624f, -0.146523f, -0.208206f, -0.269071f, -0.328878f, -0.387394f, -0.444388f, -0.499637f, -0.552925f, -0.604041f, -0.652786f, -0.698961f, -0.742387f, -0.782897f, -0.820332f, -0.854546f, -0.885404f, -0.912785f, -0.936582f, -0.956701f, -0.973058f, -0.985583f, -0.994238f, -0.998989f, -0.999817f, -0.996719f, -0.989706f, -0.978807f, -0.964065f, -0.945533f, -0.923276f, -0.897393f, -0.867987f, -0.835172f, -0.799078f, -0.759846f, -0.717629f, -0.672594f, -0.624918f, -0.574778f, -0.52238f, -0.467932f, -0.411647f, -0.353745f, -0.294454f, -0.234006f, -0.172639f, -0.110594f, -0.0481124f, 0.0145576f, 0.0771698f, 0.139479f, 0.201239f, 0.26221f, 0.322151f, 0.380828f, 0.43801f, 0.493468f, 0.546984f, 0.598352f, 0.64737f, 0.693845f, 0.737596f, 0.77845f, 0.816248f, 0.85084f, 0.882088f, 0.909862f, 0.934062f, 0.954594f, 0.971377f, 0.984346f, 0.99345f, 0.998652f, 0.999933f, 0.997287f, 0.990709f, 0.980241f, 0.965924f, 0.947814f, 0.925982f, 0.900513f, 0.871508f, 0.839081f, 0.803358f, 0.76447f, 0.722578f, 0.677849f, 0.630459f, 0.580592f, 0.528446f, 0.474224f, 0.41814f, 0.360413f, 0.301267f, 0.240936f, 0.179659f, 0.117678f, 0.0552347f, -0.00742554f, -0.0700568f, -0.132413f, -0.194251f, -0.255324f, -0.315393f, -0.374222f, -0.431581f, -0.487245f, -0.540995f, -0.592621f, -0.641921f, -0.6887f, -0.732773f, -0.773959f, -0.812105f, -0.847061f, -0.878691f, -0.906871f, -0.931489f, -0.952449f, -0.96967f, -0.983082f, -0.99262f, -0.998258f, -0.999976f, -0.997768f, -0.991641f, -0.98162f, -0.967744f, -0.950068f, -0.92866f, -0.903596f, -0.874978f, -0.842926f, -0.807563f, -0.769029f, -0.727475f, -0.683064f, -0.635971f, -0.586379f, -0.534481f, -0.480479f, -0.42459f, -0.367035f, -0.308039f, -0.247833f, -0.186654f, -0.124741f, -0.0623382f, 0.000310476f, 0.0629578f, 0.125357f, 0.187264f, 0.248435f, 0.30863f, 0.367613f, 0.425153f, 0.481025f, 0.535007f, 0.586881f, 0.636449f, 0.683517f, 0.727901f, 0.769426f, 0.80793f, 0.843261f, 0.875281f, 0.903865f, 0.928887f, 0.950259f, 0.967898f, 0.981737f, 0.99172f, 0.997809f, 0.99998f, 0.998225f, 0.992549f, 0.982967f, 0.969518f, 0.952262f, 0.931267f, 0.906615f, 0.878402f, 0.84674f, 0.811753f, 0.773578f, 0.732361f, 0.688259f, 0.641456f, 0.592134f, 0.540487f, 0.486718f, 0.431037f, 0.373663f, 0.314821f, 0.254741f, 0.193658f, 0.131815f, 0.0694546f, 0.00682193f, -0.0558374f, -0.118277f, -0.180253f, -0.241522f, -0.301843f, -0.360975f, -0.418687f, -0.474755f, -0.528958f, -0.581084f, -0.630928f, -0.678295f, -0.722998f, -0.764863f, -0.803716f, -0.839408f, -0.871804f, -0.900776f, -0.92621f, -0.948008f, -0.966082f, -0.980363f, -0.990795f, -0.997328f, -0.999936f, -0.998618f, -0.993377f, -0.984236f, -0.97123f, -0.95441f, -0.933842f, -0.909607f, -0.881796f, -0.850511f, -0.815887f, -0.778059f, -0.737176f, -0.693398f, -0.646897f, -0.597856f, -0.546466f, -0.49293f, -0.43745f, -0.380253f, -0.321563f, -0.261611f, -0.200631f, -0.138864f, -0.0765508f, -0.0139367f, 0.0487328f, 0.111211f, 0.173251f, 0.23461f, 0.295047f, 0.354326f, 0.412213f, 0.468482f, 0.522911f, 0.575287f, 0.6254f, 0.673052f, 0.71806f, 0.760249f, 0.799451f, 0.835514f, 0.868297f, 0.897669f, 0.923517f, 0.945734f, 0.964227f, 0.978932f, 0.989794f, 0.996768f, 0.999829f, 0.998963f, 0.994175f, 0.985483f, 0.97292f, 0.956521f, 0.936367f, 0.912536f, 0.885121f, 0.854231f, 0.819986f, 0.782521f, 0.741983f, 0.698531f, 0.652326f, 0.603558f, 0.55242f, 0.499114f, 0.443847f, 0.386838f, 0.328309f, 0.26849f, 0.207617f, 0.145925f, 0.0836607f, 0.0210681f, -0.0416068f, -0.104118f, -0.166221f, -0.227671f, -0.288227f, -0.347652f, -0.40571f, -0.462171f, -0.516816f, -0.569431f, -0.61981f, -0.667755f, -0.713077f, -0.7556f, -0.795156f, -0.831588f, -0.864743f, -0.894502f, -0.920747f, -0.943377f, -0.962303f, -0.977449f, -0.988757f, -0.996183f, -0.999696f, -0.999269f, -0.994916f, -0.986657f, -0.974523f, -0.958563f, -0.938838f, -0.915426f, -0.888419f, -0.857923f, -0.824048f, -0.786934f, -0.74673f, -0.703593f, -0.657694f, -0.609212f, -0.558338f, -0.505271f, -0.450218f, -0.393395f, -0.335023f, -0.275336f, -0.214568f, -0.152959f, -0.090748f, -0.028181f, 0.0344972f, 0.0970404f, 0.159203f, 0.220738f, 0.281406f, 0.340968f, 0.39919f, 0.455845f, 0.510711f, 0.56357f, 0.614218f, 0.662453f, 0.708077f, 0.75092f, 0.790813f, 0.827601f, 0.861139f, 0.891295f, 0.917951f, 0.941003f, 0.96036f, 0.975933f, 0.98767f, 0.995529f, 0.999478f, 0.999503f, 0.995603f, 0.987794f, 0.976105f, 0.960584f, 0.941281f, 0.918275f, 0.891664f, 0.861552f, 0.828056f, 0.791309f, 0.751454f, 0.708648f, 0.663059f, 0.614862f, 0.564244f, 0.511411f, 0.45657f, 0.399936f, 0.341732f, 0.282185f, 0.22153f, 0.160005f, 0.0978504f, 0.0353102f, -0.027368f, -0.0899381f, -0.152155f, -0.213774f, -0.274553f, -0.334255f, -0.392645f, -0.449493f, -0.50457f, -0.557664f, -0.608568f, -0.657082f, -0.703015f, -0.746187f, -0.78643f, -0.823584f, -0.857505f, -0.888049f, -0.915101f, -0.938559f, -0.958331f, -0.97434f, -0.986523f, -0.994832f, -0.999234f, -0.999712f, -0.996257f, -0.988881f, -0.977622f, -0.962524f, -0.943646f, -0.921063f, -0.894863f, -0.865148f, -0.832036f, -0.795653f, -0.756135f, -0.713649f, -0.668361f, -0.620448f, -0.570099f, -0.517511f, -0.46289f, -0.406452f, -0.348416f, -0.289007f, -0.228463f, -0.167023f, -0.104927f, -0.0424195f, 0.0202548f, 0.0828499f, 0.14512f, 0.206821f, 0.267708f, 0.327541f, 0.386088f, 0.443119f, 0.498409f, 0.551741f, 0.602908f, 0.651707f, 0.697948f, 0.741442f, 0.782018f, 0.819523f, 0.85381f, 0.884743f, 0.912203f, 0.93608f, 0.956282f, 0.972728f, 0.98535f, 0.994091f, 0.998928f, 0.999843f, 0.996833f, 0.989908f, 0.979095f, 0.964438f, 0.945993f, 0.923832f, 0.898029f, 0.868701f, 0.835961f, 0.799939f, 0.760775f, 0.718624f, 0.673651f, 0.626032f, 0.575954f, 0.523606f, 0.469201f, 0.412954f, 0.355086f, 0.295824f, 0.2354f, 0.174051f, 0.112018f, 0.0495452f, -0.0131235f, -0.07574f, -0.138059f, -0.199834f, -0.260825f, -0.320792f, -0.379499f, -0.436717f, -0.49222f, -0.545787f, -0.597205f, -0.646278f, -0.692812f, -0.736626f, -0.777547f, -0.815414f, -0.85008f, -0.881408f, -0.909272f, -0.933554f, -0.954169f, -0.971037f, -0.984092f, -0.993283f, -0.998573f, -0.999941f, -0.997383f, -0.990908f, -0.980527f, -0.966294f, -0.948267f, -0.926517f, -0.901128f, -0.8722f, -0.839848f, -0.804196f, -0.765387f, -0.723562f, -0.678894f, -0.63156f, -0.581746f, -0.529648f, -0.47547f, -0.419425f, -0.361732f, -0.302618f, -0.242312f, -0.181054f, -0.119085f, -0.0566495f, 0.00600856f, 0.068643f, 0.131008f, 0.192859f, 0.253953f, 0.31405f, 0.372909f, 0.430303f, 0.486007f, 0.539803f, 0.591478f, 0.640831f, 0.687668f, 0.731804f, 0.773067f, 0.811282f, 0.846311f, 0.878016f, 0.906273f, 0.930971f, 0.952013f, 0.969317f, 0.982814f, 0.992453f, 0.99818f, 0.999985f, 0.997864f, 0.991824f, 0.98189f, 0.9681f, 0.950508f, 0.929184f, 0.90421f, 0.875677f, 0.843699f, 0.808409f, 0.769945f, 0.728457f, 0.684109f, 0.637074f, 0.587537f, 0.535692f, 0.48174f, 0.425891f, 0.36837f, 0.309404f, 0.249222f, 0.188062f, 0.126164f, 0.0637693f, 0.00112385f, -0.0615267f, -0.123935f, -0.185855f, -0.247045f, -0.307265f, -0.366278f, -0.423853f, -0.479764f, -0.533791f, -0.585723f, -0.635345f, -0.682472f, -0.726918f, -0.768509f, -0.807082f, -0.842486f, -0.874582f, -0.903244f, -0.928358f, -0.949817f, -0.967541f, -0.981466f, -0.991536f, -0.997713f, -0.999971f, -0.998303f, -0.992715f, -0.983228f, -0.969872f, -0.9527f, -0.931786f, -0.907214f, -0.879079f, -0.847492f, -0.812577f, -0.774471f, -0.733323f, -0.689292f, -0.642546f, -0.593278f, -0.54168f, -0.487955f, -0.432314f, -0.374975f, -0.316163f, -0.25611f, -0.195049f, -0.13322f, -0.0708683f, -0.00823892f, 0.0544225f, 0.11687f, 0.178859f, 0.240146f, 0.30049f, 0.359654f, 0.417402f, 0.473509f, 0.527756f, 0.57993f, 0.629827f, 0.677251f, 0.722015f, 0.763944f, 0.802873f, 0.838643f, 0.871113f, 0.900162f, 0.925676f, 0.947555f, 0.965713f, 0.980078f, 0.990595f, 0.997222f, 0.999928f, 0.998697f, 0.993544f, 0.98449f, 0.971569f, 0.954834f, 0.934349f, 0.910195f, 0.882466f, 0.85127f, 0.816719f, 0.778961f, 0.738145f, 0.69443f, 0.647988f, 0.599002f, 0.547663f, 0.494173f, 0.438742f, 0.381581f, 0.322922f, 0.262995f, 0.202036f, 0.140284f, 0.0779806f, 0.0153709f, -0.0472998f, -0.109785f, -0.171839f, -0.233216f, -0.293677f, -0.352984f, -0.410905f, -0.467212f, -0.521685f, -0.57411f, -0.62428f, -0.671995f, -0.717065f, -0.759318f, -0.79859f, -0.834725f, -0.867582f, -0.897032f, -0.92296f, -0.945264f, -0.963853f, -0.978644f, -0.989592f, -0.996654f, -0.999802f, -0.999024f, -0.994323f, -0.985717f, -0.973241f, -0.956942f, -0.93687f, -0.913119f, -0.885783f, -0.854968f, -0.820796f, -0.783401f, -0.742929f, -0.699539f, -0.653403f, -0.604691f, -0.553604f, -0.500342f, -0.445117f, -0.388144f, -0.329646f, -0.269854f, -0.209001f, -0.147327f, -0.0850732f, -0.0224849f, 0.0401911f, 0.102709f, 0.164823f, 0.22629f, 0.286868f, 0.346321f, 0.404414f, 0.460917f, 0.515605f, 0.568267f, 0.618698f, 0.666699f, 0.712082f, 0.754668f, 0.794291f, 0.830796f, 0.864037f, 0.893872f, 0.920197f, 0.942908f, 0.961916f, 0.977147f, 0.988541f, 0.996052f, 0.999653f, 0.999328f, 0.995065f, 0.986893f, 0.974845f, 0.95897f, 0.939328f, 0.915998f, 0.889071f, 0.858652f, 0.824861f, 0.787822f, 0.747686f, 0.704613f, 0.658774f, 0.610348f, 0.559526f, 0.506505f, 0.451496f, 0.394713f, 0.336376f, 0.276716f, 0.21597f, 0.154376f, 0.0921763f, 0.0296147f, -0.0330635f, -0.0956122f, -0.157786f, -0.21934f, -0.28003f, -0.33962f, -0.397875f, -0.454568f, -0.509476f, -0.562383f, -0.613082f, -0.661373f, -0.707069f, -0.749976f, -0.789938f, -0.826797f, -0.860409f, -0.890642f, -0.917378f, -0.940512f, -0.959952f, -0.975623f, -0.987451f, -0.995397f, -0.999434f, -0.999546f, -0.995734f, -0.988011f, -0.976408f, -0.960971f, -0.94176f, -0.918843f, -0.89231f, -0.862274f, -0.828851f, -0.792175f, -0.752387f, -0.709644f, -0.664115f, -0.615977f, -0.565417f, -0.512631f, -0.457831f, -0.401235f, -0.343063f, -0.283544f, -0.222911f, -0.161403f, -0.0992599f, -0.0367265f, 0.0259516f, 0.0885271f, 0.150754f, 0.212389f, 0.27319f, 0.332918f, 0.391339f, 0.448224f, 0.503349f, 0.556491f, 0.607446f, 0.656014f, 0.702007f, 0.745242f, 0.785551f, 0.822775f, 0.856769f, 0.887399f, 0.914535f, 0.938074f, 0.957928f, 0.974021f, 0.986289f, 0.994684f, 0.999173f, 0.999739f, 0.996379f, 0.9891f, 0.977927f, 0.962914f, 0.94412f, 0.921619f, 0.895499f, 0.865862f, 0.832824f, 0.796516f, 0.757078f, 0.714656f, 0.669429f, 0.621573f, 0.571276f, 0.518737f, 0.464159f, 0.407759f, 0.349757f, 0.290381f, 0.229861f, 0.168438f, 0.106354f, 0.0438525f, -0.0188207f, -0.0814201f, -0.1437f, -0.205416f, -0.266326f, -0.326188f, -0.384766f, -0.441833f, -0.497165f, -0.550544f, -0.601761f, -0.650615f, -0.696915f, -0.740478f, -0.781129f, -0.818704f, -0.853065f, -0.884075f, -0.911613f, -0.935572f, -0.955857f, -0.972388f, -0.985101f, -0.993942f, -0.998867f, -0.99987f, -0.996946f, -0.990107f, -0.979381f, -0.964808f, -0.946447f, -0.924369f, -0.89866f, -0.869408f, -0.836742f, -0.800791f, -0.761695f, -0.719608f, -0.674695f, -0.627133f, -0.577108f, -0.524815f, -0.470455f, -0.414246f, -0.356411f, -0.297177f, -0.236777f, -0.175446f, -0.113426f, -0.05096f, 0.0117066f, 0.0743275f, 0.136656f, 0.198446f, 0.259457f, 0.319449f, 0.378187f, 0.435439f, 0.490982f, 0.544598f, 0.596072f, 0.645199f, 0.691792f, 0.735668f, 0.776655f, 0.814591f, 0.84933f, 0.880733f, 0.908677f, 0.933052f, 0.95375f, 0.970702f, 0.983842f, 0.993118f, 0.998495f, 0.99995f, 0.99748f, 0.991092f, 0.980813f, 0.966667f, 0.948725f, 0.927057f, 0.901748f, 0.872899f, 0.840621f, 0.805043f, 0.766303f, 0.724553f, 0.67995f, 0.632674f, 0.582914f, 0.530864f, 0.476731f, 0.420725f, 0.363067f, 0.303982f, 0.243704f, 0.182466f, 0.12051f, 0.0580817f, -0.00457423f, -0.0672119f, -0.129586f, -0.191451f, -0.252564f, -0.312687f, -0.371581f, -0.429011f, -0.484755f, -0.538596f, -0.590321f, -0.639728f, -0.686623f, -0.730822f, -0.772151f, -0.810449f, -0.845551f, -0.877332f, -0.905667f, -0.930446f, -0.951571f, -0.96896f, -0.982543f, -0.992268f, -0.998097f, -0.999994f, -0.99796f, -0.992007f, -0.982159f, -0.968454f, -0.950945f, -0.929703f, -0.904809f, -0.876362f, -0.844466f, -0.809247f, -0.770851f, -0.729428f, -0.685141f, -0.638164f, -0.58868f, -0.536884f, -0.48298f, -0.427176f, -0.369689f, -0.310752f, -0.250595f, -0.189454f, -0.127569f, -0.0651831f, -0.00254084f, 0.060112f, 0.122529f, 0.184464f, 0.245673f, 0.305917f, 0.364959f, 0.422568f, 0.478518f, 0.532589f, 0.584569f, 0.634254f, 0.68144f, 0.725947f, 0.767603f, 0.806245f, 0.841721f, 0.873891f, 0.90263f, 0.927824f, 0.949375f, 0.967189f, 0.981198f, 0.991354f, 0.997617f, 0.999963f, 0.998382f, 0.992881f, 0.983481f, 0.970219f, 0.95314f, 0.932309f, 0.907818f, 0.879762f, 0.848251f, 0.813409f, 0.775373f, 0.734292f, 0.690327f, 0.643649f, 0.594435f, 0.542887f, 0.489207f, 0.433607f, 0.376303f, 0.317523f, 0.257494f, 0.196454f, 0.134642f, 0.0722994f, 0.00967325f, -0.0529903f, -0.115445f, -0.177447f, -0.238752f, -0.29912f, -0.358313f, -0.4161f, -0.472249f, -0.52654f, -0.578763f, -0.628713f, -0.676194f, -0.721019f, -0.763014f, -0.802012f, -0.837861f, -0.870414f, -0.899541f, -0.925135f, -0.947097f, -0.965339f, -0.97979f, -0.990394f, -0.997108f, -0.999907f, -0.998775f, -0.993709f, -0.984741f, -0.971906f, -0.955254f, -0.934852f, -0.910778f, -0.883127f, -0.852009f, -0.817543f, -0.779854f, -0.739103f, -0.695451f, -0.649068f, -0.600135f, -0.548846f, -0.495402f, -0.440012f, -0.382893f, -0.324265f, -0.264363f, -0.203424f, -0.141687f, -0.0793931f, -0.0167876f, 0.0458841f, 0.108376f, 0.170443f, 0.23184f, 0.292324f, 0.351659f, 0.409613f, 0.465959f, 0.520474f, 0.572946f, 0.623169f, 0.670944f, 0.716082f, 0.758399f, 0.797738f, 0.833945f, 0.866876f, 0.896403f, 0.92241f, 0.944795f, 0.96347f, 0.978359f, 0.989393f, 0.996541f, 0.999776f, 0.999086f, 0.994472f, 0.985953f, 0.973563f, 0.957349f, 0.937376f, 0.913707f, 0.88645f, 0.855712f, 0.821614f, 0.784289f, 0.743885f, 0.700559f, 0.654482f, 0.605835f, 0.554801f, 0.501586f, 0.446402f, 0.389465f, 0.330999f, 0.271234f, 0.210403f, 0.148745f, 0.0865023f, 0.023919f, -0.0387581f, -0.101282f, -0.163408f, -0.224892f, -0.285493f, -0.344973f, -0.403099f, -0.459642f, -0.514379f, -0.56709f, -0.617573f, -0.66563f, -0.711074f, -0.753725f, -0.793416f, -0.829992f, -0.863308f, -0.893235f, -0.91964f, -0.942433f, -0.961525f, -0.976841f, -0.988322f, -0.995921f, -0.999609f, -0.999372f, -0.99521f, -0.987127f, -0.975165f, -0.959374f, -0.939815f, -0.916565f, -0.889717f, -0.859374f, -0.825657f, -0.788696f, -0.748632f, -0.705622f, -0.659842f, -0.611471f, -0.560699f, -0.507725f, -0.452758f, -0.396011f, -0.33771f, -0.278079f, -0.217354f, -0.155776f, -0.0935874f, -0.031031f, 0.0316471f, 0.0942011f, 0.156386f, 0.217957f, 0.278672f, 0.338289f, 0.396576f, 0.453306f, 0.508256f, 0.561209f, 0.611959f, 0.660306f, 0.706061f, 0.749043f, 0.789073f, 0.826002f, 0.859688f, 0.889997f, 0.916812f, 0.940026f, 0.959549f, 0.975304f, 0.987229f, 0.995267f, 0.999391f, 0.99959f, 0.995865f, 0.988229f, 0.976713f, 0.961361f, 0.942234f, 0.919406f, 0.892962f, 0.863002f, 0.829655f, 0.793049f, 0.75333f, 0.710652f, 0.665183f, 0.617102f, 0.566598f, 0.513865f, 0.459109f, 0.40255f, 0.34441f, 0.284919f, 0.224309f, 0.162817f, 0.100686f, 0.0381596f, -0.0245179f, -0.0870988f, -0.149337f, -0.210988f, -0.27181f, -0.331565f, -0.390017f, -0.446939f, -0.502106f, -0.555301f, -0.60631f, -0.654934f, -0.700986f, -0.744285f, -0.784662f, -0.821957f, -0.856024f, -0.88673f, -0.913954f, -0.937582f, -0.95752f, -0.973698f, -0.986053f, -0.994535f, -0.999112f, -0.999765f, -0.996492f, -0.989306f, -0.97823f, -0.963302f, -0.944591f, -0.92217f, -0.896129f, -0.866569f, -0.833605f, -0.797368f, -0.757999f, -0.715653f, -0.670485f, -0.622685f, -0.57244f, -0.519948f, -0.465413f, -0.409051f, -0.351083f, -0.291735f, -0.231241f, -0.169835f, -0.107763f, -0.0452682f, 0.0174039f, 0.0800076f, 0.142297f, 0.204028f, 0.264958f, 0.324849f, 0.383461f, 0.440564f, 0.495936f, 0.549361f, 0.600628f, 0.649537f, 0.695895f, 0.73952f, 0.780242f, 0.817896f, 0.852329f, 0.883415f, 0.911031f, 0.93507f, 0.955437f, 0.972052f, 0.98485f, 0.993781f, 0.998806f, 0.999896f, 0.99706f, 0.990309f, 0.979669f, 0.965181f, 0.946904f, 0.924908f, 0.89928f, 0.870121f, 0.83753f, 0.801651f, 0.762624f, 0.720603f, 0.675752f, 0.628247f, 0.578275f, 0.526032f, 0.471722f, 0.415554f, 0.357753f, 0.298547f, 0.23817f, 0.176858f, 0.11485f, 0.0523922f, -0.0102723f, -0.0728971f, -0.135235f, -0.197041f, -0.258073f, -0.31809f, -0.376858f, -0.434147f, -0.48973f, -0.543391f, -0.594918f, -0.644107f, -0.690759f, -0.734698f, -0.775751f, -0.813758f, -0.84857f, -0.880049f, -0.908072f, -0.93253f, -0.953325f, -0.970362f, -0.983588f, -0.992951f, -0.998415f, -0.999959f, -0.997576f, -0.991275f, -0.981081f, -0.967035f, -0.949178f, -0.927592f, -0.902363f, -0.873591f, -0.841388f, -0.805881f, -0.767209f, -0.725525f, -0.68099f, -0.633775f, -0.584067f, -0.532066f, -0.477976f, -0.42201f, -0.364386f, -0.305331f, -0.245076f, -0.183858f, -0.121917f, -0.0594965f, 0.00315724f, 0.0657981f, 0.12818f, 0.190059f, 0.251192f, 0.311338f, 0.370263f, 0.427733f, 0.483518f, 0.537403f, 0.589177f, 0.638638f, 0.68559f, 0.729851f, 0.771245f, 0.809611f, 0.844799f, 0.876656f, 0.905069f, 0.929928f, 0.951135f, 0.968607f, 0.982275f, 0.992086f, 0.998001f, 0.999997f, 0.998056f, 0.992191f, 0.982429f, 0.96881f, 0.951386f, 0.930226f, 0.905413f, 0.877045f, 0.845232f, 0.810094f, 0.771767f, 0.73041f, 0.686186f, 0.639267f, 0.589837f, 0.538091f, 0.484232f, 0.428471f, 0.371024f, 0.312117f, 0.251984f, 0.190862f, 0.128992f, 0.0666142f, 0.00397517f, -0.0586798f, -0.121105f, -0.183055f, -0.244284f, -0.304552f, -0.363624f, -0.421268f, -0.477257f, -0.531373f, -0.583401f, -0.63314f, -0.680392f, -0.724964f, -0.766687f, -0.805398f, -0.840946f, -0.873192f, -0.902009f, -0.927284f, -0.948917f, -0.966825f, -0.980927f, -0.99117f, -0.99752f, -0.999954f, -0.99846f, -0.993046f, -0.983732f, -0.970555f, -0.953567f, -0.932829f, -0.908417f, -0.880439f, -0.849003f, -0.814233f, -0.776266f, -0.735251f, -0.691348f, -0.64473f, -0.595578f, -0.544079f, -0.490444f, -0.434884f, -0.377616f, -0.318865f, -0.258862f, -0.197843f, -0.136045f, -0.0737131f, -0.0110902f, 0.0515755f, 0.114038f, 0.176052f, 0.237375f, 0.297766f, 0.356988f, 0.414808f, 0.471f, 0.525338f, 0.577609f, 0.627612f, 0.67515f, 0.720036f, 0.762095f, 0.801161f, 0.837081f, 0.869715f, 0.898927f, 0.924601f, 0.946644f, 0.964969f, 0.979505f, 0.990194f, 0.996995f, 0.999881f, 0.998841f, 0.993875f, 0.984994f, 0.972245f, 0.955678f, 0.935359f, 0.911366f, 0.883795f, 0.852753f, 0.818361f, 0.780756f, 0.740072f, 0.696483f, 0.650159f, 0.601282f, 0.550044f, 0.496646f, 0.441297f, 0.384214f, 0.325623f, 0.265748f, 0.204829f, 0.143107f, 0.0808229f, 0.0182217f, -0.044451f, -0.10695f, -0.169028f, -0.230444f, -0.290954f, -0.350318f, -0.408306f, -0.46469f, -0.519249f, -0.571768f, -0.622043f, -0.669876f, -0.715078f, -0.757469f, -0.796877f, -0.833155f, -0.866161f, -0.895766f, -0.921853f, -0.94432f, -0.963079f, -0.978056f, -0.989191f, -0.996427f, -0.99975f, -0.999147f, -0.99462f, -0.986188f, -0.973882f, -0.957753f, -0.937862f, -0.914288f, -0.887111f, -0.856449f, -0.822424f, -0.785169f, -0.744831f, -0.701568f, -0.65555f, -0.606957f, -0.555981f, -0.502815f, -0.447672f, -0.390771f, -0.332336f, -0.272597f, -0.211787f, -0.150145f, -0.0879133f, -0.0253355f, 0.0373424f, 0.099873f, 0.162011f, 0.223512f, 0.284135f, 0.343642f, 0.4018f, 0.45838f, 0.513161f, 0.565926f, 0.616461f, 0.664574f, 0.710078f, 0.752792f, 0.792551f, 0.829197f, 0.862587f, 0.892591f, 0.919089f, 0.941964f, 0.961139f, 0.976539f, 0.988105f, 0.99579f, 0.999565f, 0.999416f, 0.995341f, 0.987359f, 0.975487f, 0.959781f, 0.940305f, 0.917138f, 0.890369f, 0.860103f, 0.82646f, 0.789571f, 0.749581f, 0.706642f, 0.660922f, 0.612607f, 0.561887f, 0.50896f, 0.454035f, 0.397326f, 0.339057f, 0.279456f, 0.218756f, 0.157194f, 0.0950156f, 0.0324647f, -0.0302134f, -0.0927729f, -0.154968f, -0.216555f, -0.277292f, -0.336941f, -0.395262f, -0.452029f, -0.507021f, -0.560022f, -0.610823f, -0.659226f, -0.70504f, -0.748086f, -0.788195f, -0.825198f, -0.858958f, -0.889345f, -0.916239f, -0.939535f, -0.959141f, -0.974981f, -0.986992f, -0.995128f, -0.999347f, -0.999634f, -0.995996f, -0.988446f, -0.977016f, -0.961748f, -0.942704f, -0.919958f, -0.893598f, -0.863725f, -0.83045f, -0.793915f, -0.754263f, -0.711648f, -0.666239f, -0.618214f, -0.567761f, -0.515078f, -0.46037f, -0.403849f, -0.345742f, -0.286277f, -0.225689f, -0.164215f, -0.102096f, -0.0395753f, 0.0231012f, 0.0856877f, 0.147936f, 0.209603f, 0.270447f, 0.330228f, 0.388712f, 0.445669f, 0.500877f, 0.554118f, 0.605184f, 0.653867f, 0.699978f, 0.74334f, 0.783783f, 0.821148f, 0.855288f, 0.88607f, 0.913372f, 0.937088f, 0.957117f, 0.97338f, 0.985819f, 0.994387f, 0.999051f, 0.999791f, 0.996606f, 0.989507f, 0.978523f, 0.963692f, 0.945064f, 0.922726f, 0.896765f, 0.867282f, 0.834394f, 0.798229f, 0.758929f, 0.716648f, 0.671553f, 0.62381f, 0.573618f, 0.521173f, 0.466682f, 0.410359f, 0.352424f, 0.293105f, 0.232634f, 0.171249f, 0.10919f, 0.0467013f, -0.0159698f, -0.0785778f, -0.140877f, -0.202623f, -0.263574f, -0.32349f, -0.382136f, -0.439279f, -0.494693f, -0.548163f, -0.599481f, -0.648445f, -0.694862f, -0.738551f, -0.779339f, -0.817068f, -0.851584f, -0.882746f, -0.910442f, -0.934562f, -0.955012f, -0.971712f, -0.984596f, -0.993614f, -0.99873f, -0.999922f, -0.997173f, -0.990508f, -0.979954f, -0.965552f, -0.947358f, -0.925444f, -0.899895f, -0.870812f, -0.83831f, -0.802503f, -0.763544f, -0.721587f, -0.676796f, -0.629348f, -0.579429f, -0.527234f, -0.472968f, -0.416844f, -0.359078f, -0.299901f, -0.239547f, -0.178252f, -0.116258f, -0.053807f, 0.00885532f, 0.0714833f, 0.133831f, 0.195653f, 0.256705f, 0.316747f, 0.375546f, 0.432869f, 0.488493f, 0.542198f, 0.593775f, 0.64302f, 0.689739f, 0.73374f, 0.774859f, 0.812935f, 0.847819f, 0.879373f, 0.907474f, 0.932011f, 0.952889f, 0.970025f, 0.983337f, 0.992786f, 0.998337f, 0.999968f, 0.997672f, 0.991459f, 0.981352f, 0.967391f, 0.949632f, 0.928132f, 0.902983f, 0.874289f, 0.842162f, 0.806727f, 0.768125f, 0.726507f, 0.682035f, 0.634884f, 0.585235f, 0.533283f, 0.479237f, 0.42331f, 0.365721f, 0.306695f, 0.246465f, 0.185267f, 0.123341f, 0.0609287f, -0.00172291f, -0.064367f, -0.126758f, -0.188651f, -0.249803f, -0.309974f, -0.368928f, -0.426434f, -0.482266f, -0.536196f, -0.58802f, -0.637535f, -0.684546f, -0.728868f, -0.770329f, -0.808764f, -0.844024f, -0.87597f, -0.904464f, -0.929404f, -0.950694f, -0.96825f, -0.982004f, -0.991902f, -0.997905f, -0.999989f, -0.998146f, -0.992373f, -0.982698f, -0.969163f, -0.951823f, -0.930745f, -0.906012f, -0.877722f, -0.845984f, -0.810924f, -0.772674f, -0.731382f, -0.687218f, -0.640357f, -0.590981f, -0.539284f, -0.485469f, -0.429748f, -0.372338f, -0.313465f, -0.253356f, -0.192254f, -0.130397f, -0.068028f, -0.00539216f, 0.057265f, 0.119698f, 0.181661f, 0.242911f, 0.303204f, 0.362305f, 0.419983f, 0.476012f, 0.530171f, 0.582248f, 0.632039f, 0.679348f, 0.72399f, 0.765781f, 0.804561f, 0.840181f, 0.872501f, 0.901395f, 0.926749f, 0.948464f, 0.966455f, 0.980651f, 0.990988f, 0.997425f, 0.999945f, 0.998539f, 0.993213f, 0.983986f, 0.970895f, 0.953991f, 0.933341f, 0.909021f, 0.881121f, 0.849762f, 0.815065f, 0.777169f, 0.73622f, 0.69238f, 0.645821f, 0.596726f, 0.545286f, 0.491697f, 0.436177f, 0.378944f, 0.320224f, 0.260247f, 0.199248f, 0.137465f, 0.0751429f, 0.0125245f, -0.0501433f, -0.112613f, -0.174641f, -0.235982f, -0.296396f, -0.355647f, -0.413501f, -0.469731f, -0.524118f, -0.576442f, -0.626498f, -0.674093f, -0.719041f, -0.761164f, -0.800299f, -0.836292f, -0.869f, -0.898297f, -0.92406f, -0.946186f, -0.964595f, -0.979216f, -0.989992f, -0.996881f, -0.999855f, -0.998902f, -0.994027f, -0.985246f, -0.972582f, -0.956099f, -0.935862f, -0.911949f, -0.884456f, -0.853489f, -0.819171f, -0.781636f, -0.74103f, -0.697504f, -0.651238f, -0.602415f, -0.551227f, -0.497874f, -0.442566f, -0.38552f, -0.32696f, -0.267115f, -0.206217f, -0.14451f, -0.0822355f, -0.0196385f, 0.0430353f, 0.10554f, 0.167631f, 0.229064f, 0.289598f, 0.348993f, 0.407014f, 0.463436f, 0.518038f, 0.570605f, 0.620932f, 0.66882f, 0.714082f, 0.756541f, 0.796026f, 0.832375f, 0.865455f, 0.895137f, 0.921303f, 0.943851f, 0.962692f, 0.977754f, 0.988976f, 0.996314f, 0.999724f, 0.999208f, 0.994769f, 0.986423f, 0.974205f, 0.95816f, 0.938353f, 0.91486f, 0.887775f, 0.857193f, 0.823241f, 0.786057f, 0.745787f, 0.702588f, 0.65663f, 0.608093f, 0.557168f, 0.504055f, 0.448957f, 0.392093f, 0.33369f, 0.273977f, 0.213188f, 0.151563f, 0.0893416f, 0.0267692f, -0.035909f, -0.0984464f, -0.160596f, -0.222114f, -0.28276f, -0.342294f, -0.400485f, -0.457103f, -0.511927f, -0.56474f, -0.615336f, -0.663506f, -0.70907f, -0.751849f, -0.791675f, -0.828393f, -0.861858f, -0.891938f, -0.918516f, -0.941487f, -0.960748f, -0.976234f, -0.987886f, -0.995659f, -0.999521f, -0.999459f, -0.995472f, -0.987576f, -0.975801f, -0.960185f, -0.940792f, -0.917705f, -0.891014f, -0.860825f, -0.827255f, -0.790437f, -0.750514f, -0.707644f, -0.661989f, -0.61373f, -0.56306f, -0.51018f, -0.455297f, -0.398625f, -0.340388f, -0.280815f, -0.220137f, -0.158594f, -0.0964267f, -0.033881f, 0.0287971f, 0.0913619f, 0.153568f, 0.215171f, 0.275929f, 0.335604f, 0.393963f, 0.450767f, 0.505801f, 0.558848f, 0.609701f, 0.658159f, 0.704032f, 0.747141f, 0.787316f, 0.8244f, 0.858237f, 0.8887f, 0.915672f, 0.939049f, 0.958738f, 0.974662f, 0.986759f, 0.994981f, 0.999295f, 0.999678f, 0.996127f, 0.988665f, 0.977321f, 0.962138f, 0.943178f, 0.920514f, 0.894234f, 0.864443f, 0.831253f, 0.79479f, 0.755205f, 0.712656f, 0.667308f, 0.619339f, 0.568939f, 0.516304f, 0.461641f, 0.405163f, 0.347089f, 0.287653f, 0.227087f, 0.16563f, 0.103522f, 0.0410083f, -0.0216671f, -0.0842579f, -0.146519f, -0.208202f, -0.269067f, -0.328874f, -0.38739f, -0.444384f, -0.499633f, -0.552921f, -0.604037f, -0.652782f, -0.698958f, -0.742384f, -0.782894f, -0.820329f, -0.854543f, -0.885402f, -0.912783f, -0.93658f, -0.9567f, -0.973057f, -0.985583f, -0.994238f, -0.998989f, -0.999817f, -0.996719f, -0.989707f, -0.978808f, -0.964066f, -0.945535f, -0.923278f, -0.897395f, -0.867989f, -0.835175f, -0.799081f, -0.759849f, -0.717632f, -0.672598f, -0.624921f, -0.574781f, -0.522384f, -0.467936f, -0.411651f, -0.353749f, -0.294458f, -0.234011f, -0.172644f, -0.110598f, -0.048117f, 0.0145531f, 0.0771653f, 0.139474f, 0.201235f, 0.262206f, 0.322147f, 0.380824f, 0.438005f, 0.493464f, 0.546981f, 0.598348f, 0.647366f, 0.693842f, 0.737593f, 0.778447f, 0.816245f, 0.850838f, 0.882086f, 0.90986f, 0.93406f, 0.954593f, 0.971376f, 0.984345f, 0.993449f, 0.998652f, 0.999933f, 0.997287f, 0.99071f, 0.980242f, 0.965925f, 0.947815f, 0.925983f, 0.900515f, 0.871511f, 0.839084f, 0.803361f, 0.764473f, 0.722582f, 0.677853f, 0.630462f, 0.580596f, 0.52845f, 0.474228f, 0.418144f, 0.360417f, 0.301271f, 0.24094f, 0.179664f, 0.117682f, 0.0552392f, -0.00742099f, -0.0700523f, -0.132409f, -0.194246f, -0.25532f, -0.315388f, -0.374217f, -0.431577f, -0.487241f, -0.540991f, -0.592618f, -0.641917f, -0.688697f, -0.73277f, -0.773956f, -0.812102f, -0.847059f, -0.878689f, -0.906869f, -0.931487f, -0.952448f, -0.969668f, -0.983081f, -0.99262f, -0.998258f, -0.999976f, -0.997768f, -0.991641f, -0.98162f, -0.967745f, -0.950069f, -0.928662f, -0.903598f, -0.874981f, -0.842928f, -0.807565f, -0.769032f, -0.727478f, -0.683067f, -0.635974f, -0.586383f, -0.534485f, -0.480483f, -0.424595f, -0.36704f, -0.308043f, -0.247838f, -0.186658f, -0.124746f, -0.0623428f, 0.000305924f, 0.0629533f, 0.125353f, 0.187259f, 0.24843f, 0.308626f, 0.367609f, 0.425149f, 0.481021f, 0.535003f, 0.586877f, 0.636445f, 0.683513f, 0.727897f, 0.769423f, 0.807927f, 0.843259f, 0.875279f, 0.903863f, 0.928886f, 0.950257f, 0.967897f, 0.981736f, 0.99172f, 0.997809f, 0.99998f, 0.998225f, 0.99255f, 0.982968f, 0.96952f, 0.952264f, 0.931269f, 0.906617f, 0.878404f, 0.846743f, 0.811756f, 0.773581f, 0.732364f, 0.688263f, 0.64146f, 0.592138f, 0.540491f, 0.486722f, 0.431041f, 0.373667f, 0.314825f, 0.254746f, 0.193662f, 0.131819f, 0.0694591f, 0.00682648f, -0.0558328f, -0.118273f, -0.180249f, -0.241518f, -0.301839f, -0.36097f, -0.418683f, -0.474751f, -0.528954f, -0.58108f, -0.630925f, -0.678291f, -0.722995f, -0.76486f, -0.803713f, -0.839406f, -0.871802f, -0.900774f, -0.926208f, -0.948006f, -0.966081f, -0.980362f, -0.990794f, -0.997328f, -0.999936f, -0.998618f, -0.993378f, -0.984237f, -0.971231f, -0.954411f, -0.933844f, -0.909608f, -0.881798f, -0.850514f, -0.815889f, -0.778062f, -0.737179f, -0.693401f, -0.6469f, -0.597859f, -0.54647f, -0.492934f, -0.437454f, -0.380257f, -0.321567f, -0.261615f, -0.200636f, -0.138868f, -0.0765554f, -0.0139413f, 0.0487283f, 0.111206f, 0.173246f, 0.234605f, 0.295043f, 0.354321f, 0.412209f, 0.468477f, 0.522907f, 0.575284f, 0.625397f, 0.673049f, 0.718057f, 0.760246f, 0.799448f, 0.835512f, 0.868294f, 0.897667f, 0.923515f, 0.945733f, 0.964225f, 0.978931f, 0.989793f, 0.996768f, 0.999828f, 0.998963f, 0.994176f, 0.985484f, 0.972921f, 0.956523f, 0.936369f, 0.912538f, 0.885123f, 0.854233f, 0.819989f, 0.782524f, 0.741986f, 0.698534f, 0.652329f, 0.603562f, 0.552424f, 0.499118f, 0.443851f, 0.386842f, 0.328313f, 0.268495f, 0.207621f, 0.14593f, 0.0836652f, 0.0210726f, -0.0416023f, -0.104114f, -0.166216f, -0.227666f, -0.288222f, -0.347648f, -0.405706f, -0.462167f, -0.516812f, -0.569427f, -0.619806f, -0.667751f, -0.713074f, -0.755597f, -0.795153f, -0.831586f, -0.864741f, -0.894499f, -0.920745f, -0.943376f, -0.962301f, -0.977448f, -0.988756f, -0.996182f, -0.999696f, -0.999269f, -0.994917f, -0.986658f, -0.974524f, -0.958564f, -0.938839f, -0.915428f, -0.888421f, -0.857926f, -0.824051f, -0.786937f, -0.746733f, -0.703597f, -0.657698f, -0.609216f, -0.558342f, -0.505275f, -0.450223f, -0.393399f, -0.335027f, -0.27534f, -0.214573f, -0.152963f, -0.0907526f, -0.0281855f, 0.0344926f, 0.0970359f, 0.159198f, 0.220733f, 0.281401f, 0.340963f, 0.399186f, 0.455841f, 0.510707f, 0.563567f, 0.614214f, 0.66245f, 0.708074f, 0.750917f, 0.790811f, 0.827599f, 0.861137f, 0.891293f, 0.917949f, 0.941001f, 0.960359f, 0.975932f, 0.987669f, 0.995528f, 0.999478f, 0.999503f, 0.995604f, 0.987794f, 0.976106f, 0.960585f, 0.941282f, 0.918277f, 0.891666f, 0.861554f, 0.828059f, 0.791312f, 0.751457f, 0.708651f, 0.663062f, 0.614865f, 0.564248f, 0.511415f, 0.456574f, 0.39994f, 0.341736f, 0.28219f, 0.221535f, 0.16001f, 0.0978549f, 0.0353147f, -0.0273634f, -0.0899336f, -0.15215f, -0.213769f, -0.274549f, -0.334251f, -0.392641f, -0.449489f, -0.504566f, -0.557661f, -0.608564f, -0.657078f, -0.703012f, -0.746184f, -0.786427f, -0.823582f, -0.857503f, -0.888047f, -0.915099f, -0.938558f, -0.95833f, -0.974339f, -0.986522f, -0.994831f, -0.999234f, -0.999712f, -0.996258f, -0.988882f, -0.977623f, -0.962525f, -0.943648f, -0.921065f, -0.894865f, -0.86515f, -0.832038f, -0.795655f, -0.756138f, -0.713652f, -0.668364f, -0.620452f, -0.570103f, -0.517515f, -0.462894f, -0.406456f, -0.34842f, -0.289011f, -0.228468f, -0.167027f, -0.104932f, -0.042424f, 0.0202503f, 0.0828454f, 0.145116f, 0.206817f, 0.267703f, 0.327537f, 0.386084f, 0.443114f, 0.498405f, 0.551738f, 0.602904f, 0.651704f, 0.697944f, 0.741439f, 0.782015f, 0.81952f, 0.853807f, 0.884741f, 0.912201f, 0.936078f, 0.95628f, 0.972727f, 0.985349f, 0.99409f, 0.998928f, 0.999844f, 0.996833f, 0.989908f, 0.979096f, 0.964439f, 0.945994f, 0.923834f, 0.898031f, 0.868703f, 0.835963f, 0.799941f, 0.760778f, 0.718627f, 0.673654f, 0.626035f, 0.575958f, 0.52361f, 0.469205f, 0.412959f, 0.355091f, 0.295828f, 0.235404f, 0.174056f, 0.112023f, 0.0495497f, -0.0131189f, -0.0757355f, -0.138054f, -0.19983f, -0.260821f, -0.320788f, -0.379495f, -0.436713f, -0.492216f, -0.545783f, -0.597202f, -0.646274f, -0.692809f, -0.736623f, -0.777544f, -0.815412f, -0.850078f, -0.881406f, -0.909271f, -0.933552f, -0.954168f, -0.971036f, -0.984092f, -0.993282f, -0.998572f, -0.999941f, -0.997383f, -0.990909f, -0.980528f, -0.966295f, -0.948269f, -0.926518f, -0.90113f, -0.872203f, -0.83985f, -0.804199f, -0.76539f, -0.723566f, -0.678897f, -0.631564f, -0.58175f, -0.529652f, -0.475474f, -0.419429f, -0.361736f, -0.302622f, -0.242317f, -0.181058f, -0.11909f, -0.0566541f, 0.006004f, 0.0686385f, 0.131004f, 0.192855f, 0.253949f, 0.314046f, 0.372905f, 0.430299f, 0.486003f, 0.539799f, 0.591474f, 0.640827f, 0.687664f, 0.731801f, 0.773064f, 0.811279f, 0.846308f, 0.878013f, 0.906271f, 0.930969f, 0.952012f, 0.969316f, 0.982813f, 0.992452f, 0.99818f, 0.999985f, 0.997864f, 0.991825f, 0.981891f, 0.968101f, 0.95051f, 0.929185f, 0.904212f, 0.875679f, 0.843702f, 0.808412f, 0.769948f, 0.72846f, 0.684112f, 0.637077f, 0.58754f, 0.535696f, 0.481744f, 0.425895f, 0.368375f, 0.309408f, 0.249227f, 0.188067f, 0.126168f, 0.0637739f, 0.0011284f, -0.0615222f, -0.12393f, -0.185851f, -0.247041f, -0.307261f, -0.366274f, -0.423849f, -0.47976f, -0.533787f, -0.585719f, -0.635342f, -0.682468f, -0.726915f, -0.768506f, -0.80708f, -0.842484f, -0.87458f, -0.903242f, -0.928357f, -0.949816f, -0.96754f, -0.981465f, -0.991536f, -0.997712f, -0.999971f, -0.998303f, -0.992715f, -0.983228f, -0.969873f, -0.952701f, -0.931788f, -0.907216f, -0.879081f, -0.847495f, -0.81258f, -0.774474f, -0.733326f, -0.689296f, -0.64255f, -0.593281f, -0.541683f, -0.487959f, -0.432318f, -0.374979f, -0.316168f, -0.256114f, -0.195054f, -0.133225f, -0.0708729f, -0.00824347f, 0.054418f, 0.116866f, 0.178854f, 0.240141f, 0.300485f, 0.35965f, 0.417398f, 0.473505f, 0.527753f, 0.579927f, 0.629824f, 0.677247f, 0.722012f, 0.763941f, 0.802871f, 0.83864f, 0.871111f, 0.90016f, 0.925674f, 0.947553f, 0.965711f, 0.980077f, 0.990595f, 0.997222f, 0.999928f, 0.998697f, 0.993544f, 0.98449f, 0.97157f, 0.954835f, 0.934351f, 0.910197f, 0.882468f, 0.851272f, 0.816722f, 0.778964f, 0.738148f, 0.694433f, 0.647992f, 0.599006f, 0.547667f, 0.494177f, 0.438746f, 0.381585f, 0.322926f, 0.263f, 0.202041f, 0.140288f, 0.0779852f, 0.0153754f, -0.0472952f, -0.109781f, -0.171834f, -0.233212f, -0.293673f, -0.35298f, -0.410901f, -0.467208f, -0.521681f, -0.574106f, -0.624277f, -0.671992f, -0.717062f, -0.759315f, -0.798587f, -0.834722f, -0.86758f, -0.89703f, -0.922958f, -0.945262f, -0.963851f, -0.978643f, -0.989591f, -0.996654f, -0.999802f, -0.999024f, -0.994324f, -0.985718f, -0.973242f, -0.956943f, -0.936872f, -0.913121f, -0.885785f, -0.85497f, -0.820799f, -0.783404f, -0.742932f, -0.699543f, -0.653406f, -0.604695f, -0.553607f, -0.500346f, -0.445121f, -0.388148f, -0.32965f, -0.269858f, -0.209006f, -0.147332f, -0.0850778f, -0.0224894f, 0.0401866f, 0.102704f, 0.164819f, 0.226285f, 0.286864f, 0.346316f, 0.404409f, 0.460913f, 0.515601f, 0.568264f, 0.618694f, 0.666695f, 0.712078f, 0.754665f, 0.794289f, 0.830793f, 0.864035f, 0.89387f, 0.920195f, 0.942907f, 0.961915f, 0.977146f, 0.98854f, 0.996052f, 0.999653f, 0.999328f, 0.995066f, 0.986894f, 0.974846f, 0.958971f, 0.93933f, 0.916f, 0.889073f, 0.858654f, 0.824864f, 0.787825f, 0.747689f, 0.704616f, 0.658778f, 0.610352f, 0.559529f, 0.506509f, 0.4515f, 0.394717f, 0.33638f, 0.27672f, 0.215974f, 0.154381f, 0.0921809f, 0.0296192f, -0.0330589f, -0.0956076f, -0.157782f, -0.219336f, -0.280026f, -0.339616f, -0.397871f, -0.454564f, -0.509472f, -0.562379f, -0.613078f, -0.66137f, -0.707065f, -0.749973f, -0.789935f, -0.826794f, -0.860407f, -0.89064f, -0.917376f, -0.94051f, -0.959951f, -0.975622f, -0.98745f, -0.995396f, -0.999434f, -0.999547f, -0.995734f, -0.988011f, -0.976409f, -0.960972f, -0.941761f, -0.918844f, -0.892312f, -0.862276f, -0.828854f, -0.792177f, -0.75239f, -0.709648f, -0.664118f, -0.615981f, -0.565421f, -0.512635f, -0.457836f, -0.401239f, -0.343067f, -0.283548f, -0.222916f, -0.161407f, -0.0992644f, -0.0367311f, 0.0259471f, 0.0885226f, 0.15075f, 0.212385f, 0.273186f, 0.332914f, 0.391335f, 0.44822f, 0.503345f, 0.556487f, 0.607442f, 0.656011f, 0.702004f, 0.745239f, 0.785548f, 0.822773f, 0.856767f, 0.887396f, 0.914533f, 0.938072f, 0.957927f, 0.97402f, 0.986289f, 0.994684f, 0.999173f, 0.999739f, 0.996379f, 0.989101f, 0.977928f, 0.962916f, 0.944122f, 0.921621f, 0.895501f, 0.865864f, 0.832827f, 0.796519f, 0.757081f, 0.714659f, 0.669432f, 0.621576f, 0.57128f, 0.518741f, 0.464164f, 0.407764f, 0.349762f, 0.290386f, 0.229865f, 0.168442f, 0.106358f, 0.0438571f, -0.0188162f, -0.0814156f, -0.143696f, -0.205412f, -0.266322f, -0.326184f, -0.384762f, -0.441829f, -0.497161f, -0.55054f, -0.601757f, -0.650612f, -0.696912f, -0.740475f, -0.781126f, -0.818702f, -0.853062f, -0.884073f, -0.911612f, -0.93557f, -0.955855f, -0.972387f, -0.9851f, -0.993941f, -0.998867f, -0.99987f, -0.996946f, -0.990108f, -0.979382f, -0.964809f, -0.946448f, -0.92437f, -0.898662f, -0.86941f, -0.836744f, -0.800793f, -0.761698f, -0.719611f, -0.674699f, -0.627137f, -0.577111f, -0.524819f, -0.470459f, -0.41425f, -0.356416f, -0.297182f, -0.236781f, -0.17545f, -0.11343f, -0.0509646f, 0.0117021f, 0.074323f, 0.136651f, 0.198442f, 0.259453f, 0.319445f, 0.378183f, 0.435435f, 0.490978f, 0.544594f, 0.596069f, 0.645196f, 0.691789f, 0.735665f, 0.776652f, 0.814589f, 0.849327f, 0.88073f, 0.908675f, 0.933051f, 0.953748f, 0.970701f, 0.983841f, 0.993117f, 0.998494f, 0.99995f, 0.99748f, 0.991093f, 0.980814f, 0.966669f, 0.948726f, 0.927058f, 0.90175f, 0.872901f, 0.840624f, 0.805046f, 0.766306f, 0.724556f, 0.679954f, 0.632677f, 0.582917f, 0.530868f, 0.476735f, 0.420729f, 0.363071f, 0.303987f, 0.243708f, 0.18247f, 0.120514f, 0.0580862f, -0.00456967f, -0.0672074f, -0.129581f, -0.191446f, -0.25256f, -0.312682f, -0.371576f, -0.429006f, -0.484751f, -0.538592f, -0.590317f, -0.639724f, -0.686619f, -0.730818f, -0.772148f, -0.810446f, -0.845548f, -0.87733f, -0.905665f, -0.930445f, -0.95157f, -0.968959f, -0.982542f, -0.992268f, -0.998097f, -0.999994f, -0.99796f, -0.992008f, -0.98216f, -0.968455f, -0.950947f, -0.929704f, -0.904811f, -0.876364f, -0.844468f, -0.80925f, -0.770854f, -0.729431f, -0.685145f, -0.638167f, -0.588684f, -0.536888f, -0.482984f, -0.42718f, -0.369694f, -0.310756f, -0.250599f, -0.189458f, -0.127574f, -0.0651877f, -0.00254539f, 0.0601075f, 0.122525f, 0.184459f, 0.245669f, 0.305913f, 0.364955f, 0.422564f, 0.478514f, 0.532585f, 0.584565f, 0.63425f, 0.681436f, 0.725944f, 0.767601f, 0.806243f, 0.841718f, 0.873889f, 0.902628f, 0.927823f, 0.949374f, 0.967188f, 0.981197f, 0.991353f, 0.997617f, 0.999963f, 0.998382f, 0.992882f, 0.983482f, 0.97022f, 0.953142f, 0.932311f, 0.90782f, 0.879764f, 0.848253f, 0.813412f, 0.775376f, 0.734295f, 0.690331f, 0.643653f, 0.594438f, 0.542891f, 0.489211f, 0.433611f, 0.376308f, 0.317527f, 0.257499f, 0.196459f, 0.134647f, 0.072304f, 0.0096778f, -0.0529858f, -0.115441f, -0.177443f, -0.238748f, -0.299115f, -0.358309f, -0.416096f, -0.472245f, -0.526536f, -0.578759f, -0.628709f, -0.67619f, -0.721016f, -0.763011f, -0.802009f, -0.837859f, -0.870412f, -0.899539f, -0.925134f, -0.947095f, -0.965337f, -0.979789f, -0.990393f, -0.997108f, -0.999907f, -0.998775f, -0.99371f, -0.984742f, -0.971907f, -0.955256f, -0.934853f, -0.91078f, -0.883129f, -0.852011f, -0.817546f, -0.779857f, -0.739107f, -0.695454f, -0.649071f, -0.600139f, -0.54885f, -0.495406f, -0.440016f, -0.382897f, -0.324269f, -0.264368f, -0.203429f, -0.141691f, -0.0793977f, -0.0167922f, 0.0458795f, 0.108372f, 0.170439f, 0.231835f, 0.292319f, 0.351655f, 0.409609f, 0.465955f, 0.52047f, 0.572942f, 0.623165f, 0.670941f, 0.716078f, 0.758396f, 0.797736f, 0.833942f, 0.866874f, 0.896401f, 0.922408f, 0.944793f, 0.963468f, 0.978358f, 0.989392f, 0.996541f, 0.999776f, 0.999086f, 0.994473f, 0.985954f, 0.973564f, 0.95735f, 0.937377f, 0.913709f, 0.886452f, 0.855714f, 0.821616f, 0.784292f, 0.743888f, 0.700563f, 0.654486f, 0.605838f, 0.554805f, 0.50159f, 0.446406f, 0.38947f, 0.331004f, 0.271238f, 0.210407f, 0.148749f, 0.0865068f, 0.0239235f, -0.0387536f, -0.101278f, -0.163404f, -0.224888f, -0.285489f, -0.344969f, -0.403095f, -0.459638f, -0.514375f, -0.567086f, -0.617569f, -0.665627f, -0.71107f, -0.753722f, -0.793413f, -0.829989f, -0.863306f, -0.893233f, -0.919638f, -0.942432f, -0.961524f, -0.97684f, -0.988321f, -0.99592f, -0.999609f, -0.999372f, -0.99521f, -0.987128f, -0.975166f, -0.959375f, -0.939816f, -0.916567f, -0.889719f, -0.859376f, -0.825659f, -0.788699f, -0.748635f, -0.705625f, -0.659845f, -0.611475f, -0.560703f, -0.507729f, -0.452762f, -0.396016f, -0.337714f, -0.278084f, -0.217359f, -0.155781f, -0.0935919f, -0.0310356f, 0.0316426f, 0.0941966f, 0.156381f, 0.217952f, 0.278668f, 0.338284f, 0.396572f, 0.453302f, 0.508252f, 0.561206f, 0.611956f, 0.660303f, 0.706057f, 0.74904f, 0.78907f, 0.826f, 0.859686f, 0.889995f, 0.91681f, 0.940024f, 0.959548f, 0.975303f, 0.987228f, 0.995266f, 0.99939f, 0.99959f, 0.995866f, 0.98823f, 0.976714f, 0.961362f, 0.942235f, 0.919408f, 0.892964f, 0.863005f, 0.829657f, 0.793052f, 0.753333f, 0.710655f, 0.665187f, 0.617106f, 0.566601f, 0.513869f, 0.459113f, 0.402554f, 0.344415f, 0.284923f, 0.224313f, 0.162822f, 0.100691f, 0.0381641f, -0.0245134f, -0.0870943f, -0.149332f, -0.210983f, -0.271806f, -0.33156f, -0.390013f, -0.446935f, -0.502102f, -0.555297f, -0.606306f, -0.654931f, -0.700983f, -0.744282f, -0.784659f, -0.821954f, -0.856022f, -0.886728f, -0.913953f, -0.93758f, -0.957519f, -0.973697f, -0.986052f, -0.994534f, -0.999111f, -0.999765f, -0.996492f, -0.989307f, -0.978231f, -0.963303f, -0.944592f, -0.922172f, -0.896131f, -0.866571f, -0.833608f, -0.797371f, -0.758002f, -0.715656f, -0.670488f, -0.622689f, -0.572444f, -0.519951f, -0.465417f, -0.409055f, -0.351087f, -0.291739f, -0.231245f, -0.16984f, -0.107768f, -0.0452728f, 0.0173994f, 0.0800031f, 0.142293f, 0.204024f, 0.264954f, 0.324845f, 0.383456f, 0.44056f, 0.495932f, 0.549357f, 0.600625f, 0.649533f, 0.695891f, 0.739517f, 0.78024f, 0.817893f, 0.852327f, 0.883413f, 0.911029f, 0.935069f, 0.955436f, 0.972051f, 0.984849f, 0.99378f, 0.998806f, 0.999896f, 0.99706f, 0.990309f, 0.979669f, 0.965183f, 0.946906f, 0.92491f, 0.899282f, 0.870123f, 0.837533f, 0.801654f, 0.762627f, 0.720606f, 0.675755f, 0.628251f, 0.578279f, 0.526036f, 0.471726f, 0.415558f, 0.357757f, 0.298552f, 0.238174f, 0.176862f, 0.114855f, 0.0523967f, -0.0102678f, -0.0728926f, -0.135231f, -0.197037f, -0.258068f, -0.318086f, -0.376854f, -0.434142f, -0.489726f, -0.543387f, -0.594915f, -0.644104f, -0.690756f, -0.734695f, -0.775749f, -0.813756f, -0.848567f, -0.880046f, -0.90807f, -0.932528f, -0.953323f, -0.970361f, -0.983587f, -0.992951f, -0.998415f, -0.999959f, -0.997576f, -0.991275f, -0.981082f, -0.967036f, -0.94918f, -0.927594f, -0.902365f, -0.873593f, -0.84139f, -0.805884f, -0.767212f, -0.725528f, -0.680994f, -0.633779f, -0.584071f, -0.53207f, -0.47798f, -0.422014f, -0.36439f, -0.305335f, -0.24508f, -0.183863f, -0.121922f, -0.0595011f, 0.00315269f, 0.0657936f, 0.128176f, 0.190055f, 0.251187f, 0.311334f, 0.370259f, 0.427729f, 0.483514f, 0.537399f, 0.589174f, 0.638634f, 0.685587f, 0.729848f, 0.771242f, 0.809609f, 0.844796f, 0.876654f, 0.905067f, 0.929927f, 0.951134f, 0.968606f, 0.982274f, 0.992086f, 0.998001f, 0.999997f, 0.998057f, 0.992191f, 0.98243f, 0.968811f, 0.951387f, 0.930228f, 0.905415f, 0.877047f, 0.845235f, 0.810096f, 0.77177f, 0.730413f, 0.686189f, 0.63927f, 0.589841f, 0.538095f, 0.484236f, 0.428475f, 0.371029f, 0.312121f, 0.251988f, 0.190867f, 0.128996f, 0.0666188f, 0.00397972f, -0.0586753f, -0.1211f, -0.183051f, -0.244279f, -0.304548f, -0.36362f, -0.421264f, -0.477253f, -0.531369f, -0.583398f, -0.633136f, -0.680389f, -0.724961f, -0.766684f, -0.805395f, -0.840944f, -0.87319f, -0.902007f, -0.927282f, -0.948916f, -0.966823f, -0.980926f, -0.991169f, -0.99752f, -0.999954f, -0.998461f, -0.993047f, -0.983733f, -0.970556f, -0.953568f, -0.93283f, -0.908419f, -0.880441f, -0.849005f, -0.814236f, -0.776269f, -0.735254f, -0.691351f, -0.644733f, -0.595582f, -0.544083f, -0.490448f, -0.434888f, -0.37762f, -0.31887f, -0.258867f, -0.197847f, -0.13605f, -0.0737176f, -0.0110948f, 0.0515709f, 0.114034f, 0.176048f, 0.237371f, 0.297762f, 0.356984f, 0.414804f, 0.470996f, 0.525334f, 0.577606f, 0.627608f, 0.675146f, 0.720033f, 0.762092f, 0.801158f, 0.837079f, 0.869713f, 0.898925f, 0.924599f, 0.946642f, 0.964968f, 0.979504f, 0.990193f, 0.996995f, 0.999881f, 0.998841f, 0.993876f, 0.984995f, 0.972246f, 0.95568f, 0.93536f, 0.911368f, 0.883797f, 0.852755f, 0.818364f, 0.780759f, 0.740076f, 0.696486f, 0.650162f, 0.601286f, 0.550048f, 0.496649f, 0.441301f, 0.384219f, 0.325627f, 0.265752f, 0.204834f, 0.143111f, 0.0808275f, 0.0182263f, -0.0444465f, -0.106945f, -0.169024f, -0.23044f, -0.290949f, -0.350313f, -0.408301f, -0.464686f, -0.519245f, -0.571765f, -0.62204f, -0.669872f, -0.715075f, -0.757466f, -0.796874f, -0.833153f, -0.866159f, -0.895764f, -0.921851f, -0.944318f, -0.963077f, -0.978055f, -0.98919f, -0.996426f, -0.99975f, -0.999147f, -0.99462f, -0.986188f, -0.973884f, -0.957754f, -0.937864f, -0.91429f, -0.887113f, -0.856451f, -0.822426f, -0.785172f, -0.744834f, -0.701571f, -0.655554f, -0.606961f, -0.555984f, -0.502819f, -0.447676f, -0.390775f, -0.332341f, -0.272601f, -0.211791f, -0.15015f, -0.0879178f, -0.0253401f, 0.0373378f, 0.0998685f, 0.162006f, 0.223507f, 0.28413f, 0.343638f, 0.401796f, 0.458376f, 0.513157f, 0.565922f, 0.616457f, 0.664571f, 0.710075f, 0.752789f, 0.792548f, 0.829195f, 0.862585f, 0.892588f, 0.919087f, 0.941962f, 0.961138f, 0.976538f, 0.988104f, 0.99579f, 0.999565f, 0.999416f, 0.995342f, 0.987359f, 0.975488f, 0.959782f, 0.940307f, 0.917139f, 0.890371f, 0.860105f, 0.826463f, 0.789574f, 0.749584f, 0.706645f, 0.660925f, 0.61261f, 0.56189f, 0.508964f, 0.454039f, 0.39733f, 0.339061f, 0.27946f, 0.21876f, 0.157198f, 0.0950202f, 0.0324692f, -0.0302089f, -0.0927683f, -0.154964f, -0.216551f, -0.277288f, -0.336937f, -0.395257f, -0.452025f, -0.507017f, -0.560018f, -0.61082f, -0.659222f, -0.705037f, -0.748083f, -0.788192f, -0.825196f, -0.858956f, -0.889343f, -0.916237f, -0.939533f, -0.95914f, -0.97498f, -0.986992f, -0.995128f, -0.999346f, -0.999634f, -0.995996f, -0.988447f, -0.977017f, -0.961749f, -0.942705f, -0.919959f, -0.8936f, -0.863727f, -0.830453f, -0.793918f, -0.754265f, -0.711651f, -0.666243f, -0.618218f, -0.567765f, -0.515082f, -0.460375f, -0.403853f, -0.345746f, -0.286282f, -0.225694f, -0.16422f, -0.1021f, -0.0395798f, 0.0230966f, 0.0856831f, 0.147932f, 0.209599f, 0.270442f, 0.330223f, 0.388707f, 0.445665f, 0.500873f, 0.554114f, 0.60518f, 0.653863f, 0.699975f, 0.743337f, 0.78378f, 0.821145f, 0.855286f, 0.886068f, 0.91337f, 0.937087f, 0.957116f, 0.973379f, 0.985818f, 0.994387f, 0.99905f, 0.999791f, 0.996606f, 0.989508f, 0.978523f, 0.963693f, 0.945066f, 0.922728f, 0.896767f, 0.867285f, 0.834396f, 0.798231f, 0.758932f, 0.716652f, 0.671557f, 0.623814f, 0.573621f, 0.521177f, 0.466686f, 0.410363f, 0.352428f, 0.293109f, 0.232639f, 0.171254f, 0.109194f, 0.0467058f, -0.0159653f, -0.0785733f, -0.140873f, -0.202619f, -0.263569f, -0.323485f, -0.382132f, -0.439275f, -0.494689f, -0.54816f, -0.599478f, -0.648441f, -0.694859f, -0.738548f, -0.779336f, -0.817065f, -0.851582f, -0.882744f, -0.91044f, -0.934561f, -0.955011f, -0.971711f, -0.984595f, -0.993613f, -0.99873f, -0.999922f, -0.997174f, -0.990509f, -0.979955f, -0.965553f, -0.947359f, -0.925445f, -0.899897f, -0.870815f, -0.838312f, -0.802506f, -0.763547f, -0.72159f, -0.6768f, -0.629352f, -0.579432f, -0.527237f, -0.472972f, -0.416848f, -0.359082f, -0.299905f, -0.239551f, -0.178257f, -0.116262f, -0.0538116f, 0.00885077f, 0.0714788f, 0.133827f, 0.195649f, 0.2567f, 0.316743f, 0.375542f, 0.432865f, 0.488489f, 0.542195f, 0.593771f, 0.643017f, 0.689736f, 0.733737f, 0.774856f, 0.812933f, 0.847816f, 0.879371f, 0.907472f, 0.93201f, 0.952888f, 0.970024f, 0.983336f, 0.992786f, 0.998337f, 0.999968f, 0.997672f, 0.991459f, 0.981353f, 0.967392f, 0.949633f, 0.928133f, 0.902985f, 0.874291f, 0.842164f, 0.80673f, 0.768128f, 0.72651f, 0.682038f, 0.634888f, 0.585238f, 0.533287f, 0.479241f, 0.423314f, 0.365725f, 0.3067f, 0.24647f, 0.185271f, 0.123345f, 0.0609333f, -0.00171836f, -0.0643625f, -0.126753f, -0.188646f, -0.249798f, -0.309969f, -0.368924f, -0.42643f, -0.482262f, -0.536192f, -0.588016f, -0.637531f, -0.684542f, -0.728865f, -0.770326f, -0.808761f, -0.844022f, -0.875968f, -0.904462f, -0.929402f, -0.950692f, -0.968249f, -0.982003f, -0.991901f, -0.997904f, -0.999989f, -0.998146f, -0.992374f, -0.982699f, -0.969164f, -0.951825f, -0.930747f, -0.906014f, -0.877724f, -0.845986f, -0.810926f, -0.772676f, -0.731385f, -0.687222f, -0.64036f, -0.590984f, -0.539288f, -0.485473f, -0.429752f, -0.372342f, -0.313469f, -0.253361f, -0.192258f, -0.130401f, -0.0680325f, -0.00539671f, 0.0572604f, 0.119693f, 0.181656f, 0.242907f, 0.3032f, 0.362301f, 0.419979f, 0.476008f, 0.530167f, 0.582244f, 0.632035f, 0.679345f, 0.723987f, 0.765778f, 0.804558f, 0.840178f, 0.872499f, 0.901393f, 0.926748f, 0.948463f, 0.966454f, 0.98065f, 0.990987f, 0.997425f, 0.999945f, 0.99854f, 0.993213f, 0.983986f, 0.970896f, 0.953992f, 0.933342f, 0.909023f, 0.881124f, 0.849764f, 0.815068f, 0.777171f, 0.736223f, 0.692384f, 0.645825f, 0.59673f, 0.54529f, 0.491701f, 0.436181f, 0.378949f, 0.320229f, 0.260251f, 0.199252f, 0.13747f, 0.0751474f, 0.0125291f, -0.0501388f, -0.112609f, -0.174636f, -0.235977f, -0.296392f, -0.355642f, -0.413496f, -0.469727f, -0.524114f, -0.576438f, -0.626494f, -0.674089f, -0.719037f, -0.761162f, -0.800297f, -0.836289f, -0.868998f, -0.898295f, -0.924059f, -0.946184f, -0.964594f, -0.979215f, -0.989992f, -0.99688f, -0.999855f, -0.998902f, -0.994027f, -0.985247f, -0.972583f, -0.9561f, -0.935863f, -0.911951f, -0.884458f, -0.853492f, -0.819174f, -0.781638f, -0.741033f, -0.697507f, -0.651241f, -0.602419f, -0.551231f, -0.497878f, -0.44257f, -0.385524f, -0.326964f, -0.267119f, -0.206222f, -0.144514f, -0.08224f, -0.0196431f, 0.0430308f, 0.105536f, 0.167626f, 0.229059f, 0.289593f, 0.348988f, 0.40701f, 0.463432f, 0.518034f, 0.570601f, 0.620928f, 0.668817f, 0.714079f, 0.756538f, 0.796023f, 0.832373f, 0.865453f, 0.895135f, 0.921301f, 0.943849f, 0.962691f, 0.977753f, 0.988975f, 0.996314f, 0.999724f, 0.999208f, 0.994769f, 0.986424f, 0.974206f, 0.958161f, 0.938354f, 0.914862f, 0.887777f, 0.857195f, 0.823244f, 0.78606f, 0.74579f, 0.702591f, 0.656633f, 0.608097f, 0.557172f, 0.504059f, 0.448961f, 0.392097f, 0.333694f, 0.273981f, 0.213193f, 0.151567f, 0.0893461f, 0.0267737f, -0.0359044f, -0.0984419f, -0.160591f, -0.22211f, -0.282755f, -0.34229f, -0.400481f, -0.457099f, -0.511923f, -0.564736f, -0.615332f, -0.663502f, -0.709067f, -0.751846f, -0.791673f, -0.82839f, -0.861855f, -0.891936f, -0.918514f, -0.941485f, -0.960747f, -0.976233f, -0.987885f, -0.995658f, -0.999521f, -0.999459f, -0.995472f, -0.987576f, -0.975802f, -0.960186f, -0.940793f, -0.917707f, -0.891016f, -0.860827f, -0.827258f, -0.79044f, -0.750517f, -0.707647f, -0.661993f, -0.613733f, -0.563064f, -0.510184f, -0.455301f, -0.398629f, -0.340393f, -0.280819f, -0.220142f, -0.158599f, -0.0964312f, -0.0338856f, 0.0287926f, 0.0913573f, 0.153563f, 0.215166f, 0.275925f, 0.3356f, 0.393958f, 0.450763f, 0.505797f, 0.558845f, 0.609697f, 0.658155f, 0.704029f, 0.747138f, 0.787314f, 0.824398f, 0.858235f, 0.888698f, 0.915671f, 0.939047f, 0.958737f, 0.974661f, 0.986758f, 0.99498f, 0.999295f, 0.999678f, 0.996128f, 0.988666f, 0.977322f, 0.96214f, 0.943179f, 0.920515f, 0.894236f, 0.864446f, 0.831256f, 0.794792f, 0.755208f, 0.712659f, 0.667311f, 0.619343f, 0.568943f, 0.516308f, 0.461645f, 0.405168f, 0.347093f, 0.287657f, 0.227091f, 0.165634f, 0.103527f, 0.0410129f, -0.0216625f, -0.0842533f, -0.146514f, -0.208198f, -0.269062f, -0.32887f, -0.387386f, -0.44438f, -0.499629f, -0.552917f, -0.604034f, -0.652779f, -0.698955f, -0.742381f, -0.782891f, -0.820327f, -0.854541f, -0.885399f, -0.912781f, -0.936579f, -0.956699f, -0.973056f, -0.985582f, -0.994237f, -0.998989f, -0.999817f, -0.996719f, -0.989708f, -0.978809f, -0.964067f, -0.945536f, -0.923279f, -0.897397f, -0.867992f, -0.835177f, -0.799083f, -0.759852f, -0.717636f, -0.672601f, -0.624925f, -0.574785f, -0.522388f, -0.46794f, -0.411655f, -0.353753f, -0.294463f, -0.234015f, -0.172648f, -0.110603f, -0.0481215f, 0.0145485f, 0.0771608f, 0.13947f, 0.201231f, 0.262201f, 0.322143f, 0.380819f, 0.438001f, 0.49346f, 0.546977f, 0.598345f, 0.647363f, 0.693838f, 0.73759f, 0.778444f, 0.816242f, 0.850835f, 0.882084f, 0.909858f, 0.934059f, 0.954591f, 0.971375f, 0.984345f, 0.993449f, 0.998651f, 0.999933f, 0.997288f, 0.99071f, 0.980243f, 0.965926f, 0.947817f, 0.925985f, 0.900517f, 0.871513f, 0.839086f, 0.803364f, 0.764476f, 0.722585f, 0.677856f, 0.630466f, 0.5806f, 0.528454f, 0.474232f, 0.418148f, 0.360421f, 0.301275f, 0.240945f, 0.179668f, 0.117687f, 0.0552437f, -0.00741644f, -0.0700477f, -0.132404f, -0.194242f, -0.255316f, -0.315384f, -0.374213f, -0.431572f, -0.487237f, -0.540987f, -0.592614f, -0.641914f, -0.688693f, -0.732767f, -0.773953f, -0.8121f, -0.847057f, -0.878687f, -0.906867f, -0.931485f, -0.952446f, -0.969667f, -0.983081f, -0.992619f, -0.998258f, -0.999976f, -0.997768f, -0.991642f, -0.981621f, -0.967746f, -0.95007f, -0.928664f, -0.9036f, -0.874983f, -0.84293f, -0.807568f, -0.769035f, -0.727481f, -0.683071f, -0.635978f, -0.586387f, -0.534488f, -0.480487f, -0.424599f, -0.367044f, -0.308048f, -0.247842f, -0.186663f, -0.12475f, -0.0623473f, 0.000301371f, 0.0629487f, 0.125348f, 0.187255f, 0.248426f, 0.308621f, 0.367605f, 0.425145f, 0.481017f, 0.535f, 0.586873f, 0.636441f, 0.68351f, 0.727894f, 0.76942f, 0.807924f, 0.843256f, 0.875277f, 0.903861f, 0.928884f, 0.950256f, 0.967896f, 0.981735f, 0.991719f, 0.997809f, 0.99998f, 0.998225f, 0.99255f, 0.982969f, 0.969521f, 0.952265f, 0.93127f, 0.906619f, 0.878407f, 0.846745f, 0.811759f, 0.773584f, 0.732367f, 0.688266f, 0.641463f, 0.592142f, 0.540495f, 0.486726f, 0.431045f, 0.373671f, 0.314829f, 0.25475f, 0.193667f, 0.131824f, 0.0694636f, 0.00683104f, -0.0558283f, -0.118268f, -0.180245f, -0.241513f, -0.301834f, -0.360966f, -0.418679f, -0.474747f, -0.52895f, -0.581077f, -0.630921f, -0.678288f, -0.722992f, -0.764857f, -0.803711f, -0.839403f, -0.871799f, -0.900772f, -0.926207f, -0.948005f, -0.96608f, -0.980361f, -0.990793f, -0.997328f, -0.999936f, -0.998618f, -0.993378f, -0.984238f, -0.971232f, -0.954413f, -0.933845f, -0.90961f, -0.8818f, -0.850516f, -0.815892f, -0.778065f, -0.737182f, -0.693404f, -0.646904f, -0.597863f, -0.546473f, -0.492937f, -0.437458f, -0.380261f, -0.321571f, -0.261619f, -0.20064f, -0.138873f, -0.0765599f, -0.0139459f, 0.0487237f, 0.111202f, 0.173242f, 0.234601f, 0.295038f, 0.354317f, 0.412205f, 0.468473f, 0.522903f, 0.57528f, 0.625393f, 0.673045f, 0.718054f, 0.760243f, 0.799446f, 0.835509f, 0.868292f, 0.897665f, 0.923514f, 0.945731f, 0.964224f, 0.978931f, 0.989792f, 0.996768f, 0.999828f, 0.998964f, 0.994176f, 0.985485f, 0.972922f, 0.956524f, 0.93637f, 0.91254f, 0.885126f, 0.854236f, 0.819991f, 0.782527f, 0.741989f, 0.698537f, 0.652333f, 0.603565f, 0.552428f, 0.499122f, 0.443855f, 0.386846f, 0.328317f, 0.268499f, 0.207626f, 0.145934f, 0.0836698f, 0.0210772f, -0.0415977f, -0.104109f, -0.166212f, -0.227662f, -0.288218f, -0.347643f, -0.405702f, -0.462163f, -0.516808f, -0.569423f, -0.619803f, -0.667748f, -0.713071f, -0.755594f, -0.795151f, -0.831583f, -0.864738f, -0.894497f, -0.920744f, -0.943374f, -0.9623f, -0.977447f, -0.988756f, -0.996182f, -0.999696f, -0.999269f, -0.994917f, -0.986659f, -0.974525f, -0.958565f, -0.938841f, -0.91543f, -0.888423f, -0.857928f, -0.824054f, -0.78694f, -0.746736f, -0.7036f, -0.657701f, -0.60922f, -0.558345f, -0.505278f, -0.450227f, -0.393403f, -0.335031f, -0.275345f, -0.214577f, -0.152968f, -0.0907571f, -0.0281901f, 0.0344881f, 0.0970314f, 0.159194f, 0.220729f, 0.281397f, 0.340959f, 0.399182f, 0.455837f, 0.510703f, 0.563563f, 0.614211f, 0.662447f, 0.708071f, 0.750914f, 0.790808f, 0.827596f, 0.861134f, 0.891291f, 0.917948f, 0.941f, 0.960357f, 0.975931f, 0.987669f, 0.995528f, 0.999478f, 0.999503f, 0.995604f, 0.987795f, 0.976107f, 0.960586f, 0.941284f, 0.918279f, 0.891668f, 0.861556f, 0.828061f, 0.791314f, 0.75146f, 0.708654f, 0.663066f, 0.614869f, 0.564251f, 0.511419f, 0.456578f, 0.399944f, 0.34174f, 0.282194f, 0.221539f, 0.160014f, 0.0978595f, 0.0353193f, -0.0273589f, -0.089929f, -0.152146f, -0.213765f, -0.274545f, -0.334247f, -0.392637f, -0.449485f, -0.504563f, -0.557657f, -0.608561f, -0.657075f, -0.703008f, -0.746181f, -0.786424f, -0.823579f, -0.8575f, -0.888045f, -0.915097f, -0.938556f, -0.958329f, -0.974338f, -0.986521f, -0.994831f, -0.999234f, -0.999712f, -0.996258f, -0.988883f, -0.977624f, -0.962527f, -0.943649f, -0.921067f, -0.894867f, -0.865153f, -0.832041f, -0.795658f, -0.756141f, -0.713655f, -0.668367f, -0.620455f, -0.570106f, -0.517519f, -0.462898f, -0.40646f, -0.348425f, -0.289015f, -0.228472f, -0.167032f, -0.104936f, -0.0424286f, 0.0202457f, 0.0828408f, 0.145111f, 0.206812f, 0.267699f, 0.327533f, 0.38608f, 0.44311f, 0.498401f, 0.551734f, 0.602901f, 0.6517f, 0.697941f, 0.741435f, 0.782012f, 0.819518f, 0.853805f, 0.884739f, 0.912199f, 0.936077f, 0.956279f, 0.972726f, 0.985348f, 0.99409f, 0.998928f, 0.999844f, 0.996833f, 0.989909f, 0.979097f, 0.96444f, 0.945996f, 0.923835f, 0.898033f, 0.868705f, 0.835966f, 0.799944f, 0.760781f, 0.71863f, 0.673658f, 0.626039f, 0.575961f, 0.523614f, 0.469209f, 0.412963f, 0.355095f, 0.295833f, 0.235409f, 0.17406f, 0.112027f, 0.0495543f, -0.0131144f, -0.075731f, -0.138049f, -0.199825f, -0.260817f, -0.320783f, -0.379491f, -0.436708f, -0.492212f, -0.545779f, -0.597198f, -0.646271f, -0.692806f, -0.73662f, -0.777541f, -0.815409f, -0.850075f, -0.881404f, -0.909269f, -0.933551f, -0.954167f, -0.971035f, -0.984091f, -0.993282f, -0.998572f, -0.999941f, -0.997384f, -0.99091f, -0.980529f, -0.966297f, -0.94827f, -0.92652f, -0.901132f, -0.872205f, -0.839852f, -0.804202f, -0.765393f, -0.723569f, -0.678901f, -0.631567f, -0.581754f, -0.529656f, -0.475478f, -0.419433f, -0.36174f, -0.302626f, -0.242321f, -0.181063f, -0.119094f, -0.0566586f, 0.00599945f, 0.0686339f, 0.130999f, 0.19285f, 0.253945f, 0.314041f, 0.372901f, 0.430295f, 0.485999f, 0.539795f, 0.591471f, 0.640824f, 0.687661f, 0.731798f, 0.773061f, 0.811277f, 0.846306f, 0.878011f, 0.906269f, 0.930967f, 0.95201f, 0.969315f, 0.982813f, 0.992451f, 0.998179f, 0.999985f, 0.997865f, 0.991826f, 0.981892f, 0.968102f, 0.950511f, 0.929187f, 0.904214f, 0.875681f, 0.843704f, 0.808415f, 0.769951f, 0.728463f, 0.684115f, 0.637081f, 0.587544f, 0.535699f, 0.481748f, 0.425899f, 0.368379f, 0.309412f, 0.249231f, 0.188071f, 0.126173f, 0.0637784f, 0.00113296f, -0.0615176f, -0.123926f, -0.185846f, -0.247037f, -0.307257f, -0.36627f, -0.423845f, -0.479756f, -0.533783f, -0.585715f, -0.635338f, -0.682465f, -0.726912f, -0.768503f, -0.807077f, -0.842481f, -0.874578f, -0.90324f, -0.928355f, -0.949814f, -0.967539f, -0.981464f, -0.991535f, -0.997712f, -0.999971f, -0.998304f, -0.992716f, -0.983229f, -0.969874f, -0.952702f, -0.931789f, -0.907218f, -0.879083f, -0.847497f, -0.812582f, -0.774477f, -0.733329f, -0.689299f, -0.642553f, -0.593285f, -0.541687f, -0.487963f, -0.432322f, -0.374983f, -0.316172f, -0.256118f, -0.195058f, -0.133229f, -0.0708774f, -0.00824802f, 0.0544134f, 0.116861f, 0.17885f, 0.240137f, 0.300481f, 0.359646f, 0.417394f, 0.473501f, 0.527749f, 0.579923f, 0.62982f, 0.677244f, 0.722008f, 0.763938f, 0.802868f, 0.838638f, 0.871109f, 0.900158f, 0.925673f, 0.947552f, 0.96571f, 0.980076f, 0.990594f, 0.997222f, 0.999928f, 0.998697f, 0.993545f, 0.984491f, 0.971572f, 0.954837f, 0.934352f, 0.910199f, 0.88247f, 0.851275f, 0.816724f, 0.778967f, 0.738151f, 0.694437f, 0.647995f, 0.599009f, 0.547671f, 0.494181f, 0.43875f, 0.38159f, 0.322931f, 0.263004f, 0.202045f, 0.140293f, 0.0779897f, 0.01538f, -0.0472907f, -0.109776f, -0.17183f, -0.233207f, -0.293668f, -0.352976f, -0.410897f, -0.467204f, -0.521677f, -0.574102f, -0.624273f, -0.671989f, -0.717059f, -0.759312f, -0.798584f, -0.83472f, -0.867577f, -0.897028f, -0.922957f, -0.945261f, -0.96385f, -0.978642f, -0.989591f, -0.996653f, -0.999802f, -0.999025f, -0.994324f, -0.985719f, -0.973243f, -0.956945f, -0.936873f, -0.913123f, -0.885787f, -0.854973f, -0.820801f, -0.783406f, -0.742935f, -0.699546f, -0.653409f, -0.604698f, -0.553611f, -0.50035f, -0.445125f, -0.388152f, -0.329655f, -0.269862f, -0.20901f, -0.147336f, -0.0850823f, -0.022494f, 0.040182f, 0.1027f, 0.164814f, 0.226281f, 0.28686f, 0.346312f, 0.404405f, 0.460909f, 0.515597f, 0.56826f, 0.618691f, 0.666692f, 0.712075f, 0.754662f, 0.794286f, 0.830791f, 0.864032f, 0.893868f, 0.920193f, 0.942905f, 0.961914f, 0.977145f, 0.988539f, 0.996051f, 0.999652f, 0.999328f, 0.995066f, 0.986894f, 0.974847f, 0.958972f, 0.939331f, 0.916002f, 0.889075f, 0.858657f, 0.824866f, 0.787828f, 0.747692f, 0.70462f, 0.658781f, 0.610355f, 0.559533f, 0.506513f, 0.451504f, 0.394721f, 0.336385f, 0.276725f, 0.215979f, 0.154385f, 0.0921854f, 0.0296238f, -0.0330544f, -0.0956031f, -0.157777f, -0.219332f, -0.280022f, -0.339611f, -0.397867f, -0.45456f, -0.509468f, -0.562375f, -0.613074f, -0.661367f, -0.707062f, -0.74997f, -0.789932f, -0.826792f, -0.860404f, -0.890638f, -0.917374f, -0.940508f, -0.959949f, -0.975621f, -0.987449f, -0.995396f, -0.999434f, -0.999547f, -0.995735f, -0.988012f, -0.97641f, -0.960973f, -0.941763f, -0.918846f, -0.892314f, -0.862278f, -0.828857f, -0.79218f, -0.752393f, -0.709651f, -0.664122f, -0.615984f, -0.565425f, -0.512639f, -0.45784f, -0.401243f, -0.343071f, -0.283552f, -0.22292f, -0.161412f, -0.099269f, -0.0367356f, 0.0259425f, 0.088518f, 0.150745f, 0.21238f, 0.273181f, 0.33291f, 0.391331f, 0.448216f, 0.503341f, 0.556484f, 0.607439f, 0.656008f, 0.702f, 0.745236f, 0.785546f, 0.82277f, 0.856764f, 0.887394f, 0.914531f, 0.93807f, 0.957926f, 0.974019f, 0.986288f, 0.994683f, 0.999173f, 0.999739f, 0.996379f, 0.989101f, 0.977929f, 0.962917f, 0.944123f, 0.921623f, 0.895503f, 0.865866f, 0.832829f, 0.796522f, 0.757084f, 0.714663f, 0.669436f, 0.62158f, 0.571284f, 0.518744f, 0.464168f, 0.407768f, 0.349766f, 0.29039f, 0.229869f, 0.168447f, 0.106363f, 0.0438616f, -0.0188116f, -0.081411f, -0.143691f, -0.205407f, -0.266318f, -0.326179f, -0.384758f, -0.441825f, -0.497157f, -0.550536f, -0.601754f, -0.650608f, -0.696908f, -0.740472f, -0.781123f, -0.818699f, -0.85306f, -0.884071f, -0.91161f, -0.935569f, -0.955854f, -0.972386f, -0.985099f, -0.993941f, -0.998866f, -0.99987f, -0.996947f, -0.990109f, -0.979383f, -0.964811f, -0.94645f, -0.924372f, -0.898664f, -0.869412f, -0.836747f, -0.800796f, -0.761701f, -0.719614f, -0.674702f, -0.62714f, -0.577115f, -0.524823f, -0.470463f, -0.414255f, -0.35642f, -0.297186f, -0.236785f, -0.175455f, -0.113435f, -0.0509691f, 0.0116975f, 0.0743185f, 0.136647f, 0.198437f, 0.259449f, 0.319441f, 0.378178f, 0.435431f, 0.490974f, 0.54459f, 0.596065f, 0.645192f, 0.691786f, 0.735662f, 0.776649f, 0.814586f, 0.849325f, 0.880728f, 0.908673f, 0.933049f, 0.953747f, 0.970699f, 0.98384f, 0.993117f, 0.998494f, 0.99995f, 0.99748f, 0.991093f, 0.980814f, 0.96667f, 0.948728f, 0.92706f, 0.901752f, 0.872903f, 0.840626f, 0.805048f, 0.766309f, 0.724559f, 0.679957f, 0.632681f, 0.582921f, 0.530872f, 0.476739f, 0.420733f, 0.363075f, 0.303991f, 0.243712f, 0.182475f, 0.120519f, 0.0580908f, -0.00456512f, -0.0672028f, -0.129577f, -0.191442f, -0.252555f, -0.312678f, -0.371572f, -0.429002f, -0.484747f, -0.538588f, -0.590313f, -0.639721f, -0.686616f, -0.730815f, -0.772145f, -0.810443f, -0.845546f, -0.877327f, -0.905663f, -0.930443f, -0.951569f, -0.968957f, -0.982541f, -0.992267f, -0.998096f, -0.999994f, -0.99796f, -0.992008f, -0.98216f, -0.968456f, -0.950948f, -0.929706f, -0.904813f, -0.876366f, -0.844471f, -0.809253f, -0.770857f, -0.729435f, -0.685148f, -0.638171f, -0.588687f, -0.536892f, -0.482988f, -0.427184f, -0.369698f, -0.310761f, -0.250604f, -0.189463f, -0.127578f, -0.0651922f, -0.00254994f, 0.0601029f, 0.12252f, 0.184455f, 0.245664f, 0.305908f, 0.364951f, 0.42256f, 0.47851f, 0.532581f, 0.584562f, 0.634247f, 0.681433f, 0.725941f, 0.767598f, 0.80624f, 0.841716f, 0.873887f, 0.902626f, 0.927821f, 0.949372f, 0.967186f, 0.981196f, 0.991353f, 0.997616f, 0.999963f, 0.998383f, 0.992882f, 0.983483f, 0.970221f, 0.953143f, 0.932313f, 0.907822f, 0.879766f, 0.848256f, 0.813415f, 0.775379f, 0.734298f, 0.690334f, 0.643656f, 0.594442f, 0.542894f, 0.489215f, 0.433615f, 0.376312f, 0.317531f, 0.257503f, 0.196463f, 0.134651f, 0.0723085f, 0.00968235f, -0.0529812f, -0.115436f, -0.177438f, -0.238743f, -0.299111f, -0.358305f, -0.416092f, -0.472241f, -0.526532f, -0.578755f, -0.628706f, -0.676187f, -0.721013f, -0.763008f, -0.802007f, -0.837856f, -0.870409f, -0.899537f, -0.925132f, -0.947094f, -0.965336f, -0.979788f, -0.990392f, -0.997107f, -0.999907f, -0.998775f, -0.99371f, -0.984743f, -0.971908f, -0.955257f, -0.934855f, -0.910782f, -0.883132f, -0.852013f, -0.817548f, -0.77986f, -0.73911f, -0.695457f, -0.649074f, -0.600143f, -0.548854f, -0.49541f, -0.44002f, -0.382901f, -0.324273f, -0.264372f, -0.203433f, -0.141696f, -0.0794022f, -0.0167967f, 0.045875f, 0.108367f, 0.170434f, 0.231831f, 0.292315f, 0.351651f, 0.409605f, 0.465951f, 0.520467f, 0.572939f, 0.623161f, 0.670938f, 0.716075f, 0.758393f, 0.797733f, 0.83394f, 0.866871f, 0.896399f, 0.922406f, 0.944792f, 0.963467f, 0.978357f, 0.989391f, 0.99654f, 0.999776f, 0.999086f, 0.994473f, 0.985955f, 0.973565f, 0.957352f, 0.937379f, 0.913711f, 0.886454f, 0.855717f, 0.821619f, 0.784295f, 0.743891f, 0.700566f, 0.654489f, 0.605842f, 0.554809f, 0.501594f, 0.44641f, 0.389474f, 0.331008f, 0.271242f, 0.210411f, 0.148754f, 0.0865113f, 0.0239281f, -0.038749f, -0.101273f, -0.163399f, -0.224883f, -0.285484f, -0.344965f, -0.40309f, -0.459634f, -0.514371f, -0.567082f, -0.617566f, -0.665623f, -0.711067f, -0.753719f, -0.79341f, -0.829987f, -0.863304f, -0.893231f, -0.919636f, -0.94243f, -0.961523f, -0.976839f, -0.98832f, -0.99592f, -0.999609f, -0.999372f, -0.995211f, -0.987129f, -0.975167f, -0.959376f, -0.939818f, -0.916569f, -0.889721f, -0.859379f, -0.825662f, -0.788702f, -0.748638f, -0.705628f, -0.659849f, -0.611478f, -0.560707f, -0.507733f, -0.452766f, -0.39602f, -0.337718f, -0.278088f, -0.217363f, -0.155785f, -0.0935964f, -0.0310401f, 0.031638f, 0.0941921f, 0.156377f, 0.217948f, 0.278663f, 0.33828f, 0.396568f, 0.453298f, 0.508248f, 0.561202f, 0.611952f, 0.660299f, 0.706054f, 0.749037f, 0.789067f, 0.825997f, 0.859683f, 0.889993f, 0.916808f, 0.940023f, 0.959546f, 0.975302f, 0.987227f, 0.995266f, 0.99939f, 0.999591f, 0.995866f, 0.988231f, 0.976715f, 0.961363f, 0.942237f, 0.91941f, 0.892966f, 0.863007f, 0.82966f, 0.793055f, 0.753336f, 0.710658f, 0.66519f, 0.61711f, 0.566605f, 0.513873f, 0.459117f, 0.402558f, 0.344419f, 0.284928f, 0.224318f, 0.162826f, 0.100696f, 0.0381687f, -0.0245088f, -0.0870897f, -0.149328f, -0.210979f, -0.271801f, -0.331556f, -0.390009f, -0.446931f, -0.502098f, -0.555294f, -0.606302f, -0.654927f, -0.70098f, -0.744279f, -0.784656f, -0.821952f, -0.856019f, -0.886726f, -0.913951f, -0.937579f, -0.957518f, -0.973696f, -0.986051f, -0.994534f, -0.999111f, -0.999765f, -0.996493f, -0.989307f, -0.978232f, -0.963304f, -0.944594f, -0.922174f, -0.896133f, -0.866573f, -0.83361f, -0.797374f, -0.758005f, -0.715659f, -0.670492f, -0.622692f, -0.572448f, -0.519955f, -0.465421f, -0.40906f, -0.351091f, -0.291744f, -0.23125f, -0.169844f, -0.107772f, -0.0452773f, 0.0173948f, 0.0799985f, 0.142288f, 0.204019f, 0.26495f, 0.32484f, 0.383452f, 0.440556f, 0.495928f, 0.549353f, 0.600621f, 0.64953f, 0.695888f, 0.739514f, 0.780237f, 0.81789f, 0.852324f, 0.883411f, 0.911028f, 0.935067f, 0.955434f, 0.97205f, 0.984848f, 0.99378f, 0.998806f, 0.999896f, 0.997061f, 0.99031f, 0.97967f, 0.965184f, 0.946907f, 0.924912f, 0.899284f, 0.870125f, 0.837535f, 0.801657f, 0.76263f, 0.720609f, 0.675758f, 0.628254f, 0.578282f, 0.526039f, 0.47173f, 0.415562f, 0.357761f, 0.298556f, 0.238179f, 0.176866f, 0.11486f, 0.0524013f, -0.0102632f, -0.072888f, -0.135226f, -0.197032f, -0.258064f, -0.318082f, -0.37685f, -0.434138f, -0.489722f, -0.543383f, -0.594911f, -0.6441f, -0.690753f, -0.734692f, -0.775746f, -0.813753f, -0.848565f, -0.880044f, -0.908068f, -0.932526f, -0.953322f, -0.970359f, -0.983586f, -0.99295f, -0.998415f, -0.999959f, -0.997576f, -0.991276f, -0.981083f, -0.967037f, -0.949181f, -0.927595f, -0.902367f, -0.873595f, -0.841393f, -0.805886f, -0.767215f, -0.725531f, -0.680997f, -0.633782f, -0.584075f, -0.532074f, -0.477984f, -0.422018f, -0.364394f, -0.305339f, -0.245085f, -0.183867f, -0.121926f, -0.0595056f, 0.00314813f, 0.065789f, 0.128171f, 0.19005f, 0.251183f, 0.31133f, 0.370255f, 0.427725f, 0.48351f, 0.537395f, 0.58917f, 0.638631f, 0.685584f, 0.729845f, 0.771239f, 0.809606f, 0.844794f, 0.876652f, 0.905066f, 0.929925f, 0.951132f, 0.968605f, 0.982274f, 0.992085f, 0.998001f, 0.999997f, 0.998057f, 0.992192f, 0.982431f, 0.968812f, 0.951389f, 0.930229f, 0.905417f, 0.877049f, 0.845237f, 0.810099f, 0.771773f, 0.730417f, 0.686192f, 0.639274f, 0.589845f, 0.538099f, 0.48424f, 0.428479f, 0.371033f, 0.312125f, 0.251993f, 0.190871f, 0.129001f, 0.0666233f, 0.00398427f, -0.0586707f, -0.121096f, -0.183046f, -0.244275f, -0.304544f, -0.363616f, -0.42126f, -0.477249f, -0.531365f, -0.583394f, -0.633133f, -0.680386f, -0.724958f, -0.766681f, -0.805393f, -0.840941f, -0.873187f, -0.902005f, -0.92728f, -0.948914f, -0.966822f, -0.980925f, -0.991169f, -0.99752f, -0.999954f, -0.998461f, -0.993047f, -0.983734f, -0.970558f, -0.95357f, -0.932832f, -0.908421f, -0.880443f, -0.849008f, -0.814239f, -0.776272f, -0.735257f, -0.691355f, -0.644737f, -0.595586f, -0.544087f, -0.490452f, -0.434892f, -0.377624f, -0.318874f, -0.258871f, -0.197851f, -0.136054f, -0.0737222f, -0.0110993f, 0.0515664f, 0.114029f, 0.176044f, 0.237367f, 0.297758f, 0.356979f, 0.4148f, 0.470992f, 0.52533f, 0.577602f, 0.627605f, 0.675143f, 0.72003f, 0.762089f, 0.801155f, 0.837076f, 0.86971f, 0.898923f, 0.924598f, 0.946641f, 0.964967f, 0.979503f, 0.990193f, 0.996994f, 0.999881f, 0.998841f, 0.993877f, 0.984996f, 0.972247f, 0.955681f, 0.935362f, 0.91137f, 0.883799f, 0.852757f, 0.818367f, 0.780762f, 0.740079f, 0.69649f, 0.650166f, 0.601289f, 0.550051f, 0.496653f, 0.441305f, 0.384223f, 0.325631f, 0.265757f, 0.204838f, 0.143116f, 0.080832f, 0.0182309f, -0.0444419f, -0.10694f, -0.169019f, -0.230435f, -0.290945f, -0.350309f, -0.408297f, -0.464682f, -0.519241f, -0.571761f, -0.622036f, -0.669869f, -0.715072f, -0.757463f, -0.796872f, -0.83315f, -0.866157f, -0.895762f, -0.921849f, -0.944317f, -0.963076f, -0.978054f, -0.98919f, -0.996426f, -0.99975f, -0.999147f, -0.994621f, -0.986189f, -0.973885f, -0.957756f, -0.937865f, -0.914292f, -0.887116f, -0.856454f, -0.822429f, -0.785174f, -0.744837f, -0.701574f, -0.655557f, -0.606965f, -0.555988f, -0.502823f, -0.44768f, -0.39078f, -0.332345f, -0.272606f, -0.211796f, -0.150154f, -0.0879223f, -0.0253446f, 0.0373333f, 0.0998639f, 0.162002f, 0.223503f, 0.284126f, 0.343633f, 0.401792f, 0.458372f, 0.513153f, 0.565919f, 0.616454f, 0.664568f, 0.710071f, 0.752786f, 0.792545f, 0.829192f, 0.862583f, 0.892586f, 0.919085f, 0.941961f, 0.961136f, 0.976537f, 0.988104f, 0.995789f, 0.999565f, 0.999416f, 0.995342f, 0.98736f, 0.975489f, 0.959783f, 0.940308f, 0.917141f, 0.890373f, 0.860108f, 0.826465f, 0.789577f, 0.749587f, 0.706648f, 0.660929f, 0.612614f, 0.561894f, 0.508968f, 0.454043f, 0.397335f, 0.339066f, 0.279465f, 0.218765f, 0.157203f, 0.0950247f, 0.0324738f, -0.0302043f, -0.0927638f, -0.154959f, -0.216546f, -0.277284f, -0.336933f, -0.395253f, -0.452021f, -0.507013f, -0.560014f, -0.610816f, -0.659219f, -0.705034f, -0.74808f, -0.788189f, -0.825193f, -0.858954f, -0.889341f, -0.916235f, -0.939531f, -0.959138f, -0.974979f, -0.986991f, -0.995127f, -0.999346f, -0.999634f, -0.995997f, -0.988448f, -0.977018f, -0.961751f, -0.942707f, -0.919961f, -0.893602f, -0.863729f, -0.830455f, -0.793921f, -0.754268f, -0.711655f, -0.666246f, -0.618222f, -0.567769f, -0.515086f, -0.460379f, -0.403857f, -0.34575f, -0.286286f, -0.225698f, -0.164224f, -0.102105f, -0.0395844f, 0.0230921f, 0.0856786f, 0.147927f, 0.209595f, 0.270438f, 0.330219f, 0.388703f, 0.445661f, 0.500869f, 0.554111f, 0.605177f, 0.65386f, 0.699972f, 0.743334f, 0.783778f, 0.821143f, 0.855283f, 0.886066f, 0.913369f, 0.937085f, 0.957115f, 0.973377f, 0.985818f, 0.994386f, 0.99905f, 0.999791f, 0.996607f, 0.989508f, 0.978524f, 0.963694f, 0.945068f, 0.92273f, 0.896769f, 0.867287f, 0.834399f, 0.798234f, 0.758935f, 0.716655f, 0.67156f, 0.623817f, 0.573625f, 0.521181f, 0.46669f, 0.410367f, 0.352433f, 0.293114f, 0.232643f, 0.171258f, 0.109199f, 0.0467103f, -0.0159607f, -0.0785687f, -0.140868f, -0.202614f, -0.263565f, -0.323481f, -0.382128f, -0.43927f, -0.494685f, -0.548156f, -0.599474f, -0.648438f, -0.694855f, -0.738544f, -0.779334f, -0.817063f, -0.851579f, -0.882742f, -0.910438f, -0.934559f, -0.95501f, -0.97171f, -0.984595f, -0.993613f, -0.998729f, -0.999922f, -0.997174f, -0.99051f, -0.979956f, -0.965554f, -0.947361f, -0.925447f, -0.899899f, -0.870817f, -0.838315f, -0.802509f, -0.76355f, -0.721593f, -0.676803f, -0.629355f, -0.579436f, -0.527241f, -0.472976f, -0.416852f, -0.359087f, -0.29991f, -0.239556f, -0.178261f, -0.116267f, -0.0538161f, 0.00884621f, 0.0714743f, 0.133822f, 0.195644f, 0.256696f, 0.316739f, 0.375537f, 0.432861f, 0.488485f, 0.542191f, 0.593768f, 0.643013f, 0.689733f, 0.733734f, 0.774854f, 0.81293f, 0.847814f, 0.879369f, 0.90747f, 0.932008f, 0.952886f, 0.970023f, 0.983335f, 0.992785f, 0.998337f, 0.999968f, 0.997673f, 0.99146f, 0.981354f, 0.967394f, 0.949635f, 0.928135f, 0.902987f, 0.874293f, 0.842166f, 0.806733f, 0.768131f, 0.726513f, 0.682041f, 0.634891f, 0.585242f, 0.533291f, 0.479245f, 0.423318f, 0.365729f, 0.306704f, 0.246474f, 0.185276f, 0.12335f, 0.0609378f, -0.00171381f, -0.064358f, -0.126749f, -0.188642f, -0.249794f, -0.309965f, -0.368919f, -0.426426f, -0.482258f, -0.536188f, -0.588013f, -0.637528f, -0.684539f, -0.728862f, -0.770323f, -0.808759f, -0.844019f, -0.875966f, -0.90446f, -0.929401f, -0.950691f, -0.968248f, -0.982002f, -0.991901f, -0.997904f, -0.999989f, -0.998146f, -0.992375f, -0.9827f, -0.969166f, -0.951826f, -0.930749f, -0.906016f, -0.877726f, -0.845989f, -0.810929f, -0.772679f, -0.731388f, -0.687225f, -0.640364f, -0.590988f, -0.539292f, -0.485477f, -0.429756f, -0.372347f, -0.313474f, -0.253365f, -0.192263f, -0.130406f, -0.0680371f, -0.00540126f, 0.0572559f, 0.119689f, 0.181652f, 0.242902f, 0.303195f, 0.362297f, 0.419975f, 0.476004f, 0.530163f, 0.582241f, 0.632032f, 0.679341f, 0.723984f, 0.765775f, 0.804555f, 0.840176f, 0.872497f, 0.901391f, 0.926746f, 0.948461f, 0.966453f, 0.980649f, 0.990987f, 0.997424f, 0.999945f, 0.99854f, 0.993214f, 0.983987f, 0.970897f, 0.953994f, 0.933344f, 0.909025f, 0.881126f, 0.849767f, 0.815071f, 0.777174f, 0.736226f, 0.692387f, 0.645828f, 0.596733f, 0.545294f, 0.491705f, 0.436185f, 0.378953f, 0.320233f, 0.260256f, 0.199257f, 0.137474f, 0.075152f, 0.0125336f, -0.0501342f, -0.112604f, -0.174632f, -0.235973f, -0.296387f, -0.355638f, -0.413492f, -0.469723f, -0.52411f, -0.576434f, -0.626491f, -0.674086f, -0.719034f, -0.761159f, -0.800294f, -0.836287f, -0.868996f, -0.898292f, -0.924057f, -0.946183f, -0.964593f, -0.979215f, -0.989991f, -0.99688f, -0.999854f, -0.998902f, -0.994028f, -0.985247f, -0.972584f, -0.956102f, -0.935865f, -0.911953f, -0.88446f, -0.853494f, -0.819176f, -0.781641f, -0.741036f, -0.69751f, -0.651245f, -0.602422f, -0.551234f, -0.497882f, -0.442574f, -0.385529f, -0.326968f, -0.267123f, -0.206226f, -0.144519f, -0.0822445f, -0.0196476f, 0.0430262f, 0.105531f, 0.167622f, 0.229055f, 0.289589f, 0.348984f, 0.407005f, 0.463428f, 0.51803f, 0.570597f, 0.620924f, 0.668813f, 0.714076f, 0.756535f, 0.79602f, 0.83237f, 0.865451f, 0.895132f, 0.921299f, 0.943848f, 0.96269f, 0.977752f, 0.988974f, 0.996313f, 0.999723f, 0.999208f, 0.99477f, 0.986425f, 0.974207f, 0.958163f, 0.938356f, 0.914864f, 0.88778f, 0.857198f, 0.823246f, 0.786063f, 0.745793f, 0.702594f, 0.656637f, 0.608101f, 0.557176f, 0.504063f, 0.448965f, 0.392101f, 0.333699f, 0.273986f, 0.213197f, 0.151572f, 0.0893506f, 0.0267783f, -0.0358999f, -0.0984374f, -0.160587f, -0.222105f, -0.282751f, -0.342286f, -0.400477f, -0.457095f, -0.511919f, -0.564733f, -0.615329f, -0.663499f, -0.709063f, -0.751843f, -0.79167f, -0.828388f, -0.861853f, -0.891934f, -0.918512f, -0.941484f, -0.960745f, -0.976232f, -0.987884f, -0.995658f, -0.999521f, -0.999459f, -0.995473f, -0.987577f, -0.975803f, -0.960187f, -0.940795f, -0.917709f, -0.891019f, -0.86083f, -0.82726f, -0.790442f, -0.75052f, -0.70765f, -0.661996f, -0.613737f, -0.563068f, -0.510188f, -0.455305f, -0.398634f, -0.340397f, -0.280823f, -0.220146f, -0.158603f, -0.0964357f, -0.0338901f, 0.028788f, 0.0913528f, 0.153559f, 0.215162f, 0.27592f, 0.335596f, 0.393954f, 0.450759f, 0.505793f, 0.558841f, 0.609693f, 0.658152f, 0.704026f, 0.747135f, 0.787311f, 0.824395f, 0.858233f, 0.888696f, 0.915669f, 0.939046f, 0.958735f, 0.97466f, 0.986757f, 0.99498f, 0.999295f, 0.999678f, 0.996128f, 0.988666f, 0.977322f, 0.962141f, 0.943181f, 0.920517f, 0.894238f, 0.864448f, 0.831258f, 0.794795f, 0.755211f, 0.712662f, 0.667315f, 0.619347f, 0.568946f, 0.516312f, 0.461649f, 0.405172f, 0.347098f, 0.287661f, 0.227096f, 0.165639f, 0.103531f, 0.0410174f, -0.0216579f, -0.0842488f, -0.14651f, -0.208193f, -0.269058f, -0.328866f, -0.387381f, -0.444376f, -0.499625f, -0.552913f, -0.60403f, -0.652775f, -0.698951f, -0.742378f, -0.782888f, -0.820324f, -0.854539f, -0.885397f, -0.912779f, -0.936577f, -0.956697f, -0.973055f, -0.985581f, -0.994237f, -0.998989f, -0.999817f, -0.99672f, -0.989708f, -0.97881f, -0.964068f, -0.945538f, -0.923281f, -0.897399f, -0.867994f, -0.83518f, -0.799086f, -0.759854f, -0.717639f, -0.672604f, -0.624928f, -0.574789f, -0.522392f, -0.467944f, -0.411659f, -0.353758f, -0.294467f, -0.23402f, -0.172653f, -0.110607f, -0.0481261f, 0.014544f, 0.0771562f, 0.139465f, 0.201226f, 0.262197f, 0.322138f, 0.380815f, 0.437997f, 0.493456f, 0.546973f, 0.598341f, 0.647359f, 0.693835f, 0.737586f, 0.778441f, 0.81624f, 0.850833f, 0.882082f, 0.909856f, 0.934057f, 0.95459f, 0.971374f, 0.984344f, 0.993448f, 0.998651f, 0.999933f, 0.997288f, 0.990711f, 0.980244f, 0.965927f, 0.947818f, 0.925987f, 0.900519f, 0.871515f, 0.839089f, 0.803367f, 0.764479f, 0.722588f, 0.677859f, 0.630469f, 0.580604f, 0.528458f, 0.474236f, 0.418152f, 0.360425f, 0.30128f, 0.240949f, 0.179673f, 0.117692f, 0.0552483f, -0.00741189f, -0.0700432f, -0.1324f, -0.194237f, -0.255311f, -0.31538f, -0.374209f, -0.431568f, -0.487233f, -0.540984f, -0.59261f, -0.64191f, -0.68869f, -0.732764f, -0.77395f, -0.812097f, -0.847054f, -0.878685f, -0.906865f, -0.931484f, -0.952445f, -0.969666f, -0.98308f, -0.992618f, -0.998257f, -0.999976f, -0.997768f, -0.991642f, -0.981622f, -0.967747f, -0.950072f, -0.928665f, -0.903602f, -0.874985f, -0.842933f, -0.807571f, -0.769038f, -0.727484f, -0.683074f, -0.635981f, -0.58639f, -0.534492f, -0.480491f, -0.424603f, -0.367048f, -0.308052f, -0.247846f, -0.186667f, -0.124755f, -0.0623519f, 0.000296819f, 0.0629442f, 0.125344f, 0.18725f, 0.248421f, 0.308617f, 0.367601f, 0.425141f, 0.481013f, 0.534996f, 0.58687f, 0.636438f, 0.683507f, 0.727891f, 0.769417f, 0.807922f, 0.843254f, 0.875275f, 0.903859f, 0.928882f, 0.950255f, 0.967895f, 0.981734f, 0.991719f, 0.997808f, 0.99998f, 0.998225f, 0.992551f, 0.98297f, 0.969522f, 0.952267f, 0.931272f, 0.906621f, 0.878409f, 0.846748f, 0.811761f, 0.773587f, 0.73237f, 0.688269f, 0.641467f, 0.592145f, 0.540499f, 0.48673f, 0.431049f, 0.373675f, 0.314834f, 0.254754f, 0.193671f, 0.131828f, 0.0694682f, 0.00683559f, -0.0558237f, -0.118264f, -0.18024f, -0.241509f, -0.30183f, -0.360962f, -0.418675f, -0.474743f, -0.528947f, -0.581073f, -0.630917f, -0.678285f, -0.722989f, -0.764854f, -0.803708f, -0.839401f, -0.871797f, -0.90077f, -0.926205f, -0.948003f, -0.966079f, -0.98036f, -0.990793f, -0.997328f, -0.999936f, -0.998618f, -0.993379f, -0.984239f, -0.971233f, -0.954414f, -0.933847f, -0.909612f, -0.881802f, -0.850518f, -0.815895f, -0.778067f, -0.737185f, -0.693408f, -0.646907f, -0.597866f, -0.546477f, -0.492941f, -0.437462f, -0.380265f, -0.321576f, -0.261624f, -0.200645f, -0.138877f, -0.0765645f, -0.0139504f, 0.0487192f, 0.111197f, 0.173237f, 0.234596f, 0.295034f, 0.354313f, 0.4122f, 0.468469f, 0.522899f, 0.575276f, 0.62539f, 0.673042f, 0.718051f, 0.76024f, 0.799443f, 0.835507f, 0.86829f, 0.897663f, 0.923512f, 0.94573f, 0.964223f, 0.97893f, 0.989792f, 0.996767f, 0.999828f, 0.998964f, 0.994177f, 0.985485f, 0.972923f, 0.956526f, 0.936372f, 0.912541f, 0.885128f, 0.854238f, 0.819994f, 0.78253f, 0.741992f, 0.698541f, 0.652336f, 0.603569f, 0.552432f, 0.499126f, 0.44386f, 0.38685f, 0.328322f, 0.268503f, 0.20763f, 0.145939f, 0.0836743f, 0.0210817f, -0.0415932f, -0.104105f, -0.166207f, -0.227657f, -0.288214f, -0.347639f, -0.405698f, -0.462159f, -0.516804f, -0.56942f, -0.619799f, -0.667744f, -0.713068f, -0.755591f, -0.795148f, -0.831581f, -0.864736f, -0.894495f, -0.920742f, -0.943373f, -0.962299f, -0.977446f, -0.988755f, -0.996181f, -0.999696f, -0.999269f, -0.994918f, -0.986659f, -0.974526f, -0.958566f, -0.938842f, -0.915431f, -0.888425f, -0.85793f, -0.824056f, -0.786942f, -0.746739f, -0.703603f, -0.657705f, -0.609223f, -0.558349f, -0.505282f, -0.450231f, -0.393407f, -0.335036f, -0.275349f, -0.214582f, -0.152972f, -0.0907616f, -0.0281946f, 0.0344835f, 0.0970268f, 0.159189f, 0.220725f, 0.281392f, 0.340955f, 0.399178f, 0.455833f, 0.510699f, 0.563559f, 0.614207f, 0.662443f, 0.708068f, 0.750911f, 0.790805f, 0.827593f, 0.861132f, 0.891289f, 0.917946f, 0.940998f, 0.960356f, 0.97593f, 0.987668f, 0.995527f, 0.999478f, 0.999503f, 0.995604f, 0.987796f, 0.976108f, 0.960587f, 0.941285f, 0.918281f, 0.89167f, 0.861559f, 0.828064f, 0.791317f, 0.751463f, 0.708658f, 0.663069f, 0.614873f, 0.564255f, 0.511423f, 0.456582f, 0.399948f, 0.341744f, 0.282198f, 0.221544f, 0.160019f, 0.097864f, 0.0353238f, -0.0273543f, -0.0899245f, -0.152141f, -0.21376f, -0.27454f, -0.334242f, -0.392632f, -0.449481f, -0.504559f, -0.557653f, -0.608557f, -0.657071f, -0.703005f, -0.746178f, -0.786421f, -0.823576f, -0.857498f, -0.888043f, -0.915096f, -0.938554f, -0.958327f, -0.974337f, -0.986521f, -0.99483f, -0.999233f, -0.999712f, -0.996259f, -0.988883f, -0.977625f, -0.962528f, -0.943651f, -0.921068f, -0.894869f, -0.865155f, -0.832043f, -0.795661f, -0.756144f, -0.713659f, -0.668371f, -0.620459f, -0.57011f, -0.517523f, -0.462902f, -0.406464f, -0.348429f, -0.28902f, -0.228476f, -0.167036f, -0.104941f, -0.0424331f, 0.0202412f, 0.0828363f, 0.145107f, 0.206808f, 0.267695f, 0.327529f, 0.386076f, 0.443106f, 0.498397f, 0.55173f, 0.602897f, 0.651697f, 0.697938f, 0.741432f, 0.78201f, 0.819515f, 0.853803f, 0.884737f, 0.912197f, 0.936075f, 0.956277f, 0.972725f, 0.985347f, 0.994089f, 0.998928f, 0.999844f, 0.996834f, 0.98991f, 0.979098f, 0.964441f, 0.945997f, 0.923837f, 0.898035f, 0.868707f, 0.835968f, 0.799947f, 0.760784f, 0.718634f, 0.673661f, 0.626042f, 0.575965f, 0.523618f, 0.469213f, 0.412967f, 0.355099f, 0.295837f, 0.235413f, 0.174065f, 0.112032f, 0.0495588f, -0.0131098f, -0.0757264f, -0.138045f, -0.199821f, -0.260812f, -0.320779f, -0.379487f, -0.436704f, -0.492208f, -0.545775f, -0.597194f, -0.646267f, -0.692802f, -0.736617f, -0.777538f, -0.815407f, -0.850073f, -0.881402f, -0.909267f, -0.933549f, -0.954165f, -0.971034f, -0.98409f, -0.993281f, -0.998572f, -0.999941f, -0.997384f, -0.99091f, -0.980529f, -0.966298f, -0.948272f, -0.926522f, -0.901134f, -0.872207f, -0.839855f, -0.804205f, -0.765396f, -0.723572f, -0.678904f, -0.631571f, -0.581757f, -0.52966f, -0.475482f, -0.419437f, -0.361744f, -0.302631f, -0.242326f, -0.181067f, -0.119099f, -0.0566632f, 0.0059949f, 0.0686294f, 0.130995f, 0.192846f, 0.25394f, 0.314037f, 0.372897f, 0.430291f, 0.485995f, 0.539791f, 0.591467f, 0.64082f, 0.687658f, 0.731795f, 0.773058f, 0.811274f, 0.846303f, 0.878009f, 0.906267f, 0.930966f, 0.952009f, 0.969313f, 0.982812f, 0.992451f, 0.998179f, 0.999985f, 0.997865f, 0.991826f, 0.981893f, 0.968103f, 0.950512f, 0.929189f, 0.904216f, 0.875683f, 0.843707f, 0.808417f, 0.769953f, 0.728466f, 0.684119f, 0.637084f, 0.587548f, 0.535703f, 0.481752f, 0.425903f, 0.368383f, 0.309417f, 0.249236f, 0.188076f, 0.126177f, 0.063783f, 0.00113751f, -0.0615131f, -0.123921f, -0.185842f, -0.247032f, -0.307252f, -0.366266f, -0.423841f, -0.479752f, -0.533779f, -0.585711f, -0.635335f, -0.682462f, -0.726908f, -0.7685f, -0.807074f, -0.842479f, -0.874575f, -0.903238f, -0.928353f, -0.949813f, -0.967538f, -0.981463f, -0.991534f, -0.997712f, -0.999971f, -0.998304f, -0.992716f, -0.98323f, -0.969875f, -0.952704f, -0.931791f, -0.90722f, -0.879085f, -0.847499f, -0.812585f, -0.77448f, -0.733332f, -0.689302f, -0.642557f, -0.593289f, -0.541691f, -0.487967f, -0.432326f, -0.374988f, -0.316176f, -0.256123f, -0.195063f, -0.133234f, -0.070882f, -0.00825258f, 0.0544089f, 0.116857f, 0.178845f, 0.240132f, 0.300477f, 0.359642f, 0.41739f, 0.473497f, 0.527745f, 0.579919f, 0.629817f, 0.677241f, 0.722005f, 0.763935f, 0.802865f, 0.838636f, 0.871106f, 0.900156f, 0.925671f, 0.94755f, 0.965709f, 0.980075f, 0.990593f, 0.997221f, 0.999928f, 0.998697f, 0.993545f, 0.984492f, 0.971573f, 0.954838f, 0.934354f, 0.9102f, 0.882472f, 0.851277f, 0.816727f, 0.77897f, 0.738154f, 0.69444f, 0.647999f, 0.599013f, 0.547675f, 0.494185f, 0.438754f, 0.381594f, 0.322935f, 0.263009f, 0.20205f, 0.140297f, 0.0779943f, 0.0153845f, -0.0472861f, -0.109772f, -0.171825f, -0.233203f, -0.293664f, -0.352971f, -0.410893f, -0.4672f, -0.521674f, -0.574099f, -0.62427f, -0.671985f, -0.717055f, -0.759309f, -0.798581f, -0.834717f, -0.867575f, -0.897026f, -0.922955f, -0.945259f, -0.963849f, -0.978641f, -0.98959f, -0.996653f, -0.999802f, -0.999025f, -0.994325f, -0.98572f, -0.973244f, -0.956946f, -0.936875f, -0.913125f, -0.885789f, -0.854975f, -0.820804f, -0.783409f, -0.742938f, -0.699549f, -0.653413f, -0.604702f, -0.553615f, -0.500354f, -0.445129f, -0.388156f, -0.329659f, -0.269867f, -0.209015f, -0.147341f, -0.0850868f, -0.0224985f, 0.0401775f, 0.102695f, 0.16481f, 0.226277f, 0.286855f, 0.346308f, 0.404401f, 0.460905f, 0.515593f, 0.568256f, 0.618687f, 0.666689f, 0.712072f, 0.754659f, 0.794283f, 0.830788f, 0.86403f, 0.893866f, 0.920192f, 0.942904f, 0.961913f, 0.977144f, 0.988539f, 0.996051f, 0.999652f, 0.999328f, 0.995067f, 0.986895f, 0.974848f, 0.958974f, 0.939333f, 0.916004f, 0.889077f, 0.858659f, 0.824869f, 0.787831f, 0.747695f, 0.704623f, 0.658784f, 0.610359f, 0.559537f, 0.506517f, 0.451508f, 0.394725f, 0.336389f, 0.276729f, 0.215983f, 0.15439f, 0.0921899f, 0.0296283f, -0.0330498f, -0.0955986f, -0.157773f, -0.219327f, -0.280017f, -0.339607f, -0.397863f, -0.454556f, -0.509464f, -0.562371f, -0.613071f, -0.661363f, -0.707059f, -0.749967f, -0.789929f, -0.826789f, -0.860402f, -0.890636f, -0.917373f, -0.940507f, -0.959948f, -0.97562f, -0.987449f, -0.995396f, -0.999434f, -0.999547f, -0.995735f, -0.988013f, -0.976411f, -0.960974f, -0.941764f, -0.918848f, -0.892316f, -0.862281f, -0.828859f, -0.792183f, -0.752396f, -0.709654f, -0.664125f, -0.615988f, -0.565429f, -0.512642f, -0.457844f, -0.401247f, -0.343076f, -0.283557f, -0.222924f, -0.161416f, -0.0992735f, -0.0367402f, 0.025938f, 0.0885135f, 0.150741f, 0.212376f, 0.273177f, 0.332905f, 0.391327f, 0.448212f, 0.503337f, 0.55648f, 0.607435f, 0.656004f, 0.701997f, 0.745233f, 0.785543f, 0.822768f, 0.856762f, 0.887392f, 0.914529f, 0.938069f, 0.957924f, 0.974018f, 0.986287f, 0.994683f, 0.999172f, 0.999739f, 0.99638f, 0.989102f, 0.97793f, 0.962918f, 0.944125f, 0.921624f, 0.895505f, 0.865868f, 0.832832f, 0.796524f, 0.757087f, 0.714666f, 0.669439f, 0.621584f, 0.571288f, 0.518748f, 0.464172f, 0.407772f, 0.34977f, 0.290394f, 0.229874f, 0.168451f, 0.106367f, 0.0438662f, -0.0188071f, -0.0814065f, -0.143687f, -0.205403f, -0.266313f, -0.326175f, -0.384754f, -0.441821f, -0.497153f, -0.550533f, -0.60175f, -0.650605f, -0.696905f, -0.740469f, -0.78112f, -0.818697f, -0.853058f, -0.884069f, -0.911608f, -0.935567f, -0.955853f, -0.972385f, -0.985099f, -0.99394f, -0.998866f, -0.99987f, -0.996947f, -0.990109f, -0.979384f, -0.964812f, -0.946451f, -0.924374f, -0.898666f, -0.869414f, -0.836749f, -0.800799f, -0.761704f, -0.719617f, -0.674705f, -0.627144f, -0.577119f, -0.524827f, -0.470467f, -0.414259f, -0.356424f, -0.29719f, -0.23679f, -0.175459f, -0.113439f, -0.0509736f, 0.011693f, 0.0743139f, 0.136642f, 0.198433f, 0.259444f, 0.319436f, 0.378174f, 0.435427f, 0.490971f, 0.544586f, 0.596061f, 0.645189f, 0.691782f, 0.735659f, 0.776646f, 0.814583f, 0.849322f, 0.880726f, 0.908671f, 0.933047f, 0.953746f, 0.970698f, 0.983839f, 0.993116f, 0.998494f, 0.99995f, 0.997481f, 0.991094f, 0.980815f, 0.966671f, 0.948729f, 0.927062f, 0.901754f, 0.872905f, 0.840629f, 0.805051f, 0.766312f, 0.724563f, 0.67996f, 0.632684f, 0.582925f, 0.530876f, 0.476743f, 0.420737f, 0.363079f, 0.303995f, 0.243717f, 0.182479f, 0.120524f, 0.0580953f, -0.00456057f, -0.0671983f, -0.129572f, -0.191437f, -0.252551f, -0.312674f, -0.371568f, -0.428998f, -0.484743f, -0.538584f, -0.59031f, -0.639717f, -0.686613f, -0.730812f, -0.772142f, -0.810441f, -0.845543f, -0.877325f, -0.905662f, -0.930441f, -0.951567f, -0.968956f, -0.982541f, -0.992267f, -0.998096f, -0.999994f, -0.997961f, -0.992009f, -0.982161f, -0.968457f, -0.95095f, -0.929708f, -0.904815f, -0.876369f, -0.844473f, -0.809255f, -0.77086f, -0.729438f, -0.685151f, -0.638174f, -0.588691f, -0.536896f, -0.482992f, -0.427188f, -0.369702f, -0.310765f, -0.250608f, -0.189467f, -0.127583f, -0.0651968f, -0.0025545f, 0.0600984f, 0.122516f, 0.18445f, 0.24566f, 0.305904f, 0.364947f, 0.422556f, 0.478506f, 0.532578f, 0.584558f, 0.634243f, 0.68143f, 0.725938f, 0.767595f, 0.806237f, 0.841713f, 0.873884f, 0.902624f, 0.927819f, 0.949371f, 0.967185f, 0.981195f, 0.991352f, 0.997616f, 0.999963f, 0.998383f, 0.992883f, 0.983483f, 0.970222f, 0.953144f, 0.932314f, 0.907824f, 0.879768f, 0.848258f, 0.813417f, 0.775382f, 0.734302f, 0.690337f, 0.64366f, 0.594446f, 0.542898f, 0.489219f, 0.433619f, 0.376316f, 0.317535f, 0.257508f, 0.196468f, 0.134656f, 0.0723131f, 0.0096869f, -0.0529767f, -0.115432f, -0.177434f, -0.238739f, -0.299107f, -0.3583f, -0.416088f, -0.472237f, -0.526528f, -0.578752f, -0.628702f, -0.676184f, -0.72101f, -0.763005f, -0.802004f, -0.837854f, -0.870407f, -0.899535f, -0.92513f, -0.947092f, -0.965335f, -0.979787f, -0.990392f, -0.997107f, -0.999907f, -0.998776f, -0.993711f, -0.984743f, -0.971909f, -0.955259f, -0.934857f, -0.910784f, -0.883134f, -0.852016f, -0.817551f, -0.779863f, -0.739113f, -0.695461f, -0.649078f, -0.600146f, -0.548858f, -0.495414f, -0.440024f, -0.382905f, -0.324278f, -0.264377f, -0.203438f, -0.1417f, -0.0794068f, -0.0168013f, 0.0458704f, 0.108362f, 0.17043f, 0.231826f, 0.292311f, 0.351646f, 0.409601f, 0.465947f, 0.520463f, 0.572935f, 0.623158f, 0.670934f, 0.716072f, 0.758391f, 0.79773f, 0.833937f, 0.866869f, 0.896397f, 0.922405f, 0.94479f, 0.963466f, 0.978356f, 0.989391f, 0.99654f, 0.999776f, 0.999086f, 0.994473f, 0.985956f, 0.973566f, 0.957353f, 0.93738f, 0.913713f, 0.886456f, 0.855719f, 0.821622f, 0.784298f, 0.743894f, 0.700569f, 0.654493f, 0.605846f, 0.554812f, 0.501598f, 0.446414f, 0.389478f, 0.331012f, 0.271247f, 0.210416f, 0.148758f, 0.0865159f, 0.0239326f, -0.0387445f, -0.101269f, -0.163395f, -0.224879f, -0.28548f, -0.34496f, -0.403086f, -0.45963f, -0.514367f, -0.567078f, -0.617562f, -0.66562f, -0.711064f, -0.753716f, -0.793407f, -0.829984f, -0.863301f, -0.893229f, -0.919635f, -0.942429f, -0.961522f, -0.976838f, -0.988319f, -0.995919f, -0.999608f, -0.999372f, -0.995211f, -0.98713f, -0.975168f, -0.959377f, -0.939819f, -0.916571f, -0.889723f, -0.859381f, -0.825664f, -0.788705f, -0.748641f, -0.705632f, -0.659852f, -0.611482f, -0.56071f, -0.507737f, -0.45277f, -0.396024f, -0.337722f, -0.278093f, -0.217368f, -0.15579f, -0.093601f, -0.0310447f, 0.0316335f, 0.0941876f, 0.156372f, 0.217943f, 0.278659f, 0.338276f, 0.396564f, 0.453294f, 0.508244f, 0.561198f, 0.611948f, 0.660296f, 0.706051f, 0.749034f, 0.789065f, 0.825995f, 0.859681f, 0.889991f, 0.916806f, 0.940021f, 0.959545f, 0.975301f, 0.987227f, 0.995265f, 0.99939f, 0.999591f, 0.995866f, 0.988231f, 0.976716f, 0.961365f, 0.942238f, 0.919412f, 0.892968f, 0.863009f, 0.829662f, 0.793058f, 0.753339f, 0.710661f, 0.665193f, 0.617113f, 0.566609f, 0.513877f, 0.459121f, 0.402562f, 0.344423f, 0.284932f, 0.224322f, 0.162831f, 0.1007f, 0.0381732f, -0.0245043f, -0.0870852f, -0.149323f, -0.210975f, -0.271797f, -0.331552f, -0.390005f, -0.446927f, -0.502094f, -0.55529f, -0.606299f, -0.654924f, -0.700977f, -0.744276f, -0.784653f, -0.821949f, -0.856017f, -0.886724f, -0.913949f, -0.937577f, -0.957516f, -0.973695f, -0.98605f, -0.994533f, -0.999111f, -0.999765f, -0.996493f, -0.989308f, -0.978233f, -0.963305f, -0.944595f, -0.922176f, -0.896135f, -0.866575f, -0.833613f, -0.797376f, -0.758008f, -0.715662f, -0.670495f, -0.622696f, -0.572451f, -0.519959f, -0.465425f, -0.409064f, -0.351095f, -0.291748f, -0.231254f, -0.169849f, -0.107777f, -0.0452819f, 0.0173903f, 0.079994f, 0.142284f, 0.204015f, 0.264945f, 0.324836f, 0.383448f, 0.440552f, 0.495925f, 0.54935f, 0.600617f, 0.649526f, 0.695885f, 0.739511f, 0.780234f, 0.817888f, 0.852322f, 0.883408f, 0.911026f, 0.935065f, 0.955433f, 0.972049f, 0.984848f, 0.993779f, 0.998806f, 0.999896f, 0.997061f, 0.990311f, 0.979671f, 0.965185f, 0.946908f, 0.924913f, 0.899286f, 0.870127f, 0.837538f, 0.801659f, 0.762633f, 0.720612f, 0.675762f, 0.628258f, 0.578286f, 0.526043f, 0.471734f, 0.415567f, 0.357766f, 0.298561f, 0.238183f, 0.176871f, 0.114864f, 0.0524058f, -0.0102586f, -0.0728835f, -0.135222f, -0.197028f, -0.25806f, -0.318077f, -0.376846f, -0.434134f, -0.489718f, -0.543379f, -0.594907f, -0.644097f, -0.690749f, -0.734689f, -0.775743f, -0.81375f, -0.848562f, -0.880042f, -0.908066f, -0.932525f, -0.953321f, -0.970358f, -0.983585f, -0.99295f, -0.998415f, -0.999959f, -0.997576f, -0.991277f, -0.981084f, -0.967038f, -0.949183f, -0.927597f, -0.902369f, -0.873597f, -0.841395f, -0.805889f, -0.767218f, -0.725534f, -0.681f, -0.633786f, -0.584078f, -0.532078f, -0.477988f, -0.422022f, -0.364398f, -0.305344f, -0.245089f, -0.183872f, -0.121931f, -0.0595102f, 0.00314358f, 0.0657845f, 0.128167f, 0.190046f, 0.251179f, 0.311325f, 0.37025f, 0.427721f, 0.483506f, 0.537392f, 0.589166f, 0.638627f, 0.68558f, 0.729841f, 0.771236f, 0.809603f, 0.844791f, 0.87665f, 0.905064f, 0.929923f, 0.951131f, 0.968604f, 0.982273f, 0.992084f, 0.998f, 0.999997f, 0.998057f, 0.992193f, 0.982432f, 0.968813f, 0.95139f, 0.930231f, 0.905419f, 0.877051f, 0.845239f, 0.810102f, 0.771776f, 0.73042f, 0.686196f, 0.639277f, 0.589848f, 0.538103f, 0.484244f, 0.428483f, 0.371037f, 0.31213f, 0.251997f, 0.190876f, 0.129005f, 0.0666278f, 0.00398883f, -0.0586662f, -0.121091f, -0.183042f, -0.244271f, -0.304539f, -0.363612f, -0.421256f, -0.477245f, -0.531361f, -0.58339f, -0.633129f, -0.680382f, -0.724955f, -0.766678f, -0.80539f, -0.840939f, -0.873185f, -0.902003f, -0.927278f, -0.948913f, -0.966821f, -0.980924f, -0.991168f, -0.997519f, -0.999954f, -0.998461f, -0.993048f, -0.983735f, -0.970559f, -0.953571f, -0.932834f, -0.908423f, -0.880445f, -0.84901f, -0.814241f, -0.776275f, -0.73526f, -0.691358f, -0.64474f, -0.595589f, -0.544091f, -0.490456f, -0.434896f, -0.377629f, -0.318878f, -0.258875f, -0.197856f, -0.136059f, -0.0737267f, -0.0111039f, 0.0515618f, 0.114025f, 0.176039f, 0.237362f, 0.297753f, 0.356975f, 0.414796f, 0.470988f, 0.525326f, 0.577598f, 0.627601f, 0.67514f, 0.720026f, 0.762086f, 0.801153f, 0.837074f, 0.869708f, 0.898921f, 0.924596f, 0.946639f, 0.964965f, 0.979502f, 0.990192f, 0.996994f, 0.999881f, 0.998842f, 0.993877f, 0.984997f, 0.972248f, 0.955682f, 0.935364f, 0.911372f, 0.883801f, 0.85276f, 0.818369f, 0.780765f, 0.740082f, 0.696493f, 0.650169f, 0.601293f, 0.550055f, 0.496657f, 0.441309f, 0.384227f, 0.325636f, 0.265761f, 0.204843f, 0.14312f, 0.0808366f, 0.0182354f, -0.0444374f, -0.106936f, -0.169015f, -0.230431f, -0.290941f, -0.350305f, -0.408293f, -0.464677f, -0.519237f, -0.571757f, -0.622033f, -0.669866f, -0.715068f, -0.75746f, -0.796869f, -0.833148f, -0.866154f, -0.89576f, -0.921848f, -0.944315f, -0.963075f, -0.978053f, -0.989189f, -0.996426f, -0.999749f, -0.999147f, -0.994621f, -0.98619f, -0.973886f, -0.957757f, -0.937867f, -0.914294f, -0.887118f, -0.856456f, -0.822431f, -0.785177f, -0.74484f, -0.701578f, -0.65556f, -0.606968f, -0.555992f, -0.502827f, -0.447684f, -0.390784f, -0.332349f, -0.27261f, -0.2118f, -0.150159f, -0.0879269f, -0.0253492f, 0.0373287f, 0.0998594f, 0.161997f, 0.223498f, 0.284122f, 0.343629f, 0.401787f, 0.458368f, 0.51315f, 0.565915f, 0.61645f, 0.664564f, 0.710068f, 0.752783f, 0.792543f, 0.829189f, 0.86258f, 0.892584f, 0.919083f, 0.941959f, 0.961135f, 0.976537f, 0.988103f, 0.995789f, 0.999565f, 0.999416f, 0.995343f, 0.987361f, 0.97549f, 0.959784f, 0.94031f, 0.917143f, 0.890375f, 0.86011f, 0.826468f, 0.789579f, 0.74959f, 0.706652f, 0.660932f, 0.612618f, 0.561898f, 0.508972f, 0.454047f, 0.397339f, 0.33907f, 0.279469f, 0.218769f, 0.157207f, 0.0950292f, 0.0324783f, -0.0301998f, -0.0927593f, -0.154955f, -0.216542f, -0.277279f, -0.336928f, -0.395249f, -0.452017f, -0.507009f, -0.56001f, -0.610812f, -0.659216f, -0.70503f, -0.748077f, -0.788186f, -0.825191f, -0.858951f, -0.889338f, -0.916233f, -0.93953f, -0.959137f, -0.974978f, -0.98699f, -0.995127f, -0.999346f, -0.999634f, -0.995997f, -0.988449f, -0.977019f, -0.961752f, -0.942708f, -0.919963f, -0.893604f, -0.863732f, -0.830458f, -0.793923f, -0.754271f, -0.711658f, -0.66625f, -0.618225f, -0.567773f, -0.51509f, -0.460383f, -0.403861f, -0.345754f, -0.28629f, -0.225703f, -0.164228f, -0.102109f, -0.0395889f, 0.0230875f, 0.085674f, 0.147923f, 0.20959f, 0.270434f, 0.330215f, 0.388699f, 0.445657f, 0.500865f, 0.554107f, 0.605173f, 0.653857f, 0.699969f, 0.743331f, 0.783775f, 0.82114f, 0.855281f, 0.886064f, 0.913367f, 0.937083f, 0.957114f, 0.973376f, 0.985817f, 0.994386f, 0.99905f, 0.999791f, 0.996607f, 0.989509f, 0.978525f, 0.963695f, 0.945069f, 0.922732f, 0.896771f, 0.867289f, 0.834401f, 0.798237f, 0.758938f, 0.716658f, 0.671563f, 0.623821f, 0.573629f, 0.521185f, 0.466694f, 0.410371f, 0.352437f, 0.293118f, 0.232647f, 0.171263f, 0.109203f, 0.0467149f, -0.0159562f, -0.0785642f, -0.140864f, -0.20261f, -0.26356f, -0.323477f, -0.382123f, -0.439266f, -0.494681f, -0.548152f, -0.59947f, -0.648434f, -0.694852f, -0.738541f, -0.779331f, -0.81706f, -0.851577f, -0.88274f, -0.910436f, -0.934557f, -0.955008f, -0.971709f, -0.984594f, -0.993612f, -0.998729f, -0.999922f, -0.997174f, -0.99051f, -0.979957f, -0.965555f, -0.947362f, -0.925449f, -0.899901f, -0.870819f, -0.838317f, -0.802511f, -0.763553f, -0.721596f, -0.676806f, -0.629359f, -0.57944f, -0.527245f, -0.47298f, -0.416856f, -0.359091f, -0.299914f, -0.23956f, -0.178266f, -0.116271f, -0.0538207f, 0.00884166f, 0.0714697f, 0.133818f, 0.19564f, 0.256692f, 0.316735f, 0.375533f, 0.432857f, 0.488481f, 0.542187f, 0.593764f, 0.64301f, 0.689729f, 0.733731f, 0.774851f, 0.812927f, 0.847812f, 0.879367f, 0.907468f, 0.932006f, 0.952885f, 0.970022f, 0.983334f, 0.992785f, 0.998336f, 0.999968f, 0.997673f, 0.99146f, 0.981354f, 0.967395f, 0.949636f, 0.928137f, 0.902989f, 0.874295f, 0.842169f, 0.806735f, 0.768134f, 0.726516f, 0.682045f, 0.634895f, 0.585246f, 0.533294f, 0.479249f, 0.423322f, 0.365733f, 0.306708f, 0.246478f, 0.18528f, 0.123354f, 0.0609423f, -0.00170925f, -0.0643534f, -0.126744f, -0.188637f, -0.249789f, -0.309961f, -0.368915f, -0.426422f, -0.482254f, -0.536184f, -0.588009f, -0.637524f, -0.684536f, -0.728859f, -0.77032f, -0.808756f, -0.844017f, -0.875963f, -0.904458f, -0.929399f, -0.950689f, -0.968247f, -0.982001f, -0.9919f, -0.997904f, -0.999989f, -0.998147f, -0.992375f, -0.9827f, -0.969167f, -0.951827f, -0.93075f, -0.906018f, -0.877728f, -0.845991f, -0.810932f, -0.772682f, -0.731391f, -0.687228f, -0.640367f, -0.590992f, -0.539295f, -0.485481f, -0.42976f, -0.372351f, -0.313478f, -0.25337f, -0.192267f, -0.13041f, -0.0680416f, -0.00540581f, 0.0572513f, 0.119684f, 0.181647f, 0.242898f, 0.303191f, 0.362293f, 0.419971f, 0.476f, 0.530159f, 0.582237f, 0.632028f, 0.679338f, 0.723981f, 0.765772f, 0.804553f, 0.840173f, 0.872494f, 0.901389f, 0.926744f, 0.94846f, 0.966451f, 0.980648f, 0.990986f, 0.997424f, 0.999945f, 0.99854f, 0.993214f, 0.983988f, 0.970898f, 0.953995f, 0.933346f, 0.909027f, 0.881128f, 0.849769f, 0.815073f, 0.777177f, 0.736229f, 0.69239f, 0.645832f, 0.596737f, 0.545298f, 0.491709f, 0.436189f, 0.378957f, 0.320237f, 0.26026f, 0.199261f, 0.137479f, 0.0751565f, 0.0125382f, -0.0501297f, -0.1126f, -0.174627f, -0.235969f, -0.296383f, -0.355634f, -0.413488f, -0.469719f, -0.524106f, -0.576431f, -0.626487f, -0.674083f, -0.719031f, -0.761156f, -0.800291f, -0.836284f, -0.868993f, -0.89829f, -0.924055f, -0.946181f, -0.964591f, -0.979214f, -0.989991f, -0.99688f, -0.999854f, -0.998902f, -0.994028f, -0.985248f, -0.972585f, -0.956103f, -0.935867f, -0.911955f, -0.884462f, -0.853497f, -0.819179f, -0.781644f, -0.741039f, -0.697514f, -0.651248f, -0.602426f, -0.551238f, -0.497886f, -0.442578f, -0.385533f, -0.326973f, -0.267128f, -0.206231f, -0.144523f, -0.0822491f, -0.0196522f, 0.0430217f, 0.105527f, 0.167617f, 0.22905f, 0.289584f, 0.34898f, 0.407001f, 0.463424f, 0.518026f, 0.570594f, 0.620921f, 0.66881f, 0.714073f, 0.756532f, 0.796018f, 0.832368f, 0.865448f, 0.89513f, 0.921297f, 0.943846f, 0.962689f, 0.977751f, 0.988973f, 0.996313f, 0.999723f, 0.999209f, 0.99477f, 0.986426f, 0.974208f, 0.958164f, 0.938357f, 0.914866f, 0.887782f, 0.8572f, 0.823249f, 0.786066f, 0.745796f, 0.702598f, 0.65664f, 0.608104f, 0.55718f, 0.504066f, 0.448969f, 0.392105f, 0.333703f, 0.27399f, 0.213202f, 0.151576f, 0.0893552f, 0.0267828f, -0.0358953f, -0.0984328f, -0.160582f, -0.222101f, -0.282747f, -0.342282f, -0.400473f, -0.457091f, -0.511915f, -0.564729f, -0.615325f, -0.663496f, -0.70906f, -0.75184f, -0.791667f, -0.828385f, -0.861851f, -0.891932f, -0.91851f, -0.941482f, -0.960744f, -0.976231f, -0.987884f, -0.995657f, -0.999521f, -0.99946f, -0.995473f, -0.987578f, -0.975804f, -0.960188f, -0.940796f, -0.91771f, -0.891021f, -0.860832f, -0.827263f, -0.790445f, -0.750523f, -0.707653f, -0.662f, -0.61374f, -0.563071f, -0.510192f, -0.455309f, -0.398638f, -0.340401f, -0.280828f, -0.220151f, -0.158608f, -0.0964403f, -0.0338947f, 0.0287834f, 0.0913482f, 0.153554f, 0.215157f, 0.275916f, 0.335591f, 0.39395f, 0.450755f, 0.50579f, 0.558837f, 0.60969f, 0.658148f, 0.704022f, 0.747132f, 0.787308f, 0.824393f, 0.85823f, 0.888694f, 0.915667f, 0.939044f, 0.958734f, 0.974659f, 0.986757f, 0.994979f, 0.999295f, 0.999678f, 0.996128f, 0.988667f, 0.977323f, 0.962142f, 0.943182f, 0.920519f, 0.89424f, 0.86445f, 0.831261f, 0.794798f, 0.755214f, 0.712665f, 0.667318f, 0.61935f, 0.56895f, 0.516316f, 0.461653f, 0.405176f, 0.347102f, 0.287666f, 0.2271f, 0.165643f, 0.103536f, 0.041022f, -0.0216534f, -0.0842443f, -0.146505f, -0.208189f, -0.269054f, -0.328861f, -0.387377f, -0.444372f, -0.499621f, -0.552909f, -0.604026f, -0.652772f, -0.698948f, -0.742374f, -0.782885f, -0.820322f, -0.854536f, -0.885395f, -0.912777f, -0.936575f, -0.956696f, -0.973054f, -0.98558f, -0.994237f, -0.998989f, -0.999817f, -0.99672f, -0.989709f, -0.978811f, -0.964069f, -0.945539f, -0.923283f, -0.897401f, -0.867996f, -0.835182f, -0.799089f, -0.759857f, -0.717642f, -0.672608f, -0.624932f, -0.574793f, -0.522396f, -0.467948f, -0.411663f, -0.353762f, -0.294471f, -0.234024f, -0.172657f, -0.110612f, -0.0481306f, 0.0145394f, 0.0771517f, 0.139461f, 0.201222f, 0.262193f, 0.322134f, 0.380811f, 0.437993f, 0.493452f, 0.546969f, 0.598337f, 0.647356f, 0.693832f, 0.737583f, 0.778438f, 0.816237f, 0.85083f, 0.88208f, 0.909854f, 0.934056f, 0.954589f, 0.971373f, 0.984343f, 0.993447f, 0.998651f, 0.999933f, 0.997288f, 0.990712f, 0.980245f, 0.965929f, 0.947819f, 0.925988f, 0.900521f, 0.871517f, 0.839091f, 0.803369f, 0.764482f, 0.722591f, 0.677863f, 0.630473f, 0.580607f, 0.528462f, 0.47424f, 0.418156f, 0.36043f, 0.301284f, 0.240953f, 0.179677f, 0.117696f, 0.0552528f, -0.00740733f, -0.0700386f, -0.132395f, -0.194233f, -0.255307f, -0.315375f, -0.374205f, -0.431564f, -0.487229f, -0.54098f, -0.592607f, -0.641907f, -0.688687f, -0.732761f, -0.773948f, -0.812094f, -0.847052f, -0.878683f, -0.906863f, -0.931482f, -0.952444f, -0.969665f, -0.983079f, -0.992618f, -0.998257f, -0.999976f, -0.997769f, -0.991643f, -0.981623f, -0.967748f, -0.950073f, -0.928667f, -0.903604f, -0.874987f, -0.842935f, -0.807573f, -0.76904f, -0.727487f, -0.683077f, -0.635985f, -0.586394f, -0.534496f, -0.480495f, -0.424607f, -0.367052f, -0.308056f, -0.247851f, -0.186672f, -0.124759f, -0.0623564f, 0.000292266f, 0.0629396f, 0.125339f, 0.187246f, 0.248417f, 0.308613f, 0.367596f, 0.425137f, 0.481008f, 0.534992f, 0.586866f, 0.636434f, 0.683503f, 0.727888f, 0.769414f, 0.807919f, 0.843251f, 0.875272f, 0.903857f, 0.928881f, 0.950253f, 0.967894f, 0.981734f, 0.991718f, 0.997808f, 0.99998f, 0.998226f, 0.992551f, 0.982971f, 0.969523f, 0.952268f, 0.931274f, 0.906622f, 0.878411f, 0.84675f, 0.811764f, 0.773589f, 0.732373f, 0.688273f, 0.64147f, 0.592149f, 0.540502f, 0.486733f, 0.431053f, 0.373679f, 0.314838f, 0.254759f, 0.193676f, 0.131833f, 0.0694727f, 0.00684014f, -0.0558192f, -0.118259f, -0.180236f, -0.241504f, -0.301826f, -0.360958f, -0.418671f, -0.474739f, -0.528943f, -0.581069f, -0.630914f, -0.678281f, -0.722985f, -0.764851f, -0.803705f, -0.839399f, -0.871795f, -0.900768f, -0.926203f, -0.948002f, -0.966077f, -0.98036f, -0.990792f, -0.997327f, -0.999936f, -0.998619f, -0.99338f, -0.98424f, -0.971235f, -0.954415f, -0.933848f, -0.909614f, -0.881805f, -0.850521f, -0.815897f, -0.77807f, -0.737188f, -0.693411f, -0.646911f, -0.59787f, -0.546481f, -0.492945f, -0.437466f, -0.38027f, -0.32158f, -0.261628f, -0.200649f, -0.138882f, -0.076569f, -0.013955f, 0.0487146f, 0.111193f, 0.173233f, 0.234592f, 0.29503f, 0.354309f, 0.412196f, 0.468465f, 0.522895f, 0.575273f, 0.625386f, 0.673039f, 0.718048f, 0.760237f, 0.79944f, 0.835504f, 0.868287f, 0.897661f, 0.92351f, 0.945728f, 0.964222f, 0.978929f, 0.989791f, 0.996767f, 0.999828f, 0.998964f, 0.994177f, 0.985486f, 0.972924f, 0.956527f, 0.936374f, 0.912543f, 0.88513f, 0.85424f, 0.819997f, 0.782533f, 0.741995f, 0.698544f, 0.65234f, 0.603573f, 0.552436f, 0.49913f, 0.443864f, 0.386855f, 0.328326f, 0.268508f, 0.207634f, 0.145943f, 0.0836789f, 0.0210863f, -0.0415886f, -0.1041f, -0.166203f, -0.227653f, -0.288209f, -0.347635f, -0.405693f, -0.462155f, -0.5168f, -0.569416f, -0.619796f, -0.667741f, -0.713065f, -0.755588f, -0.795145f, -0.831578f, -0.864734f, -0.894493f, -0.92074f, -0.943371f, -0.962298f, -0.977445f, -0.988754f, -0.996181f, -0.999696f, -0.99927f, -0.994918f, -0.98666f, -0.974527f, -0.958568f, -0.938844f, -0.915433f, -0.888427f, -0.857933f, -0.824059f, -0.786945f, -0.746742f, -0.703606f, -0.657708f, -0.609227f, -0.558353f, -0.505286f, -0.450235f, -0.393411f, -0.33504f, -0.275354f, -0.214586f, -0.152977f, -0.0907662f, -0.0281992f, 0.034479f, 0.0970223f, 0.159185f, 0.22072f, 0.281388f, 0.34095f, 0.399174f, 0.455829f, 0.510695f, 0.563555f, 0.614203f, 0.66244f, 0.708064f, 0.750908f, 0.790802f, 0.827591f, 0.86113f, 0.891287f, 0.917944f, 0.940997f, 0.960355f, 0.975929f, 0.987667f, 0.995527f, 0.999477f, 0.999503f, 0.995605f, 0.987796f, 0.976109f, 0.960589f, 0.941287f, 0.918283f, 0.891672f, 0.861561f, 0.828066f, 0.79132f, 0.751466f, 0.708661f, 0.663072f, 0.614876f, 0.564259f, 0.511426f, 0.456586f, 0.399953f, 0.341749f, 0.282203f, 0.221548f, 0.160023f, 0.0978685f, 0.0353284f, -0.0273498f, -0.08992f, -0.152137f, -0.213756f, -0.274536f, -0.334238f, -0.392628f, -0.449477f, -0.504555f, -0.557649f, -0.608554f, -0.657068f, -0.703002f, -0.746175f, -0.786418f, -0.823574f, -0.857496f, -0.888041f, -0.915094f, -0.938553f, -0.958326f, -0.974336f, -0.98652f, -0.99483f, -0.999233f, -0.999713f, -0.996259f, -0.988884f, -0.977626f, -0.962529f, -0.943653f, -0.92107f, -0.894871f, -0.865157f, -0.832046f, -0.795664f, -0.756147f, -0.713662f, -0.668374f, -0.620462f, -0.570114f, -0.517526f, -0.462906f, -0.406468f, -0.348433f, -0.289024f, -0.228481f, -0.167041f, -0.104945f, -0.0424377f, 0.0202366f, 0.0828317f, 0.145102f, 0.206803f, 0.26769f, 0.327524f, 0.386071f, 0.443102f, 0.498393f, 0.551726f, 0.602893f, 0.651693f, 0.697935f, 0.741429f, 0.782007f, 0.819513f, 0.8538f, 0.884735f, 0.912195f, 0.936074f, 0.956276f, 0.972724f, 0.985347f, 0.994089f, 0.998928f, 0.999844f, 0.996834f, 0.98991f, 0.979099f, 0.964443f, 0.945999f, 0.923839f, 0.898037f, 0.86871f, 0.835971f, 0.79995f, 0.760787f, 0.718637f, 0.673664f, 0.626046f, 0.575969f, 0.523622f, 0.469217f, 0.412971f, 0.355103f, 0.295841f, 0.235418f, 0.174069f, 0.112037f, 0.0495633f, -0.0131053f, -0.0757219f, -0.13804f, -0.199817f, -0.260808f, -0.320775f, -0.379482f, -0.4367f, -0.492204f, -0.545772f, -0.597191f, -0.646264f, -0.692799f, -0.736614f, -0.777535f, -0.815404f, -0.850071f, -0.881399f, -0.909265f, -0.933548f, -0.954164f, -0.971033f, -0.984089f, -0.993281f, -0.998572f, -0.999941f, -0.997384f, -0.990911f, -0.98053f, -0.966299f, -0.948273f, -0.926524f, -0.901136f, -0.872209f, -0.839857f, -0.804207f, -0.765399f, -0.723575f, -0.678907f, -0.631574f, -0.581761f, -0.529663f, -0.475486f, -0.419441f, -0.361749f, -0.302635f, -0.24233f, -0.181072f, -0.119103f, -0.0566677f, 0.00599035f, 0.0686248f, 0.13099f, 0.192841f, 0.253936f, 0.314033f, 0.372892f, 0.430287f, 0.485992f, 0.539787f, 0.591463f, 0.640817f, 0.687654f, 0.731792f, 0.773055f, 0.811271f, 0.846301f, 0.878007f, 0.906265f, 0.930964f, 0.952007f, 0.969312f, 0.982811f, 0.99245f, 0.998179f, 0.999985f, 0.997865f, 0.991827f, 0.981894f, 0.968104f, 0.950514f, 0.92919f, 0.904218f, 0.875686f, 0.843709f, 0.80842f, 0.769956f, 0.728469f, 0.684122f, 0.637088f, 0.587551f, 0.535707f, 0.481756f, 0.425907f, 0.368387f, 0.309421f, 0.24924f, 0.18808f, 0.126182f, 0.0637875f, 0.00114206f, -0.0615085f, -0.123917f, -0.185837f, -0.247028f, -0.307248f, -0.366261f, -0.423837f, -0.479748f, -0.533775f, -0.585708f, -0.635331f, -0.682459f, -0.726905f, -0.768497f, -0.807072f, -0.842476f, -0.874573f, -0.903236f, -0.928352f, -0.949812f, -0.967537f, -0.981462f, -0.991534f, -0.997711f, -0.999971f, -0.998304f, -0.992717f, -0.983231f, -0.969877f, -0.952705f, -0.931793f, -0.907221f, -0.879088f, -0.847502f, -0.812588f, -0.774482f, -0.733335f, -0.689305f, -0.64256f, -0.593292f, -0.541695f, -0.487971f, -0.43233f, -0.374992f, -0.316181f, -0.256127f, -0.195067f, -0.133238f, -0.0708865f, -0.00825713f, 0.0544043f, 0.116852f, 0.178841f, 0.240128f, 0.300472f, 0.359637f, 0.417386f, 0.473493f, 0.527741f, 0.579916f, 0.629813f, 0.677237f, 0.722002f, 0.763932f, 0.802863f, 0.838633f, 0.871104f, 0.900154f, 0.925669f, 0.947549f, 0.965708f, 0.980075f, 0.990593f, 0.997221f, 0.999928f, 0.998698f, 0.993546f, 0.984493f, 0.971574f, 0.954839f, 0.934355f, 0.910202f, 0.882475f, 0.85128f, 0.816729f, 0.778973f, 0.738157f, 0.694443f, 0.648002f, 0.599017f, 0.547679f, 0.494189f, 0.438758f, 0.381598f, 0.322939f, 0.263013f, 0.202054f, 0.140302f, 0.0779988f, 0.0153891f, -0.0472816f, -0.109767f, -0.171821f, -0.233199f, -0.29366f, -0.352967f, -0.410889f, -0.467196f, -0.52167f, -0.574095f, -0.624266f, -0.671982f, -0.717052f, -0.759306f, -0.798579f, -0.834715f, -0.867573f, -0.897024f, -0.922953f, -0.945258f, -0.963848f, -0.97864f, -0.989589f, -0.996653f, -0.999802f, -0.999025f, -0.994325f, -0.98572f, -0.973245f, -0.956947f, -0.936876f, -0.913127f, -0.885791f, -0.854977f, -0.820806f, -0.783412f, -0.742941f, -0.699552f, -0.653416f, -0.604706f, -0.553619f, -0.500358f, -0.445133f, -0.38816f, -0.329663f, -0.269871f, -0.209019f, -0.147345f, -0.0850914f, -0.0225031f, 0.0401729f, 0.102691f, 0.164805f, 0.226272f, 0.286851f, 0.346304f, 0.404397f, 0.460901f, 0.515589f, 0.568253f, 0.618684f, 0.666685f, 0.712069f, 0.754656f, 0.79428f, 0.830786f, 0.864028f, 0.893864f, 0.92019f, 0.942902f, 0.961911f, 0.977143f, 0.988538f, 0.996051f, 0.999652f, 0.999329f, 0.995067f, 0.986896f, 0.974849f, 0.958975f, 0.939334f, 0.916005f, 0.889079f, 0.858661f, 0.824871f, 0.787834f, 0.747698f, 0.704626f, 0.658788f, 0.610363f, 0.559541f, 0.506521f, 0.451512f, 0.394729f, 0.336393f, 0.276734f, 0.215988f, 0.154394f, 0.0921945f, 0.0296329f, -0.0330453f, -0.095594f, -0.157768f, -0.219323f, -0.280013f, -0.339603f, -0.397859f, -0.454552f, -0.50946f, -0.562368f, -0.613067f, -0.66136f, -0.707056f, -0.749964f, -0.789927f, -0.826787f, -0.8604f, -0.890634f, -0.917371f, -0.940505f, -0.959947f, -0.975619f, -0.987448f, -0.995395f, -0.999433f, -0.999547f, -0.995735f, -0.988014f, -0.976412f, -0.960976f, -0.941766f, -0.91885f, -0.892318f, -0.862283f, -0.828862f, -0.792186f, -0.752399f, -0.709657f, -0.664129f, -0.615992f, -0.565432f, -0.512646f, -0.457848f, -0.401252f, -0.34308f, -0.283561f, -0.222929f, -0.161421f, -0.099278f, -0.0367447f, 0.0259334f, 0.0885089f, 0.150736f, 0.212371f, 0.273173f, 0.332901f, 0.391322f, 0.448208f, 0.503333f, 0.556476f, 0.607431f, 0.656001f, 0.701994f, 0.74523f, 0.78554f, 0.822765f, 0.85676f, 0.88739f, 0.914527f, 0.938067f, 0.957923f, 0.974017f, 0.986286f, 0.994682f, 0.999172f, 0.999739f, 0.99638f, 0.989103f, 0.977931f, 0.962919f, 0.944126f, 0.921626f, 0.895507f, 0.865871f, 0.832834f, 0.796527f, 0.75709f, 0.714669f, 0.669442f, 0.621587f, 0.571291f, 0.518752f, 0.464176f, 0.407776f, 0.349775f, 0.290399f, 0.229878f, 0.168456f, 0.106372f, 0.0438707f, -0.0188025f, -0.081402f, -0.143682f, -0.205398f, -0.266309f, -0.326171f, -0.38475f, -0.441817f, -0.497149f, -0.550529f, -0.601747f, -0.650602f, -0.696902f, -0.740466f, -0.781117f, -0.818694f, -0.853055f, -0.884067f, -0.911606f, -0.935566f, -0.955851f, -0.972384f, -0.985098f, -0.99394f, -0.998866f, -0.99987f, -0.996947f, -0.99011f, -0.979384f, -0.964813f, -0.946453f, -0.924375f, -0.898668f, -0.869417f, -0.836752f, -0.800801f, -0.761707f, -0.719621f, -0.674709f, -0.627147f, -0.577122f, -0.524831f, -0.470471f, -0.414263f, -0.356429f, -0.297195f, -0.236794f, -0.175464f, -0.113444f, -0.0509782f, 0.0116884f, 0.0743094f, 0.136638f, 0.198429f, 0.25944f, 0.319432f, 0.37817f, 0.435423f, 0.490967f, 0.544583f, 0.596058f, 0.645185f, 0.691779f, 0.735656f, 0.776643f, 0.814581f, 0.84932f, 0.880724f, 0.90867f, 0.933046f, 0.953744f, 0.970697f, 0.983838f, 0.993116f, 0.998493f, 0.99995f, 0.997481f, 0.991095f, 0.980816f, 0.966672f, 0.94873f, 0.927063f, 0.901756f, 0.872908f, 0.840631f, 0.805054f, 0.766315f, 0.724566f, 0.679964f, 0.632688f, 0.582928f, 0.53088f, 0.476747f, 0.420741f, 0.363084f, 0.304f, 0.243721f, 0.182484f, 0.120528f, 0.0580999f, -0.00455602f, -0.0671937f, -0.129568f, -0.191433f, -0.252547f, -0.312669f, -0.371564f, -0.428994f, -0.484739f, -0.53858f, -0.590306f, -0.639714f, -0.686609f, -0.730809f, -0.772139f, -0.810438f, -0.845541f, -0.877323f, -0.90566f, -0.93044f, -0.951566f, -0.968955f, -0.98254f, -0.992266f, -0.998096f, -0.999994f, -0.997961f, -0.992009f, -0.982162f, -0.968458f, -0.950951f, -0.929709f, -0.904817f, -0.876371f, -0.844476f, -0.809258f, -0.770863f, -0.729441f, -0.685154f, -0.638178f, -0.588695f, -0.5369f, -0.482996f, -0.427192f, -0.369706f, -0.310769f, -0.250612f, -0.189472f, -0.127587f, -0.0652013f, -0.00255905f, 0.0600938f, 0.122511f, 0.184446f, 0.245655f, 0.3059f, 0.364942f, 0.422552f, 0.478502f, 0.532574f, 0.584554f, 0.63424f, 0.681426f, 0.725935f, 0.767592f, 0.806234f, 0.841711f, 0.873882f, 0.902622f, 0.927817f, 0.949369f, 0.967184f, 0.981194f, 0.991352f, 0.997616f, 0.999962f, 0.998383f, 0.992883f, 0.983484f, 0.970223f, 0.953146f, 0.932316f, 0.907826f, 0.879771f, 0.848261f, 0.81342f, 0.775385f, 0.734305f, 0.69034f, 0.643663f, 0.594449f, 0.542902f, 0.489223f, 0.433623f, 0.37632f, 0.31754f, 0.257512f, 0.196472f, 0.13466f, 0.0723176f, 0.00969146f, -0.0529722f, -0.115427f, -0.177429f, -0.238734f, -0.299102f, -0.358296f, -0.416084f, -0.472233f, -0.526524f, -0.578748f, -0.628699f, -0.67618f, -0.721007f, -0.763002f, -0.802001f, -0.837851f, -0.870405f, -0.899533f, -0.925128f, -0.947091f, -0.965334f, -0.979786f, -0.990391f, -0.997107f, -0.999907f, -0.998776f, -0.993711f, -0.984744f, -0.97191f, -0.95526f, -0.934858f, -0.910785f, -0.883136f, -0.852018f, -0.817553f, -0.779866f, -0.739116f, -0.695464f, -0.649081f, -0.60015f, -0.548862f, -0.495418f, -0.440028f, -0.382909f, -0.324282f, -0.264381f, -0.203442f, -0.141705f, -0.0794113f, -0.0168058f, 0.0458659f, 0.108358f, 0.170425f, 0.231822f, 0.292306f, 0.351642f, 0.409597f, 0.465943f, 0.520459f, 0.572931f, 0.623154f, 0.670931f, 0.716069f, 0.758388f, 0.797728f, 0.833935f, 0.866867f, 0.896395f, 0.922403f, 0.944789f, 0.963465f, 0.978355f, 0.98939f, 0.99654f, 0.999776f, 0.999086f, 0.994474f, 0.985956f, 0.973567f, 0.957354f, 0.937382f, 0.913715f, 0.886458f, 0.855721f, 0.821624f, 0.784301f, 0.743897f, 0.700572f, 0.654496f, 0.605849f, 0.554816f, 0.501602f, 0.446418f, 0.389482f, 0.331017f, 0.271251f, 0.21042f, 0.148763f, 0.0865204f, 0.0239372f, -0.0387399f, -0.101264f, -0.16339f, -0.224875f, -0.285476f, -0.344956f, -0.403082f, -0.459626f, -0.514364f, -0.567075f, -0.617558f, -0.665617f, -0.711061f, -0.753713f, -0.793405f, -0.829981f, -0.863299f, -0.893227f, -0.919633f, -0.942427f, -0.96152f, -0.976837f, -0.988319f, -0.995919f, -0.999608f, -0.999372f, -0.995212f, -0.98713f, -0.975169f, -0.959379f, -0.939821f, -0.916573f, -0.889725f, -0.859383f, -0.825667f, -0.788708f, -0.748644f, -0.705635f, -0.659856f, -0.611485f, -0.560714f, -0.507741f, -0.452774f, -0.396028f, -0.337727f, -0.278097f, -0.217372f, -0.155794f, -0.0936055f, -0.0310492f, 0.0316289f, 0.094183f, 0.156368f, 0.217939f, 0.278654f, 0.338272f, 0.39656f, 0.45329f, 0.50824f, 0.561194f, 0.611945f, 0.660292f, 0.706048f, 0.749031f, 0.789062f, 0.825992f, 0.859679f, 0.889989f, 0.916805f, 0.94002f, 0.959544f, 0.9753f, 0.987226f, 0.995265f, 0.99939f, 0.999591f, 0.995867f, 0.988232f, 0.976717f, 0.961366f, 0.94224f, 0.919413f, 0.89297f, 0.863012f, 0.829665f, 0.79306f, 0.753342f, 0.710665f, 0.665197f, 0.617117f, 0.566613f, 0.513881f, 0.459125f, 0.402566f, 0.344427f, 0.284936f, 0.224326f, 0.162835f, 0.100705f, 0.0381778f, -0.0244997f, -0.0870807f, -0.149319f, -0.21097f, -0.271793f, -0.331547f, -0.390001f, -0.446922f, -0.50209f, -0.555286f, -0.606295f, -0.65492f, -0.700973f, -0.744273f, -0.78465f, -0.821946f, -0.856015f, -0.886722f, -0.913947f, -0.937576f, -0.957515f, -0.973694f, -0.98605f, -0.994533f, -0.999111f, -0.999765f, -0.996493f, -0.989308f, -0.978234f, -0.963307f, -0.944597f, -0.922177f, -0.896137f, -0.866578f, -0.833615f, -0.797379f, -0.758011f, -0.715666f, -0.670499f, -0.622699f, -0.572455f, -0.519963f, -0.465429f, -0.409068f, -0.3511f, -0.291752f, -0.231258f, -0.169853f, -0.107781f, -0.0452864f, 0.0173857f, 0.0799894f, 0.142279f, 0.20401f, 0.264941f, 0.324832f, 0.383444f, 0.440547f, 0.495921f, 0.549346f, 0.600614f, 0.649523f, 0.695882f, 0.739508f, 0.780231f, 0.817885f, 0.852319f, 0.883406f, 0.911024f, 0.935064f, 0.955432f, 0.972048f, 0.984847f, 0.993779f, 0.998805f, 0.999896f, 0.997061f, 0.990311f, 0.979672f, 0.965186f, 0.94691f, 0.924915f, 0.899288f, 0.870129f, 0.83754f, 0.801662f, 0.762636f, 0.720615f, 0.675765f, 0.628261f, 0.57829f, 0.526047f, 0.471738f, 0.415571f, 0.35777f, 0.298565f, 0.238188f, 0.176875f, 0.114869f, 0.0524104f, -0.0102541f, -0.072879f, -0.135217f, -0.197023f, -0.258055f, -0.318073f, -0.376841f, -0.43413f, -0.489714f, -0.543376f, -0.594904f, -0.644094f, -0.690746f, -0.734686f, -0.77574f, -0.813748f, -0.84856f, -0.88004f, -0.908064f, -0.932523f, -0.953319f, -0.970357f, -0.983584f, -0.992949f, -0.998414f, -0.999959f, -0.997577f, -0.991277f, -0.981085f, -0.96704f, -0.949184f, -0.927599f, -0.902371f, -0.873599f, -0.841398f, -0.805892f, -0.767221f, -0.725537f, -0.681004f, -0.633789f, -0.584082f, -0.532082f, -0.477992f, -0.422026f, -0.364403f, -0.305348f, -0.245094f, -0.183876f, -0.121935f, -0.0595147f, 0.00313903f, 0.06578f, 0.128162f, 0.190041f, 0.251174f, 0.311321f, 0.370246f, 0.427717f, 0.483502f, 0.537388f, 0.589163f, 0.638624f, 0.685577f, 0.729838f, 0.771234f, 0.809601f, 0.844789f, 0.876647f, 0.905062f, 0.929922f, 0.95113f, 0.968602f, 0.982272f, 0.992084f, 0.998f, 0.999997f, 0.998057f, 0.992193f, 0.982433f, 0.968814f, 0.951392f, 0.930233f, 0.905421f, 0.877054f, 0.845242f, 0.810104f, 0.771779f, 0.730423f, 0.686199f, 0.639281f, 0.589852f, 0.538107f, 0.484248f, 0.428487f, 0.371041f, 0.312134f, 0.252002f, 0.19088f, 0.12901f, 0.0666324f, 0.00399338f, -0.0586617f, -0.121087f, -0.183037f, -0.244266f, -0.304535f, -0.363607f, -0.421252f, -0.477241f, -0.531357f, -0.583387f, -0.633126f, -0.680379f, -0.724952f, -0.766675f, -0.805387f, -0.840936f, -0.873183f, -0.902001f, -0.927277f, -0.948911f, -0.96682f, -0.980923f, -0.991167f, -0.997519f, -0.999954f, -0.998461f, -0.993048f, -0.983736f, -0.97056f, -0.953572f, -0.932835f, -0.908425f, -0.880447f, -0.849012f, -0.814244f, -0.776278f, -0.735263f, -0.691361f, -0.644744f, -0.595593f, -0.544095f, -0.49046f, -0.4349f, -0.377633f, -0.318883f, -0.25888f, -0.19786f, -0.136063f, -0.0737312f, -0.0111084f, 0.0515573f, 0.11402f, 0.176035f, 0.237358f, 0.297749f, 0.356971f, 0.414792f, 0.470984f, 0.525323f, 0.577595f, 0.627598f, 0.675136f, 0.720023f, 0.762083f, 0.80115f, 0.837071f, 0.869706f, 0.898919f, 0.924594f, 0.946638f, 0.964964f, 0.979501f, 0.990192f, 0.996994f, 0.999881f, 0.998842f, 0.993878f, 0.984997f, 0.97225f, 0.955684f, 0.935365f, 0.911374f, 0.883803f, 0.852762f, 0.818372f, 0.780767f, 0.740085f, 0.696496f, 0.650173f, 0.601296f, 0.550059f, 0.496661f, 0.441313f, 0.384231f, 0.32564f, 0.265766f, 0.204847f, 0.143125f, 0.0808411f, 0.01824f, -0.0444328f, -0.106931f, -0.16901f, -0.230427f, -0.290936f, -0.350301f, -0.408289f, -0.464673f, -0.519233f, -0.571754f, -0.622029f, -0.669862f, -0.715065f, -0.757457f, -0.796866f, -0.833145f, -0.866152f, -0.895758f, -0.921846f, -0.944314f, -0.963074f, -0.978052f, -0.989188f, -0.996425f, -0.999749f, -0.999147f, -0.994622f, -0.986191f, -0.973887f, -0.957758f, -0.937868f, -0.914296f, -0.88712f, -0.856458f, -0.822434f, -0.78518f, -0.744843f, -0.701581f, -0.655564f, -0.606972f, -0.555996f, -0.502831f, -0.447688f, -0.390788f, -0.332354f, -0.272615f, -0.211805f, -0.150163f, -0.0879314f, -0.0253537f, 0.0373242f, 0.0998549f, 0.161993f, 0.223494f, 0.284117f, 0.343625f, 0.401783f, 0.458364f, 0.513146f, 0.565911f, 0.616447f, 0.664561f, 0.710065f, 0.75278f, 0.79254f, 0.829187f, 0.862578f, 0.892582f, 0.919082f, 0.941958f, 0.961134f, 0.976535f, 0.988102f, 0.995789f, 0.999565f, 0.999416f, 0.995343f, 0.987361f, 0.975491f, 0.959786f, 0.940311f, 0.917145f, 0.890377f, 0.860112f, 0.82647f, 0.789582f, 0.749593f, 0.706655f, 0.660935f, 0.612621f, 0.561902f, 0.508976f, 0.454051f, 0.397343f, 0.339074f, 0.279473f, 0.218774f, 0.157212f, 0.0950338f, 0.0324829f, -0.0301952f, -0.0927547f, -0.15495f, -0.216537f, -0.277275f, -0.336924f, -0.395245f, -0.452013f, -0.507005f, -0.560007f, -0.610809f, -0.659212f, -0.705027f, -0.748074f, -0.788184f, -0.825188f, -0.858949f, -0.889336f, -0.916231f, -0.939528f, -0.959136f, -0.974977f, -0.986989f, -0.995126f, -0.999346f, -0.999634f, -0.995997f, -0.988449f, -0.977019f, -0.961753f, -0.94271f, -0.919965f, -0.893606f, -0.863734f, -0.83046f, -0.793926f, -0.754274f, -0.711661f, -0.666253f, -0.618229f, -0.567776f, -0.515094f, -0.460387f, -0.403865f, -0.345759f, -0.286295f, -0.225707f, -0.164233f, -0.102114f, -0.0395935f, 0.023083f, 0.0856695f, 0.147918f, 0.209586f, 0.270429f, 0.33021f, 0.388695f, 0.445653f, 0.500861f, 0.554103f, 0.605169f, 0.653853f, 0.699965f, 0.743328f, 0.783772f, 0.821138f, 0.855279f, 0.886061f, 0.913365f, 0.937082f, 0.957112f, 0.973375f, 0.985816f, 0.994385f, 0.99905f, 0.999791f, 0.996607f, 0.98951f, 0.978526f, 0.963697f, 0.945071f, 0.922733f, 0.896773f, 0.867291f, 0.834404f, 0.79824f, 0.758941f, 0.716661f, 0.671567f, 0.623824f, 0.573633f, 0.521189f, 0.466698f, 0.410376f, 0.352441f, 0.293122f, 0.232652f, 0.171267f, 0.109208f, 0.0467194f, -0.0159516f, -0.0785597f, -0.140859f, -0.202605f, -0.263556f, -0.323472f, -0.382119f, -0.439262f, -0.494677f, -0.548148f, -0.599467f, -0.648431f, -0.694849f, -0.738538f, -0.779328f, -0.817057f, -0.851574f, -0.882738f, -0.910435f, -0.934556f, -0.955007f, -0.971708f, -0.984593f, -0.993612f, -0.998729f, -0.999922f, -0.997175f, -0.990511f, -0.979958f, -0.965557f, -0.947364f, -0.92545f, -0.899903f, -0.870821f, -0.83832f, -0.802514f, -0.763556f, -0.721599f, -0.67681f, -0.629362f, -0.579444f, -0.527249f, -0.472984f, -0.41686f, -0.359095f, -0.299918f, -0.239564f, -0.17827f, -0.116276f, -0.0538252f, 0.00883711f, 0.0714652f, 0.133813f, 0.195635f, 0.256687f, 0.31673f, 0.375529f, 0.432853f, 0.488477f, 0.542183f, 0.59376f, 0.643006f, 0.689726f, 0.733728f, 0.774848f, 0.812925f, 0.847809f, 0.879364f, 0.907466f, 0.932005f, 0.952884f, 0.970021f, 0.983334f, 0.992784f, 0.998336f, 0.999968f, 0.997673f, 0.991461f, 0.981355f, 0.967396f, 0.949637f, 0.928138f, 0.902991f, 0.874298f, 0.842171f, 0.806738f, 0.768137f, 0.726519f, 0.682048f, 0.634898f, 0.585249f, 0.533298f, 0.479253f, 0.423326f, 0.365738f, 0.306713f, 0.246483f, 0.185285f, 0.123359f, 0.0609469f, -0.0017047f, -0.0643489f, -0.12674f, -0.188633f, -0.249785f, -0.309956f, -0.368911f, -0.426417f, -0.48225f, -0.536181f, -0.588005f, -0.637521f, -0.684532f, -0.728856f, -0.770317f, -0.808753f, -0.844014f, -0.875961f, -0.904456f, -0.929397f, -0.950688f, -0.968245f, -0.982001f, -0.9919f, -0.997903f, -0.999989f, -0.998147f, -0.992376f, -0.982701f, -0.969168f, -0.951829f, -0.930752f, -0.90602f, -0.87773f, -0.845994f, -0.810934f, -0.772685f, -0.731394f, -0.687232f, -0.640371f, -0.590995f, -0.539299f, -0.485485f, -0.429764f, -0.372355f, -0.313482f, -0.253374f, -0.192272f, -0.130415f, -0.0680462f, -0.00541037f, 0.0572468f, 0.119679f, 0.181643f, 0.242894f, 0.303187f, 0.362288f, 0.419967f, 0.475996f, 0.530155f, 0.582233f, 0.632025f, 0.679335f, 0.723978f, 0.765769f, 0.80455f, 0.840171f, 0.872492f, 0.901387f, 0.926742f, 0.948458f, 0.96645f, 0.980647f, 0.990985f, 0.997424f, 0.999945f, 0.99854f, 0.993215f, 0.983989f, 0.970899f, 0.953996f, 0.933347f, 0.909029f, 0.88113f, 0.849771f, 0.815076f, 0.77718f, 0.736232f, 0.692393f, 0.645835f, 0.596741f, 0.545302f, 0.491713f, 0.436193f, 0.378961f, 0.320242f, 0.260265f, 0.199265f, 0.137483f, 0.075161f, 0.0125427f, -0.0501251f, -0.112595f, -0.174623f, -0.235964f, -0.296379f, -0.35563f, -0.413484f, -0.469715f, -0.524102f, -0.576427f, -0.626484f, -0.674079f, -0.719028f, -0.761153f, -0.800288f, -0.836282f, -0.868991f, -0.898288f, -0.924053f, -0.94618f, -0.96459f, -0.979213f, -0.98999f, -0.996879f, -0.999854f, -0.998903f, -0.994029f, -0.985249f, -0.972586f, -0.956104f, -0.935868f, -0.911957f, -0.884465f, -0.853499f, -0.819182f, -0.781647f, -0.741042f, -0.697517f, -0.651252f, -0.60243f, -0.551242f, -0.49789f, -0.442583f, -0.385537f, -0.326977f, -0.267132f, -0.206235f, -0.144528f, -0.0822536f, -0.0196567f, 0.0430171f, 0.105522f, 0.167613f, 0.229046f, 0.28958f, 0.348976f, 0.406997f, 0.46342f, 0.518022f, 0.57059f, 0.620917f, 0.668806f, 0.714069f, 0.756529f, 0.796015f, 0.832365f, 0.865446f, 0.895128f, 0.921295f, 0.943845f, 0.962687f, 0.97775f, 0.988973f, 0.996312f, 0.999723f, 0.999209f, 0.994771f, 0.986427f, 0.974209f, 0.958165f, 0.938359f, 0.914868f, 0.887784f, 0.857202f, 0.823252f, 0.786069f, 0.745799f, 0.702601f, 0.656644f, 0.608108f, 0.557183f, 0.50407f, 0.448973f, 0.39211f, 0.333707f, 0.273995f, 0.213206f, 0.151581f, 0.0893597f, 0.0267874f, -0.0358908f, -0.0984283f, -0.160578f, -0.222096f, -0.282742f, -0.342277f, -0.400468f, -0.457087f, -0.511911f, -0.564725f, -0.615321f, -0.663492f, -0.709057f, -0.751837f, -0.791664f, -0.828383f, -0.861848f, -0.89193f, -0.918508f, -0.941481f, -0.960743f, -0.97623f, -0.987883f, -0.995657f, -0.999521f, -0.99946f, -0.995474f, -0.987579f, -0.975805f, -0.96019f, -0.940798f, -0.917712f, -0.891023f, -0.860834f, -0.827266f, -0.790448f, -0.750526f, -0.707657f, -0.662003f, -0.613744f, -0.563075f, -0.510196f, -0.455313f, -0.398642f, -0.340405f, -0.280832f, -0.220155f, -0.158612f, -0.0964448f, -0.0338992f, 0.0287789f, 0.0913437f, 0.15355f, 0.215153f, 0.275912f, 0.335587f, 0.393946f, 0.450751f, 0.505786f, 0.558833f, 0.609686f, 0.658145f, 0.704019f, 0.747129f, 0.787305f, 0.82439f, 0.858228f, 0.888692f, 0.915665f, 0.939043f, 0.958733f, 0.974658f, 0.986756f, 0.994979f, 0.999294f, 0.999678f, 0.996129f, 0.988668f, 0.977324f, 0.962143f, 0.943184f, 0.920521f, 0.894242f, 0.864452f, 0.831264f, 0.794801f, 0.755217f, 0.712668f, 0.667321f, 0.619354f, 0.568954f, 0.516319f, 0.461657f, 0.40518f, 0.347106f, 0.28767f, 0.227105f, 0.165648f, 0.10354f, 0.0410265f, -0.0216488f, -0.0842397f, -0.146501f, -0.208184f, -0.269049f, -0.328857f, -0.387373f, -0.444368f, -0.499617f, -0.552905f, -0.604023f, -0.652768f, -0.698945f, -0.742371f, -0.782882f, -0.820319f, -0.854534f, -0.885393f, -0.912776f, -0.936574f, -0.956694f, -0.973053f, -0.98558f, -0.994236f, -0.998988f, -0.999818f, -0.996721f, -0.98971f, -0.978812f, -0.96407f, -0.945541f, -0.923285f, -0.897403f, -0.867998f, -0.835185f, -0.799092f, -0.75986f, -0.717645f, -0.672611f, -0.624936f, -0.574796f, -0.5224f, -0.467952f, -0.411667f, -0.353766f, -0.294476f, -0.234029f, -0.172662f, -0.110616f, -0.0481352f, 0.0145348f, 0.0771471f, 0.139456f, 0.201217f, 0.262188f, 0.32213f, 0.380807f, 0.437989f, 0.493448f, 0.546965f, 0.598334f, 0.647352f, 0.693829f, 0.73758f, 0.778436f, 0.816234f, 0.850828f, 0.882078f, 0.909852f, 0.934054f, 0.954587f, 0.971372f, 0.984342f, 0.993447f, 0.998651f, 0.999933f, 0.997289f, 0.990712f, 0.980246f, 0.96593f, 0.947821f, 0.92599f, 0.900523f, 0.87152f, 0.839093f, 0.803372f, 0.764485f, 0.722594f, 0.677866f, 0.630476f, 0.580611f, 0.528466f, 0.474244f, 0.41816f, 0.360434f, 0.301288f, 0.240958f, 0.179682f, 0.117701f, 0.0552574f, -0.00740278f, -0.0700341f, -0.132391f, -0.194228f, -0.255302f, -0.315371f, -0.374201f, -0.43156f, -0.487225f, -0.540976f, -0.592603f, -0.641903f, -0.688683f, -0.732758f, -0.773945f, -0.812092f, -0.847049f, -0.87868f, -0.906861f, -0.93148f, -0.952442f, -0.969664f, -0.983078f, -0.992617f, -0.998257f, -0.999976f, -0.997769f, -0.991644f, -0.981624f, -0.967749f, -0.950075f, -0.928669f, -0.903606f, -0.87499f, -0.842938f, -0.807576f, -0.769043f, -0.72749f, -0.683081f, -0.635988f, -0.586398f, -0.5345f, -0.480499f, -0.424611f, -0.367056f, -0.308061f, -0.247855f, -0.186676f, -0.124764f, -0.062361f, 0.000287714f, 0.0629351f, 0.125335f, 0.187241f, 0.248413f, 0.308608f, 0.367592f, 0.425133f, 0.481005f, 0.534988f, 0.586862f, 0.636431f, 0.6835f, 0.727885f, 0.769411f, 0.807916f, 0.843249f, 0.87527f, 0.903855f, 0.928879f, 0.950252f, 0.967893f, 0.981733f, 0.991718f, 0.997808f, 0.99998f, 0.998226f, 0.992552f, 0.982972f, 0.969524f, 0.952269f, 0.931275f, 0.906624f, 0.878413f, 0.846752f, 0.811766f, 0.773592f, 0.732376f, 0.688276f, 0.641474f, 0.592152f, 0.540506f, 0.486737f, 0.431057f, 0.373684f, 0.314842f, 0.254763f, 0.19368f, 0.131837f, 0.0694773f, 0.00684469f, -0.0558146f, -0.118255f, -0.180231f, -0.2415f, -0.301821f, -0.360953f, -0.418666f, -0.474735f, -0.528939f, -0.581065f, -0.63091f, -0.678278f, -0.722982f, -0.764848f, -0.803703f, -0.839396f, -0.871793f, -0.900766f, -0.926202f, -0.948f, -0.966076f, -0.980359f, -0.990791f, -0.997327f, -0.999936f, -0.998619f, -0.99338f, -0.98424f, -0.971236f, -0.954417f, -0.93385f, -0.909616f, -0.881807f, -0.850523f, -0.8159f, -0.778073f, -0.737191f, -0.693414f, -0.646914f, -0.597874f, -0.546485f, -0.492949f, -0.43747f, -0.380274f, -0.321584f, -0.261633f, -0.200653f, -0.138886f, -0.0765735f, -0.0139595f, 0.0487101f, 0.111188f, 0.173228f, 0.234588f, 0.295025f, 0.354304f, 0.412192f, 0.468461f, 0.522892f, 0.575269f, 0.625383f, 0.673035f, 0.718045f, 0.760234f, 0.799437f, 0.835502f, 0.868285f, 0.897659f, 0.923508f, 0.945727f, 0.964221f, 0.978928f, 0.989791f, 0.996766f, 0.999828f, 0.998964f, 0.994178f, 0.985487f, 0.972925f, 0.956528f, 0.936375f, 0.912545f, 0.885132f, 0.854243f, 0.819999f, 0.782535f, 0.741998f, 0.698547f, 0.652343f, 0.603576f, 0.55244f, 0.499134f, 0.443868f, 0.386859f, 0.32833f, 0.268512f, 0.207639f, 0.145948f, 0.0836834f, 0.0210908f, -0.0415841f, -0.104096f, -0.166198f, -0.227648f, -0.288205f, -0.347631f, -0.405689f, -0.462151f, -0.516796f, -0.569412f, -0.619792f, -0.667738f, -0.713061f, -0.755585f, -0.795142f, -0.831576f, -0.864732f, -0.894491f, -0.920738f, -0.94337f, -0.962296f, -0.977444f, -0.988754f, -0.996181f, -0.999696f, -0.99927f, -0.994919f, -0.986661f, -0.974528f, -0.958569f, -0.938846f, -0.915435f, -0.88843f, -0.857935f, -0.824061f, -0.786948f, -0.746745f, -0.70361f, -0.657711f, -0.60923f, -0.558357f, -0.50529f, -0.450239f, -0.393415f, -0.335044f, -0.275358f, -0.214591f, -0.152981f, -0.0907707f, -0.0282037f, 0.0344744f, 0.0970178f, 0.15918f, 0.220716f, 0.281384f, 0.340946f, 0.399169f, 0.455825f, 0.510691f, 0.563552f, 0.6142f, 0.662436f, 0.708061f, 0.750905f, 0.790799f, 0.827588f, 0.861127f, 0.891285f, 0.917942f, 0.940995f, 0.960353f, 0.975928f, 0.987667f, 0.995527f, 0.999477f, 0.999503f, 0.995605f, 0.987797f, 0.97611f, 0.96059f, 0.941289f, 0.918284f, 0.891674f, 0.861563f, 0.828069f, 0.791323f, 0.751469f, 0.708664f, 0.663076f, 0.61488f, 0.564263f, 0.51143f, 0.45659f, 0.399957f, 0.341753f, 0.282207f, 0.221553f, 0.160028f, 0.0978731f, 0.0353329f, -0.0273452f, -0.0899154f, -0.152132f, -0.213751f, -0.274531f, -0.334234f, -0.392624f, -0.449473f, -0.504551f, -0.557646f, -0.60855f, -0.657065f, -0.702999f, -0.746172f, -0.786416f, -0.823571f, -0.857493f, -0.888039f, -0.915092f, -0.938551f, -0.958325f, -0.974335f, -0.986519f, -0.994829f, -0.999233f, -0.999713f, -0.99626f, -0.988885f, -0.977627f, -0.96253f, -0.943654f, -0.921072f, -0.894873f, -0.865159f, -0.832048f, -0.795667f, -0.75615f, -0.713665f, -0.668377f, -0.620466f, -0.570117f, -0.51753f, -0.462911f, -0.406472f, -0.348437f, -0.289028f, -0.228485f, -0.167045f, -0.10495f, -0.0424422f, 0.0202321f, 0.0828272f, 0.145098f, 0.206799f, 0.267686f, 0.32752f, 0.386067f, 0.443098f, 0.498389f, 0.551722f, 0.60289f, 0.65169f, 0.697931f, 0.741426f, 0.782004f, 0.81951f, 0.853798f, 0.884733f, 0.912193f, 0.936072f, 0.956275f, 0.972723f, 0.985346f, 0.994089f, 0.998927f, 0.999844f, 0.996835f, 0.989911f, 0.9791f, 0.964444f, 0.946f, 0.923841f, 0.898039f, 0.868712f, 0.835973f, 0.799952f, 0.76079f, 0.71864f, 0.673668f, 0.62605f, 0.575972f, 0.523625f, 0.469221f, 0.412975f, 0.355108f, 0.295846f, 0.235422f, 0.174074f, 0.112041f, 0.0495679f, -0.0131007f, -0.0757173f, -0.138036f, -0.199812f, -0.260803f, -0.320771f, -0.379478f, -0.436696f, -0.4922f, -0.545768f, -0.597187f, -0.646261f, -0.692796f, -0.736611f, -0.777532f, -0.815401f, -0.850068f, -0.881397f, -0.909263f, -0.933546f, -0.954163f, -0.971032f, -0.984088f, -0.99328f, -0.998571f, -0.999941f, -0.997385f, -0.990911f, -0.980531f, -0.9663f, -0.948275f, -0.926525f, -0.901138f, -0.872211f, -0.83986f, -0.80421f, -0.765401f, -0.723578f, -0.678911f, -0.631578f, -0.581765f, -0.529667f, -0.47549f, -0.419445f, -0.361753f, -0.302639f, -0.242334f, -0.181076f, -0.119108f, -0.0566722f, 0.00598579f, 0.0686203f, 0.130986f, 0.192837f, 0.253931f, 0.314028f, 0.372888f, 0.430283f, 0.485988f, 0.539783f, 0.59146f, 0.640813f, 0.687651f, 0.731789f, 0.773053f, 0.811269f, 0.846299f, 0.878005f, 0.906263f, 0.930962f, 0.952006f, 0.969311f, 0.98281f, 0.99245f, 0.998179f, 0.999985f, 0.997865f, 0.991827f, 0.981894f, 0.968106f, 0.950515f, 0.929192f, 0.90422f, 0.875688f, 0.843712f, 0.808423f, 0.769959f, 0.728473f, 0.684125f, 0.637091f, 0.587555f, 0.535711f, 0.48176f, 0.425911f, 0.368392f, 0.309425f, 0.249244f, 0.188085f, 0.126186f, 0.063792f, 0.00114661f, -0.061504f, -0.123912f, -0.185833f, -0.247023f, -0.307244f, -0.366257f, -0.423832f, -0.479744f, -0.533772f, -0.585704f, -0.635328f, -0.682455f, -0.726902f, -0.768494f, -0.807069f, -0.842474f, -0.874571f, -0.903234f, -0.92835f, -0.94981f, -0.967536f, -0.981462f, -0.991533f, -0.997711f, -0.999971f, -0.998304f, -0.992717f, -0.983232f, -0.969878f, -0.952707f, -0.931794f, -0.907223f, -0.87909f, -0.847504f, -0.81259f, -0.774485f, -0.733339f, -0.689309f, -0.642564f, -0.593296f, -0.541699f, -0.487975f, -0.432334f, -0.374996f, -0.316185f, -0.256132f, -0.195072f, -0.133243f, -0.070891f, -0.00826168f, 0.0543998f, 0.116847f, 0.178836f, 0.240123f, 0.300468f, 0.359633f, 0.417382f, 0.473489f, 0.527737f, 0.579912f, 0.629809f, 0.677234f, 0.721999f, 0.763929f, 0.80286f, 0.838631f, 0.871102f, 0.900152f, 0.925667f, 0.947548f, 0.965707f, 0.980074f, 0.990592f, 0.99722f, 0.999928f, 0.998698f, 0.993546f, 0.984494f, 0.971575f, 0.954841f, 0.934357f, 0.910204f, 0.882477f, 0.851282f, 0.816732f, 0.778975f, 0.73816f, 0.694446f, 0.648006f, 0.59902f, 0.547682f, 0.494193f, 0.438762f, 0.381602f, 0.322944f, 0.263017f, 0.202059f, 0.140306f, 0.0780033f, 0.0153936f, -0.047277f, -0.109763f, -0.171816f, -0.233194f, -0.293655f, -0.352963f, -0.410884f, -0.467192f, -0.521666f, -0.574091f, -0.624263f, -0.671979f, -0.717049f, -0.759304f, -0.798576f, -0.834712f, -0.867571f, -0.897022f, -0.922951f, -0.945256f, -0.963847f, -0.978639f, -0.989589f, -0.996652f, -0.999802f, -0.999025f, -0.994325f, -0.985721f, -0.973246f, -0.956948f, -0.936878f, -0.913128f, -0.885793f, -0.85498f, -0.820809f, -0.783415f, -0.742944f, -0.699556f, -0.65342f, -0.604709f, -0.553623f, -0.500362f, -0.445137f, -0.388165f, -0.329667f, -0.269876f, -0.209023f, -0.14735f, -0.0850959f, -0.0225076f, 0.0401684f, 0.102686f, 0.164801f, 0.226268f, 0.286847f, 0.346299f, 0.404393f, 0.460897f, 0.515585f, 0.568249f, 0.61868f, 0.666682f, 0.712066f, 0.754653f, 0.794277f, 0.830783f, 0.864026f, 0.893862f, 0.920188f, 0.9429f, 0.96191f, 0.977142f, 0.988537f, 0.99605f, 0.999652f, 0.999329f, 0.995068f, 0.986897f, 0.97485f, 0.958976f, 0.939336f, 0.916007f, 0.889081f, 0.858664f, 0.824874f, 0.787837f, 0.747701f, 0.704629f, 0.658791f, 0.610366f, 0.559544f, 0.506525f, 0.451516f, 0.394733f, 0.336398f, 0.276738f, 0.215992f, 0.154399f, 0.092199f, 0.0296374f, -0.0330407f, -0.0955895f, -0.157764f, -0.219318f, -0.280009f, -0.339599f, -0.397855f, -0.454548f, -0.509456f, -0.562364f, -0.613064f, -0.661356f, -0.707053f, -0.749961f, -0.789924f, -0.826784f, -0.860397f, -0.890632f, -0.917369f, -0.940504f, -0.959945f, -0.975618f, -0.987447f, -0.995395f, -0.999433f, -0.999547f, -0.995736f, -0.988014f, -0.976413f, -0.960977f, -0.941767f, -0.918852f, -0.89232f, -0.862285f, -0.828864f, -0.792188f, -0.752402f, -0.70966f, -0.664132f, -0.615995f, -0.565436f, -0.51265f, -0.457852f, -0.401256f, -0.343084f, -0.283566f, -0.222933f, -0.161425f, -0.0992825f, -0.0367493f, 0.0259289f, 0.0885044f, 0.150732f, 0.212367f, 0.273168f, 0.332897f, 0.391318f, 0.448204f, 0.503329f, 0.556472f, 0.607428f, 0.655997f, 0.701991f, 0.745227f, 0.785537f, 0.822762f, 0.856757f, 0.887388f, 0.914526f, 0.938066f, 0.957922f, 0.974016f, 0.986286f, 0.994682f, 0.999172f, 0.999739f, 0.996381f, 0.989103f, 0.977932f, 0.962921f, 0.944128f, 0.921628f, 0.895509f, 0.865873f, 0.832837f, 0.79653f, 0.757093f, 0.714672f, 0.669446f, 0.621591f, 0.571295f, 0.518756f, 0.46418f, 0.40778f, 0.349779f, 0.290403f, 0.229883f, 0.16846f, 0.106376f, 0.0438753f, -0.018798f, -0.0813974f, -0.143678f, -0.205394f, -0.266304f, -0.326166f, -0.384745f, -0.441813f, -0.497145f, -0.550525f, -0.601743f, -0.650598f, -0.696899f, -0.740463f, -0.781114f, -0.818691f, -0.853053f, -0.884064f, -0.911604f, -0.935564f, -0.95585f, -0.972383f, -0.985097f, -0.993939f, -0.998866f, -0.99987f, -0.996948f, -0.990111f, -0.979385f, -0.964814f, -0.946454f, -0.924377f, -0.89867f, -0.869419f, -0.836754f, -0.800804f, -0.76171f, -0.719624f, -0.674712f, -0.627151f, -0.577126f, -0.524835f, -0.470475f, -0.414267f, -0.356433f, -0.297199f, -0.236799f, -0.175468f, -0.113448f, -0.0509827f, 0.0116839f, 0.0743048f, 0.136633f, 0.198424f, 0.259435f, 0.319428f, 0.378166f, 0.435419f, 0.490963f, 0.544579f, 0.596054f, 0.645182f, 0.691776f, 0.735653f, 0.77664f, 0.814578f, 0.849317f, 0.880722f, 0.908668f, 0.933044f, 0.953743f, 0.970696f, 0.983838f, 0.993115f, 0.998493f, 0.99995f, 0.997481f, 0.991095f, 0.980817f, 0.966673f, 0.948732f, 0.927065f, 0.901758f, 0.87291f, 0.840634f, 0.805056f, 0.766317f, 0.724569f, 0.679967f, 0.632692f, 0.582932f, 0.530884f, 0.476751f, 0.420746f, 0.363088f, 0.304004f, 0.243726f, 0.182488f, 0.120533f, 0.0581044f, -0.00455146f, -0.0671892f, -0.129563f, -0.191428f, -0.252542f, -0.312665f, -0.37156f, -0.42899f, -0.484735f, -0.538576f, -0.590302f, -0.63971f, -0.686606f, -0.730806f, -0.772136f, -0.810435f, -0.845539f, -0.877321f, -0.905658f, -0.930438f, -0.951564f, -0.968954f, -0.982539f, -0.992265f, -0.998095f, -0.999994f, -0.997961f, -0.99201f, -0.982163f, -0.968459f, -0.950952f, -0.929711f, -0.904819f, -0.876373f, -0.844478f, -0.809261f, -0.770866f, -0.729444f, -0.685158f, -0.638181f, -0.588698f, -0.536903f, -0.483f, -0.427196f, -0.36971f, -0.310774f, -0.250617f, -0.189476f, -0.127592f, -0.0652058f, -0.0025636f, 0.0600893f, 0.122507f, 0.184441f, 0.245651f, 0.305895f, 0.364938f, 0.422548f, 0.478498f, 0.53257f, 0.58455f, 0.634236f, 0.681423f, 0.725932f, 0.767589f, 0.806232f, 0.841709f, 0.87388f, 0.90262f, 0.927816f, 0.949368f, 0.967183f, 0.981194f, 0.991351f, 0.997616f, 0.999962f, 0.998383f, 0.992884f, 0.983485f, 0.970224f, 0.953147f, 0.932318f, 0.907828f, 0.879773f, 0.848263f, 0.813423f, 0.775388f, 0.734308f, 0.690344f, 0.643667f, 0.594453f, 0.542906f, 0.489227f, 0.433627f, 0.376325f, 0.317544f, 0.257516f, 0.196477f, 0.134665f, 0.0723221f, 0.00969601f, -0.0529676f, -0.115423f, -0.177425f, -0.23873f, -0.299098f, -0.358292f, -0.416079f, -0.472229f, -0.526521f, -0.578744f, -0.628695f, -0.676177f, -0.721004f, -0.762999f, -0.801998f, -0.837849f, -0.870403f, -0.899531f, -0.925127f, -0.947089f, -0.965333f, -0.979785f, -0.99039f, -0.997106f, -0.999907f, -0.998776f, -0.993712f, -0.984745f, -0.971911f, -0.955261f, -0.93486f, -0.910787f, -0.883138f, -0.85202f, -0.817556f, -0.779868f, -0.739119f, -0.695467f, -0.649085f, -0.600154f, -0.548865f, -0.495422f, -0.440032f, -0.382914f, -0.324286f, -0.264385f, -0.203447f, -0.141709f, -0.0794158f, -0.0168104f, 0.0458613f, 0.108353f, 0.170421f, 0.231817f, 0.292302f, 0.351638f, 0.409593f, 0.465939f, 0.520455f, 0.572928f, 0.623151f, 0.670927f, 0.716066f, 0.758385f, 0.797725f, 0.833932f, 0.866865f, 0.896393f, 0.922401f, 0.944787f, 0.963463f, 0.978354f, 0.98939f, 0.996539f, 0.999776f, 0.999087f, 0.994474f, 0.985957f, 0.973568f, 0.957355f, 0.937383f, 0.913717f, 0.886461f, 0.855724f, 0.821627f, 0.784303f, 0.7439f, 0.700576f, 0.6545f, 0.605853f, 0.55482f, 0.501606f, 0.446422f, 0.389486f, 0.331021f, 0.271256f, 0.210425f, 0.148767f, 0.0865249f, 0.0239417f, -0.0387354f, -0.10126f, -0.163386f, -0.22487f, -0.285471f, -0.344952f, -0.403078f, -0.459622f, -0.51436f, -0.567071f, -0.617555f, -0.665613f, -0.711058f, -0.75371f, -0.793402f, -0.829979f, -0.863297f, -0.893225f, -0.919631f, -0.942426f, -0.961519f, -0.976837f, -0.988318f, -0.995919f, -0.999608f, -0.999372f, -0.995212f, -0.987131f, -0.97517f, -0.95938f, -0.939823f, -0.916575f, -0.889727f, -0.859386f, -0.825669f, -0.78871f, -0.748647f, -0.705638f, -0.659859f, -0.611489f, -0.560718f, -0.507745f, -0.452778f, -0.396032f, -0.337731f, -0.278101f, -0.217377f, -0.155799f, -0.09361f, -0.0310538f, 0.0316244f, 0.0941785f, 0.156363f, 0.217934f, 0.27865f, 0.338267f, 0.396556f, 0.453286f, 0.508236f, 0.561191f, 0.611941f, 0.660289f, 0.706044f, 0.749028f, 0.789059f, 0.82599f, 0.859676f, 0.889987f, 0.916803f, 0.940018f, 0.959542f, 0.975299f, 0.987225f, 0.995265f, 0.99939f, 0.999591f, 0.995867f, 0.988233f, 0.976718f, 0.961367f, 0.942241f, 0.919415f, 0.892972f, 0.863014f, 0.829667f, 0.793063f, 0.753345f, 0.710668f, 0.6652f, 0.61712f, 0.566616f, 0.513885f, 0.459129f, 0.402571f, 0.344432f, 0.284941f, 0.224331f, 0.16284f, 0.100709f, 0.0381823f, -0.0244952f, -0.0870761f, -0.149314f, -0.210966f, -0.271788f, -0.331543f, -0.389996f, -0.446918f, -0.502086f, -0.555282f, -0.606292f, -0.654917f, -0.70097f, -0.74427f, -0.784648f, -0.821944f, -0.856012f, -0.88672f, -0.913945f, -0.937574f, -0.957514f, -0.973693f, -0.986049f, -0.994532f, -0.999111f, -0.999765f, -0.996494f, -0.989309f, -0.978235f, -0.963308f, -0.944598f, -0.922179f, -0.896139f, -0.86658f, -0.833618f, -0.797382f, -0.758014f, -0.715669f, -0.670502f, -0.622703f, -0.572459f, -0.519967f, -0.465433f, -0.409072f, -0.351104f, -0.291757f, -0.231263f, -0.169858f, -0.107786f, -0.045291f, 0.0173812f, 0.0799849f, 0.142275f, 0.204006f, 0.264936f, 0.324827f, 0.38344f, 0.440543f, 0.495917f, 0.549342f, 0.60061f, 0.649519f, 0.695878f, 0.739505f, 0.780228f, 0.817883f, 0.852317f, 0.883404f, 0.911022f, 0.935062f, 0.95543f, 0.972047f, 0.984846f, 0.993778f, 0.998805f, 0.999896f, 0.997062f, 0.990312f, 0.979673f, 0.965187f, 0.946911f, 0.924917f, 0.89929f, 0.870132f, 0.837543f, 0.801665f, 0.762639f, 0.720619f, 0.675769f, 0.628265f, 0.578294f, 0.526051f, 0.471742f, 0.415575f, 0.357774f, 0.298569f, 0.238192f, 0.17688f, 0.114873f, 0.0524149f, -0.0102495f, -0.0728744f, -0.135213f, -0.197019f, -0.258051f, -0.318069f, -0.376837f, -0.434126f, -0.48971f, -0.543372f, -0.5949f, -0.64409f, -0.690743f, -0.734683f, -0.775737f, -0.813745f, -0.848558f, -0.880038f, -0.908062f, -0.932521f, -0.953318f, -0.970356f, -0.983584f, -0.992948f, -0.998414f, -0.999959f, -0.997577f, -0.991278f, -0.981086f, -0.967041f, -0.949186f, -0.9276f, -0.902373f, -0.873602f, -0.8414f, -0.805894f, -0.767224f, -0.72554f, -0.681007f, -0.633793f, -0.584086f, -0.532086f, -0.477996f, -0.42203f, -0.364407f, -0.305352f, -0.245098f, -0.183881f, -0.12194f, -0.0595193f, 0.00313448f, 0.0657754f, 0.128158f, 0.190037f, 0.25117f, 0.311317f, 0.370242f, 0.427713f, 0.483498f, 0.537384f, 0.589159f, 0.63862f, 0.685574f, 0.729835f, 0.771231f, 0.809598f, 0.844787f, 0.876645f, 0.90506f, 0.92992f, 0.951128f, 0.968601f, 0.982271f, 0.992083f, 0.998f, 0.999997f, 0.998058f, 0.992194f, 0.982433f, 0.968815f, 0.951393f, 0.930234f, 0.905423f, 0.877056f, 0.845244f, 0.810107f, 0.771782f, 0.730426f, 0.686202f, 0.639284f, 0.589856f, 0.538111f, 0.484252f, 0.428491f, 0.371046f, 0.312138f, 0.252006f, 0.190885f, 0.129014f, 0.0666369f, 0.00399793f, -0.0586571f, -0.121082f, -0.183033f, -0.244262f, -0.304531f, -0.363603f, -0.421247f, -0.477237f, -0.531353f, -0.583383f, -0.633122f, -0.680376f, -0.724949f, -0.766672f, -0.805384f, -0.840934f, -0.873181f, -0.901999f, -0.927275f, -0.94891f, -0.966819f, -0.980922f, -0.991167f, -0.997519f, -0.999954f, -0.998462f, -0.993049f, -0.983736f, -0.970561f, -0.953574f, -0.932837f, -0.908427f, -0.880449f, -0.849015f, -0.814247f, -0.776281f, -0.735266f, -0.691364f, -0.644747f, -0.595597f, -0.544098f, -0.490464f, -0.434904f, -0.377637f, -0.318887f, -0.258884f, -0.197865f, -0.136068f, -0.0737358f, -0.011113f, 0.0515528f, 0.114015f, 0.17603f, 0.237353f, 0.297744f, 0.356967f, 0.414788f, 0.47098f, 0.525319f, 0.577591f, 0.627594f, 0.675133f, 0.72002f, 0.76208f, 0.801147f, 0.837069f, 0.869703f, 0.898917f, 0.924592f, 0.946637f, 0.964963f, 0.9795f, 0.990191f, 0.996993f, 0.99988f, 0.998842f, 0.993878f, 0.984998f, 0.972251f, 0.955685f, 0.935367f, 0.911376f, 0.883805f, 0.852764f, 0.818374f, 0.78077f, 0.740088f, 0.696499f, 0.650176f, 0.6013f, 0.550063f, 0.496665f, 0.441317f, 0.384235f, 0.325644f, 0.26577f, 0.204852f, 0.143129f, 0.0808456f, 0.0182445f, -0.0444283f, -0.106927f, -0.169006f, -0.230422f, -0.290932f, -0.350296f, -0.408285f, -0.464669f, -0.519229f, -0.57175f, -0.622025f, -0.669859f, -0.715062f, -0.757454f, -0.796863f, -0.833143f, -0.86615f, -0.895756f, -0.921844f, -0.944312f, -0.963072f, -0.978051f, -0.989188f, -0.996425f, -0.999749f, -0.999148f, -0.994622f, -0.986191f, -0.973888f, -0.957759f, -0.93787f, -0.914297f, -0.887122f, -0.856461f, -0.822437f, -0.785183f, -0.744846f, -0.701584f, -0.655567f, -0.606975f, -0.556f, -0.502834f, -0.447692f, -0.390792f, -0.332358f, -0.272619f, -0.211809f, -0.150168f, -0.0879359f, -0.0253583f, 0.0373197f, 0.0998503f, 0.161988f, 0.22349f, 0.284113f, 0.343621f, 0.401779f, 0.45836f, 0.513142f, 0.565907f, 0.616443f, 0.664558f, 0.710062f, 0.752777f, 0.792537f, 0.829184f, 0.862576f, 0.89258f, 0.91908f, 0.941956f, 0.961133f, 0.976535f, 0.988102f, 0.995788f, 0.999565f, 0.999416f, 0.995344f, 0.987362f, 0.975492f, 0.959787f, 0.940313f, 0.917147f, 0.890379f, 0.860115f, 0.826473f, 0.789585f, 0.749596f, 0.706658f, 0.660939f, 0.612625f, 0.561906f, 0.50898f, 0.454055f, 0.397347f, 0.339079f, 0.279478f, 0.218778f, 0.157216f, 0.0950383f, 0.0324874f, -0.0301907f, -0.0927502f, -0.154946f, -0.216533f, -0.27727f, -0.33692f, -0.395241f, -0.452009f, -0.507002f, -0.560003f, -0.610805f, -0.659209f, -0.705024f, -0.748071f, -0.788181f, -0.825185f, -0.858947f, -0.889334f, -0.91623f, -0.939527f, -0.959135f, -0.974976f, -0.986989f, -0.995126f, -0.999346f, -0.999635f, -0.995998f, -0.98845f, -0.977021f, -0.961754f, -0.942711f, -0.919966f, -0.893608f, -0.863736f, -0.830463f, -0.793929f, -0.754277f, -0.711664f, -0.666256f, -0.618232f, -0.56778f, -0.515097f, -0.460391f, -0.40387f, -0.345763f, -0.286299f, -0.225711f, -0.164237f, -0.102118f, -0.039598f, 0.0230784f, 0.085665f, 0.147914f, 0.209581f, 0.270425f, 0.330206f, 0.388691f, 0.445649f, 0.500857f, 0.554099f, 0.605166f, 0.65385f, 0.699962f, 0.743325f, 0.783769f, 0.821135f, 0.855276f, 0.886059f, 0.913363f, 0.93708f, 0.957111f, 0.973374f, 0.985815f, 0.994385f, 0.99905f, 0.999792f, 0.996608f, 0.98951f, 0.978527f, 0.963698f, 0.945072f, 0.922735f, 0.896775f, 0.867294f, 0.834406f, 0.798242f, 0.758944f, 0.716664f, 0.67157f, 0.623828f, 0.573636f, 0.521193f, 0.466703f, 0.41038f, 0.352445f, 0.293127f, 0.232656f, 0.171272f, 0.109212f, 0.046724f, -0.0159471f, -0.0785551f, -0.140854f, -0.202601f, -0.263552f, -0.323468f, -0.382115f, -0.439258f, -0.494673f, -0.548144f, -0.599463f, -0.648428f, -0.694846f, -0.738535f, -0.779325f, -0.817055f, -0.851572f, -0.882736f, -0.910433f, -0.934554f, -0.955006f, -0.971707f, -0.984592f, -0.993611f, -0.998729f, -0.999923f, -0.997175f, -0.990512f, -0.979959f, -0.965558f, -0.947365f, -0.925452f, -0.899905f, -0.870823f, -0.838322f, -0.802517f, -0.763559f, -0.721603f, -0.676813f, -0.629366f, -0.579447f, -0.527253f, -0.472988f, -0.416864f, -0.359099f, -0.299923f, -0.239569f, -0.178275f, -0.11628f, -0.0538298f, 0.00883256f, 0.0714606f, 0.133809f, 0.195631f, 0.256683f, 0.316726f, 0.375525f, 0.432849f, 0.488473f, 0.542179f, 0.593757f, 0.643003f, 0.689723f, 0.733725f, 0.774845f, 0.812922f, 0.847807f, 0.879362f, 0.907464f, 0.932003f, 0.952882f, 0.97002f, 0.983333f, 0.992784f, 0.998336f, 0.999968f, 0.997674f, 0.991462f, 0.981356f, 0.967397f, 0.949639f, 0.92814f, 0.902993f, 0.8743f, 0.842174f, 0.806741f, 0.76814f, 0.726522f, 0.682051f, 0.634902f, 0.585253f, 0.533302f, 0.479257f, 0.423331f, 0.365742f, 0.306717f, 0.246487f, 0.185289f, 0.123363f, 0.0609514f, -0.00170015f, -0.0643443f, -0.126735f, -0.188628f, -0.249781f, -0.309952f, -0.368907f, -0.426413f, -0.482246f, -0.536177f, -0.588002f, -0.637517f, -0.684529f, -0.728853f, -0.770314f, -0.808751f, -0.844012f, -0.875959f, -0.904454f, -0.929395f, -0.950687f, -0.968244f, -0.982f, -0.991899f, -0.997903f, -0.999989f, -0.998147f, -0.992376f, -0.982702f, -0.969169f, -0.95183f, -0.930754f, -0.906022f, -0.877732f, -0.845996f, -0.810937f, -0.772688f, -0.731397f, -0.687235f, -0.640374f, -0.590999f, -0.539303f, -0.485489f, -0.429768f, -0.372359f, -0.313487f, -0.253379f, -0.192276f, -0.130419f, -0.0680507f, -0.00541492f, 0.0572423f, 0.119675f, 0.181638f, 0.242889f, 0.303182f, 0.362284f, 0.419963f, 0.475992f, 0.530151f, 0.582229f, 0.632021f, 0.679331f, 0.723975f, 0.765767f, 0.804547f, 0.840168f, 0.87249f, 0.901385f, 0.926741f, 0.948457f, 0.966449f, 0.980646f, 0.990985f, 0.997423f, 0.999945f, 0.998541f, 0.993215f, 0.98399f, 0.9709f, 0.953998f, 0.933349f, 0.909031f, 0.881132f, 0.849774f, 0.815079f, 0.777183f, 0.736235f, 0.692397f, 0.645839f, 0.596744f, 0.545305f, 0.491716f, 0.436197f, 0.378966f, 0.320246f, 0.260269f, 0.19927f, 0.137488f, 0.0751656f, 0.0125473f, -0.0501206f, -0.112591f, -0.174618f, -0.23596f, -0.296374f, -0.355625f, -0.41348f, -0.469711f, -0.524099f, -0.576423f, -0.62648f, -0.674076f, -0.719025f, -0.76115f, -0.800286f, -0.836279f, -0.868989f, -0.898286f, -0.924052f, -0.946178f, -0.964589f, -0.979212f, -0.989989f, -0.996879f, -0.999854f, -0.998903f, -0.994029f, -0.98525f, -0.972587f, -0.956106f, -0.93587f, -0.911959f, -0.884467f, -0.853501f, -0.819184f, -0.78165f, -0.741045f, -0.69752f, -0.651255f, -0.602433f, -0.551246f, -0.497894f, -0.442587f, -0.385541f, -0.326981f, -0.267137f, -0.20624f, -0.144532f, -0.0822581f, -0.0196613f, 0.0430126f, 0.105518f, 0.167608f, 0.229041f, 0.289576f, 0.348971f, 0.406993f, 0.463416f, 0.518018f, 0.570586f, 0.620914f, 0.668803f, 0.714066f, 0.756526f, 0.796012f, 0.832363f, 0.865444f, 0.895126f, 0.921294f, 0.943843f, 0.962686f, 0.977749f, 0.988972f, 0.996312f, 0.999723f, 0.999209f, 0.994771f, 0.986427f, 0.97421f, 0.958166f, 0.938361f, 0.91487f, 0.887786f, 0.857205f, 0.823254f, 0.786071f, 0.745802f, 0.702604f, 0.656647f, 0.608111f, 0.557187f, 0.504074f, 0.448977f, 0.392114f, 0.333711f, 0.273999f, 0.213211f, 0.151585f, 0.0893642f, 0.0267919f, -0.0358862f, -0.0984238f, -0.160574f, -0.222092f, -0.282738f, -0.342273f, -0.400464f, -0.457083f, -0.511907f, -0.564721f, -0.615318f, -0.663489f, -0.709054f, -0.751834f, -0.791662f, -0.82838f, -0.861846f, -0.891927f, -0.918507f, -0.941479f, -0.960742f, -0.976229f, -0.987882f, -0.995656f, -0.999521f, -0.99946f, -0.995474f, -0.987579f, -0.975806f, -0.960191f, -0.9408f, -0.917714f, -0.891025f, -0.860837f, -0.827268f, -0.790451f, -0.750529f, -0.70766f, -0.662007f, -0.613748f, -0.563079f, -0.510199f, -0.455317f, -0.398646f, -0.34041f, -0.280836f, -0.22016f, -0.158617f, -0.0964493f, -0.0339038f, 0.0287743f, 0.0913392f, 0.153545f, 0.215148f, 0.275907f, 0.335583f, 0.393942f, 0.450747f, 0.505782f, 0.55883f, 0.609683f, 0.658141f, 0.704016f, 0.747126f, 0.787302f, 0.824387f, 0.858226f, 0.888689f, 0.915663f, 0.939041f, 0.958731f, 0.974657f, 0.986755f, 0.994978f, 0.999294f, 0.999678f, 0.996129f, 0.988669f, 0.977325f, 0.962144f, 0.943185f, 0.920522f, 0.894244f, 0.864455f, 0.831266f, 0.794804f, 0.75522f, 0.712672f, 0.667325f, 0.619357f, 0.568958f, 0.516323f, 0.461661f, 0.405184f, 0.347111f, 0.287674f, 0.227109f, 0.165652f, 0.103545f, 0.0410311f, -0.0216443f, -0.0842352f, -0.146496f, -0.20818f, -0.269045f, -0.328853f, -0.387369f, -0.444364f, -0.499614f, -0.552902f, -0.604019f, -0.652765f, -0.698942f, -0.742368f, -0.78288f, -0.820316f, -0.854531f, -0.885391f, -0.912774f, -0.936572f, -0.956693f, -0.973051f, -0.985579f, -0.994236f, -0.998988f, -0.999818f, -0.996721f, -0.98971f, -0.978813f, -0.964072f, -0.945542f, -0.923287f, -0.897406f, -0.868001f, -0.835187f, -0.799094f, -0.759863f, -0.717648f, -0.672615f, -0.624939f, -0.5748f, -0.522404f, -0.467956f, -0.411672f, -0.35377f, -0.29448f, -0.234033f, -0.172666f, -0.110621f, -0.0481397f, 0.0145303f, 0.0771426f, 0.139452f, 0.201213f, 0.262184f, 0.322125f, 0.380803f, 0.437985f, 0.493444f, 0.546961f, 0.59833f, 0.647349f, 0.693825f, 0.737577f, 0.778433f, 0.816232f, 0.850826f, 0.882076f, 0.909851f, 0.934052f, 0.954586f, 0.971371f, 0.984341f, 0.993446f, 0.99865f, 0.999933f, 0.997289f, 0.990713f, 0.980247f, 0.965931f, 0.947822f, 0.925992f, 0.900525f, 0.871522f, 0.839096f, 0.803375f, 0.764488f, 0.722597f, 0.677869f, 0.63048f, 0.580615f, 0.528469f, 0.474248f, 0.418165f, 0.360438f, 0.301293f, 0.240962f, 0.179686f, 0.117705f, 0.0552619f, -0.00739823f, -0.0700295f, -0.132386f, -0.194224f, -0.255298f, -0.315367f, -0.374196f, -0.431556f, -0.487221f, -0.540972f, -0.592599f, -0.6419f, -0.68868f, -0.732755f, -0.773942f, -0.812089f, -0.847047f, -0.878678f, -0.906859f, -0.931479f, -0.952441f, -0.969663f, -0.983077f, -0.992617f, -0.998257f, -0.999976f, -0.997769f, -0.991644f, -0.981625f, -0.96775f, -0.950076f, -0.92867f, -0.903608f, -0.874992f, -0.84294f, -0.807579f, -0.769046f, -0.727494f, -0.683084f, -0.635992f, -0.586401f, -0.534504f, -0.480503f, -0.424615f, -0.367061f, -0.308065f, -0.24786f, -0.186681f, -0.124768f, -0.0623655f, 0.000283161f, 0.0629305f, 0.12533f, 0.187237f, 0.248408f, 0.308604f, 0.367588f, 0.425129f, 0.481001f, 0.534984f, 0.586859f, 0.636427f, 0.683497f, 0.727882f, 0.769408f, 0.807914f, 0.843246f, 0.875268f, 0.903853f, 0.928877f, 0.95025f, 0.967892f, 0.981732f, 0.991717f, 0.997808f, 0.99998f, 0.998226f, 0.992553f, 0.982973f, 0.969525f, 0.952271f, 0.931277f, 0.906626f, 0.878415f, 0.846755f, 0.811769f, 0.773595f, 0.732379f, 0.688279f, 0.641477f, 0.592156f, 0.54051f, 0.486741f, 0.431061f, 0.373688f, 0.314846f, 0.254768f, 0.193685f, 0.131842f, 0.0694818f, 0.00684925f, -0.0558101f, -0.11825f, -0.180227f, -0.241496f, -0.301817f, -0.360949f, -0.418662f, -0.474731f, -0.528935f, -0.581062f, -0.630907f, -0.678275f, -0.722979f, -0.764845f, -0.8037f, -0.839394f, -0.871791f, -0.900764f, -0.9262f, -0.947999f, -0.966075f, -0.980358f, -0.990791f, -0.997327f, -0.999936f, -0.998619f, -0.993381f, -0.984241f, -0.971237f, -0.954418f, -0.933852f, -0.909618f, -0.881809f, -0.850526f, -0.815903f, -0.778076f, -0.737194f, -0.693417f, -0.646918f, -0.597877f, -0.546489f, -0.492953f, -0.437474f, -0.380278f, -0.321589f, -0.261637f, -0.200658f, -0.138891f, -0.0765781f, -0.0139641f, 0.0487055f, 0.111183f, 0.173224f, 0.234583f, 0.295021f, 0.3543f, 0.412188f, 0.468457f, 0.522888f, 0.575265f, 0.625379f, 0.673032f, 0.718041f, 0.760231f, 0.799435f, 0.835499f, 0.868283f, 0.897657f, 0.923506f, 0.945726f, 0.96422f, 0.978927f, 0.98979f, 0.996766f, 0.999828f, 0.998964f, 0.994178f, 0.985488f, 0.972926f, 0.95653f, 0.936377f, 0.912547f, 0.885134f, 0.854245f, 0.820002f, 0.782538f, 0.742001f, 0.69855f, 0.652347f, 0.60358f, 0.552443f, 0.499138f, 0.443872f, 0.386863f, 0.328335f, 0.268517f, 0.207643f, 0.145952f, 0.0836879f, 0.0210954f, -0.0415795f, -0.104091f, -0.166194f, -0.227644f, -0.288201f, -0.347626f, -0.405685f, -0.462147f, -0.516792f, -0.569409f, -0.619788f, -0.667734f, -0.713058f, -0.755582f, -0.79514f, -0.831573f, -0.864729f, -0.894489f, -0.920737f, -0.943368f, -0.962295f, -0.977443f, -0.988753f, -0.99618f, -0.999695f, -0.99927f, -0.994919f, -0.986662f, -0.974529f, -0.95857f, -0.938847f, -0.915437f, -0.888432f, -0.857937f, -0.824064f, -0.786951f, -0.746748f, -0.703613f, -0.657715f, -0.609234f, -0.558361f, -0.505294f, -0.450243f, -0.39342f, -0.335049f, -0.275362f, -0.214595f, -0.152986f, -0.0907753f, -0.0282083f, 0.0344699f, 0.0970132f, 0.159176f, 0.220711f, 0.281379f, 0.340942f, 0.399165f, 0.455821f, 0.510687f, 0.563548f, 0.614196f, 0.662433f, 0.708058f, 0.750902f, 0.790797f, 0.827586f, 0.861125f, 0.891283f, 0.91794f, 0.940994f, 0.960352f, 0.975927f, 0.987666f, 0.995526f, 0.999477f, 0.999504f, 0.995606f, 0.987798f, 0.976111f, 0.960591f, 0.94129f, 0.918286f, 0.891676f, 0.861565f, 0.828071f, 0.791325f, 0.751472f, 0.708667f, 0.663079f, 0.614883f, 0.564267f, 0.511434f, 0.456594f, 0.399961f, 0.341757f, 0.282211f, 0.221557f, 0.160032f, 0.0978776f, 0.0353375f, -0.0273407f, -0.0899109f, -0.152128f, -0.213747f, -0.274527f, -0.334229f, -0.39262f, -0.449469f, -0.504547f, -0.557642f, -0.608546f, -0.657061f, -0.702995f, -0.746169f, -0.786413f, -0.823569f, -0.857491f, -0.888037f, -0.91509f, -0.93855f, -0.958324f, -0.974334f, -0.986519f, -0.994829f, -0.999233f, -0.999713f, -0.99626f, -0.988886f, -0.977628f, -0.962532f, -0.943655f, -0.921074f, -0.894875f, -0.865162f, -0.832051f, -0.795669f, -0.756153f, -0.713668f, -0.668381f, -0.620469f, -0.570121f, -0.517534f, -0.462915f, -0.406477f, -0.348442f, -0.289033f, -0.22849f, -0.16705f, -0.104954f, -0.0424468f, 0.0202275f, 0.0828227f, 0.145093f, 0.206794f, 0.267681f, 0.327516f, 0.386063f, 0.443094f, 0.498385f, 0.551719f, 0.602886f, 0.651686f, 0.697928f, 0.741423f, 0.782001f, 0.819507f, 0.853796f, 0.884731f, 0.912192f, 0.93607f, 0.956273f, 0.972722f, 0.985345f, 0.994088f, 0.998927f, 0.999844f, 0.996835f, 0.989911f, 0.979101f, 0.964445f, 0.946002f, 0.923843f, 0.898041f, 0.868714f, 0.835976f, 0.799955f, 0.760793f, 0.718643f, 0.673671f, 0.626053f, 0.575976f, 0.523629f, 0.469225f, 0.412979f, 0.355112f, 0.29585f, 0.235426f, 0.174078f, 0.112046f, 0.0495724f, -0.0130962f, -0.0757128f, -0.138031f, -0.199808f, -0.260799f, -0.320766f, -0.379474f, -0.436692f, -0.492196f, -0.545764f, -0.597183f, -0.646257f, -0.692793f, -0.736607f, -0.77753f, -0.815399f, -0.850066f, -0.881395f, -0.909261f, -0.933544f, -0.954161f, -0.971031f, -0.984088f, -0.99328f, -0.998571f, -0.999941f, -0.997385f, -0.990912f, -0.980532f, -0.966301f, -0.948276f, -0.926527f, -0.90114f, -0.872214f, -0.839862f, -0.804213f, -0.765404f, -0.723581f, -0.678914f, -0.631581f, -0.581768f, -0.529671f, -0.475494f, -0.419449f, -0.361757f, -0.302644f, -0.242339f, -0.181081f, -0.119112f, -0.0566768f, 0.00598124f, 0.0686157f, 0.130981f, 0.192832f, 0.253927f, 0.314024f, 0.372884f, 0.430279f, 0.485984f, 0.53978f, 0.591456f, 0.64081f, 0.687648f, 0.731785f, 0.77305f, 0.811266f, 0.846296f, 0.878003f, 0.906261f, 0.930961f, 0.952004f, 0.96931f, 0.982809f, 0.992449f, 0.998179f, 0.999985f, 0.997866f, 0.991828f, 0.981895f, 0.968107f, 0.950517f, 0.929194f, 0.904222f, 0.87569f, 0.843714f, 0.808425f, 0.769962f, 0.728476f, 0.684128f, 0.637095f, 0.587559f, 0.535715f, 0.481764f, 0.425916f, 0.368396f, 0.30943f, 0.249249f, 0.188089f, 0.126191f, 0.0637966f, 0.00115117f, -0.0614995f, -0.123908f, -0.185828f, -0.247019f, -0.307239f, -0.366253f, -0.423828f, -0.47974f, -0.533768f, -0.5857f, -0.635324f, -0.682452f, -0.726899f, -0.768492f, -0.807066f, -0.842472f, -0.874569f, -0.903232f, -0.928348f, -0.949809f, -0.967535f, -0.981461f, -0.991533f, -0.997711f, -0.999971f, -0.998305f, -0.992718f, -0.983232f, -0.969879f, -0.952708f, -0.931796f, -0.907225f, -0.879092f, -0.847507f, -0.812593f, -0.774488f, -0.733342f, -0.689312f, -0.642567f, -0.5933f, -0.541703f, -0.487979f, -0.432338f, -0.375f, -0.316189f, -0.256136f, -0.195076f, -0.133247f, -0.0708956f, -0.00826623f, 0.0543952f, 0.116843f, 0.178832f, 0.240119f, 0.300464f, 0.359629f, 0.417378f, 0.473485f, 0.527733f, 0.579908f, 0.629806f, 0.67723f, 0.721996f, 0.763926f, 0.802857f, 0.838628f, 0.8711f, 0.90015f, 0.925666f, 0.947546f, 0.965706f, 0.980073f, 0.990591f, 0.99722f, 0.999928f, 0.998698f, 0.993547f, 0.984494f, 0.971576f, 0.954842f, 0.934359f, 0.910206f, 0.882479f, 0.851284f, 0.816735f, 0.778978f, 0.738163f, 0.69445f, 0.648009f, 0.599024f, 0.547686f, 0.494197f, 0.438766f, 0.381606f, 0.322948f, 0.263022f, 0.202063f, 0.140311f, 0.0780079f, 0.0153982f, -0.0472725f, -0.109758f, -0.171812f, -0.23319f, -0.293651f, -0.352959f, -0.41088f, -0.467188f, -0.521662f, -0.574087f, -0.624259f, -0.671975f, -0.717046f, -0.759301f, -0.798573f, -0.83471f, -0.867568f, -0.89702f, -0.922949f, -0.945255f, -0.963845f, -0.978638f, -0.989588f, -0.996652f, -0.999802f, -0.999025f, -0.994326f, -0.985722f, -0.973247f, -0.95695f, -0.93688f, -0.91313f, -0.885795f, -0.854982f, -0.820812f, -0.783418f, -0.742947f, -0.699559f, -0.653423f, -0.604713f, -0.553626f, -0.500366f, -0.445141f, -0.388169f, -0.329672f, -0.26988f, -0.209028f, -0.147354f, -0.0851004f, -0.0225122f, 0.0401638f, 0.102682f, 0.164796f, 0.226263f, 0.286842f, 0.346295f, 0.404389f, 0.460893f, 0.515582f, 0.568245f, 0.618677f, 0.666679f, 0.712062f, 0.75465f, 0.794275f, 0.83078f, 0.864023f, 0.89386f, 0.920186f, 0.942899f, 0.961909f, 0.977141f, 0.988536f, 0.99605f, 0.999652f, 0.999329f, 0.995068f, 0.986897f, 0.974851f, 0.958977f, 0.939338f, 0.916009f, 0.889083f, 0.858666f, 0.824877f, 0.787839f, 0.747704f, 0.704633f, 0.658795f, 0.61037f, 0.559548f, 0.506529f, 0.45152f, 0.394738f, 0.336402f, 0.276742f, 0.215997f, 0.154403f, 0.0922035f, 0.029642f, -0.0330362f, -0.095585f, -0.157759f, -0.219314f, -0.280004f, -0.339594f, -0.39785f, -0.454544f, -0.509452f, -0.56236f, -0.61306f, -0.661353f, -0.707049f, -0.749958f, -0.789921f, -0.826782f, -0.860395f, -0.89063f, -0.917367f, -0.940502f, -0.959944f, -0.975617f, -0.987447f, -0.995394f, -0.999433f, -0.999547f, -0.995736f, -0.988015f, -0.976414f, -0.960978f, -0.941769f, -0.918853f, -0.892322f, -0.862288f, -0.828867f, -0.792191f, -0.752405f, -0.709664f, -0.664135f, -0.615999f, -0.56544f, -0.512654f, -0.457856f, -0.40126f, -0.343089f, -0.28357f, -0.222938f, -0.16143f, -0.0992871f, -0.0367538f, 0.0259243f, 0.0884999f, 0.150727f, 0.212363f, 0.273164f, 0.332892f, 0.391314f, 0.448199f, 0.503326f, 0.556469f, 0.607424f, 0.655994f, 0.701987f, 0.745224f, 0.785534f, 0.82276f, 0.856755f, 0.887386f, 0.914524f, 0.938064f, 0.957921f, 0.974015f, 0.986285f, 0.994681f, 0.999172f, 0.999739f, 0.996381f, 0.989104f, 0.977933f, 0.962922f, 0.944129f, 0.92163f, 0.895511f, 0.865875f, 0.832839f, 0.796533f, 0.757096f, 0.714675f, 0.669449f, 0.621594f, 0.571299f, 0.51876f, 0.464184f, 0.407784f, 0.349783f, 0.290408f, 0.229887f, 0.168465f, 0.106381f, 0.0438798f, -0.0187934f, -0.0813929f, -0.143673f, -0.205389f, -0.2663f, -0.326162f, -0.384741f, -0.441809f, -0.497141f, -0.550521f, -0.601739f, -0.650595f, -0.696895f, -0.74046f, -0.781112f, -0.818689f, -0.853051f, -0.884062f, -0.911602f, -0.935562f, -0.955849f, -0.972382f, -0.985096f, -0.993939f, -0.998866f, -0.99987f, -0.996948f, -0.990111f, -0.979386f, -0.964815f, -0.946455f, -0.924379f, -0.898672f, -0.869421f, -0.836757f, -0.800807f, -0.761713f, -0.719627f, -0.674715f, -0.627154f, -0.57713f, -0.524838f, -0.470479f, -0.414271f, -0.356437f, -0.297204f, -0.236803f, -0.175473f, -0.113453f, -0.0509873f, 0.0116793f, 0.0743003f, 0.136629f, 0.19842f, 0.259431f, 0.319423f, 0.378162f, 0.435415f, 0.490959f, 0.544575f, 0.59605f, 0.645178f, 0.691772f, 0.735649f, 0.776637f, 0.814576f, 0.849315f, 0.880719f, 0.908666f, 0.933043f, 0.953742f, 0.970695f, 0.983837f, 0.993115f, 0.998493f, 0.99995f, 0.997481f, 0.991096f, 0.980818f, 0.966675f, 0.948733f, 0.927067f, 0.90176f, 0.872912f, 0.840636f, 0.805059f, 0.76632f, 0.724572f, 0.67997f, 0.632695f, 0.582936f, 0.530888f, 0.476755f, 0.42075f, 0.363092f, 0.304008f, 0.24373f, 0.182493f, 0.120537f, 0.058109f, -0.00454691f, -0.0671847f, -0.129559f, -0.191424f, -0.252538f, -0.312661f, -0.371555f, -0.428986f, -0.484731f, -0.538573f, -0.590299f, -0.639707f, -0.686603f, -0.730803f, -0.772133f, -0.810432f, -0.845536f, -0.877319f, -0.905656f, -0.930436f, -0.951563f, -0.968953f, -0.982538f, -0.992265f, -0.998095f, -0.999994f, -0.997962f, -0.992011f, -0.982164f, -0.96846f, -0.950954f, -0.929713f, -0.904821f, -0.876375f, -0.844481f, -0.809263f, -0.770869f, -0.729447f, -0.685161f, -0.638185f, -0.588702f, -0.536907f, -0.483004f, -0.4272f, -0.369715f, -0.310778f, -0.250621f, -0.189481f, -0.127596f, -0.0652104f, -0.00256815f, 0.0600847f, 0.122502f, 0.184437f, 0.245647f, 0.305891f, 0.364934f, 0.422544f, 0.478494f, 0.532566f, 0.584547f, 0.634233f, 0.68142f, 0.725928f, 0.767586f, 0.806229f, 0.841706f, 0.873878f, 0.902618f, 0.927814f, 0.949367f, 0.967182f, 0.981193f, 0.991351f, 0.997615f, 0.999962f, 0.998384f, 0.992884f, 0.983486f, 0.970225f, 0.953149f, 0.932319f, 0.90783f, 0.879775f, 0.848266f, 0.813425f, 0.775391f, 0.734311f, 0.690347f, 0.64367f, 0.594457f, 0.54291f, 0.489231f, 0.433631f, 0.376329f, 0.317548f, 0.257521f, 0.196481f, 0.134669f, 0.0723267f, 0.00970056f, -0.0529631f, -0.115418f, -0.17742f, -0.238725f, -0.299094f, -0.358288f, -0.416075f, -0.472225f, -0.526517f, -0.578741f, -0.628692f, -0.676174f, -0.721f, -0.762996f, -0.801996f, -0.837846f, -0.8704f, -0.899529f, -0.925125f, -0.947088f, -0.965331f, -0.979784f, -0.99039f, -0.997106f, -0.999907f, -0.998776f, -0.993712f, -0.984746f, -0.971913f, -0.955263f, -0.934861f, -0.910789f, -0.88314f, -0.852023f, -0.817559f, -0.779871f, -0.739122f, -0.69547f, -0.649088f, -0.600157f, -0.548869f, -0.495426f, -0.440036f, -0.382918f, -0.324291f, -0.26439f, -0.203451f, -0.141714f, -0.0794204f, -0.0168149f, 0.0458568f, 0.108349f, 0.170416f, 0.231813f, 0.292298f, 0.351634f, 0.409588f, 0.465934f, 0.520451f, 0.572924f, 0.623147f, 0.670924f, 0.716063f, 0.758382f, 0.797722f, 0.83393f, 0.866862f, 0.896391f, 0.922399f, 0.944786f, 0.963462f, 0.978353f, 0.989389f, 0.996539f, 0.999776f, 0.999087f, 0.994475f, 0.985958f, 0.973569f, 0.957357f, 0.937385f, 0.913718f, 0.886463f, 0.855726f, 0.821629f, 0.784306f, 0.743903f, 0.700579f, 0.654503f, 0.605856f, 0.554824f, 0.50161f, 0.446427f, 0.38949f, 0.331025f, 0.27126f, 0.210429f, 0.148772f, 0.0865295f, 0.0239463f, -0.0387308f, -0.101255f, -0.163381f, -0.224866f, -0.285467f, -0.344948f, -0.403074f, -0.459618f, -0.514356f, -0.567067f, -0.617551f, -0.66561f, -0.711054f, -0.753707f, -0.793399f, -0.829976f, -0.863295f, -0.893223f, -0.919629f, -0.942424f, -0.961518f, -0.976836f, -0.988317f, -0.995918f, -0.999608f, -0.999372f, -0.995212f, -0.987132f, -0.975171f, -0.959381f, -0.939824f, -0.916576f, -0.889729f, -0.859388f, -0.825672f, -0.788713f, -0.74865f, -0.705641f, -0.659862f, -0.611493f, -0.560722f, -0.507749f, -0.452782f, -0.396036f, -0.337735f, -0.278106f, -0.217381f, -0.155803f, -0.0936145f, -0.0310583f, 0.0316198f, 0.0941739f, 0.156359f, 0.21793f, 0.278646f, 0.338263f, 0.396551f, 0.453282f, 0.508232f, 0.561187f, 0.611938f, 0.660286f, 0.706041f, 0.749025f, 0.789056f, 0.825987f, 0.859674f, 0.889985f, 0.916801f, 0.940017f, 0.959541f, 0.975298f, 0.987224f, 0.995264f, 0.99939f, 0.999591f, 0.995868f, 0.988234f, 0.976719f, 0.961368f, 0.942243f, 0.919417f, 0.892974f, 0.863016f, 0.82967f, 0.793066f, 0.753348f, 0.710671f, 0.665204f, 0.617124f, 0.56662f, 0.513889f, 0.459133f, 0.402575f, 0.344436f, 0.284945f, 0.224335f, 0.162844f, 0.100714f, 0.0381869f, -0.0244906f, -0.0870716f, -0.14931f, -0.210961f, -0.271784f, -0.331539f, -0.389992f, -0.446914f, -0.502082f, -0.555278f, -0.606288f, -0.654914f, -0.700967f, -0.744267f, -0.784645f, -0.821941f, -0.85601f, -0.886717f, -0.913943f, -0.937573f, -0.957513f, -0.973692f, -0.986048f, -0.994532f, -0.99911f, -0.999765f, -0.996494f, -0.98931f, -0.978236f, -0.963309f, -0.9446f, -0.922181f, -0.896141f, -0.866582f, -0.83362f, -0.797385f, -0.758017f, -0.715672f, -0.670505f, -0.622706f, -0.572462f, -0.519971f, -0.465437f, -0.409076f, -0.351108f, -0.291761f, -0.231267f, -0.169862f, -0.10779f, -0.0452955f, 0.0173766f, 0.0799804f, 0.14227f, 0.204001f, 0.264932f, 0.324823f, 0.383435f, 0.440539f, 0.495913f, 0.549338f, 0.600606f, 0.649516f, 0.695875f, 0.739502f, 0.780225f, 0.81788f, 0.852315f, 0.883402f, 0.91102f, 0.935061f, 0.955429f, 0.972046f, 0.984845f, 0.993778f, 0.998805f, 0.999896f, 0.997062f, 0.990313f, 0.979674f, 0.965189f, 0.946913f, 0.924919f, 0.899292f, 0.870134f, 0.837545f, 0.801668f, 0.762642f, 0.720622f, 0.675772f, 0.628268f, 0.578297f, 0.526055f, 0.471746f, 0.415579f, 0.357778f, 0.298574f, 0.238197f, 0.176884f, 0.114878f, 0.0524195f, -0.010245f, -0.0728699f, -0.135208f, -0.197015f, -0.258046f, -0.318064f, -0.376833f, -0.434122f, -0.489706f, -0.543368f, -0.594896f, -0.644087f, -0.69074f, -0.73468f, -0.775734f, -0.813743f, -0.848555f, -0.880036f, -0.90806f, -0.93252f, -0.953317f, -0.970355f, -0.983583f, -0.992948f, -0.998414f, -0.999959f, -0.997577f, -0.991278f, -0.981086f, -0.967042f, -0.949187f, -0.927602f, -0.902375f, -0.873604f, -0.841403f, -0.805897f, -0.767227f, -0.725543f, -0.68101f, -0.633796f, -0.58409f, -0.532089f, -0.478f, -0.422034f, -0.364411f, -0.305357f, -0.245102f, -0.183885f, -0.121945f, -0.0595238f, 0.00312992f, 0.0657709f, 0.128153f, 0.190032f, 0.251165f, 0.311312f, 0.370238f, 0.427709f, 0.483494f, 0.53738f, 0.589155f, 0.638617f, 0.685571f, 0.729832f, 0.771228f, 0.809595f, 0.844784f, 0.876643f, 0.905058f, 0.929918f, 0.951127f, 0.9686f, 0.98227f, 0.992083f, 0.997999f, 0.999997f, 0.998058f, 0.992194f, 0.982434f, 0.968817f, 0.951394f, 0.930236f, 0.905425f, 0.877058f, 0.845247f, 0.81011f, 0.771785f, 0.730429f, 0.686206f, 0.639288f, 0.589859f, 0.538114f, 0.484256f, 0.428495f, 0.37105f, 0.312143f, 0.25201f, 0.190889f, 0.129019f, 0.0666415f, 0.00400248f, -0.0586526f, -0.121078f, -0.183028f, -0.244257f, -0.304526f, -0.363599f, -0.421243f, -0.477233f, -0.531349f, -0.583379f, -0.633118f, -0.680372f, -0.724946f, -0.766669f, -0.805382f, -0.840931f, -0.873179f, -0.901997f, -0.927273f, -0.948908f, -0.966817f, -0.980922f, -0.991166f, -0.997519f, -0.999954f, -0.998462f, -0.993049f, -0.983737f, -0.970562f, -0.953575f, -0.932839f, -0.908429f, -0.880452f, -0.849017f, -0.814249f, -0.776284f, -0.735269f, -0.691368f, -0.644751f, -0.5956f, -0.544102f, -0.490468f, -0.434908f, -0.377641f, -0.318891f, -0.258889f, -0.197869f, -0.136072f, -0.0737403f, -0.0111176f, 0.0515482f, 0.114011f, 0.176026f, 0.237349f, 0.29774f, 0.356962f, 0.414783f, 0.470976f, 0.525315f, 0.577587f, 0.627591f, 0.67513f, 0.720017f, 0.762077f, 0.801144f, 0.837066f, 0.869701f, 0.898915f, 0.924591f, 0.946635f, 0.964962f, 0.979499f, 0.99019f, 0.996993f, 0.99988f, 0.998842f, 0.993879f, 0.984999f, 0.972252f, 0.955686f, 0.935368f, 0.911377f, 0.883807f, 0.852767f, 0.818377f, 0.780773f, 0.740091f, 0.696503f, 0.65018f, 0.601304f, 0.550067f, 0.496669f, 0.441321f, 0.38424f, 0.325648f, 0.265774f, 0.204856f, 0.143134f, 0.0808502f, 0.0182491f, -0.0444237f, -0.106922f, -0.169002f, -0.230418f, -0.290928f, -0.350292f, -0.408281f, -0.464665f, -0.519225f, -0.571746f, -0.622022f, -0.669855f, -0.715059f, -0.757451f, -0.796861f, -0.83314f, -0.866148f, -0.895754f, -0.921842f, -0.944311f, -0.963071f, -0.97805f, -0.989187f, -0.996425f, -0.999749f, -0.999148f, -0.994623f, -0.986192f, -0.973889f, -0.957761f, -0.937872f, -0.914299f, -0.887124f, -0.856463f, -0.822439f, -0.785186f, -0.744849f, -0.701587f, -0.655571f, -0.606979f, -0.556003f, -0.502838f, -0.447696f, -0.390796f, -0.332362f, -0.272623f, -0.211814f, -0.150172f, -0.0879405f, -0.0253628f, 0.0373151f, 0.0998458f, 0.161984f, 0.223485f, 0.284109f, 0.343616f, 0.401775f, 0.458356f, 0.513138f, 0.565904f, 0.61644f, 0.664554f, 0.710059f, 0.752774f, 0.792534f, 0.829182f, 0.862573f, 0.892578f, 0.919078f, 0.941955f, 0.961132f, 0.976534f, 0.988101f, 0.995788f, 0.999564f, 0.999416f, 0.995344f, 0.987363f, 0.975493f, 0.959788f, 0.940315f, 0.917148f, 0.890381f, 0.860117f, 0.826475f, 0.789588f, 0.749599f, 0.706661f, 0.660942f, 0.612629f, 0.561909f, 0.508984f, 0.454059f, 0.397351f, 0.339083f, 0.279482f, 0.218782f, 0.157221f, 0.0950428f, 0.032492f, -0.0301861f, -0.0927457f, -0.154941f, -0.216528f, -0.277266f, -0.336916f, -0.395237f, -0.452005f, -0.506998f, -0.559999f, -0.610801f, -0.659205f, -0.705021f, -0.748068f, -0.788178f, -0.825183f, -0.858944f, -0.889332f, -0.916228f, -0.939525f, -0.959133f, -0.974975f, -0.986988f, -0.995125f, -0.999346f, -0.999635f, -0.995998f, -0.988451f, -0.977021f, -0.961756f, -0.942713f, -0.919968f, -0.89361f, -0.863738f, -0.830465f, -0.793932f, -0.75428f, -0.711667f, -0.66626f, -0.618236f, -0.567784f, -0.515101f, -0.460395f, -0.403874f, -0.345767f, -0.286304f, -0.225716f, -0.164242f, -0.102123f, -0.0396026f, 0.0230739f, 0.0856604f, 0.147909f, 0.209577f, 0.27042f, 0.330202f, 0.388686f, 0.445645f, 0.500853f, 0.554095f, 0.605162f, 0.653846f, 0.699959f, 0.743322f, 0.783766f, 0.821132f, 0.855274f, 0.886057f, 0.913361f, 0.937079f, 0.95711f, 0.973373f, 0.985815f, 0.994384f, 0.999049f, 0.999792f, 0.996608f, 0.989511f, 0.978528f, 0.963699f, 0.945074f, 0.922737f, 0.896777f, 0.867296f, 0.834409f, 0.798245f, 0.758947f, 0.716667f, 0.671573f, 0.623831f, 0.57364f, 0.521197f, 0.466707f, 0.410384f, 0.35245f, 0.293131f, 0.232661f, 0.171276f, 0.109217f, 0.0467285f, -0.0159425f, -0.0785506f, -0.14085f, -0.202596f, -0.263547f, -0.323464f, -0.382111f, -0.439254f, -0.494669f, -0.548141f, -0.599459f, -0.648424f, -0.694842f, -0.738532f, -0.779322f, -0.817052f, -0.85157f, -0.882734f, -0.910431f, -0.934553f, -0.955004f, -0.971706f, -0.984591f, -0.993611f, -0.998728f, -0.999923f, -0.997175f, -0.990512f, -0.97996f, -0.965559f, -0.947367f, -0.925454f, -0.899907f, -0.870826f, -0.838325f, -0.80252f, -0.763562f, -0.721606f, -0.676816f, -0.62937f, -0.579451f, -0.527257f, -0.472992f, -0.416868f, -0.359104f, -0.299927f, -0.239573f, -0.178279f, -0.116285f, -0.0538343f, 0.008828f, 0.0714561f, 0.133804f, 0.195626f, 0.256678f, 0.316722f, 0.375521f, 0.432845f, 0.488469f, 0.542175f, 0.593753f, 0.642999f, 0.689719f, 0.733722f, 0.774842f, 0.812919f, 0.847804f, 0.87936f, 0.907462f, 0.932002f, 0.952881f, 0.970019f, 0.983332f, 0.992783f, 0.998336f, 0.999968f, 0.997674f, 0.991462f, 0.981357f, 0.967398f, 0.94964f, 0.928142f, 0.902995f, 0.874302f, 0.842176f, 0.806744f, 0.768143f, 0.726525f, 0.682055f, 0.634905f, 0.585257f, 0.533306f, 0.479261f, 0.423335f, 0.365746f, 0.306721f, 0.246492f, 0.185294f, 0.123368f, 0.060956f, -0.0016956f, -0.0643398f, -0.126731f, -0.188624f, -0.249776f, -0.309948f, -0.368903f, -0.426409f, -0.482242f, -0.536173f, -0.587998f, -0.637514f, -0.684526f, -0.728849f, -0.770311f, -0.808748f, -0.844009f, -0.875957f, -0.904453f, -0.929394f, -0.950685f, -0.968243f, -0.981999f, -0.991898f, -0.997903f, -0.999989f, -0.998147f, -0.992377f, -0.982703f, -0.96917f, -0.951832f, -0.930755f, -0.906024f, -0.877735f, -0.845998f, -0.81094f, -0.772691f, -0.7314f, -0.687238f, -0.640378f, -0.591003f, -0.539307f, -0.485493f, -0.429772f, -0.372364f, -0.313491f, -0.253383f, -0.192281f, -0.130424f, -0.0680553f, -0.00541947f, 0.0572377f, 0.11967f, 0.181634f, 0.242885f, 0.303178f, 0.36228f, 0.419959f, 0.475988f, 0.530148f, 0.582226f, 0.632018f, 0.679328f, 0.723971f, 0.765764f, 0.804545f, 0.840166f, 0.872488f, 0.901383f, 0.926739f, 0.948456f, 0.966448f, 0.980645f, 0.990984f, 0.997423f, 0.999945f, 0.998541f, 0.993216f, 0.98399f, 0.970901f, 0.953999f, 0.93335f, 0.909033f, 0.881134f, 0.849776f, 0.815081f, 0.777186f, 0.736239f, 0.6924f, 0.645842f, 0.596748f, 0.545309f, 0.49172f, 0.436201f, 0.37897f, 0.32025f, 0.260273f, 0.199274f, 0.137492f, 0.0751701f, 0.0125518f, -0.050116f, -0.112586f, -0.174614f, -0.235955f, -0.29637f, -0.355621f, -0.413476f, -0.469707f, -0.524095f, -0.57642f, -0.626476f, -0.674073f, -0.719022f, -0.761147f, -0.800283f, -0.836277f, -0.868987f, -0.898284f, -0.92405f, -0.946177f, -0.964588f, -0.979211f, -0.989989f, -0.996879f, -0.999854f, -0.998903f, -0.99403f, -0.985251f, -0.972588f, -0.956107f, -0.935871f, -0.911961f, -0.884469f, -0.853504f, -0.819187f, -0.781653f, -0.741048f, -0.697523f, -0.651259f, -0.602437f, -0.55125f, -0.497898f, -0.442591f, -0.385545f, -0.326985f, -0.267141f, -0.206244f, -0.144537f, -0.0822627f, -0.0196658f, 0.043008f, 0.105513f, 0.167604f, 0.229037f, 0.289571f, 0.348967f, 0.406989f, 0.463412f, 0.518014f, 0.570583f, 0.62091f, 0.6688f, 0.714063f, 0.756523f, 0.79601f, 0.83236f, 0.865442f, 0.895124f, 0.921292f, 0.943842f, 0.962685f, 0.977748f, 0.988971f, 0.996311f, 0.999723f, 0.999209f, 0.994772f, 0.986428f, 0.974211f, 0.958168f, 0.938362f, 0.914871f, 0.887788f, 0.857207f, 0.823257f, 0.786074f, 0.745805f, 0.702607f, 0.656651f, 0.608115f, 0.557191f, 0.504078f, 0.448981f, 0.392118f, 0.333716f, 0.274003f, 0.213215f, 0.15159f, 0.0893688f, 0.0267965f, -0.0358816f, -0.0984192f, -0.160569f, -0.222088f, -0.282733f, -0.342269f, -0.40046f, -0.457079f, -0.511903f, -0.564717f, -0.615314f, -0.663485f, -0.709051f, -0.751831f, -0.791659f, -0.828378f, -0.861844f, -0.891925f, -0.918505f, -0.941478f, -0.96074f, -0.976228f, -0.987882f, -0.995656f, -0.99952f, -0.99946f, -0.995475f, -0.98758f, -0.975807f, -0.960192f, -0.940801f, -0.917716f, -0.891027f, -0.860839f, -0.827271f, -0.790454f, -0.750532f, -0.707663f, -0.66201f, -0.613751f, -0.563083f, -0.510203f, -0.455321f, -0.39865f, -0.340414f, -0.280841f, -0.220164f, -0.158621f, -0.0964539f, -0.0339083f, 0.0287698f, 0.0913346f, 0.153541f, 0.215144f, 0.275903f, 0.335579f, 0.393937f, 0.450743f, 0.505778f, 0.558826f, 0.609679f, 0.658138f, 0.704013f, 0.747123f, 0.787299f, 0.824385f, 0.858223f, 0.888687f, 0.915661f, 0.93904f, 0.95873f, 0.974656f, 0.986754f, 0.994978f, 0.999294f, 0.999679f, 0.99613f, 0.988669f, 0.977326f, 0.962146f, 0.943187f, 0.920524f, 0.894246f, 0.864457f, 0.831269f, 0.794806f, 0.755223f, 0.712675f, 0.667328f, 0.619361f, 0.568961f, 0.516327f, 0.461665f, 0.405189f, 0.347115f, 0.287679f, 0.227113f, 0.165657f, 0.10355f, 0.0410356f, -0.0216397f, -0.0842306f, -0.146492f, -0.208175f, -0.26904f, -0.328848f, -0.387365f, -0.44436f, -0.49961f, -0.552898f, -0.604015f, -0.652762f, -0.698938f, -0.742365f, -0.782877f, -0.820314f, -0.854529f, -0.885389f, -0.912772f, -0.936571f, -0.956692f, -0.97305f, -0.985578f, -0.994235f, -0.998988f, -0.999818f, -0.996721f, -0.989711f, -0.978814f, -0.964073f, -0.945544f, -0.923288f, -0.897408f, -0.868003f, -0.83519f, -0.799097f, -0.759866f, -0.717651f, -0.672618f, -0.624943f, -0.574804f, -0.522408f, -0.46796f, -0.411676f, -0.353775f, -0.294484f, -0.234037f, -0.172671f, -0.110625f, -0.0481443f, 0.0145257f, 0.0771381f, 0.139447f, 0.201208f, 0.262179f, 0.322121f, 0.380798f, 0.437981f, 0.49344f, 0.546958f, 0.598327f, 0.647345f, 0.693822f, 0.737574f, 0.77843f, 0.816229f, 0.850823f, 0.882073f, 0.909849f, 0.934051f, 0.954585f, 0.97137f, 0.984341f, 0.993446f, 0.99865f, 0.999933f, 0.997289f, 0.990714f, 0.980247f, 0.965932f, 0.947824f, 0.925994f, 0.900527f, 0.871524f, 0.839098f, 0.803377f, 0.764491f, 0.722601f, 0.677873f, 0.630483f, 0.580618f, 0.528473f, 0.474252f, 0.418169f, 0.360442f, 0.301297f, 0.240967f, 0.179691f, 0.11771f, 0.0552665f, -0.00739368f, -0.070025f, -0.132382f, -0.194219f, -0.255294f, -0.315362f, -0.374192f, -0.431552f, -0.487217f, -0.540968f, -0.592596f, -0.641896f, -0.688677f, -0.732752f, -0.773939f, -0.812086f, -0.847044f, -0.878676f, -0.906857f, -0.931477f, -0.952439f, -0.969662f, -0.983076f, -0.992616f, -0.998256f, -0.999976f, -0.99777f, -0.991645f, -0.981626f, -0.967752f, -0.950077f, -0.928672f, -0.90361f, -0.874994f, -0.842943f, -0.807582f, -0.769049f, -0.727497f, -0.683087f, -0.635995f, -0.586405f, -0.534508f, -0.480507f, -0.424619f, -0.367065f, -0.308069f, -0.247864f, -0.186685f, -0.124773f, -0.06237f, 0.000278609f, 0.062926f, 0.125326f, 0.187232f, 0.248404f, 0.3086f, 0.367584f, 0.425125f, 0.480996f, 0.53498f, 0.586855f, 0.636424f, 0.683493f, 0.727879f, 0.769405f, 0.807911f, 0.843244f, 0.875266f, 0.903851f, 0.928876f, 0.950249f, 0.967891f, 0.981731f, 0.991716f, 0.997807f, 0.99998f, 0.998226f, 0.992553f, 0.982973f, 0.969526f, 0.952272f, 0.931279f, 0.906628f, 0.878417f, 0.846757f, 0.811772f, 0.773598f, 0.732382f, 0.688283f, 0.641481f, 0.59216f, 0.540514f, 0.486745f, 0.431065f, 0.373692f, 0.314851f, 0.254772f, 0.193689f, 0.131846f, 0.0694863f, 0.0068538f, -0.0558055f, -0.118246f, -0.180222f, -0.241491f, -0.301813f, -0.360945f, -0.418658f, -0.474727f, -0.528931f, -0.581058f, -0.630903f, -0.678271f, -0.722976f, -0.764842f, -0.803697f, -0.839391f, -0.871788f, -0.900762f, -0.926198f, -0.947997f, -0.966074f, -0.980357f, -0.99079f, -0.997326f, -0.999936f, -0.998619f, -0.993381f, -0.984242f, -0.971238f, -0.954419f, -0.933853f, -0.90962f, -0.881811f, -0.850528f, -0.815905f, -0.778079f, -0.737197f, -0.693421f, -0.646921f, -0.597881f, -0.546492f, -0.492957f, -0.437479f, -0.380282f, -0.321593f, -0.261641f, -0.200662f, -0.138895f, -0.0765826f, -0.0139686f, 0.048701f, 0.111179f, 0.173219f, 0.234579f, 0.295017f, 0.354296f, 0.412184f, 0.468453f, 0.522884f, 0.575261f, 0.625376f, 0.673029f, 0.718038f, 0.760228f, 0.799432f, 0.835497f, 0.868281f, 0.897655f, 0.923505f, 0.945724f, 0.964218f, 0.978926f, 0.989789f, 0.996766f, 0.999828f, 0.998965f, 0.994178f, 0.985488f, 0.972927f, 0.956531f, 0.936378f, 0.912549f, 0.885136f, 0.854248f, 0.820004f, 0.782541f, 0.742004f, 0.698554f, 0.65235f, 0.603583f, 0.552447f, 0.499141f, 0.443876f, 0.386867f, 0.328339f, 0.268521f, 0.207648f, 0.145957f, 0.0836925f, 0.0210999f, -0.041575f, -0.104086f, -0.166189f, -0.227639f, -0.288196f, -0.347622f, -0.405681f, -0.462142f, -0.516789f, -0.569405f, -0.619785f, -0.667731f, -0.713055f, -0.755579f, -0.795137f, -0.831571f, -0.864727f, -0.894487f, -0.920735f, -0.943367f, -0.962294f, -0.977442f, -0.988752f, -0.99618f, -0.999695f, -0.99927f, -0.99492f, -0.986662f, -0.97453f, -0.958572f, -0.938849f, -0.915439f, -0.888434f, -0.85794f, -0.824067f, -0.786954f, -0.746751f, -0.703616f, -0.657718f, -0.609238f, -0.558364f, -0.505298f, -0.450247f, -0.393424f, -0.335053f, -0.275367f, -0.2146f, -0.15299f, -0.0907798f, -0.0282128f, 0.0344653f, 0.0970087f, 0.159171f, 0.220707f, 0.281375f, 0.340938f, 0.399161f, 0.455817f, 0.510683f, 0.563544f, 0.614193f, 0.66243f, 0.708055f, 0.750899f, 0.790794f, 0.827583f, 0.861123f, 0.89128f, 0.917939f, 0.940992f, 0.960351f, 0.975926f, 0.987665f, 0.995526f, 0.999477f, 0.999504f, 0.995606f, 0.987799f, 0.976112f, 0.960592f, 0.941292f, 0.918288f, 0.891679f, 0.861568f, 0.828074f, 0.791328f, 0.751475f, 0.70867f, 0.663083f, 0.614887f, 0.56427f, 0.511438f, 0.456598f, 0.399965f, 0.341762f, 0.282216f, 0.221561f, 0.160037f, 0.0978821f, 0.035342f, -0.0273361f, -0.0899064f, -0.152123f, -0.213743f, -0.274523f, -0.334225f, -0.392616f, -0.449465f, -0.504543f, -0.557638f, -0.608543f, -0.657058f, -0.702992f, -0.746166f, -0.78641f, -0.823566f, -0.857489f, -0.888035f, -0.915088f, -0.938548f, -0.958322f, -0.974333f, -0.986518f, -0.994828f, -0.999233f, -0.999713f, -0.99626f, -0.988886f, -0.977629f, -0.962533f, -0.943657f, -0.921075f, -0.894877f, -0.865164f, -0.832053f, -0.795672f, -0.756156f, -0.713671f, -0.668384f, -0.620473f, -0.570125f, -0.517538f, -0.462919f, -0.406481f, -0.348446f, -0.289037f, -0.228494f, -0.167054f, -0.104959f, -0.0424513f, 0.020223f, 0.0828181f, 0.145089f, 0.20679f, 0.267677f, 0.327511f, 0.386059f, 0.44309f, 0.498381f, 0.551715f, 0.602882f, 0.651683f, 0.697925f, 0.74142f, 0.781998f, 0.819505f, 0.853793f, 0.884729f, 0.91219f, 0.936069f, 0.956272f, 0.97272f, 0.985344f, 0.994088f, 0.998927f, 0.999844f, 0.996835f, 0.989912f, 0.979102f, 0.964446f, 0.946003f, 0.923844f, 0.898043f, 0.868717f, 0.835978f, 0.799958f, 0.760796f, 0.718646f, 0.673674f, 0.626057f, 0.57598f, 0.523633f, 0.469229f, 0.412983f, 0.355116f, 0.295854f, 0.235431f, 0.174083f, 0.11205f, 0.049577f, -0.0130916f, -0.0757083f, -0.138027f, -0.199803f, -0.260795f, -0.320762f, -0.37947f, -0.436688f, -0.492192f, -0.54576f, -0.59718f, -0.646254f, -0.692789f, -0.736604f, -0.777527f, -0.815396f, -0.850063f, -0.881393f, -0.909259f, -0.933543f, -0.95416f, -0.97103f, -0.984087f, -0.993279f, -0.998571f, -0.999941f, -0.997385f, -0.990912f, -0.980533f, -0.966303f, -0.948278f, -0.926529f, -0.901142f, -0.872216f, -0.839865f, -0.804215f, -0.765407f, -0.723585f, -0.678917f, -0.631585f, -0.581772f, -0.529675f, -0.475498f, -0.419453f, -0.361761f, -0.302648f, -0.242343f, -0.181085f, -0.119117f, -0.0566813f, 0.00597669f, 0.0686112f, 0.130976f, 0.192828f, 0.253923f, 0.31402f, 0.37288f, 0.430275f, 0.48598f, 0.539776f, 0.591452f, 0.640806f, 0.687644f, 0.731782f, 0.773047f, 0.811263f, 0.846294f, 0.878f, 0.906259f, 0.930959f, 0.952003f, 0.969309f, 0.982808f, 0.992448f, 0.998178f, 0.999985f, 0.997866f, 0.991829f, 0.981896f, 0.968108f, 0.950518f, 0.929195f, 0.904224f, 0.875692f, 0.843717f, 0.808428f, 0.769965f, 0.728479f, 0.684132f, 0.637098f, 0.587562f, 0.535719f, 0.481768f, 0.42592f, 0.3684f, 0.309434f, 0.249253f, 0.188094f, 0.126195f, 0.0638011f, 0.00115572f, -0.0614949f, -0.123903f, -0.185824f, -0.247015f, -0.307235f, -0.366249f, -0.423824f, -0.479736f, -0.533764f, -0.585697f, -0.635321f, -0.682449f, -0.726896f, -0.768489f, -0.807064f, -0.842469f, -0.874566f, -0.90323f, -0.928346f, -0.949807f, -0.967533f, -0.98146f, -0.991532f, -0.997711f, -0.999971f, -0.998305f, -0.992718f, -0.983233f, -0.96988f, -0.952709f, -0.931798f, -0.907227f, -0.879094f, -0.847509f, -0.812596f, -0.774491f, -0.733345f, -0.689315f, -0.642571f, -0.593303f, -0.541707f, -0.487983f, -0.432342f, -0.375004f, -0.316194f, -0.25614f, -0.195081f, -0.133252f, -0.0709001f, -0.00827079f, 0.0543907f, 0.116838f, 0.178827f, 0.240115f, 0.300459f, 0.359625f, 0.417374f, 0.473481f, 0.527729f, 0.579905f, 0.629802f, 0.677227f, 0.721993f, 0.763923f, 0.802854f, 0.838626f, 0.871098f, 0.900148f, 0.925664f, 0.947545f, 0.965704f, 0.980072f, 0.990591f, 0.99722f, 0.999927f, 0.998698f, 0.993547f, 0.984495f, 0.971577f, 0.954843f, 0.93436f, 0.910208f, 0.882481f, 0.851287f, 0.816737f, 0.778981f, 0.738166f, 0.694453f, 0.648013f, 0.599028f, 0.54769f, 0.494201f, 0.43877f, 0.381611f, 0.322952f, 0.263026f, 0.202067f, 0.140315f, 0.0780124f, 0.0154027f, -0.0472679f, -0.109754f, -0.171808f, -0.233185f, -0.293647f, -0.352954f, -0.410876f, -0.467184f, -0.521658f, -0.574084f, -0.624255f, -0.671972f, -0.717043f, -0.759298f, -0.79857f, -0.834707f, -0.867566f, -0.897018f, -0.922948f, -0.945253f, -0.963844f, -0.978637f, -0.989588f, -0.996651f, -0.999802f, -0.999026f, -0.994326f, -0.985723f, -0.973248f, -0.956951f, -0.936881f, -0.913132f, -0.885798f, -0.854985f, -0.820814f, -0.783421f, -0.74295f, -0.699562f, -0.653426f, -0.604717f, -0.55363f, -0.50037f, -0.445145f, -0.388173f, -0.329676f, -0.269884f, -0.209032f, -0.147359f, -0.085105f, -0.0225167f, 0.0401593f, 0.102677f, 0.164792f, 0.226259f, 0.286838f, 0.346291f, 0.404384f, 0.460889f, 0.515578f, 0.568241f, 0.618673f, 0.666675f, 0.712059f, 0.754647f, 0.794272f, 0.830778f, 0.864021f, 0.893858f, 0.920185f, 0.942897f, 0.961908f, 0.97714f, 0.988536f, 0.996049f, 0.999652f, 0.999329f, 0.995069f, 0.986898f, 0.974853f, 0.958979f, 0.939339f, 0.916011f, 0.889085f, 0.858668f, 0.824879f, 0.787842f, 0.747707f, 0.704636f, 0.658798f, 0.610373f, 0.559552f, 0.506533f, 0.451524f, 0.394742f, 0.336406f, 0.276747f, 0.216001f, 0.154408f, 0.0922081f, 0.0296465f, -0.0330316f, -0.0955804f, -0.157755f, -0.219309f, -0.28f, -0.33959f, -0.397846f, -0.45454f, -0.509448f, -0.562356f, -0.613056f, -0.661349f, -0.707046f, -0.749955f, -0.789918f, -0.826779f, -0.860393f, -0.890628f, -0.917365f, -0.940501f, -0.959943f, -0.975616f, -0.987446f, -0.995394f, -0.999433f, -0.999547f, -0.995737f, -0.988016f, -0.976415f, -0.960979f, -0.94177f, -0.918855f, -0.892324f, -0.86229f, -0.828869f, -0.792194f, -0.752408f, -0.709667f, -0.664139f, -0.616002f, -0.565444f, -0.512658f, -0.45786f, -0.401264f, -0.343093f, -0.283574f, -0.222942f, -0.161434f, -0.0992916f, -0.0367584f, 0.0259198f, 0.0884954f, 0.150723f, 0.212358f, 0.273159f, 0.332888f, 0.39131f, 0.448195f, 0.503322f, 0.556465f, 0.607421f, 0.65599f, 0.701984f, 0.745221f, 0.785531f, 0.822757f, 0.856753f, 0.887384f, 0.914522f, 0.938063f, 0.957919f, 0.974014f, 0.986284f, 0.994681f, 0.999172f, 0.999739f, 0.996381f, 0.989105f, 0.977934f, 0.962923f, 0.944131f, 0.921631f, 0.895513f, 0.865878f, 0.832842f, 0.796535f, 0.757099f, 0.714679f, 0.669453f, 0.621598f, 0.571303f, 0.518764f, 0.464188f, 0.407788f, 0.349787f, 0.290412f, 0.229892f, 0.168469f, 0.106385f, 0.0438844f, -0.0187889f, -0.0813883f, -0.143669f, -0.205385f, -0.266296f, -0.326158f, -0.384737f, -0.441805f, -0.497137f, -0.550517f, -0.601736f, -0.650591f, -0.696892f, -0.740457f, -0.781109f, -0.818686f, -0.853048f, -0.88406f, -0.9116f, -0.935561f, -0.955847f, -0.97238f, -0.985095f, -0.993938f, -0.998865f, -0.99987f, -0.996949f, -0.990112f, -0.979387f, -0.964817f, -0.946457f, -0.924381f, -0.898674f, -0.869424f, -0.836759f, -0.80081f, -0.761715f, -0.71963f, -0.674719f, -0.627158f, -0.577134f, -0.524842f, -0.470483f, -0.414275f, -0.356441f, -0.297208f, -0.236807f, -0.175477f, -0.113458f, -0.0509918f, 0.0116748f, 0.0742958f, 0.136624f, 0.198415f, 0.259427f, 0.319419f, 0.378157f, 0.435411f, 0.490955f, 0.544571f, 0.596047f, 0.645175f, 0.691769f, 0.735646f, 0.776635f, 0.814573f, 0.849313f, 0.880717f, 0.908664f, 0.933041f, 0.95374f, 0.970694f, 0.983836f, 0.993114f, 0.998493f, 0.99995f, 0.997482f, 0.991096f, 0.980819f, 0.966676f, 0.948735f, 0.927069f, 0.901762f, 0.872914f, 0.840639f, 0.805062f, 0.766323f, 0.724575f, 0.679974f, 0.632699f, 0.58294f, 0.530892f, 0.476759f, 0.420754f, 0.363096f, 0.304013f, 0.243734f, 0.182497f, 0.120542f, 0.0581135f, -0.00454236f, -0.0671801f, -0.129554f, -0.191419f, -0.252533f, -0.312656f, -0.371551f, -0.428982f, -0.484727f, -0.538569f, -0.590295f, -0.639703f, -0.686599f, -0.7308f, -0.772131f, -0.81043f, -0.845534f, -0.877317f, -0.905654f, -0.930435f, -0.951562f, -0.968952f, -0.982537f, -0.992264f, -0.998095f, -0.999994f, -0.997962f, -0.992011f, -0.982165f, -0.968461f, -0.950955f, -0.929714f, -0.904823f, -0.876377f, -0.844483f, -0.809266f, -0.770872f, -0.72945f, -0.685164f, -0.638188f, -0.588706f, -0.536911f, -0.483008f, -0.427204f, -0.369719f, -0.310782f, -0.250626f, -0.189485f, -0.127601f, -0.0652149f, -0.00257271f, 0.0600802f, 0.122498f, 0.184432f, 0.245642f, 0.305887f, 0.36493f, 0.42254f, 0.47849f, 0.532562f, 0.584543f, 0.634229f, 0.681416f, 0.725925f, 0.767583f, 0.806226f, 0.841704f, 0.873876f, 0.902616f, 0.927812f, 0.949365f, 0.967181f, 0.981192f, 0.99135f, 0.997615f, 0.999962f, 0.998384f, 0.992885f, 0.983487f, 0.970226f, 0.95315f, 0.932321f, 0.907831f, 0.879777f, 0.848268f, 0.813428f, 0.775393f, 0.734314f, 0.69035f, 0.643674f, 0.59446f, 0.542914f, 0.489235f, 0.433635f, 0.376333f, 0.317553f, 0.257525f, 0.196486f, 0.134674f, 0.0723312f, 0.00970512f, -0.0529585f, -0.115414f, -0.177416f, -0.238721f, -0.299089f, -0.358283f, -0.416071f, -0.472221f, -0.526513f, -0.578737f, -0.628688f, -0.67617f, -0.720997f, -0.762993f, -0.801993f, -0.837844f, -0.870398f, -0.899527f, -0.925123f, -0.947086f, -0.96533f, -0.979783f, -0.990389f, -0.997105f, -0.999906f, -0.998777f, -0.993713f, -0.984747f, -0.971914f, -0.955264f, -0.934863f, -0.910791f, -0.883142f, -0.852025f, -0.817561f, -0.779874f, -0.739125f, -0.695474f, -0.649092f, -0.600161f, -0.548873f, -0.495429f, -0.44004f, -0.382922f, -0.324295f, -0.264394f, -0.203456f, -0.141718f, -0.0794249f, -0.0168195f, 0.0458522f, 0.108344f, 0.170412f, 0.231809f, 0.292293f, 0.351629f, 0.409584f, 0.46593f, 0.520447f, 0.57292f, 0.623144f, 0.670921f, 0.71606f, 0.758379f, 0.797719f, 0.833927f, 0.86686f, 0.896389f, 0.922397f, 0.944784f, 0.963461f, 0.978353f, 0.989388f, 0.996539f, 0.999775f, 0.999087f, 0.994475f, 0.985959f, 0.97357f, 0.957358f, 0.937387f, 0.91372f, 0.886465f, 0.855728f, 0.821632f, 0.784309f, 0.743906f, 0.700582f, 0.654506f, 0.60586f, 0.554828f, 0.501614f, 0.446431f, 0.389495f, 0.331029f, 0.271264f, 0.210434f, 0.148776f, 0.086534f, 0.0239508f, -0.0387263f, -0.101251f, -0.163377f, -0.224861f, -0.285463f, -0.344943f, -0.40307f, -0.459614f, -0.514352f, -0.567064f, -0.617548f, -0.665606f, -0.711051f, -0.753704f, -0.793396f, -0.829974f, -0.863292f, -0.893221f, -0.919628f, -0.942423f, -0.961516f, -0.976835f, -0.988317f, -0.995918f, -0.999608f, -0.999373f, -0.995213f, -0.987133f, -0.975172f, -0.959383f, -0.939826f, -0.916578f, -0.889731f, -0.85939f, -0.825675f, -0.788716f, -0.748653f, -0.705645f, -0.659866f, -0.611496f, -0.560725f, -0.507753f, -0.452786f, -0.396041f, -0.33774f, -0.27811f, -0.217385f, -0.155808f, -0.0936191f, -0.0310629f, 0.0316153f, 0.0941694f, 0.156354f, 0.217925f, 0.278641f, 0.338259f, 0.396547f, 0.453278f, 0.508229f, 0.561183f, 0.611934f, 0.660282f, 0.706038f, 0.749022f, 0.789053f, 0.825985f, 0.859672f, 0.889983f, 0.916799f, 0.940015f, 0.95954f, 0.975297f, 0.987224f, 0.995264f, 0.99939f, 0.999591f, 0.995868f, 0.988234f, 0.97672f, 0.96137f, 0.942244f, 0.919419f, 0.892976f, 0.863019f, 0.829673f, 0.793069f, 0.753351f, 0.710674f, 0.665207f, 0.617127f, 0.566624f, 0.513893f, 0.459137f, 0.402579f, 0.34444f, 0.284949f, 0.22434f, 0.162849f, 0.100718f, 0.0381914f, -0.0244861f, -0.0870671f, -0.149305f, -0.210957f, -0.271779f, -0.331535f, -0.389988f, -0.44691f, -0.502078f, -0.555275f, -0.606284f, -0.65491f, -0.700964f, -0.744264f, -0.784642f, -0.821939f, -0.856008f, -0.886715f, -0.913941f, -0.937571f, -0.957511f, -0.973691f, -0.986048f, -0.994532f, -0.99911f, -0.999765f, -0.996494f, -0.98931f, -0.978237f, -0.96331f, -0.944601f, -0.922183f, -0.896143f, -0.866585f, -0.833623f, -0.797387f, -0.75802f, -0.715675f, -0.670509f, -0.62271f, -0.572466f, -0.519975f, -0.465441f, -0.40908f, -0.351112f, -0.291765f, -0.231272f, -0.169867f, -0.107795f, -0.0453001f, 0.0173721f, 0.0799758f, 0.142266f, 0.203997f, 0.264928f, 0.324819f, 0.383431f, 0.440535f, 0.495909f, 0.549334f, 0.600603f, 0.649512f, 0.695872f, 0.739499f, 0.780222f, 0.817877f, 0.852312f, 0.8834f, 0.911018f, 0.935059f, 0.955428f, 0.972045f, 0.984845f, 0.993777f, 0.998805f, 0.999897f, 0.997062f, 0.990313f, 0.979675f, 0.96519f, 0.946914f, 0.92492f, 0.899294f, 0.870136f, 0.837548f, 0.80167f, 0.762645f, 0.720625f, 0.675775f, 0.628272f, 0.578301f, 0.526059f, 0.47175f, 0.415583f, 0.357783f, 0.298578f, 0.238201f, 0.176889f, 0.114882f, 0.052424f, -0.0102404f, -0.0728653f, -0.135204f, -0.19701f, -0.258042f, -0.31806f, -0.376829f, -0.434118f, -0.489702f, -0.543364f, -0.594893f, -0.644083f, -0.690736f, -0.734677f, -0.775731f, -0.81374f, -0.848553f, -0.880033f, -0.908059f, -0.932518f, -0.953315f, -0.970354f, -0.983582f, -0.992947f, -0.998414f, -0.999959f, -0.997578f, -0.991279f, -0.981087f, -0.967043f, -0.949189f, -0.927604f, -0.902377f, -0.873606f, -0.841405f, -0.8059f, -0.76723f, -0.725546f, -0.681013f, -0.6338f, -0.584093f, -0.532093f, -0.478004f, -0.422038f, -0.364415f, -0.305361f, -0.245107f, -0.18389f, -0.121949f, -0.0595284f, 0.00312537f, 0.0657663f, 0.128149f, 0.190028f, 0.251161f, 0.311308f, 0.370233f, 0.427705f, 0.48349f, 0.537376f, 0.589152f, 0.638613f, 0.685567f, 0.729829f, 0.771225f, 0.809593f, 0.844782f, 0.876641f, 0.905056f, 0.929917f, 0.951125f, 0.968599f, 0.982269f, 0.992082f, 0.997999f, 0.999997f, 0.998058f, 0.992195f, 0.982435f, 0.968818f, 0.951396f, 0.930238f, 0.905427f, 0.87706f, 0.845249f, 0.810112f, 0.771787f, 0.730432f, 0.686209f, 0.639291f, 0.589863f, 0.538118f, 0.48426f, 0.428499f, 0.371054f, 0.312147f, 0.252015f, 0.190894f, 0.129023f, 0.066646f, 0.00400704f, -0.058648f, -0.121073f, -0.183024f, -0.244253f, -0.304522f, -0.363595f, -0.421239f, -0.477229f, -0.531346f, -0.583375f, -0.633115f, -0.680369f, -0.724943f, -0.766666f, -0.805379f, -0.840929f, -0.873176f, -0.901995f, -0.927271f, -0.948907f, -0.966816f, -0.980921f, -0.991166f, -0.997518f, -0.999954f, -0.998462f, -0.99305f, -0.983738f, -0.970563f, -0.953576f, -0.93284f, -0.908431f, -0.880454f, -0.84902f, -0.814252f, -0.776286f, -0.735273f, -0.691371f, -0.644754f, -0.595604f, -0.544106f, -0.490472f, -0.434913f, -0.377645f, -0.318895f, -0.258893f, -0.197874f, -0.136077f, -0.0737448f, -0.0111221f, 0.0515437f, 0.114006f, 0.176021f, 0.237344f, 0.297736f, 0.356958f, 0.414779f, 0.470972f, 0.525311f, 0.577583f, 0.627587f, 0.675126f, 0.720014f, 0.762074f, 0.801142f, 0.837064f, 0.869699f, 0.898913f, 0.924589f, 0.946634f, 0.964961f, 0.979498f, 0.99019f, 0.996993f, 0.99988f, 0.998842f, 0.993879f, 0.985f, 0.972253f, 0.955688f, 0.93537f, 0.911379f, 0.88381f, 0.852769f, 0.81838f, 0.780776f, 0.740094f, 0.696506f, 0.650183f, 0.601307f, 0.55007f, 0.496673f, 0.441325f, 0.384244f, 0.325653f, 0.265779f, 0.204861f, 0.143138f, 0.0808547f, 0.0182536f, -0.0444192f, -0.106918f, -0.168997f, -0.230413f, -0.290923f, -0.350288f, -0.408276f, -0.464661f, -0.519221f, -0.571742f, -0.622018f, -0.669852f, -0.715056f, -0.757448f, -0.796858f, -0.833138f, -0.866145f, -0.895752f, -0.92184f, -0.944309f, -0.96307f, -0.978049f, -0.989186f, -0.996424f, -0.999749f, -0.999148f, -0.994623f, -0.986193f, -0.97389f, -0.957762f, -0.937873f, -0.914301f, -0.887126f, -0.856465f, -0.822442f, -0.785189f, -0.744852f, -0.701591f, -0.655574f, -0.606983f, -0.556007f, -0.502842f, -0.4477f, -0.3908f, -0.332367f, -0.272628f, -0.211818f, -0.150177f, -0.087945f, -0.0253674f, 0.0373106f, 0.0998413f, 0.161979f, 0.223481f, 0.284104f, 0.343612f, 0.401771f, 0.458352f, 0.513134f, 0.5659f, 0.616436f, 0.664551f, 0.710055f, 0.752771f, 0.792531f, 0.829179f, 0.862571f, 0.892576f, 0.919076f, 0.941953f, 0.96113f, 0.976533f, 0.9881f, 0.995787f, 0.999564f, 0.999416f, 0.995344f, 0.987364f, 0.975494f, 0.95979f, 0.940316f, 0.91715f, 0.890383f, 0.860119f, 0.826478f, 0.789591f, 0.749602f, 0.706665f, 0.660946f, 0.612632f, 0.561913f, 0.508987f, 0.454063f, 0.397355f, 0.339087f, 0.279487f, 0.218787f, 0.157225f, 0.0950474f, 0.0324965f, -0.0301816f, -0.0927411f, -0.154937f, -0.216524f, -0.277262f, -0.336911f, -0.395232f, -0.452001f, -0.506994f, -0.559995f, -0.610798f, -0.659202f, -0.705018f, -0.748065f, -0.788175f, -0.82518f, -0.858942f, -0.88933f, -0.916226f, -0.939524f, -0.959132f, -0.974974f, -0.986987f, -0.995125f, -0.999346f, -0.999635f, -0.995999f, -0.988451f, -0.977022f, -0.961757f, -0.942714f, -0.91997f, -0.893612f, -0.863741f, -0.830468f, -0.793934f, -0.754283f, -0.711671f, -0.666263f, -0.618239f, -0.567787f, -0.515105f, -0.460399f, -0.403878f, -0.345772f, -0.286308f, -0.22572f, -0.164246f, -0.102127f, -0.0396071f, 0.0230693f, 0.0856559f, 0.147905f, 0.209572f, 0.270416f, 0.330198f, 0.388682f, 0.445641f, 0.500849f, 0.554092f, 0.605159f, 0.653843f, 0.699956f, 0.743319f, 0.783763f, 0.82113f, 0.855272f, 0.886055f, 0.913359f, 0.937077f, 0.957108f, 0.973372f, 0.985814f, 0.994384f, 0.999049f, 0.999792f, 0.996608f, 0.989512f, 0.978529f, 0.9637f, 0.945075f, 0.922739f, 0.896779f, 0.867298f, 0.834411f, 0.798248f, 0.75895f, 0.716671f, 0.671577f, 0.623835f, 0.573644f, 0.521201f, 0.466711f, 0.410388f, 0.352454f, 0.293135f, 0.232665f, 0.171281f, 0.109221f, 0.0467331f, -0.015938f, -0.078546f, -0.140845f, -0.202592f, -0.263543f, -0.32346f, -0.382107f, -0.43925f, -0.494665f, -0.548137f, -0.599456f, -0.648421f, -0.694839f, -0.738529f, -0.779319f, -0.817049f, -0.851567f, -0.882731f, -0.910429f, -0.934551f, -0.955003f, -0.971705f, -0.984591f, -0.99361f, -0.998728f, -0.999923f, -0.997176f, -0.990513f, -0.979961f, -0.96556f, -0.947368f, -0.925456f, -0.899909f, -0.870828f, -0.838327f, -0.802522f, -0.763565f, -0.721609f, -0.67682f, -0.629373f, -0.579455f, -0.527261f, -0.472996f, -0.416872f, -0.359108f, -0.299931f, -0.239578f, -0.178284f, -0.11629f, -0.0538389f, 0.00882345f, 0.0714515f, 0.1338f, 0.195622f, 0.256674f, 0.316717f, 0.375516f, 0.432841f, 0.488465f, 0.542172f, 0.593749f, 0.642996f, 0.689716f, 0.733719f, 0.774839f, 0.812917f, 0.847802f, 0.879358f, 0.907461f, 0.932f, 0.952879f, 0.970017f, 0.983331f, 0.992783f, 0.998335f, 0.999968f, 0.997674f, 0.991463f, 0.981358f, 0.967399f, 0.949642f, 0.928144f, 0.902997f, 0.874304f, 0.842179f, 0.806746f, 0.768146f, 0.726528f, 0.682058f, 0.634909f, 0.585261f, 0.53331f, 0.479265f, 0.423339f, 0.36575f, 0.306726f, 0.246496f, 0.185298f, 0.123372f, 0.0609605f, -0.00169104f, -0.0643352f, -0.126726f, -0.188619f, -0.249772f, -0.309943f, -0.368898f, -0.426405f, -0.482238f, -0.536169f, -0.587994f, -0.63751f, -0.684522f, -0.728846f, -0.770308f, -0.808745f, -0.844007f, -0.875954f, -0.904451f, -0.929392f, -0.950684f, -0.968242f, -0.981998f, -0.991898f, -0.997903f, -0.999989f, -0.998148f, -0.992378f, -0.982704f, -0.969171f, -0.951833f, -0.930757f, -0.906026f, -0.877737f, -0.846001f, -0.810942f, -0.772694f, -0.731404f, -0.687242f, -0.640381f, -0.591006f, -0.539311f, -0.485497f, -0.429777f, -0.372368f, -0.313495f, -0.253387f, -0.192285f, -0.130428f, -0.0680598f, -0.00542402f, 0.0572332f, 0.119666f, 0.181629f, 0.24288f, 0.303174f, 0.362276f, 0.419954f, 0.475984f, 0.530144f, 0.582222f, 0.632014f, 0.679325f, 0.723968f, 0.765761f, 0.804542f, 0.840163f, 0.872485f, 0.901381f, 0.926737f, 0.948454f, 0.966447f, 0.980644f, 0.990984f, 0.997423f, 0.999945f, 0.998541f, 0.993216f, 0.983991f, 0.970902f, 0.954f, 0.933352f, 0.909035f, 0.881137f, 0.849779f, 0.815084f, 0.777189f, 0.736242f, 0.692403f, 0.645846f, 0.596751f, 0.545313f, 0.491724f, 0.436205f, 0.378974f, 0.320255f, 0.260278f, 0.199279f, 0.137497f, 0.0751746f, 0.0125564f, -0.0501115f, -0.112582f, -0.174609f, -0.235951f, -0.296366f, -0.355617f, -0.413472f, -0.469703f, -0.524091f, -0.576416f, -0.626473f, -0.674069f, -0.719018f, -0.761144f, -0.80028f, -0.836274f, -0.868984f, -0.898282f, -0.924048f, -0.946175f, -0.964587f, -0.97921f, -0.989988f, -0.996878f, -0.999854f, -0.998903f, -0.99403f, -0.985251f, -0.972589f, -0.956108f, -0.935873f, -0.911963f, -0.884471f, -0.853506f, -0.819189f, -0.781655f, -0.741051f, -0.697527f, -0.651262f, -0.602441f, -0.551253f, -0.497902f, -0.442595f, -0.38555f, -0.32699f, -0.267145f, -0.206249f, -0.144541f, -0.0822672f, -0.0196704f, 0.0430035f, 0.105508f, 0.167599f, 0.229033f, 0.289567f, 0.348963f, 0.406985f, 0.463408f, 0.51801f, 0.570579f, 0.620907f, 0.668796f, 0.71406f, 0.75652f, 0.796007f, 0.832358f, 0.865439f, 0.895122f, 0.92129f, 0.94384f, 0.962684f, 0.977747f, 0.988971f, 0.996311f, 0.999723f, 0.999209f, 0.994772f, 0.986429f, 0.974212f, 0.958169f, 0.938364f, 0.914873f, 0.88779f, 0.857209f, 0.823259f, 0.786077f, 0.745808f, 0.702611f, 0.656654f, 0.608119f, 0.557195f, 0.504082f, 0.448985f, 0.392122f, 0.33372f, 0.274008f, 0.21322f, 0.151594f, 0.0893733f, 0.026801f, -0.0358771f, -0.0984147f, -0.160565f, -0.222083f, -0.282729f, -0.342265f, -0.400456f, -0.457075f, -0.511899f, -0.564714f, -0.615311f, -0.663482f, -0.709047f, -0.751828f, -0.791656f, -0.828375f, -0.861841f, -0.891923f, -0.918503f, -0.941476f, -0.960739f, -0.976227f, -0.987881f, -0.995656f, -0.99952f, -0.99946f, -0.995475f, -0.987581f, -0.975808f, -0.960194f, -0.940803f, -0.917718f, -0.891029f, -0.860841f, -0.827273f, -0.790456f, -0.750535f, -0.707666f, -0.662013f, -0.613755f, -0.563087f, -0.510207f, -0.455325f, -0.398654f, -0.340418f, -0.280845f, -0.220168f, -0.158626f, -0.0964584f, -0.0339129f, 0.0287652f, 0.0913301f, 0.153536f, 0.21514f, 0.275898f, 0.335574f, 0.393933f, 0.450739f, 0.505774f, 0.558822f, 0.609675f, 0.658135f, 0.704009f, 0.74712f, 0.787297f, 0.824382f, 0.858221f, 0.888685f, 0.91566f, 0.939038f, 0.958729f, 0.974655f, 0.986753f, 0.994977f, 0.999294f, 0.999679f, 0.99613f, 0.98867f, 0.977327f, 0.962147f, 0.943188f, 0.920526f, 0.894248f, 0.864459f, 0.831271f, 0.794809f, 0.755226f, 0.712678f, 0.667332f, 0.619364f, 0.568965f, 0.516331f, 0.461669f, 0.405193f, 0.347119f, 0.287683f, 0.227118f, 0.165661f, 0.103554f, 0.0410402f, -0.0216352f, -0.0842261f, -0.146487f, -0.208171f, -0.269036f, -0.328844f, -0.38736f, -0.444355f, -0.499606f, -0.552894f, -0.604012f, -0.652758f, -0.698935f, -0.742362f, -0.782874f, -0.820311f, -0.854527f, -0.885387f, -0.91277f, -0.936569f, -0.95669f, -0.973049f, -0.985577f, -0.994235f, -0.998988f, -0.999818f, -0.996722f, -0.989711f, -0.978815f, -0.964074f, -0.945545f, -0.92329f, -0.89741f, -0.868005f, -0.835192f, -0.7991f, -0.759869f, -0.717655f, -0.672621f, -0.624946f, -0.574808f, -0.522411f, -0.467964f, -0.41168f, -0.353779f, -0.294489f, -0.234042f, -0.172675f, -0.11063f, -0.0481488f, 0.0145212f, 0.0771335f, 0.139443f, 0.201204f, 0.262175f, 0.322117f, 0.380794f, 0.437977f, 0.493436f, 0.546954f, 0.598323f, 0.647342f, 0.693819f, 0.737571f, 0.778427f, 0.816226f, 0.850821f, 0.882071f, 0.909847f, 0.934049f, 0.954583f, 0.971369f, 0.98434f, 0.993445f, 0.99865f, 0.999933f, 0.99729f, 0.990714f, 0.980248f, 0.965933f, 0.947825f, 0.925995f, 0.900529f, 0.871526f, 0.839101f, 0.80338f, 0.764494f, 0.722604f, 0.677876f, 0.630487f, 0.580622f, 0.528477f, 0.474256f, 0.418173f, 0.360447f, 0.301301f, 0.240971f, 0.179695f, 0.117714f, 0.055271f, -0.00738912f, -0.0700205f, -0.132377f, -0.194215f, -0.255289f, -0.315358f, -0.374188f, -0.431548f, -0.487213f, -0.540964f, -0.592592f, -0.641893f, -0.688673f, -0.732749f, -0.773936f, -0.812084f, -0.847042f, -0.878674f, -0.906855f, -0.931475f, -0.952438f, -0.96966f, -0.983075f, -0.992616f, -0.998256f, -0.999977f, -0.99777f, -0.991645f, -0.981626f, -0.967753f, -0.950079f, -0.928674f, -0.903612f, -0.874996f, -0.842945f, -0.807584f, -0.769052f, -0.7275f, -0.683091f, -0.635999f, -0.586409f, -0.534512f, -0.480511f, -0.424624f, -0.367069f, -0.308074f, -0.247868f, -0.18669f, -0.124777f, -0.0623746f, 0.000274056f, 0.0629215f, 0.125321f, 0.187228f, 0.248399f, 0.308595f, 0.367579f, 0.42512f, 0.480992f, 0.534976f, 0.586851f, 0.63642f, 0.68349f, 0.727876f, 0.769403f, 0.807908f, 0.843241f, 0.875264f, 0.903849f, 0.928874f, 0.950248f, 0.967889f, 0.98173f, 0.991716f, 0.997807f, 0.99998f, 0.998227f, 0.992554f, 0.982974f, 0.969527f, 0.952274f, 0.93128f, 0.90663f, 0.87842f, 0.84676f, 0.811774f, 0.773601f, 0.732386f, 0.688286f, 0.641484f, 0.592164f, 0.540518f, 0.486749f, 0.431069f, 0.373696f, 0.314855f, 0.254777f, 0.193694f, 0.131851f, 0.0694909f, 0.00685835f, -0.055801f, -0.118241f, -0.180218f, -0.241487f, -0.301808f, -0.360941f, -0.418654f, -0.474723f, -0.528927f, -0.581054f, -0.6309f, -0.678268f, -0.722973f, -0.764839f, -0.803695f, -0.839389f, -0.871786f, -0.90076f, -0.926197f, -0.947996f, -0.966073f, -0.980356f, -0.990789f, -0.997326f, -0.999936f, -0.99862f, -0.993382f, -0.984243f, -0.971239f, -0.954421f, -0.933855f, -0.909621f, -0.881813f, -0.85053f, -0.815908f, -0.778082f, -0.7372f, -0.693424f, -0.646925f, -0.597885f, -0.546496f, -0.492961f, -0.437483f, -0.380286f, -0.321597f, -0.261646f, -0.200667f, -0.1389f, -0.0765871f, -0.0139732f, 0.0486964f, 0.111174f, 0.173215f, 0.234574f, 0.295012f, 0.354292f, 0.41218f, 0.468449f, 0.52288f, 0.575258f, 0.625372f, 0.673025f, 0.718035f, 0.760225f, 0.799429f, 0.835494f, 0.868278f, 0.897653f, 0.923503f, 0.945723f, 0.964217f, 0.978925f, 0.989789f, 0.996765f, 0.999828f, 0.998965f, 0.994179f, 0.985489f, 0.972929f, 0.956532f, 0.93638f, 0.912551f, 0.885138f, 0.85425f, 0.820007f, 0.782544f, 0.742007f, 0.698557f, 0.652354f, 0.603587f, 0.552451f, 0.499145f, 0.44388f, 0.386871f, 0.328343f, 0.268525f, 0.207652f, 0.145962f, 0.083697f, 0.0211045f, -0.0415705f, -0.104082f, -0.166185f, -0.227635f, -0.288192f, -0.347618f, -0.405677f, -0.462138f, -0.516785f, -0.569401f, -0.619781f, -0.667728f, -0.713052f, -0.755576f, -0.795134f, -0.831568f, -0.864725f, -0.894485f, -0.920733f, -0.943365f, -0.962293f, -0.977441f, -0.988752f, -0.996179f, -0.999695f, -0.99927f, -0.99492f, -0.986663f, -0.974531f, -0.958573f, -0.93885f, -0.91544f, -0.888436f, -0.857942f, -0.824069f, -0.786957f, -0.746754f, -0.703619f, -0.657722f, -0.609241f, -0.558368f, -0.505302f, -0.450251f, -0.393428f, -0.335057f, -0.275371f, -0.214604f, -0.152995f, -0.0907843f, -0.0282174f, 0.0344608f, 0.0970042f, 0.159167f, 0.220702f, 0.281371f, 0.340933f, 0.399157f, 0.455813f, 0.510679f, 0.56354f, 0.614189f, 0.662426f, 0.708052f, 0.750896f, 0.790791f, 0.827581f, 0.86112f, 0.891278f, 0.917937f, 0.940991f, 0.960349f, 0.975925f, 0.987664f, 0.995525f, 0.999477f, 0.999504f, 0.995606f, 0.987799f, 0.976113f, 0.960594f, 0.941293f, 0.91829f, 0.891681f, 0.86157f, 0.828076f, 0.791331f, 0.751478f, 0.708674f, 0.663086f, 0.614891f, 0.564274f, 0.511442f, 0.456602f, 0.399969f, 0.341766f, 0.28222f, 0.221566f, 0.160041f, 0.0978867f, 0.0353466f, -0.0273316f, -0.0899018f, -0.152119f, -0.213738f, -0.274518f, -0.334221f, -0.392611f, -0.449461f, -0.504539f, -0.557634f, -0.608539f, -0.657054f, -0.702989f, -0.746163f, -0.786407f, -0.823563f, -0.857486f, -0.888033f, -0.915086f, -0.938547f, -0.958321f, -0.974332f, -0.986517f, -0.994828f, -0.999232f, -0.999713f, -0.996261f, -0.988887f, -0.97763f, -0.962534f, -0.943659f, -0.921077f, -0.894879f, -0.865166f, -0.832056f, -0.795675f, -0.756159f, -0.713674f, -0.668388f, -0.620476f, -0.570129f, -0.517542f, -0.462923f, -0.406485f, -0.34845f, -0.289042f, -0.228499f, -0.167059f, -0.104963f, -0.0424559f, 0.0202184f, 0.0828136f, 0.145084f, 0.206786f, 0.267673f, 0.327507f, 0.386055f, 0.443086f, 0.498377f, 0.551711f, 0.602879f, 0.651679f, 0.697922f, 0.741417f, 0.781995f, 0.819502f, 0.853791f, 0.884726f, 0.912188f, 0.936067f, 0.956271f, 0.972719f, 0.985344f, 0.994087f, 0.998927f, 0.999844f, 0.996836f, 0.989913f, 0.979102f, 0.964447f, 0.946005f, 0.923846f, 0.898045f, 0.868719f, 0.835981f, 0.79996f, 0.760799f, 0.718649f, 0.673678f, 0.62606f, 0.575984f, 0.523637f, 0.469233f, 0.412988f, 0.35512f, 0.295859f, 0.235435f, 0.174087f, 0.112055f, 0.0495815f, -0.0130871f, -0.0757037f, -0.138022f, -0.199799f, -0.26079f, -0.320758f, -0.379466f, -0.436684f, -0.492188f, -0.545756f, -0.597176f, -0.64625f, -0.692786f, -0.736601f, -0.777524f, -0.815393f, -0.850061f, -0.881391f, -0.909257f, -0.933541f, -0.954158f, -0.971029f, -0.984086f, -0.993279f, -0.998571f, -0.999942f, -0.997386f, -0.990913f, -0.980534f, -0.966304f, -0.948279f, -0.926531f, -0.901144f, -0.872218f, -0.839867f, -0.804218f, -0.76541f, -0.723588f, -0.678921f, -0.631588f, -0.581776f, -0.529679f, -0.475502f, -0.419458f, -0.361766f, -0.302652f, -0.242348f, -0.18109f, -0.119122f, -0.0566859f, 0.00597214f, 0.0686067f, 0.130972f, 0.192823f, 0.253918f, 0.314015f, 0.372875f, 0.430271f, 0.485976f, 0.539772f, 0.591449f, 0.640803f, 0.687641f, 0.731779f, 0.773044f, 0.811261f, 0.846291f, 0.877998f, 0.906257f, 0.930957f, 0.952002f, 0.969308f, 0.982807f, 0.992448f, 0.998178f, 0.999985f, 0.997866f, 0.991829f, 0.981897f, 0.968109f, 0.950519f, 0.929197f, 0.904226f, 0.875695f, 0.843719f, 0.808431f, 0.769968f, 0.728482f, 0.684135f, 0.637102f, 0.587566f, 0.535722f, 0.481772f, 0.425924f, 0.368404f, 0.309438f, 0.249258f, 0.188098f, 0.1262f, 0.0638057f, 0.00116027f, -0.0614904f, -0.123899f, -0.185819f, -0.24701f, -0.307231f, -0.366244f, -0.42382f, -0.479732f, -0.53376f, -0.585693f, -0.635317f, -0.682445f, -0.726893f, -0.768486f, -0.807061f, -0.842467f, -0.874564f, -0.903228f, -0.928345f, -0.949806f, -0.967532f, -0.981459f, -0.991531f, -0.99771f, -0.999971f, -0.998305f, -0.992719f, -0.983234f, -0.969881f, -0.952711f, -0.931799f, -0.907229f, -0.879096f, -0.847511f, -0.812598f, -0.774494f, -0.733348f, -0.689319f, -0.642574f, -0.593307f, -0.54171f, -0.487987f, -0.432347f, -0.375009f, -0.316198f, -0.256145f, -0.195085f, -0.133256f, -0.0709047f, -0.00827534f, 0.0543861f, 0.116834f, 0.178823f, 0.24011f, 0.300455f, 0.35962f, 0.417369f, 0.473477f, 0.527725f, 0.579901f, 0.629799f, 0.677224f, 0.721989f, 0.76392f, 0.802852f, 0.838623f, 0.871095f, 0.900146f, 0.925662f, 0.947543f, 0.965703f, 0.980071f, 0.99059f, 0.997219f, 0.999927f, 0.998699f, 0.993548f, 0.984496f, 0.971578f, 0.954845f, 0.934362f, 0.91021f, 0.882483f, 0.851289f, 0.81674f, 0.778984f, 0.738169f, 0.694456f, 0.648016f, 0.599031f, 0.547694f, 0.494205f, 0.438775f, 0.381615f, 0.322957f, 0.26303f, 0.202072f, 0.14032f, 0.0780169f, 0.0154073f, -0.0472634f, -0.109749f, -0.171803f, -0.233181f, -0.293642f, -0.35295f, -0.410872f, -0.46718f, -0.521654f, -0.57408f, -0.624252f, -0.671968f, -0.71704f, -0.759295f, -0.798568f, -0.834705f, -0.867564f, -0.897016f, -0.922946f, -0.945252f, -0.963843f, -0.978637f, -0.989587f, -0.996651f, -0.999802f, -0.999026f, -0.994327f, -0.985723f, -0.973249f, -0.956952f, -0.936883f, -0.913134f, -0.8858f, -0.854987f, -0.820817f, -0.783423f, -0.742953f, -0.699565f, -0.65343f, -0.60472f, -0.553634f, -0.500374f, -0.44515f, -0.388177f, -0.32968f, -0.269889f, -0.209037f, -0.147363f, -0.0851095f, -0.0225213f, 0.0401547f, 0.102673f, 0.164787f, 0.226254f, 0.286833f, 0.346286f, 0.40438f, 0.460885f, 0.515574f, 0.568238f, 0.61867f, 0.666672f, 0.712056f, 0.754644f, 0.794269f, 0.830775f, 0.864019f, 0.893856f, 0.920183f, 0.942896f, 0.961906f, 0.977139f, 0.988535f, 0.996049f, 0.999652f, 0.999329f, 0.995069f, 0.986899f, 0.974854f, 0.95898f, 0.939341f, 0.916013f, 0.889087f, 0.858671f, 0.824882f, 0.787845f, 0.74771f, 0.704639f, 0.658802f, 0.610377f, 0.559556f, 0.506537f, 0.451528f, 0.394746f, 0.336411f, 0.276751f, 0.216005f, 0.154412f, 0.0922126f, 0.0296511f, -0.0330271f, -0.0955759f, -0.15775f, -0.219305f, -0.279995f, -0.339586f, -0.397842f, -0.454536f, -0.509444f, -0.562353f, -0.613053f, -0.661346f, -0.707043f, -0.749952f, -0.789916f, -0.826776f, -0.86039f, -0.890626f, -0.917364f, -0.940499f, -0.959942f, -0.975615f, -0.987445f, -0.995394f, -0.999433f, -0.999548f, -0.995737f, -0.988016f, -0.976416f, -0.960981f, -0.941772f, -0.918857f, -0.892327f, -0.862292f, -0.828872f, -0.792197f, -0.752411f, -0.70967f, -0.664142f, -0.616006f, -0.565448f, -0.512662f, -0.457864f, -0.401268f, -0.343097f, -0.283579f, -0.222947f, -0.161439f, -0.0992961f, -0.0367629f, 0.0259152f, 0.0884908f, 0.150718f, 0.212354f, 0.273155f, 0.332884f, 0.391306f, 0.448191f, 0.503318f, 0.556461f, 0.607417f, 0.655987f, 0.701981f, 0.745218f, 0.785529f, 0.822755f, 0.85675f, 0.887382f, 0.91452f, 0.938061f, 0.957918f, 0.974013f, 0.986283f, 0.99468f, 0.999171f, 0.999739f, 0.996382f, 0.989106f, 0.977935f, 0.962924f, 0.944132f, 0.921633f, 0.895515f, 0.86588f, 0.832844f, 0.796538f, 0.757102f, 0.714682f, 0.669456f, 0.621601f, 0.571306f, 0.518768f, 0.464192f, 0.407793f, 0.349792f, 0.290416f, 0.229896f, 0.168473f, 0.10639f, 0.0438889f, -0.0187843f, -0.0813838f, -0.143664f, -0.205381f, -0.266291f, -0.326154f, -0.384733f, -0.441801f, -0.497133f, -0.550514f, -0.601732f, -0.650588f, -0.696889f, -0.740454f, -0.781106f, -0.818684f, -0.853046f, -0.884058f, -0.911599f, -0.935559f, -0.955846f, -0.972379f, -0.985094f, -0.993938f, -0.998865f, -0.99987f, -0.996949f, -0.990113f, -0.979388f, -0.964818f, -0.946458f, -0.924382f, -0.898676f, -0.869426f, -0.836762f, -0.800812f, -0.761718f, -0.719633f, -0.674722f, -0.627161f, -0.577137f, -0.524846f, -0.470487f, -0.41428f, -0.356446f, -0.297212f, -0.236812f, -0.175482f, -0.113462f, -0.0509964f, 0.0116702f, 0.0742912f, 0.13662f, 0.198411f, 0.259422f, 0.319415f, 0.378153f, 0.435407f, 0.490951f, 0.544567f, 0.596043f, 0.645172f, 0.691766f, 0.735643f, 0.776632f, 0.81457f, 0.84931f, 0.880715f, 0.908662f, 0.933039f, 0.953739f, 0.970693f, 0.983835f, 0.993114f, 0.998492f, 0.99995f, 0.997482f, 0.991097f, 0.98082f, 0.966677f, 0.948736f, 0.92707f, 0.901764f, 0.872916f, 0.840641f, 0.805064f, 0.766326f, 0.724578f, 0.679977f, 0.632702f, 0.582943f, 0.530895f, 0.476763f, 0.420758f, 0.363101f, 0.304017f, 0.243739f, 0.182502f, 0.120546f, 0.058118f, -0.00453781f, -0.0671756f, -0.12955f, -0.191415f, -0.252529f, -0.312652f, -0.371547f, -0.428978f, -0.484723f, -0.538565f, -0.590291f, -0.6397f, -0.686596f, -0.730797f, -0.772128f, -0.810427f, -0.845531f, -0.877314f, -0.905652f, -0.930433f, -0.95156f, -0.968951f, -0.982536f, -0.992264f, -0.998094f, -0.999994f, -0.997962f, -0.992012f, -0.982166f, -0.968463f, -0.950957f, -0.929716f, -0.904824f, -0.876379f, -0.844485f, -0.809269f, -0.770874f, -0.729453f, -0.685168f, -0.638192f, -0.588709f, -0.536915f, -0.483011f, -0.427209f, -0.369723f, -0.310787f, -0.25063f, -0.18949f, -0.127605f, -0.0652195f, -0.00257726f, 0.0600756f, 0.122493f, 0.184428f, 0.245638f, 0.305882f, 0.364925f, 0.422535f, 0.478486f, 0.532558f, 0.584539f, 0.634226f, 0.681413f, 0.725922f, 0.76758f, 0.806224f, 0.841701f, 0.873873f, 0.902614f, 0.92781f, 0.949364f, 0.96718f, 0.981191f, 0.991349f, 0.997615f, 0.999962f, 0.998384f, 0.992885f, 0.983487f, 0.970227f, 0.953151f, 0.932323f, 0.907833f, 0.879779f, 0.84827f, 0.81343f, 0.775396f, 0.734317f, 0.690354f, 0.643677f, 0.594464f, 0.542917f, 0.489239f, 0.433639f, 0.376337f, 0.317557f, 0.25753f, 0.19649f, 0.134678f, 0.0723358f, 0.00970967f, -0.052954f, -0.115409f, -0.177411f, -0.238717f, -0.299085f, -0.358279f, -0.416067f, -0.472217f, -0.526509f, -0.578733f, -0.628685f, -0.676167f, -0.720994f, -0.76299f, -0.80199f, -0.837841f, -0.870396f, -0.899525f, -0.925121f, -0.947085f, -0.965329f, -0.979782f, -0.990388f, -0.997105f, -0.999906f, -0.998777f, -0.993713f, -0.984747f, -0.971915f, -0.955265f, -0.934865f, -0.910793f, -0.883144f, -0.852027f, -0.817564f, -0.779877f, -0.739128f, -0.695477f, -0.649095f, -0.600164f, -0.548877f, -0.495433f, -0.440044f, -0.382926f, -0.324299f, -0.264398f, -0.20346f, -0.141723f, -0.0794295f, -0.016824f, 0.0458477f, 0.10834f, 0.170407f, 0.231804f, 0.292289f, 0.351625f, 0.40958f, 0.465926f, 0.520443f, 0.572916f, 0.62314f, 0.670917f, 0.716056f, 0.758376f, 0.797717f, 0.833925f, 0.866858f, 0.896387f, 0.922396f, 0.944783f, 0.96346f, 0.978352f, 0.989388f, 0.996538f, 0.999775f, 0.999087f, 0.994476f, 0.985959f, 0.973571f, 0.957359f, 0.937388f, 0.913722f, 0.886467f, 0.855731f, 0.821635f, 0.784312f, 0.743909f, 0.700585f, 0.65451f, 0.605864f, 0.554831f, 0.501618f, 0.446435f, 0.389499f, 0.331034f, 0.271269f, 0.210438f, 0.148781f, 0.0865385f, 0.0239554f, -0.0387217f, -0.101246f, -0.163372f, -0.224857f, -0.285458f, -0.344939f, -0.403065f, -0.45961f, -0.514348f, -0.56706f, -0.617544f, -0.665603f, -0.711048f, -0.753701f, -0.793394f, -0.829971f, -0.86329f, -0.893219f, -0.919626f, -0.942421f, -0.961515f, -0.976834f, -0.988316f, -0.995917f, -0.999608f, -0.999373f, -0.995213f, -0.987133f, -0.975173f, -0.959384f, -0.939827f, -0.91658f, -0.889733f, -0.859393f, -0.825677f, -0.788719f, -0.748656f, -0.705648f, -0.659869f, -0.6115f, -0.560729f, -0.507757f, -0.45279f, -0.396045f, -0.337744f, -0.278114f, -0.21739f, -0.155812f, -0.0936236f, -0.0310674f, 0.0316107f, 0.0941649f, 0.15635f, 0.217921f, 0.278637f, 0.338255f, 0.396543f, 0.453274f, 0.508225f, 0.561179f, 0.61193f, 0.660279f, 0.706035f, 0.749018f, 0.789051f, 0.825982f, 0.85967f, 0.889981f, 0.916797f, 0.940014f, 0.959539f, 0.975296f, 0.987223f, 0.995263f, 0.999389f, 0.999591f, 0.995869f, 0.988235f, 0.976721f, 0.961371f, 0.942246f, 0.91942f, 0.892978f, 0.863021f, 0.829675f, 0.793071f, 0.753354f, 0.710677f, 0.66521f, 0.617131f, 0.566628f, 0.513897f, 0.459141f, 0.402583f, 0.344445f, 0.284954f, 0.224344f, 0.162853f, 0.100723f, 0.038196f, -0.0244815f, -0.0870625f, -0.149301f, -0.210952f, -0.271775f, -0.33153f, -0.389984f, -0.446906f, -0.502074f, -0.555271f, -0.606281f, -0.654907f, -0.70096f, -0.744261f, -0.784639f, -0.821936f, -0.856005f, -0.886713f, -0.91394f, -0.93757f, -0.95751f, -0.97369f, -0.986047f, -0.994531f, -0.99911f, -0.999765f, -0.996495f, -0.989311f, -0.978238f, -0.963311f, -0.944603f, -0.922185f, -0.896145f, -0.866587f, -0.833625f, -0.79739f, -0.758023f, -0.715678f, -0.670512f, -0.622714f, -0.57247f, -0.519979f, -0.465445f, -0.409084f, -0.351117f, -0.29177f, -0.231276f, -0.169871f, -0.107799f, -0.0453046f, 0.0173675f, 0.0799713f, 0.142261f, 0.203992f, 0.264923f, 0.324814f, 0.383427f, 0.440531f, 0.495905f, 0.549331f, 0.600599f, 0.649509f, 0.695868f, 0.739496f, 0.780219f, 0.817875f, 0.85231f, 0.883398f, 0.911016f, 0.935057f, 0.955426f, 0.972044f, 0.984844f, 0.993776f, 0.998805f, 0.999897f, 0.997063f, 0.990314f, 0.979676f, 0.965191f, 0.946916f, 0.924922f, 0.899296f, 0.870138f, 0.83755f, 0.801673f, 0.762648f, 0.720628f, 0.675779f, 0.628275f, 0.578305f, 0.526063f, 0.471754f, 0.415587f, 0.357787f, 0.298582f, 0.238205f, 0.176893f, 0.114887f, 0.0524285f, -0.0102359f, -0.0728608f, -0.135199f, -0.197006f, -0.258038f, -0.318056f, -0.376825f, -0.434114f, -0.489698f, -0.54336f, -0.594889f, -0.64408f, -0.690733f, -0.734674f, -0.775729f, -0.813737f, -0.84855f, -0.880031f, -0.908057f, -0.932516f, -0.953314f, -0.970353f, -0.983581f, -0.992947f, -0.998413f, -0.999959f, -0.997578f, -0.991279f, -0.981088f, -0.967044f, -0.94919f, -0.927606f, -0.902379f, -0.873608f, -0.841407f, -0.805902f, -0.767233f, -0.72555f, -0.681017f, -0.633803f, -0.584097f, -0.532097f, -0.478008f, -0.422043f, -0.364419f, -0.305365f, -0.245111f, -0.183894f, -0.121954f, -0.0595329f, 0.00312082f, 0.0657618f, 0.128144f, 0.190023f, 0.251157f, 0.311304f, 0.370229f, 0.427701f, 0.483486f, 0.537372f, 0.589148f, 0.63861f, 0.685564f, 0.729826f, 0.771222f, 0.80959f, 0.844779f, 0.876639f, 0.905054f, 0.929915f, 0.951124f, 0.968598f, 0.982268f, 0.992082f, 0.997999f, 0.999997f, 0.998059f, 0.992195f, 0.982436f, 0.968819f, 0.951397f, 0.930239f, 0.905429f, 0.877062f, 0.845251f, 0.810115f, 0.77179f, 0.730435f, 0.686212f, 0.639295f, 0.589867f, 0.538122f, 0.484264f, 0.428503f, 0.371058f, 0.312151f, 0.252019f, 0.190898f, 0.129028f, 0.0666506f, 0.00401159f, -0.0586435f, -0.121069f, -0.183019f, -0.244249f, -0.304518f, -0.36359f, -0.421235f, -0.477225f, -0.531342f, -0.583372f, -0.633111f, -0.680365f, -0.724939f, -0.766663f, -0.805376f, -0.840926f, -0.873174f, -0.901993f, -0.92727f, -0.948905f, -0.966815f, -0.98092f, -0.991165f, -0.997518f, -0.999954f, -0.998462f, -0.99305f, -0.983739f, -0.970564f, -0.953578f, -0.932842f, -0.908432f, -0.880456f, -0.849022f, -0.814254f, -0.776289f, -0.735276f, -0.691374f, -0.644758f, -0.595608f, -0.54411f, -0.490476f, -0.434917f, -0.37765f, -0.3189f, -0.258897f, -0.197878f, -0.136081f, -0.0737494f, -0.0111267f, 0.0515391f, 0.114002f, 0.176017f, 0.23734f, 0.297731f, 0.356954f, 0.414775f, 0.470968f, 0.525307f, 0.57758f, 0.627584f, 0.675123f, 0.720011f, 0.762071f, 0.801139f, 0.837061f, 0.869697f, 0.898911f, 0.924587f, 0.946632f, 0.96496f, 0.979497f, 0.990189f, 0.996992f, 0.99988f, 0.998842f, 0.99388f, 0.985001f, 0.972254f, 0.955689f, 0.935372f, 0.911381f, 0.883812f, 0.852771f, 0.818382f, 0.780779f, 0.740097f, 0.696509f, 0.650187f, 0.601311f, 0.550074f, 0.496677f, 0.441329f, 0.384248f, 0.325657f, 0.265783f, 0.204865f, 0.143143f, 0.0808592f, 0.0182582f, -0.0444146f, -0.106913f, -0.168993f, -0.230409f, -0.290919f, -0.350284f, -0.408272f, -0.464657f, -0.519217f, -0.571739f, -0.622015f, -0.669849f, -0.715052f, -0.757446f, -0.796855f, -0.833135f, -0.866143f, -0.89575f, -0.921839f, -0.944308f, -0.963069f, -0.978048f, -0.989186f, -0.996424f, -0.999749f, -0.999148f, -0.994624f, -0.986194f, -0.973891f, -0.957763f, -0.937875f, -0.914303f, -0.887128f, -0.856468f, -0.822444f, -0.785191f, -0.744855f, -0.701594f, -0.655577f, -0.606986f, -0.556011f, -0.502846f, -0.447704f, -0.390805f, -0.332371f, -0.272632f, -0.211823f, -0.150181f, -0.0879495f, -0.0253719f, 0.037306f, 0.0998368f, 0.161975f, 0.223476f, 0.2841f, 0.343608f, 0.401767f, 0.458348f, 0.51313f, 0.565896f, 0.616432f, 0.664547f, 0.710052f, 0.752769f, 0.792529f, 0.829177f, 0.862569f, 0.892574f, 0.919074f, 0.941952f, 0.961129f, 0.976532f, 0.988099f, 0.995787f, 0.999564f, 0.999417f, 0.995345f, 0.987364f, 0.975495f, 0.959791f, 0.940318f, 0.917152f, 0.890385f, 0.860122f, 0.82648f, 0.789593f, 0.749605f, 0.706668f, 0.660949f, 0.612636f, 0.561917f, 0.508991f, 0.454067f, 0.39736f, 0.339091f, 0.279491f, 0.218791f, 0.15723f, 0.0950519f, 0.0325011f, -0.030177f, -0.0927366f, -0.154932f, -0.21652f, -0.277257f, -0.336907f, -0.395228f, -0.451997f, -0.50699f, -0.559992f, -0.610794f, -0.659198f, -0.705014f, -0.748062f, -0.788172f, -0.825178f, -0.85894f, -0.889328f, -0.916224f, -0.939522f, -0.959131f, -0.974973f, -0.986986f, -0.995124f, -0.999345f, -0.999635f, -0.995999f, -0.988452f, -0.977023f, -0.961758f, -0.942716f, -0.919972f, -0.893614f, -0.863743f, -0.830471f, -0.793937f, -0.754286f, -0.711674f, -0.666267f, -0.618243f, -0.567791f, -0.515109f, -0.460403f, -0.403882f, -0.345776f, -0.286312f, -0.225725f, -0.164251f, -0.102132f, -0.0396117f, 0.0230647f, 0.0856514f, 0.1479f, 0.209568f, 0.270412f, 0.330193f, 0.388678f, 0.445637f, 0.500845f, 0.554088f, 0.605155f, 0.653839f, 0.699952f, 0.743316f, 0.783761f, 0.821127f, 0.855269f, 0.886053f, 0.913357f, 0.937075f, 0.957107f, 0.973371f, 0.985813f, 0.994384f, 0.999049f, 0.999792f, 0.996609f, 0.989512f, 0.97853f, 0.963702f, 0.945077f, 0.922741f, 0.896781f, 0.8673f, 0.834414f, 0.798251f, 0.758953f, 0.716674f, 0.67158f, 0.623839f, 0.573648f, 0.521204f, 0.466715f, 0.410392f, 0.352458f, 0.29314f, 0.23267f, 0.171285f, 0.109226f, 0.0467376f, -0.0159334f, -0.0785415f, -0.140841f, -0.202587f, -0.263539f, -0.323455f, -0.382102f, -0.439246f, -0.494661f, -0.548133f, -0.599452f, -0.648417f, -0.694836f, -0.738526f, -0.779316f, -0.817047f, -0.851565f, -0.882729f, -0.910427f, -0.934549f, -0.955002f, -0.971704f, -0.98459f, -0.99361f, -0.998728f, -0.999923f, -0.997176f, -0.990514f, -0.979962f, -0.965561f, -0.947369f, -0.925457f, -0.899911f, -0.87083f, -0.838329f, -0.802525f, -0.763568f, -0.721612f, -0.676823f, -0.629377f, -0.579458f, -0.527264f, -0.473f, -0.416877f, -0.359112f, -0.299936f, -0.239582f, -0.178288f, -0.116294f, -0.0538434f, 0.0088189f, 0.071447f, 0.133795f, 0.195618f, 0.25667f, 0.316713f, 0.375512f, 0.432837f, 0.488461f, 0.542168f, 0.593746f, 0.642992f, 0.689713f, 0.733716f, 0.774836f, 0.812914f, 0.8478f, 0.879356f, 0.907459f, 0.931998f, 0.952878f, 0.970016f, 0.98333f, 0.992782f, 0.998335f, 0.999968f, 0.997674f, 0.991463f, 0.981359f, 0.9674f, 0.949643f, 0.928145f, 0.902999f, 0.874307f, 0.842181f, 0.806749f, 0.768149f, 0.726532f, 0.682061f, 0.634912f, 0.585264f, 0.533314f, 0.479269f, 0.423343f, 0.365755f, 0.30673f, 0.2465f, 0.185303f, 0.123377f, 0.0609651f, -0.00168649f, -0.0643307f, -0.126722f, -0.188615f, -0.249767f, -0.309939f, -0.368894f, -0.426401f, -0.482234f, -0.536165f, -0.587991f, -0.637507f, -0.684519f, -0.728843f, -0.770305f, -0.808743f, -0.844004f, -0.875952f, -0.904449f, -0.92939f, -0.950682f, -0.968241f, -0.981997f, -0.991897f, -0.997902f, -0.999988f, -0.998148f, -0.992378f, -0.982705f, -0.969172f, -0.951834f, -0.930759f, -0.906028f, -0.877739f, -0.846003f, -0.810945f, -0.772697f, -0.731407f, -0.687245f, -0.640385f, -0.59101f, -0.539315f, -0.485501f, -0.429781f, -0.372372f, -0.3135f, -0.253392f, -0.19229f, -0.130433f, -0.0680643f, -0.00542858f, 0.0572286f, 0.119661f, 0.181625f, 0.242876f, 0.303169f, 0.362271f, 0.41995f, 0.47598f, 0.53014f, 0.582218f, 0.632011f, 0.679321f, 0.723965f, 0.765758f, 0.804539f, 0.840161f, 0.872483f, 0.901379f, 0.926736f, 0.948453f, 0.966446f, 0.980643f, 0.990983f, 0.997422f, 0.999945f, 0.998541f, 0.993217f, 0.983992f, 0.970903f, 0.954002f, 0.933354f, 0.909037f, 0.881139f, 0.849781f, 0.815087f, 0.777192f, 0.736245f, 0.692407f, 0.645849f, 0.596755f, 0.545317f, 0.491728f, 0.43621f, 0.378978f, 0.320259f, 0.260282f, 0.199283f, 0.137501f, 0.0751792f, 0.0125609f, -0.050107f, -0.112577f, -0.174605f, -0.235947f, -0.296361f, -0.355613f, -0.413467f, -0.469699f, -0.524087f, -0.576412f, -0.626469f, -0.674066f, -0.719015f, -0.761141f, -0.800278f, -0.836272f, -0.868982f, -0.89828f, -0.924047f, -0.946174f, -0.964585f, -0.979209f, -0.989987f, -0.996878f, -0.999854f, -0.998904f, -0.99403f, -0.985252f, -0.972591f, -0.95611f, -0.935875f, -0.911964f, -0.884473f, -0.853508f, -0.819192f, -0.781658f, -0.741054f, -0.69753f, -0.651266f, -0.602444f, -0.551257f, -0.497906f, -0.442599f, -0.385554f, -0.326994f, -0.26715f, -0.206253f, -0.144546f, -0.0822718f, -0.0196749f, 0.0429989f, 0.105504f, 0.167595f, 0.229028f, 0.289563f, 0.348959f, 0.40698f, 0.463404f, 0.518007f, 0.570575f, 0.620903f, 0.668793f, 0.714057f, 0.756517f, 0.796004f, 0.832355f, 0.865437f, 0.89512f, 0.921288f, 0.943839f, 0.962682f, 0.977746f, 0.98897f, 0.996311f, 0.999723f, 0.99921f, 0.994773f, 0.98643f, 0.974213f, 0.95817f, 0.938365f, 0.914875f, 0.887792f, 0.857212f, 0.823262f, 0.78608f, 0.745811f, 0.702614f, 0.656657f, 0.608122f, 0.557198f, 0.504086f, 0.448989f, 0.392126f, 0.333724f, 0.274012f, 0.213224f, 0.151599f, 0.0893778f, 0.0268056f, -0.0358725f, -0.0984102f, -0.16056f, -0.222079f, -0.282725f, -0.34226f, -0.400452f, -0.457071f, -0.511895f, -0.56471f, -0.615307f, -0.663479f, -0.709044f, -0.751825f, -0.791653f, -0.828373f, -0.861839f, -0.891921f, -0.918501f, -0.941475f, -0.960738f, -0.976226f, -0.98788f, -0.995655f, -0.99952f, -0.99946f, -0.995475f, -0.987581f, -0.975809f, -0.960195f, -0.940804f, -0.917719f, -0.891031f, -0.860844f, -0.827276f, -0.790459f, -0.750538f, -0.707669f, -0.662017f, -0.613758f, -0.56309f, -0.510211f, -0.455329f, -0.398659f, -0.340423f, -0.280849f, -0.220173f, -0.15863f, -0.0964629f, -0.0339174f, 0.0287607f, 0.0913256f, 0.153532f, 0.215135f, 0.275894f, 0.33557f, 0.393929f, 0.450735f, 0.50577f, 0.558818f, 0.609672f, 0.658131f, 0.704006f, 0.747117f, 0.787294f, 0.82438f, 0.858219f, 0.888683f, 0.915658f, 0.939036f, 0.958728f, 0.974654f, 0.986753f, 0.994977f, 0.999294f, 0.999679f, 0.996131f, 0.988671f, 0.977328f, 0.962148f, 0.94319f, 0.920528f, 0.894251f, 0.864461f, 0.831274f, 0.794812f, 0.755229f, 0.712681f, 0.667335f, 0.619368f, 0.568969f, 0.516335f, 0.461673f, 0.405197f, 0.347123f, 0.287687f, 0.227122f, 0.165666f, 0.103559f, 0.0410447f, -0.0216306f, -0.0842216f, -0.146482f, -0.208166f, -0.269032f, -0.32884f, -0.387356f, -0.444351f, -0.499602f, -0.55289f, -0.604008f, -0.652755f, -0.698932f, -0.742359f, -0.782871f, -0.820309f, -0.854524f, -0.885385f, -0.912768f, -0.936567f, -0.956689f, -0.973048f, -0.985577f, -0.994234f, -0.998988f, -0.999818f, -0.996722f, -0.989712f, -0.978816f, -0.964075f, -0.945547f, -0.923292f, -0.897412f, -0.868007f, -0.835195f, -0.799103f, -0.759872f, -0.717658f, -0.672625f, -0.62495f, -0.574811f, -0.522415f, -0.467968f, -0.411684f, -0.353783f, -0.294493f, -0.234046f, -0.17268f, -0.110635f, -0.0481533f, 0.0145166f, 0.077129f, 0.139438f, 0.201199f, 0.262171f, 0.322112f, 0.38079f, 0.437973f, 0.493432f, 0.54695f, 0.598319f, 0.647339f, 0.693816f, 0.737568f, 0.778424f, 0.816224f, 0.850818f, 0.882069f, 0.909845f, 0.934047f, 0.954582f, 0.971368f, 0.984339f, 0.993445f, 0.99865f, 0.999933f, 0.99729f, 0.990715f, 0.980249f, 0.965935f, 0.947827f, 0.925997f, 0.900531f, 0.871528f, 0.839103f, 0.803383f, 0.764497f, 0.722607f, 0.67788f, 0.630491f, 0.580626f, 0.528481f, 0.47426f, 0.418177f, 0.360451f, 0.301306f, 0.240976f, 0.1797f, 0.117719f, 0.0552756f, -0.00738457f, -0.0700159f, -0.132373f, -0.19421f, -0.255285f, -0.315354f, -0.374184f, -0.431544f, -0.487209f, -0.540961f, -0.592588f, -0.641889f, -0.68867f, -0.732746f, -0.773933f, -0.812081f, -0.84704f, -0.878672f, -0.906853f, -0.931474f, -0.952437f, -0.969659f, -0.983074f, -0.992615f, -0.998256f, -0.999977f, -0.99777f, -0.991646f, -0.981627f, -0.967754f, -0.95008f, -0.928675f, -0.903614f, -0.874999f, -0.842948f, -0.807587f, -0.769055f, -0.727503f, -0.683094f, -0.636002f, -0.586412f, -0.534516f, -0.480515f, -0.424628f, -0.367073f, -0.308078f, -0.247873f, -0.186694f, -0.124782f, -0.0623791f, 0.000269504f, 0.0629169f, 0.125317f, 0.187223f, 0.248395f, 0.308591f, 0.367575f, 0.425116f, 0.480989f, 0.534973f, 0.586847f, 0.636417f, 0.683487f, 0.727872f, 0.7694f, 0.807905f, 0.843239f, 0.875261f, 0.903847f, 0.928872f, 0.950246f, 0.967888f, 0.981729f, 0.991715f, 0.997807f, 0.99998f, 0.998227f, 0.992554f, 0.982975f, 0.969529f, 0.952275f, 0.931282f, 0.906632f, 0.878422f, 0.846762f, 0.811777f, 0.773604f, 0.732389f, 0.688289f, 0.641488f, 0.592167f, 0.540522f, 0.486753f, 0.431073f, 0.3737f, 0.314859f, 0.254781f, 0.193698f, 0.131855f, 0.0694954f, 0.0068629f, -0.0557965f, -0.118237f, -0.180213f, -0.241482f, -0.301804f, -0.360936f, -0.41865f, -0.474719f, -0.528923f, -0.581051f, -0.630896f, -0.678264f, -0.72297f, -0.764836f, -0.803692f, -0.839386f, -0.871784f, -0.900758f, -0.926195f, -0.947994f, -0.966071f, -0.980355f, -0.990789f, -0.997326f, -0.999936f, -0.99862f, -0.993382f, -0.984244f, -0.97124f, -0.954422f, -0.933856f, -0.909623f, -0.881815f, -0.850533f, -0.815911f, -0.778085f, -0.737203f, -0.693427f, -0.646928f, -0.597888f, -0.5465f, -0.492965f, -0.437487f, -0.380291f, -0.321602f, -0.26165f, -0.200671f, -0.138904f, -0.0765917f, -0.0139777f, 0.0486919f, 0.11117f, 0.17321f, 0.23457f, 0.295008f, 0.354287f, 0.412176f, 0.468445f, 0.522876f, 0.575254f, 0.625369f, 0.673022f, 0.718032f, 0.760222f, 0.799426f, 0.835492f, 0.868276f, 0.897651f, 0.923501f, 0.945721f, 0.964216f, 0.978924f, 0.989788f, 0.996765f, 0.999828f, 0.998965f, 0.994179f, 0.98549f, 0.97293f, 0.956534f, 0.936382f, 0.912553f, 0.88514f, 0.854252f, 0.82001f, 0.782547f, 0.74201f, 0.69856f, 0.652357f, 0.603591f, 0.552455f, 0.499149f, 0.443884f, 0.386876f, 0.328348f, 0.26853f, 0.207657f, 0.145966f, 0.0837016f, 0.021109f, -0.0415659f, -0.104077f, -0.16618f, -0.227631f, -0.288188f, -0.347613f, -0.405673f, -0.462134f, -0.516781f, -0.569397f, -0.619778f, -0.667724f, -0.713049f, -0.755573f, -0.795131f, -0.831566f, -0.864722f, -0.894483f, -0.920731f, -0.943364f, -0.962291f, -0.97744f, -0.988751f, -0.996179f, -0.999695f, -0.999271f, -0.994921f, -0.986664f, -0.974532f, -0.958574f, -0.938852f, -0.915442f, -0.888438f, -0.857944f, -0.824072f, -0.786959f, -0.746757f, -0.703622f, -0.657725f, -0.609245f, -0.558372f, -0.505306f, -0.450255f, -0.393432f, -0.335061f, -0.275375f, -0.214608f, -0.152999f, -0.0907888f, -0.0282219f, 0.0344562f, 0.0969996f, 0.159162f, 0.220698f, 0.281366f, 0.340929f, 0.399153f, 0.455809f, 0.510675f, 0.563537f, 0.614185f, 0.662423f, 0.708048f, 0.750893f, 0.790788f, 0.827578f, 0.861118f, 0.891276f, 0.917935f, 0.940989f, 0.960348f, 0.975924f, 0.987664f, 0.995525f, 0.999477f, 0.999504f, 0.995607f, 0.9878f, 0.976114f, 0.960595f, 0.941295f, 0.918292f, 0.891683f, 0.861572f, 0.828079f, 0.791334f, 0.751481f, 0.708677f, 0.663089f, 0.614894f, 0.564278f, 0.511446f, 0.456606f, 0.399973f, 0.34177f, 0.282225f, 0.22157f, 0.160046f, 0.0978912f, 0.0353511f, -0.027327f, -0.0898973f, -0.152114f, -0.213734f, -0.274514f, -0.334217f, -0.392607f, -0.449457f, -0.504535f, -0.557631f, -0.608536f, -0.657051f, -0.702986f, -0.74616f, -0.786404f, -0.823561f, -0.857484f, -0.88803f, -0.915085f, -0.938545f, -0.95832f, -0.974331f, -0.986516f, -0.994827f, -0.999232f, -0.999713f, -0.996261f, -0.988888f, -0.977631f, -0.962535f, -0.94366f, -0.921079f, -0.894881f, -0.865168f, -0.832058f, -0.795678f, -0.756162f, -0.713678f, -0.668391f, -0.62048f, -0.570132f, -0.517546f, -0.462927f, -0.406489f, -0.348454f, -0.289046f, -0.228503f, -0.167063f, -0.104968f, -0.0424604f, 0.0202139f, 0.0828091f, 0.14508f, 0.206781f, 0.267668f, 0.327503f, 0.38605f, 0.443082f, 0.498373f, 0.551707f, 0.602875f, 0.651676f, 0.697918f, 0.741414f, 0.781993f, 0.8195f, 0.853788f, 0.884724f, 0.912186f, 0.936065f, 0.956269f, 0.972718f, 0.985343f, 0.994087f, 0.998927f, 0.999844f, 0.996836f, 0.989913f, 0.979103f, 0.964448f, 0.946006f, 0.923848f, 0.898048f, 0.868721f, 0.835983f, 0.799963f, 0.760802f, 0.718652f, 0.673681f, 0.626064f, 0.575987f, 0.523641f, 0.469237f, 0.412992f, 0.355125f, 0.295863f, 0.23544f, 0.174091f, 0.112059f, 0.0495861f, -0.0130825f, -0.0756992f, -0.138018f, -0.199794f, -0.260786f, -0.320753f, -0.379461f, -0.43668f, -0.492184f, -0.545753f, -0.597172f, -0.646247f, -0.692783f, -0.736598f, -0.777521f, -0.815391f, -0.850059f, -0.881389f, -0.909256f, -0.93354f, -0.954157f, -0.971028f, -0.984085f, -0.993278f, -0.99857f, -0.999942f, -0.997386f, -0.990914f, -0.980535f, -0.966305f, -0.94828f, -0.926532f, -0.901146f, -0.87222f, -0.83987f, -0.804221f, -0.765413f, -0.723591f, -0.678924f, -0.631592f, -0.581779f, -0.529683f, -0.475506f, -0.419462f, -0.36177f, -0.302657f, -0.242352f, -0.181094f, -0.119126f, -0.0566904f, 0.00596758f, 0.0686021f, 0.130967f, 0.192819f, 0.253914f, 0.314011f, 0.372871f, 0.430266f, 0.485972f, 0.539768f, 0.591445f, 0.640799f, 0.687638f, 0.731776f, 0.773041f, 0.811258f, 0.846289f, 0.877996f, 0.906255f, 0.930956f, 0.952f, 0.969307f, 0.982807f, 0.992447f, 0.998178f, 0.999985f, 0.997867f, 0.99183f, 0.981898f, 0.96811f, 0.950521f, 0.929199f, 0.904227f, 0.875697f, 0.843721f, 0.808433f, 0.769971f, 0.728485f, 0.684138f, 0.637105f, 0.58757f, 0.535726f, 0.481776f, 0.425928f, 0.368409f, 0.309443f, 0.249262f, 0.188103f, 0.126204f, 0.0638102f, 0.00116482f, -0.0614858f, -0.123894f, -0.185815f, -0.247006f, -0.307226f, -0.36624f, -0.423816f, -0.479728f, -0.533756f, -0.585689f, -0.635314f, -0.682442f, -0.72689f, -0.768483f, -0.807058f, -0.842464f, -0.874562f, -0.903226f, -0.928343f, -0.949805f, -0.967531f, -0.981458f, -0.991531f, -0.99771f, -0.999971f, -0.998305f, -0.992719f, -0.983235f, -0.969882f, -0.952712f, -0.931801f, -0.907231f, -0.879099f, -0.847514f, -0.812601f, -0.774497f, -0.733351f, -0.689322f, -0.642578f, -0.593311f, -0.541714f, -0.487991f, -0.432351f, -0.375013f, -0.316202f, -0.256149f, -0.19509f, -0.133261f, -0.0709092f, -0.00827989f, 0.0543816f, 0.116829f, 0.178818f, 0.240106f, 0.300451f, 0.359616f, 0.417365f, 0.473473f, 0.527722f, 0.579897f, 0.629795f, 0.67722f, 0.721986f, 0.763917f, 0.802849f, 0.838621f, 0.871093f, 0.900144f, 0.925661f, 0.947542f, 0.965702f, 0.98007f, 0.990589f, 0.997219f, 0.999927f, 0.998699f, 0.993549f, 0.984497f, 0.971579f, 0.954846f, 0.934363f, 0.910212f, 0.882485f, 0.851292f, 0.816743f, 0.778987f, 0.738172f, 0.694459f, 0.64802f, 0.599035f, 0.547698f, 0.494209f, 0.438779f, 0.381619f, 0.322961f, 0.263035f, 0.202076f, 0.140324f, 0.0780215f, 0.0154118f, -0.0472588f, -0.109745f, -0.171799f, -0.233176f, -0.293638f, -0.352946f, -0.410868f, -0.467176f, -0.52165f, -0.574076f, -0.624248f, -0.671965f, -0.717036f, -0.759292f, -0.798565f, -0.834702f, -0.867561f, -0.897014f, -0.922944f, -0.94525f, -0.963842f, -0.978636f, -0.989586f, -0.996651f, -0.999801f, -0.999026f, -0.994327f, -0.985724f, -0.97325f, -0.956954f, -0.936884f, -0.913136f, -0.885802f, -0.854989f, -0.820819f, -0.783426f, -0.742956f, -0.699569f, -0.653433f, -0.604724f, -0.553638f, -0.500378f, -0.445154f, -0.388181f, -0.329685f, -0.269893f, -0.209041f, -0.147368f, -0.0851141f, -0.0225258f, 0.0401502f, 0.102668f, 0.164783f, 0.22625f, 0.286829f, 0.346282f, 0.404376f, 0.460881f, 0.51557f, 0.568234f, 0.618666f, 0.666668f, 0.712053f, 0.754641f, 0.794266f, 0.830773f, 0.864017f, 0.893854f, 0.920181f, 0.942894f, 0.961905f, 0.977138f, 0.988534f, 0.996049f, 0.999651f, 0.999329f, 0.99507f, 0.9869f, 0.974855f, 0.958981f, 0.939342f, 0.916014f, 0.88909f, 0.858673f, 0.824884f, 0.787848f, 0.747713f, 0.704642f, 0.658805f, 0.610381f, 0.55956f, 0.506541f, 0.451532f, 0.39475f, 0.336415f, 0.276755f, 0.21601f, 0.154417f, 0.0922171f, 0.0296556f, -0.0330225f, -0.0955714f, -0.157746f, -0.2193f, -0.279991f, -0.339581f, -0.397838f, -0.454532f, -0.509441f, -0.562349f, -0.613049f, -0.661343f, -0.70704f, -0.749949f, -0.789913f, -0.826774f, -0.860388f, -0.890624f, -0.917362f, -0.940498f, -0.95994f, -0.975614f, -0.987445f, -0.995393f, -0.999433f, -0.999548f, -0.995737f, -0.988017f, -0.976417f, -0.960982f, -0.941773f, -0.918859f, -0.892329f, -0.862294f, -0.828874f, -0.7922f, -0.752414f, -0.709673f, -0.664146f, -0.616009f, -0.565451f, -0.512666f, -0.457868f, -0.401272f, -0.343101f, -0.283583f, -0.222951f, -0.161443f, -0.0993007f, -0.0367675f, 0.0259107f, 0.0884863f, 0.150714f, 0.212349f, 0.273151f, 0.332879f, 0.391301f, 0.448187f, 0.503314f, 0.556457f, 0.607413f, 0.655984f, 0.701978f, 0.745215f, 0.785526f, 0.822752f, 0.856748f, 0.887379f, 0.914518f, 0.938059f, 0.957917f, 0.974012f, 0.986283f, 0.99468f, 0.999171f, 0.999739f, 0.996382f, 0.989106f, 0.977936f, 0.962926f, 0.944134f, 0.921635f, 0.895517f, 0.865882f, 0.832847f, 0.796541f, 0.757105f, 0.714685f, 0.669459f, 0.621605f, 0.57131f, 0.518772f, 0.464196f, 0.407797f, 0.349796f, 0.290421f, 0.229901f, 0.168478f, 0.106394f, 0.0438934f, -0.0187797f, -0.0813793f, -0.143659f, -0.205376f, -0.266287f, -0.326149f, -0.384729f, -0.441797f, -0.497129f, -0.55051f, -0.601728f, -0.650584f, -0.696886f, -0.740451f, -0.781103f, -0.818681f, -0.853044f, -0.884056f, -0.911597f, -0.935558f, -0.955845f, -0.972378f, -0.985094f, -0.993937f, -0.998865f, -0.99987f, -0.996949f, -0.990113f, -0.979389f, -0.964819f, -0.94646f, -0.924384f, -0.898678f, -0.869428f, -0.836764f, -0.800815f, -0.761721f, -0.719636f, -0.674726f, -0.627165f, -0.577141f, -0.52485f, -0.470491f, -0.414284f, -0.35645f, -0.297217f, -0.236816f, -0.175486f, -0.113467f, -0.0510009f, 0.0116657f, 0.0742867f, 0.136615f, 0.198406f, 0.259418f, 0.319411f, 0.378149f, 0.435403f, 0.490947f, 0.544563f, 0.59604f, 0.645168f, 0.691763f, 0.73564f, 0.776629f, 0.814568f, 0.849308f, 0.880713f, 0.90866f, 0.933038f, 0.953738f, 0.970692f, 0.983834f, 0.993113f, 0.998492f, 0.99995f, 0.997482f, 0.991098f, 0.98082f, 0.966678f, 0.948738f, 0.927072f, 0.901766f, 0.872919f, 0.840644f, 0.805067f, 0.766329f, 0.724581f, 0.67998f, 0.632706f, 0.582947f, 0.530899f, 0.476767f, 0.420762f, 0.363105f, 0.304021f, 0.243743f, 0.182506f, 0.120551f, 0.0581226f, -0.00453325f, -0.067171f, -0.129545f, -0.19141f, -0.252525f, -0.312648f, -0.371543f, -0.428974f, -0.484719f, -0.538561f, -0.590288f, -0.639696f, -0.686593f, -0.730793f, -0.772125f, -0.810424f, -0.845529f, -0.877312f, -0.90565f, -0.930431f, -0.951559f, -0.96895f, -0.982535f, -0.992263f, -0.998094f, -0.999994f, -0.997963f, -0.992012f, -0.982166f, -0.968464f, -0.950958f, -0.929718f, -0.904826f, -0.876382f, -0.844488f, -0.809271f, -0.770877f, -0.729456f, -0.685171f, -0.638195f, -0.588713f, -0.536919f, -0.483015f, -0.427213f, -0.369727f, -0.310791f, -0.250635f, -0.189494f, -0.12761f, -0.065224f, -0.00258181f, 0.0600711f, 0.122489f, 0.184424f, 0.245633f, 0.305878f, 0.364921f, 0.422531f, 0.478482f, 0.532554f, 0.584536f, 0.634222f, 0.68141f, 0.725919f, 0.767577f, 0.806221f, 0.841699f, 0.873871f, 0.902612f, 0.927809f, 0.949362f, 0.967178f, 0.98119f, 0.991349f, 0.997614f, 0.999962f, 0.998384f, 0.992886f, 0.983488f, 0.970228f, 0.953153f, 0.932324f, 0.907835f, 0.879781f, 0.848273f, 0.813433f, 0.775399f, 0.73432f, 0.690357f, 0.643681f, 0.594468f, 0.542921f, 0.489243f, 0.433644f, 0.376341f, 0.317561f, 0.257534f, 0.196495f, 0.134683f, 0.0723403f, 0.00971422f, -0.0529494f, -0.115405f, -0.177407f, -0.238712f, -0.299081f, -0.358275f, -0.416063f, -0.472213f, -0.526505f, -0.57873f, -0.628681f, -0.676164f, -0.720991f, -0.762987f, -0.801987f, -0.837839f, -0.870394f, -0.899523f, -0.92512f, -0.947083f, -0.965328f, -0.979782f, -0.990388f, -0.997105f, -0.999906f, -0.998777f, -0.993714f, -0.984748f, -0.971916f, -0.955267f, -0.934866f, -0.910795f, -0.883146f, -0.85203f, -0.817567f, -0.77988f, -0.739131f, -0.69548f, -0.649099f, -0.600168f, -0.548881f, -0.495437f, -0.440048f, -0.38293f, -0.324304f, -0.264403f, -0.203464f, -0.141727f, -0.079434f, -0.0168286f, 0.0458431f, 0.108335f, 0.170403f, 0.2318f, 0.292284f, 0.351621f, 0.409576f, 0.465922f, 0.520439f, 0.572913f, 0.623136f, 0.670914f, 0.716053f, 0.758373f, 0.797714f, 0.833922f, 0.866855f, 0.896385f, 0.922394f, 0.944781f, 0.963458f, 0.978351f, 0.989387f, 0.996538f, 0.999775f, 0.999087f, 0.994476f, 0.98596f, 0.973572f, 0.957361f, 0.93739f, 0.913724f, 0.886469f, 0.855733f, 0.821637f, 0.784315f, 0.743912f, 0.700589f, 0.654513f, 0.605867f, 0.554835f, 0.501622f, 0.446439f, 0.389503f, 0.331038f, 0.271273f, 0.210443f, 0.148785f, 0.0865431f, 0.0239599f, -0.0387172f, -0.101242f, -0.163368f, -0.224852f, -0.285454f, -0.344935f, -0.403061f, -0.459606f, -0.514344f, -0.567056f, -0.617541f, -0.6656f, -0.711045f, -0.753698f, -0.793391f, -0.829969f, -0.863288f, -0.893217f, -0.919624f, -0.94242f, -0.961514f, -0.976833f, -0.988315f, -0.995917f, -0.999608f, -0.999373f, -0.995214f, -0.987134f, -0.975174f, -0.959385f, -0.939829f, -0.916582f, -0.889735f, -0.859395f, -0.82568f, -0.788721f, -0.748659f, -0.705651f, -0.659873f, -0.611503f, -0.560733f, -0.507761f, -0.452794f, -0.396049f, -0.337748f, -0.278119f, -0.217394f, -0.155817f, -0.0936282f, -0.031072f, 0.0316062f, 0.0941603f, 0.156345f, 0.217917f, 0.278633f, 0.33825f, 0.396539f, 0.45327f, 0.508221f, 0.561176f, 0.611927f, 0.660275f, 0.706031f, 0.749015f, 0.789048f, 0.825979f, 0.859667f, 0.889979f, 0.916795f, 0.940012f, 0.959537f, 0.975295f, 0.987222f, 0.995263f, 0.999389f, 0.999592f, 0.995869f, 0.988236f, 0.976722f, 0.961372f, 0.942247f, 0.919422f, 0.89298f, 0.863023f, 0.829678f, 0.793074f, 0.753357f, 0.710681f, 0.665214f, 0.617135f, 0.566631f, 0.513901f, 0.459145f, 0.402587f, 0.344449f, 0.284958f, 0.224349f, 0.162858f, 0.100727f, 0.0382005f, -0.024477f, -0.087058f, -0.149296f, -0.210948f, -0.271771f, -0.331526f, -0.38998f, -0.446902f, -0.50207f, -0.555267f, -0.606277f, -0.654903f, -0.700957f, -0.744258f, -0.784636f, -0.821933f, -0.856003f, -0.886711f, -0.913938f, -0.937568f, -0.957509f, -0.973689f, -0.986046f, -0.994531f, -0.99911f, -0.999765f, -0.996495f, -0.989312f, -0.978239f, -0.963313f, -0.944604f, -0.922186f, -0.896147f, -0.866589f, -0.833628f, -0.797393f, -0.758026f, -0.715681f, -0.670515f, -0.622717f, -0.572474f, -0.519983f, -0.46545f, -0.409089f, -0.351121f, -0.291774f, -0.231281f, -0.169876f, -0.107804f, -0.0453092f, 0.017363f, 0.0799668f, 0.142257f, 0.203988f, 0.264919f, 0.32481f, 0.383423f, 0.440527f, 0.495901f, 0.549327f, 0.600595f, 0.649506f, 0.695865f, 0.739493f, 0.780217f, 0.817872f, 0.852308f, 0.883396f, 0.911014f, 0.935056f, 0.955425f, 0.972042f, 0.984843f, 0.993776f, 0.998804f, 0.999897f, 0.997063f, 0.990314f, 0.979677f, 0.965192f, 0.946917f, 0.924924f, 0.899298f, 0.87014f, 0.837553f, 0.801676f, 0.762651f, 0.720631f, 0.675782f, 0.628279f, 0.578308f, 0.526067f, 0.471758f, 0.415591f, 0.357791f, 0.298587f, 0.23821f, 0.176898f, 0.114891f, 0.0524331f, -0.0102313f, -0.0728562f, -0.135195f, -0.197001f, -0.258033f, -0.318051f, -0.37682f, -0.43411f, -0.489694f, -0.543356f, -0.594885f, -0.644076f, -0.69073f, -0.73467f, -0.775726f, -0.813735f, -0.848548f, -0.880029f, -0.908055f, -0.932515f, -0.953313f, -0.970352f, -0.98358f, -0.992946f, -0.998413f, -0.999959f, -0.997578f, -0.99128f, -0.981089f, -0.967045f, -0.949192f, -0.927607f, -0.902381f, -0.87361f, -0.84141f, -0.805905f, -0.767236f, -0.725553f, -0.68102f, -0.633807f, -0.584101f, -0.532101f, -0.478012f, -0.422047f, -0.364424f, -0.305369f, -0.245116f, -0.183899f, -0.121958f, -0.0595374f, 0.00311627f, 0.0657573f, 0.12814f, 0.190019f, 0.251152f, 0.311299f, 0.370225f, 0.427696f, 0.483482f, 0.537369f, 0.589144f, 0.638606f, 0.685561f, 0.729823f, 0.771219f, 0.809587f, 0.844777f, 0.876637f, 0.905052f, 0.929913f, 0.951123f, 0.968597f, 0.982267f, 0.992081f, 0.997999f, 0.999997f, 0.998059f, 0.992196f, 0.982437f, 0.96882f, 0.951399f, 0.930241f, 0.905431f, 0.877065f, 0.845254f, 0.810118f, 0.771793f, 0.730438f, 0.686216f, 0.639298f, 0.58987f, 0.538126f, 0.484268f, 0.428508f, 0.371062f, 0.312156f, 0.252024f, 0.190903f, 0.129032f, 0.0666551f, 0.00401614f, -0.0586389f, -0.121064f, -0.183015f, -0.244244f, -0.304513f, -0.363586f, -0.421231f, -0.477221f, -0.531338f, -0.583368f, -0.633108f, -0.680362f, -0.724936f, -0.766661f, -0.805374f, -0.840924f, -0.873172f, -0.901991f, -0.927268f, -0.948904f, -0.966814f, -0.980919f, -0.991165f, -0.997518f, -0.999954f, -0.998463f, -0.993051f, -0.98374f, -0.970565f, -0.953579f, -0.932844f, -0.908434f, -0.880458f, -0.849025f, -0.814257f, -0.776292f, -0.735279f, -0.691378f, -0.644761f, -0.595611f, -0.544114f, -0.49048f, -0.434921f, -0.377654f, -0.318904f, -0.258902f, -0.197883f, -0.136086f, -0.0737539f, -0.0111312f, 0.0515346f, 0.113997f, 0.176012f, 0.237336f, 0.297727f, 0.35695f, 0.414771f, 0.470964f, 0.525303f, 0.577576f, 0.62758f, 0.67512f, 0.720008f, 0.762068f, 0.801136f, 0.837059f, 0.869694f, 0.898909f, 0.924586f, 0.946631f, 0.964958f, 0.979497f, 0.990188f, 0.996992f, 0.99988f, 0.998843f, 0.99388f, 0.985002f, 0.972255f, 0.955691f, 0.935373f, 0.911383f, 0.883814f, 0.852774f, 0.818385f, 0.780782f, 0.7401f, 0.696513f, 0.65019f, 0.601315f, 0.550078f, 0.496681f, 0.441333f, 0.384252f, 0.325661f, 0.265788f, 0.204869f, 0.143147f, 0.0808638f, 0.0182627f, -0.0444101f, -0.106909f, -0.168988f, -0.230404f, -0.290914f, -0.350279f, -0.408268f, -0.464653f, -0.519214f, -0.571735f, -0.622011f, -0.669845f, -0.715049f, -0.757443f, -0.796852f, -0.833133f, -0.866141f, -0.895748f, -0.921837f, -0.944306f, -0.963067f, -0.978047f, -0.989185f, -0.996424f, -0.999749f, -0.999148f, -0.994624f, -0.986194f, -0.973892f, -0.957765f, -0.937876f, -0.914305f, -0.88713f, -0.85647f, -0.822447f, -0.785194f, -0.744858f, -0.701597f, -0.655581f, -0.60699f, -0.556015f, -0.50285f, -0.447708f, -0.390809f, -0.332375f, -0.272636f, -0.211827f, -0.150186f, -0.0879541f, -0.0253765f, 0.0373015f, 0.0998322f, 0.16197f, 0.223472f, 0.284095f, 0.343603f, 0.401762f, 0.458344f, 0.513126f, 0.565893f, 0.616429f, 0.664544f, 0.710049f, 0.752765f, 0.792526f, 0.829174f, 0.862567f, 0.892572f, 0.919073f, 0.94195f, 0.961128f, 0.976531f, 0.988099f, 0.995787f, 0.999564f, 0.999417f, 0.995345f, 0.987365f, 0.975496f, 0.959792f, 0.940319f, 0.917154f, 0.890387f, 0.860124f, 0.826483f, 0.789596f, 0.749608f, 0.706671f, 0.660953f, 0.612639f, 0.561921f, 0.508995f, 0.454071f, 0.397364f, 0.339096f, 0.279495f, 0.218796f, 0.157234f, 0.0950564f, 0.0325056f, -0.0301725f, -0.0927321f, -0.154928f, -0.216515f, -0.277253f, -0.336903f, -0.395224f, -0.451993f, -0.506986f, -0.559988f, -0.610791f, -0.659195f, -0.705011f, -0.748059f, -0.78817f, -0.825175f, -0.858937f, -0.889326f, -0.916222f, -0.93952f, -0.959129f, -0.974972f, -0.986986f, -0.995124f, -0.999345f, -0.999635f, -0.996f, -0.988453f, -0.977024f, -0.961759f, -0.942717f, -0.919973f, -0.893616f, -0.863745f, -0.830473f, -0.79394f, -0.754289f, -0.711677f, -0.66627f, -0.618247f, -0.567795f, -0.515113f, -0.460407f, -0.403886f, -0.34578f, -0.286317f, -0.225729f, -0.164255f, -0.102137f, -0.0396162f, 0.0230602f, 0.0856468f, 0.147896f, 0.209563f, 0.270407f, 0.330189f, 0.388674f, 0.445632f, 0.500841f, 0.554084f, 0.605151f, 0.653836f, 0.699949f, 0.743313f, 0.783758f, 0.821125f, 0.855267f, 0.886051f, 0.913355f, 0.937074f, 0.957106f, 0.97337f, 0.985812f, 0.994383f, 0.999049f, 0.999792f, 0.996609f, 0.989513f, 0.978531f, 0.963703f, 0.945078f, 0.922742f, 0.896783f, 0.867303f, 0.834416f, 0.798253f, 0.758955f, 0.716677f, 0.671583f, 0.623842f, 0.573651f, 0.521208f, 0.466719f, 0.410396f, 0.352462f, 0.293144f, 0.232674f, 0.17129f, 0.10923f, 0.0467422f, -0.0159289f, -0.078537f, -0.140836f, -0.202583f, -0.263534f, -0.323451f, -0.382098f, -0.439242f, -0.494657f, -0.548129f, -0.599449f, -0.648414f, -0.694833f, -0.738523f, -0.779314f, -0.817044f, -0.851563f, -0.882727f, -0.910425f, -0.934548f, -0.955f, -0.971703f, -0.984589f, -0.993609f, -0.998728f, -0.999923f, -0.997176f, -0.990514f, -0.979962f, -0.965563f, -0.947371f, -0.925459f, -0.899913f, -0.870832f, -0.838332f, -0.802528f, -0.763571f, -0.721615f, -0.676826f, -0.62938f, -0.579462f, -0.527268f, -0.473004f, -0.416881f, -0.359116f, -0.29994f, -0.239586f, -0.178292f, -0.116299f, -0.0538479f, 0.00881435f, 0.0714425f, 0.133791f, 0.195613f, 0.256665f, 0.316709f, 0.375508f, 0.432832f, 0.488457f, 0.542164f, 0.593742f, 0.642989f, 0.68971f, 0.733712f, 0.774834f, 0.812912f, 0.847797f, 0.879353f, 0.907457f, 0.931997f, 0.952877f, 0.970015f, 0.98333f, 0.992782f, 0.998335f, 0.999968f, 0.997675f, 0.991464f, 0.98136f, 0.967402f, 0.949644f, 0.928147f, 0.903001f, 0.874309f, 0.842184f, 0.806752f, 0.768151f, 0.726535f, 0.682065f, 0.634916f, 0.585268f, 0.533318f, 0.479273f, 0.423347f, 0.365759f, 0.306734f, 0.246505f, 0.185307f, 0.123381f, 0.0609696f, -0.00168194f, -0.0643262f, -0.126717f, -0.18861f, -0.249763f, -0.309935f, -0.36889f, -0.426397f, -0.48223f, -0.536161f, -0.587987f, -0.637503f, -0.684516f, -0.72884f, -0.770302f, -0.80874f, -0.844002f, -0.87595f, -0.904447f, -0.929389f, -0.950681f, -0.96824f, -0.981996f, -0.991897f, -0.997902f, -0.999988f, -0.998148f, -0.992379f, -0.982706f, -0.969173f, -0.951836f, -0.93076f, -0.90603f, -0.877741f, -0.846006f, -0.810947f, -0.7727f, -0.73141f, -0.687248f, -0.640388f, -0.591014f, -0.539318f, -0.485505f, -0.429785f, -0.372376f, -0.313504f, -0.253396f, -0.192294f, -0.130437f, -0.0680689f, -0.00543313f, 0.0572241f, 0.119657f, 0.18162f, 0.242871f, 0.303165f, 0.362267f, 0.419946f, 0.475976f, 0.530136f, 0.582215f, 0.632007f, 0.679318f, 0.723962f, 0.765755f, 0.804537f, 0.840159f, 0.872481f, 0.901377f, 0.926734f, 0.948451f, 0.966444f, 0.980642f, 0.990982f, 0.997422f, 0.999945f, 0.998542f, 0.993217f, 0.983993f, 0.970904f, 0.954003f, 0.933355f, 0.909039f, 0.881141f, 0.849783f, 0.815089f, 0.777194f, 0.736248f, 0.69241f, 0.645853f, 0.596759f, 0.545321f, 0.491732f, 0.436214f, 0.378982f, 0.320263f, 0.260287f, 0.199288f, 0.137506f, 0.0751837f, 0.0125655f, -0.0501024f, -0.112573f, -0.1746f, -0.235942f, -0.296357f, -0.355608f, -0.413463f, -0.469695f, -0.524083f, -0.576408f, -0.626466f, -0.674063f, -0.719012f, -0.761138f, -0.800275f, -0.836269f, -0.86898f, -0.898278f, -0.924045f, -0.946172f, -0.964584f, -0.979208f, -0.989987f, -0.996878f, -0.999854f, -0.998904f, -0.994031f, -0.985253f, -0.972592f, -0.956111f, -0.935876f, -0.911966f, -0.884475f, -0.853511f, -0.819194f, -0.781661f, -0.741057f, -0.697533f, -0.651269f, -0.602448f, -0.551261f, -0.49791f, -0.442603f, -0.385558f, -0.326998f, -0.267154f, -0.206258f, -0.14455f, -0.0822763f, -0.0196795f, 0.0429944f, 0.105499f, 0.16759f, 0.229024f, 0.289558f, 0.348954f, 0.406976f, 0.4634f, 0.518003f, 0.570571f, 0.620899f, 0.668789f, 0.714053f, 0.756514f, 0.796001f, 0.832353f, 0.865435f, 0.895118f, 0.921287f, 0.943837f, 0.962681f, 0.977745f, 0.988969f, 0.99631f, 0.999723f, 0.99921f, 0.994773f, 0.98643f, 0.974214f, 0.958172f, 0.938367f, 0.914877f, 0.887794f, 0.857214f, 0.823265f, 0.786083f, 0.745814f, 0.702617f, 0.656661f, 0.608126f, 0.557202f, 0.50409f, 0.448993f, 0.392131f, 0.333729f, 0.274016f, 0.213228f, 0.151603f, 0.0893824f, 0.0268101f, -0.035868f, -0.0984057f, -0.160556f, -0.222074f, -0.28272f, -0.342256f, -0.400447f, -0.457067f, -0.511891f, -0.564706f, -0.615304f, -0.663475f, -0.709041f, -0.751822f, -0.79165f, -0.82837f, -0.861837f, -0.891919f, -0.918499f, -0.941473f, -0.960737f, -0.976225f, -0.98788f, -0.995655f, -0.99952f, -0.99946f, -0.995476f, -0.987582f, -0.97581f, -0.960196f, -0.940806f, -0.917721f, -0.891033f, -0.860846f, -0.827278f, -0.790462f, -0.750541f, -0.707673f, -0.66202f, -0.613762f, -0.563094f, -0.510215f, -0.455333f, -0.398663f, -0.340427f, -0.280854f, -0.220177f, -0.158635f, -0.0964675f, -0.033922f, 0.0287561f, 0.0913211f, 0.153527f, 0.215131f, 0.27589f, 0.335566f, 0.393925f, 0.450731f, 0.505766f, 0.558814f, 0.609668f, 0.658128f, 0.704003f, 0.747114f, 0.787291f, 0.824377f, 0.858216f, 0.888681f, 0.915656f, 0.939035f, 0.958726f, 0.974653f, 0.986752f, 0.994976f, 0.999294f, 0.999679f, 0.996131f, 0.988671f, 0.977329f, 0.962149f, 0.943191f, 0.920529f, 0.894253f, 0.864464f, 0.831276f, 0.794815f, 0.755232f, 0.712684f, 0.667338f, 0.619372f, 0.568973f, 0.516339f, 0.461677f, 0.405201f, 0.347128f, 0.287692f, 0.227127f, 0.16567f, 0.103563f, 0.0410493f, -0.0216261f, -0.084217f, -0.146478f, -0.208162f, -0.269027f, -0.328835f, -0.387352f, -0.444347f, -0.499598f, -0.552886f, -0.604005f, -0.652751f, -0.698929f, -0.742356f, -0.782868f, -0.820306f, -0.854522f, -0.885382f, -0.912766f, -0.936566f, -0.956688f, -0.973047f, -0.985576f, -0.994234f, -0.998987f, -0.999818f, -0.996722f, -0.989713f, -0.978817f, -0.964076f, -0.945548f, -0.923294f, -0.897414f, -0.86801f, -0.835197f, -0.799105f, -0.759875f, -0.717661f, -0.672628f, -0.624953f, -0.574815f, -0.522419f, -0.467972f, -0.411688f, -0.353788f, -0.294497f, -0.234051f, -0.172684f, -0.110639f, -0.0481579f, 0.0145121f, 0.0771245f, 0.139434f, 0.201195f, 0.262166f, 0.322108f, 0.380786f, 0.437968f, 0.493429f, 0.546946f, 0.598316f, 0.647335f, 0.693812f, 0.737565f, 0.778421f, 0.816221f, 0.850816f, 0.882067f, 0.909843f, 0.934046f, 0.954581f, 0.971367f, 0.984338f, 0.993444f, 0.998649f, 0.999933f, 0.99729f, 0.990716f, 0.98025f, 0.965936f, 0.947828f, 0.925999f, 0.900533f, 0.871531f, 0.839106f, 0.803385f, 0.7645f, 0.72261f, 0.677883f, 0.630494f, 0.58063f, 0.528485f, 0.474264f, 0.418181f, 0.360455f, 0.30131f, 0.24098f, 0.179704f, 0.117723f, 0.0552801f, -0.00738002f, -0.0700114f, -0.132368f, -0.194206f, -0.25528f, -0.315349f, -0.374179f, -0.43154f, -0.487205f, -0.540957f, -0.592585f, -0.641886f, -0.688667f, -0.732743f, -0.77393f, -0.812078f, -0.847037f, -0.87867f, -0.906851f, -0.931472f, -0.952435f, -0.969658f, -0.983074f, -0.992615f, -0.998256f, -0.999977f, -0.997771f, -0.991646f, -0.981628f, -0.967755f, -0.950082f, -0.928677f, -0.903616f, -0.875001f, -0.84295f, -0.80759f, -0.769058f, -0.727506f, -0.683097f, -0.636006f, -0.586416f, -0.534519f, -0.480519f, -0.424632f, -0.367078f, -0.308082f, -0.247877f, -0.186699f, -0.124786f, -0.0623837f, 0.000264951f, 0.0629124f, 0.125312f, 0.187219f, 0.248391f, 0.308587f, 0.367571f, 0.425112f, 0.480985f, 0.534969f, 0.586844f, 0.636413f, 0.683484f, 0.727869f, 0.769397f, 0.807903f, 0.843237f, 0.875259f, 0.903845f, 0.928871f, 0.950245f, 0.967887f, 0.981728f, 0.991715f, 0.997806f, 0.99998f, 0.998227f, 0.992555f, 0.982976f, 0.96953f, 0.952276f, 0.931284f, 0.906634f, 0.878424f, 0.846765f, 0.81178f, 0.773607f, 0.732392f, 0.688293f, 0.641491f, 0.592171f, 0.540525f, 0.486757f, 0.431078f, 0.373705f, 0.314864f, 0.254785f, 0.193703f, 0.13186f, 0.0695f, 0.00686746f, -0.0557919f, -0.118232f, -0.180209f, -0.241478f, -0.3018f, -0.360932f, -0.418646f, -0.474715f, -0.52892f, -0.581047f, -0.630893f, -0.678261f, -0.722966f, -0.764833f, -0.803689f, -0.839384f, -0.871782f, -0.900756f, -0.926193f, -0.947993f, -0.96607f, -0.980354f, -0.990788f, -0.997325f, -0.999936f, -0.99862f, -0.993383f, -0.984244f, -0.971241f, -0.954424f, -0.933858f, -0.909625f, -0.881818f, -0.850535f, -0.815913f, -0.778087f, -0.737206f, -0.693431f, -0.646932f, -0.597892f, -0.546504f, -0.492969f, -0.437491f, -0.380295f, -0.321606f, -0.261655f, -0.200676f, -0.138909f, -0.0765962f, -0.0139823f, 0.0486873f, 0.111165f, 0.173206f, 0.234565f, 0.295004f, 0.354283f, 0.412171f, 0.468441f, 0.522872f, 0.57525f, 0.625365f, 0.673019f, 0.718029f, 0.760219f, 0.799424f, 0.835489f, 0.868274f, 0.897649f, 0.923499f, 0.94572f, 0.964215f, 0.978923f, 0.989787f, 0.996765f, 0.999828f, 0.998965f, 0.99418f, 0.985491f, 0.972931f, 0.956535f, 0.936383f, 0.912555f, 0.885143f, 0.854255f, 0.820012f, 0.78255f, 0.742014f, 0.698563f, 0.65236f, 0.603594f, 0.552459f, 0.499153f, 0.443888f, 0.38688f, 0.328352f, 0.268534f, 0.207661f, 0.145971f, 0.0837061f, 0.0211136f, -0.0415614f, -0.104073f, -0.166176f, -0.227626f, -0.288183f, -0.347609f, -0.405669f, -0.46213f, -0.516777f, -0.569394f, -0.619774f, -0.667721f, -0.713045f, -0.75557f, -0.795128f, -0.831563f, -0.86472f, -0.894481f, -0.92073f, -0.943362f, -0.96229f, -0.977439f, -0.98875f, -0.996178f, -0.999695f, -0.999271f, -0.994921f, -0.986665f, -0.974533f, -0.958575f, -0.938853f, -0.915444f, -0.88844f, -0.857946f, -0.824074f, -0.786962f, -0.74676f, -0.703626f, -0.657728f, -0.609248f, -0.558376f, -0.50531f, -0.450259f, -0.393436f, -0.335066f, -0.27538f, -0.214613f, -0.153004f, -0.0907934f, -0.0282265f, 0.0344517f, 0.0969951f, 0.159158f, 0.220694f, 0.281362f, 0.340925f, 0.399149f, 0.455805f, 0.510671f, 0.563533f, 0.614182f, 0.662419f, 0.708045f, 0.75089f, 0.790785f, 0.827576f, 0.861116f, 0.891274f, 0.917933f, 0.940987f, 0.960347f, 0.975923f, 0.987663f, 0.995525f, 0.999477f, 0.999504f, 0.995607f, 0.987801f, 0.976115f, 0.960596f, 0.941296f, 0.918293f, 0.891685f, 0.861575f, 0.828082f, 0.791337f, 0.751484f, 0.70868f, 0.663093f, 0.614898f, 0.564282f, 0.51145f, 0.45661f, 0.399978f, 0.341774f, 0.282229f, 0.221575f, 0.16005f, 0.0978957f, 0.0353557f, -0.0273225f, -0.0898928f, -0.15211f, -0.213729f, -0.27451f, -0.334212f, -0.392603f, -0.449453f, -0.504531f, -0.557627f, -0.608532f, -0.657047f, -0.702982f, -0.746157f, -0.786402f, -0.823558f, -0.857481f, -0.888028f, -0.915083f, -0.938543f, -0.958318f, -0.97433f, -0.986515f, -0.994827f, -0.999232f, -0.999713f, -0.996262f, -0.988888f, -0.977632f, -0.962537f, -0.943662f, -0.921081f, -0.894883f, -0.865171f, -0.832061f, -0.79568f, -0.756165f, -0.713681f, -0.668394f, -0.620484f, -0.570136f, -0.51755f, -0.462931f, -0.406493f, -0.348459f, -0.28905f, -0.228507f, -0.167068f, -0.104972f, -0.042465f, 0.0202093f, 0.0828045f, 0.145075f, 0.206777f, 0.267664f, 0.327498f, 0.386046f, 0.443078f, 0.498369f, 0.551703f, 0.602872f, 0.651673f, 0.697915f, 0.741411f, 0.78199f, 0.819497f, 0.853786f, 0.884722f, 0.912184f, 0.936064f, 0.956268f, 0.972717f, 0.985342f, 0.994086f, 0.998927f, 0.999844f, 0.996836f, 0.989914f, 0.979104f, 0.96445f, 0.946008f, 0.92385f, 0.89805f, 0.868723f, 0.835986f, 0.799966f, 0.760805f, 0.718656f, 0.673684f, 0.626067f, 0.575991f, 0.523645f, 0.469241f, 0.412996f, 0.355129f, 0.295867f, 0.235444f, 0.174096f, 0.112064f, 0.0495906f, -0.013078f, -0.0756947f, -0.138013f, -0.19979f, -0.260781f, -0.320749f, -0.379457f, -0.436676f, -0.49218f, -0.545749f, -0.597169f, -0.646243f, -0.69278f, -0.736595f, -0.777518f, -0.815388f, -0.850056f, -0.881386f, -0.909254f, -0.933538f, -0.954156f, -0.971027f, -0.984084f, -0.993277f, -0.99857f, -0.999942f, -0.997386f, -0.990914f, -0.980536f, -0.966306f, -0.948282f, -0.926534f, -0.901148f, -0.872223f, -0.839872f, -0.804223f, -0.765416f, -0.723594f, -0.678927f, -0.631595f, -0.581783f, -0.529687f, -0.47551f, -0.419466f, -0.361774f, -0.302661f, -0.242357f, -0.181099f, -0.119131f, -0.056695f, 0.00596303f, 0.0685976f, 0.130963f, 0.192814f, 0.253909f, 0.314007f, 0.372867f, 0.430262f, 0.485968f, 0.539764f, 0.591441f, 0.640796f, 0.687634f, 0.731773f, 0.773038f, 0.811255f, 0.846287f, 0.877994f, 0.906253f, 0.930954f, 0.951999f, 0.969305f, 0.982806f, 0.992447f, 0.998178f, 0.999985f, 0.997867f, 0.99183f, 0.981899f, 0.968111f, 0.950522f, 0.9292f, 0.904229f, 0.875699f, 0.843724f, 0.808436f, 0.769974f, 0.728488f, 0.684142f, 0.637109f, 0.587573f, 0.53573f, 0.48178f, 0.425932f, 0.368413f, 0.309447f, 0.249267f, 0.188107f, 0.126209f, 0.0638148f, 0.00116938f, -0.0614813f, -0.12389f, -0.185811f, -0.247001f, -0.307222f, -0.366236f, -0.423812f, -0.479724f, -0.533752f, -0.585685f, -0.63531f, -0.682439f, -0.726887f, -0.76848f, -0.807055f, -0.842462f, -0.87456f, -0.903224f, -0.928341f, -0.949803f, -0.96753f, -0.981457f, -0.99153f, -0.99771f, -0.999971f, -0.998306f, -0.99272f, -0.983236f, -0.969883f, -0.952714f, -0.931803f, -0.907233f, -0.879101f, -0.847516f, -0.812604f, -0.7745f, -0.733354f, -0.689325f, -0.642581f, -0.593314f, -0.541718f, -0.487995f, -0.432355f, -0.375017f, -0.316206f, -0.256154f, -0.195094f, -0.133265f, -0.0709138f, -0.00828444f, 0.054377f, 0.116825f, 0.178814f, 0.240101f, 0.300446f, 0.359612f, 0.417361f, 0.473469f, 0.527718f, 0.579893f, 0.629792f, 0.677217f, 0.721983f, 0.763914f, 0.802846f, 0.838618f, 0.871091f, 0.900142f, 0.925659f, 0.94754f, 0.965701f, 0.980069f, 0.990589f, 0.997219f, 0.999927f, 0.998699f, 0.993549f, 0.984498f, 0.97158f, 0.954847f, 0.934365f, 0.910213f, 0.882487f, 0.851294f, 0.816745f, 0.77899f, 0.738176f, 0.694463f, 0.648023f, 0.599038f, 0.547701f, 0.494213f, 0.438783f, 0.381623f, 0.322965f, 0.263039f, 0.202081f, 0.140329f, 0.078026f, 0.0154164f, -0.0472543f, -0.10974f, -0.171794f, -0.233172f, -0.293634f, -0.352942f, -0.410864f, -0.467172f, -0.521646f, -0.574072f, -0.624245f, -0.671962f, -0.717033f, -0.759289f, -0.798562f, -0.8347f, -0.867559f, -0.897012f, -0.922942f, -0.945249f, -0.963841f, -0.978635f, -0.989586f, -0.99665f, -0.999801f, -0.999026f, -0.994328f, -0.985725f, -0.973251f, -0.956955f, -0.936886f, -0.913138f, -0.885804f, -0.854992f, -0.820822f, -0.783429f, -0.742959f, -0.699572f, -0.653437f, -0.604728f, -0.553642f, -0.500382f, -0.445158f, -0.388186f, -0.329689f, -0.269897f, -0.209046f, -0.147372f, -0.0851186f, -0.0225304f, 0.0401457f, 0.102664f, 0.164778f, 0.226246f, 0.286825f, 0.346278f, 0.404372f, 0.460877f, 0.515566f, 0.56823f, 0.618662f, 0.666665f, 0.71205f, 0.754638f, 0.794263f, 0.83077f, 0.864014f, 0.893852f, 0.920179f, 0.942893f, 0.961904f, 0.977137f, 0.988534f, 0.996048f, 0.999651f, 0.999329f, 0.99507f, 0.986901f, 0.974856f, 0.958983f, 0.939344f, 0.916016f, 0.889092f, 0.858675f, 0.824887f, 0.787851f, 0.747716f, 0.704646f, 0.658808f, 0.610384f, 0.559563f, 0.506545f, 0.451536f, 0.394754f, 0.336419f, 0.27676f, 0.216014f, 0.154421f, 0.0922217f, 0.0296602f, -0.033018f, -0.0955668f, -0.157741f, -0.219296f, -0.279987f, -0.339577f, -0.397834f, -0.454528f, -0.509437f, -0.562345f, -0.613046f, -0.661339f, -0.707036f, -0.749946f, -0.78991f, -0.826771f, -0.860386f, -0.890622f, -0.91736f, -0.940496f, -0.959939f, -0.975613f, -0.987444f, -0.995393f, -0.999433f, -0.999548f, -0.995738f, -0.988018f, -0.976418f, -0.960983f, -0.941775f, -0.918861f, -0.892331f, -0.862297f, -0.828877f, -0.792202f, -0.752417f, -0.709676f, -0.664149f, -0.616013f, -0.565455f, -0.51267f, -0.457872f, -0.401277f, -0.343106f, -0.283587f, -0.222955f, -0.161448f, -0.0993052f, -0.036772f, 0.0259061f, 0.0884817f, 0.150709f, 0.212345f, 0.273146f, 0.332875f, 0.391297f, 0.448183f, 0.50331f, 0.556453f, 0.60741f, 0.65598f, 0.701974f, 0.745212f, 0.785523f, 0.822749f, 0.856745f, 0.887377f, 0.914517f, 0.938058f, 0.957915f, 0.974011f, 0.986282f, 0.994679f, 0.999171f, 0.999739f, 0.996382f, 0.989107f, 0.977937f, 0.962927f, 0.944135f, 0.921637f, 0.895519f, 0.865884f, 0.832849f, 0.796544f, 0.757108f, 0.714688f, 0.669463f, 0.621609f, 0.571314f, 0.518776f, 0.4642f, 0.407801f, 0.3498f, 0.290425f, 0.229905f, 0.168482f, 0.106399f, 0.043898f, -0.0187752f, -0.0813747f, -0.143655f, -0.205372f, -0.266282f, -0.326145f, -0.384724f, -0.441793f, -0.497125f, -0.550506f, -0.601725f, -0.650581f, -0.696882f, -0.740448f, -0.7811f, -0.818678f, -0.853041f, -0.884054f, -0.911595f, -0.935556f, -0.955843f, -0.972377f, -0.985093f, -0.993937f, -0.998865f, -0.99987f, -0.99695f, -0.990114f, -0.97939f, -0.96482f, -0.946461f, -0.924386f, -0.89868f, -0.86943f, -0.836767f, -0.800818f, -0.761724f, -0.71964f, -0.674729f, -0.627168f, -0.577145f, -0.524854f, -0.470495f, -0.414288f, -0.356454f, -0.297221f, -0.236821f, -0.175491f, -0.113471f, -0.0510055f, 0.0116611f, 0.0742822f, 0.136611f, 0.198402f, 0.259413f, 0.319406f, 0.378145f, 0.435398f, 0.490943f, 0.54456f, 0.596036f, 0.645165f, 0.691759f, 0.735637f, 0.776626f, 0.814565f, 0.849305f, 0.880711f, 0.908658f, 0.933036f, 0.953736f, 0.970691f, 0.983834f, 0.993113f, 0.998492f, 0.99995f, 0.997483f, 0.991098f, 0.980821f, 0.966679f, 0.948739f, 0.927074f, 0.901768f, 0.872921f, 0.840646f, 0.80507f, 0.766332f, 0.724584f, 0.679984f, 0.632709f, 0.582951f, 0.530903f, 0.476771f, 0.420766f, 0.363109f, 0.304026f, 0.243748f, 0.182511f, 0.120555f, 0.0581271f, -0.0045287f, -0.0671665f, -0.12954f, -0.191406f, -0.25252f, -0.312643f, -0.371538f, -0.42897f, -0.484715f, -0.538557f, -0.590284f, -0.639693f, -0.68659f, -0.73079f, -0.772122f, -0.810422f, -0.845527f, -0.87731f, -0.905648f, -0.93043f, -0.951557f, -0.968948f, -0.982535f, -0.992262f, -0.998094f, -0.999994f, -0.997963f, -0.992013f, -0.982167f, -0.968465f, -0.950959f, -0.929719f, -0.904828f, -0.876384f, -0.84449f, -0.809274f, -0.77088f, -0.72946f, -0.685174f, -0.638199f, -0.588717f, -0.536923f, -0.483019f, -0.427217f, -0.369732f, -0.310795f, -0.250639f, -0.189499f, -0.127614f, -0.0652285f, -0.00258636f, 0.0600665f, 0.122484f, 0.184419f, 0.245629f, 0.305874f, 0.364917f, 0.422527f, 0.478478f, 0.53255f, 0.584532f, 0.634219f, 0.681406f, 0.725916f, 0.767574f, 0.806218f, 0.841696f, 0.873869f, 0.90261f, 0.927807f, 0.949361f, 0.967177f, 0.981189f, 0.991348f, 0.997614f, 0.999962f, 0.998385f, 0.992886f, 0.983489f, 0.97023f, 0.953154f, 0.932326f, 0.907837f, 0.879784f, 0.848275f, 0.813436f, 0.775402f, 0.734323f, 0.69036f, 0.643684f, 0.594471f, 0.542925f, 0.489247f, 0.433648f, 0.376346f, 0.317566f, 0.257538f, 0.196499f, 0.134687f, 0.0723448f, 0.00971877f, -0.0529449f, -0.1154f, -0.177402f, -0.238708f, -0.299076f, -0.358271f, -0.416059f, -0.472209f, -0.526501f, -0.578726f, -0.628677f, -0.67616f, -0.720988f, -0.762984f, -0.801985f, -0.837836f, -0.870392f, -0.899521f, -0.925118f, -0.947082f, -0.965327f, -0.979781f, -0.990387f, -0.997104f, -0.999906f, -0.998778f, -0.993714f, -0.984749f, -0.971917f, -0.955268f, -0.934868f, -0.910797f, -0.883149f, -0.852032f, -0.817569f, -0.779883f, -0.739134f, -0.695484f, -0.649102f, -0.600172f, -0.548884f, -0.495441f, -0.440052f, -0.382935f, -0.324308f, -0.264407f, -0.203469f, -0.141732f, -0.0794385f, -0.0168332f, 0.0458386f, 0.108331f, 0.170398f, 0.231795f, 0.29228f, 0.351617f, 0.409572f, 0.465918f, 0.520435f, 0.572909f, 0.623133f, 0.67091f, 0.71605f, 0.75837f, 0.797711f, 0.83392f, 0.866853f, 0.896383f, 0.922392f, 0.94478f, 0.963457f, 0.97835f, 0.989386f, 0.996537f, 0.999775f, 0.999088f, 0.994477f, 0.985961f, 0.973573f, 0.957362f, 0.937391f, 0.913726f, 0.886471f, 0.855736f, 0.82164f, 0.784318f, 0.743915f, 0.700592f, 0.654517f, 0.605871f, 0.554839f, 0.501626f, 0.446443f, 0.389507f, 0.331042f, 0.271277f, 0.210447f, 0.14879f, 0.0865476f, 0.0239645f, -0.0387126f, -0.101237f, -0.163363f, -0.224848f, -0.28545f, -0.34493f, -0.403057f, -0.459602f, -0.51434f, -0.567052f, -0.617537f, -0.665596f, -0.711042f, -0.753695f, -0.793388f, -0.829966f, -0.863285f, -0.893215f, -0.919622f, -0.942418f, -0.961513f, -0.976832f, -0.988315f, -0.995916f, -0.999607f, -0.999373f, -0.995214f, -0.987135f, -0.975175f, -0.959386f, -0.93983f, -0.916584f, -0.889737f, -0.859397f, -0.825682f, -0.788724f, -0.748662f, -0.705654f, -0.659876f, -0.611507f, -0.560737f, -0.507764f, -0.452798f, -0.396053f, -0.337752f, -0.278123f, -0.217399f, -0.155821f, -0.0936327f, -0.0310765f, 0.0316016f, 0.0941558f, 0.156341f, 0.217912f, 0.278628f, 0.338246f, 0.396535f, 0.453266f, 0.508217f, 0.561172f, 0.611923f, 0.660272f, 0.706028f, 0.749012f, 0.789045f, 0.825977f, 0.859665f, 0.889977f, 0.916794f, 0.94001f, 0.959536f, 0.975294f, 0.987221f, 0.995263f, 0.999389f, 0.999592f, 0.995869f, 0.988236f, 0.976723f, 0.961373f, 0.942249f, 0.919424f, 0.892982f, 0.863026f, 0.82968f, 0.793077f, 0.75336f, 0.710684f, 0.665217f, 0.617138f, 0.566635f, 0.513905f, 0.459149f, 0.402591f, 0.344453f, 0.284963f, 0.224353f, 0.162862f, 0.100732f, 0.0382051f, -0.0244724f, -0.0870535f, -0.149292f, -0.210943f, -0.271766f, -0.331522f, -0.389975f, -0.446898f, -0.502066f, -0.555263f, -0.606273f, -0.6549f, -0.700954f, -0.744255f, -0.784634f, -0.821931f, -0.856001f, -0.886709f, -0.913936f, -0.937566f, -0.957507f, -0.973688f, -0.986045f, -0.99453f, -0.99911f, -0.999766f, -0.996496f, -0.989312f, -0.97824f, -0.963314f, -0.944606f, -0.922188f, -0.896149f, -0.866591f, -0.83363f, -0.797395f, -0.758029f, -0.715685f, -0.670519f, -0.622721f, -0.572477f, -0.519986f, -0.465454f, -0.409093f, -0.351125f, -0.291778f, -0.231285f, -0.16988f, -0.107808f, -0.0453137f, 0.0173584f, 0.0799622f, 0.142252f, 0.203984f, 0.264914f, 0.324806f, 0.383419f, 0.440523f, 0.495897f, 0.549323f, 0.600592f, 0.649502f, 0.695862f, 0.73949f, 0.780214f, 0.81787f, 0.852305f, 0.883394f, 0.911013f, 0.935054f, 0.955424f, 0.972041f, 0.984842f, 0.993775f, 0.998804f, 0.999897f, 0.997064f, 0.990315f, 0.979678f, 0.965193f, 0.946919f, 0.924925f, 0.8993f, 0.870143f, 0.837555f, 0.801678f, 0.762654f, 0.720634f, 0.675785f, 0.628282f, 0.578312f, 0.52607f, 0.471762f, 0.415596f, 0.357795f, 0.298591f, 0.238214f, 0.176902f, 0.114896f, 0.0524376f, -0.0102268f, -0.0728517f, -0.13519f, -0.196997f, -0.258029f, -0.318047f, -0.376816f, -0.434106f, -0.48969f, -0.543353f, -0.594882f, -0.644073f, -0.690727f, -0.734667f, -0.775723f, -0.813732f, -0.848545f, -0.880027f, -0.908053f, -0.932513f, -0.953311f, -0.970351f, -0.98358f, -0.992946f, -0.998413f, -0.999959f, -0.997579f, -0.991281f, -0.98109f, -0.967046f, -0.949193f, -0.927609f, -0.902383f, -0.873613f, -0.841412f, -0.805908f, -0.767238f, -0.725556f, -0.681023f, -0.633811f, -0.584104f, -0.532105f, -0.478016f, -0.422051f, -0.364428f, -0.305374f, -0.24512f, -0.183903f, -0.121963f, -0.059542f, 0.00311171f, 0.0657527f, 0.128135f, 0.190014f, 0.251148f, 0.311295f, 0.370221f, 0.427692f, 0.483478f, 0.537365f, 0.589141f, 0.638603f, 0.685557f, 0.72982f, 0.771216f, 0.809585f, 0.844774f, 0.876634f, 0.90505f, 0.929912f, 0.951121f, 0.968596f, 0.982267f, 0.99208f, 0.997998f, 0.999997f, 0.998059f, 0.992197f, 0.982438f, 0.968821f, 0.9514f, 0.930243f, 0.905433f, 0.877067f, 0.845256f, 0.810121f, 0.771796f, 0.730442f, 0.686219f, 0.639302f, 0.589874f, 0.53813f, 0.484272f, 0.428512f, 0.371067f, 0.31216f, 0.252028f, 0.190907f, 0.129037f, 0.0666596f, 0.00402069f, -0.0586344f, -0.12106f, -0.183011f, -0.24424f, -0.304509f, -0.363582f, -0.421227f, -0.477217f, -0.531334f, -0.583364f, -0.633104f, -0.680359f, -0.724933f, -0.766658f, -0.805371f, -0.840922f, -0.87317f, -0.901989f, -0.927266f, -0.948903f, -0.966813f, -0.980918f, -0.991164f, -0.997517f, -0.999954f, -0.998463f, -0.993052f, -0.98374f, -0.970566f, -0.95358f, -0.932845f, -0.908436f, -0.88046f, -0.849027f, -0.81426f, -0.776295f, -0.735282f, -0.691381f, -0.644765f, -0.595615f, -0.544118f, -0.490484f, -0.434925f, -0.377658f, -0.318908f, -0.258906f, -0.197887f, -0.13609f, -0.0737585f, -0.0111358f, 0.05153f, 0.113993f, 0.176008f, 0.237331f, 0.297723f, 0.356945f, 0.414767f, 0.47096f, 0.525299f, 0.577572f, 0.627577f, 0.675116f, 0.720004f, 0.762065f, 0.801134f, 0.837056f, 0.869692f, 0.898907f, 0.924584f, 0.946629f, 0.964957f, 0.979496f, 0.990188f, 0.996991f, 0.99988f, 0.998843f, 0.993881f, 0.985002f, 0.972256f, 0.955692f, 0.935375f, 0.911385f, 0.883816f, 0.852776f, 0.818387f, 0.780784f, 0.740103f, 0.696516f, 0.650194f, 0.601318f, 0.550082f, 0.496685f, 0.441337f, 0.384256f, 0.325666f, 0.265792f, 0.204874f, 0.143152f, 0.0808683f, 0.0182673f, -0.0444055f, -0.106904f, -0.168984f, -0.2304f, -0.29091f, -0.350275f, -0.408264f, -0.464649f, -0.51921f, -0.571731f, -0.622008f, -0.669842f, -0.715046f, -0.75744f, -0.79685f, -0.83313f, -0.866139f, -0.895746f, -0.921835f, -0.944305f, -0.963066f, -0.978046f, -0.989185f, -0.996423f, -0.999749f, -0.999149f, -0.994625f, -0.986195f, -0.973893f, -0.957766f, -0.937878f, -0.914306f, -0.887133f, -0.856472f, -0.82245f, -0.785197f, -0.744861f, -0.7016f, -0.655584f, -0.606993f, -0.556018f, -0.502854f, -0.447712f, -0.390813f, -0.332379f, -0.272641f, -0.211832f, -0.15019f, -0.0879586f, -0.025381f, 0.0372969f, 0.0998277f, 0.161966f, 0.223467f, 0.284091f, 0.343599f, 0.401758f, 0.45834f, 0.513122f, 0.565889f, 0.616425f, 0.664541f, 0.710046f, 0.752762f, 0.792523f, 0.829172f, 0.862564f, 0.89257f, 0.919071f, 0.941949f, 0.961127f, 0.97653f, 0.988098f, 0.995786f, 0.999564f, 0.999417f, 0.995346f, 0.987366f, 0.975497f, 0.959794f, 0.940321f, 0.917156f, 0.890389f, 0.860126f, 0.826485f, 0.789599f, 0.749611f, 0.706674f, 0.660956f, 0.612643f, 0.561924f, 0.508999f, 0.454075f, 0.397368f, 0.3391f, 0.2795f, 0.2188f, 0.157239f, 0.095061f, 0.0325102f, -0.0301679f, -0.0927275f, -0.154923f, -0.216511f, -0.277249f, -0.336898f, -0.39522f, -0.451989f, -0.506982f, -0.559984f, -0.610787f, -0.659192f, -0.705008f, -0.748056f, -0.788167f, -0.825173f, -0.858935f, -0.889324f, -0.91622f, -0.939519f, -0.959128f, -0.974971f, -0.986985f, -0.995123f, -0.999345f, -0.999635f, -0.996f, -0.988453f, -0.977025f, -0.961761f, -0.942719f, -0.919975f, -0.893619f, -0.863748f, -0.830476f, -0.793943f, -0.754292f, -0.71168f, -0.666273f, -0.61825f, -0.567799f, -0.515117f, -0.460411f, -0.40389f, -0.345784f, -0.286321f, -0.225734f, -0.16426f, -0.102141f, -0.0396208f, 0.0230556f, 0.0856423f, 0.147891f, 0.209559f, 0.270403f, 0.330185f, 0.38867f, 0.445628f, 0.500837f, 0.55408f, 0.605148f, 0.653833f, 0.699946f, 0.74331f, 0.783755f, 0.821122f, 0.855265f, 0.886049f, 0.913354f, 0.937072f, 0.957104f, 0.973369f, 0.985812f, 0.994383f, 0.999049f, 0.999792f, 0.99661f, 0.989514f, 0.978532f, 0.963704f, 0.94508f, 0.922744f, 0.896785f, 0.867305f, 0.834419f, 0.798256f, 0.758958f, 0.71668f, 0.671587f, 0.623846f, 0.573655f, 0.521212f, 0.466723f, 0.4104f, 0.352467f, 0.293148f, 0.232678f, 0.171294f, 0.109235f, 0.0467467f, -0.0159243f, -0.0785324f, -0.140832f, -0.202578f, -0.26353f, -0.323447f, -0.382094f, -0.439238f, -0.494653f, -0.548126f, -0.599445f, -0.64841f, -0.694829f, -0.73852f, -0.779311f, -0.817042f, -0.85156f, -0.882725f, -0.910423f, -0.934546f, -0.954999f, -0.971701f, -0.984588f, -0.993609f, -0.998727f, -0.999923f, -0.997177f, -0.990515f, -0.979963f, -0.965564f, -0.947372f, -0.925461f, -0.899915f, -0.870835f, -0.838334f, -0.80253f, -0.763574f, -0.721618f, -0.67683f, -0.629384f, -0.579466f, -0.527272f, -0.473008f, -0.416885f, -0.359121f, -0.299944f, -0.239591f, -0.178297f, -0.116303f, -0.0538525f, 0.00880979f, 0.0714379f, 0.133786f, 0.195609f, 0.256661f, 0.316704f, 0.375504f, 0.432828f, 0.488453f, 0.54216f, 0.593738f, 0.642985f, 0.689706f, 0.733709f, 0.774831f, 0.812909f, 0.847795f, 0.879351f, 0.907455f, 0.931995f, 0.952875f, 0.970014f, 0.983329f, 0.992781f, 0.998335f, 0.999968f, 0.997675f, 0.991464f, 0.98136f, 0.967403f, 0.949646f, 0.928149f, 0.903003f, 0.874311f, 0.842186f, 0.806754f, 0.768154f, 0.726538f, 0.682068f, 0.634919f, 0.585272f, 0.533321f, 0.479277f, 0.423351f, 0.365763f, 0.306739f, 0.246509f, 0.185312f, 0.123386f, 0.0609742f, -0.00167739f, -0.0643216f, -0.126713f, -0.188606f, -0.249759f, -0.30993f, -0.368886f, -0.426393f, -0.482226f, -0.536158f, -0.587983f, -0.6375f, -0.684512f, -0.728837f, -0.770299f, -0.808737f, -0.844f, -0.875948f, -0.904445f, -0.929387f, -0.95068f, -0.968239f, -0.981995f, -0.991896f, -0.997902f, -0.999988f, -0.998148f, -0.992379f, -0.982706f, -0.969175f, -0.951837f, -0.930762f, -0.906032f, -0.877743f, -0.846008f, -0.81095f, -0.772703f, -0.731413f, -0.687252f, -0.640392f, -0.591017f, -0.539322f, -0.485509f, -0.429789f, -0.37238f, -0.313508f, -0.253401f, -0.192299f, -0.130442f, -0.0680734f, -0.00543768f, 0.0572195f, 0.119652f, 0.181616f, 0.242867f, 0.303161f, 0.362263f, 0.419942f, 0.475972f, 0.530132f, 0.582211f, 0.632003f, 0.679315f, 0.723959f, 0.765752f, 0.804534f, 0.840156f, 0.872479f, 0.901375f, 0.926732f, 0.94845f, 0.966443f, 0.980642f, 0.990982f, 0.997422f, 0.999945f, 0.998542f, 0.993218f, 0.983994f, 0.970905f, 0.954004f, 0.933357f, 0.909041f, 0.881143f, 0.849786f, 0.815092f, 0.777197f, 0.736251f, 0.692413f, 0.645856f, 0.596762f, 0.545325f, 0.491736f, 0.436218f, 0.378987f, 0.320268f, 0.260291f, 0.199292f, 0.13751f, 0.0751883f, 0.01257f, -0.0500979f, -0.112568f, -0.174596f, -0.235938f, -0.296353f, -0.355604f, -0.413459f, -0.469691f, -0.524079f, -0.576405f, -0.626462f, -0.674059f, -0.719009f, -0.761135f, -0.800272f, -0.836267f, -0.868978f, -0.898276f, -0.924043f, -0.946171f, -0.964583f, -0.979207f, -0.989986f, -0.996877f, -0.999854f, -0.998904f, -0.994031f, -0.985254f, -0.972593f, -0.956112f, -0.935878f, -0.911968f, -0.884477f, -0.853513f, -0.819197f, -0.781664f, -0.74106f, -0.697537f, -0.651273f, -0.602452f, -0.551265f, -0.497914f, -0.442607f, -0.385562f, -0.327003f, -0.267158f, -0.206262f, -0.144555f, -0.0822808f, -0.019684f, 0.0429898f, 0.105495f, 0.167586f, 0.229019f, 0.289554f, 0.34895f, 0.406972f, 0.463396f, 0.517999f, 0.570568f, 0.620896f, 0.668786f, 0.71405f, 0.756511f, 0.795999f, 0.83235f, 0.865433f, 0.895116f, 0.921285f, 0.943836f, 0.96268f, 0.977744f, 0.988969f, 0.99631f, 0.999723f, 0.99921f, 0.994774f, 0.986431f, 0.974215f, 0.958173f, 0.938368f, 0.914879f, 0.887796f, 0.857216f, 0.823267f, 0.786086f, 0.745817f, 0.70262f, 0.656664f, 0.608129f, 0.557206f, 0.504094f, 0.448998f, 0.392135f, 0.333733f, 0.274021f, 0.213233f, 0.151608f, 0.0893869f, 0.0268147f, -0.0358634f, -0.0984011f, -0.160551f, -0.22207f, -0.282716f, -0.342252f, -0.400443f, -0.457063f, -0.511887f, -0.564702f, -0.6153f, -0.663472f, -0.709038f, -0.751819f, -0.791648f, -0.828367f, -0.861834f, -0.891917f, -0.918498f, -0.941471f, -0.960735f, -0.976224f, -0.987879f, -0.995654f, -0.99952f, -0.99946f, -0.995476f, -0.987583f, -0.975811f, -0.960197f, -0.940807f, -0.917723f, -0.891035f, -0.860848f, -0.827281f, -0.790465f, -0.750544f, -0.707676f, -0.662024f, -0.613766f, -0.563098f, -0.510219f, -0.455337f, -0.398667f, -0.340431f, -0.280858f, -0.220182f, -0.158639f, -0.096472f, -0.0339265f, 0.0287516f, 0.0913165f, 0.153523f, 0.215126f, 0.275885f, 0.335561f, 0.393921f, 0.450727f, 0.505762f, 0.558811f, 0.609665f, 0.658124f, 0.704f, 0.747111f, 0.787288f, 0.824374f, 0.858214f, 0.888679f, 0.915654f, 0.939033f, 0.958725f, 0.974652f, 0.986751f, 0.994976f, 0.999293f, 0.999679f, 0.996131f, 0.988672f, 0.97733f, 0.962151f, 0.943193f, 0.920531f, 0.894255f, 0.864466f, 0.831279f, 0.794817f, 0.755235f, 0.712688f, 0.667342f, 0.619375f, 0.568976f, 0.516343f, 0.461681f, 0.405205f, 0.347132f, 0.287696f, 0.227131f, 0.165675f, 0.103568f, 0.0410538f, -0.0216215f, -0.0842125f, -0.146473f, -0.208158f, -0.269023f, -0.328831f, -0.387348f, -0.444343f, -0.499594f, -0.552883f, -0.604001f, -0.652748f, -0.698925f, -0.742353f, -0.782866f, -0.820303f, -0.85452f, -0.88538f, -0.912764f, -0.936564f, -0.956686f, -0.973046f, -0.985575f, -0.994233f, -0.998987f, -0.999818f, -0.996723f, -0.989713f, -0.978817f, -0.964078f, -0.94555f, -0.923295f, -0.897416f, -0.868012f, -0.8352f, -0.799108f, -0.759878f, -0.717664f, -0.672631f, -0.624957f, -0.574819f, -0.522423f, -0.467976f, -0.411692f, -0.353792f, -0.294502f, -0.234055f, -0.172689f, -0.110644f, -0.0481624f, 0.0145075f, 0.0771199f, 0.139429f, 0.20119f, 0.262162f, 0.322104f, 0.380781f, 0.437964f, 0.493425f, 0.546942f, 0.598312f, 0.647332f, 0.693809f, 0.737562f, 0.778418f, 0.816218f, 0.850814f, 0.882065f, 0.909841f, 0.934044f, 0.954579f, 0.971366f, 0.984337f, 0.993444f, 0.998649f, 0.999933f, 0.997291f, 0.990716f, 0.980251f, 0.965937f, 0.94783f, 0.926f, 0.900535f, 0.871533f, 0.839108f, 0.803388f, 0.764503f, 0.722613f, 0.677886f, 0.630498f, 0.580633f, 0.528489f, 0.474268f, 0.418185f, 0.360459f, 0.301314f, 0.240984f, 0.179709f, 0.117728f, 0.0552847f, -0.00737547f, -0.0700068f, -0.132364f, -0.194201f, -0.255276f, -0.315345f, -0.374175f, -0.431535f, -0.487201f, -0.540953f, -0.592581f, -0.641882f, -0.688663f, -0.73274f, -0.773928f, -0.812076f, -0.847035f, -0.878667f, -0.90685f, -0.93147f, -0.952434f, -0.969657f, -0.983073f, -0.992614f, -0.998255f, -0.999977f, -0.997771f, -0.991647f, -0.981629f, -0.967756f, -0.950083f, -0.928679f, -0.903618f, -0.875003f, -0.842953f, -0.807592f, -0.769061f, -0.727509f, -0.683101f, -0.636009f, -0.58642f, -0.534523f, -0.480523f, -0.424636f, -0.367082f, -0.308087f, -0.247882f, -0.186703f, -0.124791f, -0.0623882f, 0.000260399f, 0.0629078f, 0.125307f, 0.187215f, 0.248386f, 0.308582f, 0.367567f, 0.425108f, 0.48098f, 0.534965f, 0.58684f, 0.63641f, 0.68348f, 0.727866f, 0.769394f, 0.8079f, 0.843234f, 0.875257f, 0.903843f, 0.928869f, 0.950243f, 0.967886f, 0.981728f, 0.991714f, 0.997806f, 0.99998f, 0.998227f, 0.992555f, 0.982977f, 0.969531f, 0.952278f, 0.931285f, 0.906636f, 0.878426f, 0.846767f, 0.811782f, 0.77361f, 0.732395f, 0.688296f, 0.641495f, 0.592175f, 0.540529f, 0.486761f, 0.431082f, 0.373709f, 0.314868f, 0.25479f, 0.193707f, 0.131864f, 0.0695045f, 0.00687201f, -0.0557874f, -0.118228f, -0.180204f, -0.241473f, -0.301795f, -0.360928f, -0.418642f, -0.474711f, -0.528916f, -0.581043f, -0.630889f, -0.678258f, -0.722963f, -0.76483f, -0.803686f, -0.839381f, -0.87178f, -0.900754f, -0.926191f, -0.947992f, -0.966069f, -0.980353f, -0.990788f, -0.997325f, -0.999936f, -0.99862f, -0.993383f, -0.984245f, -0.971242f, -0.954425f, -0.93386f, -0.909627f, -0.88182f, -0.850538f, -0.815916f, -0.77809f, -0.73721f, -0.693434f, -0.646935f, -0.597896f, -0.546508f, -0.492973f, -0.437495f, -0.380299f, -0.32161f, -0.261659f, -0.20068f, -0.138913f, -0.0766008f, -0.0139868f, 0.0486828f, 0.111161f, 0.173201f, 0.234561f, 0.294999f, 0.354279f, 0.412167f, 0.468437f, 0.522868f, 0.575246f, 0.625361f, 0.673015f, 0.718026f, 0.760216f, 0.799421f, 0.835487f, 0.868272f, 0.897647f, 0.923498f, 0.945718f, 0.964214f, 0.978922f, 0.989787f, 0.996764f, 0.999828f, 0.998965f, 0.99418f, 0.985491f, 0.972932f, 0.956536f, 0.936385f, 0.912556f, 0.885145f, 0.854257f, 0.820015f, 0.782552f, 0.742017f, 0.698566f, 0.652364f, 0.603598f, 0.552462f, 0.499157f, 0.443892f, 0.386884f, 0.328356f, 0.268538f, 0.207666f, 0.145975f, 0.0837106f, 0.0211182f, -0.0415568f, -0.104068f, -0.166171f, -0.227622f, -0.288179f, -0.347605f, -0.405664f, -0.462126f, -0.516773f, -0.56939f, -0.619771f, -0.667717f, -0.713042f, -0.755567f, -0.795126f, -0.831561f, -0.864718f, -0.894479f, -0.920728f, -0.943361f, -0.962289f, -0.977438f, -0.98875f, -0.996178f, -0.999695f, -0.999271f, -0.994922f, -0.986665f, -0.974535f, -0.958577f, -0.938855f, -0.915446f, -0.888442f, -0.857949f, -0.824077f, -0.786965f, -0.746763f, -0.703629f, -0.657732f, -0.609252f, -0.558379f, -0.505314f, -0.450263f, -0.393441f, -0.33507f, -0.275384f, -0.214617f, -0.153008f, -0.0907979f, -0.028231f, 0.0344471f, 0.0969906f, 0.159153f, 0.220689f, 0.281357f, 0.34092f, 0.399144f, 0.455801f, 0.510668f, 0.563529f, 0.614178f, 0.662416f, 0.708042f, 0.750887f, 0.790783f, 0.827573f, 0.861113f, 0.891272f, 0.917931f, 0.940986f, 0.960346f, 0.975922f, 0.987662f, 0.995524f, 0.999476f, 0.999504f, 0.995608f, 0.987801f, 0.976116f, 0.960597f, 0.941298f, 0.918295f, 0.891687f, 0.861577f, 0.828084f, 0.791339f, 0.751487f, 0.708683f, 0.663096f, 0.614901f, 0.564285f, 0.511454f, 0.456614f, 0.399982f, 0.341779f, 0.282233f, 0.221579f, 0.160054f, 0.0979003f, 0.0353602f, -0.0273179f, -0.0898882f, -0.152105f, -0.213725f, -0.274505f, -0.334208f, -0.392599f, -0.449449f, -0.504527f, -0.557623f, -0.608528f, -0.657044f, -0.702979f, -0.746154f, -0.786399f, -0.823556f, -0.857479f, -0.888026f, -0.915081f, -0.938542f, -0.958317f, -0.974329f, -0.986515f, -0.994826f, -0.999232f, -0.999713f, -0.996262f, -0.988889f, -0.977633f, -0.962538f, -0.943663f, -0.921082f, -0.894885f, -0.865173f, -0.832063f, -0.795683f, -0.756168f, -0.713684f, -0.668398f, -0.620487f, -0.57014f, -0.517554f, -0.462935f, -0.406497f, -0.348463f, -0.289055f, -0.228512f, -0.167072f, -0.104977f, -0.0424695f, 0.0202048f, 0.0828f, 0.145071f, 0.206772f, 0.26766f, 0.327494f, 0.386042f, 0.443074f, 0.498365f, 0.5517f, 0.602868f, 0.651669f, 0.697912f, 0.741408f, 0.781987f, 0.819494f, 0.853784f, 0.88472f, 0.912182f, 0.936062f, 0.956267f, 0.972716f, 0.985341f, 0.994086f, 0.998926f, 0.999844f, 0.996837f, 0.989915f, 0.979105f, 0.964451f, 0.946009f, 0.923851f, 0.898052f, 0.868726f, 0.835988f, 0.799969f, 0.760808f, 0.718659f, 0.673688f, 0.626071f, 0.575995f, 0.523649f, 0.469246f, 0.413f, 0.355133f, 0.295872f, 0.235449f, 0.1741f, 0.112068f, 0.0495952f, -0.0130734f, -0.0756901f, -0.138009f, -0.199785f, -0.260777f, -0.320745f, -0.379453f, -0.436672f, -0.492176f, -0.545745f, -0.597165f, -0.64624f, -0.692776f, -0.736592f, -0.777515f, -0.815385f, -0.850054f, -0.881384f, -0.909252f, -0.933536f, -0.954154f, -0.971026f, -0.984084f, -0.993277f, -0.99857f, -0.999942f, -0.997387f, -0.990915f, -0.980537f, -0.966307f, -0.948283f, -0.926536f, -0.90115f, -0.872225f, -0.839875f, -0.804226f, -0.765419f, -0.723597f, -0.678931f, -0.631599f, -0.581787f, -0.52969f, -0.475514f, -0.41947f, -0.361778f, -0.302665f, -0.242361f, -0.181103f, -0.119135f, -0.0566995f, 0.00595848f, 0.068593f, 0.130958f, 0.19281f, 0.253905f, 0.314002f, 0.372863f, 0.430258f, 0.485964f, 0.539761f, 0.591438f, 0.640792f, 0.687631f, 0.73177f, 0.773035f, 0.811253f, 0.846284f, 0.877992f, 0.906251f, 0.930952f, 0.951998f, 0.969304f, 0.982805f, 0.992446f, 0.998177f, 0.999985f, 0.997867f, 0.991831f, 0.9819f, 0.968112f, 0.950524f, 0.929202f, 0.904231f, 0.875701f, 0.843726f, 0.808439f, 0.769977f, 0.728491f, 0.684145f, 0.637112f, 0.587577f, 0.535734f, 0.481784f, 0.425936f, 0.368417f, 0.309451f, 0.249271f, 0.188112f, 0.126213f, 0.0638193f, 0.00117393f, -0.0614767f, -0.123885f, -0.185806f, -0.246997f, -0.307218f, -0.366232f, -0.423808f, -0.47972f, -0.533748f, -0.585682f, -0.635307f, -0.682435f, -0.726884f, -0.768477f, -0.807053f, -0.842459f, -0.874558f, -0.903222f, -0.92834f, -0.949802f, -0.967529f, -0.981456f, -0.99153f, -0.997709f, -0.999971f, -0.998306f, -0.99272f, -0.983237f, -0.969884f, -0.952715f, -0.931804f, -0.907235f, -0.879103f, -0.847519f, -0.812606f, -0.774503f, -0.733357f, -0.689329f, -0.642585f, -0.593318f, -0.541722f, -0.487998f, -0.432359f, -0.375021f, -0.316211f, -0.256158f, -0.195098f, -0.13327f, -0.0709183f, -0.008289f, 0.0543725f, 0.11682f, 0.17881f, 0.240097f, 0.300442f, 0.359608f, 0.417357f, 0.473465f, 0.527714f, 0.57989f, 0.629788f, 0.677214f, 0.72198f, 0.763911f, 0.802843f, 0.838616f, 0.871089f, 0.90014f, 0.925657f, 0.947539f, 0.9657f, 0.980068f, 0.990588f, 0.997218f, 0.999927f, 0.998699f, 0.99355f, 0.984498f, 0.971581f, 0.954849f, 0.934367f, 0.910215f, 0.882489f, 0.851296f, 0.816748f, 0.778993f, 0.738179f, 0.694466f, 0.648027f, 0.599042f, 0.547705f, 0.494217f, 0.438787f, 0.381628f, 0.322969f, 0.263044f, 0.202085f, 0.140333f, 0.0780306f, 0.0154209f, -0.0472497f, -0.109736f, -0.17179f, -0.233168f, -0.293629f, -0.352937f, -0.410859f, -0.467168f, -0.521642f, -0.574069f, -0.624241f, -0.671958f, -0.71703f, -0.759286f, -0.798559f, -0.834697f, -0.867557f, -0.89701f, -0.922941f, -0.945247f, -0.963839f, -0.978634f, -0.989585f, -0.99665f, -0.999801f, -0.999026f, -0.994328f, -0.985726f, -0.973252f, -0.956956f, -0.936888f, -0.91314f, -0.885806f, -0.854994f, -0.820825f, -0.783432f, -0.742962f, -0.699575f, -0.65344f, -0.604731f, -0.553645f, -0.500386f, -0.445162f, -0.38819f, -0.329693f, -0.269902f, -0.20905f, -0.147377f, -0.0851231f, -0.0225349f, 0.0401411f, 0.102659f, 0.164774f, 0.226241f, 0.28682f, 0.346274f, 0.404368f, 0.460873f, 0.515562f, 0.568226f, 0.618659f, 0.666662f, 0.712046f, 0.754635f, 0.794261f, 0.830768f, 0.864012f, 0.89385f, 0.920178f, 0.942891f, 0.961903f, 0.977136f, 0.988533f, 0.996048f, 0.999651f, 0.99933f, 0.995071f, 0.986901f, 0.974857f, 0.958984f, 0.939345f, 0.916018f, 0.889094f, 0.858678f, 0.824889f, 0.787854f, 0.747719f, 0.704649f, 0.658812f, 0.610388f, 0.559567f, 0.506549f, 0.45154f, 0.394758f, 0.336423f, 0.276764f, 0.216019f, 0.154426f, 0.0922262f, 0.0296647f, -0.0330134f, -0.0955623f, -0.157737f, -0.219292f, -0.279982f, -0.339573f, -0.39783f, -0.454524f, -0.509433f, -0.562341f, -0.613042f, -0.661336f, -0.707033f, -0.749943f, -0.789907f, -0.826769f, -0.860384f, -0.89062f, -0.917358f, -0.940494f, -0.959938f, -0.975612f, -0.987443f, -0.995392f, -0.999432f, -0.999548f, -0.995738f, -0.988018f, -0.976419f, -0.960984f, -0.941776f, -0.918863f, -0.892333f, -0.862299f, -0.82888f, -0.792205f, -0.75242f, -0.70968f, -0.664152f, -0.616017f, -0.565459f, -0.512674f, -0.457876f, -0.401281f, -0.34311f, -0.283592f, -0.22296f, -0.161452f, -0.0993097f, -0.0367766f, 0.0259016f, 0.0884772f, 0.150705f, 0.21234f, 0.273142f, 0.332871f, 0.391293f, 0.448179f, 0.503306f, 0.55645f, 0.607406f, 0.655977f, 0.701971f, 0.745209f, 0.78552f, 0.822747f, 0.856743f, 0.887375f, 0.914515f, 0.938056f, 0.957914f, 0.97401f, 0.986281f, 0.994679f, 0.999171f, 0.999739f, 0.996383f, 0.989108f, 0.977938f, 0.962928f, 0.944137f, 0.921639f, 0.895521f, 0.865887f, 0.832852f, 0.796546f, 0.757111f, 0.714691f, 0.669466f, 0.621612f, 0.571318f, 0.518779f, 0.464204f, 0.407805f, 0.349804f, 0.290429f, 0.229909f, 0.168487f, 0.106403f, 0.0439025f, -0.0187706f, -0.0813702f, -0.14365f, -0.205367f, -0.266278f, -0.326141f, -0.38472f, -0.441789f, -0.497122f, -0.550502f, -0.601721f, -0.650577f, -0.696879f, -0.740445f, -0.781098f, -0.818676f, -0.853039f, -0.884052f, -0.911593f, -0.935554f, -0.955842f, -0.972376f, -0.985092f, -0.993936f, -0.998865f, -0.999871f, -0.99695f, -0.990115f, -0.979391f, -0.964821f, -0.946463f, -0.924387f, -0.898682f, -0.869433f, -0.836769f, -0.800821f, -0.761727f, -0.719643f, -0.674732f, -0.627172f, -0.577148f, -0.524858f, -0.470499f, -0.414292f, -0.356458f, -0.297225f, -0.236825f, -0.175495f, -0.113476f, -0.05101f, 0.0116566f, 0.0742776f, 0.136606f, 0.198397f, 0.259409f, 0.319402f, 0.37814f, 0.435394f, 0.490939f, 0.544556f, 0.596032f, 0.645161f, 0.691756f, 0.735634f, 0.776623f, 0.814562f, 0.849303f, 0.880709f, 0.908656f, 0.933034f, 0.953735f, 0.97069f, 0.983833f, 0.993112f, 0.998492f, 0.99995f, 0.997483f, 0.991099f, 0.980822f, 0.966681f, 0.948741f, 0.927075f, 0.90177f, 0.872923f, 0.840648f, 0.805073f, 0.766335f, 0.724588f, 0.679987f, 0.632713f, 0.582954f, 0.530907f, 0.476775f, 0.42077f, 0.363113f, 0.30403f, 0.243752f, 0.182515f, 0.12056f, 0.0581317f, -0.00452415f, -0.067162f, -0.129536f, -0.191401f, -0.252516f, -0.312639f, -0.371534f, -0.428965f, -0.484711f, -0.538553f, -0.59028f, -0.639689f, -0.686586f, -0.730787f, -0.772119f, -0.810419f, -0.845524f, -0.877308f, -0.905646f, -0.930428f, -0.951556f, -0.968947f, -0.982534f, -0.992262f, -0.998094f, -0.999994f, -0.997963f, -0.992013f, -0.982168f, -0.968466f, -0.950961f, -0.929721f, -0.90483f, -0.876386f, -0.844493f, -0.809277f, -0.770883f, -0.729463f, -0.685178f, -0.638202f, -0.588721f, -0.536926f, -0.483023f, -0.427221f, -0.369736f, -0.3108f, -0.250643f, -0.189503f, -0.127619f, -0.0652331f, -0.00259092f, 0.060062f, 0.12248f, 0.184415f, 0.245625f, 0.305869f, 0.364913f, 0.422523f, 0.478474f, 0.532547f, 0.584528f, 0.634215f, 0.681403f, 0.725913f, 0.767571f, 0.806216f, 0.841694f, 0.873867f, 0.902608f, 0.927805f, 0.949359f, 0.967176f, 0.981188f, 0.991348f, 0.997614f, 0.999962f, 0.998385f, 0.992887f, 0.98349f, 0.970231f, 0.953156f, 0.932328f, 0.907839f, 0.879786f, 0.848278f, 0.813438f, 0.775405f, 0.734326f, 0.690363f, 0.643688f, 0.594475f, 0.542929f, 0.489251f, 0.433652f, 0.37635f, 0.31757f, 0.257543f, 0.196504f, 0.134692f, 0.0723494f, 0.00972333f, -0.0529403f, -0.115396f, -0.177398f, -0.238703f, -0.299072f, -0.358266f, -0.416055f, -0.472205f, -0.526497f, -0.578722f, -0.628674f, -0.676157f, -0.720985f, -0.762981f, -0.801982f, -0.837834f, -0.870389f, -0.899519f, -0.925116f, -0.947081f, -0.965326f, -0.97978f, -0.990386f, -0.997104f, -0.999906f, -0.998778f, -0.993715f, -0.98475f, -0.971918f, -0.955269f, -0.93487f, -0.910799f, -0.883151f, -0.852035f, -0.817572f, -0.779886f, -0.739137f, -0.695487f, -0.649106f, -0.600175f, -0.548888f, -0.495445f, -0.440056f, -0.382939f, -0.324312f, -0.264412f, -0.203473f, -0.141736f, -0.0794431f, -0.0168377f, 0.045834f, 0.108326f, 0.170394f, 0.231791f, 0.292276f, 0.351612f, 0.409568f, 0.465914f, 0.520432f, 0.572905f, 0.623129f, 0.670907f, 0.716047f, 0.758367f, 0.797708f, 0.833917f, 0.866851f, 0.896381f, 0.92239f, 0.944778f, 0.963456f, 0.978349f, 0.989386f, 0.996537f, 0.999775f, 0.999088f, 0.994477f, 0.985962f, 0.973574f, 0.957363f, 0.937393f, 0.913728f, 0.886473f, 0.855738f, 0.821642f, 0.78432f, 0.743918f, 0.700595f, 0.65452f, 0.605874f, 0.554843f, 0.50163f, 0.446447f, 0.389511f, 0.331047f, 0.271282f, 0.210451f, 0.148794f, 0.0865521f, 0.023969f, -0.0387081f, -0.101232f, -0.163359f, -0.224844f, -0.285445f, -0.344926f, -0.403053f, -0.459598f, -0.514336f, -0.567049f, -0.617533f, -0.665593f, -0.711038f, -0.753692f, -0.793385f, -0.829964f, -0.863283f, -0.893213f, -0.919621f, -0.942417f, -0.961512f, -0.976831f, -0.988314f, -0.995916f, -0.999607f, -0.999373f, -0.995215f, -0.987136f, -0.975176f, -0.959388f, -0.939832f, -0.916585f, -0.88974f, -0.8594f, -0.825685f, -0.788727f, -0.748665f, -0.705658f, -0.65988f, -0.611511f, -0.56074f, -0.507768f, -0.452802f, -0.396057f, -0.337757f, -0.278128f, -0.217403f, -0.155826f, -0.0936372f, -0.0310811f, 0.0315971f, 0.0941513f, 0.156336f, 0.217908f, 0.278624f, 0.338242f, 0.396531f, 0.453262f, 0.508213f, 0.561168f, 0.61192f, 0.660268f, 0.706025f, 0.749009f, 0.789042f, 0.825974f, 0.859663f, 0.889975f, 0.916792f, 0.940009f, 0.959535f, 0.975293f, 0.987221f, 0.995262f, 0.999389f, 0.999592f, 0.99587f, 0.988237f, 0.976724f, 0.961375f, 0.94225f, 0.919426f, 0.892984f, 0.863028f, 0.829683f, 0.79308f, 0.753363f, 0.710687f, 0.665221f, 0.617142f, 0.566639f, 0.513909f, 0.459153f, 0.402596f, 0.344457f, 0.284967f, 0.224357f, 0.162867f, 0.100736f, 0.0382096f, -0.0244679f, -0.0870489f, -0.149287f, -0.210939f, -0.271762f, -0.331517f, -0.389971f, -0.446894f, -0.502062f, -0.555259f, -0.60627f, -0.654896f, -0.700951f, -0.744252f, -0.784631f, -0.821928f, -0.855998f, -0.886707f, -0.913934f, -0.937565f, -0.957506f, -0.973687f, -0.986045f, -0.99453f, -0.999109f, -0.999766f, -0.996496f, -0.989313f, -0.978241f, -0.963315f, -0.944607f, -0.92219f, -0.896151f, -0.866594f, -0.833633f, -0.797398f, -0.758032f, -0.715688f, -0.670522f, -0.622724f, -0.572481f, -0.51999f, -0.465458f, -0.409097f, -0.351129f, -0.291783f, -0.231289f, -0.169885f, -0.107813f, -0.0453183f, 0.0173539f, 0.0799577f, 0.142248f, 0.203979f, 0.26491f, 0.324801f, 0.383414f, 0.440519f, 0.495893f, 0.549319f, 0.600588f, 0.649499f, 0.695859f, 0.739487f, 0.780211f, 0.817867f, 0.852303f, 0.883391f, 0.911011f, 0.935052f, 0.955422f, 0.97204f, 0.984841f, 0.993775f, 0.998804f, 0.999897f, 0.997064f, 0.990316f, 0.979679f, 0.965194f, 0.94692f, 0.924927f, 0.899302f, 0.870145f, 0.837558f, 0.801681f, 0.762657f, 0.720638f, 0.675789f, 0.628286f, 0.578316f, 0.526074f, 0.471766f, 0.4156f, 0.3578f, 0.298595f, 0.238219f, 0.176907f, 0.1149f, 0.0524422f, -0.0102222f, -0.0728472f, -0.135186f, -0.196992f, -0.258024f, -0.318043f, -0.376812f, -0.434101f, -0.489686f, -0.543349f, -0.594878f, -0.644069f, -0.690723f, -0.734664f, -0.77572f, -0.813729f, -0.848543f, -0.880025f, -0.908051f, -0.932511f, -0.95331f, -0.97035f, -0.983579f, -0.992945f, -0.998413f, -0.999959f, -0.997579f, -0.991281f, -0.981091f, -0.967048f, -0.949194f, -0.927611f, -0.902385f, -0.873615f, -0.841415f, -0.805911f, -0.767241f, -0.725559f, -0.681027f, -0.633814f, -0.584108f, -0.532109f, -0.47802f, -0.422055f, -0.364432f, -0.305378f, -0.245125f, -0.183908f, -0.121967f, -0.0595465f, 0.00310716f, 0.0657482f, 0.128131f, 0.19001f, 0.251143f, 0.311291f, 0.370216f, 0.427688f, 0.483474f, 0.537361f, 0.589137f, 0.638599f, 0.685554f, 0.729816f, 0.771213f, 0.809582f, 0.844772f, 0.876632f, 0.905048f, 0.92991f, 0.95112f, 0.968595f, 0.982266f, 0.99208f, 0.997998f, 0.999997f, 0.99806f, 0.992197f, 0.982439f, 0.968822f, 0.951401f, 0.930244f, 0.905435f, 0.877069f, 0.845259f, 0.810123f, 0.771799f, 0.730445f, 0.686222f, 0.639305f, 0.589878f, 0.538134f, 0.484276f, 0.428516f, 0.371071f, 0.312164f, 0.252033f, 0.190912f, 0.129041f, 0.0666642f, 0.00402525f, -0.0586298f, -0.121055f, -0.183006f, -0.244235f, -0.304505f, -0.363578f, -0.421223f, -0.477213f, -0.53133f, -0.583361f, -0.633101f, -0.680355f, -0.72493f, -0.766655f, -0.805368f, -0.840919f, -0.873167f, -0.901987f, -0.927265f, -0.948901f, -0.966812f, -0.980917f, -0.991163f, -0.997517f, -0.999954f, -0.998463f, -0.993052f, -0.983741f, -0.970567f, -0.953582f, -0.932847f, -0.908438f, -0.880462f, -0.849029f, -0.814262f, -0.776298f, -0.735285f, -0.691384f, -0.644768f, -0.595619f, -0.544121f, -0.490488f, -0.434929f, -0.377662f, -0.318913f, -0.258911f, -0.197892f, -0.136095f, -0.073763f, -0.0111403f, 0.0515255f, 0.113988f, 0.176003f, 0.237327f, 0.297718f, 0.356941f, 0.414763f, 0.470956f, 0.525296f, 0.577569f, 0.627573f, 0.675113f, 0.720001f, 0.762062f, 0.801131f, 0.837054f, 0.86969f, 0.898906f, 0.924582f, 0.946628f, 0.964956f, 0.979495f, 0.990187f, 0.996991f, 0.99988f, 0.998843f, 0.993881f, 0.985003f, 0.972257f, 0.955693f, 0.935377f, 0.911387f, 0.883818f, 0.852779f, 0.81839f, 0.780787f, 0.740106f, 0.696519f, 0.650197f, 0.601322f, 0.550086f, 0.496689f, 0.441342f, 0.384261f, 0.32567f, 0.265796f, 0.204878f, 0.143157f, 0.0808729f, 0.0182718f, -0.044401f, -0.1069f, -0.168979f, -0.230396f, -0.290906f, -0.350271f, -0.40826f, -0.464645f, -0.519206f, -0.571727f, -0.622004f, -0.669838f, -0.715043f, -0.757437f, -0.796847f, -0.833128f, -0.866136f, -0.895744f, -0.921833f, -0.944303f, -0.963065f, -0.978045f, -0.989184f, -0.996423f, -0.999749f, -0.999149f, -0.994625f, -0.986196f, -0.973894f, -0.957767f, -0.937879f, -0.914308f, -0.887135f, -0.856475f, -0.822452f, -0.7852f, -0.744864f, -0.701604f, -0.655588f, -0.606997f, -0.556022f, -0.502858f, -0.447717f, -0.390817f, -0.332384f, -0.272645f, -0.211836f, -0.150195f, -0.0879631f, -0.0253856f, 0.0372924f, 0.0998232f, 0.161961f, 0.223463f, 0.284087f, 0.343595f, 0.401754f, 0.458336f, 0.513118f, 0.565885f, 0.616422f, 0.664537f, 0.710043f, 0.75276f, 0.79252f, 0.829169f, 0.862562f, 0.892568f, 0.919069f, 0.941947f, 0.961125f, 0.976529f, 0.988097f, 0.995786f, 0.999564f, 0.999417f, 0.995346f, 0.987366f, 0.975498f, 0.959795f, 0.940322f, 0.917158f, 0.890391f, 0.860129f, 0.826488f, 0.789602f, 0.749614f, 0.706677f, 0.660959f, 0.612647f, 0.561928f, 0.509003f, 0.454079f, 0.397372f, 0.339104f, 0.279504f, 0.218805f, 0.157243f, 0.0950655f, 0.0325147f, -0.0301634f, -0.092723f, -0.154919f, -0.216506f, -0.277244f, -0.336894f, -0.395216f, -0.451985f, -0.506978f, -0.55998f, -0.610783f, -0.659188f, -0.705005f, -0.748053f, -0.788164f, -0.82517f, -0.858933f, -0.889322f, -0.916219f, -0.939517f, -0.959127f, -0.97497f, -0.986984f, -0.995123f, -0.999345f, -0.999635f, -0.635908f, -0.586313f, -0.534411f, -0.480407f, -0.424516f, -0.366959f, -0.307961f, -0.247754f, -0.186573f, -0.12466f, -0.0622565f, 0.000392421f, 0.0630396f, 0.125438f, 0.187344f, 0.248514f, 0.308708f, 0.36769f, 0.425228f, 0.481097f, 0.535076f, 0.586947f, 0.636512f, 0.683576f, 0.727957f, 0.769478f, 0.807978f, 0.843305f, 0.875321f, 0.9039f, 0.928917f, 0.950284f, 0.967919f, 0.981753f, 0.991731f, 0.997815f, 0.999981f, 0.99822f, 0.99254f, 0.982952f, 0.969498f, 0.952237f, 0.931237f, 0.90658f, 0.878363f, 0.846697f, 0.811706f, 0.773526f, 0.732305f, 0.6882f, 0.641393f, 0.592068f, 0.540418f, 0.486646f, 0.430963f, 0.373587f, 0.314743f, 0.254662f, 0.193577f, 0.131733f, 0.0693728f, 0.00673999f, -0.0559192f, -0.118359f, -0.180334f, -0.241602f, -0.301921f, -0.361051f, -0.418761f, -0.474827f, -0.529028f, -0.581151f, -0.630992f, -0.678355f, -0.723055f, -0.764916f, -0.803765f, -0.839453f, -0.871844f, -0.900811f, -0.926241f, -0.948034f, -0.966104f, -0.98038f, -0.990806f, -0.997334f, -0.999937f, -0.998613f, -0.993368f, -0.984222f, -0.971211f, -0.954386f, -0.933813f, -0.909573f, -0.881757f, -0.850468f, -0.815839f, -0.778007f, -0.73712f, -0.693339f, -0.646835f, -0.59779f, -0.546397f, -0.492858f, -0.437376f, -0.380177f, -0.321485f, -0.261532f, -0.200551f, -0.138783f, -0.0764692f, -0.0138548f, 0.0488147f, 0.111292f, 0.173331f, 0.234689f, 0.295125f, 0.354402f, 0.412288f, 0.468554f, 0.522981f, 0.575355f, 0.625464f, 0.673113f, 0.718117f, 0.760302f, 0.7995f, 0.835559f, 0.868337f, 0.897706f, 0.923549f, 0.94576f, 0.964248f, 0.978949f, 0.989805f, 0.996775f, 0.99983f, 0.99896f, 0.994167f, 0.98547f, 0.972901f, 0.956497f, 0.936338f, 0.912502f, 0.885083f, 0.854189f, 0.819939f, 0.782471f, 0.741929f, 0.698473f, 0.652263f, 0.603492f, 0.552352f, 0.499043f, 0.443774f, 0.386762f, 0.328232f, 0.268411f, 0.207537f, 0.145844f, 0.083579f, 0.0209861f, -0.0416887f, -0.1042f, -0.166301f, -0.22775f, -0.288305f, -0.347729f, -0.405785f, -0.462243f, -0.516886f, -0.569498f, -0.619874f, -0.667816f, -0.713135f, -0.755654f, -0.795206f, -0.831633f, -0.864784f, -0.894538f, -0.920779f, -0.943404f, -0.962325f, -0.977466f, -0.98877f, -0.99619f, -0.999699f, -0.999265f, -0.994908f, -0.986644f, -0.974505f, -0.958539f, -0.93881f, -0.915393f, -0.888382f, -0.857882f, -0.824002f, -0.786883f, -0.746675f, -0.703535f, -0.657633f, -0.609147f, -0.55827f, -0.5052f, -0.450146f, -0.393319f, -0.334945f, -0.275257f, -0.214488f, -0.152878f, -0.0906665f, -0.0280991f, 0.0345791f, 0.097122f, 0.159284f, 0.220818f, 0.281484f, 0.341044f, 0.399265f, 0.455918f, 0.510781f, 0.563638f, 0.614283f, 0.662515f, 0.708135f, 0.750974f, 0.790863f, 0.827647f, 0.861181f, 0.891332f, 0.917984f, 0.941031f, 0.960383f, 0.97595f, 0.987683f, 0.995536f, 0.99948f, 0.9995f, 0.995596f, 0.987781f, 0.976088f, 0.960561f, 0.941253f, 0.918242f, 0.891627f, 0.86151f, 0.82801f, 0.791259f, 0.7514f, 0.708591f, 0.662998f, 0.614797f, 0.564176f, 0.51134f, 0.456497f, 0.399861f, 0.341655f, 0.282107f, 0.221451f, 0.159924f, 0.0977688f, 0.0352283f, -0.0274499f, -0.0900197f, -0.152236f, -0.213854f, -0.274632f, -0.334333f, -0.39272f, -0.449567f, -0.504641f, -0.557732f, -0.608633f, -0.657143f, -0.703073f, -0.746242f, -0.786481f, -0.823631f, -0.857548f, -0.888086f, -0.915134f, -0.938587f, -0.958355f, -0.974359f, -0.986537f, -0.99484f, -0.999237f, -0.999711f, -0.99625f, -0.988869f, -0.977605f, -0.962502f, -0.943619f, -0.921031f, -0.894826f, -0.865107f, -0.831991f, -0.795603f, -0.756081f, -0.713591f, -0.668299f, -0.620384f, -0.570032f, -0.517441f, -0.462818f, -0.406377f, -0.348339f, -0.288928f, -0.228383f, -0.166942f, -0.104846f, -0.0423376f, 0.0203368f, 0.0829316f, 0.145201f, 0.206901f, 0.267787f, 0.327619f, 0.386164f, 0.443192f, 0.49848f, 0.55181f, 0.602973f, 0.65177f, 0.698007f, 0.741496f, 0.782069f, 0.81957f, 0.853852f, 0.884782f, 0.912236f, 0.936109f, 0.956306f, 0.972747f, 0.985363f, 0.994099f, 0.998932f, 0.999842f, 0.996826f, 0.989896f, 0.979079f, 0.964416f, 0.945967f, 0.9238f, 0.897993f, 0.86866f, 0.835916f, 0.799889f, 0.760722f, 0.718567f, 0.67359f, 0.625968f, 0.575887f, 0.523536f, 0.469129f, 0.41288f, 0.35501f, 0.295746f, 0.23532f, 0.173971f, 0.111937f, 0.0494633f, -0.0132054f, -0.0758217f, -0.13814f, -0.199915f, -0.260904f, -0.32087f, -0.379575f, -0.436791f, -0.492291f, -0.545855f, -0.597271f, -0.64634f, -0.692871f, -0.736681f, -0.777598f, -0.815462f, -0.850124f, -0.881447f, -0.909306f, -0.933583f, -0.954194f, -0.971057f, -0.984107f, -0.993292f, -0.998577f, -0.999941f, -0.997378f, -0.990897f, -0.98051f, -0.966273f, -0.948241f, -0.926486f, -0.901092f, -0.87216f, -0.839803f, -0.804148f, -0.765335f, -0.723506f, -0.678833f, -0.631496f, -0.581679f, -0.529579f, -0.475398f, -0.41935f, -0.361655f, -0.30254f, -0.242233f, -0.180973f, -0.119004f, -0.0565677f, 0.0060905f, 0.0687248f, 0.131089f, 0.19294f, 0.254033f, 0.314128f, 0.372985f, 0.430377f, 0.486079f, 0.539872f, 0.591544f, 0.640894f, 0.687727f, 0.73186f, 0.773118f, 0.811329f, 0.846354f, 0.878055f, 0.906307f, 0.931001f, 0.952038f, 0.969337f, 0.98283f, 0.992463f, 0.998185f, 0.999985f, 0.997858f, 0.991814f, 0.981875f, 0.96808f, 0.950483f, 0.929154f, 0.904176f, 0.875637f, 0.843655f, 0.808361f, 0.769892f, 0.728401f, 0.684049f, 0.637011f, 0.58747f, 0.535623f, 0.481667f, 0.425817f, 0.368294f, 0.309326f, 0.249143f, 0.187982f, 0.126083f, 0.0636876f, 0.00104191f, -0.0616085f, -0.124016f, -0.185936f, -0.247125f, -0.307343f, -0.366355f, -0.423927f, -0.479836f, -0.53386f, -0.585789f, -0.635408f, -0.682531f, -0.726974f, -0.768561f, -0.807131f, -0.842531f, -0.874622f, -0.903279f, -0.928389f, -0.949842f, -0.967562f, -0.981481f, -0.991547f, -0.997718f, -0.999972f, -0.998299f, -0.992705f, -0.983213f, -0.969852f, -0.952674f, -0.931756f, -0.907179f, -0.87904f, -0.847449f, -0.81253f, -0.774419f, -0.733268f, -0.689233f, -0.642483f, -0.593212f, -0.541611f, -0.487883f, -0.43224f, -0.374899f, -0.316086f, -0.25603f, -0.194969f, -0.133139f, -0.0707866f, -0.00815697f, 0.0545043f, 0.116951f, 0.178939f, 0.240225f, 0.300568f, 0.359731f, 0.417477f, 0.473581f, 0.527826f, 0.579997f, 0.629891f, 0.677311f, 0.722072f, 0.763997f, 0.802923f, 0.838687f, 0.871153f, 0.900198f, 0.925707f, 0.947581f, 0.965734f, 0.980095f, 0.990607f, 0.997229f, 0.999928f, 0.998692f, 0.993534f, 0.984475f, 0.97155f, 0.95481f, 0.93432f, 0.910161f, 0.882428f, 0.851227f, 0.816671f, 0.77891f, 0.738089f, 0.694371f, 0.647926f, 0.598937f, 0.547595f, 0.494102f, 0.438668f, 0.381505f, 0.322844f, 0.262916f, 0.201956f, 0.140203f, 0.0778989f, 0.0152889f, -0.0473816f, -0.109867f, -0.17192f, -0.233296f, -0.293755f, -0.353061f, -0.41098f, -0.467285f, -0.521755f, -0.574177f, -0.624345f, -0.672056f, -0.717122f, -0.759371f, -0.798639f, -0.83477f, -0.867623f, -0.897069f, -0.922992f, -0.945291f, -0.963874f, -0.97866f, -0.989604f, -0.996661f, -0.999804f, -0.999021f, -0.994315f, -0.985704f, -0.973222f, -0.956918f, -0.936841f, -0.913085f, -0.885744f, -0.854925f, -0.820749f, -0.78335f, -0.742874f, -0.699481f, -0.653341f, -0.604626f, -0.553535f, -0.500271f, -0.445043f, -0.388068f, -0.329569f, -0.269775f, -0.208921f, -0.147246f, -0.0849915f, -0.0224029f, 0.040273f, 0.10279f, 0.164904f, 0.22637f, 0.286947f, 0.346398f, 0.404489f, 0.460989f, 0.515675f, 0.568335f, 0.618762f, 0.66676f, 0.712139f, 0.754722f, 0.794341f, 0.830842f, 0.864078f, 0.893909f, 0.920229f, 0.942935f, 0.961939f, 0.977165f, 0.988553f, 0.99606f, 0.999655f, 0.999326f, 0.995057f, 0.986879f, 0.974827f, 0.958946f, 0.9393f, 0.915965f, 0.889034f, 0.858611f, 0.824815f, 0.787772f, 0.747631f, 0.704555f, 0.658712f, 0.610283f, 0.559458f, 0.506435f, 0.451423f, 0.394637f, 0.336299f, 0.276637f, 0.21589f, 0.154295f, 0.0920947f, 0.0295328f, -0.0331454f, -0.0956938f, -0.157867f, -0.21942f, -0.280109f, -0.339697f, -0.397951f, -0.454641f, -0.509546f, -0.562451f, -0.613147f, -0.661435f, -0.707127f, -0.75003f, -0.789988f, -0.826843f, -0.860451f, -0.89068f, -0.917411f, -0.94054f, -0.959975f, -0.975641f, -0.987463f, -0.995404f, -0.999436f, -0.999544f, -0.995726f, -0.987998f, -0.97639f, -0.960948f, -0.941733f, -0.91881f, -0.892273f, -0.862232f, -0.828806f, -0.792125f, -0.752333f, -0.709587f, -0.664054f, -0.615913f, -0.56535f, -0.51256f, -0.457758f, -0.40116f, -0.342986f, -0.283465f, -0.222831f, -0.161322f, -0.0991784f, -0.0366446f, 0.0260335f, 0.0886087f, 0.150835f, 0.212469f, 0.273269f, 0.332995f, 0.391415f, 0.448297f, 0.50342f, 0.556559f, 0.607511f, 0.656076f, 0.702065f, 0.745297f, 0.785602f, 0.822822f, 0.856812f, 0.887437f, 0.914568f, 0.938102f, 0.957952f, 0.97404f, 0.986303f, 0.994693f, 0.999177f, 0.999737f, 0.996372f, 0.989087f, 0.97791f, 0.962892f, 0.944093f, 0.921587f, 0.895462f, 0.865821f, 0.832779f, 0.796467f, 0.757024f, 0.714599f, 0.669368f, 0.621509f, 0.571209f, 0.518667f, 0.464087f, 0.407685f, 0.349681f, 0.290303f, 0.229781f, 0.168357f, 0.106272f, 0.0437706f, -0.0189026f, -0.0815018f, -0.143781f, -0.205496f, -0.266405f, -0.326265f, -0.384842f, -0.441907f, -0.497236f, -0.550612f, -0.601827f, -0.650678f, -0.696974f, -0.740534f, -0.781179f, -0.818751f, -0.853107f, -0.884113f, -0.911647f, -0.935601f, -0.955881f, -0.972407f, -0.985115f, -0.99395f, -0.99887f, -0.999868f, -0.996939f, -0.990096f, -0.979364f, -0.964787f, -0.946421f, -0.924338f, -0.898623f, -0.869367f, -0.836697f, -0.800741f, -0.761642f, -0.719551f, -0.674635f, -0.627069f, -0.577041f, -0.524746f, -0.470383f, -0.414172f, -0.356335f, -0.297099f, -0.236697f, -0.175365f, -0.113344f, -0.0508782f, 0.0117886f, 0.0744092f, 0.136737f, 0.198527f, 0.259537f, 0.319527f, 0.378263f, 0.435513f, 0.491054f, 0.544667f, 0.596138f, 0.645262f, 0.691851f, 0.735723f, 0.776706f, 0.814639f, 0.849373f, 0.880772f, 0.908712f, 0.933081f, 0.953774f, 0.970721f, 0.983856f, 0.993128f, 0.998499f, 0.99995f, 0.997474f, 0.991082f, 0.980797f, 0.966646f, 0.948698f, 0.927026f, 0.901713f, 0.872859f, 0.840577f, 0.804995f, 0.766251f, 0.724497f, 0.67989f, 0.63261f, 0.582847f, 0.530795f, 0.476659f, 0.420651f, 0.36299f, 0.303904f, 0.243624f, 0.182385f, 0.120429f, 0.0579999f, -0.00465617f, -0.0672937f, -0.129667f, -0.191531f, -0.252644f, -0.312765f, -0.371657f, -0.429084f, -0.484827f, -0.538665f, -0.590387f, -0.639791f, -0.686682f, -0.730878f, -0.772203f, -0.810496f, -0.845594f, -0.877371f, -0.905702f, -0.930476f, -0.951597f, -0.96898f, -0.982559f, -0.992279f, -0.998102f, -0.999993f, -0.997954f, -0.991996f, -0.982143f, -0.968433f, -0.95092f, -0.929673f, -0.904775f, -0.876323f, -0.844422f, -0.809199f, -0.770799f, -0.729372f, -0.685082f, -0.638101f, -0.588614f, -0.536815f, -0.482908f, -0.427101f, -0.369613f, -0.310674f, -0.250515f, -0.189373f, -0.127488f, -0.0651014f, -0.00245889f, 0.0601938f, 0.122611f, 0.184544f, 0.245752f, 0.305995f, 0.365036f, 0.422643f, 0.47859f, 0.532659f, 0.584636f, 0.634318f, 0.681499f, 0.726003f, 0.767656f, 0.806294f, 0.841765f, 0.873931f, 0.902665f, 0.927855f, 0.949401f, 0.967209f, 0.981213f, 0.991365f, 0.997623f, 0.999963f, 0.998378f, 0.992871f, 0.983466f, 0.970199f, 0.953115f, 0.93228f, 0.907783f, 0.879723f, 0.848208f, 0.813362f, 0.775322f, 0.734237f, 0.690268f, 0.643586f, 0.594369f, 0.542818f, 0.489136f, 0.433533f, 0.376228f, 0.317445f, 0.257415f, 0.196374f, 0.134561f, 0.0722177f, 0.0095913f, -0.0530722f, -0.115527f, -0.177528f, -0.238832f, -0.299198f, -0.35839f, -0.416175f, -0.472321f, -0.526609f, -0.57883f, -0.628777f, -0.676254f, -0.721076f, -0.763067f, -0.802061f, -0.837906f, -0.870454f, -0.899576f, -0.925166f, -0.947123f, -0.96536f, -0.979806f, -0.990405f, -0.997115f, -0.999909f, -0.99877f, -0.9937f, -0.984726f, -0.971887f, -0.95523f, -0.934823f, -0.910744f, -0.883089f, -0.851966f, -0.817495f, -0.779803f, -0.739048f, -0.695392f, -0.649005f, -0.60007f, -0.548778f, -0.495331f, -0.439938f, -0.382817f, -0.324187f, -0.264284f, -0.203344f, -0.141606f, -0.0793115f, -0.0167057f, 0.0459659f, 0.108458f, 0.170524f, 0.231919f, 0.292402f, 0.351736f, 0.409688f, 0.466031f, 0.520544f, 0.573013f, 0.623233f, 0.671005f, 0.716138f, 0.758453f, 0.797788f, 0.83399f, 0.866917f, 0.896439f, 0.922442f, 0.944822f, 0.963492f, 0.978375f, 0.989404f, 0.996548f, 0.999778f, 0.999082f, 0.994464f, 0.98594f, 0.973544f, 0.957326f, 0.937348f, 0.913674f, 0.886412f, 0.855669f, 0.821567f, 0.784239f, 0.74383f, 0.700501f, 0.654421f, 0.60577f, 0.554733f, 0.501515f, 0.446329f, 0.38939f, 0.330922f, 0.271155f, 0.210322f, 0.148664f, 0.0864207f, 0.023837f, -0.03884f, -0.101364f, -0.163489f, -0.224972f, -0.285572f, -0.34505f, -0.403174f, -0.459715f, -0.514449f, -0.567157f, -0.617637f, -0.665691f, -0.711131f, -0.753778f, -0.793466f, -0.830038f, -0.86335f, -0.893272f, -0.919672f, -0.94246f, -0.961548f, -0.976859f, -0.988334f, -0.995928f, -0.999611f, -0.999369f, -0.995202f, -0.987114f, -0.975147f, -0.95935f, -0.939787f, -0.916533f, -0.889679f, -0.859333f, -0.825611f, -0.788646f, -0.748577f, -0.705564f, -0.65978f, -0.611406f, -0.560631f, -0.507655f, -0.452685f, -0.395936f, -0.337633f, -0.278001f, -0.217274f, -0.155695f, -0.0935058f, -0.0309491f, 0.031729f, 0.0942827f, 0.156467f, 0.218037f, 0.27875f, 0.338366f, 0.396652f, 0.453379f, 0.508326f, 0.561277f, 0.612024f, 0.660368f, 0.706119f, 0.749097f, 0.789123f, 0.826048f, 0.85973f, 0.890035f, 0.916845f, 0.940054f, 0.959572f, 0.975322f, 0.987242f, 0.995274f, 0.999393f, 0.999588f, 0.995858f, 0.988217f, 0.976695f, 0.961339f, 0.942207f, 0.919374f, 0.892924f, 0.862961f, 0.829609f, 0.792999f, 0.753276f, 0.710594f, 0.665122f, 0.617038f, 0.56653f, 0.513795f, 0.459036f, 0.402475f, 0.344333f, 0.28484f, 0.224229f, 0.162737f, 0.100605f, 0.0380777f, -0.0245999f, -0.0871804f, -0.149418f, -0.211068f, -0.271889f, -0.331642f, -0.390093f, -0.447012f, -0.502177f, -0.55537f, -0.606374f, -0.654996f, -0.701045f, -0.74434f, -0.784713f, -0.822004f, -0.856067f, -0.886768f, -0.913988f, -0.93761f, -0.957544f, -0.973717f, -0.986066f, -0.994543f, -0.999115f, -0.999763f, -0.996485f, -0.989294f, -0.978213f, -0.963279f, -0.944563f, -0.922139f, -0.896093f, -0.866528f, -0.83356f, -0.797319f, -0.757946f, -0.715595f, -0.670424f, -0.622621f, -0.572373f, -0.519877f, -0.465341f, -0.408977f, -0.351006f, -0.291657f, -0.231161f, -0.169754f, -0.107681f, -0.0451864f, 0.0174859f, 0.0800893f, 0.142378f, 0.204108f, 0.265038f, 0.324927f, 0.383536f, 0.440637f, 0.496007f, 0.549429f, 0.600694f, 0.649599f, 0.695954f, 0.739576f, 0.780294f, 0.817942f, 0.852371f, 0.883453f, 0.911065f, 0.935099f, 0.955461f, 0.972072f, 0.984865f, 0.99379f, 0.99881f, 0.999894f, 0.997053f, 0.990297f, 0.979652f, 0.96516f, 0.946878f, 0.924877f, 0.899245f, 0.87008f, 0.837485f, 0.801602f, 0.762571f, 0.720546f, 0.675691f, 0.628183f, 0.578208f, 0.525962f, 0.47165f, 0.415479f, 0.357676f, 0.298469f, 0.23809f, 0.176777f, 0.114769f, 0.0523104f, -0.0103543f, -0.0729789f, -0.135317f, -0.197122f, -0.258152f, -0.318168f, -0.376934f, -0.43422f, -0.489802f, -0.54346f, -0.594984f, -0.64417f, -0.690818f, -0.734754f, -0.775803f, -0.813806f, -0.848613f, -0.880088f, -0.908107f, -0.93256f, -0.953349f, -0.970381f, -0.983602f, -0.992961f, -0.99842f, -0.999958f, -0.99757f, -0.991264f, -0.981066f, -0.967015f, -0.949152f, -0.927561f, -0.902327f, -0.873551f, -0.841344f, -0.805833f, -0.767157f, -0.725468f, -0.680931f, -0.633712f, -0.584001f, -0.531997f, -0.477904f, -0.421935f, -0.364309f, -0.305253f, -0.244997f, -0.183778f, -0.121836f, -0.0594147f, 0.00323918f, 0.0658799f, 0.128262f, 0.19014f, 0.251271f, 0.311416f, 0.370339f, 0.427807f, 0.483589f, 0.537472f, 0.589244f, 0.638701f, 0.68565f, 0.729907f, 0.771298f, 0.80966f, 0.844843f, 0.876695f, 0.905104f, 0.929958f, 0.95116f, 0.968627f, 0.982291f, 0.992097f, 0.998007f, 0.999998f, 0.998051f, 0.99218f, 0.982414f, 0.968789f, 0.951361f, 0.930196f, 0.905379f, 0.877006f, 0.845189f, 0.810045f, 0.771715f, 0.730354f, 0.686126f, 0.639204f, 0.589771f, 0.538022f, 0.48416f, 0.428397f, 0.370948f, 0.312039f, 0.251905f, 0.190782f, 0.12891f, 0.0665325f, 0.00389322f, -0.0587617f, -0.121186f, -0.183136f, -0.244363f, -0.30463f, -0.363701f, -0.421342f, -0.477329f, -0.531442f, -0.583468f, -0.633203f, -0.680453f, -0.725021f, -0.766739f, -0.805446f, -0.84099f, -0.873232f, -0.902044f, -0.927314f, -0.948943f, -0.966846f, -0.980942f, -0.99118f, -0.997526f, -0.999954f, -0.998456f, -0.993037f, -0.983718f, -0.970536f, -0.953543f, -0.932799f, -0.908383f, -0.880399f, -0.848959f, -0.814186f, -0.776215f, -0.735196f, -0.691289f, -0.644668f, -0.595512f, -0.54401f, -0.490373f, -0.43481f, -0.37754f, -0.318788f, -0.258783f, -0.197762f, -0.135964f, -0.0736314f, -0.0110083f, 0.0516573f, 0.114119f, 0.176133f, 0.237455f, 0.297844f, 0.357065f, 0.414883f, 0.471073f, 0.525408f, 0.577676f, 0.627676f, 0.67521f, 0.720093f, 0.762148f, 0.80121f, 0.837126f, 0.869756f, 0.898963f, 0.924632f, 0.94667f, 0.96499f, 0.979521f, 0.990206f, 0.997002f, 0.999882f, 0.998837f, 0.993866f, 0.98498f, 0.972226f, 0.955654f, 0.93533f, 0.911333f, 0.883757f, 0.85271f, 0.818315f, 0.780705f, 0.740017f, 0.696424f, 0.650096f, 0.601216f, 0.549975f, 0.496574f, 0.441223f, 0.384139f, 0.325545f, 0.265669f, 0.204749f, 0.143026f, 0.0807413f, 0.0181398f, -0.0445329f, -0.107031f, -0.169109f, -0.230524f, -0.291032f, -0.350394f, -0.40838f, -0.464762f, -0.519319f, -0.571836f, -0.622108f, -0.669937f, -0.715136f, -0.757522f, -0.796926f, -0.8332f, -0.866202f, -0.895802f, -0.921885f, -0.944347f, -0.963101f, -0.978073f, -0.989202f, -0.996433f, -0.999751f, -0.999143f, -0.994611f, -0.986174f, -0.973864f, -0.95773f, -0.937834f, -0.914255f, -0.887073f, -0.856406f, -0.822377f, -0.785118f, -0.744776f, -0.70151f, -0.655488f, -0.606892f, -0.555913f, -0.502744f, -0.447598f, -0.390696f, -0.332259f, -0.272518f, -0.211707f, -0.150064f, -0.0878317f, -0.0252536f, 0.0374243f, 0.0999545f, 0.162091f, 0.223592f, 0.284213f, 0.343719f, 0.401875f, 0.458453f, 0.513232f, 0.565993f, 0.616525f, 0.664636f, 0.710135f, 0.752846f, 0.792601f, 0.829243f, 0.862629f, 0.892628f, 0.919122f, 0.941991f, 0.961161f, 0.976557f, 0.988118f, 0.995798f, 0.999568f, 0.999413f, 0.995334f, 0.987346f, 0.975469f, 0.959757f, 0.940277f, 0.917105f, 0.890331f, 0.860061f, 0.826414f, 0.789521f, 0.749527f, 0.706583f, 0.66086f, 0.612542f, 0.561819f, 0.508889f, 0.453962f, 0.397251f, 0.33898f, 0.279377f, 0.218676f, 0.157113f, 0.094934f, 0.0323828f, -0.0302954f, -0.0928545f, -0.155049f, -0.216635f, -0.277371f, -0.337018f, -0.395337f, -0.452102f, -0.507092f, -0.56009f, -0.610888f, -0.659288f, -0.705098f, -0.748141f, -0.788246f, -0.825244f, -0.859f, -0.889382f, -0.916271f, -0.939563f, -0.959164f, -0.974999f, -0.987006f, -0.995137f, -0.999349f, -0.999631f, -0.995988f, -0.988434f, -0.976998f, -0.961726f, -0.942677f, -0.919926f, -0.893562f, -0.863683f, -0.830404f, -0.793865f, -0.754209f, -0.711591f, -0.666178f, -0.61815f, -0.567694f, -0.515008f, -0.460297f, -0.403774f, -0.345665f, -0.286199f, -0.225609f, -0.164134f, -0.102014f, -0.0394934f, 0.0231831f, 0.0857693f, 0.148017f, 0.209683f, 0.270526f, 0.330305f, 0.388787f, 0.445743f, 0.500948f, 0.554187f, 0.60525f, 0.653929f, 0.700037f, 0.743395f, 0.783834f, 0.821195f, 0.855331f, 0.886108f, 0.913406f, 0.937117f, 0.957141f, 0.973398f, 0.985833f, 0.994396f, 0.999054f, 0.99979f, 0.996599f, 0.989496f, 0.978506f, 0.963669f, 0.945037f, 0.922695f, 0.896729f, 0.867241f, 0.834349f, 0.79818f, 0.758876f, 0.716592f, 0.671492f, 0.623746f, 0.57355f, 0.521103f, 0.46661f, 0.410284f, 0.352347f, 0.293027f, 0.232555f, 0.171169f, 0.109108f, 0.0466194f, -0.0160518f, -0.0786595f, -0.140958f, -0.202703f, -0.263653f, -0.323567f, -0.382212f, -0.439352f, -0.494764f, -0.548232f, -0.599547f, -0.648507f, -0.694921f, -0.738606f, -0.779391f, -0.817116f, -0.851627f, -0.882785f, -0.910476f, -0.934591f, -0.955037f, -0.971732f, -0.984611f, -0.993623f, -0.998734f, -0.999921f, -0.997167f, -0.990497f, -0.979938f, -0.96553f, -0.947332f, -0.925413f, -0.899859f, -0.870772f, -0.838265f, -0.802454f, -0.763491f, -0.72153f, -0.676736f, -0.629285f, -0.579362f, -0.527164f, -0.472896f, -0.416769f, -0.359001f, -0.299823f, -0.239467f, -0.178172f, -0.116176f, -0.0537252f, 0.00893726f, 0.0715651f, 0.133913f, 0.195734f, 0.256784f, 0.316825f, 0.375622f, 0.432943f, 0.488564f, 0.542267f, 0.593841f, 0.643083f, 0.689798f, 0.733796f, 0.774911f, 0.812983f, 0.847862f, 0.879412f, 0.907509f, 0.932041f, 0.952915f, 0.970045f, 0.983351f, 0.992796f, 0.998342f, 0.999967f, 0.997666f, 0.991448f, 0.981336f, 0.967371f, 0.949607f, 0.928101f, 0.902947f, 0.874249f, 0.842117f, 0.806679f, 0.768073f, 0.726451f, 0.681975f, 0.634821f, 0.585168f, 0.533213f, 0.479165f, 0.423236f, 0.365644f, 0.306617f, 0.246386f, 0.185187f, 0.123259f, 0.0608469f, -0.00180486f, -0.0644488f, -0.126839f, -0.188731f, -0.249882f, -0.310052f, -0.369004f, -0.426508f, -0.482337f, -0.536265f, -0.588086f, -0.637598f, -0.684605f, -0.728924f, -0.770381f, -0.808813f, -0.844068f, -0.87601f, -0.904499f, -0.929434f, -0.950719f, -0.96827f, -0.98202f, -0.991912f, -0.99791f, -0.999989f, -0.998141f, -0.992363f, -0.982682f, -0.969143f, -0.951798f, -0.930715f, -0.905978f, -0.877683f, -0.84594f, -0.810876f, -0.772621f, -0.731326f, -0.687159f, -0.640294f, -0.590915f, -0.539215f, -0.485398f, -0.429674f, -0.372262f, -0.313387f, -0.253277f, -0.192173f, -0.130316f, -0.0679462f, -0.00531021f, 0.0573468f, 0.119779f, 0.181741f, 0.242991f, 0.303282f, 0.362382f, 0.420058f, 0.476084f, 0.53024f, 0.582315f, 0.632102f, 0.679409f, 0.724047f, 0.765833f, 0.804609f, 0.840225f, 0.872541f, 0.90143f, 0.92678f, 0.948491f, 0.966476f, 0.980667f, 0.990998f, 0.99743f, 0.999946f, 0.998535f, 0.993203f, 0.983971f, 0.970875f, 0.953967f, 0.933312f, 0.908987f, 0.881082f, 0.849718f, 0.815018f, 0.777117f, 0.736165f, 0.692321f, 0.645759f, 0.59666f, 0.545217f, 0.491625f, 0.436103f, 0.378869f, 0.320147f, 0.260168f, 0.199167f, 0.137384f, 0.0750612f, 0.0124426f, -0.0502251f, -0.112695f, -0.174721f, -0.236062f, -0.296474f, -0.355723f, -0.413575f, -0.469804f, -0.524188f, -0.576508f, -0.626561f, -0.674153f, -0.719097f, -0.761218f, -0.800349f, -0.836337f, -0.869041f, -0.898333f, -0.924091f, -0.946212f, -0.964616f, -0.979233f, -0.990004f, -0.996887f, -0.999856f, -0.998898f, -0.994018f, -0.985231f, -0.972562f, -0.956075f, -0.935833f, -0.911916f, -0.884418f, -0.853447f, -0.819124f, -0.781585f, -0.740975f, -0.697445f, -0.651176f, -0.60235f, -0.551158f, -0.497803f, -0.442493f, -0.385445f, -0.326882f, -0.267036f, -0.206137f, -0.144429f, -0.0821538f, -0.0195566f, 0.0431172f, 0.105622f, 0.167712f, 0.229144f, 0.289676f, 0.349069f, 0.407088f, 0.463508f, 0.518108f, 0.570672f, 0.620996f, 0.668881f, 0.71414f, 0.756595f, 0.796075f, 0.83242f, 0.865496f, 0.895173f, 0.921334f, 0.943878f, 0.962715f, 0.977771f, 0.988988f, 0.99632f, 0.999725f, 0.999205f, 0.99476f, 0.98641f, 0.974186f, 0.958137f, 0.938325f, 0.914828f, 0.887738f, 0.85715f, 0.823195f, 0.786007f, 0.745732f, 0.70253f, 0.656568f, 0.608028f, 0.5571f, 0.503984f, 0.448883f, 0.392017f, 0.333613f, 0.273898f, 0.213108f, 0.151482f, 0.08926f, 0.0266873f, -0.0359909f, -0.0985279f, -0.160677f, -0.222194f, -0.282838f, -0.342371f, -0.40056f, -0.457176f, -0.511997f, -0.564808f, -0.6154f, -0.663567f, -0.709127f, -0.751903f, -0.791725f, -0.828439f, -0.861899f, -0.891975f, -0.918549f, -0.941515f, -0.96077f, -0.976251f, -0.987898f, -0.995666f, -0.999524f, -0.999457f, -0.995464f, -0.987563f, -0.975784f, -0.960161f, -0.940764f, -0.917672f, -0.890977f, -0.860783f, -0.827209f, -0.790387f, -0.75046f, -0.707586f, -0.661928f, -0.613665f, -0.562992f, -0.510109f, -0.455224f, -0.39855f, -0.340311f, -0.280736f, -0.220057f, -0.158513f, -0.0963451f, -0.0337991f, 0.028879f, 0.0914434f, 0.153649f, 0.215251f, 0.276008f, 0.335682f, 0.394038f, 0.45084f, 0.505872f, 0.558916f, 0.609766f, 0.65822f, 0.70409f, 0.747196f, 0.787367f, 0.824447f, 0.858279f, 0.888737f, 0.915705f, 0.939077f, 0.958761f, 0.97468f, 0.986772f, 0.994989f, 0.999299f, 0.999675f, 0.99612f, 0.988652f, 0.977303f, 0.962116f, 0.943151f, 0.920482f, 0.894198f, 0.864402f, 0.831207f, 0.79474f, 0.755151f, 0.712598f, 0.667247f, 0.619275f, 0.568872f, 0.516234f, 0.461568f, 0.405088f, 0.347012f, 0.287574f, 0.227007f, 0.165549f, 0.103441f, 0.0409265f, -0.021749f, -0.0843396f, -0.1466f, -0.208282f, -0.269145f, -0.328951f, -0.387465f, -0.444457f, -0.499704f, -0.552989f, -0.604103f, -0.652845f, -0.699016f, -0.742438f, -0.782945f, -0.820376f, -0.854586f, -0.88544f, -0.912817f, -0.936609f, -0.956724f, -0.973075f, -0.985596f, -0.994246f, -0.998993f, -0.999816f, -0.996713f, -0.989695f, -0.978792f, -0.964044f, -0.945508f, -0.923246f, -0.897359f, -0.867948f, -0.83513f, -0.799031f, -0.759795f, -0.717576f, -0.672537f, -0.624858f, -0.574714f, -0.522314f, -0.467864f, -0.411576f, -0.353673f, -0.29438f, -0.233931f, -0.172563f, -0.110517f, -0.0480351f, 0.014635f, 0.077247f, 0.139555f, 0.201315f, 0.262285f, 0.322225f, 0.380899f, 0.438079f, 0.493535f, 0.547049f, 0.598414f, 0.647429f, 0.693901f, 0.737648f, 0.778499f, 0.816292f, 0.850881f, 0.882124f, 0.909894f, 0.934089f, 0.954617f, 0.971396f, 0.98436f, 0.993459f, 0.998656f, 0.999932f, 0.997281f, 0.990698f, 0.980226f, 0.965904f, 0.947789f, 0.925952f, 0.90048f, 0.871471f, 0.839039f, 0.803313f, 0.76442f, 0.722525f, 0.677792f, 0.630399f, 0.580529f, 0.528381f, 0.474156f, 0.41807f, 0.360341f, 0.301193f, 0.240861f, 0.179583f, 0.117601f, 0.0551574f, -0.00750294f, -0.070134f, -0.13249f, -0.194327f, -0.255399f, -0.315466f, -0.374293f, -0.43165f, -0.487312f, -0.54106f, -0.592684f, -0.64198f, -0.688756f, -0.732826f, -0.774008f, -0.81215f, -0.847102f, -0.878728f, -0.906903f, -0.931517f, -0.952473f, -0.969689f, -0.983097f, -0.992629f, -0.998262f, -0.999976f, -0.997762f, -0.991631f, -0.981605f, -0.967724f, -0.950044f, -0.928632f, -0.903562f, -0.874941f, -0.842884f, -0.807517f, -0.768979f, -0.727422f, -0.683008f, -0.635911f, -0.586317f, -0.534415f, -0.480411f, -0.42452f, -0.366963f, -0.307965f, -0.247758f, -0.186578f, -0.124665f, -0.062261f, 0.000387869f, 0.063035f, 0.125434f, 0.18734f, 0.24851f, 0.308704f, 0.367685f, 0.425224f, 0.481093f, 0.535073f, 0.586943f, 0.636508f, 0.683573f, 0.727954f, 0.769475f, 0.807975f, 0.843303f, 0.875319f, 0.903898f, 0.928916f, 0.950283f, 0.967918f, 0.981752f, 0.99173f, 0.997815f, 0.999981f, 0.99822f, 0.99254f, 0.982953f, 0.969499f, 0.952239f, 0.931239f, 0.906582f, 0.878365f, 0.846699f, 0.811708f, 0.773529f, 0.732308f, 0.688203f, 0.641397f, 0.592072f, 0.540422f, 0.48665f, 0.430967f, 0.373591f, 0.314747f, 0.254666f, 0.193582f, 0.131738f, 0.0693773f, 0.00674454f, -0.0559146f, -0.118354f, -0.18033f, -0.241597f, -0.301917f, -0.361047f, -0.418757f, -0.474823f, -0.529024f, -0.581147f, -0.630988f, -0.678352f, -0.723052f, -0.764913f, -0.803762f, -0.83945f, -0.871842f, -0.900809f, -0.926239f, -0.948032f, -0.966102f, -0.980379f, -0.990805f, -0.997334f, -0.999937f, -0.998613f, -0.993368f, -0.984223f, -0.971212f, -0.954387f, -0.933815f, -0.909575f, -0.881759f, -0.85047f, -0.815842f, -0.77801f, -0.737123f, -0.693342f, -0.646838f, -0.597794f, -0.546401f, -0.492862f, -0.43738f, -0.380181f, -0.32149f, -0.261536f, -0.200555f, -0.138787f, -0.0764737f, -0.0138594f, 0.0488101f, 0.111287f, 0.173327f, 0.234685f, 0.295121f, 0.354398f, 0.412283f, 0.46855f, 0.522977f, 0.575351f, 0.625461f, 0.673109f, 0.718114f, 0.760299f, 0.799498f, 0.835557f, 0.868335f, 0.897704f, 0.923547f, 0.945759f, 0.964247f, 0.978948f, 0.989805f, 0.996774f, 0.99983f, 0.99896f, 0.994167f, 0.98547f, 0.972902f, 0.956499f, 0.93634f, 0.912504f, 0.885085f, 0.854191f, 0.819942f, 0.782473f, 0.741932f, 0.698476f, 0.652267f, 0.603496f, 0.552356f, 0.499047f, 0.443778f, 0.386766f, 0.328236f, 0.268416f, 0.207541f, 0.145849f, 0.0835836f, 0.0209907f, -0.0416842f, -0.104195f, -0.166297f, -0.227746f, -0.288301f, -0.347725f, -0.405781f, -0.462239f, -0.516882f, -0.569494f, -0.619871f, -0.667812f, -0.713132f, -0.755651f, -0.795203f, -0.831631f, -0.864781f, -0.894536f, -0.920777f, -0.943403f, -0.962324f, -0.977466f, -0.988769f, -0.99619f, -0.999699f, -0.999266f, -0.994908f, -0.986644f, -0.974506f, -0.958541f, -0.938811f, -0.915395f, -0.888384f, -0.857884f, -0.824004f, -0.786886f, -0.746678f, -0.703538f, -0.657636f, -0.609151f, -0.558274f, -0.505204f, -0.45015f, -0.393323f, -0.33495f, -0.275262f, -0.214493f, -0.152882f, -0.090671f, -0.0281036f, 0.0345745f, 0.0971175f, 0.159279f, 0.220813f, 0.28148f, 0.34104f, 0.399261f, 0.455914f, 0.510777f, 0.563635f, 0.614279f, 0.662511f, 0.708132f, 0.750971f, 0.790861f, 0.827644f, 0.861178f, 0.89133f, 0.917982f, 0.94103f, 0.960382f, 0.975949f, 0.987682f, 0.995536f, 0.99948f, 0.9995f, 0.995596f, 0.987782f, 0.976089f, 0.960563f, 0.941254f, 0.918244f, 0.891629f, 0.861512f, 0.828013f, 0.791261f, 0.751403f, 0.708594f, 0.663001f, 0.614801f, 0.56418f, 0.511344f, 0.456501f, 0.399865f, 0.341659f, 0.282111f, 0.221455f, 0.159929f, 0.0977733f, 0.0352328f, -0.0274453f, -0.0900152f, -0.152231f, -0.213849f, -0.274628f, -0.334328f, -0.392716f, -0.449563f, -0.504637f, -0.557729f, -0.608629f, -0.65714f, -0.70307f, -0.746239f, -0.786478f, -0.823628f, -0.857545f, -0.888084f, -0.915132f, -0.938586f, -0.958353f, -0.974358f, -0.986536f, -0.99484f, -0.999237f, -0.999711f, -0.99625f, -0.98887f, -0.977606f, -0.962503f, -0.943621f, -0.921033f, -0.894828f, -0.865109f, -0.831993f, -0.795605f, -0.756084f, -0.713594f, -0.668303f, -0.620387f, -0.570035f, -0.517445f, -0.462822f, -0.406381f, -0.348343f, -0.288932f, -0.228388f, -0.166947f, -0.10485f, -0.0423422f, 0.0203322f, 0.082927f, 0.145197f, 0.206897f, 0.267782f, 0.327614f, 0.38616f, 0.443188f, 0.498476f, 0.551806f, 0.60297f, 0.651766f, 0.698003f, 0.741493f, 0.782066f, 0.819567f, 0.85385f, 0.88478f, 0.912235f, 0.936107f, 0.956304f, 0.972746f, 0.985362f, 0.994099f, 0.998932f, 0.999842f, 0.996827f, 0.989897f, 0.97908f, 0.964418f, 0.945968f, 0.923802f, 0.897995f, 0.868662f, 0.835918f, 0.799892f, 0.760725f, 0.71857f, 0.673594f, 0.625972f, 0.575891f, 0.52354f, 0.469133f, 0.412884f, 0.355014f, 0.29575f, 0.235325f, 0.173975f, 0.111942f, 0.0494679f, -0.0132009f, -0.0758172f, -0.138135f, -0.19991f, -0.2609f, -0.320865f, -0.379571f, -0.436786f, -0.492287f, -0.545851f, -0.597267f, -0.646337f, -0.692868f, -0.736678f, -0.777596f, -0.815459f, -0.850121f, -0.881445f, -0.909304f, -0.933581f, -0.954192f, -0.971056f, -0.984106f, -0.993292f, -0.998577f, -0.999941f, -0.997378f, -0.990898f, -0.980511f, -0.966274f, -0.948243f, -0.926488f, -0.901094f, -0.872163f, -0.839806f, -0.804151f, -0.765337f, -0.723509f, -0.678837f, -0.6315f, -0.581683f, -0.529582f, -0.475402f, -0.419354f, -0.36166f, -0.302544f, -0.242237f, -0.180978f, -0.119008f, -0.0565722f, 0.00608595f, 0.0687202f, 0.131085f, 0.192935f, 0.254028f, 0.314123f, 0.372981f, 0.430373f, 0.486075f, 0.539868f, 0.591541f, 0.64089f, 0.687724f, 0.731857f, 0.773116f, 0.811327f, 0.846352f, 0.878053f, 0.906305f, 0.930999f, 0.952037f, 0.969336f, 0.982829f, 0.992463f, 0.998184f, 0.999985f, 0.997859f, 0.991814f, 0.981875f, 0.968081f, 0.950484f, 0.929155f, 0.904177f, 0.875639f, 0.843658f, 0.808363f, 0.769895f, 0.728404f, 0.684052f, 0.637014f, 0.587474f, 0.535627f, 0.481672f, 0.425821f, 0.368298f, 0.30933f, 0.249147f, 0.187986f, 0.126087f, 0.0636921f, 0.00104646f, -0.0616039f, -0.124011f, -0.185931f, -0.24712f, -0.307339f, -0.36635f, -0.423923f, -0.479832f, -0.533857f, -0.585786f, -0.635405f, -0.682528f, -0.726971f, -0.768559f, -0.807128f, -0.842528f, -0.87462f, -0.903277f, -0.928388f, -0.949841f, -0.967561f, -0.98148f, -0.991546f, -0.997718f, -0.999972f, -0.998299f, -0.992706f, -0.983214f, -0.969853f, -0.952676f, -0.931758f, -0.907181f, -0.879042f, -0.847451f, -0.812532f, -0.774422f, -0.733271f, -0.689236f, -0.642487f, -0.593215f, -0.541615f, -0.487887f, -0.432244f, -0.374903f, -0.31609f, -0.256035f, -0.194973f, -0.133143f, -0.0707911f, -0.00816153f, 0.0544998f, 0.116947f, 0.178935f, 0.240221f, 0.300564f, 0.359727f, 0.417473f, 0.473577f, 0.527822f, 0.579993f, 0.629887f, 0.677308f, 0.722068f, 0.763994f, 0.80292f, 0.838685f, 0.871151f, 0.900196f, 0.925705f, 0.94758f, 0.965733f, 0.980094f, 0.990606f, 0.997228f, 0.999928f, 0.998692f, 0.993535f, 0.984476f, 0.971551f, 0.954811f, 0.934322f, 0.910163f, 0.88243f, 0.851229f, 0.816674f, 0.778912f, 0.738092f, 0.694374f, 0.647929f, 0.59894f, 0.547599f, 0.494106f, 0.438673f, 0.38151f, 0.322849f, 0.262921f, 0.20196f, 0.140207f, 0.0779035f, 0.0152935f, -0.0473771f, -0.109862f, -0.171915f, -0.233291f, -0.293751f, -0.353057f, -0.410976f, -0.467281f, -0.521751f, -0.574173f, -0.624341f, -0.672052f, -0.717119f, -0.759368f, -0.798636f, -0.834767f, -0.86762f, -0.897067f, -0.92299f, -0.94529f, -0.963873f, -0.978659f, -0.989603f, -0.99666f, -0.999804f, -0.999021f, -0.994315f, -0.985705f, -0.973223f, -0.956919f, -0.936843f, -0.913087f, -0.885747f, -0.854928f, -0.820752f, -0.783353f, -0.742877f, -0.699484f, -0.653344f, -0.604629f, -0.553539f, -0.500275f, -0.445048f, -0.388072f, -0.329573f, -0.269779f, -0.208926f, -0.147251f, -0.0849961f, -0.0224075f, 0.0402685f, 0.102786f, 0.164899f, 0.226365f, 0.286943f, 0.346393f, 0.404485f, 0.460985f, 0.515671f, 0.568331f, 0.618759f, 0.666757f, 0.712136f, 0.754719f, 0.794339f, 0.830839f, 0.864075f, 0.893907f, 0.920227f, 0.942934f, 0.961937f, 0.977163f, 0.988552f, 0.996059f, 0.999655f, 0.999326f, 0.995057f, 0.98688f, 0.974828f, 0.958948f, 0.939302f, 0.915967f, 0.889036f, 0.858613f, 0.824818f, 0.787775f, 0.747634f, 0.704558f, 0.658716f, 0.610287f, 0.559462f, 0.506439f, 0.451427f, 0.394642f, 0.336303f, 0.276642f, 0.215894f, 0.1543f, 0.0920993f, 0.0295373f, -0.0331408f, -0.0956892f, -0.157862f, -0.219416f, -0.280105f, -0.339693f, -0.397946f, -0.454637f, -0.509542f, -0.562447f, -0.613143f, -0.661432f, -0.707124f, -0.750027f, -0.789985f, -0.82684f, -0.860448f, -0.890678f, -0.917409f, -0.940538f, -0.959974f, -0.97564f, -0.987463f, -0.995404f, -0.999436f, -0.999544f, -0.995727f, -0.987999f, -0.976391f, -0.96095f, -0.941734f, -0.918812f, -0.892275f, -0.862234f, -0.828808f, -0.792127f, -0.752336f, -0.70959f, -0.664057f, -0.615917f, -0.565353f, -0.512564f, -0.457763f, -0.401164f, -0.34299f, -0.28347f, -0.222836f, -0.161326f, -0.0991829f, -0.0366492f, 0.026029f, 0.0886042f, 0.150831f, 0.212465f, 0.273265f, 0.332991f, 0.39141f, 0.448293f, 0.503416f, 0.556555f, 0.607507f, 0.656073f, 0.702062f, 0.745294f, 0.785599f, 0.82282f, 0.856809f, 0.887435f, 0.914566f, 0.9381f, 0.95795f, 0.974039f, 0.986302f, 0.994692f, 0.999176f, 0.999737f, 0.996373f, 0.989088f, 0.977911f, 0.962893f, 0.944095f, 0.921589f, 0.895464f, 0.865823f, 0.832782f, 0.79647f, 0.757027f, 0.714602f, 0.669371f, 0.621512f, 0.571213f, 0.51867f, 0.464091f, 0.407689f, 0.349685f, 0.290307f, 0.229785f, 0.168361f, 0.106277f, 0.0437752f, -0.0188981f, -0.0814973f, -0.143777f, -0.205492f, -0.266401f, -0.326261f, -0.384838f, -0.441903f, -0.497232f, -0.550609f, -0.601823f, -0.650674f, -0.696971f, -0.740531f, -0.781177f, -0.818749f, -0.853105f, -0.884111f, -0.911645f, -0.9356f, -0.95588f, -0.972406f, -0.985115f, -0.99395f, -0.99887f, -0.999868f, -0.99694f, -0.990097f, -0.979365f, -0.964788f, -0.946422f, -0.924339f, -0.898625f, -0.869369f, -0.836699f, -0.800744f, -0.761645f, -0.719554f, -0.674638f, -0.627073f, -0.577045f, -0.52475f, -0.470387f, -0.414176f, -0.356339f, -0.297104f, -0.236701f, -0.17537f, -0.113349f, -0.0508827f, 0.011784f, 0.0744047f, 0.136732f, 0.198522f, 0.259532f, 0.319523f, 0.378259f, 0.435509f, 0.49105f, 0.544663f, 0.596134f, 0.645258f, 0.691848f, 0.73572f, 0.776703f, 0.814636f, 0.84937f, 0.880769f, 0.90871f, 0.93308f, 0.953773f, 0.97072f, 0.983855f, 0.993127f, 0.998499f, 0.99995f, 0.997474f, 0.991082f, 0.980798f, 0.966647f, 0.9487f, 0.927027f, 0.901715f, 0.872861f, 0.84058f, 0.804997f, 0.766253f, 0.7245f, 0.679893f, 0.632614f, 0.582851f, 0.530799f, 0.476663f, 0.420655f, 0.362995f, 0.303909f, 0.243629f, 0.18239f, 0.120433f, 0.0580044f, -0.00465162f, -0.0672891f, -0.129662f, -0.191527f, -0.252639f, -0.31276f, -0.371652f, -0.42908f, -0.484823f, -0.538661f, -0.590383f, -0.639787f, -0.686679f, -0.730875f, -0.7722f, -0.810494f, -0.845592f, -0.877369f, -0.9057f, -0.930475f, -0.951595f, -0.968979f, -0.982558f, -0.992278f, -0.998102f, -0.999993f, -0.997955f, -0.991997f, -0.982144f, -0.968434f, -0.950922f, -0.929674f, -0.904776f, -0.876325f, -0.844424f, -0.809201f, -0.770802f, -0.729375f, -0.685085f, -0.638104f, -0.588618f, -0.536819f, -0.482912f, -0.427105f, -0.369617f, -0.310678f, -0.25052f, -0.189378f, -0.127492f, -0.0651059f, -0.00246345f, 0.0601893f, 0.122606f, 0.18454f, 0.245748f, 0.305991f, 0.365031f, 0.422639f, 0.478586f, 0.532655f, 0.584632f, 0.634314f, 0.681496f, 0.726f, 0.767653f, 0.806291f, 0.841763f, 0.873929f, 0.902663f, 0.927853f, 0.9494f, 0.967208f, 0.981213f, 0.991364f, 0.997622f, 0.999963f, 0.998378f, 0.992872f, 0.983467f, 0.9702f, 0.953116f, 0.932281f, 0.907785f, 0.879725f, 0.84821f, 0.813364f, 0.775325f, 0.73424f, 0.690272f, 0.64359f, 0.594372f, 0.542822f, 0.48914f, 0.433537f, 0.376232f, 0.317449f, 0.25742f, 0.196379f, 0.134566f, 0.0722222f, 0.00959586f, -0.0530676f, -0.115522f, -0.177523f, -0.238827f, -0.299194f, -0.358386f, -0.416171f, -0.472317f, -0.526605f, -0.578826f, -0.628773f, -0.676251f, -0.721073f, -0.763064f, -0.802058f, -0.837904f, -0.870452f, -0.899574f, -0.925164f, -0.947121f, -0.965359f, -0.979805f, -0.990404f, -0.997114f, -0.999908f, -0.998771f, -0.9937f, -0.984727f, -0.971888f, -0.955232f, -0.934824f, -0.910746f, -0.883091f, -0.851968f, -0.817498f, -0.779805f, -0.739051f, -0.695395f, -0.649009f, -0.600073f, -0.548782f, -0.495335f, -0.439942f, -0.382821f, -0.324191f, -0.264289f, -0.203349f, -0.14161f, -0.079316f, -0.0167103f, 0.0459614f, 0.108453f, 0.17052f, 0.231915f, 0.292398f, 0.351731f, 0.409684f, 0.466027f, 0.52054f, 0.57301f, 0.623229f, 0.671002f, 0.716135f, 0.75845f, 0.797785f, 0.833987f, 0.866914f, 0.896437f, 0.92244f, 0.94482f, 0.963491f, 0.978375f, 0.989404f, 0.996547f, 0.999777f, 0.999082f, 0.994464f, 0.985941f, 0.973545f, 0.957327f, 0.937349f, 0.913675f, 0.886414f, 0.855672f, 0.82157f, 0.784241f, 0.743833f, 0.700504f, 0.654424f, 0.605773f, 0.554736f, 0.501519f, 0.446333f, 0.389394f, 0.330926f, 0.271159f, 0.210327f, 0.148668f, 0.0864252f, 0.0238416f, -0.0388354f, -0.101359f, -0.163485f, -0.224968f, -0.285567f, -0.345046f, -0.40317f, -0.459711f, -0.514445f, -0.567153f, -0.617633f, -0.665688f, -0.711128f, -0.753775f, -0.793463f, -0.830035f, -0.863348f, -0.89327f, -0.91967f, -0.942459f, -0.961546f, -0.976858f, -0.988333f, -0.995928f, -0.999611f, -0.999369f, -0.995203f, -0.987115f, -0.975148f, -0.959352f, -0.939788f, -0.916534f, -0.889682f, -0.859335f, -0.825613f, -0.788649f, -0.74858f, -0.705567f, -0.659784f, -0.61141f, -0.560635f, -0.507659f, -0.452689f, -0.39594f, -0.337637f, -0.278005f, -0.217279f, -0.1557f, -0.0935103f, -0.0309537f, 0.0317245f, 0.0942782f, 0.156462f, 0.218032f, 0.278746f, 0.338361f, 0.396647f, 0.453375f, 0.508323f, 0.561274f, 0.612021f, 0.660364f, 0.706116f, 0.749094f, 0.78912f, 0.826046f, 0.859727f, 0.890033f, 0.916843f, 0.940053f, 0.959571f, 0.975321f, 0.987242f, 0.995274f, 0.999393f, 0.999588f, 0.995858f, 0.988218f, 0.976696f, 0.96134f, 0.942208f, 0.919376f, 0.892926f, 0.862963f, 0.829611f, 0.793002f, 0.753279f, 0.710598f, 0.665126f, 0.617042f, 0.566534f, 0.513799f, 0.45904f, 0.402479f, 0.344338f, 0.284845f, 0.224233f, 0.162741f, 0.100609f, 0.0380823f, -0.0245953f, -0.0871759f, -0.149413f, -0.211063f, -0.271885f, -0.331638f, -0.390089f, -0.447008f, -0.502173f, -0.555366f, -0.606371f, -0.654992f, -0.701041f, -0.744337f, -0.78471f, -0.822001f, -0.856064f, -0.886766f, -0.913986f, -0.937609f, -0.957542f, -0.973716f, -0.986066f, -0.994543f, -0.999115f, -0.999763f, -0.996486f, -0.989295f, -0.978214f, -0.96328f, -0.944565f, -0.92214f, -0.896095f, -0.86653f, -0.833563f, -0.797322f, -0.757949f, -0.715598f, -0.670427f, -0.622624f, -0.572377f, -0.519881f, -0.465345f, -0.408981f, -0.35101f, -0.291661f, -0.231166f, -0.169759f, -0.107686f, -0.0451909f, 0.0174813f, 0.0800847f, 0.142374f, 0.204104f, 0.265033f, 0.324922f, 0.383532f, 0.440633f, 0.496003f, 0.549426f, 0.60069f, 0.649596f, 0.69595f, 0.739573f, 0.780291f, 0.81794f, 0.852369f, 0.883451f, 0.911063f, 0.935098f, 0.95546f, 0.972071f, 0.984864f, 0.99379f, 0.998809f, 0.999894f, 0.997054f, 0.990298f, 0.979653f, 0.965161f, 0.946879f, 0.924879f, 0.899247f, 0.870083f, 0.837488f, 0.801605f, 0.762574f, 0.720549f, 0.675695f, 0.628187f, 0.578212f, 0.525966f, 0.471654f, 0.415483f, 0.357681f, 0.298474f, 0.238095f, 0.176781f, 0.114774f, 0.0523149f, -0.0103497f, -0.0729743f, -0.135312f, -0.197117f, -0.258147f, -0.318164f, -0.37693f, -0.434216f, -0.489798f, -0.543456f, -0.594981f, -0.644166f, -0.690815f, -0.73475f, -0.7758f, -0.813803f, -0.848611f, -0.880086f, -0.908105f, -0.932558f, -0.953348f, -0.97038f, -0.983601f, -0.99296f, -0.99842f, -0.999958f, -0.99757f, -0.991265f, -0.981067f, -0.967016f, -0.949154f, -0.927563f, -0.902329f, -0.873553f, -0.841346f, -0.805835f, -0.76716f, -0.725472f, -0.680934f, -0.633715f, -0.584004f, -0.532001f, -0.477908f, -0.421939f, -0.364314f, -0.305257f, -0.245001f, -0.183782f, -0.121841f, -0.0594193f, 0.00323463f, 0.0658754f, 0.128257f, 0.190135f, 0.251267f, 0.311412f, 0.370335f, 0.427803f, 0.483585f, 0.537468f, 0.58924f, 0.638698f, 0.685647f, 0.729904f, 0.771295f, 0.809657f, 0.844841f, 0.876693f, 0.905102f, 0.929957f, 0.951159f, 0.968626f, 0.98229f, 0.992096f, 0.998007f, 0.999998f, 0.998051f, 0.992181f, 0.982415f, 0.96879f, 0.951362f, 0.930198f, 0.905381f, 0.877008f, 0.845191f, 0.810048f, 0.771718f, 0.730357f, 0.686129f, 0.639207f, 0.589775f, 0.538026f, 0.484164f, 0.428401f, 0.370952f, 0.312043f, 0.251909f, 0.190786f, 0.128915f, 0.066537f, 0.00389778f, -0.0587571f, -0.121182f, -0.183131f, -0.244359f, -0.304626f, -0.363696f, -0.421338f, -0.477325f, -0.531438f, -0.583464f, -0.6332f, -0.680449f, -0.725017f, -0.766736f, -0.805444f, -0.840988f, -0.87323f, -0.902042f, -0.927313f, -0.948942f, -0.966845f, -0.980941f, -0.99118f, -0.997526f, -0.999954f, -0.998456f, -0.993037f, -0.983719f, -0.970537f, -0.953544f, -0.9328f, -0.908384f, -0.880402f, -0.848962f, -0.814188f, -0.776218f, -0.735199f, -0.691292f, -0.644671f, -0.595516f, -0.544014f, -0.490377f, -0.434814f, -0.377544f, -0.318792f, -0.258788f, -0.197767f, -0.135969f, -0.0736359f, -0.0110128f, 0.0516528f, 0.114115f, 0.176129f, 0.237451f, 0.29784f, 0.35706f, 0.414879f, 0.471069f, 0.525404f, 0.577672f, 0.627672f, 0.675207f, 0.72009f, 0.762145f, 0.801207f, 0.837124f, 0.869753f, 0.898961f, 0.92463f, 0.946669f, 0.964989f, 0.97952f, 0.990205f, 0.997001f, 0.999882f, 0.998838f, 0.993866f, 0.984981f, 0.972227f, 0.955655f, 0.935331f, 0.911334f, 0.883759f, 0.852712f, 0.818317f, 0.780708f, 0.74002f, 0.696427f, 0.6501f, 0.60122f, 0.549979f, 0.496578f, 0.441227f, 0.384143f, 0.32555f, 0.265673f, 0.204754f, 0.14303f, 0.0807458f, 0.0181444f, -0.0445284f, -0.107026f, -0.169105f, -0.23052f, -0.291028f, -0.35039f, -0.408376f, -0.464758f, -0.519315f, -0.571832f, -0.622104f, -0.669933f, -0.715132f, -0.757519f, -0.796923f, -0.833198f, -0.8662f, -0.8958f, -0.921883f, -0.944345f, -0.9631f, -0.978072f, -0.989202f, -0.996433f, -0.999751f, -0.999143f, -0.994612f, -0.986175f, -0.973865f, -0.957731f, -0.937836f, -0.914257f, -0.887075f, -0.856409f, -0.822379f, -0.785121f, -0.744779f, -0.701513f, -0.655492f, -0.606896f, -0.555917f, -0.502748f, -0.447602f, -0.3907f, -0.332263f, -0.272523f, -0.211711f, -0.150069f, -0.0878362f, -0.0252581f, 0.0374197f, 0.0999499f, 0.162087f, 0.223587f, 0.284209f, 0.343715f, 0.401871f, 0.458449f, 0.513228f, 0.56599f, 0.616522f, 0.664632f, 0.710132f, 0.752843f, 0.792598f, 0.829241f, 0.862627f, 0.892626f, 0.91912f, 0.94199f, 0.96116f, 0.976556f, 0.988117f, 0.995797f, 0.999568f, 0.999413f, 0.995334f, 0.987347f, 0.97547f, 0.959759f, 0.940279f, 0.917107f, 0.890333f, 0.860064f, 0.826417f, 0.789524f, 0.74953f, 0.706587f, 0.660863f, 0.612546f, 0.561823f, 0.508893f, 0.453966f, 0.397255f, 0.338984f, 0.279382f, 0.21868f, 0.157117f, 0.0949386f, 0.0323873f, -0.0302908f, -0.0928499f, -0.155045f, -0.216631f, -0.277367f, -0.337014f, -0.395333f, -0.452098f, -0.507088f, -0.560086f, -0.610884f, -0.659284f, -0.705095f, -0.748138f, -0.788243f, -0.825242f, -0.858998f, -0.88938f, -0.91627f, -0.939561f, -0.959163f, -0.974998f, -0.987005f, -0.995136f, -0.999349f, -0.999632f, -0.995989f, -0.988435f, -0.976999f, -0.961727f, -0.942678f, -0.919927f, -0.893564f, -0.863685f, -0.830407f, -0.793868f, -0.754212f, -0.711594f, -0.666182f, -0.618154f, -0.567698f, -0.515012f, -0.460302f, -0.403778f, -0.345669f, -0.286203f, -0.225614f, -0.164139f, -0.102019f, -0.039498f, 0.0231785f, 0.0857648f, 0.148013f, 0.209679f, 0.270521f, 0.330301f, 0.388783f, 0.445739f, 0.500944f, 0.554183f, 0.605246f, 0.653925f, 0.700033f, 0.743392f, 0.783831f, 0.821192f, 0.855328f, 0.886106f, 0.913404f, 0.937116f, 0.957139f, 0.973397f, 0.985832f, 0.994395f, 0.999054f, 0.99979f, 0.9966f, 0.989496f, 0.978507f, 0.963671f, 0.945039f, 0.922696f, 0.896731f, 0.867244f, 0.834351f, 0.798182f, 0.758879f, 0.716595f, 0.671496f, 0.623749f, 0.573554f, 0.521107f, 0.466614f, 0.410288f, 0.352352f, 0.293031f, 0.232559f, 0.171173f, 0.109113f, 0.0466239f, -0.0160472f, -0.078655f, -0.140954f, -0.202699f, -0.263648f, -0.323563f, -0.382208f, -0.439348f, -0.49476f, -0.548228f, -0.599543f, -0.648504f, -0.694918f, -0.738603f, -0.779388f, -0.817113f, -0.851624f, -0.882782f, -0.910474f, -0.93459f, -0.955035f, -0.971731f, -0.98461f, -0.993623f, -0.998734f, -0.999921f, -0.997167f, -0.990498f, -0.979939f, -0.965532f, -0.947333f, -0.925414f, -0.899861f, -0.870775f, -0.838268f, -0.802457f, -0.763494f, -0.721533f, -0.676739f, -0.629288f, -0.579366f, -0.527168f, -0.4729f, -0.416773f, -0.359006f, -0.299827f, -0.239471f, -0.178176f, -0.116181f, -0.0537298f, 0.00893271f, 0.0715606f, 0.133908f, 0.195729f, 0.256779f, 0.316821f, 0.375618f, 0.432939f, 0.48856f, 0.542264f, 0.593837f, 0.64308f, 0.689795f, 0.733792f, 0.774908f, 0.81298f, 0.84786f, 0.87941f, 0.907507f, 0.93204f, 0.952913f, 0.970044f, 0.983351f, 0.992795f, 0.998341f, 0.999967f, 0.997667f, 0.991449f, 0.981337f, 0.967372f, 0.949608f, 0.928102f, 0.902949f, 0.874251f, 0.84212f, 0.806682f, 0.768076f, 0.726454f, 0.681978f, 0.634825f, 0.585172f, 0.533217f, 0.479169f, 0.42324f, 0.365649f, 0.306622f, 0.24639f, 0.185191f, 0.123264f, 0.0608514f, -0.0018003f, -0.0644443f, -0.126835f, -0.188727f, -0.249878f, -0.310047f, -0.369f, -0.426504f, -0.482333f, -0.536261f, -0.588083f, -0.637594f, -0.684602f, -0.728921f, -0.770378f, -0.80881f, -0.844066f, -0.876008f, -0.904497f, -0.929432f, -0.950717f, -0.968269f, -0.982019f, -0.991912f, -0.99791f, -0.999989f, -0.998142f, -0.992363f, -0.982683f, -0.969144f, -0.951799f, -0.930717f, -0.90598f, -0.877685f, -0.845943f, -0.810879f, -0.772624f, -0.731329f, -0.687162f, -0.640297f, -0.590918f, -0.539219f, -0.485402f, -0.429678f, -0.372267f, -0.313391f, -0.253282f, -0.192178f, -0.13032f, -0.0679508f, -0.00531476f, 0.0573423f, 0.119774f, 0.181737f, 0.242986f, 0.303278f, 0.362377f, 0.420054f, 0.47608f, 0.530236f, 0.582311f, 0.632099f, 0.679405f, 0.724044f, 0.765831f, 0.804607f, 0.840222f, 0.872539f, 0.901429f, 0.926778f, 0.948489f, 0.966475f, 0.980666f, 0.990998f, 0.99743f, 0.999946f, 0.998535f, 0.993204f, 0.983972f, 0.970876f, 0.953968f, 0.933313f, 0.908989f, 0.881084f, 0.849721f, 0.815021f, 0.77712f, 0.736168f, 0.692325f, 0.645763f, 0.596664f, 0.545221f, 0.491629f, 0.436107f, 0.378873f, 0.320151f, 0.260172f, 0.199172f, 0.137389f, 0.0750657f, 0.0124471f, -0.0502206f, -0.11269f, -0.174717f, -0.236057f, -0.29647f, -0.355719f, -0.413571f, -0.4698f, -0.524184f, -0.576505f, -0.626558f, -0.67415f, -0.719094f, -0.761215f, -0.800346f, -0.836334f, -0.869039f, -0.898331f, -0.924089f, -0.94621f, -0.964615f, -0.979232f, -0.990003f, -0.996887f, -0.999856f, -0.998899f, -0.994019f, -0.985232f, -0.972564f, -0.956076f, -0.935834f, -0.911918f, -0.88442f, -0.853449f, -0.819127f, -0.781588f, -0.740979f, -0.697448f, -0.651179f, -0.602353f, -0.551162f, -0.497807f, -0.442497f, -0.385449f, -0.326887f, -0.26704f, -0.206142f, -0.144433f, -0.0821583f, -0.0195611f, 0.0431126f, 0.105617f, 0.167707f, 0.229139f, 0.289672f, 0.349065f, 0.407084f, 0.463504f, 0.518104f, 0.570669f, 0.620992f, 0.668878f, 0.714137f, 0.756592f, 0.796072f, 0.832418f, 0.865494f, 0.895171f, 0.921333f, 0.943876f, 0.962713f, 0.97777f, 0.988987f, 0.99632f, 0.999725f, 0.999205f, 0.994761f, 0.986411f, 0.974187f, 0.958138f, 0.938326f, 0.914829f, 0.88774f, 0.857153f, 0.823197f, 0.786009f, 0.745735f, 0.702533f, 0.656572f, 0.608032f, 0.557104f, 0.503988f, 0.448887f, 0.392022f, 0.333617f, 0.273903f, 0.213113f, 0.151486f, 0.0892645f, 0.0266918f, -0.0359863f, -0.0985234f, -0.160672f, -0.22219f, -0.282834f, -0.342367f, -0.400556f, -0.457172f, -0.511993f, -0.564804f, -0.615396f, -0.663563f, -0.709124f, -0.7519f, -0.791723f, -0.828436f, -0.861897f, -0.891973f, -0.918547f, -0.941514f, -0.960769f, -0.97625f, -0.987898f, -0.995666f, -0.999524f, -0.999457f, -0.995465f, -0.987564f, -0.975785f, -0.960163f, -0.940765f, -0.917674f, -0.890979f, -0.860786f, -0.827212f, -0.79039f, -0.750463f, -0.707589f, -0.661931f, -0.613668f, -0.562996f, -0.510113f, -0.455228f, -0.398554f, -0.340316f, -0.28074f, -0.220062f, -0.158518f, -0.0963496f, -0.0338037f, 0.0288745f, 0.0914389f, 0.153644f, 0.215246f, 0.276004f, 0.335677f, 0.394034f, 0.450836f, 0.505868f, 0.558913f, 0.609762f, 0.658217f, 0.704087f, 0.747193f, 0.787364f, 0.824445f, 0.858277f, 0.888735f, 0.915703f, 0.939075f, 0.95876f, 0.974679f, 0.986772f, 0.994989f, 0.999299f, 0.999675f, 0.99612f, 0.988653f, 0.977304f, 0.962117f, 0.943152f, 0.920483f, 0.8942f, 0.864405f, 0.83121f, 0.794742f, 0.755154f, 0.712601f, 0.66725f, 0.619279f, 0.568875f, 0.516238f, 0.461572f, 0.405093f, 0.347016f, 0.287578f, 0.227011f, 0.165553f, 0.103445f, 0.040931f, -0.0217444f, -0.084335f, -0.146595f, -0.208278f, -0.269141f, -0.328947f, -0.387461f, -0.444453f, -0.4997f, -0.552985f, -0.604099f, -0.652841f, -0.699013f, -0.742435f, -0.782942f, -0.820373f, -0.854584f, -0.885438f, -0.912815f, -0.936608f, -0.956723f, -0.973074f, -0.985595f, -0.994246f, -0.998992f, -0.999816f, -0.996713f, -0.989696f, -0.978793f, -0.964046f, -0.945509f, -0.923248f, -0.897361f, -0.867951f, -0.835132f, -0.799034f, -0.759798f, -0.717579f, -0.672541f, -0.624861f, -0.574718f, -0.522318f, -0.467868f, -0.41158f, -0.353677f, -0.294384f, -0.233936f, -0.172568f, -0.110521f, -0.0480396f, 0.0146304f, 0.0772424f, 0.139551f, 0.201311f, 0.26228f, 0.32222f, 0.380895f, 0.438075f, 0.493531f, 0.547045f, 0.59841f, 0.647425f, 0.693897f, 0.737645f, 0.778496f, 0.81629f, 0.850879f, 0.882122f, 0.909892f, 0.934088f, 0.954616f, 0.971395f, 0.984359f, 0.993458f, 0.998656f, 0.999932f, 0.997281f, 0.990699f, 0.980226f, 0.965905f, 0.94779f, 0.925954f, 0.900482f, 0.871473f, 0.839042f, 0.803315f, 0.764423f, 0.722528f, 0.677796f, 0.630402f, 0.580533f, 0.528384f, 0.47416f, 0.418074f, 0.360345f, 0.301197f, 0.240865f, 0.179588f, 0.117606f, 0.0551619f, -0.00749838f, -0.0701295f, -0.132486f, -0.194322f, -0.255395f, -0.315462f, -0.374289f, -0.431646f, -0.487308f, -0.541056f, -0.59268f, -0.641977f, -0.688753f, -0.732823f, -0.774005f, -0.812147f, -0.8471f, -0.878726f, -0.906901f, -0.931515f, -0.952472f, -0.969688f, -0.983096f, -0.992629f, -0.998262f, -0.999976f, -0.997763f, -0.991631f, -0.981606f, -0.967726f, -0.950045f, -0.928634f, -0.903564f, -0.874943f, -0.842886f, -0.80752f, -0.768982f, -0.727425f, -0.683011f, -0.635915f, -0.586321f, -0.534419f, -0.480415f, -0.424524f, -0.366968f, -0.30797f, -0.247763f, -0.186582f, -0.124669f, -0.0622656f, 0.000383316f, 0.0630305f, 0.125429f, 0.187335f, 0.248505f, 0.308699f, 0.367681f, 0.425219f, 0.481089f, 0.535069f, 0.586939f, 0.636505f, 0.68357f, 0.72795f, 0.769472f, 0.807973f, 0.8433f, 0.875317f, 0.903896f, 0.928914f, 0.950281f, 0.967917f, 0.981751f, 0.99173f, 0.997814f, 0.99998f, 0.998221f, 0.992541f, 0.982954f, 0.9695f, 0.95224f, 0.93124f, 0.906584f, 0.878368f, 0.846702f, 0.811711f, 0.773532f, 0.732311f, 0.688206f, 0.6414f, 0.592075f, 0.540426f, 0.486654f, 0.430971f, 0.373595f, 0.314752f, 0.254671f, 0.193586f, 0.131743f, 0.0693819f, 0.00674909f, -0.0559101f, -0.11835f, -0.180325f, -0.241593f, -0.301913f, -0.361042f, -0.418753f, -0.474819f, -0.52902f, -0.581143f, -0.630985f, -0.678348f, -0.723049f, -0.76491f, -0.803759f, -0.839448f, -0.871839f, -0.900807f, -0.926238f, -0.948031f, -0.966101f, -0.980378f, -0.990805f, -0.997333f, -0.999937f, -0.998614f, -0.993369f, -0.984223f, -0.971213f, -0.954388f, -0.933816f, -0.909577f, -0.881761f, -0.850473f, -0.815844f, -0.778013f, -0.737126f, -0.693345f, -0.646842f, -0.597797f, -0.546405f, -0.492866f, -0.437384f, -0.380185f, -0.321494f, -0.26154f, -0.20056f, -0.138792f, -0.0764782f, -0.0138639f, 0.0488056f, 0.111283f, 0.173322f, 0.23468f, 0.295117f, 0.354394f, 0.412279f, 0.468546f, 0.522973f, 0.575347f, 0.625457f, 0.673106f, 0.718111f, 0.760296f, 0.799495f, 0.835554f, 0.868333f, 0.897702f, 0.923545f, 0.945758f, 0.964246f, 0.978947f, 0.989804f, 0.996774f, 0.99983f, 0.99896f, 0.994168f, 0.985471f, 0.972903f, 0.9565f, 0.936341f, 0.912506f, 0.885087f, 0.854193f, 0.819945f, 0.782476f, 0.741935f, 0.698479f, 0.65227f, 0.6035f, 0.55236f, 0.499051f, 0.443782f, 0.386771f, 0.32824f, 0.26842f, 0.207546f, 0.145853f, 0.0835881f, 0.0209953f, -0.0416796f, -0.104191f, -0.166292f, -0.227742f, -0.288297f, -0.34772f, -0.405776f, -0.462235f, -0.516878f, -0.569491f, -0.619867f, -0.667809f, -0.713129f, -0.755648f, -0.795201f, -0.831628f, -0.864779f, -0.894534f, -0.920776f, -0.943401f, -0.962322f, -0.977464f, -0.988768f, -0.996189f, -0.999698f, -0.999266f, -0.994909f, -0.986645f, -0.974507f, -0.958542f, -0.938813f, -0.915397f, -0.888386f, -0.857886f, -0.824007f, -0.786889f, -0.746681f, -0.703542f, -0.657639f, -0.609155f, -0.558278f, -0.505208f, -0.450154f, -0.393327f, -0.334954f, -0.275266f, -0.214497f, -0.152887f, -0.0906755f, -0.0281082f, 0.03457f, 0.097113f, 0.159275f, 0.220809f, 0.281475f, 0.341036f, 0.399257f, 0.45591f, 0.510773f, 0.563631f, 0.614276f, 0.662508f, 0.708128f, 0.750968f, 0.790858f, 0.827642f, 0.861176f, 0.891328f, 0.91798f, 0.941028f, 0.960381f, 0.975948f, 0.987681f, 0.995535f, 0.99948f, 0.999501f, 0.995596f, 0.987783f, 0.97609f, 0.960564f, 0.941256f, 0.918246f, 0.891631f, 0.861515f, 0.828015f, 0.791264f, 0.751406f, 0.708597f, 0.663005f, 0.614804f, 0.564184f, 0.511348f, 0.456505f, 0.399869f, 0.341663f, 0.282115f, 0.221459f, 0.159933f, 0.0977779f, 0.0352374f, -0.0274408f, -0.0900106f, -0.152227f, -0.213845f, -0.274623f, -0.334324f, -0.392712f, -0.449559f, -0.504633f, -0.557725f, -0.608626f, -0.657137f, -0.703067f, -0.746236f, -0.786475f, -0.823626f, -0.857543f, -0.888082f, -0.91513f, -0.938584f, -0.958352f, -0.974357f, -0.986535f, -0.994839f, -0.999237f, -0.999711f, -0.996251f, -0.98887f, -0.977607f, -0.962504f, -0.943622f, -0.921035f, -0.89483f, -0.865112f, -0.831996f, -0.795608f, -0.756087f, -0.713598f, -0.668306f, -0.620391f, -0.570039f, -0.517449f, -0.462826f, -0.406385f, -0.348348f, -0.288937f, -0.228392f, -0.166951f, -0.104855f, -0.0423467f, 0.0203277f, 0.0829225f, 0.145192f, 0.206893f, 0.267778f, 0.32761f, 0.386155f, 0.443184f, 0.498472f, 0.551802f, 0.602966f, 0.651763f, 0.698f, 0.74149f, 0.782063f, 0.819565f, 0.853848f, 0.884777f, 0.912233f, 0.936106f, 0.956303f, 0.972745f, 0.985362f, 0.994099f, 0.998932f, 0.999842f, 0.996827f, 0.989897f, 0.97908f, 0.964419f, 0.94597f, 0.923804f, 0.897997f, 0.868664f, 0.835921f, 0.799895f, 0.760728f, 0.718574f, 0.673597f, 0.625975f, 0.575895f, 0.523544f, 0.469137f, 0.412888f, 0.355018f, 0.295754f, 0.235329f, 0.173979f, 0.111946f, 0.0494724f, -0.0131963f, -0.0758126f, -0.138131f, -0.199906f, -0.260896f, -0.320861f, -0.379567f, -0.436782f, -0.492283f, -0.545848f, -0.597263f, -0.646333f, -0.692865f, -0.736675f, -0.777593f, -0.815457f, -0.850119f, -0.881443f, -0.909302f, -0.93358f, -0.954191f, -0.971055f, -0.984105f, -0.993291f, -0.998577f, -0.999941f, -0.997378f, -0.990899f, -0.980512f, -0.966275f, -0.948244f, -0.926489f, -0.901096f, -0.872165f, -0.839808f, -0.804153f, -0.76534f, -0.723512f, -0.67884f, -0.631503f, -0.581687f, -0.529586f, -0.475406f, -0.419358f, -0.361664f, -0.302548f, -0.242242f, -0.180982f, -0.119013f, -0.0565768f, 0.0060814f, 0.0687157f, 0.13108f, 0.192931f, 0.254024f, 0.314119f, 0.372977f, 0.430369f, 0.486071f, 0.539864f, 0.591537f, 0.640887f, 0.687721f, 0.731854f, 0.773113f, 0.811324f, 0.846349f, 0.87805f, 0.906303f, 0.930997f, 0.952035f, 0.969335f, 0.982828f, 0.992462f, 0.998184f, 0.999985f, 0.997859f, 0.991815f, 0.981876f, 0.968082f, 0.950486f, 0.929157f, 0.904179f, 0.875641f, 0.84366f, 0.808366f, 0.769898f, 0.728407f, 0.684056f, 0.637018f, 0.587478f, 0.535631f, 0.481676f, 0.425825f, 0.368303f, 0.309334f, 0.249152f, 0.187991f, 0.126092f, 0.0636967f, 0.00105101f, -0.0615994f, -0.124007f, -0.185927f, -0.247116f, -0.307335f, -0.366346f, -0.423919f, -0.479828f, -0.533853f, -0.585782f, -0.635401f, -0.682525f, -0.726968f, -0.768556f, -0.807125f, -0.842526f, -0.874618f, -0.903275f, -0.928386f, -0.94984f, -0.96756f, -0.98148f, -0.991545f, -0.997718f, -0.999972f, -0.998299f, -0.992706f, -0.983215f, -0.969854f, -0.952677f, -0.931759f, -0.907183f, -0.879044f, -0.847454f, -0.812535f, -0.774425f, -0.733274f, -0.689239f, -0.64249f, -0.593219f, -0.541618f, -0.487891f, -0.432248f, -0.374907f, -0.316094f, -0.256039f, -0.194978f, -0.133148f, -0.0707957f, -0.00816608f, 0.0544952f, 0.116942f, 0.178931f, 0.240216f, 0.300559f, 0.359723f, 0.417469f, 0.473573f, 0.527818f, 0.57999f, 0.629884f, 0.677304f, 0.722065f, 0.763991f, 0.802917f, 0.838682f, 0.871149f, 0.900194f, 0.925703f, 0.947578f, 0.965732f, 0.980093f, 0.990605f, 0.997228f, 0.999928f, 0.998693f, 0.993535f, 0.984477f, 0.971552f, 0.954812f, 0.934323f, 0.910165f, 0.882432f, 0.851231f, 0.816677f, 0.778915f, 0.738096f, 0.694378f, 0.647933f, 0.598944f, 0.547603f, 0.49411f, 0.438677f, 0.381514f, 0.322853f, 0.262925f, 0.201965f, 0.140212f, 0.077908f, 0.015298f, -0.0473725f, -0.109858f, -0.171911f, -0.233287f, -0.293747f, -0.353052f, -0.410972f, -0.467277f, -0.521747f, -0.57417f, -0.624337f, -0.672049f, -0.717115f, -0.759366f, -0.798633f, -0.834765f, -0.867618f, -0.897065f, -0.922988f, -0.945288f, -0.963872f, -0.978659f, -0.989602f, -0.99666f, -0.999804f, -0.999021f, -0.994316f, -0.985705f, -0.973224f, -0.956921f, -0.936844f, -0.913089f, -0.885749f, -0.85493f, -0.820754f, -0.783356f, -0.74288f, -0.699488f, -0.653348f, -0.604633f, -0.553543f, -0.500279f, -0.445052f, -0.388076f, -0.329577f, -0.269784f, -0.20893f, -0.147255f, -0.0850006f, -0.022412f, 0.0402639f, 0.102781f, 0.164895f, 0.226361f, 0.286938f, 0.346389f, 0.40448f, 0.460981f, 0.515667f, 0.568327f, 0.618755f, 0.666753f, 0.712133f, 0.754716f, 0.794336f, 0.830837f, 0.864073f, 0.893905f, 0.920225f, 0.942932f, 0.961936f, 0.977163f, 0.988552f, 0.996059f, 0.999655f, 0.999326f, 0.995058f, 0.986881f, 0.974829f, 0.958949f, 0.939303f, 0.915969f, 0.889038f, 0.858615f, 0.82482f, 0.787777f, 0.747637f, 0.704561f, 0.658719f, 0.610291f, 0.559465f, 0.506443f, 0.451431f, 0.394646f, 0.336307f, 0.276646f, 0.215899f, 0.154304f, 0.0921038f, 0.0295419f, -0.0331363f, -0.0956847f, -0.157858f, -0.219411f, -0.2801f, -0.339688f, -0.397942f, -0.454633f, -0.509538f, -0.562443f, -0.613139f, -0.661428f, -0.70712f, -0.750024f, -0.789982f, -0.826838f, -0.860446f, -0.890675f, -0.917407f, -0.940537f, -0.959973f, -0.975639f, -0.987462f, -0.995404f, -0.999436f, -0.999544f, -0.995727f, -0.988f, -0.976392f, -0.960951f, -0.941736f, -0.918813f, -0.892277f, -0.862237f, -0.828811f, -0.79213f, -0.752339f, -0.709593f, -0.664061f, -0.61592f, -0.565357f, -0.512568f, -0.457767f, -0.401168f, -0.342994f, -0.283474f, -0.22284f, -0.161331f, -0.0991875f, -0.0366537f, 0.0260244f, 0.0885996f, 0.150826f, 0.21246f, 0.27326f, 0.332987f, 0.391406f, 0.448289f, 0.503412f, 0.556551f, 0.607503f, 0.656069f, 0.702059f, 0.745291f, 0.785596f, 0.822817f, 0.856807f, 0.887433f, 0.914564f, 0.938098f, 0.957949f, 0.974038f, 0.986301f, 0.994692f, 0.999176f, 0.999737f, 0.996373f, 0.989089f, 0.977912f, 0.962894f, 0.944096f, 0.921591f, 0.895466f, 0.865825f, 0.832784f, 0.796472f, 0.75703f, 0.714605f, 0.669375f, 0.621516f, 0.571217f, 0.518674f, 0.464095f, 0.407693f, 0.349689f, 0.290312f, 0.22979f, 0.168366f, 0.106281f, 0.0437797f, -0.0188935f, -0.0814927f, -0.143772f, -0.205488f, -0.266397f, -0.326257f, -0.384834f, -0.441899f, -0.497228f, -0.550605f, -0.601819f, -0.650671f, -0.696967f, -0.740528f, -0.781174f, -0.818746f, -0.853103f, -0.884109f, -0.911643f, -0.935598f, -0.955878f, -0.972405f, -0.985114f, -0.993949f, -0.99887f, -0.999868f, -0.99694f, -0.990097f, -0.979366f, -0.964789f, -0.946423f, -0.924341f, -0.898627f, -0.869371f, -0.836702f, -0.800747f, -0.761648f, -0.719557f, -0.674642f, -0.627077f, -0.577048f, -0.524753f, -0.470391f, -0.41418f, -0.356343f, -0.297108f, -0.236706f, -0.175374f, -0.113353f, -0.0508873f, 0.0117795f, 0.0744001f, 0.136728f, 0.198518f, 0.259528f, 0.319518f, 0.378254f, 0.435505f, 0.491046f, 0.544659f, 0.59613f, 0.645255f, 0.691845f, 0.735717f, 0.7767f, 0.814634f, 0.849368f, 0.880767f, 0.908708f, 0.933078f, 0.953771f, 0.970719f, 0.983854f, 0.993126f, 0.998498f, 0.99995f, 0.997475f, 0.991083f, 0.980799f, 0.966648f, 0.948701f, 0.927029f, 0.901717f, 0.872863f, 0.840582f, 0.805f, 0.766256f, 0.724503f, 0.679897f, 0.632617f, 0.582854f, 0.530803f, 0.476667f, 0.420659f, 0.362999f, 0.303913f, 0.243633f, 0.182394f, 0.120438f, 0.058009f, -0.00464707f, -0.0672846f, -0.129658f, -0.191522f, -0.252635f, -0.312756f, -0.371648f, -0.429076f, -0.484819f, -0.538657f, -0.59038f, -0.639784f, -0.686676f, -0.730871f, -0.772197f, -0.810491f, -0.845589f, -0.877366f, -0.905698f, -0.930473f, -0.951594f, -0.968978f, -0.982557f, -0.992278f, -0.998102f, -0.999993f, -0.997955f, -0.991998f, -0.982145f, -0.968435f, -0.950923f, -0.929676f, -0.904778f, -0.876327f, -0.844426f, -0.809204f, -0.770805f, -0.729378f, -0.685088f, -0.638108f, -0.588621f, -0.536823f, -0.482916f, -0.42711f, -0.369621f, -0.310683f, -0.250524f, -0.189382f, -0.127497f, -0.0651104f, -0.002468f, 0.0601847f, 0.122602f, 0.184535f, 0.245744f, 0.305986f, 0.365027f, 0.422634f, 0.478582f, 0.532651f, 0.584628f, 0.634311f, 0.681493f, 0.725997f, 0.76765f, 0.806288f, 0.84176f, 0.873927f, 0.902661f, 0.927852f, 0.949399f, 0.967207f, 0.981212f, 0.991363f, 0.997622f, 0.999963f, 0.998378f, 0.992873f, 0.983468f, 0.970201f, 0.953118f, 0.932283f, 0.907787f, 0.879727f, 0.848212f, 0.813367f, 0.775327f, 0.734243f, 0.690275f, 0.643593f, 0.594376f, 0.542825f, 0.489143f, 0.433541f, 0.376236f, 0.317454f, 0.257424f, 0.196383f, 0.13457f, 0.0722267f, 0.00960041f, -0.0530631f, -0.115518f, -0.177519f, -0.238823f, -0.299189f, -0.358381f, -0.416167f, -0.472313f, -0.526602f, -0.578822f, -0.628769f, -0.676247f, -0.72107f, -0.763061f, -0.802056f, -0.837901f, -0.870449f, -0.899572f, -0.925163f, -0.94712f, -0.965358f, -0.979804f, -0.990404f, -0.997114f, -0.999908f, -0.998771f, -0.993701f, -0.984728f, -0.971889f, -0.955233f, -0.934826f, -0.910748f, -0.883093f, -0.851971f, -0.817501f, -0.779808f, -0.739054f, -0.695398f, -0.649012f, -0.600077f, -0.548786f, -0.495339f, -0.439946f, -0.382825f, -0.324196f, -0.264293f, -0.203353f, -0.141615f, -0.0793205f, -0.0167148f, 0.0459568f, 0.108449f, 0.170515f, 0.23191f, 0.292393f, 0.351727f, 0.40968f, 0.466023f, 0.520537f, 0.573006f, 0.623226f, 0.670999f, 0.716132f, 0.758447f, 0.797782f, 0.833985f, 0.866912f, 0.896435f, 0.922438f, 0.944819f, 0.963489f, 0.978374f, 0.989403f, 0.996547f, 0.999777f, 0.999083f, 0.994464f, 0.985941f, 0.973546f, 0.957328f, 0.937351f, 0.913677f, 0.886416f, 0.855674f, 0.821572f, 0.784244f, 0.743836f, 0.700508f, 0.654428f, 0.605777f, 0.55474f, 0.501523f, 0.446337f, 0.389398f, 0.330931f, 0.271164f, 0.210331f, 0.148673f, 0.0864297f, 0.0238461f, -0.0388309f, -0.101355f, -0.16348f, -0.224963f, -0.285563f, -0.345042f, -0.403166f, -0.459707f, -0.514441f, -0.567149f, -0.61763f, -0.665684f, -0.711125f, -0.753772f, -0.79346f, -0.830032f, -0.863346f, -0.893268f, -0.919668f, -0.942457f, -0.961545f, -0.976857f, -0.988333f, -0.995927f, -0.999611f, -0.999369f, -0.995203f, -0.987115f, -0.975149f, -0.959353f, -0.93979f, -0.916536f, -0.889684f, -0.859337f, -0.825616f, -0.788652f, -0.748583f, -0.70557f, -0.659787f, -0.611413f, -0.560639f, -0.507663f, -0.452693f, -0.395945f, -0.337641f, -0.278009f, -0.217283f, -0.155704f, -0.0935148f, -0.0309582f, 0.0317199f, 0.0942737f, 0.156458f, 0.218028f, 0.278742f, 0.338357f, 0.396643f, 0.453371f, 0.508319f, 0.56127f, 0.612017f, 0.660361f, 0.706112f, 0.749091f, 0.789117f, 0.826043f, 0.859725f, 0.890031f, 0.916841f, 0.940051f, 0.95957f, 0.97532f, 0.987241f, 0.995273f, 0.999393f, 0.999588f, 0.995858f, 0.988218f, 0.976697f, 0.961341f, 0.94221f, 0.919378f, 0.892928f, 0.862965f, 0.829614f, 0.793005f, 0.753282f, 0.710601f, 0.665129f, 0.617045f, 0.566538f, 0.513803f, 0.459044f, 0.402483f, 0.344342f, 0.284849f, 0.224238f, 0.162746f, 0.100614f, 0.0380868f, -0.0245908f, -0.0871713f, -0.149409f, -0.211059f, -0.27188f, -0.331633f, -0.390085f, -0.447004f, -0.502169f, -0.555362f, -0.606367f, -0.654989f, -0.701038f, -0.744334f, -0.784707f, -0.821998f, -0.856062f, -0.886764f, -0.913984f, -0.937607f, -0.957541f, -0.973715f, -0.986065f, -0.994542f, -0.999115f, -0.999763f, -0.996486f, -0.989296f, -0.978215f, -0.963282f, -0.944566f, -0.922142f, -0.896097f, -0.866532f, -0.833565f, -0.797324f, -0.757952f, -0.715602f, -0.670431f, -0.622628f, -0.57238f, -0.519885f, -0.465349f, -0.408985f, -0.351015f, -0.291665f, -0.23117f, -0.169763f, -0.107691f, -0.0451954f, 0.0174768f, 0.0800802f, 0.142369f, 0.204099f, 0.265029f, 0.324918f, 0.383528f, 0.440629f, 0.495999f, 0.549422f, 0.600686f, 0.649592f, 0.695947f, 0.73957f, 0.780288f, 0.817937f, 0.852367f, 0.883449f, 0.911061f, 0.935096f, 0.955459f, 0.972069f, 0.984863f, 0.993789f, 0.998809f, 0.999895f, 0.997054f, 0.990298f, 0.979654f, 0.965162f, 0.946881f, 0.924881f, 0.899249f, 0.870085f, 0.83749f, 0.801607f, 0.762577f, 0.720552f, 0.675698f, 0.62819f, 0.578216f, 0.52597f, 0.471658f, 0.415488f, 0.357685f, 0.298478f, 0.238099f, 0.176786f, 0.114778f, 0.0523195f, -0.0103451f, -0.0729698f, -0.135308f, -0.197113f, -0.258143f, -0.318159f, -0.376926f, -0.434212f, -0.489794f, -0.543452f, -0.594977f, -0.644163f, -0.690812f, -0.734747f, -0.775797f, -0.813801f, -0.848608f, -0.880083f, -0.908103f, -0.932556f, -0.953346f, -0.970379f, -0.983601f, -0.99296f, -0.998419f, -0.999958f, -0.997571f, -0.991265f, -0.981068f, -0.967017f, -0.949155f, -0.927564f, -0.902331f, -0.873555f, -0.841348f, -0.805838f, -0.767163f, -0.725475f, -0.680937f, -0.633719f, -0.584008f, -0.532005f, -0.477912f, -0.421944f, -0.364318f, -0.305261f, -0.245005f, -0.183787f, -0.121845f, -0.0594238f, 0.00323008f, 0.0658708f, 0.128253f, 0.190131f, 0.251262f, 0.311408f, 0.370331f, 0.427799f, 0.483582f, 0.537464f, 0.589236f, 0.638694f, 0.685643f, 0.729901f, 0.771292f, 0.809654f, 0.844838f, 0.876691f, 0.9051f, 0.929955f, 0.951158f, 0.968625f, 0.982289f, 0.992096f, 0.998006f, 0.999998f, 0.998051f, 0.992181f, 0.982415f, 0.968792f, 0.951364f, 0.9302f, 0.905383f, 0.87701f, 0.845194f, 0.810051f, 0.771721f, 0.73036f, 0.686133f, 0.639211f, 0.589778f, 0.53803f, 0.484168f, 0.428405f, 0.370957f, 0.312047f, 0.251913f, 0.190791f, 0.128919f, 0.0665415f, 0.00390233f, -0.0587526f, -0.121177f, -0.183127f, -0.244354f, -0.304622f, -0.363692f, -0.421334f, -0.477321f, -0.531434f, -0.583461f, -0.633196f, -0.680446f, -0.725014f, -0.766733f, -0.805441f, -0.840985f, -0.873227f, -0.90204f, -0.927311f, -0.94894f, -0.966844f, -0.980941f, -0.991179f, -0.997525f, -0.999954f, -0.998456f, -0.993038f, -0.983719f, -0.970538f, -0.953545f, -0.932802f, -0.908386f, -0.880404f, -0.848964f, -0.814191f, -0.776221f, -0.735202f, -0.691296f, -0.644675f, -0.59552f, -0.544018f, -0.490381f, -0.434818f, -0.377548f, -0.318796f, -0.258792f, -0.197771f, -0.135973f, -0.0736405f, -0.0110174f, 0.0516482f, 0.11411f, 0.176124f, 0.237446f, 0.297836f, 0.357056f, 0.414875f, 0.471065f, 0.5254f, 0.577669f, 0.627669f, 0.675203f, 0.720087f, 0.762142f, 0.801205f, 0.837121f, 0.869751f, 0.898959f, 0.924629f, 0.946667f, 0.964988f, 0.979519f, 0.990204f, 0.997001f, 0.999882f, 0.998838f, 0.993867f, 0.984981f, 0.972228f, 0.955657f, 0.935333f, 0.911336f, 0.883761f, 0.852715f, 0.81832f, 0.780711f, 0.740023f, 0.696431f, 0.650103f, 0.601224f, 0.549983f, 0.496582f, 0.441231f, 0.384147f, 0.325554f, 0.265678f, 0.204758f, 0.143035f, 0.0807503f, 0.0181489f, -0.0445238f, -0.107022f, -0.1691f, -0.230515f, -0.291023f, -0.350386f, -0.408372f, -0.464754f, -0.519311f, -0.571828f, -0.6221f, -0.66993f, -0.715129f, -0.757516f, -0.796921f, -0.833195f, -0.866198f, -0.895798f, -0.921881f, -0.944344f, -0.963098f, -0.978071f, -0.989201f, -0.996433f, -0.999751f, -0.999143f, -0.994612f, -0.986176f, -0.973866f, -0.957732f, -0.937837f, -0.914259f, -0.887077f, -0.856411f, -0.822382f, -0.785124f, -0.744782f, -0.701516f, -0.655495f, -0.6069f, -0.55592f, -0.502752f, -0.447606f, -0.390704f, -0.332268f, -0.272527f, -0.211716f, -0.150073f, -0.0878408f, -0.0252627f, 0.0374152f, 0.0999454f, 0.162083f, 0.223583f, 0.284205f, 0.34371f, 0.401867f, 0.458445f, 0.513224f, 0.565986f, 0.616518f, 0.664629f, 0.710129f, 0.75284f, 0.792595f, 0.829238f, 0.862624f, 0.892624f, 0.919118f, 0.941988f, 0.961159f, 0.976555f, 0.988116f, 0.995797f, 0.999568f, 0.999413f, 0.995335f, 0.987348f, 0.975471f, 0.95976f, 0.94028f, 0.917108f, 0.890335f, 0.860066f, 0.826419f, 0.789527f, 0.749533f, 0.70659f, 0.660867f, 0.612549f, 0.561826f, 0.508897f, 0.45397f, 0.39726f, 0.338989f, 0.279386f, 0.218685f, 0.157122f, 0.0949431f, 0.0323919f, -0.0302863f, -0.0928454f, -0.15504f, -0.216626f, -0.277362f, -0.33701f, -0.395328f, -0.452094f, -0.507084f, -0.560082f, -0.610881f, -0.659281f, -0.705092f, -0.748135f, -0.78824f, -0.825239f, -0.858995f, -0.889378f, -0.916268f, -0.93956f, -0.959162f, -0.974997f, -0.987004f, -0.995136f, -0.999349f, -0.999632f, -0.995989f, -0.988435f, -0.977f, -0.961728f, -0.94268f, -0.919929f, -0.893566f, -0.863687f, -0.830409f, -0.793871f, -0.754215f, -0.711597f, -0.666185f, -0.618157f, -0.567701f, -0.515016f, -0.460306f, -0.403782f, -0.345673f, -0.286208f, -0.225618f, -0.164143f, -0.102023f, -0.0395025f, 0.023174f, 0.0857603f, 0.148008f, 0.209675f, 0.270517f, 0.330296f, 0.388779f, 0.445734f, 0.50094f, 0.554179f, 0.605242f, 0.653922f, 0.70003f, 0.743389f, 0.783828f, 0.82119f, 0.855326f, 0.886104f, 0.913402f, 0.937114f, 0.957138f, 0.973396f, 0.985831f, 0.994395f, 0.999054f, 0.99979f, 0.9966f, 0.989497f, 0.978508f, 0.963672f, 0.94504f, 0.922698f, 0.896733f, 0.867246f, 0.834354f, 0.798185f, 0.758882f, 0.716598f, 0.671499f, 0.623753f, 0.573558f, 0.521111f, 0.466618f, 0.410293f, 0.352356f, 0.293035f, 0.232563f, 0.171178f, 0.109117f, 0.0466285f, -0.0160427f, -0.0786504f, -0.140949f, -0.202694f, -0.263644f, -0.323559f, -0.382204f, -0.439344f, -0.494756f, -0.548224f, -0.59954f, -0.6485f, -0.694914f, -0.7386f, -0.779385f, -0.81711f, -0.851622f, -0.88278f, -0.910472f, -0.934588f, -0.955034f, -0.971729f, -0.984609f, -0.993622f, -0.998734f, -0.999921f, -0.997167f, -0.990498f, -0.97994f, -0.965533f, -0.947335f, -0.925416f, -0.899863f, -0.870777f, -0.83827f, -0.802459f, -0.763497f, -0.721536f, -0.676743f, -0.629292f, -0.579369f, -0.527172f, -0.472904f, -0.416778f, -0.35901f, -0.299831f, -0.239476f, -0.17818f, -0.116186f, -0.0537343f, 0.00892816f, 0.071556f, 0.133904f, 0.195725f, 0.256775f, 0.316816f, 0.375613f, 0.432935f, 0.488557f, 0.54226f, 0.593834f, 0.643076f, 0.689792f, 0.733789f, 0.774905f, 0.812978f, 0.847857f, 0.879408f, 0.907505f, 0.932038f, 0.952912f, 0.970043f, 0.98335f, 0.992795f, 0.998341f, 0.999967f, 0.997667f, 0.991449f, 0.981338f, 0.967373f, 0.949609f, 0.928104f, 0.902951f, 0.874253f, 0.842122f, 0.806684f, 0.768079f, 0.726457f, 0.681982f, 0.634828f, 0.585175f, 0.533221f, 0.479173f, 0.423244f, 0.365653f, 0.306626f, 0.246395f, 0.185195f, 0.123268f, 0.060856f, -0.00179575f, -0.0644397f, -0.12683f, -0.188722f, -0.249873f, -0.310043f, -0.368996f, -0.4265f, -0.482329f, -0.536257f, -0.588079f, -0.637591f, -0.684599f, -0.728918f, -0.770375f, -0.808807f, -0.844063f, -0.876006f, -0.904495f, -0.92943f, -0.950716f, -0.968268f, -0.982018f, -0.991911f, -0.99791f, -0.999989f, -0.998142f, -0.992364f, -0.982684f, -0.969145f, -0.951801f, -0.930719f, -0.905982f, -0.877687f, -0.845945f, -0.810881f, -0.772627f, -0.731332f, -0.687165f, -0.640301f, -0.590922f, -0.539223f, -0.485406f, -0.429682f, -0.372271f, -0.313396f, -0.253286f, -0.192182f, -0.130325f, -0.0679553f, -0.00531932f, 0.0573377f, 0.11977f, 0.181732f, 0.242982f, 0.303273f, 0.362373f, 0.420049f, 0.476076f, 0.530233f, 0.582307f, 0.632095f, 0.679402f, 0.724041f, 0.765828f, 0.804604f, 0.84022f, 0.872536f, 0.901426f, 0.926777f, 0.948488f, 0.966474f, 0.980665f, 0.990997f, 0.99743f, 0.999946f, 0.998535f, 0.993204f, 0.983973f, 0.970877f, 0.953969f, 0.933315f, 0.908991f, 0.881087f, 0.849723f, 0.815023f, 0.777123f, 0.736171f, 0.692328f, 0.645766f, 0.596668f, 0.545225f, 0.491633f, 0.436111f, 0.378877f, 0.320155f, 0.260177f, 0.199176f, 0.137393f, 0.0750703f, 0.0124517f, -0.050216f, -0.112686f, -0.174712f, -0.236053f, -0.296466f, -0.355715f, -0.413567f, -0.469796f, -0.52418f, -0.576501f, -0.626554f, -0.674147f, -0.719091f, -0.761212f, -0.800343f, -0.836332f, -0.869037f, -0.898329f, -0.924088f, -0.946209f, -0.964614f, -0.979231f, -0.990003f, -0.996887f, -0.999856f, -0.998899f, -0.994019f, -0.985233f, -0.972565f, -0.956077f, -0.935836f, -0.91192f, -0.884422f, -0.853452f, -0.81913f, -0.78159f, -0.740982f, -0.697451f, -0.651183f, -0.602357f, -0.551166f, -0.497811f, -0.442501f, -0.385453f, -0.326891f, -0.267045f, -0.206146f, -0.144438f, -0.0821628f, -0.0195657f, 0.0431081f, 0.105613f, 0.167703f, 0.229135f, 0.289667f, 0.349061f, 0.40708f, 0.4635f, 0.5181f, 0.570665f, 0.620989f, 0.668874f, 0.714133f, 0.756589f, 0.79607f, 0.832415f, 0.865492f, 0.895169f, 0.921331f, 0.943875f, 0.962712f, 0.977769f, 0.988987f, 0.99632f, 0.999725f, 0.999205f, 0.994761f, 0.986412f, 0.974188f, 0.958139f, 0.938328f, 0.914831f, 0.887742f, 0.857155f, 0.8232f, 0.786012f, 0.745738f, 0.702536f, 0.656575f, 0.608036f, 0.557108f, 0.503992f, 0.448891f, 0.392026f, 0.333621f, 0.273907f, 0.213117f, 0.151491f, 0.089269f, 0.0266964f, -0.0359818f, -0.0985189f, -0.160668f, -0.222185f, -0.282829f, -0.342363f, -0.400552f, -0.457168f, -0.511989f, -0.5648f, -0.615393f, -0.66356f, -0.709121f, -0.751897f, -0.79172f, -0.828434f, -0.861895f, -0.891971f, -0.918545f, -0.941512f, -0.960768f, -0.976249f, -0.987897f, -0.995665f, -0.999524f, -0.999457f, -0.995465f, -0.987565f, -0.975786f, -0.960164f, -0.940767f, -0.917676f, -0.890981f, -0.860788f, -0.827214f, -0.790392f, -0.750466f, -0.707593f, -0.661935f, -0.613672f, -0.563f, -0.510117f, -0.455232f, -0.398558f, -0.34032f, -0.280745f, -0.220066f, -0.158522f, -0.0963541f, -0.0338082f, 0.0288699f, 0.0914344f, 0.15364f, 0.215242f, 0.275999f, 0.335673f, 0.394029f, 0.450832f, 0.505864f, 0.558909f, 0.609758f, 0.658213f, 0.704084f, 0.74719f, 0.787362f, 0.824442f, 0.858274f, 0.888733f, 0.915702f, 0.939074f, 0.958759f, 0.974678f, 0.986771f, 0.994988f, 0.999298f, 0.999676f, 0.996121f, 0.988654f, 0.977305f, 0.962118f, 0.943154f, 0.920485f, 0.894202f, 0.864407f, 0.831212f, 0.794745f, 0.755157f, 0.712604f, 0.667253f, 0.619282f, 0.568879f, 0.516242f, 0.461576f, 0.405097f, 0.347021f, 0.287583f, 0.227016f, 0.165558f, 0.10345f, 0.0409355f, -0.0217399f, -0.0843305f, -0.146591f, -0.208273f, -0.269137f, -0.328943f, -0.387457f, -0.444449f, -0.499696f, -0.552981f, -0.604095f, -0.652838f, -0.69901f, -0.742432f, -0.782939f, -0.820371f, -0.854581f, -0.885436f, -0.912813f, -0.936606f, -0.956721f, -0.973073f, -0.985595f, -0.994246f, -0.998992f, -0.999816f, -0.996713f, -0.989697f, -0.978794f, -0.964047f, -0.945511f, -0.923249f, -0.897363f, -0.867953f, -0.835135f, -0.799037f, -0.759801f, -0.717582f, -0.672544f, -0.624865f, -0.574722f, -0.522322f, -0.467872f, -0.411584f, -0.353681f, -0.294389f, -0.23394f, -0.172572f, -0.110526f, -0.0480442f, 0.0146259f, 0.0772379f, 0.139546f, 0.201306f, 0.262276f, 0.322216f, 0.380891f, 0.438071f, 0.493527f, 0.547041f, 0.598407f, 0.647422f, 0.693894f, 0.737642f, 0.778493f, 0.816287f, 0.850876f, 0.88212f, 0.90989f, 0.934086f, 0.954614f, 0.971394f, 0.984358f, 0.993458f, 0.998656f, 0.999932f, 0.997281f, 0.990699f, 0.980227f, 0.965906f, 0.947792f, 0.925956f, 0.900484f, 0.871475f, 0.839044f, 0.803318f, 0.764426f, 0.722531f, 0.677799f, 0.630406f, 0.580537f, 0.528388f, 0.474164f, 0.418078f, 0.360349f, 0.301201f, 0.240869f, 0.179592f, 0.11761f, 0.0551665f, -0.00749383f, -0.0701249f, -0.132481f, -0.194318f, -0.25539f, -0.315457f, -0.374285f, -0.431642f, -0.487304f, -0.541053f, -0.592676f, -0.641973f, -0.68875f, -0.73282f, -0.774002f, -0.812145f, -0.847098f, -0.878724f, -0.906899f, -0.931514f, -0.95247f, -0.969687f, -0.983095f, -0.992628f, -0.998262f, -0.999976f, -0.997763f, -0.991632f, -0.981607f, -0.967727f, -0.950047f, -0.928635f, -0.903566f, -0.874945f, -0.842889f, -0.807522f, -0.768985f, -0.727428f, -0.683014f, -0.635918f, -0.586324f, -0.534423f, -0.480419f, -0.424529f, -0.366972f, -0.307974f, -0.247767f, -0.186587f, -0.124674f, -0.0622701f, 0.000378764f, 0.0630259f, 0.125425f, 0.187331f, 0.248501f, 0.308695f, 0.367677f, 0.425215f, 0.481085f, 0.535065f, 0.586936f, 0.636501f, 0.683566f, 0.727947f, 0.769469f, 0.80797f, 0.843298f, 0.875315f, 0.903894f, 0.928912f, 0.95028f, 0.967915f, 0.98175f, 0.991729f, 0.997814f, 0.99998f, 0.998221f, 0.992541f, 0.982955f, 0.969501f, 0.952241f, 0.931242f, 0.906586f, 0.87837f, 0.846704f, 0.811714f, 0.773535f, 0.732314f, 0.68821f, 0.641404f, 0.592079f, 0.54043f, 0.486658f, 0.430975f, 0.373599f, 0.314756f, 0.254675f, 0.193591f, 0.131747f, 0.0693864f, 0.00675364f, -0.0559055f, -0.118345f, -0.180321f, -0.241588f, -0.301908f, -0.361038f, -0.418749f, -0.474815f, -0.529016f, -0.58114f, -0.630981f, -0.678345f, -0.723045f, -0.764907f, -0.803756f, -0.839445f, -0.871837f, -0.900805f, -0.926236f, -0.948029f, -0.9661f, -0.980377f, -0.990804f, -0.997333f, -0.999937f, -0.998614f, -0.993369f, -0.984224f, -0.971214f, -0.95439f, -0.933818f, -0.909578f, -0.881763f, -0.850475f, -0.815847f, -0.778016f, -0.73713f, -0.693349f, -0.646845f, -0.597801f, -0.546409f, -0.49287f, -0.437388f, -0.380189f, -0.321498f, -0.261545f, -0.200564f, -0.138796f, -0.0764828f, -0.0138685f, 0.048801f, 0.111278f, 0.173318f, 0.234676f, 0.295112f, 0.35439f, 0.412275f, 0.468542f, 0.522969f, 0.575344f, 0.625453f, 0.673102f, 0.718108f, 0.760293f, 0.799492f, 0.835552f, 0.86833f, 0.8977f, 0.923544f, 0.945756f, 0.964244f, 0.978946f, 0.989803f, 0.996774f, 0.99983f, 0.99896f, 0.994168f, 0.985472f, 0.972904f, 0.956501f, 0.936343f, 0.912508f, 0.885089f, 0.854196f, 0.819947f, 0.782479f, 0.741938f, 0.698482f, 0.652274f, 0.603503f, 0.552364f, 0.499055f, 0.443786f, 0.386775f, 0.328244f, 0.268425f, 0.20755f, 0.145858f, 0.0835926f, 0.0209998f, -0.0416751f, -0.104186f, -0.166288f, -0.227737f, -0.288292f, -0.347716f, -0.405772f, -0.462231f, -0.516874f, -0.569487f, -0.619863f, -0.667806f, -0.713125f, -0.755645f, -0.795198f, -0.831626f, -0.864777f, -0.894532f, -0.920774f, -0.9434f, -0.962321f, -0.977464f, -0.988768f, -0.996189f, -0.999698f, -0.999266f, -0.994909f, -0.986646f, -0.974508f, -0.958543f, -0.938814f, -0.915399f, -0.888388f, -0.857889f, -0.824009f, -0.786892f, -0.746684f, -0.703545f, -0.657643f, -0.609158f, -0.558281f, -0.505212f, -0.450158f, -0.393332f, -0.334958f, -0.27527f, -0.214502f, -0.152891f, -0.09068f, -0.0281127f, 0.0345654f, 0.0971084f, 0.15927f, 0.220804f, 0.281471f, 0.341032f, 0.399253f, 0.455906f, 0.510769f, 0.563627f, 0.614272f, 0.662504f, 0.708125f, 0.750965f, 0.790855f, 0.827639f, 0.861174f, 0.891326f, 0.917979f, 0.941026f, 0.960379f, 0.975947f, 0.98768f, 0.995535f, 0.99948f, 0.999501f, 0.995597f, 0.987783f, 0.976091f, 0.960565f, 0.941257f, 0.918248f, 0.891633f, 0.861517f, 0.828018f, 0.791267f, 0.751409f, 0.7086f, 0.663008f, 0.614808f, 0.564187f, 0.511352f, 0.456509f, 0.399873f, 0.341668f, 0.28212f, 0.221464f, 0.159938f, 0.0977824f, 0.0352419f, -0.0274362f, -0.0900061f, -0.152222f, -0.21384f, -0.274619f, -0.33432f, -0.392708f, -0.449555f, -0.504629f, -0.557721f, -0.608622f, -0.657133f, -0.703063f, -0.746233f, -0.786472f, -0.823623f, -0.857541f, -0.88808f, -0.915128f, -0.938582f, -0.958351f, -0.974356f, -0.986534f, -0.994839f, -0.999237f, -0.999711f, -0.996251f, -0.988871f, -0.977608f, -0.962506f, -0.943624f, -0.921037f, -0.894832f, -0.865114f, -0.831998f, -0.795611f, -0.75609f, -0.713601f, -0.66831f, -0.620394f, -0.570043f, -0.517452f, -0.46283f, -0.406389f, -0.348352f, -0.288941f, -0.228397f, -0.166956f, -0.104859f, -0.0423513f, 0.0203231f, 0.082918f, 0.145188f, 0.206888f, 0.267773f, 0.327606f, 0.386151f, 0.44318f, 0.498468f, 0.551798f, 0.602962f, 0.651759f, 0.697997f, 0.741487f, 0.78206f, 0.819562f, 0.853845f, 0.884775f, 0.912231f, 0.936104f, 0.956302f, 0.972744f, 0.985361f, 0.994098f, 0.998931f, 0.999842f, 0.996827f, 0.989898f, 0.979081f, 0.96442f, 0.945971f, 0.923805f, 0.897999f, 0.868667f, 0.835923f, 0.799898f, 0.760731f, 0.718577f, 0.673601f, 0.625979f, 0.575898f, 0.523548f, 0.469141f, 0.412892f, 0.355022f, 0.295759f, 0.235334f, 0.173984f, 0.111951f, 0.049477f, -0.0131918f, -0.0758081f, -0.138126f, -0.199901f, -0.260891f, -0.320857f, -0.379563f, -0.436778f, -0.492279f, -0.545844f, -0.59726f, -0.64633f, -0.692861f, -0.736672f, -0.77759f, -0.815454f, -0.850116f, -0.881441f, -0.909301f, -0.933578f, -0.954189f, -0.971054f, -0.984104f, -0.993291f, -0.998576f, -0.999941f, -0.997379f, -0.990899f, -0.980513f, -0.966276f, -0.948246f, -0.926491f, -0.901098f, -0.872167f, -0.839811f, -0.804156f, -0.765343f, -0.723515f, -0.678844f, -0.631507f, -0.581691f, -0.52959f, -0.47541f, -0.419363f, -0.361668f, -0.302553f, -0.242246f, -0.180987f, -0.119018f, -0.0565813f, 0.00607684f, 0.0687111f, 0.131076f, 0.192926f, 0.25402f, 0.314115f, 0.372972f, 0.430365f, 0.486067f, 0.53986f, 0.591533f, 0.640883f, 0.687717f, 0.731851f, 0.77311f, 0.811322f, 0.846347f, 0.878048f, 0.906301f, 0.930996f, 0.952034f, 0.969334f, 0.982827f, 0.992461f, 0.998184f, 0.999985f, 0.997859f, 0.991816f, 0.981877f, 0.968083f, 0.950487f, 0.929159f, 0.904181f, 0.875643f, 0.843662f, 0.808369f, 0.769901f, 0.72841f, 0.684059f, 0.637021f, 0.587481f, 0.535634f, 0.481679f, 0.425829f, 0.368307f, 0.309339f, 0.249156f, 0.187995f, 0.126096f, 0.0637012f, 0.00105556f, -0.0615948f, -0.124002f, -0.185922f, -0.247112f, -0.30733f, -0.366342f, -0.423915f, -0.479824f, -0.533849f, -0.585778f, -0.635398f, -0.682522f, -0.726965f, -0.768553f, -0.807123f, -0.842523f, -0.874615f, -0.903273f, -0.928384f, -0.949838f, -0.967558f, -0.981479f, -0.991545f, -0.997717f, -0.999972f, -0.998299f}; +static void cBinop_kP735_sendMessage(HvBase *, int, const HvMessage *const); +static void cBinop_sanDJ_sendMessage(HvBase *, int, const HvMessage *const); +static void cVar_dyzm6_sendMessage(HvBase *, int, const HvMessage *const); +static void cMsg_Kic2W_sendMessage(HvBase *, int, const HvMessage *const); +static void cVar_L82Xt_sendMessage(HvBase *, int, const HvMessage *const); +static void cCast_5G2Ze_sendMessage(HvBase *, int, const HvMessage *const); +static void cCast_2RFuo_sendMessage(HvBase *, int, const HvMessage *const); +static void cBinop_2qfJy_sendMessage(HvBase *, int, const HvMessage *const); +static void cDelay_yrX1I_sendMessage(HvBase *, int, const HvMessage *const); +static void cMsg_PziMm_sendMessage(HvBase *, int, const HvMessage *const); +static void cSystem_iItXD_sendMessage(HvBase *, int, const HvMessage *const); +static void cCast_YCAHU_sendMessage(HvBase *, int, const HvMessage *const); +static void cBinop_6R0aV_sendMessage(HvBase *, int, const HvMessage *const); +static void cBinop_6UQKq_sendMessage(HvBase *, int, const HvMessage *const); +static void cLoadbang_ckv76_sendMessage(HvBase *, int, const HvMessage *const); +static void cSwitchcase_U5sfp_onMessage(HvBase *, void *, int letIn, const HvMessage *const, void *); +static void cVar_PQ3Gs_sendMessage(HvBase *, int, const HvMessage *const); +static void cMsg_3I6kT_sendMessage(HvBase *, int, const HvMessage *const); +static void cMsg_i9LNn_sendMessage(HvBase *, int, const HvMessage *const); +static void cReceive_LvqqT_sendMessage(HvBase *, int, const HvMessage *const); + + + +/* + * Static Helper Functions + */ + +static void ctx_intern_scheduleMessageForReceiver( + HvBase *const _c, const char *name, HvMessage *m) { + switch (msg_symbolToHash(name)) { + case 0xFA51FBB8: { // 1-blocksize + ctx_scheduleMessage(_c, m, &cReceive_FxyXp_sendMessage, 0); + ctx_scheduleMessage(_c, m, &cReceive_LvqqT_sendMessage, 0); + ctx_scheduleMessage(_c, m, &cReceive_Vgi75_sendMessage, 0); + break; + } + default: return; + } +} + +static struct HvTable *ctx_intern_getTableForHash(HvBase *const _c, hv_uint32_t h) { + switch (h) { + case 0x9675CB2B: return &Context(_c)->hTable_bMRkm; // circbuf + default: return NULL; + } +} + + + +/* + * Context Include and Implementatons + */ + +Hv_bbb *hv_bbb_new_with_pool(double sampleRate, int poolKb) { + hv_assert(sampleRate > 0.0); // can't initialise with sampling rate of 0 + hv_assert(poolKb >= 1); // a message pool of some reasonable size is always needed + Hv_bbb *const _c = (Hv_bbb *) hv_malloc(sizeof(Hv_bbb)); + + Base(_c)->numInputChannels = 0; + Base(_c)->numOutputChannels = 2; + Base(_c)->sampleRate = sampleRate; + Base(_c)->blockStartTimestamp = 0; + Base(_c)->f_scheduleMessageForReceiver = &ctx_intern_scheduleMessageForReceiver; + Base(_c)->f_getTableForHash = &ctx_intern_getTableForHash; + mq_initWithPoolSize(&Base(_c)->mq, poolKb); + Base(_c)->basePath = NULL; + Base(_c)->printHook = NULL; + Base(_c)->sendHook = NULL; + Base(_c)->userData = NULL; + Base(_c)->name = "bbb"; + + Base(_c)->numBytes = sizeof(Hv_bbb); + Base(_c)->numBytes += sPhasor_k_init(&_c->sPhasor_yhIgV, 0.0f, sampleRate); + Base(_c)->numBytes += sVarf_init(&_c->sVarf_OYBp3, 16.0f, 0.0f, false); + Base(_c)->numBytes += sVarf_init(&_c->sVarf_WqBZG, 0.0f, 0.0f, false); + Base(_c)->numBytes += sVarf_init(&_c->sVarf_sy04b, 0.0f, 0.0f, false); + Base(_c)->numBytes += sVarf_init(&_c->sVarf_YIETS, 0.0f, 0.0f, false); + Base(_c)->numBytes += sVarf_init(&_c->sVarf_Ps6vO, 0.0f, 0.0f, false); + Base(_c)->numBytes += sVarf_init(&_c->sVarf_Gdp28, 0.0f, 0.0f, false); + Base(_c)->numBytes += sTabread_init(&_c->sTabread_b9N2T, &_c->hTable_bMRkm, false); + Base(_c)->numBytes += sVarf_init(&_c->sVarf_BQcuT, 0.0f, 0.0f, false); + Base(_c)->numBytes += sTabread_init(&_c->sTabread_YKmTe, &_c->hTable_bMRkm, false); + Base(_c)->numBytes += sVarf_init(&_c->sVarf_QMUKu, 0.0f, 0.0f, false); + Base(_c)->numBytes += sVarf_init(&_c->sVarf_7V4VN, 0.0f, 0.0f, false); + Base(_c)->numBytes += sPhasor_k_init(&_c->sPhasor_nXcxm, 440.0f, sampleRate); + Base(_c)->numBytes += sTabwrite_init(&_c->sTabwrite_PK7gw, &_c->hTable_bMRkm); + Base(_c)->numBytes += cVar_init_s(&_c->cVar_Nbuhx, "circbuf"); + Base(_c)->numBytes += cVar_init_f(&_c->cVar_8i48y, 0.0f); + Base(_c)->numBytes += cSlice_init(&_c->cSlice_rCDp5, 1, 1); + Base(_c)->numBytes += cBinop_init(&_c->cBinop_6cI32, 16.0f); // __div + Base(_c)->numBytes += cVar_init_f(&_c->cVar_suvom, 0.0f); + Base(_c)->numBytes += cSlice_init(&_c->cSlice_aq0PT, 1, 1); + Base(_c)->numBytes += cBinop_init(&_c->cBinop_gwAEl, 0.0f); // __sub + Base(_c)->numBytes += cVar_init_s(&_c->cVar_jMs8D, "circbuf"); + Base(_c)->numBytes += cSlice_init(&_c->cSlice_fXstx, 1, 1); + Base(_c)->numBytes += cBinop_init(&_c->cBinop_KxvCV, 0.0f); // __div + Base(_c)->numBytes += cDelay_init(Base(_c), &_c->cDelay_dFU5B, 0.0f); + Base(_c)->numBytes += hTable_initWithData(&_c->hTable_bMRkm, 65536, hTable_bMRkm_data); + Base(_c)->numBytes += cVar_init_f(&_c->cVar_dyzm6, 0.0f); + Base(_c)->numBytes += cVar_init_f(&_c->cVar_L82Xt, 16.0f); + Base(_c)->numBytes += cBinop_init(&_c->cBinop_2qfJy, 0.0f); // __mul + Base(_c)->numBytes += cDelay_init(Base(_c), &_c->cDelay_yrX1I, 0.0f); + Base(_c)->numBytes += cVar_init_f(&_c->cVar_PQ3Gs, 1000.0f); + + // loadbang + ctx_scheduleMessage(Base(_c), msg_initWithBang(HV_MESSAGE_ON_STACK(1), 0), &cLoadbang_ckv76_sendMessage, 0); + ctx_scheduleMessage(Base(_c), msg_initWithBang(HV_MESSAGE_ON_STACK(1), 0), &cLoadbang_6j7WE_sendMessage, 0); + ctx_scheduleMessage(Base(_c), msg_initWithBang(HV_MESSAGE_ON_STACK(1), 0), &cLoadbang_rydyZ_sendMessage, 0); + ctx_scheduleMessage(Base(_c), msg_initWithBang(HV_MESSAGE_ON_STACK(1), 0), &cLoadbang_Aytpw_sendMessage, 0); + ctx_scheduleMessage(Base(_c), msg_initWithBang(HV_MESSAGE_ON_STACK(1), 0), &cLoadbang_nujLv_sendMessage, 0); + ctx_scheduleMessage(Base(_c), msg_initWithBang(HV_MESSAGE_ON_STACK(1), 0), &cLoadbang_sLy2Y_sendMessage, 0); + + return _c; +} + +Hv_bbb *hv_bbb_new(double sampleRate) { + return hv_bbb_new_with_pool(sampleRate, 10); // default to 10KB MessagePool +} + +void hv_bbb_free(Hv_bbb *_c) { + hTable_free(&_c->hTable_bMRkm); + + hv_free(Base(_c)->basePath); + mq_free(&Base(_c)->mq); // free queue after all objects have been freed, messages may be cancelled + + hv_free(_c); +} + + + +/* + * Static Function Implementation + */ +static void cCast_fcSF6_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cMsg_IENBD_sendMessage(_c, 0, m); +} + +static void cBinop_8jSo1_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_ADD, 65536.0f, 0, m, &cBinop_aQLZM_sendMessage); +} + +static void cReceive_FxyXp_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_OYBp3, m); +} + +static void cSystem_mISeT_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_6cI32, HV_BINOP_DIVIDE, 0, m, &cBinop_6cI32_sendMessage); +} + +static void cMsg_IENBD_sendMessage(HvBase *_c, int letIn, const HvMessage *const n) { + HvMessage *m = NULL; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_mISeT_sendMessage); +} + +static void cSend_bhqJO_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + if (_c->sendHook != NULL) _c->sendHook(ctx_samplesToMilliseconds(_c, msg_getTimestamp(m)), "1-blocksize", m, ctx_getUserData(_c)); + cReceive_FxyXp_sendMessage(_c, 0, m); + cReceive_LvqqT_sendMessage(_c, 0, m); + cReceive_Vgi75_sendMessage(_c, 0, m); +} + +static void cReceive_Vgi75_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_6cI32, HV_BINOP_DIVIDE, 1, m, &cBinop_6cI32_sendMessage); +} + +static void cCast_2AsCD_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cMsg_Kic2W_sendMessage(_c, 0, m); +} + +static void cSystem_0VTVG_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 2.0f, 0, m, &cBinop_8bt42_sendMessage); +} + +static void cVar_Nbuhx_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cMsg_Sg8K2_sendMessage(_c, 0, m); +} + +static void cVar_8i48y_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 2.0f, 0, m, &cBinop_8bt42_sendMessage); +} + +static void cSwitchcase_HCeid_onMessage(HvBase *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m,0)) { + case 0x3E004DAB: { // "set" + cSlice_onMessage(_c, &Context(_c)->cSlice_rCDp5, 0, m, &cSlice_rCDp5_sendMessage); + break; + } + default: { + break; + } + } +} + +static void cMsg_Sg8K2_sendMessage(HvBase *_c, int letIn, const HvMessage *const n) { + HvMessage *m = NULL; + m = HV_MESSAGE_ON_STACK(3); + msg_init(m, 3, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "table"); + msg_setElementToFrom(m, 1, n, 0); + msg_setSymbol(m, 2, "size"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_0VTVG_sendMessage); +} + +static void cBinop_8bt42_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_Gdp28, m); +} + +static void cSlice_rCDp5_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + switch(letIn) { + case 0: { + sTabread_onMessage(_c, &Context(_c)->sTabread_b9N2T, 1, m); + sTabread_onMessage(_c, &Context(_c)->sTabread_YKmTe, 1, m); + cVar_onMessage(_c, &Context(_c)->cVar_Nbuhx, 0, m, &cVar_Nbuhx_sendMessage); + break; + } + case 1: { + break; + } + default: return; + } +} + +static void cLoadbang_sLy2Y_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cVar_onMessage(_c, &Context(_c)->cVar_Nbuhx, 0, m, &cVar_Nbuhx_sendMessage); +} + +static void cBinop_6cI32_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + sPhasor_k_onMessage(_c, &Context(_c)->sPhasor_yhIgV, 0, m); +} + +static void cBinop_aQLZM_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MOD_BIPOLAR, 65536.0f, 0, m, &cBinop_sanDJ_sendMessage); +} + +static void cMsg_zIs5H_sendMessage(HvBase *_c, int letIn, const HvMessage *const n) { + HvMessage *m = NULL; + m = HV_MESSAGE_ON_STACK(2); + msg_init(m, 2, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "start"); + msg_setElementToFrom(m, 1, n, 0); + cSwitchcase_o94lO_onMessage(_c, NULL, 0, m, NULL); +} + +static void cVar_suvom_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cSend_bhqJO_sendMessage(_c, 0, m); +} + +static void cMsg_xVUKW_sendMessage(HvBase *_c, int letIn, const HvMessage *const n) { + HvMessage *m = NULL; + m = HV_MESSAGE_ON_STACK(3); + msg_init(m, 3, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "table"); + msg_setElementToFrom(m, 1, n, 0); + msg_setSymbol(m, 2, "size"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_QTSOn_sendMessage); +} + +static void cSystem_lCWpf_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 1000.0f, 0, m, &cBinop_br2Uk_sendMessage); +} + +static void cSlice_aq0PT_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + switch(letIn) { + case 0: { + sTabwrite_onMessage(_c, &Context(_c)->sTabwrite_PK7gw, 2, m, NULL); + cVar_onMessage(_c, &Context(_c)->cVar_jMs8D, 0, m, &cVar_jMs8D_sendMessage); + break; + } + case 1: { + break; + } + default: return; + } +} + +static void cBinop_br2Uk_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_KxvCV, HV_BINOP_DIVIDE, 1, m, &cBinop_KxvCV_sendMessage); +} + +static void cMsg_IWR3b_sendMessage(HvBase *_c, int letIn, const HvMessage *const n) { + HvMessage *m = NULL; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + sTabwrite_onMessage(_c, &Context(_c)->sTabwrite_PK7gw, 1, m, NULL); + cBinop_onMessage(_c, &Context(_c)->cBinop_gwAEl, HV_BINOP_SUBTRACT, 0, m, &cBinop_gwAEl_sendMessage); +} + +static void cBinop_gwAEl_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MULTIPLY, -1.0f, 0, m, &cBinop_ltNi5_sendMessage); +} + +static void cVar_jMs8D_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cMsg_xVUKW_sendMessage(_c, 0, m); +} + +static void cSystem_QTSOn_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_gwAEl, HV_BINOP_SUBTRACT, 1, m, &cBinop_gwAEl_sendMessage); +} + +static void cMsg_TAhzQ_sendMessage(HvBase *_c, int letIn, const HvMessage *const n) { + HvMessage *m = NULL; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_dFU5B, 0, m, &cDelay_dFU5B_sendMessage); +} + +static void cBinop_ltNi5_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_KxvCV, HV_BINOP_DIVIDE, 0, m, &cBinop_KxvCV_sendMessage); +} + +static void cLoadbang_rydyZ_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cMsg_bvjva_sendMessage(_c, 0, m); +} + +static void cMsg_IXFiv_sendMessage(HvBase *_c, int letIn, const HvMessage *const n) { + HvMessage *m = NULL; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "stop"); + sTabwrite_onMessage(_c, &Context(_c)->sTabwrite_PK7gw, 1, m, NULL); +} + +static void cSlice_fXstx_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + switch(letIn) { + case 0: { + sTabwrite_onMessage(_c, &Context(_c)->sTabwrite_PK7gw, 1, m, NULL); + cBinop_onMessage(_c, &Context(_c)->cBinop_gwAEl, HV_BINOP_SUBTRACT, 0, m, &cBinop_gwAEl_sendMessage); + break; + } + case 1: { + break; + } + default: return; + } +} + +static void cLoadbang_Aytpw_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cVar_onMessage(_c, &Context(_c)->cVar_jMs8D, 0, m, &cVar_jMs8D_sendMessage); +} + +static void cMsg_bvjva_sendMessage(HvBase *_c, int letIn, const HvMessage *const n) { + HvMessage *m = NULL; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_lCWpf_sendMessage); +} + +static void cBinop_KxvCV_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cMsg_TAhzQ_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_dFU5B, 1, m, &cDelay_dFU5B_sendMessage); + cDelay_onMessage(_c, &Context(_c)->cDelay_dFU5B, 0, m, &cDelay_dFU5B_sendMessage); +} + +static void cDelay_dFU5B_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_dFU5B, m); + cMsg_IXFiv_sendMessage(_c, 0, m); +} + +static void cLoadbang_nujLv_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cMsg_IXFiv_sendMessage(_c, 0, m); +} + +static void cSwitchcase_o94lO_onMessage(HvBase *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m,0)) { + case 0x6FF57CB4: { // "start" + cSlice_onMessage(_c, &Context(_c)->cSlice_fXstx, 0, m, &cSlice_fXstx_sendMessage); + break; + } + case 0x7A5B032D: { // "stop" + cMsg_IXFiv_sendMessage(_c, 0, m); + break; + } + case 0x3E004DAB: { // "set" + cSlice_onMessage(_c, &Context(_c)->cSlice_aq0PT, 0, m, &cSlice_aq0PT_sendMessage); + break; + } + default: { + cMsg_IWR3b_sendMessage(_c, 0, m); + break; + } + } +} + +static void cLoadbang_6j7WE_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_fcSF6_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_2AsCD_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_2RFuo_sendMessage); + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_5G2Ze_sendMessage); +} + +static void cBinop_oXoQf_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cVar_onMessage(_c, &Context(_c)->cVar_PQ3Gs, 0, m, &cVar_PQ3Gs_sendMessage); +} + +static void cBinop_9I5VM_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cMsg_zIs5H_sendMessage(_c, 0, m); + cVar_onMessage(_c, &Context(_c)->cVar_dyzm6, 1, m, &cVar_dyzm6_sendMessage); +} + +static void hTable_bMRkm_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { +} + +static void cBinop_kP735_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MOD_BIPOLAR, 65536.0f, 0, m, &cBinop_9I5VM_sendMessage); + cBinop_k_onMessage(_c, NULL, HV_BINOP_SUBTRACT, 32768.0f, 0, m, &cBinop_8jSo1_sendMessage); +} + +static void cBinop_sanDJ_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + sVarf_onMessage(_c, &Context(_c)->sVarf_WqBZG, m); +} + +static void cVar_dyzm6_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_ADD, 64.0f, 0, m, &cBinop_kP735_sendMessage); +} + +static void cMsg_Kic2W_sendMessage(HvBase *_c, int letIn, const HvMessage *const n) { + HvMessage *m = NULL; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 0.0f); + sPhasor_k_onMessage(_c, &Context(_c)->sPhasor_yhIgV, 1, m); +} + +static void cVar_L82Xt_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 44.1f, 0, m, &cBinop_oXoQf_sendMessage); +} + +static void cCast_5G2Ze_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cMsg_i9LNn_sendMessage(_c, 0, m); +} + +static void cCast_2RFuo_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cVar_onMessage(_c, &Context(_c)->cVar_L82Xt, 0, m, &cVar_L82Xt_sendMessage); +} + +static void cBinop_2qfJy_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_MAX, 1.0f, 0, m, &cBinop_6R0aV_sendMessage); +} + +static void cDelay_yrX1I_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cDelay_clearExecutingMessage(&Context(_c)->cDelay_yrX1I, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_yrX1I, 0, m, &cDelay_yrX1I_sendMessage); + cVar_onMessage(_c, &Context(_c)->cVar_dyzm6, 0, m, &cVar_dyzm6_sendMessage); +} + +static void cMsg_PziMm_sendMessage(HvBase *_c, int letIn, const HvMessage *const n) { + HvMessage *m = NULL; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "samplerate"); + cSystem_onMessage(_c, NULL, 0, m, &cSystem_iItXD_sendMessage); +} + +static void cSystem_iItXD_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cBinop_k_onMessage(_c, NULL, HV_BINOP_DIVIDE, 1000.0f, 0, m, &cBinop_6UQKq_sendMessage); +} + +static void cCast_YCAHU_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cMsg_3I6kT_sendMessage(_c, 0, m); + cDelay_onMessage(_c, &Context(_c)->cDelay_yrX1I, 0, m, &cDelay_yrX1I_sendMessage); + cVar_onMessage(_c, &Context(_c)->cVar_dyzm6, 0, m, &cVar_dyzm6_sendMessage); +} + +static void cBinop_6R0aV_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cDelay_onMessage(_c, &Context(_c)->cDelay_yrX1I, 2, m, &cDelay_yrX1I_sendMessage); +} + +static void cBinop_6UQKq_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_2qfJy, HV_BINOP_MULTIPLY, 1, m, &cBinop_2qfJy_sendMessage); +} + +static void cLoadbang_ckv76_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cMsg_PziMm_sendMessage(_c, 0, m); + cVar_onMessage(_c, &Context(_c)->cVar_PQ3Gs, 0, m, &cVar_PQ3Gs_sendMessage); +} + +static void cSwitchcase_U5sfp_onMessage(HvBase *_c, void *o, int letIn, const HvMessage *const m, void *sendMessage) { + switch (msg_getHash(m,0)) { + case 0x0: { // "0.0" + cMsg_3I6kT_sendMessage(_c, 0, m); + break; + } + case 0x7A5B032D: { // "stop" + cMsg_3I6kT_sendMessage(_c, 0, m); + break; + } + default: { + cCast_onMessage(_c, HV_CAST_BANG, 0, m, &cCast_YCAHU_sendMessage); + break; + } + } +} + +static void cVar_PQ3Gs_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cBinop_onMessage(_c, &Context(_c)->cBinop_2qfJy, HV_BINOP_MULTIPLY, 0, m, &cBinop_2qfJy_sendMessage); +} + +static void cMsg_3I6kT_sendMessage(HvBase *_c, int letIn, const HvMessage *const n) { + HvMessage *m = NULL; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setSymbol(m, 0, "clear"); + cDelay_onMessage(_c, &Context(_c)->cDelay_yrX1I, 0, m, &cDelay_yrX1I_sendMessage); +} + +static void cMsg_i9LNn_sendMessage(HvBase *_c, int letIn, const HvMessage *const n) { + HvMessage *m = NULL; + m = HV_MESSAGE_ON_STACK(1); + msg_init(m, 1, msg_getTimestamp(n)); + msg_setFloat(m, 0, 1.0f); + cSwitchcase_U5sfp_onMessage(_c, NULL, 0, m, NULL); +} + +static void cReceive_LvqqT_sendMessage(HvBase *_c, int letIn, const HvMessage *const m) { + cVar_onMessage(_c, &Context(_c)->cVar_L82Xt, 1, m, &cVar_L82Xt_sendMessage); +} + + + + +/* + * Context Process Implementation + */ + +int hv_bbb_process(Hv_bbb *const _c, float **const inputBuffers, float **const outputBuffers, int nx) { + const int n4 = nx & ~HV_N_SIMD_MASK; // ensure that the block size is a multiple of HV_N_SIMD + + // temporary signal vars + hv_bufferf_t Bf0, Bf1, Bf2, Bf3, Bf4, Bf5, Bf6; + hv_bufferi_t Bi0, Bi1; + + // input and output vars + hv_bufferf_t O0, O1; + + // declare and init the zero buffer + hv_bufferf_t ZERO; __hv_zero_f(VOf(ZERO)); + + hv_uint32_t nextBlock = Base(_c)->blockStartTimestamp; + for (int n = 0; n < n4; n += HV_N_SIMD) { + + // process all of the messages for this block + nextBlock += HV_N_SIMD; + while (mq_hasMessageBefore(&Base(_c)->mq, nextBlock)) { + MessageNode *const node = mq_peek(&Base(_c)->mq); + node->sendMessage(Base(_c), node->let, node->m); + mq_pop(&Base(_c)->mq); + } + + + + // zero output buffers + __hv_zero_f(VOf(O0)); + __hv_zero_f(VOf(O1)); + + // process all signal functions + __hv_phasor_k_f(&_c->sPhasor_yhIgV, VOf(Bf0)); + __hv_var_f(&_c->sVarf_OYBp3, VOf(Bf1)); + __hv_var_f(&_c->sVarf_WqBZG, VOf(Bf2)); + __hv_fma_f(VIf(Bf0), VIf(Bf1), VIf(Bf2), VOf(Bf2)); + __hv_var_f(&_c->sVarf_sy04b, VOf(Bf1)); + __hv_var_f(&_c->sVarf_YIETS, VOf(Bf0)); + __hv_var_f(&_c->sVarf_Ps6vO, VOf(Bf3)); + __hv_add_f(VIf(Bf2), VIf(Bf3), VOf(Bf3)); + __hv_var_f(&_c->sVarf_Gdp28, VOf(Bf4)); + __hv_min_f(VIf(Bf3), VIf(Bf4), VOf(Bf4)); + __hv_add_f(VIf(Bf0), VIf(Bf4), VOf(Bf4)); + __hv_var_k_f(VOf(Bf0), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0); + __hv_max_f(VIf(Bf4), VIf(Bf0), VOf(Bf0)); + __hv_cast_fi(VIf(Bf0), VOi(Bi0)); + __hv_var_k_i(VOi(Bi1), 1, 1, 1, 1, 1, 1, 1, 1, 0); + __hv_add_i(VIi(Bi0), VIi(Bi1), VOi(Bi1)); + __hv_tabread_if(&_c->sTabread_b9N2T, VIi(Bi1), VOf(Bf4)); + __hv_var_f(&_c->sVarf_BQcuT, VOf(Bf3)); + __hv_add_f(VIf(Bf4), VIf(Bf3), VOf(Bf3)); + __hv_tabread_if(&_c->sTabread_YKmTe, VIi(Bi0), VOf(Bf4)); + __hv_sub_f(VIf(Bf3), VIf(Bf4), VOf(Bf3)); + __hv_add_f(VIf(Bf1), VIf(Bf3), VOf(Bf3)); + __hv_var_f(&_c->sVarf_QMUKu, VOf(Bf1)); + __hv_add_f(VIf(Bf1), VIf(Bf0), VOf(Bf1)); + __hv_floor_f(VIf(Bf0), VOf(Bf0)); + __hv_sub_f(VIf(Bf1), VIf(Bf0), VOf(Bf0)); + __hv_var_f(&_c->sVarf_7V4VN, VOf(Bf1)); + __hv_add_f(VIf(Bf4), VIf(Bf1), VOf(Bf1)); + __hv_fma_f(VIf(Bf3), VIf(Bf0), VIf(Bf1), VOf(Bf1)); + __hv_add_f(VIf(Bf1), VIf(O1), VOf(O1)); + __hv_phasor_k_f(&_c->sPhasor_nXcxm, VOf(Bf0)); + __hv_var_k_f(VOf(Bf3), 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0); + __hv_sub_f(VIf(Bf0), VIf(Bf3), VOf(Bf3)); + __hv_abs_f(VIf(Bf3), VOf(Bf3)); + __hv_var_k_f(VOf(Bf0), 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0); + __hv_sub_f(VIf(Bf3), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf3), 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 6.28319f, 0); + __hv_mul_f(VIf(Bf0), VIf(Bf3), VOf(Bf3)); + __hv_mul_f(VIf(Bf3), VIf(Bf3), VOf(Bf0)); + __hv_mul_f(VIf(Bf3), VIf(Bf0), VOf(Bf4)); + __hv_mul_f(VIf(Bf4), VIf(Bf0), VOf(Bf0)); + __hv_var_k_f(VOf(Bf5), 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0.00784314f, 0); + __hv_var_k_f(VOf(Bf6), 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0.166667f, 0); + __hv_mul_f(VIf(Bf4), VIf(Bf6), VOf(Bf6)); + __hv_sub_f(VIf(Bf3), VIf(Bf6), VOf(Bf6)); + __hv_fma_f(VIf(Bf0), VIf(Bf5), VIf(Bf6), VOf(Bf6)); + __hv_tabwrite_stoppable_f(&_c->sTabwrite_PK7gw, VIf(Bf6)); + __hv_add_f(VIf(Bf1), VIf(O0), VOf(O0)); + + // save output vars to output buffer + __hv_store_f(outputBuffers[0]+n, VIf(O0)); + __hv_store_f(outputBuffers[1]+n, VIf(O1)); + } + + Base(_c)->blockStartTimestamp = nextBlock; + + return n4; // return the number of frames processed +} + +int hv_bbb_process_inline(Hv_bbb *c, float *const inputBuffers, float *const outputBuffers, int n4) { + hv_assert(!(n4 & HV_N_SIMD_MASK)); // ensure that n4 is a multiple of HV_N_SIMD + int i = ctx_getNumInputChannels(Base(c)); + float **bIn = (float **) hv_alloca(i*sizeof(float *)); + while (i--) bIn[i] = inputBuffers+(i*n4); + + i = ctx_getNumOutputChannels(Base(c)); + float **bOut = (float **) hv_alloca(i*sizeof(float *)); + while (i--) bOut[i] = outputBuffers+(i*n4); + + int n = hv_bbb_process(c, bIn, bOut, n4); + return n; +} + +int hv_bbb_process_inline_short(Hv_bbb *c, short *const inputBuffers, short *const outputBuffers, int n4) { + hv_assert(!(n4 & HV_N_SIMD_MASK)); // ensure that n4 is a multiple of HV_N_SIMD + int numChannels = ctx_getNumInputChannels(Base(c)); + float *bIn = (float *) hv_alloca(numChannels*n4*sizeof(float)); + for (int i = 0; i < numChannels; ++i) { + for (int j = 0; j < n4; ++j) { + bIn[i*n4+j] = ((float) inputBuffers[i+numChannels*j]) * 0.00003051757813f; + } + } + + numChannels = ctx_getNumOutputChannels(Base(c)); + float *bOut = (float *) hv_alloca(numChannels*n4*sizeof(float)); + + int n = hv_bbb_process_inline(c, bIn, bOut, n4); + + for (int i = 0; i < numChannels; ++i) { + for (int j = 0; j < n4; ++j) { + outputBuffers[i+numChannels*j] = (short) (bOut[i*n4+j] * 32767.0f); + } + } + + return n; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/HvContext_bbb.h Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,94 @@ + +/** + * Copyright (c) 2014,2015 Enzien Audio, Ltd. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, and/or + * sublicense copies of the Software, strictly on a non-commercial basis, + * and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * DO NOT MODIFY. THIS CODE IS MACHINE GENERATED BY THE SECTION6 HEAVY COMPILER. + */ + +#ifndef _HEAVYCONTEXT_BBB_H_ +#define _HEAVYCONTEXT_BBB_H_ + +#include "HvBase.h" + +#define Context(_x) ((Hv_bbb *) (_x)) + +// object includes +#include "SignalTabwrite.h" +#include "ControlSystem.h" +#include "SignalVar.h" +#include "ControlCast.h" +#include "HvTable.h" +#include "ControlSlice.h" +#include "SignalTabread.h" +#include "HeavyMath.h" +#include "ControlBinop.h" +#include "ControlVar.h" +#include "ControlDelay.h" +#include "SignalPhasor.h" + +typedef struct Hv_bbb { + HvBase base; + + // objects + SignalPhasor sPhasor_yhIgV; + SignalVarf sVarf_OYBp3; + SignalVarf sVarf_WqBZG; + SignalVarf sVarf_sy04b; + SignalVarf sVarf_YIETS; + SignalVarf sVarf_Ps6vO; + SignalVarf sVarf_Gdp28; + SignalTabread sTabread_b9N2T; + SignalVarf sVarf_BQcuT; + SignalTabread sTabread_YKmTe; + SignalVarf sVarf_QMUKu; + SignalVarf sVarf_7V4VN; + SignalPhasor sPhasor_nXcxm; + SignalTabwrite sTabwrite_PK7gw; + ControlBinop cBinop_8jSo1; + ControlVar cVar_Nbuhx; + ControlVar cVar_8i48y; + ControlBinop cBinop_8bt42; + ControlSlice cSlice_rCDp5; + ControlBinop cBinop_6cI32; + ControlBinop cBinop_aQLZM; + ControlVar cVar_suvom; + ControlSlice cSlice_aq0PT; + ControlBinop cBinop_br2Uk; + ControlBinop cBinop_gwAEl; + ControlVar cVar_jMs8D; + ControlBinop cBinop_ltNi5; + ControlSlice cSlice_fXstx; + ControlBinop cBinop_KxvCV; + ControlDelay cDelay_dFU5B; + ControlBinop cBinop_oXoQf; + HvTable hTable_bMRkm; + ControlBinop cBinop_kP735; + ControlVar cVar_dyzm6; + ControlVar cVar_L82Xt; + ControlBinop cBinop_2qfJy; + ControlDelay cDelay_yrX1I; + ControlBinop cBinop_6R0aV; + ControlBinop cBinop_6UQKq; + ControlVar cVar_PQ3Gs; +} Hv_bbb; + +#endif // _HEAVYCONTEXT_BBB_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/HvMessage.c Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,335 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvMessage.h" + +HvMessage *msg_init(HvMessage *m, hv_size_t numElements, hv_uint32_t timestamp) { + m->timestamp = timestamp; + m->numElements = (hv_uint16_t) numElements; + m->numBytes = (hv_uint16_t) msg_getByteSize(numElements); + return m; +} + +HvMessage *msg_initWithFloat(HvMessage *m, hv_uint32_t timestamp, float f) { + m->timestamp = timestamp; + m->numElements = 1; + m->numBytes = sizeof(HvMessage); + msg_setFloat(m, 0, f); + return m; +} + +HvMessage *msg_initWithBang(HvMessage *m, hv_uint32_t timestamp) { + m->timestamp = timestamp; + m->numElements = 1; + m->numBytes = sizeof(HvMessage); + msg_setBang(m, 0); + return m; +} + +HvMessage *msg_initWithSymbol(HvMessage *m, hv_uint32_t timestamp, char *s) { + m->timestamp = timestamp; + m->numElements = 1; + m->numBytes = sizeof(HvMessage); + msg_setSymbol(m, 0, s); + return m; +} + +HvMessage *msg_initWithHash(HvMessage *m, hv_uint32_t timestamp, hv_uint32_t h) { + m->timestamp = timestamp; + m->numElements = 1; + m->numBytes = sizeof(HvMessage); + msg_setHash(m, 0, h); + return m; +} + +HvMessage *msg_initV(HvMessage *const m, const hv_uint32_t timestamp, const char *format, ...) { + va_list ap; + va_start(ap, format); + + const int numElem = (int) hv_strlen(format); + msg_init(m, numElem, timestamp); + for (int i = 0; i < numElem; i++) { + switch (format[i]) { + case 'b': msg_setBang(m,i); break; + case 'f': msg_setFloat(m, i, (float) va_arg(ap, double)); break; + case 's': msg_setSymbol(m, i, (char *) va_arg(ap, char *)); break; + case 'h': // hash not supported + default: break; + } + } + va_end(ap); + + return m; +} + +hv_size_t msg_getNumHeapBytes(const HvMessage *m) { + // get the size of all symbol elements + hv_size_t rsizeofsym = 0; + for (int i = 0; i < msg_getNumElements(m); ++i) { + if (msg_isSymbol(m,i)) { + rsizeofsym += (hv_size_t) hv_strlen(msg_getSymbol(m,i)) + 1; // +1 to allow for trailing '\0' + } + } + + // the total byte size on the heap + return (msg_getByteSize(msg_getNumElements(m)) + rsizeofsym); +} + +void msg_copyToBuffer(const HvMessage *m, char *buffer, hv_size_t len) { + HvMessage *r = (HvMessage *) buffer; + + // assert that the message is not already larger than the length of the buffer + hv_assert(msg_getNumBytes(m) <= len); + + // copy the basic message to the buffer + hv_memcpy(r, m, msg_getNumBytes(m)); + + hv_size_t len_r = msg_getNumBytes(m); + + char *p = buffer + msg_getByteSize(msg_getNumElements(m)); // points to the end of the base message + for (int i = 0; i < msg_getNumElements(m); ++i) { + if (msg_isSymbol(m,i)) { + const hv_size_t symLen = (hv_size_t) hv_strlen(msg_getSymbol(m,i)) + 1; // include the trailing null char + hv_assert(len_r + symLen <= len); // stay safe! + hv_strncpy(p, msg_getSymbol(m,i), symLen); + msg_setSymbol(r, i, p); + p += symLen; + len_r += symLen; + } + } + + r->numBytes = (hv_uint16_t) len_r; // update the message size in memory +} + +// the message is serialised such that all symbol elements are placed in order at the end of the buffer +HvMessage *msg_copy(const HvMessage *m) { + const hv_size_t heapSize = msg_getNumHeapBytes(m); + char *r = (char *) hv_malloc(heapSize); + msg_copyToBuffer(m, r, heapSize); + return (HvMessage *) r; +} + +void msg_free(HvMessage *m) { + hv_free(m); // because heap messages are serialised in memory, a simple call to free releases the message +} + +bool msg_hasFormat(const HvMessage *m, const char *fmt) { + if (fmt == NULL) return false; + if (msg_getNumElements(m) != hv_strlen(fmt)) return false; + for (int i = 0; i < msg_getNumElements(m); i++) { + switch (fmt[i]) { + case 'b': if (!msg_isBang(m, i)) return false; break; + case 'f': if (!msg_isFloat(m, i)) return false; break; + case 's': if (!msg_isSymbol(m, i)) return false; break; + case 'h': if (!msg_isHash(m, i)) return false; break; + default: return false; + } + } + return true; +} + +bool msg_compareSymbol(const HvMessage *m, int i, const char *s) { + switch (msg_getType(m,i)) { + case SYMBOL: return !hv_strcmp(msg_getSymbol(m, i), s); + case HASH: return (msg_getHash(m,i) == msg_symbolToHash(s)); + default: return false; + } +} + +bool msg_equalsElement(const HvMessage *m, int i_m, const HvMessage *n, int i_n) { + if (i_m < msg_getNumElements(m) && i_n < msg_getNumElements(n)) { + if (msg_getType(m, i_m) == msg_getType(n, i_n)) { + switch (msg_getType(m, i_m)) { + case BANG: return true; + case FLOAT: return (msg_getFloat(m, i_m) == msg_getFloat(n, i_n)); + case SYMBOL: return msg_compareSymbol(m, i_m, msg_getSymbol(n, i_n)); + case HASH: return msg_getHash(m,i_m) == msg_getHash(n,i_n); + default: break; + } + } + } + return false; +} + +void msg_setElementToFrom(HvMessage *n, int i_n, const HvMessage *const m, int i_m) { + switch (msg_getType(m, i_m)) { + case BANG: msg_setBang(n, i_n); break; + case FLOAT: msg_setFloat(n, i_n, msg_getFloat(m, i_m)); break; + case SYMBOL: msg_setSymbol(n, i_n, msg_getSymbol(m, i_m)); break; + case HASH: msg_setHash(n, i_n, msg_getHash(m, i_m)); + default: break; + } +} + +hv_uint32_t msg_symbolToHash(const char *s) { + // this hash is based MurmurHash2 + // http://en.wikipedia.org/wiki/MurmurHash + // https://sites.google.com/site/murmurhash/ + static const unsigned int n = 0x5bd1e995; + static const int r = 24; + + int len = (int) hv_strlen(s); + hv_uint32_t x = (hv_uint32_t) (len); // seed (0) ^ len + + while (len >= 4) { + hv_uint32_t k = *((hv_uint32_t *)s); + k *= n; + k ^= k >> r; + k *= n; + x *= n; + x ^= k; + s += 4; len -= 4; + } + + switch(len) { + case 3: x ^= s[2] << 16; + case 2: x ^= s[1] << 8; + case 1: x ^= s[0]; x *= n; + default: break; + } + + x ^= x >> 13; + x *= n; + x ^= x >> 15; + + return x; +} + +hv_uint32_t msg_getHash(const HvMessage *const m, int i) { + hv_assert(i < msg_getNumElements(m)); // invalid index + switch (msg_getType(m,i)) { + case BANG: return 0xFFFFFFFF; + case FLOAT: { + float f = msg_getFloat(m,i); + return *((hv_uint32_t *) &f); + } + case SYMBOL: return msg_symbolToHash(msg_getSymbol(m,i)); + case HASH: return (&(m->elem)+i)->data.h; + default: return 0; + } +} + +char *msg_toString(const HvMessage *m) { + hv_assert(msg_getNumElements(m) > 0); + int *len = (int *) hv_alloca(msg_getNumElements(m)*sizeof(int)); + int size = 0; // the total length of our final buffer + + // loop through every element in our list of atoms + // first loop figures out how long our buffer should be + for (int i = 0; i < msg_getNumElements(m); i++) { + // length of our string is each atom plus a space, or \0 on the end + switch (msg_getType(m, i)) { + case BANG: len[i] = hv_snprintf(NULL, 0, "%s", "bang") + 1; break; + case FLOAT: len[i] = hv_snprintf(NULL, 0, "%g", msg_getFloat(m, i)) + 1; break; + case SYMBOL: len[i] = hv_snprintf(NULL, 0, "%s", msg_getSymbol(m, i)) + 1; break; + case HASH: len[i] = hv_snprintf(NULL, 0, "0x%X", msg_getHash(m, i)) + 1; break; + default: break; + } + size += len[i]; + } + + hv_assert(size > 0); + + // now we do the piecewise concatenation into our final string + // the final buffer we will pass back after concatenating all strings - user should free it + char *finalString = (char *) hv_malloc(size*sizeof(char)); + int pos = 0; + for (int i = 0; i < msg_getNumElements(m); i++) { + // put a string representation of each atom into the final string + switch (msg_getType(m, i)) { + case BANG: hv_snprintf(finalString+pos, len[i], "%s", "bang"); break; + case FLOAT: hv_snprintf(finalString+pos, len[i], "%g", msg_getFloat(m, i)); break; + case SYMBOL: hv_snprintf(finalString+pos, len[i], "%s", msg_getSymbol(m, i)); break; + case HASH: hv_snprintf(finalString+pos, len[i], "0x%X", msg_getHash(m, i)); break; + default: break; + } + pos += len[i]; + finalString[pos-1] = 32; // ASCII space + } + finalString[size-1] = '\0'; // ensure that the string is null terminated + return finalString; +} + +/* + * TODO(mhroth): unnecessary for now +bool msg_resolveDollarArguments(HvMessage *m, HvMessage *n, int z, char *buf, hv_size_t len, const char *args, ...) { + va_list ap; + va_start(ap, args); + + hv_memset(buf, 0, len); // clear the buffer + hv_size_t j = 0; // position in buffer + const hv_size_t numArgs = hv_strlen(args); // the number of arguments + + // if there is only one argument then the result has the chance of being a number, otherwise no + bool isNumber = (numArgs == 1); + + for (hv_size_t i = 0; i < numArgs; ++i) { + switch (args[i]) { + case 'i': { // a message index + const int index = (int) va_arg(ap, int); + if (index < 0) { + // $0 always resolve to "0" + const hv_size_t x = 1; + if (x < len-j) { // always < in order to allow for trailing \0 + j += snprintf(buf+j, len-j, "0"); + } + } else { + switch (msg_getType(m, index)) { + default: + case BANG: break; // this case should never happen + case FLOAT: { + const hv_size_t x = snprintf(NULL, 0, "%g", msg_getFloat(m,index)); + if (x < len-j) { // ensure that the buffer is big enough + j += snprintf(buf+j, len-j, "%g", msg_getFloat(m,index)); + } + break; + } + case SYMBOL: { + const hv_size_t x = snprintf(NULL, 0, "%s", msg_getSymbol(m,index)); + if (x < len-j) { + j += snprintf(buf+j, len-j, "%s", msg_getSymbol(m,index)); + isNumber = false; + } + break; + } + } + } + break; + } + case 's': { // a string + const char *s = (char *) va_arg(ap, char *); + const hv_size_t x = snprintf(NULL, 0, "%s", s); + if (x <= len-j) { + j += snprintf(buf+j, len-j, "%s", s); + isNumber = false; + } + break; + } + default: break; + } + } + + if (isNumber) { + msg_setFloat(n,z,(float) atof(buf)); + } else { + msg_setSymbol(n,z,buf); + } + + va_end(ap); + + return !isNumber; +} +*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/HvMessage.h Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,188 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_MESSAGE_H_ +#define _HEAVY_MESSAGE_H_ + +#include "Utils.h" + +typedef enum ElementType { + BANG, + FLOAT, + SYMBOL, + HASH +} ElementType; + +typedef struct Element { + ElementType type; + union { + float f; // float + char *s; // symbol + hv_uint32_t h; // hash + } data; +} Element; + +typedef struct HvMessage { + hv_uint32_t timestamp; // the sample at which this message should be processed + hv_uint16_t numElements; + hv_uint16_t numBytes; // the number of bytes that this message occupies in memory + Element elem; +} HvMessage; + +#define HV_MESSAGE_ON_STACK(_x) (HvMessage *) hv_alloca(msg_getByteSize(_x)) + +/** Returns the total length in bytes of this message for a given number of elements. */ +static inline hv_size_t msg_getByteSize(hv_size_t numElements) { + hv_assert(numElements > 0); + return sizeof(HvMessage) + ((numElements-1) * sizeof(Element)); +} + +HvMessage *msg_copy(const HvMessage *m); + +/** Returns the number of bytes that this message would occupy on the heap. */ +hv_size_t msg_getNumHeapBytes(const HvMessage *m); + +/** Copies the message into the given buffer. The buffer must be at least as large as msg_getNumHeapBytes(). */ +void msg_copyToBuffer(const HvMessage *m, char *buffer, hv_size_t len); + +void msg_setElementToFrom(HvMessage *n, int indexN, const HvMessage *const m, int indexM); + +/** Frees a message on the heap. Does nothing if argument is NULL. */ +void msg_free(HvMessage *m); + +HvMessage *msg_init(HvMessage *m, hv_size_t numElements, hv_uint32_t timestamp); + +HvMessage *msg_initWithFloat(HvMessage *m, hv_uint32_t timestamp, float f); + +HvMessage *msg_initWithBang(HvMessage *m, hv_uint32_t timestamp); + +HvMessage *msg_initWithSymbol(HvMessage *m, hv_uint32_t timestamp, char *s); + +HvMessage *msg_initWithHash(HvMessage *m, hv_uint32_t timestamp, hv_uint32_t h); + +HvMessage *msg_initV(HvMessage *const m, const hv_uint32_t timestamp, const char *format, ...); + +static inline hv_uint32_t msg_getTimestamp(const HvMessage *m) { + return m->timestamp; +} + +static inline void msg_setTimestamp(HvMessage *m, hv_uint32_t timestamp) { + m->timestamp = timestamp; +} + +static inline int msg_getNumElements(const HvMessage *m) { + return (int) m->numElements; +} + +/** Returns the number of bytes this message in memory. */ +static inline hv_size_t msg_getNumBytes(const HvMessage *m) { + return m->numBytes; +} + +static inline ElementType msg_getType(const HvMessage *m, int index) { + hv_assert(index < msg_getNumElements(m)); // invalid index + return (&(m->elem)+index)->type; +} + +static inline void msg_setBang(HvMessage *m, int index) { + hv_assert(index < msg_getNumElements(m)); // invalid index + (&(m->elem)+index)->type = BANG; + (&(m->elem)+index)->data.s = NULL; +} + +static inline bool msg_isBang(const HvMessage *m, int index) { + return (index < msg_getNumElements(m)) ? (msg_getType(m,index) == BANG) : false; +} + +static inline void msg_setFloat(HvMessage *m, int index, float f) { + hv_assert(index < msg_getNumElements(m)); // invalid index + (&(m->elem)+index)->type = FLOAT; + (&(m->elem)+index)->data.f = f; +} + +static inline float msg_getFloat(const HvMessage *const m, int index) { + hv_assert(index < msg_getNumElements(m)); // invalid index + return (&(m->elem)+index)->data.f; +} + +static inline bool msg_isFloat(const HvMessage *const m, int index) { + return (index < msg_getNumElements(m)) ? (msg_getType(m,index) == FLOAT) : false; +} + +static inline void msg_setHash(HvMessage *m, int index, hv_uint32_t h) { + hv_assert(index < msg_getNumElements(m)); // invalid index + (&(m->elem)+index)->type = HASH; + (&(m->elem)+index)->data.h = h; +} + +static inline bool msg_isHash(const HvMessage *m, int index) { + return (index < msg_getNumElements(m)) ? (msg_getType(m, index) == HASH) : false; +} + +/** Returns true if the element is a hash or symbol. False otherwise. */ +static inline bool msg_isHashLike(const HvMessage *m, int index) { + return (index < msg_getNumElements(m)) ? ((msg_getType(m, index) == HASH) || (msg_getType(m, index) == SYMBOL)) : false; +} + +/** Returns a 32-bit hash of the given string. */ +hv_uint32_t msg_symbolToHash(const char *s); + +/** Returns a 32-bit hash of the given element. */ +hv_uint32_t msg_getHash(const HvMessage *const m, int i); + +static inline void msg_setSymbol(HvMessage *m, int index, char *s) { + hv_assert(index < msg_getNumElements(m)); // invalid index + (&(m->elem)+index)->type = SYMBOL; + (&(m->elem)+index)->data.s = s; +} + +static inline char *msg_getSymbol(const HvMessage *m, int index) { + hv_assert(index < msg_getNumElements(m)); // invalid index + return (&(m->elem)+index)->data.s; +} + +static inline bool msg_isSymbol(const HvMessage *m, int index) { + return (index < msg_getNumElements(m)) ? (msg_getType(m, index) == SYMBOL) : false; +} + +bool msg_compareSymbol(const HvMessage *m, int i, const char *s); + +/** Returns 1 if the element i_m of message m is equal to element i_n of message n. */ +bool msg_equalsElement(const HvMessage *m, int i_m, const HvMessage *n, int i_n); + +bool msg_hasFormat(const HvMessage *m, const char *fmt); + +/** + * Create a string representation of the message. Suitable for use by the print object. + * The resulting string must be freed by the caller. + */ +char *msg_toString(const HvMessage *msg); + +/** + * Resolves any number of dollar arguments and generates a string based on the arguments. + * @param m The message from which to take values + * @param n The message to fill in + * @param z The element index to resolve + * @param buf The scratch (i.e. resolution) buffer + * @param len The length of the scratch buffer + * @param args A string of 'i' and 's' chars indicating the type of the arguments, either indicies or strings + * @param varargs The components to resolve, either dollar indicies or strings. + * If the index is negative, the graph id is used + * @return true if the resolution buffer is needed, false otherwise. + */ +// bool msg_resolveDollarArguments(HvMessage *m, HvMessage *n, int z, char *buf, hv_size_t len, const char *args, ...); + +#endif // _HEAVY_MESSAGE_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/HvTable.c Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,101 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "HvTable.h" + +hv_size_t hTable_init(HvTable *o, int length) { + o->length = length; + // true size of the table is always an integer multple of HV_N_SIMD + o->size = (length + HV_N_SIMD_MASK) & ~HV_N_SIMD_MASK; + // add an extra length for mirroring + o->allocated = o->size + HV_N_SIMD; + o->head = 0; + hv_size_t numBytes = o->allocated * sizeof(float); + o->buffer = (float *) hv_malloc(numBytes); + hv_memset(o->buffer, numBytes); + return numBytes; +} + +hv_size_t hTable_initWithData(HvTable *o, int length, const float *const data) { + o->length = length; + o->size = (length + HV_N_SIMD_MASK) & ~HV_N_SIMD_MASK; + o->allocated = o->size + HV_N_SIMD; + o->head = 0; + hv_size_t numBytes = o->size * sizeof(float); + o->buffer = (float *) hv_malloc(numBytes); + hv_memset(o->buffer, numBytes); + hv_memcpy(o->buffer, data, length*sizeof(float)); + return numBytes; +} + +hv_size_t hTable_initWithFinalData(HvTable *o, int length, float *data) { + o->length = length; + o->size = length; + o->allocated = length; + o->buffer = data; + o->head = 0; + return 0; +} + +void hTable_free(HvTable *o) { + hv_free(o->buffer); +} + +int hTable_resize(HvTable *o, hv_uint32_t newLength) { + // TODO(mhroth): update context with memory allocated by table + // NOTE(mhroth): mirrored bytes are not necessarily carried over + const hv_uint32_t oldBytes = (hv_uint32_t) (o->size * sizeof(float)); + const hv_uint32_t newSize = (newLength + HV_N_SIMD_MASK) & ~HV_N_SIMD_MASK; + const hv_uint32_t newAllocated = newSize + HV_N_SIMD; + const hv_uint32_t newBytes = (hv_uint32_t) (newAllocated * sizeof(float)); + float *b = (float *) hv_realloc(o->buffer, newBytes); + hv_assert(b != NULL); // error while reallocing! + if (newSize > o->size) hv_clear_buffer(b+o->size, newAllocated-o->size); // clear new parts of the buffer + if (b != o->buffer) { + // the buffer has been reallocated, ensure that it is on a 32-byte boundary + if ((((uintptr_t) (const void *) b) & 0x10) == 0) { + o->buffer = b; + } else { + float *c = (float *) hv_malloc(newBytes); + hv_assert(c != NULL); + hv_clear_buffer(c, newLength); + const hv_size_t min = hv_min_ui(o->size, newLength); + hv_memcpy(c, b, min * sizeof(float)); + hv_free(b); + o->buffer = c; + } + } + o->length = newLength; + o->size = newSize; + o->allocated = newAllocated; + return (int) (newBytes - oldBytes); +} + +void hTable_onMessage(HvBase *_c, HvTable *o, int letIn, const HvMessage *const m, + void (*sendMessage)(HvBase *, int, const HvMessage *const)) { + if (msg_compareSymbol(m,0,"resize") && msg_isFloat(m,1) && msg_getFloat(m,1) >= 0.0f) { + hTable_resize(o, (int) hv_ceil_f(msg_getFloat(m,1))); // apply ceil to ensure that tables always have enough space + + // send out the new size of the table + HvMessage *n = HV_MESSAGE_ON_STACK(1); + msg_initWithFloat(n, msg_getTimestamp(m), (float) hTable_getSize(o)); + sendMessage(_c, 0, n); + } + + else if (msg_compareSymbol(m,0,"mirror")) { + hv_memcpy(o->buffer+o->size, o->buffer, HV_N_SIMD*sizeof(float)); + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/HvTable.h Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,81 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_TABLE_H_ +#define _HEAVY_TABLE_H_ + +#include "HvBase.h" +#include "HvMessage.h" +#include "Utils.h" + +typedef struct HvTable { + float *buffer; + // the number of values that the table is requested to have + hv_uint32_t length; + + // the number of usable values that the table actually has + // this is always an even multiple of HV_N_SIMD + hv_uint32_t size; + + // Note that the true size of the table is (size + HV_N_SIMD), + // with the trailing values used by the system, e.g. to create a circular + // buffer + hv_uint32_t allocated; + + hv_uint32_t head; // the most recently written point +} HvTable; + +hv_size_t hTable_init(HvTable *o, int length); + +hv_size_t hTable_initWithData(HvTable *o, int length, const float *const data); + +hv_size_t hTable_initWithFinalData(HvTable *o, int length, float *data); + +void hTable_free(HvTable *o); + +int hTable_resize(HvTable *o, hv_uint32_t newLength); + +void hTable_onMessage(HvBase *_c, HvTable *o, int letIn, const HvMessage *const m, + void (*sendMessage)(HvBase *, int, const HvMessage *const)); + +static inline float *hTable_getBuffer(HvTable *o) { + return o->buffer; +} + +// the user-requested length of the table (number of floats) +static inline hv_uint32_t hTable_getLength(HvTable *o) { + return o->length; +} + +// the usable length of the table (an even multiple of HV_N_SIMD) +static inline hv_uint32_t hTable_getSize(HvTable *o) { + return o->size; +} + +// the number of floats allocated to this table (usually size + HV_N_SIMD) +static inline hv_uint32_t hTable_getAllocated(HvTable *o) { + return o->allocated; +} + +static inline hv_uint32_t hTable_getHead(HvTable *o) { + return o->head; +} + +static inline void hTable_setHead(HvTable *o, hv_uint32_t head) { + o->head = head; +} + +#endif // _HEAVY_TABLE_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/MessagePool.c Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,141 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "MessagePool.h" +#include "HvMessage.h" +#include "Utils.h" + +// the number of bytes reserved at a time from the pool +#define MP_BLOCK_SIZE_BYTES 512 + +#if HV_APPLE +#pragma mark - MessageList +#endif + +typedef struct MessageListNode { + char *p; + struct MessageListNode *next; +} MessageListNode; + +static inline bool ml_hasAvailable(MessagePoolList *ml) { + return (ml->head != NULL); +} + +static char *ml_pop(MessagePoolList *ml) { + MessageListNode *n = ml->head; + ml->head = n->next; + n->next = ml->pool; + ml->pool = n; + char *const p = n->p; + n->p = NULL; // set to NULL to make it clear that this node does not have a valid buffer + return p; +} + +/** Push a MessageListNode with the given pointer onto the head of the queue. */ +static void ml_push(MessagePoolList *ml, void *p) { + MessageListNode *n = NULL; + if (ml->pool != NULL) { + // take an empty MessageListNode from the pool + n = ml->pool; + ml->pool = n->next; + } else { + // a MessageListNode is not available, allocate one + n = (MessageListNode *) hv_malloc(sizeof(MessageListNode)); + } + n->p = (char *) p; + n->next = ml->head; + ml->head = n; // push to the front of the queue +} + +static void ml_free(MessagePoolList *ml) { + if (ml != NULL) { + while (ml_hasAvailable(ml)) { + ml_pop(ml); + } + while (ml->pool != NULL) { + MessageListNode *n = ml->pool; + ml->pool = n->next; + hv_free(n); + } + } +} + +#if HV_APPLE +#pragma mark - MessagePool +#endif + +static hv_size_t mp_messagelistIndexForSize(hv_size_t byteSize) { + return (hv_size_t) hv_max_i((hv_min_max_log2((hv_uint32_t) byteSize) - 5), 0); +} + +hv_size_t mp_init(MessagePool *mp, hv_size_t numKB) { + mp->bufferSize = numKB * 1024; + mp->buffer = (char *) hv_malloc(mp->bufferSize); + mp->bufferIndex = 0; + + // initialise all message lists + for (int i = 0; i < MP_NUM_MESSAGE_LISTS; i++) { + mp->lists[i].head = NULL; + mp->lists[i].pool = NULL; + } + + return mp->bufferSize; +} + +void mp_free(MessagePool *mp) { + hv_free(mp->buffer); + for (int i = 0; i < MP_NUM_MESSAGE_LISTS; i++) { + ml_free(&mp->lists[i]); + } +} + +void mp_freeMessage(MessagePool *mp, HvMessage *m) { + const hv_size_t b = msg_getNumBytes(m); // the number of bytes that a message occupies in memory + const hv_size_t i = mp_messagelistIndexForSize(b); // the MessagePoolList index in the pool + MessagePoolList *ml = &mp->lists[i]; + const hv_size_t chunkSize = 32 << i; + hv_memset(m, chunkSize); // clear the chunk, just in case + ml_push(ml, m); +} + +HvMessage *mp_addMessage(MessagePool *mp, const HvMessage *m) { + const hv_size_t b = msg_getNumHeapBytes(m); + // determine the message list index to allocate data from based on the msg size + // smallest chunk size is 32 bytes + const hv_size_t i = mp_messagelistIndexForSize(b); + + assert(i < MP_NUM_MESSAGE_LISTS); // how many chunk sizes do we want to support? 32, 64, 128, 256 at the moment + MessagePoolList *ml = &mp->lists[i]; + const hv_size_t chunkSize = 32 << i; + + if (ml_hasAvailable(ml)) { + char *buf = ml_pop(ml); + msg_copyToBuffer(m, buf, chunkSize); + return (HvMessage *) buf; + } else { + // if no appropriately sized buffer is immediately available, increase the size of the used buffer + const hv_size_t newIndex = mp->bufferIndex + MP_BLOCK_SIZE_BYTES; + hv_assert(newIndex <= mp->bufferSize); // have we have exceeded the buffer size? + + for (hv_size_t i = mp->bufferIndex; i < newIndex; i += chunkSize) { + ml_push(ml, mp->buffer + i); // push new nodes onto the list with chunk pointers + } + mp->bufferIndex = newIndex; + char *buf = ml_pop(ml); + msg_copyToBuffer(m, buf, chunkSize); + return (HvMessage *) buf; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/MessagePool.h Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,61 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _MESSAGE_POOL_H_ +#define _MESSAGE_POOL_H_ + +#include "Utils.h" + +struct HvMessage; + +#define MP_NUM_MESSAGE_LISTS 4 + +typedef struct MessagePoolList { + struct MessageListNode *head; // list of currently available blocks + struct MessageListNode *pool; // list of currently used blocks +} MessagePoolList; + +typedef struct MessagePool { + char *buffer; // the buffer of all messages + hv_size_t bufferSize; // in bytes + hv_size_t bufferIndex; // the number of total reserved bytes + + MessagePoolList lists[MP_NUM_MESSAGE_LISTS]; +} MessagePool; + +/** + * The MessagePool is a basic memory management system. It reserves a large block of memory at initialisation + * and proceeds to divide this block into smaller chunks (usually 512 bytes) as they are needed. These chunks are + * further divided into 32, 64, 128, or 256 sections. Each of these sections is managed by a MessagePoolList (MPL). + * An MPL is a linked-list data structure which is initialised such that its own pool of listnodes is filled with nodes + * that point at each subblock (e.g. each 32-byte block of a 512-block chunk). + * + * MessagePool is loosely inspired by TCMalloc. http://goog-perftools.sourceforge.net/doc/tcmalloc.html + */ + +hv_size_t mp_init(struct MessagePool *mp, hv_size_t numKB); + +void mp_free(struct MessagePool *mp); + +/** + * Adds a message to the pool and returns a pointer to the copy. Returns NULL + * if no space was available in the pool. + */ +struct HvMessage *mp_addMessage(struct MessagePool *mp, const struct HvMessage *m); + +void mp_freeMessage(struct MessagePool *mp, struct HvMessage *m); + +#endif // _MESSAGE_POOL_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/MessageQueue.c Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,218 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "MessageQueue.h" +#include "Utils.h" + +hv_size_t mq_init(MessageQueue *q) { + q->head = NULL; + q->tail = NULL; + q->pool = NULL; + return mp_init(&q->mp, 1); +} + +void mq_initWithPoolSize(MessageQueue *q, hv_size_t poolSizeKB) { + q->head = NULL; + q->tail = NULL; + q->pool = NULL; + mp_init(&q->mp, poolSizeKB); +} + +void mq_free(MessageQueue *q) { + mq_clear(q); + while (q->pool != NULL) { + MessageNode *n = q->pool; + q->pool = q->pool->next; + hv_free(n); + } + mp_free(&q->mp); +} + +static MessageNode *mq_getOrCreateNodeFromPool(MessageQueue *q) { + if (q->pool == NULL) { + // if necessary, create a new empty node + q->pool = (MessageNode *) hv_malloc(sizeof(MessageNode)); + q->pool->next = NULL; + } + MessageNode *node = q->pool; + q->pool = q->pool->next; + return node; +} + +int mq_size(MessageQueue *q) { + int size = 0; + MessageNode *n = q->head; + while (n != NULL) { + ++size; + n = n->next; + } + return size; +} + +HvMessage *mq_addMessage(MessageQueue *q, const HvMessage *m, int let, + void (*sendMessage)(struct HvBase *, int, const HvMessage *)) { + MessageNode *node = mq_getOrCreateNodeFromPool(q); + node->m = mp_addMessage(&q->mp, m); + node->let = let; + node->sendMessage = sendMessage; + node->prev = NULL; + node->next = NULL; + + if (q->tail != NULL) { + // the list already contains elements + q->tail->next = node; + node->prev = q->tail; + q->tail = node; + } else { + // the list is empty + node->prev = NULL; + q->head = node; + q->tail = node; + } + return mq_node_getMessage(node); +} + +HvMessage *mq_addMessageByTimestamp(MessageQueue *q, HvMessage *m, int let, + void (*sendMessage)(struct HvBase *, int, const HvMessage *)) { + if (mq_hasMessage(q)) { + MessageNode *n = mq_getOrCreateNodeFromPool(q); + n->m = mp_addMessage(&q->mp, m); + n->let = let; + n->sendMessage = sendMessage; + + if (msg_getTimestamp(m) < msg_getTimestamp(q->head->m)) { + // the message occurs before the current head + n->next = q->head; + q->head->prev = n; + n->prev = NULL; + q->head = n; + } else if (msg_getTimestamp(m) >= msg_getTimestamp(q->tail->m)) { + // the message occurs after the current tail + n->next = NULL; + n->prev = q->tail; + q->tail->next = n; + q->tail = n; + } else { + // the message occurs somewhere between the head and tail + MessageNode *node = q->head; + while (node != NULL) { + if (m->timestamp < msg_getTimestamp(node->next->m)) { + MessageNode *r = node->next; + node->next = n; + n->next = r; + n->prev = node; + r->prev = n; + break; + } + node = node->next; + } + } + return n->m; + } else { + // add a message to the head + return mq_addMessage(q, m, let, sendMessage); + } +} + +void mq_pop(MessageQueue *q) { + if (mq_hasMessage(q)) { + MessageNode *n = q->head; + + mp_freeMessage(&q->mp, n->m); + n->m = NULL; + + n->let = 0; + n->sendMessage = NULL; + + q->head = n->next; + if (q->head == NULL) { + q->tail = NULL; + } else { + q->head->prev = NULL; + } + n->next = q->pool; + n->prev = NULL; + q->pool = n; + } +} + +void mq_removeMessage(MessageQueue *q, HvMessage *m, void (*sendMessage)(struct HvBase *, int, const HvMessage *)) { + if (mq_hasMessage(q)) { + if (mq_node_getMessage(q->head) == m) { // msg in head node + // only remove the message if sendMessage is the same as the stored one, + // if the sendMessage argument is NULL, it is not checked and will remove any matching message pointer + if (sendMessage == NULL || q->head->sendMessage == sendMessage) { + mq_pop(q); + } + } else { + MessageNode *prevNode = q->head; + MessageNode *currNode = q->head->next; + while ((currNode != NULL) && (currNode->m != m)) { + prevNode = currNode; + currNode = currNode->next; + } + if (currNode != NULL) { + if (sendMessage == NULL || currNode->sendMessage == sendMessage) { + mp_freeMessage(&q->mp, m); + currNode->m = NULL; + currNode->let = 0; + currNode->sendMessage = NULL; + if (currNode == q->tail) { // msg in tail node + prevNode->next = NULL; + q->tail = prevNode; + } else { // msg in middle node + prevNode->next = currNode->next; + currNode->next->prev = prevNode; + } + currNode->next = (q->pool == NULL) ? NULL : q->pool; + currNode->prev = NULL; + q->pool = currNode; + } + } + } + } +} + +void mq_clear(MessageQueue *q) { + while (mq_hasMessage(q)) { + mq_pop(q); + } +} + +void mq_clearAfter(MessageQueue *q, const double timestamp) { + MessageNode *n = q->tail; + while (n != NULL && timestamp <= msg_getTimestamp(n->m)) { + // free the node's message + mp_freeMessage(&q->mp, n->m); + n->m = NULL; + n->let = 0; + n->sendMessage = NULL; + + // the tail points at the previous node + q->tail = n->prev; + + // put the node back in the pool + n->next = q->pool; + n->prev = NULL; + if (q->pool != NULL) q->pool->prev = n; + q->pool = n; + + // update the tail node + n = q->tail; + } + + if (q->tail == NULL) q->head = NULL; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/MessageQueue.h Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,91 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _MESSAGE_QUEUE_H_ +#define _MESSAGE_QUEUE_H_ + +#include "HvMessage.h" +#include "MessagePool.h" + +struct HvBase; + +typedef struct MessageNode { + struct MessageNode *prev; // doubly linked list + struct MessageNode *next; + HvMessage *m; + void (*sendMessage)(struct HvBase *, int, const HvMessage *); + int let; +} MessageNode; + +/** A doubly linked list containing scheduled messages. */ +typedef struct MessageQueue { + MessageNode *head; // the head of the queue + MessageNode *tail; // the tail of the queue + MessageNode *pool; // the head of the reserve pool + MessagePool mp; +} MessageQueue; + +hv_size_t mq_init(MessageQueue *q); + +void mq_initWithPoolSize(MessageQueue *q, hv_size_t poolSizeKB); + +void mq_free(MessageQueue *q); + +int mq_size(MessageQueue *q); + +static inline HvMessage *mq_node_getMessage(MessageNode *n) { + return n->m; +} + +static inline int mq_node_getLet(MessageNode *n) { + return n->let; +} + +static inline bool mq_hasMessage(MessageQueue *q) { + return (q->head != NULL); +} + +// true if there is a message and it occurs before (<) timestamp +static inline bool mq_hasMessageBefore(MessageQueue *const q, const hv_uint32_t timestamp) { + return mq_hasMessage(q) && (msg_getTimestamp(mq_node_getMessage(q->head)) < timestamp); +} + +static inline MessageNode *mq_peek(MessageQueue *q) { + return q->head; +} + +/** Appends the message to the end of the queue. */ +HvMessage *mq_addMessage(MessageQueue *q, const HvMessage *m, int let, + void (*sendMessage)(struct HvBase *, int, const HvMessage *)); + +/** Insert in ascending order the message acccording to its timestamp. */ +HvMessage *mq_addMessageByTimestamp(MessageQueue *q, HvMessage *m, int let, + void (*sendMessage)(struct HvBase *, int, const HvMessage *)); + +/** Pop the message at the head of the queue (and free its memory). */ +void mq_pop(MessageQueue *q); + +/** Remove a message from the queue (and free its memory) */ +void mq_removeMessage(MessageQueue *q, HvMessage *m, + void (*sendMessage)(struct HvBase *, int, const HvMessage *)); + +/** Clears (and frees) all messages in the queue. */ +void mq_clear(MessageQueue *q); + +/** Removes all messages occuring at or after the given timestamp. */ +void mq_clearAfter(MessageQueue *q, const double timestamp); + +#endif // _MESSAGE_QUEUE_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/SignalPhasor.c Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,123 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "SignalPhasor.h" + +// input phase is in the range of [0,1]. It is independent of o->phase. +#if HV_SIMD_AVX +static void sPhasor_updatePhase(SignalPhasor *o, float p) { + o->phase = _mm256_set_ps( + p+1.0f+7.0f*o->step.f2sc, p+1.0f+6.0f*o->step.f2sc, + p+1.0f+5.0f*o->step.f2sc, p+1.0f+4.0f*o->step.f2sc, + p+1.0f+3.0f*o->step.f2sc, p+1.0f+2.0f*o->step.f2sc, + p+1.0f+o->step.f2sc, p+1.0f); + + // ensure that o->phase is still in range [1,2] + o->phase = _mm256_or_ps(_mm256_andnot_ps( + _mm256_set1_ps(-INFINITY), o->phase), _mm256_set1_ps(1.0f)); +#elif HV_SIMD_SSE +static void sPhasor_updatePhase(SignalPhasor *o, hv_uint32_t p) { + o->phase = _mm_set_epi32(3*o->step.s+p, 2*o->step.s+p, o->step.s+p, p); +#elif HV_SIMD_NEON +static void sPhasor_updatePhase(SignalPhasor *o, hv_uint32_t p) { + o->phase = (uint32x4_t) {p, o->step.s+p, 2*o->step.s+p, 3*o->step.s+p}; +#else // HV_SIMD_NONE +static void sPhasor_updatePhase(SignalPhasor *o, hv_uint32_t p) { + o->phase = p; +#endif +} + +static void sPhasor_updateFrequency(SignalPhasor *o, float f, double r) { +#if HV_SIMD_AVX + o->step.f2sc = (float) (f/r); + o->inc = _mm256_set1_ps((float) (8.0f*f/r)); + sPhasor_updatePhase(o, o->phase[0]); +#elif HV_SIMD_SSE + o->step.s = (hv_int32_t) (f*(4294967296.0/r)); + o->inc = _mm_set1_epi32(4*o->step.s); + sPhasor_updatePhase(o, (hv_uint32_t) (o->phase[0] & 0xFFFFFFFFL)); +#elif HV_SIMD_NEON + o->step.s = (hv_int32_t) (f*(4294967296.0/r)); + o->inc = vdupq_n_s32(4*o->step.s); + sPhasor_updatePhase(o, vgetq_lane_u32(o->phase, 0)); +#else // HV_SIMD_NONE + o->step.s = (hv_int32_t) (f*(4294967296.0/r)); + o->inc = o->step.s; + // no need to update phase +#endif +} + +hv_size_t sPhasor_init(SignalPhasor *o, double samplerate) { +#if HV_SIMD_AVX + o->phase = _mm256_set1_ps(1.0f); + o->inc = _mm256_setzero_ps(); + o->step.f2sc = (float) (1.0/samplerate); +#elif HV_SIMD_SSE + o->phase = _mm_setzero_si128(); + o->inc = _mm_setzero_si128(); + o->step.f2sc = (float) (4294967296.0/samplerate); +#elif HV_SIMD_NEON + o->phase = vdupq_n_u32(0); + o->inc = vdupq_n_s32(0); + o->step.f2sc = (float) (4294967296.0/samplerate); +#else // HV_SIMD_NONE + o->phase = 0; + o->inc = 0; + o->step.f2sc = (float) (4294967296.0/samplerate); +#endif + return 0; +} + +void sPhasor_onMessage(HvBase *_c, SignalPhasor *o, int letIn, const HvMessage *m) { + if (letIn == 1) { + if (msg_isFloat(m,0)) { + float phase = msg_getFloat(m,0); + while (phase < 0.0f) phase += 1.0f; // wrap phase to [0,1] + while (phase > 1.0f) phase -= 1.0f; +#if HV_SIMD_AVX + sPhasor_updatePhase(o, phase); +#else // HV_SIMD_SSE || HV_SIMD_NEON || HV_SIMD_NONE + sPhasor_updatePhase(o, (hv_int32_t) (phase * 4294967296.0)); +#endif + } + } +} + +hv_size_t sPhasor_k_init(SignalPhasor *o, float frequency, double samplerate) { + sPhasor_updateFrequency(o, frequency, samplerate); + sPhasor_updatePhase(o, 0); + return 0; +} + +void sPhasor_k_onMessage(HvBase *_c, SignalPhasor *o, int letIn, const HvMessage *m) { + if (msg_isFloat(m,0)) { + switch (letIn) { + case 0: sPhasor_updateFrequency(o, msg_getFloat(m,0), ctx_getSampleRate(_c)); break; + case 1: { + float phase = msg_getFloat(m,0); + while (phase < 0.0f) phase += 1.0f; // wrap phase to [0,1] + while (phase > 1.0f) phase -= 1.0f; +#if HV_SIMD_AVX + sPhasor_updatePhase(o, phase); +#else // HV_SIMD_SSE || HV_SIMD_NEON || HV_SIMD_NONE + sPhasor_updatePhase(o, (hv_uint32_t) (phase * 4294967296.0)); +#endif + break; + } + default: break; + } + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/SignalPhasor.h Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,131 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_SIGNAL_PHASOR_H_ +#define _HEAVY_SIGNAL_PHASOR_H_ + +#include "HvBase.h" + +typedef struct SignalPhasor { +#if HV_SIMD_AVX + __m256 phase; // current phase + __m256 inc; // phase increment +#elif HV_SIMD_SSE + __m128i phase; + __m128i inc; +#elif HV_SIMD_NEON + uint32x4_t phase; + int32x4_t inc; +#else // HV_SIMD_NONE + hv_uint32_t phase; + hv_int32_t inc; +#endif + union { + float f2sc; // float to step conversion (used for __phasor~f) + hv_int32_t s; // step value (used for __phasor_k~f) + } step; +} SignalPhasor; + +hv_size_t sPhasor_init(SignalPhasor *o, double samplerate); + +hv_size_t sPhasor_k_init(SignalPhasor *o, float frequency, double samplerate); + +void sPhasor_k_onMessage(HvBase *_c, SignalPhasor *o, int letIn, const HvMessage *m); + +void sPhasor_onMessage(HvBase *_c, SignalPhasor *o, int letIn, const HvMessage *m); + +static inline void __hv_phasor_f(SignalPhasor *o, hv_bInf_t bIn, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + __m256 p = _mm256_mul_ps(bIn, _mm256_set1_ps(o->step.f2sc)); // a b c d e f g h + + __m256 z = _mm256_setzero_ps(); + + // http://stackoverflow.com/questions/11906814/how-to-rotate-an-sse-avx-vector + __m256 a = _mm256_permute_ps(p, _MM_SHUFFLE(2,1,0,3)); // d a b c h e f g + __m256 b = _mm256_permute2f128_ps(a, a, 0x01); // h e f g d a b c + __m256 c = _mm256_blend_ps(a, b, 0x10); // d a b c d e f g + __m256 d = _mm256_blend_ps(c, z, 0x01); // 0 a b c d e f g + __m256 e = _mm256_add_ps(p, d); // a (a+b) (b+c) (c+d) (d+e) (e+f) (f+g) (g+h) + + __m256 f = _mm256_permute_ps(e, _MM_SHUFFLE(1,0,3,2)); // (b+c) (c+d) a (a+b) (f+g) (g+h) (d+e) (e+f) + __m256 g = _mm256_permute2f128_ps(f, f, 0x01); // (f+g) (g+h) (d+e) (e+f) (b+c) (c+d) a (a+b) + __m256 h = _mm256_blend_ps(f, g, 0x33); // (b+c) (c+d) a (a+b) (b+c) (c+d) (d+e) (e+f) + __m256 i = _mm256_blend_ps(h, z, 0x03); // 0 0 a (a+b) (b+c) (c+d) (d+e) (e+f) + __m256 j = _mm256_add_ps(e, i); // a (a+b) (a+b+c) (a+b+c+d) (b+c+d+e) (c+d+e+f) (d+e+f+g) (e+f+g+h) + + __m256 k = _mm256_permute2f128_ps(j, z, 0x02); // 0 0 0 0 a (a+b) (a+b+c) (a+b+c+d) (b+c+d+e) + __m256 m = _mm256_add_ps(j, k); // a (a+b) (a+b+c) (a+b+c+d) (a+b+c+d+e) (a+b+c+d+e+f) (a+b+c+d+e+f+g) (a+b+c+d+e+f+g+h) + + __m256 n = _mm256_or_ps(_mm256_andnot_ps( + _mm256_set1_ps(-INFINITY), + _mm256_add_ps(o->phase, m)), + _mm256_set1_ps(1.0f)); + + *bOut = _mm256_sub_ps(n, _mm256_set1_ps(1.0f)); + + __m256 x = _mm256_permute_ps(n, _MM_SHUFFLE(3,3,3,3)); + o->phase = _mm256_permute2f128_ps(x, x, 0x11); +#elif HV_SIMD_SSE + __m128i p = _mm_cvtps_epi32(_mm_mul_ps(bIn, _mm_set1_ps(o->step.f2sc))); // convert frequency to step + p = _mm_add_epi32(p, _mm_slli_si128(p, 4)); // add incremental steps to phase (prefix sum) + p = _mm_add_epi32(p, _mm_slli_si128(p, 8)); // http://stackoverflow.com/questions/10587598/simd-prefix-sum-on-intel-cpu?rq=1 + p = _mm_add_epi32(o->phase, p); + *bOut = _mm_sub_ps(_mm_castsi128_ps( + _mm_or_si128(_mm_srli_epi32(p, 9), + (__m128i) {0x3F8000003F800000L, 0x3F8000003F800000L})), + _mm_set1_ps(1.0f)); + o->phase = _mm_shuffle_epi32(p, _MM_SHUFFLE(3,3,3,3)); +#elif HV_SIMD_NEON + int32x4_t p = vcvtq_s32_f32(vmulq_n_f32(bIn, o->step.f2sc)); + p = vaddq_s32(p, vextq_s32(vdupq_n_s32(0), p, 3)); // http://stackoverflow.com/questions/11259596/arm-neon-intrinsics-rotation + p = vaddq_s32(p, vextq_s32(vdupq_n_s32(0), p, 2)); + uint32x4_t pp = vaddq_u32(o->phase, vreinterpretq_u32_s32(p)); + *bOut = vsubq_f32(vreinterpretq_f32_u32(vorrq_u32(vshrq_n_u32(pp, 9), vdupq_n_u32(0x3F800000))), vdupq_n_f32(1.0f)); + o->phase = vdupq_n_u32(pp[3]); +#else // HV_SIMD_NONE + const hv_uint32_t p = (o->phase >> 9) | 0x3F800000; + *bOut = *((float *) (&p)) - 1.0f; + o->phase += ((int) (bIn * o->step.f2sc)); +#endif +} + +static inline void __hv_phasor_k_f(SignalPhasor *o, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_sub_ps(o->phase, _mm256_set1_ps(1.0f)); + o->phase = _mm256_or_ps(_mm256_andnot_ps( + _mm256_set1_ps(-INFINITY), + _mm256_add_ps(o->phase, o->inc)), + _mm256_set1_ps(1.0f)); +#elif HV_SIMD_SSE + *bOut = _mm_sub_ps(_mm_castsi128_ps( + _mm_or_si128(_mm_srli_epi32(o->phase, 9), + (__m128i) {0x3F8000003F800000L, 0x3F8000003F800000L})), + _mm_set1_ps(1.0f)); + o->phase = _mm_add_epi32(o->phase, o->inc); +#elif HV_SIMD_NEON + *bOut = vsubq_f32(vreinterpretq_f32_u32( + vorrq_u32(vshrq_n_u32(o->phase, 9), + vdupq_n_u32(0x3F800000))), + vdupq_n_f32(1.0f)); + o->phase = vaddq_u32(o->phase, vreinterpretq_u32_s32(o->inc)); +#else // HV_SIMD_NONE + const hv_uint32_t p = (o->phase >> 9) | 0x3F800000; + *bOut = *((float *) (&p)) - 1.0f; + o->phase += o->inc; +#endif +} + +#endif // _HEAVY_SIGNAL_PHASOR_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/SignalTabread.c Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,71 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "SignalTabread.h" + +hv_size_t sTabread_init(SignalTabread *o, HvTable *table, bool forceAlignedLoads) { + o->table = table; + o->head = 0; + o->forceAlignedLoads = forceAlignedLoads; + return 0; +} + +void sTabread_onMessage(HvBase *_c, SignalTabread *o, int letIn, const HvMessage *const m) { + switch (letIn) { + case 0: { + if (o->table != NULL) { + switch (msg_getType(m,0)) { + case BANG: o->head = 0; break; + case FLOAT: { + hv_uint32_t h = (hv_uint32_t) hv_abs_f(msg_getFloat(m,0)); + if (msg_getFloat(m,0) < 0.0f) { + // if input is negative, wrap around the end of the table + h = (hv_uint32_t) hTable_getSize(o->table) - h; + } + o->head = o->forceAlignedLoads ? h & ~HV_N_SIMD_MASK : h; + break; + } + default: break; + } + } + break; + } + case 1: { + if (msg_isHashLike(m,0)) { + o->table = ctx_getTableForHash(_c, msg_getHash(m,0)); + } + break; + } + default: break; + } +} + + + +#if HV_APPLE +#pragma mark - Tabhead +#endif + +void sTabhead_onMessage(HvBase *_c, SignalTabhead *o, const HvMessage *const m) { + if (msg_isHashLike(m,0)) { + o->table = ctx_getTableForHash(_c, msg_getHash(m,0)); + } +} + +hv_size_t sTabhead_init(SignalTabhead *o, HvTable *table) { + o->table = table; + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/SignalTabread.h Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,183 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_SIGNAL_TABREAD_H_ +#define _HEAVY_SIGNAL_TABREAD_H_ + +#include "HvBase.h" +#include "HvTable.h" + +typedef struct SignalTabread { + HvTable *table; // the table to read + hv_uint32_t head; + bool forceAlignedLoads; // false by default, true if using __hv_tabread_f +} SignalTabread; + +// random access to a table +hv_size_t sTabread_init(SignalTabread *o, HvTable *table, bool forceAlignedLoads); + + + +#if HV_APPLE +#pragma mark - Tabread - Random Access +#endif + +static inline void __hv_tabread_if(SignalTabread *o, hv_bIni_t bIn, hv_bOutf_t bOut) { + const float *const b = hTable_getBuffer(o->table); +#if HV_SIMD_AVX + hv_assert((int) (bIn[0] & 0xFFFFFFFFL) >= 0 && (int) (bIn[0] & 0xFFFFFFFFL) < hTable_getAllocated(o->table)); + hv_assert((int) (bIn[0] >> 32) >= 0 && (int) ((bIn[0] & ~0xFFFFFFFFL) >> 32) < hTable_getAllocated(o->table)); + hv_assert((int) (bIn[1] & 0xFFFFFFFFL) >= 0 && (int) (bIn[1] & 0xFFFFFFFFL) < hTable_getAllocated(o->table)); + hv_assert((int) (bIn[1] >> 32) >= 0 && (int) ((bIn[1] & ~0xFFFFFFFFL) >> 32) < hTable_getAllocated(o->table)); + hv_assert((int) (bIn[2] & 0xFFFFFFFFL) >= 0 && (int) (bIn[2] & 0xFFFFFFFFL) < hTable_getAllocated(o->table)); + hv_assert((int) (bIn[2] >> 32) >= 0 && (int) ((bIn[2] & ~0xFFFFFFFFL) >> 32) < hTable_getAllocated(o->table)); + hv_assert((int) (bIn[3] & 0xFFFFFFFFL) >= 0 && (int) (bIn[3] & 0xFFFFFFFFL) < hTable_getAllocated(o->table)); + hv_assert((int) (bIn[3] >> 32) >= 0 && (int) ((bIn[3] & ~0xFFFFFFFFL) >> 32) < hTable_getAllocated(o->table)); + + *bOut = _mm256_set_ps( + b[(int) (bIn[3] >> 32)], + b[(int) (bIn[3] & 0xFFFFFFFFL)], + b[(int) (bIn[2] >> 32)], + b[(int) (bIn[2] & 0xFFFFFFFFL)], + b[(int) (bIn[1] >> 32)], + b[(int) (bIn[1] & 0xFFFFFFFFL)], + b[(int) (bIn[0] >> 32)], + b[(int) (bIn[0] & 0xFFFFFFFFL)]); +#elif HV_SIMD_SSE + hv_assert((int) (bIn[0] & 0xFFFFFFFFL) >= 0 && (int) (bIn[0] & 0xFFFFFFFFL) < hTable_getAllocated(o->table)); + hv_assert((int) (bIn[0] >> 32) >= 0 && (int) (bIn[0] >> 32) < hTable_getAllocated(o->table)); + hv_assert((int) (bIn[1] & 0xFFFFFFFFL) >= 0 && (int) (bIn[1] & 0xFFFFFFFFL) < hTable_getAllocated(o->table)); + hv_assert((int) (bIn[1] >> 32) >= 0 && (int) (bIn[1] >> 32) < hTable_getAllocated(o->table)); + + *bOut = _mm_set_ps( + b[(int) (bIn[1] >> 32)], + b[(int) (bIn[1] & 0xFFFFFFFFL)], + b[(int) (bIn[0] >> 32)], + b[(int) (bIn[0] & 0xFFFFFFFFL)]); +#elif HV_SIMD_NEON + hv_assert((bIn[0] >= 0) && (bIn[0] < hTable_getAllocated(o->table))); + hv_assert((bIn[1] >= 0) && (bIn[1] < hTable_getAllocated(o->table))); + hv_assert((bIn[2] >= 0) && (bIn[2] < hTable_getAllocated(o->table))); + hv_assert((bIn[3] >= 0) && (bIn[3] < hTable_getAllocated(o->table))); + + *bOut = (float32x4_t) {b[bIn[0]], b[bIn[1]], b[bIn[2]], b[bIn[3]]}; +#else // HV_SIMD_NONE + hv_assert(bIn >= 0 && ((hv_uint32_t) bIn < hTable_getAllocated(o->table))); + + *bOut = b[bIn]; +#endif +} + + + +#if HV_APPLE +#pragma mark - Tabread - Linear Access +#endif + +// this tabread never stops reading. It is mainly intended for linear reads that loop around a table. +static inline void __hv_tabread_f(SignalTabread *o, hv_bOutf_t bOut) { + hv_assert((o->head + HV_N_SIMD) <= hTable_getAllocated(o->table)); // assert that we always read within the table bounds + hv_uint32_t head = o->head; +#if HV_SIMD_AVX + *bOut = _mm256_load_ps(hTable_getBuffer(o->table) + head); +#elif HV_SIMD_SSE + *bOut = _mm_load_ps(hTable_getBuffer(o->table) + head); +#elif HV_SIMD_NEON + *bOut = vld1q_f32(hTable_getBuffer(o->table) + head); +#else // HV_SIMD_NONE + *bOut = *(hTable_getBuffer(o->table) + head); +#endif + o->head = head + HV_N_SIMD; +} + +// unaligned linear tabread, as above +static inline void __hv_tabreadu_f(SignalTabread *o, hv_bOutf_t bOut) { + hv_assert((o->head + HV_N_SIMD) <= hTable_getAllocated(o->table)); // assert that we always read within the table bounds + hv_uint32_t head = o->head; +#if HV_SIMD_AVX + *bOut = _mm256_loadu_ps(hTable_getBuffer(o->table) + head); +#elif HV_SIMD_SSE + *bOut = _mm_loadu_ps(hTable_getBuffer(o->table) + head); +#elif HV_SIMD_NEON + *bOut = vld1q_f32(hTable_getBuffer(o->table) + head); +#else // HV_SIMD_NONE + *bOut = *(hTable_getBuffer(o->table) + head); +#endif + o->head = head + HV_N_SIMD; +} + +// this tabread can be instructed to stop. It is mainly intended for linear reads that only process a portion of a buffer. +static inline void __hv_tabread_stoppable_f(SignalTabread *o, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + if (o->head == ~0x0) { + *bOut = _mm256_setzero_ps(); + } else { + *bOut = _mm256_load_ps(hTable_getBuffer(o->table) + o->head); + o->head += HV_N_SIMD; + } +#elif HV_SIMD_SSE + if (o->head == ~0x0) { + *bOut = _mm_setzero_ps(); + } else { + *bOut = _mm_load_ps(hTable_getBuffer(o->table) + o->head); + o->head += HV_N_SIMD; + } +#elif HV_SIMD_NEON + if (o->head == ~0x0) { + *bOut = vdupq_n_f32(0.0f); + } else { + *bOut = vld1q_f32(hTable_getBuffer(o->table) + o->head); + o->head += HV_N_SIMD; + } +#else // HV_SIMD_NONE + if (o->head == ~0x0) { + *bOut = 0.0f; + } else { + *bOut = *(hTable_getBuffer(o->table) + o->head); + o->head += HV_N_SIMD; + } +#endif +} + +void sTabread_onMessage(HvBase *_c, SignalTabread *o, int letIn, const HvMessage *const m); + + + +#if HV_APPLE +#pragma mark - Tabhead +#endif + +typedef struct SignalTabhead { + HvTable *table; +} SignalTabhead; + +hv_size_t sTabhead_init(SignalTabhead *o, HvTable *table); + +static inline void __hv_tabhead_f(SignalTabhead *o, hv_bOutf_t bOut) { +#if HV_SIMD_AVX + *bOut = _mm256_set1_ps((float) hTable_getHead(o->table)); +#elif HV_SIMD_SSE + *bOut = _mm_set1_ps((float) hTable_getHead(o->table)); +#elif HV_SIMD_NEON + *bOut = vdupq_n_f32((float32_t) hTable_getHead(o->table)); +#else // HV_SIMD_NONE + *bOut = (float) hTable_getHead(o->table); +#endif +} + +void sTabhead_onMessage(HvBase *_c, SignalTabhead *o, const HvMessage *const m); + +#endif // _HEAVY_SIGNAL_TABREAD_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/SignalTabwrite.c Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,54 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "SignalTabwrite.h" + +hv_size_t sTabwrite_init(SignalTabwrite *o, HvTable *table) { + o->table = table; + o->head = 0; + return 0; +} + +void sTabwrite_onMessage(HvBase *_c, SignalTabwrite *o, int letIn, const HvMessage *const m, + void (*sendMessage)(HvBase *, int, const HvMessage *const)) { + switch (letIn) { + // inlet 0 is the signal inlet + case 1: { + switch (msg_getType(m,0)) { + case BANG: o->head = 0; break; + case FLOAT: { + o->head = (msg_getFloat(m,0) >= 0.0f) ? (hv_uint32_t) msg_getFloat(m,0) : HV_TABWRITE_STOPPED; + break; + } + case SYMBOL: { + if (msg_compareSymbol(m, 0, "stop")) { + o->head = HV_TABWRITE_STOPPED; + } + break; + } + default: break; + } + break; + } + case 2: { + if (msg_isHashLike(m,0)) { + o->table = ctx_getTableForHash(_c, msg_getHash(m,0)); + } + break; + } + default: break; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/SignalTabwrite.h Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,120 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_SIGNAL_TABWRITE_H_ +#define _HEAVY_SIGNAL_TABWRITE_H_ + +#include "HvBase.h" +#include "HvTable.h" + +#define HV_TABWRITE_STOPPED -1 // ~0x0 + +typedef struct SignalTabwrite { + HvTable *table; + hv_uint32_t head; // local write head. Where this object has most recently written to the table. +} SignalTabwrite; + +hv_size_t sTabwrite_init(SignalTabwrite *o, HvTable *table); + +void sTabwrite_onMessage(HvBase *_c, SignalTabwrite *o, int letIn, const HvMessage *const m, + void (*sendMessage)(HvBase *, int, const HvMessage *const)); + +// linear write to table +static inline void __hv_tabwrite_f(SignalTabwrite *o, hv_bInf_t bIn) { + hv_assert((o->head + HV_N_SIMD) <= hTable_getSize(o->table)); // assert that the table bounds are respected + hv_uint32_t head = o->head; +#if HV_SIMD_AVX + _mm256_store_ps(hTable_getBuffer(o->table) + head, bIn); +#elif HV_SIMD_SSE + _mm_store_ps(hTable_getBuffer(o->table) + head, bIn); +#elif HV_SIMD_NEON + vst1q_f32(hTable_getBuffer(o->table) + head, bIn); +#else // HV_SIMD_NONE + *(hTable_getBuffer(o->table) + head) = bIn; +#endif + head += HV_N_SIMD; + o->head = head; // update local write head + hTable_setHead(o->table, head); // update the remote write head (e.g. for use by vd~) +} + +// linear unaligned write to table +static inline void __hv_tabwriteu_f(SignalTabwrite *o, hv_bInf_t bIn) { + hv_uint32_t head = o->head; +#if HV_SIMD_AVX + _mm256_storeu_ps(hTable_getBuffer(o->table) + head, bIn); +#elif HV_SIMD_SSE + _mm_storeu_ps(hTable_getBuffer(o->table) + head, bIn); +#elif HV_SIMD_NEON + vst1q_f32(hTable_getBuffer(o->table) + head, bIn); +#else // HV_SIMD_NONE + *(hTable_getBuffer(o->table) + head) = bIn; +#endif + head += HV_N_SIMD; + o->head = head; // update local write head + hTable_setHead(o->table, head); // update remote write head +} + +// this tabread can be instructed to stop. It is mainly intended for linear reads that only process a portion of a buffer. +// Stores are unaligned, which can be slow but allows any indicies to be written to. +// TODO(mhroth): this is not stopping! +static inline void __hv_tabwrite_stoppable_f(SignalTabwrite *o, hv_bInf_t bIn) { + if (o->head != HV_TABWRITE_STOPPED) { +#if HV_SIMD_AVX + _mm256_storeu_ps(hTable_getBuffer(o->table) + o->head, bIn); +#elif HV_SIMD_SSE + _mm_storeu_ps(hTable_getBuffer(o->table) + o->head, bIn); +#elif HV_SIMD_NEON + vst1q_f32(hTable_getBuffer(o->table) + o->head, bIn); +#else // HV_SIMD_NONE + *(hTable_getBuffer(o->table) + o->head) = bIn; +#endif + o->head += HV_N_SIMD; + } +} + +// random write to table +static inline void __hv_tabwrite_if(SignalTabwrite *o, hv_bIni_t bIn0, hv_bInf_t bIn1) { + float *const b = hTable_getBuffer(o->table); +#if HV_SIMD_AVX + b[bIn0[0]] = bIn1[0]; + b[bIn0[1]] = bIn1[1]; + b[bIn0[2]] = bIn1[2]; + b[bIn0[3]] = bIn1[3]; + b[bIn0[4]] = bIn1[4]; + b[bIn0[5]] = bIn1[5]; + b[bIn0[6]] = bIn1[6]; + b[bIn0[7]] = bIn1[7]; +#elif HV_SIMD_SSE + b[bIn0[0]] = bIn1[0]; + b[bIn0[1]] = bIn1[1]; + b[bIn0[2]] = bIn1[2]; + b[bIn0[3]] = bIn1[3]; +#elif HV_SIMD_NEON + hv_assert((vgetq_lane_s32(bIn0,0) >= 0) && (vgetq_lane_s32(bIn0,0) < hTable_getSize(o->table))); + hv_assert((vgetq_lane_s32(bIn0,1) >= 0) && (vgetq_lane_s32(bIn0,1) < hTable_getSize(o->table))); + hv_assert((vgetq_lane_s32(bIn0,2) >= 0) && (vgetq_lane_s32(bIn0,2) < hTable_getSize(o->table))); + hv_assert((vgetq_lane_s32(bIn0,3) >= 0) && (vgetq_lane_s32(bIn0,3) < hTable_getSize(o->table))); + + vst1q_lane_f32(b + vgetq_lane_s32(bIn0, 0), bIn1, 0); + vst1q_lane_f32(b + vgetq_lane_s32(bIn0, 1), bIn1, 1); + vst1q_lane_f32(b + vgetq_lane_s32(bIn0, 2), bIn1, 2); + vst1q_lane_f32(b + vgetq_lane_s32(bIn0, 3), bIn1, 3); +#else // HV_SIMD_NONE + b[bIn0] = bIn1; +#endif +} + +#endif // _HEAVY_SIGNAL_TABWRITE_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/SignalVar.c Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,75 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "SignalVar.h" + +// __var~f + +static void sVarf_update(SignalVarf *o, float k, float step, bool reverse) { +#if HV_SIMD_AVX + if (reverse) o->v = _mm256_setr_ps(k+7.0f*step, k+6.0f*step, k+5.0f*step, k+4.0f*step, k+3.0f*step, k+2.0f*step, k+step, k); + else o->v = _mm256_set_ps(k+7.0f*step, k+6.0f*step, k+5.0f*step, k+4.0f*step, k+3.0f*step, k+2.0f*step, k+step, k); +#elif HV_SIMD_SSE + if (reverse) o->v = _mm_setr_ps(k+3.0f*step, k+2.0f*step, k+step, k); + else o->v = _mm_set_ps(k+3.0f*step, k+2.0f*step, k+step, k); +#elif HV_SIMD_NEON + if (reverse) o->v = (float32x4_t) {3.0f*step+k, 2.0f*step+k, step+k, k}; + else o->v = (float32x4_t) {k, step+k, 2.0f*step+k, 3.0f*step+k}; +#else // HV_SIMD_NONE + o->v = k; +#endif +} + +hv_size_t sVarf_init(SignalVarf *o, float k, float step, bool reverse) { + sVarf_update(o, k, step, reverse); + return 0; +} + +void sVarf_onMessage(HvBase *_c, SignalVarf *o, const HvMessage *m) { + if (msg_isFloat(m,0)) { + sVarf_update(o, msg_getFloat(m,0), msg_isFloat(m,1) ? msg_getFloat(m,1) : 0.0f, msg_getNumElements(m) == 3); + } +} + + + +// __var~i + +static void sVari_update(SignalVari *o, int k, int step, bool reverse) { +#if HV_SIMD_AVX + if (reverse) o->v = _mm256_setr_epi32(k+7*step, k+6*step, k+5*step, k+4*step, k+3*step, k+2*step, k+step, k); + else o->v = _mm256_set_epi32(k+7*step, k+6*step, k+5*step, k+4*step, k+3*step, k+2*step, k+step, k); +#elif HV_SIMD_SSE + if (reverse) o->v = _mm_setr_epi32(k+3*step, k+2*step, k+step, k); + else o->v = _mm_set_epi32(k+3*step, k+2*step, k+step, k); +#elif HV_SIMD_NEON + if (reverse) o->v = (int32x4_t) {3*step+k, 2*step+k, step+k, k}; + else o->v = (int32x4_t) {k, step+k, 2*step+k, 3*step+k}; +#else // HV_SIMD_NEON + o->v = k; +#endif +} + +hv_size_t sVari_init(SignalVari *o, int k, int step, bool reverse) { + sVari_update(o, k, step, reverse); + return 0; +} + +void sVari_onMessage(HvBase *_c, SignalVari *o, const HvMessage *m) { + if (msg_isFloat(m,0)) { + sVari_update(o, (int) msg_getFloat(m,0), msg_isFloat(m,1) ? (int) msg_getFloat(m,1) : 0, msg_getNumElements(m) == 3); + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/SignalVar.h Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,87 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_SIGNAL_VAR_H_ +#define _HEAVY_SIGNAL_VAR_H_ + +#include "HvBase.h" + +// __var~f +// __varset~f + +typedef struct SignalVarf { + hv_bufferf_t v; +} SignalVarf; + +hv_size_t sVarf_init(SignalVarf *o, float k, float step, bool reverse); + +static inline void __hv_var_f(SignalVarf *o, hv_bOutf_t bOut) { + *bOut = o->v; +} + +static inline void sVarsetf_process(SignalVarf *o, hv_bInf_t bIn) { + o->v = bIn; +} + +void sVarf_onMessage(HvBase *_c, SignalVarf *o, const HvMessage *m); + + + +// __var~i +// __varset~i + +typedef struct SignalVari { + hv_bufferi_t v; +} SignalVari; + +hv_size_t sVari_init(SignalVari *o, int k, int step, bool reverse); + +static inline void __hv_var_i(SignalVari *o, hv_bOuti_t bOut) { + *bOut = o->v; +} + +#if HV_SIMD_AVX +#define __hv_var_k_i_0(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=((__m256i)(__v8si) {_a,_b,_c,_d,_e,_f,_g,_h}) +#define __hv_var_k_i_1(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=((__m256i)(__v8si) {_h,_g,_f,_e,_d,_c,_b,_a}) +#define __hv_var_k_f_0(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=((__m256) {_a,_b,_c,_d,_e,_f,_g,_h}) +#define __hv_var_k_f_1(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=((__m256) {_h,_g,_f,_e,_d,_c,_b,_a}) +#elif HV_SIMD_SSE +#define __hv_var_k_i_0(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=((__m128i)(__v4si) {_a,_b,_c,_d}) +#define __hv_var_k_i_1(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=((__m128i)(__v4si) {_d,_c,_b,_a}) +#define __hv_var_k_f_0(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=((__m128) {_a,_b,_c,_d}) +#define __hv_var_k_f_1(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=((__m128) {_d,_c,_b,_a}) +#elif HV_SIMD_NEON +#define __hv_var_k_i_0(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=((int32x4_t) {_a,_b,_c,_d}) +#define __hv_var_k_i_1(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=((int32x4_t) {_d,_c,_b,_a}) +#define __hv_var_k_f_0(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=((float32x4_t) {_a,_b,_c,_d}) +#define __hv_var_k_f_1(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=((float32x4_t) {_d,_c,_b,_a}) +#else // HV_SIMD_NONE +#define __hv_var_k_i_0(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=_a +#define __hv_var_k_i_1(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=_a +#define __hv_var_k_f_0(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=_a +#define __hv_var_k_f_1(_z,_a,_b,_c,_d,_e,_f,_g,_h) *_z=_a +#endif +// r == 0: forwards, r == 1: backwards +#define __hv_var_k_i(_z,_a,_b,_c,_d,_e,_f,_g,_h,_r) __hv_var_k_i_##_r(_z,_a,_b,_c,_d,_e,_f,_g,_h) +#define __hv_var_k_f(_z,_a,_b,_c,_d,_e,_f,_g,_h,_r) __hv_var_k_f_##_r(_z,_a,_b,_c,_d,_e,_f,_g,_h) + +static inline void sVarseti_process(SignalVari *o, hv_bIni_t bIn) { + o->v = bIn; +} + +void sVari_onMessage(HvBase *_c, SignalVari *o, const HvMessage *m); + +#endif // _HEAVY_SIGNAL_VAR_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/Utils.h Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,177 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_UTILS_H_ +#define _HEAVY_UTILS_H_ + +// Type definitions +#if _WIN32 || _WIN64 || WINAPI_FAMILY +#define HV_WIN 1 +#include <stddef.h> +#if defined (_MSC_VER) +#define HV_MSVC 1 +#endif +#define hv_size_t unsigned long +#define hv_uint32_t unsigned int +#define hv_uint16_t unsigned short +#define hv_int32_t int +#elif __APPLE__ && __MACH__ +#define HV_APPLE 1 +#include <stddef.h> +#define hv_size_t size_t +#define hv_uint32_t unsigned int +#define hv_uint16_t unsigned short +#define hv_int32_t int +#elif __unix__ || __unix +#define HV_UNIX 1 +#include <stddef.h> +#include <stdint.h> +#define hv_size_t size_t +#define hv_uint32_t uint32_t +#define hv_uint16_t uint16_t +#define hv_int32_t int32_t +#else +#error Unsupported platform +#endif + +// Memory management +extern void *hv_alloca(hv_size_t numbytes); +extern void *hv_malloc(hv_size_t numbytes); // allocates memory on 16 byte boundaries and clears it to zero +extern void hv_free(void *ptr); // frees aligned memory +extern void *hv_realloc(void *ptr, hv_size_t numBytes); +extern void *hv_memcpy(void *dest, const void *src, hv_size_t numbytes); +extern void *hv_memset(void *ptr, hv_size_t numbytes); // sets everything to 0 + +// String handling +extern hv_size_t hv_strlen(const char *str); +extern char *hv_strncat(char *dest, const char *str, hv_size_t n); +extern char *hv_strncpy(char *dest, const char *str, hv_size_t n); +extern int hv_strcmp(const char *str1, const char *str2); +extern int hv_strncmp(const char *str1, const char *str2, hv_size_t n); +extern int hv_snprintf(char *dest, hv_size_t n, const char *format, ...); + +// Math +extern int hv_max_i(int x, int y); +extern hv_size_t hv_max_ui(hv_size_t x, hv_size_t y); +extern int hv_min_i(int x, int y); +extern hv_size_t hv_min_ui(hv_size_t x, hv_size_t y); +extern float hv_max_f(float x, float y); +extern float hv_min_f(float x, float y); +extern double hv_max_d(double x, double y); +extern double hv_min_d(double x, double y); +extern float hv_sin_f(float x); +extern float hv_sinh_f(float x); +extern float hv_cos_f(float x); +extern float hv_cosh_f(float x); +extern float hv_tan_f(float x); +extern float hv_tanh_f(float x); +extern float hv_asin_f(float x); +extern float hv_asinh_f(float x); +extern float hv_acos_f(float x); +extern float hv_acosh_f(float x); +extern float hv_atan_f(float x); +extern float hv_atanh_f(float x); +extern float hv_atan2_f(float x, float y); +extern float hv_exp_f(float x); +extern float hv_abs_f(float x); +extern float hv_sqrt_f(float x); +extern float hv_log_f(float x); +extern float hv_log2_f(float x); +extern float hv_log10_f(float x); +extern float hv_ceil_f(float x); +extern float hv_floor_f(float x); +extern float hv_round_f(float x); +extern float hv_pow_f(float x, float y); +extern float hv_fma_f(float x, float y, float z); + +// Utilities +extern void hv_assert(int e); +extern void hv_clear_buffer(float *b, int n); +extern hv_uint32_t hv_min_max_log2(hv_uint32_t x); + +// SIMD +#ifndef HV_SIMD_NONE + #define HV_SIMD_NEON __ARM_NEON__ + #define HV_SIMD_SSE (__SSE__ && __SSE2__ && __SSE3__ && __SSSE3__ && __SSE4_1__) + #define HV_SIMD_AVX (__AVX__ && HV_SIMD_SSE) // it is required that if AVX exists then SSE will also be available + #define HV_SIMD_FMA __FMA__ +#endif + +#ifdef HV_WIN +#include "Utils_windows.h" +#elif HV_APPLE +#include "Utils_mac.h" +#elif HV_UNIX +#include "Utils_unix.h" +#else +#error Unsupported platform +#endif + +#if HV_SIMD_NEON // NEON + #define HV_N_SIMD 4 + #define hv_bufferf_t float32x4_t + #define hv_bufferi_t int32x4_t + #define hv_bInf_t float32x4_t + #define hv_bOutf_t float32x4_t* + #define hv_bIni_t int32x4_t + #define hv_bOuti_t int32x4_t* + #define VIf(_x) (_x) + #define VOf(_x) (&_x) + #define VIi(_x) (_x) + #define VOi(_x) (&_x) +#elif HV_SIMD_AVX // AVX + #define HV_N_SIMD 8 + #define hv_bufferf_t __m256 + #define hv_bufferi_t __m256i + #define hv_bInf_t __m256 + #define hv_bOutf_t __m256* + #define hv_bIni_t __m256i + #define hv_bOuti_t __m256i* + #define VIf(_x) (_x) + #define VOf(_x) (&_x) + #define VIi(_x) (_x) + #define VOi(_x) (&_x) +#elif HV_SIMD_SSE // SSE + #define HV_N_SIMD 4 + #define hv_bufferf_t __m128 + #define hv_bufferi_t __m128i + #define hv_bInf_t __m128 + #define hv_bOutf_t __m128* + #define hv_bIni_t __m128i + #define hv_bOuti_t __m128i* + #define VIf(_x) (_x) + #define VOf(_x) (&_x) + #define VIi(_x) (_x) + #define VOi(_x) (&_x) +#else // DEFAULT + #define HV_N_SIMD 1 + #undef HV_SIMD_NONE + #define HV_SIMD_NONE 1 + #define hv_bufferf_t float + #define hv_bufferi_t int + #define hv_bInf_t float + #define hv_bOutf_t float* + #define hv_bIni_t int + #define hv_bOuti_t int* + #define VIf(_x) (_x) + #define VOf(_x) (&_x) + #define VIi(_x) (_x) + #define VOi(_x) (&_x) +#endif + +#define HV_N_SIMD_MASK (HV_N_SIMD-1) + +#endif // _HEAVY_UTILS_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/Utils_mac.c Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,43 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "Utils_mac.h" + +#if HV_APPLE + +hv_size_t hv_max_ui(hv_size_t x, hv_size_t y) { + return (x >= y) ? x : y; +} + +hv_size_t hv_min_ui(hv_size_t x, hv_size_t y) { + return (x <= y) ? x : y; +} + +int hv_max_i(int x, int y) { + return (x >= y) ? x : y; +} + +int hv_min_i(int x, int y) { + return (x <= y) ? x : y; +} + +hv_uint32_t hv_min_max_log2(hv_uint32_t x) { + // finds ceil(log2(x)) + // http://stackoverflow.com/questions/2589096/find-most-significant-bit-left-most-that-is-set-in-a-bit-array + return (hv_uint32_t) ((8 * sizeof(unsigned int)) - __builtin_clz(x - 1)); +} + +#endif // HV_APPLE
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/Utils_mac.h Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,98 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_UTILS_MAC_H_ +#define _HEAVY_UTILS_MAC_H_ + +#include "Utils.h" + +#if HV_APPLE +#include <alloca.h> +#if HV_SIMD_AVX || HV_SIMD_SSE +#include <immintrin.h> +#include <mm_malloc.h> +#elif HV_SIMD_NEON +#include <arm_neon.h> +#endif +#include <assert.h> +#include <math.h> +#include <stdarg.h> +#include <stdbool.h> +#include <stdint.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#define HV_EXPORT +#define HV_FORCE_INLINE inline __attribute__((always_inline)) + +// Memory management +#define hv_alloca(_n) alloca(_n) +#if HV_SIMD_AVX || HV_SIMD_SSE + #define hv_malloc(_n) _mm_malloc(_n, 32) // 32 to ensure AVX compatability (16 otherwise) + #define hv_free(x) _mm_free(x) +#else + #define hv_malloc(_n) malloc(_n) + #define hv_free(x) free(x) +#endif +#define hv_realloc(a, b) realloc(a, b) +#define hv_memcpy(a, b, c) memcpy(a, b, c) +#define hv_memset(a, b) memset(a, 0, b) + +// Strings +#define hv_strlen(a) strlen(a) +#define hv_strncat(a, b, c) strncat(a, b, c) +#define hv_strncpy(a, b, c) strncpy(a, b, c) +#define hv_strcmp(a, b) strcmp(a, b) +#define hv_strncmp(a, b, c) strncmp(a, b, c) +#define hv_snprintf(a, b, c, ...) snprintf(a, b, c, __VA_ARGS__) + +// Math +#define hv_max_f(a, b) fmaxf(a, b) +#define hv_min_f(a, b) fminf(a, b) +#define hv_max_d(a, b) fmax(a, b) +#define hv_min_d(a, b) fmin(a, b) +#define hv_sin_f(a) sinf(a) +#define hv_sinh_f(a) sinhf(a) +#define hv_cos_f(a) cosf(a) +#define hv_cosh_f(a) coshf(a) +#define hv_tan_f(a) tanf(a) +#define hv_tanh_f(a) tanhf(a) +#define hv_asin_f(a) asinf(a) +#define hv_asinh_f(a) asinhf(a) +#define hv_acos_f(a) acosf(a) +#define hv_acosh_f(a) acoshf(a) +#define hv_atan_f(a) atanf(a) +#define hv_atanh_f(a) atanhf(a) +#define hv_atan2_f(a, b) atan2f(a, b) +#define hv_exp_f(a) expf(a) +#define hv_abs_f(a) fabsf(a) +#define hv_sqrt_f(a) sqrtf(a) +#define hv_log_f(a) logf(a) +#define hv_log2_f(a) log2f(a) +#define hv_log10_f(a) log10f(a) +#define hv_ceil_f(a) ceilf(a) +#define hv_floor_f(a) floorf(a) +#define hv_round_f(a) roundf(a) +#define hv_pow_f(a, b) powf(a, b) +#define hv_fma_f(a, b, c) ((a*b)+c) // TODO(joe): use 'fmaf(a, b, c)' once emscripten supports it + +// Utilities +#define hv_assert(e) assert(e) +#define hv_clear_buffer(b, n) memset(b, 0, (n)*sizeof(float)) + +#endif // HV_APPLE +#endif // _HEAVY_UTILS_MAC_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/Utils_unix.c Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,43 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "Utils_unix.h" + +#if HV_UNIX + +hv_size_t hv_max_ui(hv_size_t x, hv_size_t y) { + return (x >= y) ? x : y; +} + +hv_size_t hv_min_ui(hv_size_t x, hv_size_t y) { + return (x <= y) ? x : y; +} + +int hv_max_i(int x, int y) { + return (x >= y) ? x : y; +} + +int hv_min_i(int x, int y) { + return (x <= y) ? x : y; +} + +hv_uint32_t hv_min_max_log2(hv_uint32_t x) { + // finds ceil(log2(x)) + // http://stackoverflow.com/questions/2589096/find-most-significant-bit-left-most-that-is-set-in-a-bit-array + return (hv_uint32_t) ((8 * sizeof(unsigned int)) - __builtin_clz(x - 1)); +} + +#endif // HV_UNIX
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/Utils_unix.h Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,98 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_UTILS_UNIX_H_ +#define _HEAVY_UTILS_UNIX_H_ + +#include "Utils.h" + +#if HV_UNIX +#if HV_SIMD_AVX || HV_SIMD_SSE +#include <immintrin.h> +#include <mm_malloc.h> +#elif HV_SIMD_NEON +#include <arm_neon.h> +#endif +#include <alloca.h> +#include <assert.h> +#include <math.h> +#include <stdarg.h> +#include <stdbool.h> +#include <stdint.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#define HV_EXPORT +#define HV_FORCE_INLINE inline __attribute__((always_inline)) + +// Memory management +#define hv_alloca(_n) alloca(_n) +#if HV_SIMD_AVX || HV_SIMD_SSE + #define hv_malloc(_n) _mm_malloc(_n, 32) // 32 to ensure AVX compatability (16 otherwise) + #define hv_free(x) _mm_free(x) +#else + #define hv_malloc(_n) malloc(_n) + #define hv_free(_n) free(_n) +#endif +#define hv_realloc(a, b) realloc(a, b) +#define hv_memcpy(a, b, c) memcpy(a, b, c) +#define hv_memset(a, b) memset(a, 0, b) + +// Strings +#define hv_strlen(a) strlen(a) +#define hv_strncat(a, b, c) strncat(a, b, c) +#define hv_strncpy(a, b, c) strncpy(a, b, c) +#define hv_strcmp(a, b) strcmp(a, b) +#define hv_strncmp(a, b, c) strncmp(a, b, c) +#define hv_snprintf(a, b, c, ...) snprintf(a, b, c, __VA_ARGS__) + +// Math +#define hv_max_f(a, b) fmaxf(a, b) +#define hv_min_f(a, b) fminf(a, b) +#define hv_max_d(a, b) fmax(a, b) +#define hv_min_d(a, b) fmin(a, b) +#define hv_sin_f(a) sinf(a) +#define hv_sinh_f(a) sinhf(a) +#define hv_cos_f(a) cosf(a) +#define hv_cosh_f(a) coshf(a) +#define hv_tan_f(a) tanf(a) +#define hv_tanh_f(a) tanhf(a) +#define hv_asin_f(a) asinf(a) +#define hv_asinh_f(a) asinhf(a) +#define hv_acos_f(a) acosf(a) +#define hv_acosh_f(a) acoshf(a) +#define hv_atan_f(a) atanf(a) +#define hv_atanh_f(a) atanhf(a) +#define hv_atan2_f(a, b) atan2f(a, b) +#define hv_exp_f(a) expf(a) +#define hv_abs_f(a) fabsf(a) +#define hv_sqrt_f(a) sqrtf(a) +#define hv_log_f(a) logf(a) +#define hv_log2_f(a) log2f(a) +#define hv_log10_f(a) log10f(a) +#define hv_ceil_f(a) ceilf(a) +#define hv_floor_f(a) floorf(a) +#define hv_round_f(a) roundf(a) +#define hv_pow_f(a, b) powf(a, b) +#define hv_fma_f(a, b, c) ((a*b)+c) // TODO(joe): use 'fmaf(a, b, c)' once emscripten supports it + +// Utilities +#define hv_assert(e) assert(e) +#define hv_clear_buffer(b, n) memset(b, 0, n*sizeof(float)) + +#endif // HV_UNIX +#endif // _HEAVY_UTILS_UNIX_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/Utils_windows.c Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,68 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include "Utils_windows.h" + +#if HV_WIN + +hv_size_t hv_max_ui(hv_size_t x, hv_size_t y) { + return (x >= y) ? x : y; +} + +hv_size_t hv_min_ui(hv_size_t x, hv_size_t y) { + return (x <= y) ? x : y; +} + +int hv_max_i(int x, int y) { + return (x >= y) ? x : y; +} + +int hv_min_i(int x, int y) { + return (x <= y) ? x : y; +} + +hv_uint32_t hv_min_max_log2(hv_uint32_t x) { +#if HV_MSVC + // finds ceil(log2(x)) + // http://stackoverflow.com/questions/2589096/find-most-significant-bit-left-most-that-is-set-in-a-bit-array + // http://msdn.microsoft.com/en-us/library/fbxyd7zd%28v=VS.80%29.aspx + unsigned long z = 0; + _BitScanReverse(&z, x); + return (hv_uint32_t) (z+1); +#else + return (hv_uint32_t) ((8 * sizeof(unsigned int)) - __builtin_clz(x-1)); +#endif // HV_MSVC +} + +#if HV_MSVC +int hv_snprintf(char* str, hv_size_t size, const char* format, ...) { + // http://stackoverflow.com/questions/2915672/snprintf-and-visual-studio-2010 + int count = -1; + va_list ap; + va_start(ap, format); + + if (size != 0) { + count = _vsnprintf_s(str, size, _TRUNCATE, format, ap); + } + if (count == -1) { + count = _vscprintf(format, ap); + } + va_end(ap); + return count; +} +#endif // HV_MSVC +#endif // HV_WIN +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/Utils_windows.h Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,109 @@ +/** + * Copyright (c) 2014, 2015, Enzien Audio Ltd. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _HEAVY_UTILS_WINDOWS_H_ +#define _HEAVY_UTILS_WINDOWS_H_ + +#include "Utils.h" + +#if HV_WIN +#define _USE_MATH_DEFINES +#if HV_SIMD_AVX || HV_SIMD_SSE +#if HV_MSVC +#include <intrin.h> +#else +#include <immintrin.h> +#endif +#elif HV_SIMD_NEON +#include <arm_neon.h> +#endif +#include <malloc.h> +#include <assert.h> +#include <math.h> +#include <stdarg.h> +#include <stdint.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <stdbool.h> + +#define HV_EXPORT __declspec(dllexport) + +// MSVC Specific +#if HV_MSVC +#define inline __inline +#define HV_FORCE_INLINE __forceinline +#else +#define HV_FORCE_INLINE inline __attribute__((always_inline)) +#define hv_snprintf(a, b, c, ...) snprintf(a, b, c, __VA_ARGS__) +#endif // HV_MSVC + +// Memory management +#define hv_alloca(_n) _alloca(_n) +#if !defined(HV_SIMD_AVX) || !defined(HV_SIMD_SSE) +#define hv_malloc(_n) _aligned_malloc(_n, 32) +#define hv_free(x) _aligned_free(x) +#else +#define hv_malloc(_n) malloc(_n) +#define hv_free(_n) free(_n) +#endif +#define hv_realloc(a, b) realloc(a, b) +#define hv_memcpy(a, b, c) memcpy(a, b, c) +#define hv_memset(a, b) memset(a, 0, b) + +// Strings +#define hv_strncat(a, b, c) strncat(a, b, c) +#define hv_strcmp(a, b) strcmp(a, b) +#define hv_strncmp(a, b, c) strncmp(a, b, c) +#define hv_strncpy(a, b, c) strncpy(a, b, c) +#define hv_strlen(a) strlen(a) + +// Math +#define hv_max_f(a, b) fmaxf(a, b) +#define hv_min_f(a, b) fminf(a, b) +#define hv_max_d(a, b) fmax(a, b) +#define hv_min_d(a, b) fmin(a, b) +#define hv_sin_f(a) sinf(a) +#define hv_sinh_f(a) sinhf(a) +#define hv_cos_f(a) cosf(a) +#define hv_cosh_f(a) coshf(a) +#define hv_tan_f(a) tanf(a) +#define hv_tanh_f(a) tanhf(a) +#define hv_asin_f(a) asinf(a) +#define hv_asinh_f(a) asinhf(a) +#define hv_acos_f(a) acosf(a) +#define hv_acosh_f(a) acoshf(a) +#define hv_atan_f(a) atanf(a) +#define hv_atanh_f(a) atanhf(a) +#define hv_atan2_f(a, b) atan2f(a, b) +#define hv_exp_f(a) expf(a) +#define hv_abs_f(a) fabsf(a) +#define hv_sqrt_f(a) sqrtf(a) +#define hv_log_f(a) logf(a) +#define hv_log2_f(a) log2f(a) +#define hv_log10_f(a) log10f(a) +#define hv_ceil_f(a) ceilf(a) +#define hv_floor_f(a) floorf(a) +#define hv_round_f(a) roundf(a) +#define hv_pow_f(a, b) powf(a, b) +#define hv_fma_f(a, b, c) ((a*b)+c) // TODO(joe): use 'fmaf(a, b, c)' once emscripten supports it + +// Utilities +#define hv_assert(e) assert(e) +#define hv_clear_buffer(b, n) memset(b, 0, n*sizeof(float)) + +#endif // HV_WIN +#endif // _HEAVY_UTILS_WINDOWS_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/circularBuffer/render.cpp Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,183 @@ +/* + * render.cpp + * + * Template render.cpp file for on-board heavy compiling + * + * N.B. this is currently *not* compatible with foleyDesigner source files! + * + * Created on: November 5, 2015 + * + * Christian Heinrichs + * + */ + +#include <BeagleRT.h> +#include <cmath> +#include "../include/Utilities.h" +#include "Heavy_bbb.h" + +// #include "I2c_TouchKey.h" + +// #include "../include/UdpServer.h" +// #include "../include/UdpClient.h" +// #include <iostream> +// #include <fstream> +// #include "../include/ReceiveAudioThread.h" + +// #include "../include/render.h" +// #include <arm_neon.h> +// #include <time.h> +// #include <sndfile.h> + +// #include "../include/RTAudio.h" +// #include <rtdk.h> + + +/* + * HEAVY CONTEXT & BUFFERS + */ + +Hv_bbb *gHeavyContext; +float *gHvInputBuffers = NULL, *gHvOutputBuffers = NULL; +int gHvInputChannels = 0, gHvOutputChannels = 0; + +float gInverseSampleRate; + +/* + * HEAVY FUNCTIONS + */ + +void printHook(double timestampSecs, const char *printLabel, const char *msgString, void *userData) { + printf("Message from Heavy patch: [@ %.3f] %s: %s\n", timestampSecs, printLabel, msgString); +} + +static void sendHook( + double timestamp, // in milliseconds + const char *receiverName, + const HvMessage *const m, + void *userData) { + + // only react to messages sent to receivers named "hello" + if (!strncmp(receiverName, "hello", 5)) { + } + +} + +/* + * RENDER INITIALISATION, LOOP & CLEANUP + */ + + +// bool initialise_render(int numMatrixChannels, int numAudioChannels, +// int numMatrixFramesPerPeriod, +// int numAudioFramesPerPeriod, +// float matrixSampleRate, float audioSampleRate, +// void *userData) +// { +bool setup(BeagleRTContext *context, void *userData) { + + /* HEAVY */ + + gHeavyContext = hv_bbb_new(context->audioSampleRate); + + gHvInputChannels = hv_getNumInputChannels(gHeavyContext); + gHvOutputChannels = hv_getNumOutputChannels(gHeavyContext); + + // srand ( time(NULL) ); + + rt_printf("Starting Heavy context with %d input channels and %d output channels\n", + gHvInputChannels, gHvOutputChannels); + + if(gHvInputChannels != 0) { + gHvInputBuffers = (float *)calloc(gHvInputChannels * context->audioFrames,sizeof(float)); + //memset(gHvInputBuffers,0,gHvInputChannels * numAudioFramesPerPeriod * sizeof(float)); + } + if(gHvOutputChannels != 0) { + gHvOutputBuffers = (float *)calloc(gHvOutputChannels * context->audioFrames,sizeof(float)); + } + + gInverseSampleRate = 1.0 / context->audioSampleRate; + + // Set heavy print hook + hv_setPrintHook(gHeavyContext, &printHook); + // Set heavy send hook + hv_setSendHook(gHeavyContext, sendHook); + + return true; +} + + +// void render(int numMatrixFrames, int numAudioFrames, float *audioIn, float *audioOut, +// uint16_t *matrixIn, uint16_t *matrixOut) +// { +void render(BeagleRTContext *context, void *userData) +{ + // use this for thread management + // if(gCount == 0) { + // } else { + // } + // gCount++; + + // De-interleave the data + if(gHvInputBuffers != NULL) { + for(int n = 0; n < context->audioFrames; n++) { + for(int ch = 0; ch < gHvInputChannels; ch++) { + if(ch >= context->audioChannels+context->analogChannels) { + // THESE ARE PARAMETER INPUT 'CHANNELS' USED FOR ROUTING + // 'sensor' outputs from routing channels of dac~ are passed through here + break; + } else { + // If more than 2 ADC inputs are used in the pd patch, route the analog inputs + // i.e. ADC3->analogIn0 etc. (first two are always audio inputs) + if(ch >= context->audioChannels) { + int m = n/2; + float mIn = context->analogIn[m*context->analogChannels + (ch-context->audioChannels)]; + gHvInputBuffers[ch * context->audioFrames + n] = mIn; + } else { + gHvInputBuffers[ch * context->audioFrames + n] = context->audioIn[n * context->audioChannels + ch]; + } + } + } + } + } + + // replacement for bang~ object + //hv_vscheduleMessageForReceiver(gHeavyContext, "bbb_bang", 0.0f, "b"); + + hv_bbb_process_inline(gHeavyContext, gHvInputBuffers, gHvOutputBuffers, context->audioFrames); + + // Interleave the output data + if(gHvOutputBuffers != NULL) { + for(int n = 0; n < context->audioFrames; n++) { + + for(int ch = 0; ch < gHvOutputChannels; ch++) { + if(ch >= context->audioChannels+context->analogChannels) { + // THESE ARE SENSOR OUTPUT 'CHANNELS' USED FOR ROUTING + // they are the content of the 'sensor output' dac~ channels + } else { + if(ch >= context->audioChannels) { + int m = n/2; + // float mOut = (float)gHvOutputBuffers[ch*numAudioFrames + n]; + // mOut = constrain(mOut,0.0,1.0); + context->analogOut[m * context->analogFrames + (ch-context->audioChannels)] = constrain(gHvOutputBuffers[ch*context->audioFrames + n],0.0,1.0); + } else { + context->audioOut[n * context->audioChannels + ch] = gHvOutputBuffers[ch * context->audioFrames + n]; + } + } + } + } + } + +} + + +void cleanup(BeagleRTContext *context, void *userData) +{ + + hv_bbb_free(gHeavyContext); + if(gHvInputBuffers != NULL) + free(gHvInputBuffers); + if(gHvOutputBuffers != NULL) + free(gHvOutputBuffers); + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/heavy/pd/circularBuffer/_main.pd Thu Nov 12 15:55:30 2015 +0000 @@ -0,0 +1,72 @@ +#N canvas 369 979 738 494 10; +#X obj 135 167 loadbang; +#X msg 135 212 1; +#X obj 183 234 / 44.1; +#X obj 135 253 metro; +#X obj 135 286 f; +#X obj 160 286 + 64; +#X obj 160 308 % 65536, f 8; +#X msg 160 329 start \$1; +#X obj 160 351 tabwrite~ circbuf; +#X obj 363 303 - 32768; +#X obj 363 325 + 65536; +#X obj 363 347 % 65536; +#X obj 342 371 +~ 0; +#X msg 381 236 0; +#X obj 342 258 phasor~; +#X obj 342 392 tabread4~ circbuf; +#X obj 341 415 dac~; +#N canvas 422 781 312 126 buf 0; +#N canvas 0 22 450 278 (subpatch) 0; +#X array circbuf 65536 float 2; +#X coords 0 1 65535 -1 256 64 1 0 0; +#X restore 23 28 graph; +#X restore 129 441 pd buf; +#X obj 32 101 osc~ 440; +#X obj 342 213 samplerate~; +#X obj 134 189 t b b b b; +#X text 30 82 audio input; +#X text 219 310 write pointer; +#X text 412 349 read pointer; +#X obj 342 282 *~ 16; +#X obj 342 236 / 16; +#X obj 183 214 f 16; +#X obj 363 189 r \$0-blocksize; +#X obj 204 186 r \$0-blocksize; +#X obj 394 259 r \$0-blocksize; +#X obj 390 123 s \$0-blocksize; +#X floatatom 390 105 5 0 0 0 - - -, f 5; +#X text 34 13 VIRTUAL CIRCULAR BUFFER; +#X text 34 23 =======================; +#X text 503 465 @krighxz / BELA / heavy / 11/2015; +#X connect 0 0 20 0; +#X connect 1 0 3 0; +#X connect 2 0 3 1; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 6 0; +#X connect 5 0 9 0; +#X connect 6 0 7 0; +#X connect 6 0 4 1; +#X connect 7 0 8 0; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 11 0 12 1; +#X connect 12 0 15 0; +#X connect 13 0 14 1; +#X connect 14 0 24 0; +#X connect 15 0 16 0; +#X connect 15 0 16 1; +#X connect 18 0 8 0; +#X connect 19 0 25 0; +#X connect 20 0 1 0; +#X connect 20 1 26 0; +#X connect 20 2 13 0; +#X connect 20 3 19 0; +#X connect 24 0 12 0; +#X connect 25 0 14 0; +#X connect 26 0 2 0; +#X connect 27 0 25 1; +#X connect 28 0 26 1; +#X connect 29 0 24 1; +#X connect 31 0 30 0;