1570 lines
		
	
	
		
			8.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			1570 lines
		
	
	
		
			8.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								#ifndef NONLINEAR_LOOK_UP_TABLE_H
							 | 
						||
| 
								 | 
							
								#define NONLINEAR_LOOK_UP_TABLE_H
							 | 
						||
| 
								 | 
							
								#include "os_types.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int8_t sigmoid_look_up[] = {
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								3,
							 | 
						||
| 
								 | 
							
								3,
							 | 
						||
| 
								 | 
							
								3,
							 | 
						||
| 
								 | 
							
								3,
							 | 
						||
| 
								 | 
							
								3,
							 | 
						||
| 
								 | 
							
								4,
							 | 
						||
| 
								 | 
							
								4,
							 | 
						||
| 
								 | 
							
								4,
							 | 
						||
| 
								 | 
							
								4,
							 | 
						||
| 
								 | 
							
								4,
							 | 
						||
| 
								 | 
							
								5,
							 | 
						||
| 
								 | 
							
								5,
							 | 
						||
| 
								 | 
							
								5,
							 | 
						||
| 
								 | 
							
								6,
							 | 
						||
| 
								 | 
							
								6,
							 | 
						||
| 
								 | 
							
								6,
							 | 
						||
| 
								 | 
							
								7,
							 | 
						||
| 
								 | 
							
								7,
							 | 
						||
| 
								 | 
							
								8,
							 | 
						||
| 
								 | 
							
								8,
							 | 
						||
| 
								 | 
							
								9,
							 | 
						||
| 
								 | 
							
								9,
							 | 
						||
| 
								 | 
							
								10,
							 | 
						||
| 
								 | 
							
								10,
							 | 
						||
| 
								 | 
							
								11,
							 | 
						||
| 
								 | 
							
								12,
							 | 
						||
| 
								 | 
							
								12,
							 | 
						||
| 
								 | 
							
								13,
							 | 
						||
| 
								 | 
							
								14,
							 | 
						||
| 
								 | 
							
								14,
							 | 
						||
| 
								 | 
							
								15,
							 | 
						||
| 
								 | 
							
								16,
							 | 
						||
| 
								 | 
							
								17,
							 | 
						||
| 
								 | 
							
								18,
							 | 
						||
| 
								 | 
							
								19,
							 | 
						||
| 
								 | 
							
								20,
							 | 
						||
| 
								 | 
							
								21,
							 | 
						||
| 
								 | 
							
								22,
							 | 
						||
| 
								 | 
							
								23,
							 | 
						||
| 
								 | 
							
								25,
							 | 
						||
| 
								 | 
							
								26,
							 | 
						||
| 
								 | 
							
								27,
							 | 
						||
| 
								 | 
							
								29,
							 | 
						||
| 
								 | 
							
								30,
							 | 
						||
| 
								 | 
							
								31,
							 | 
						||
| 
								 | 
							
								33,
							 | 
						||
| 
								 | 
							
								34,
							 | 
						||
| 
								 | 
							
								36,
							 | 
						||
| 
								 | 
							
								38,
							 | 
						||
| 
								 | 
							
								39,
							 | 
						||
| 
								 | 
							
								41,
							 | 
						||
| 
								 | 
							
								43,
							 | 
						||
| 
								 | 
							
								45,
							 | 
						||
| 
								 | 
							
								46,
							 | 
						||
| 
								 | 
							
								48,
							 | 
						||
| 
								 | 
							
								50,
							 | 
						||
| 
								 | 
							
								52,
							 | 
						||
| 
								 | 
							
								54,
							 | 
						||
| 
								 | 
							
								56,
							 | 
						||
| 
								 | 
							
								58,
							 | 
						||
| 
								 | 
							
								60,
							 | 
						||
| 
								 | 
							
								62,
							 | 
						||
| 
								 | 
							
								64,
							 | 
						||
| 
								 | 
							
								66,
							 | 
						||
| 
								 | 
							
								68,
							 | 
						||
| 
								 | 
							
								70,
							 | 
						||
| 
								 | 
							
								72,
							 | 
						||
| 
								 | 
							
								74,
							 | 
						||
| 
								 | 
							
								76,
							 | 
						||
| 
								 | 
							
								78,
							 | 
						||
| 
								 | 
							
								80,
							 | 
						||
| 
								 | 
							
								82,
							 | 
						||
| 
								 | 
							
								83,
							 | 
						||
| 
								 | 
							
								85,
							 | 
						||
| 
								 | 
							
								87,
							 | 
						||
| 
								 | 
							
								89,
							 | 
						||
| 
								 | 
							
								90,
							 | 
						||
| 
								 | 
							
								92,
							 | 
						||
| 
								 | 
							
								94,
							 | 
						||
| 
								 | 
							
								95,
							 | 
						||
| 
								 | 
							
								97,
							 | 
						||
| 
								 | 
							
								98,
							 | 
						||
| 
								 | 
							
								99,
							 | 
						||
| 
								 | 
							
								101,
							 | 
						||
| 
								 | 
							
								102,
							 | 
						||
| 
								 | 
							
								103,
							 | 
						||
| 
								 | 
							
								105,
							 | 
						||
| 
								 | 
							
								106,
							 | 
						||
| 
								 | 
							
								107,
							 | 
						||
| 
								 | 
							
								108,
							 | 
						||
| 
								 | 
							
								109,
							 | 
						||
| 
								 | 
							
								110,
							 | 
						||
| 
								 | 
							
								111,
							 | 
						||
| 
								 | 
							
								112,
							 | 
						||
| 
								 | 
							
								113,
							 | 
						||
| 
								 | 
							
								114,
							 | 
						||
| 
								 | 
							
								114,
							 | 
						||
| 
								 | 
							
								115,
							 | 
						||
| 
								 | 
							
								116,
							 | 
						||
| 
								 | 
							
								116,
							 | 
						||
| 
								 | 
							
								117,
							 | 
						||
| 
								 | 
							
								118,
							 | 
						||
| 
								 | 
							
								118,
							 | 
						||
| 
								 | 
							
								119,
							 | 
						||
| 
								 | 
							
								119,
							 | 
						||
| 
								 | 
							
								120,
							 | 
						||
| 
								 | 
							
								120,
							 | 
						||
| 
								 | 
							
								121,
							 | 
						||
| 
								 | 
							
								121,
							 | 
						||
| 
								 | 
							
								122,
							 | 
						||
| 
								 | 
							
								122,
							 | 
						||
| 
								 | 
							
								122,
							 | 
						||
| 
								 | 
							
								123,
							 | 
						||
| 
								 | 
							
								123,
							 | 
						||
| 
								 | 
							
								123,
							 | 
						||
| 
								 | 
							
								124,
							 | 
						||
| 
								 | 
							
								124,
							 | 
						||
| 
								 | 
							
								124,
							 | 
						||
| 
								 | 
							
								124,
							 | 
						||
| 
								 | 
							
								124,
							 | 
						||
| 
								 | 
							
								125,
							 | 
						||
| 
								 | 
							
								125,
							 | 
						||
| 
								 | 
							
								125,
							 | 
						||
| 
								 | 
							
								125,
							 | 
						||
| 
								 | 
							
								125,
							 | 
						||
| 
								 | 
							
								126,
							 | 
						||
| 
								 | 
							
								126,
							 | 
						||
| 
								 | 
							
								126,
							 | 
						||
| 
								 | 
							
								126,
							 | 
						||
| 
								 | 
							
								126,
							 | 
						||
| 
								 | 
							
								126,
							 | 
						||
| 
								 | 
							
								126,
							 | 
						||
| 
								 | 
							
								126,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int16_t sigmoid_look_up_16[] = {
							 | 
						||
| 
								 | 
							
								11,
							 | 
						||
| 
								 | 
							
								12,
							 | 
						||
| 
								 | 
							
								12,
							 | 
						||
| 
								 | 
							
								13,
							 | 
						||
| 
								 | 
							
								14,
							 | 
						||
| 
								 | 
							
								15,
							 | 
						||
| 
								 | 
							
								16,
							 | 
						||
| 
								 | 
							
								17,
							 | 
						||
| 
								 | 
							
								18,
							 | 
						||
| 
								 | 
							
								19,
							 | 
						||
| 
								 | 
							
								21,
							 | 
						||
| 
								 | 
							
								22,
							 | 
						||
| 
								 | 
							
								23,
							 | 
						||
| 
								 | 
							
								25,
							 | 
						||
| 
								 | 
							
								26,
							 | 
						||
| 
								 | 
							
								28,
							 | 
						||
| 
								 | 
							
								30,
							 | 
						||
| 
								 | 
							
								32,
							 | 
						||
| 
								 | 
							
								34,
							 | 
						||
| 
								 | 
							
								36,
							 | 
						||
| 
								 | 
							
								38,
							 | 
						||
| 
								 | 
							
								41,
							 | 
						||
| 
								 | 
							
								43,
							 | 
						||
| 
								 | 
							
								46,
							 | 
						||
| 
								 | 
							
								49,
							 | 
						||
| 
								 | 
							
								52,
							 | 
						||
| 
								 | 
							
								56,
							 | 
						||
| 
								 | 
							
								59,
							 | 
						||
| 
								 | 
							
								63,
							 | 
						||
| 
								 | 
							
								67,
							 | 
						||
| 
								 | 
							
								72,
							 | 
						||
| 
								 | 
							
								76,
							 | 
						||
| 
								 | 
							
								81,
							 | 
						||
| 
								 | 
							
								86,
							 | 
						||
| 
								 | 
							
								92,
							 | 
						||
| 
								 | 
							
								98,
							 | 
						||
| 
								 | 
							
								104,
							 | 
						||
| 
								 | 
							
								111,
							 | 
						||
| 
								 | 
							
								118,
							 | 
						||
| 
								 | 
							
								125,
							 | 
						||
| 
								 | 
							
								133,
							 | 
						||
| 
								 | 
							
								142,
							 | 
						||
| 
								 | 
							
								151,
							 | 
						||
| 
								 | 
							
								161,
							 | 
						||
| 
								 | 
							
								171,
							 | 
						||
| 
								 | 
							
								182,
							 | 
						||
| 
								 | 
							
								194,
							 | 
						||
| 
								 | 
							
								206,
							 | 
						||
| 
								 | 
							
								219,
							 | 
						||
| 
								 | 
							
								233,
							 | 
						||
| 
								 | 
							
								248,
							 | 
						||
| 
								 | 
							
								264,
							 | 
						||
| 
								 | 
							
								281,
							 | 
						||
| 
								 | 
							
								299,
							 | 
						||
| 
								 | 
							
								318,
							 | 
						||
| 
								 | 
							
								338,
							 | 
						||
| 
								 | 
							
								360,
							 | 
						||
| 
								 | 
							
								383,
							 | 
						||
| 
								 | 
							
								407,
							 | 
						||
| 
								 | 
							
								433,
							 | 
						||
| 
								 | 
							
								461,
							 | 
						||
| 
								 | 
							
								490,
							 | 
						||
| 
								 | 
							
								521,
							 | 
						||
| 
								 | 
							
								554,
							 | 
						||
| 
								 | 
							
								589,
							 | 
						||
| 
								 | 
							
								627,
							 | 
						||
| 
								 | 
							
								666,
							 | 
						||
| 
								 | 
							
								708,
							 | 
						||
| 
								 | 
							
								753,
							 | 
						||
| 
								 | 
							
								800,
							 | 
						||
| 
								 | 
							
								851,
							 | 
						||
| 
								 | 
							
								904,
							 | 
						||
| 
								 | 
							
								961,
							 | 
						||
| 
								 | 
							
								1021,
							 | 
						||
| 
								 | 
							
								1084,
							 | 
						||
| 
								 | 
							
								1152,
							 | 
						||
| 
								 | 
							
								1223,
							 | 
						||
| 
								 | 
							
								1299,
							 | 
						||
| 
								 | 
							
								1379,
							 | 
						||
| 
								 | 
							
								1464,
							 | 
						||
| 
								 | 
							
								1554,
							 | 
						||
| 
								 | 
							
								1649,
							 | 
						||
| 
								 | 
							
								1750,
							 | 
						||
| 
								 | 
							
								1856,
							 | 
						||
| 
								 | 
							
								1969,
							 | 
						||
| 
								 | 
							
								2088,
							 | 
						||
| 
								 | 
							
								2213,
							 | 
						||
| 
								 | 
							
								2346,
							 | 
						||
| 
								 | 
							
								2486,
							 | 
						||
| 
								 | 
							
								2633,
							 | 
						||
| 
								 | 
							
								2789,
							 | 
						||
| 
								 | 
							
								2952,
							 | 
						||
| 
								 | 
							
								3124,
							 | 
						||
| 
								 | 
							
								3306,
							 | 
						||
| 
								 | 
							
								3496,
							 | 
						||
| 
								 | 
							
								3696,
							 | 
						||
| 
								 | 
							
								3906,
							 | 
						||
| 
								 | 
							
								4126,
							 | 
						||
| 
								 | 
							
								4357,
							 | 
						||
| 
								 | 
							
								4599,
							 | 
						||
| 
								 | 
							
								4851,
							 | 
						||
| 
								 | 
							
								5115,
							 | 
						||
| 
								 | 
							
								5391,
							 | 
						||
| 
								 | 
							
								5678,
							 | 
						||
| 
								 | 
							
								5978,
							 | 
						||
| 
								 | 
							
								6289,
							 | 
						||
| 
								 | 
							
								6613,
							 | 
						||
| 
								 | 
							
								6949,
							 | 
						||
| 
								 | 
							
								7297,
							 | 
						||
| 
								 | 
							
								7658,
							 | 
						||
| 
								 | 
							
								8031,
							 | 
						||
| 
								 | 
							
								8416,
							 | 
						||
| 
								 | 
							
								8813,
							 | 
						||
| 
								 | 
							
								9221,
							 | 
						||
| 
								 | 
							
								9641,
							 | 
						||
| 
								 | 
							
								10072,
							 | 
						||
| 
								 | 
							
								10513,
							 | 
						||
| 
								 | 
							
								10964,
							 | 
						||
| 
								 | 
							
								11424,
							 | 
						||
| 
								 | 
							
								11894,
							 | 
						||
| 
								 | 
							
								12371,
							 | 
						||
| 
								 | 
							
								12856,
							 | 
						||
| 
								 | 
							
								13348,
							 | 
						||
| 
								 | 
							
								13845,
							 | 
						||
| 
								 | 
							
								14347,
							 | 
						||
| 
								 | 
							
								14852,
							 | 
						||
| 
								 | 
							
								15361,
							 | 
						||
| 
								 | 
							
								15872,
							 | 
						||
| 
								 | 
							
								16384,
							 | 
						||
| 
								 | 
							
								16896,
							 | 
						||
| 
								 | 
							
								17407,
							 | 
						||
| 
								 | 
							
								17916,
							 | 
						||
| 
								 | 
							
								18421,
							 | 
						||
| 
								 | 
							
								18923,
							 | 
						||
| 
								 | 
							
								19420,
							 | 
						||
| 
								 | 
							
								19912,
							 | 
						||
| 
								 | 
							
								20397,
							 | 
						||
| 
								 | 
							
								20874,
							 | 
						||
| 
								 | 
							
								21344,
							 | 
						||
| 
								 | 
							
								21804,
							 | 
						||
| 
								 | 
							
								22255,
							 | 
						||
| 
								 | 
							
								22696,
							 | 
						||
| 
								 | 
							
								23127,
							 | 
						||
| 
								 | 
							
								23547,
							 | 
						||
| 
								 | 
							
								23955,
							 | 
						||
| 
								 | 
							
								24352,
							 | 
						||
| 
								 | 
							
								24737,
							 | 
						||
| 
								 | 
							
								25110,
							 | 
						||
| 
								 | 
							
								25471,
							 | 
						||
| 
								 | 
							
								25819,
							 | 
						||
| 
								 | 
							
								26155,
							 | 
						||
| 
								 | 
							
								26479,
							 | 
						||
| 
								 | 
							
								26790,
							 | 
						||
| 
								 | 
							
								27090,
							 | 
						||
| 
								 | 
							
								27377,
							 | 
						||
| 
								 | 
							
								27653,
							 | 
						||
| 
								 | 
							
								27917,
							 | 
						||
| 
								 | 
							
								28169,
							 | 
						||
| 
								 | 
							
								28411,
							 | 
						||
| 
								 | 
							
								28642,
							 | 
						||
| 
								 | 
							
								28862,
							 | 
						||
| 
								 | 
							
								29072,
							 | 
						||
| 
								 | 
							
								29272,
							 | 
						||
| 
								 | 
							
								29462,
							 | 
						||
| 
								 | 
							
								29644,
							 | 
						||
| 
								 | 
							
								29816,
							 | 
						||
| 
								 | 
							
								29979,
							 | 
						||
| 
								 | 
							
								30135,
							 | 
						||
| 
								 | 
							
								30282,
							 | 
						||
| 
								 | 
							
								30422,
							 | 
						||
| 
								 | 
							
								30555,
							 | 
						||
| 
								 | 
							
								30680,
							 | 
						||
| 
								 | 
							
								30799,
							 | 
						||
| 
								 | 
							
								30912,
							 | 
						||
| 
								 | 
							
								31018,
							 | 
						||
| 
								 | 
							
								31119,
							 | 
						||
| 
								 | 
							
								31214,
							 | 
						||
| 
								 | 
							
								31304,
							 | 
						||
| 
								 | 
							
								31389,
							 | 
						||
| 
								 | 
							
								31469,
							 | 
						||
| 
								 | 
							
								31545,
							 | 
						||
| 
								 | 
							
								31616,
							 | 
						||
| 
								 | 
							
								31684,
							 | 
						||
| 
								 | 
							
								31747,
							 | 
						||
| 
								 | 
							
								31807,
							 | 
						||
| 
								 | 
							
								31864,
							 | 
						||
| 
								 | 
							
								31917,
							 | 
						||
| 
								 | 
							
								31968,
							 | 
						||
| 
								 | 
							
								32015,
							 | 
						||
| 
								 | 
							
								32060,
							 | 
						||
| 
								 | 
							
								32102,
							 | 
						||
| 
								 | 
							
								32141,
							 | 
						||
| 
								 | 
							
								32179,
							 | 
						||
| 
								 | 
							
								32214,
							 | 
						||
| 
								 | 
							
								32247,
							 | 
						||
| 
								 | 
							
								32278,
							 | 
						||
| 
								 | 
							
								32307,
							 | 
						||
| 
								 | 
							
								32335,
							 | 
						||
| 
								 | 
							
								32361,
							 | 
						||
| 
								 | 
							
								32385,
							 | 
						||
| 
								 | 
							
								32408,
							 | 
						||
| 
								 | 
							
								32430,
							 | 
						||
| 
								 | 
							
								32450,
							 | 
						||
| 
								 | 
							
								32469,
							 | 
						||
| 
								 | 
							
								32487,
							 | 
						||
| 
								 | 
							
								32504,
							 | 
						||
| 
								 | 
							
								32520,
							 | 
						||
| 
								 | 
							
								32535,
							 | 
						||
| 
								 | 
							
								32549,
							 | 
						||
| 
								 | 
							
								32562,
							 | 
						||
| 
								 | 
							
								32574,
							 | 
						||
| 
								 | 
							
								32586,
							 | 
						||
| 
								 | 
							
								32597,
							 | 
						||
| 
								 | 
							
								32607,
							 | 
						||
| 
								 | 
							
								32617,
							 | 
						||
| 
								 | 
							
								32626,
							 | 
						||
| 
								 | 
							
								32635,
							 | 
						||
| 
								 | 
							
								32643,
							 | 
						||
| 
								 | 
							
								32650,
							 | 
						||
| 
								 | 
							
								32657,
							 | 
						||
| 
								 | 
							
								32664,
							 | 
						||
| 
								 | 
							
								32670,
							 | 
						||
| 
								 | 
							
								32676,
							 | 
						||
| 
								 | 
							
								32682,
							 | 
						||
| 
								 | 
							
								32687,
							 | 
						||
| 
								 | 
							
								32692,
							 | 
						||
| 
								 | 
							
								32696,
							 | 
						||
| 
								 | 
							
								32701,
							 | 
						||
| 
								 | 
							
								32705,
							 | 
						||
| 
								 | 
							
								32709,
							 | 
						||
| 
								 | 
							
								32712,
							 | 
						||
| 
								 | 
							
								32716,
							 | 
						||
| 
								 | 
							
								32719,
							 | 
						||
| 
								 | 
							
								32722,
							 | 
						||
| 
								 | 
							
								32725,
							 | 
						||
| 
								 | 
							
								32727,
							 | 
						||
| 
								 | 
							
								32730,
							 | 
						||
| 
								 | 
							
								32732,
							 | 
						||
| 
								 | 
							
								32734,
							 | 
						||
| 
								 | 
							
								32736,
							 | 
						||
| 
								 | 
							
								32738,
							 | 
						||
| 
								 | 
							
								32740,
							 | 
						||
| 
								 | 
							
								32742,
							 | 
						||
| 
								 | 
							
								32743,
							 | 
						||
| 
								 | 
							
								32745,
							 | 
						||
| 
								 | 
							
								32746,
							 | 
						||
| 
								 | 
							
								32747,
							 | 
						||
| 
								 | 
							
								32749,
							 | 
						||
| 
								 | 
							
								32750,
							 | 
						||
| 
								 | 
							
								32751,
							 | 
						||
| 
								 | 
							
								32752,
							 | 
						||
| 
								 | 
							
								32753,
							 | 
						||
| 
								 | 
							
								32754,
							 | 
						||
| 
								 | 
							
								32755,
							 | 
						||
| 
								 | 
							
								32756,
							 | 
						||
| 
								 | 
							
								32756,
							 | 
						||
| 
								 | 
							
								32757,
							 | 
						||
| 
								 | 
							
								32757
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int16_t tanh_look_up_16[] = {
							 | 
						||
| 
								 | 
							
								-32746,
							 | 
						||
| 
								 | 
							
								-32745,
							 | 
						||
| 
								 | 
							
								-32743,
							 | 
						||
| 
								 | 
							
								-32741,
							 | 
						||
| 
								 | 
							
								-32740,
							 | 
						||
| 
								 | 
							
								-32738,
							 | 
						||
| 
								 | 
							
								-32736,
							 | 
						||
| 
								 | 
							
								-32734,
							 | 
						||
| 
								 | 
							
								-32732,
							 | 
						||
| 
								 | 
							
								-32729,
							 | 
						||
| 
								 | 
							
								-32727,
							 | 
						||
| 
								 | 
							
								-32724,
							 | 
						||
| 
								 | 
							
								-32721,
							 | 
						||
| 
								 | 
							
								-32718,
							 | 
						||
| 
								 | 
							
								-32715,
							 | 
						||
| 
								 | 
							
								-32712,
							 | 
						||
| 
								 | 
							
								-32708,
							 | 
						||
| 
								 | 
							
								-32704,
							 | 
						||
| 
								 | 
							
								-32700,
							 | 
						||
| 
								 | 
							
								-32696,
							 | 
						||
| 
								 | 
							
								-32691,
							 | 
						||
| 
								 | 
							
								-32686,
							 | 
						||
| 
								 | 
							
								-32681,
							 | 
						||
| 
								 | 
							
								-32676,
							 | 
						||
| 
								 | 
							
								-32670,
							 | 
						||
| 
								 | 
							
								-32663,
							 | 
						||
| 
								 | 
							
								-32657,
							 | 
						||
| 
								 | 
							
								-32649,
							 | 
						||
| 
								 | 
							
								-32642,
							 | 
						||
| 
								 | 
							
								-32634,
							 | 
						||
| 
								 | 
							
								-32625,
							 | 
						||
| 
								 | 
							
								-32616,
							 | 
						||
| 
								 | 
							
								-32606,
							 | 
						||
| 
								 | 
							
								-32596,
							 | 
						||
| 
								 | 
							
								-32584,
							 | 
						||
| 
								 | 
							
								-32573,
							 | 
						||
| 
								 | 
							
								-32560,
							 | 
						||
| 
								 | 
							
								-32547,
							 | 
						||
| 
								 | 
							
								-32532,
							 | 
						||
| 
								 | 
							
								-32517,
							 | 
						||
| 
								 | 
							
								-32501,
							 | 
						||
| 
								 | 
							
								-32484,
							 | 
						||
| 
								 | 
							
								-32466,
							 | 
						||
| 
								 | 
							
								-32447,
							 | 
						||
| 
								 | 
							
								-32426,
							 | 
						||
| 
								 | 
							
								-32404,
							 | 
						||
| 
								 | 
							
								-32381,
							 | 
						||
| 
								 | 
							
								-32356,
							 | 
						||
| 
								 | 
							
								-32329,
							 | 
						||
| 
								 | 
							
								-32301,
							 | 
						||
| 
								 | 
							
								-32271,
							 | 
						||
| 
								 | 
							
								-32240,
							 | 
						||
| 
								 | 
							
								-32206,
							 | 
						||
| 
								 | 
							
								-32170,
							 | 
						||
| 
								 | 
							
								-32132,
							 | 
						||
| 
								 | 
							
								-32091,
							 | 
						||
| 
								 | 
							
								-32048,
							 | 
						||
| 
								 | 
							
								-32002,
							 | 
						||
| 
								 | 
							
								-31953,
							 | 
						||
| 
								 | 
							
								-31901,
							 | 
						||
| 
								 | 
							
								-31846,
							 | 
						||
| 
								 | 
							
								-31788,
							 | 
						||
| 
								 | 
							
								-31726,
							 | 
						||
| 
								 | 
							
								-31659,
							 | 
						||
| 
								 | 
							
								-31589,
							 | 
						||
| 
								 | 
							
								-31515,
							 | 
						||
| 
								 | 
							
								-31435,
							 | 
						||
| 
								 | 
							
								-31351,
							 | 
						||
| 
								 | 
							
								-31262,
							 | 
						||
| 
								 | 
							
								-31167,
							 | 
						||
| 
								 | 
							
								-31067,
							 | 
						||
| 
								 | 
							
								-30960,
							 | 
						||
| 
								 | 
							
								-30847,
							 | 
						||
| 
								 | 
							
								-30727,
							 | 
						||
| 
								 | 
							
								-30600,
							 | 
						||
| 
								 | 
							
								-30465,
							 | 
						||
| 
								 | 
							
								-30322,
							 | 
						||
| 
								 | 
							
								-30170,
							 | 
						||
| 
								 | 
							
								-30010,
							 | 
						||
| 
								 | 
							
								-29840,
							 | 
						||
| 
								 | 
							
								-29660,
							 | 
						||
| 
								 | 
							
								-29470,
							 | 
						||
| 
								 | 
							
								-29268,
							 | 
						||
| 
								 | 
							
								-29055,
							 | 
						||
| 
								 | 
							
								-28830,
							 | 
						||
| 
								 | 
							
								-28592,
							 | 
						||
| 
								 | 
							
								-28341,
							 | 
						||
| 
								 | 
							
								-28076,
							 | 
						||
| 
								 | 
							
								-27797,
							 | 
						||
| 
								 | 
							
								-27502,
							 | 
						||
| 
								 | 
							
								-27191,
							 | 
						||
| 
								 | 
							
								-26864,
							 | 
						||
| 
								 | 
							
								-26519,
							 | 
						||
| 
								 | 
							
								-26157,
							 | 
						||
| 
								 | 
							
								-25776,
							 | 
						||
| 
								 | 
							
								-25376,
							 | 
						||
| 
								 | 
							
								-24956,
							 | 
						||
| 
								 | 
							
								-24516,
							 | 
						||
| 
								 | 
							
								-24054,
							 | 
						||
| 
								 | 
							
								-23571,
							 | 
						||
| 
								 | 
							
								-23066,
							 | 
						||
| 
								 | 
							
								-22538,
							 | 
						||
| 
								 | 
							
								-21986,
							 | 
						||
| 
								 | 
							
								-21411,
							 | 
						||
| 
								 | 
							
								-20813,
							 | 
						||
| 
								 | 
							
								-20189,
							 | 
						||
| 
								 | 
							
								-19542,
							 | 
						||
| 
								 | 
							
								-18870,
							 | 
						||
| 
								 | 
							
								-18173,
							 | 
						||
| 
								 | 
							
								-17452,
							 | 
						||
| 
								 | 
							
								-16706,
							 | 
						||
| 
								 | 
							
								-15936,
							 | 
						||
| 
								 | 
							
								-15143,
							 | 
						||
| 
								 | 
							
								-14326,
							 | 
						||
| 
								 | 
							
								-13486,
							 | 
						||
| 
								 | 
							
								-12625,
							 | 
						||
| 
								 | 
							
								-11743,
							 | 
						||
| 
								 | 
							
								-10840,
							 | 
						||
| 
								 | 
							
								-9919,
							 | 
						||
| 
								 | 
							
								-8980,
							 | 
						||
| 
								 | 
							
								-8025,
							 | 
						||
| 
								 | 
							
								-7056,
							 | 
						||
| 
								 | 
							
								-6073,
							 | 
						||
| 
								 | 
							
								-5079,
							 | 
						||
| 
								 | 
							
								-4075,
							 | 
						||
| 
								 | 
							
								-3063,
							 | 
						||
| 
								 | 
							
								-2045,
							 | 
						||
| 
								 | 
							
								-1024,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								1024,
							 | 
						||
| 
								 | 
							
								2045,
							 | 
						||
| 
								 | 
							
								3063,
							 | 
						||
| 
								 | 
							
								4075,
							 | 
						||
| 
								 | 
							
								5079,
							 | 
						||
| 
								 | 
							
								6073,
							 | 
						||
| 
								 | 
							
								7056,
							 | 
						||
| 
								 | 
							
								8025,
							 | 
						||
| 
								 | 
							
								8980,
							 | 
						||
| 
								 | 
							
								9919,
							 | 
						||
| 
								 | 
							
								10840,
							 | 
						||
| 
								 | 
							
								11743,
							 | 
						||
| 
								 | 
							
								12625,
							 | 
						||
| 
								 | 
							
								13486,
							 | 
						||
| 
								 | 
							
								14326,
							 | 
						||
| 
								 | 
							
								15143,
							 | 
						||
| 
								 | 
							
								15936,
							 | 
						||
| 
								 | 
							
								16706,
							 | 
						||
| 
								 | 
							
								17452,
							 | 
						||
| 
								 | 
							
								18173,
							 | 
						||
| 
								 | 
							
								18870,
							 | 
						||
| 
								 | 
							
								19542,
							 | 
						||
| 
								 | 
							
								20189,
							 | 
						||
| 
								 | 
							
								20813,
							 | 
						||
| 
								 | 
							
								21411,
							 | 
						||
| 
								 | 
							
								21986,
							 | 
						||
| 
								 | 
							
								22538,
							 | 
						||
| 
								 | 
							
								23066,
							 | 
						||
| 
								 | 
							
								23571,
							 | 
						||
| 
								 | 
							
								24054,
							 | 
						||
| 
								 | 
							
								24516,
							 | 
						||
| 
								 | 
							
								24956,
							 | 
						||
| 
								 | 
							
								25376,
							 | 
						||
| 
								 | 
							
								25776,
							 | 
						||
| 
								 | 
							
								26157,
							 | 
						||
| 
								 | 
							
								26519,
							 | 
						||
| 
								 | 
							
								26864,
							 | 
						||
| 
								 | 
							
								27191,
							 | 
						||
| 
								 | 
							
								27502,
							 | 
						||
| 
								 | 
							
								27797,
							 | 
						||
| 
								 | 
							
								28076,
							 | 
						||
| 
								 | 
							
								28341,
							 | 
						||
| 
								 | 
							
								28592,
							 | 
						||
| 
								 | 
							
								28830,
							 | 
						||
| 
								 | 
							
								29055,
							 | 
						||
| 
								 | 
							
								29268,
							 | 
						||
| 
								 | 
							
								29470,
							 | 
						||
| 
								 | 
							
								29660,
							 | 
						||
| 
								 | 
							
								29840,
							 | 
						||
| 
								 | 
							
								30010,
							 | 
						||
| 
								 | 
							
								30170,
							 | 
						||
| 
								 | 
							
								30322,
							 | 
						||
| 
								 | 
							
								30465,
							 | 
						||
| 
								 | 
							
								30600,
							 | 
						||
| 
								 | 
							
								30727,
							 | 
						||
| 
								 | 
							
								30847,
							 | 
						||
| 
								 | 
							
								30960,
							 | 
						||
| 
								 | 
							
								31067,
							 | 
						||
| 
								 | 
							
								31167,
							 | 
						||
| 
								 | 
							
								31262,
							 | 
						||
| 
								 | 
							
								31351,
							 | 
						||
| 
								 | 
							
								31435,
							 | 
						||
| 
								 | 
							
								31515,
							 | 
						||
| 
								 | 
							
								31589,
							 | 
						||
| 
								 | 
							
								31659,
							 | 
						||
| 
								 | 
							
								31726,
							 | 
						||
| 
								 | 
							
								31788,
							 | 
						||
| 
								 | 
							
								31846,
							 | 
						||
| 
								 | 
							
								31901,
							 | 
						||
| 
								 | 
							
								31953,
							 | 
						||
| 
								 | 
							
								32002,
							 | 
						||
| 
								 | 
							
								32048,
							 | 
						||
| 
								 | 
							
								32091,
							 | 
						||
| 
								 | 
							
								32132,
							 | 
						||
| 
								 | 
							
								32170,
							 | 
						||
| 
								 | 
							
								32206,
							 | 
						||
| 
								 | 
							
								32240,
							 | 
						||
| 
								 | 
							
								32271,
							 | 
						||
| 
								 | 
							
								32301,
							 | 
						||
| 
								 | 
							
								32329,
							 | 
						||
| 
								 | 
							
								32356,
							 | 
						||
| 
								 | 
							
								32381,
							 | 
						||
| 
								 | 
							
								32404,
							 | 
						||
| 
								 | 
							
								32426,
							 | 
						||
| 
								 | 
							
								32447,
							 | 
						||
| 
								 | 
							
								32466,
							 | 
						||
| 
								 | 
							
								32484,
							 | 
						||
| 
								 | 
							
								32501,
							 | 
						||
| 
								 | 
							
								32517,
							 | 
						||
| 
								 | 
							
								32532,
							 | 
						||
| 
								 | 
							
								32547,
							 | 
						||
| 
								 | 
							
								32560,
							 | 
						||
| 
								 | 
							
								32573,
							 | 
						||
| 
								 | 
							
								32584,
							 | 
						||
| 
								 | 
							
								32596,
							 | 
						||
| 
								 | 
							
								32606,
							 | 
						||
| 
								 | 
							
								32616,
							 | 
						||
| 
								 | 
							
								32625,
							 | 
						||
| 
								 | 
							
								32634,
							 | 
						||
| 
								 | 
							
								32642,
							 | 
						||
| 
								 | 
							
								32649,
							 | 
						||
| 
								 | 
							
								32657,
							 | 
						||
| 
								 | 
							
								32663,
							 | 
						||
| 
								 | 
							
								32670,
							 | 
						||
| 
								 | 
							
								32676,
							 | 
						||
| 
								 | 
							
								32681,
							 | 
						||
| 
								 | 
							
								32686,
							 | 
						||
| 
								 | 
							
								32691,
							 | 
						||
| 
								 | 
							
								32696,
							 | 
						||
| 
								 | 
							
								32700,
							 | 
						||
| 
								 | 
							
								32704,
							 | 
						||
| 
								 | 
							
								32708,
							 | 
						||
| 
								 | 
							
								32712,
							 | 
						||
| 
								 | 
							
								32715,
							 | 
						||
| 
								 | 
							
								32718,
							 | 
						||
| 
								 | 
							
								32721,
							 | 
						||
| 
								 | 
							
								32724,
							 | 
						||
| 
								 | 
							
								32727,
							 | 
						||
| 
								 | 
							
								32729,
							 | 
						||
| 
								 | 
							
								32732,
							 | 
						||
| 
								 | 
							
								32734,
							 | 
						||
| 
								 | 
							
								32736,
							 | 
						||
| 
								 | 
							
								32738,
							 | 
						||
| 
								 | 
							
								32740,
							 | 
						||
| 
								 | 
							
								32741,
							 | 
						||
| 
								 | 
							
								32743,
							 | 
						||
| 
								 | 
							
								32745,
							 | 
						||
| 
								 | 
							
								32746,
							 | 
						||
| 
								 | 
							
								32746
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int8_t tanh_look_up[] = {
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-128,
							 | 
						||
| 
								 | 
							
								-127,
							 | 
						||
| 
								 | 
							
								-127,
							 | 
						||
| 
								 | 
							
								-127,
							 | 
						||
| 
								 | 
							
								-127,
							 | 
						||
| 
								 | 
							
								-127,
							 | 
						||
| 
								 | 
							
								-127,
							 | 
						||
| 
								 | 
							
								-127,
							 | 
						||
| 
								 | 
							
								-127,
							 | 
						||
| 
								 | 
							
								-127,
							 | 
						||
| 
								 | 
							
								-127,
							 | 
						||
| 
								 | 
							
								-127,
							 | 
						||
| 
								 | 
							
								-127,
							 | 
						||
| 
								 | 
							
								-127,
							 | 
						||
| 
								 | 
							
								-127,
							 | 
						||
| 
								 | 
							
								-127,
							 | 
						||
| 
								 | 
							
								-127,
							 | 
						||
| 
								 | 
							
								-127,
							 | 
						||
| 
								 | 
							
								-126,
							 | 
						||
| 
								 | 
							
								-126,
							 | 
						||
| 
								 | 
							
								-126,
							 | 
						||
| 
								 | 
							
								-126,
							 | 
						||
| 
								 | 
							
								-126,
							 | 
						||
| 
								 | 
							
								-126,
							 | 
						||
| 
								 | 
							
								-126,
							 | 
						||
| 
								 | 
							
								-126,
							 | 
						||
| 
								 | 
							
								-126,
							 | 
						||
| 
								 | 
							
								-125,
							 | 
						||
| 
								 | 
							
								-125,
							 | 
						||
| 
								 | 
							
								-125,
							 | 
						||
| 
								 | 
							
								-125,
							 | 
						||
| 
								 | 
							
								-125,
							 | 
						||
| 
								 | 
							
								-124,
							 | 
						||
| 
								 | 
							
								-124,
							 | 
						||
| 
								 | 
							
								-124,
							 | 
						||
| 
								 | 
							
								-124,
							 | 
						||
| 
								 | 
							
								-123,
							 | 
						||
| 
								 | 
							
								-123,
							 | 
						||
| 
								 | 
							
								-123,
							 | 
						||
| 
								 | 
							
								-122,
							 | 
						||
| 
								 | 
							
								-122,
							 | 
						||
| 
								 | 
							
								-122,
							 | 
						||
| 
								 | 
							
								-121,
							 | 
						||
| 
								 | 
							
								-121,
							 | 
						||
| 
								 | 
							
								-120,
							 | 
						||
| 
								 | 
							
								-120,
							 | 
						||
| 
								 | 
							
								-120,
							 | 
						||
| 
								 | 
							
								-119,
							 | 
						||
| 
								 | 
							
								-118,
							 | 
						||
| 
								 | 
							
								-118,
							 | 
						||
| 
								 | 
							
								-117,
							 | 
						||
| 
								 | 
							
								-117,
							 | 
						||
| 
								 | 
							
								-116,
							 | 
						||
| 
								 | 
							
								-115,
							 | 
						||
| 
								 | 
							
								-114,
							 | 
						||
| 
								 | 
							
								-113,
							 | 
						||
| 
								 | 
							
								-113,
							 | 
						||
| 
								 | 
							
								-112,
							 | 
						||
| 
								 | 
							
								-111,
							 | 
						||
| 
								 | 
							
								-110,
							 | 
						||
| 
								 | 
							
								-109,
							 | 
						||
| 
								 | 
							
								-107,
							 | 
						||
| 
								 | 
							
								-106,
							 | 
						||
| 
								 | 
							
								-105,
							 | 
						||
| 
								 | 
							
								-104,
							 | 
						||
| 
								 | 
							
								-102,
							 | 
						||
| 
								 | 
							
								-101,
							 | 
						||
| 
								 | 
							
								-99,
							 | 
						||
| 
								 | 
							
								-97,
							 | 
						||
| 
								 | 
							
								-96,
							 | 
						||
| 
								 | 
							
								-94,
							 | 
						||
| 
								 | 
							
								-92,
							 | 
						||
| 
								 | 
							
								-90,
							 | 
						||
| 
								 | 
							
								-88,
							 | 
						||
| 
								 | 
							
								-86,
							 | 
						||
| 
								 | 
							
								-84,
							 | 
						||
| 
								 | 
							
								-81,
							 | 
						||
| 
								 | 
							
								-79,
							 | 
						||
| 
								 | 
							
								-76,
							 | 
						||
| 
								 | 
							
								-74,
							 | 
						||
| 
								 | 
							
								-71,
							 | 
						||
| 
								 | 
							
								-68,
							 | 
						||
| 
								 | 
							
								-65,
							 | 
						||
| 
								 | 
							
								-62,
							 | 
						||
| 
								 | 
							
								-59,
							 | 
						||
| 
								 | 
							
								-56,
							 | 
						||
| 
								 | 
							
								-53,
							 | 
						||
| 
								 | 
							
								-49,
							 | 
						||
| 
								 | 
							
								-46,
							 | 
						||
| 
								 | 
							
								-42,
							 | 
						||
| 
								 | 
							
								-39,
							 | 
						||
| 
								 | 
							
								-35,
							 | 
						||
| 
								 | 
							
								-31,
							 | 
						||
| 
								 | 
							
								-28,
							 | 
						||
| 
								 | 
							
								-24,
							 | 
						||
| 
								 | 
							
								-20,
							 | 
						||
| 
								 | 
							
								-16,
							 | 
						||
| 
								 | 
							
								-12,
							 | 
						||
| 
								 | 
							
								-8,
							 | 
						||
| 
								 | 
							
								-4,
							 | 
						||
| 
								 | 
							
								0,
							 | 
						||
| 
								 | 
							
								4,
							 | 
						||
| 
								 | 
							
								8,
							 | 
						||
| 
								 | 
							
								12,
							 | 
						||
| 
								 | 
							
								16,
							 | 
						||
| 
								 | 
							
								20,
							 | 
						||
| 
								 | 
							
								24,
							 | 
						||
| 
								 | 
							
								28,
							 | 
						||
| 
								 | 
							
								31,
							 | 
						||
| 
								 | 
							
								35,
							 | 
						||
| 
								 | 
							
								39,
							 | 
						||
| 
								 | 
							
								42,
							 | 
						||
| 
								 | 
							
								46,
							 | 
						||
| 
								 | 
							
								49,
							 | 
						||
| 
								 | 
							
								53,
							 | 
						||
| 
								 | 
							
								56,
							 | 
						||
| 
								 | 
							
								59,
							 | 
						||
| 
								 | 
							
								62,
							 | 
						||
| 
								 | 
							
								65,
							 | 
						||
| 
								 | 
							
								68,
							 | 
						||
| 
								 | 
							
								71,
							 | 
						||
| 
								 | 
							
								74,
							 | 
						||
| 
								 | 
							
								76,
							 | 
						||
| 
								 | 
							
								79,
							 | 
						||
| 
								 | 
							
								81,
							 | 
						||
| 
								 | 
							
								84,
							 | 
						||
| 
								 | 
							
								86,
							 | 
						||
| 
								 | 
							
								88,
							 | 
						||
| 
								 | 
							
								90,
							 | 
						||
| 
								 | 
							
								92,
							 | 
						||
| 
								 | 
							
								94,
							 | 
						||
| 
								 | 
							
								96,
							 | 
						||
| 
								 | 
							
								97,
							 | 
						||
| 
								 | 
							
								99,
							 | 
						||
| 
								 | 
							
								101,
							 | 
						||
| 
								 | 
							
								102,
							 | 
						||
| 
								 | 
							
								104,
							 | 
						||
| 
								 | 
							
								105,
							 | 
						||
| 
								 | 
							
								106,
							 | 
						||
| 
								 | 
							
								107,
							 | 
						||
| 
								 | 
							
								109,
							 | 
						||
| 
								 | 
							
								110,
							 | 
						||
| 
								 | 
							
								111,
							 | 
						||
| 
								 | 
							
								112,
							 | 
						||
| 
								 | 
							
								113,
							 | 
						||
| 
								 | 
							
								113,
							 | 
						||
| 
								 | 
							
								114,
							 | 
						||
| 
								 | 
							
								115,
							 | 
						||
| 
								 | 
							
								116,
							 | 
						||
| 
								 | 
							
								117,
							 | 
						||
| 
								 | 
							
								117,
							 | 
						||
| 
								 | 
							
								118,
							 | 
						||
| 
								 | 
							
								118,
							 | 
						||
| 
								 | 
							
								119,
							 | 
						||
| 
								 | 
							
								120,
							 | 
						||
| 
								 | 
							
								120,
							 | 
						||
| 
								 | 
							
								120,
							 | 
						||
| 
								 | 
							
								121,
							 | 
						||
| 
								 | 
							
								121,
							 | 
						||
| 
								 | 
							
								122,
							 | 
						||
| 
								 | 
							
								122,
							 | 
						||
| 
								 | 
							
								122,
							 | 
						||
| 
								 | 
							
								123,
							 | 
						||
| 
								 | 
							
								123,
							 | 
						||
| 
								 | 
							
								123,
							 | 
						||
| 
								 | 
							
								124,
							 | 
						||
| 
								 | 
							
								124,
							 | 
						||
| 
								 | 
							
								124,
							 | 
						||
| 
								 | 
							
								124,
							 | 
						||
| 
								 | 
							
								125,
							 | 
						||
| 
								 | 
							
								125,
							 | 
						||
| 
								 | 
							
								125,
							 | 
						||
| 
								 | 
							
								125,
							 | 
						||
| 
								 | 
							
								125,
							 | 
						||
| 
								 | 
							
								126,
							 | 
						||
| 
								 | 
							
								126,
							 | 
						||
| 
								 | 
							
								126,
							 | 
						||
| 
								 | 
							
								126,
							 | 
						||
| 
								 | 
							
								126,
							 | 
						||
| 
								 | 
							
								126,
							 | 
						||
| 
								 | 
							
								126,
							 | 
						||
| 
								 | 
							
								126,
							 | 
						||
| 
								 | 
							
								126,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								127
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								uint16_t exp_minus_x_look_up[] = {
							 | 
						||
| 
								 | 
							
								65535,
							 | 
						||
| 
								 | 
							
								61565,
							 | 
						||
| 
								 | 
							
								57835,
							 | 
						||
| 
								 | 
							
								54331,
							 | 
						||
| 
								 | 
							
								51039,
							 | 
						||
| 
								 | 
							
								47947,
							 | 
						||
| 
								 | 
							
								45042,
							 | 
						||
| 
								 | 
							
								42313,
							 | 
						||
| 
								 | 
							
								39750,
							 | 
						||
| 
								 | 
							
								37341,
							 | 
						||
| 
								 | 
							
								35079,
							 | 
						||
| 
								 | 
							
								32954,
							 | 
						||
| 
								 | 
							
								30957,
							 | 
						||
| 
								 | 
							
								29081,
							 | 
						||
| 
								 | 
							
								27319,
							 | 
						||
| 
								 | 
							
								25664,
							 | 
						||
| 
								 | 
							
								24109,
							 | 
						||
| 
								 | 
							
								22649,
							 | 
						||
| 
								 | 
							
								21276,
							 | 
						||
| 
								 | 
							
								19987,
							 | 
						||
| 
								 | 
							
								18776,
							 | 
						||
| 
								 | 
							
								17639,
							 | 
						||
| 
								 | 
							
								16570,
							 | 
						||
| 
								 | 
							
								15566,
							 | 
						||
| 
								 | 
							
								14623,
							 | 
						||
| 
								 | 
							
								13737,
							 | 
						||
| 
								 | 
							
								12905,
							 | 
						||
| 
								 | 
							
								12123,
							 | 
						||
| 
								 | 
							
								11388,
							 | 
						||
| 
								 | 
							
								10698,
							 | 
						||
| 
								 | 
							
								10050,
							 | 
						||
| 
								 | 
							
								9441,
							 | 
						||
| 
								 | 
							
								8869,
							 | 
						||
| 
								 | 
							
								8332,
							 | 
						||
| 
								 | 
							
								7827,
							 | 
						||
| 
								 | 
							
								7353,
							 | 
						||
| 
								 | 
							
								6907,
							 | 
						||
| 
								 | 
							
								6489,
							 | 
						||
| 
								 | 
							
								6096,
							 | 
						||
| 
								 | 
							
								5726,
							 | 
						||
| 
								 | 
							
								5380,
							 | 
						||
| 
								 | 
							
								5054,
							 | 
						||
| 
								 | 
							
								4747,
							 | 
						||
| 
								 | 
							
								4460,
							 | 
						||
| 
								 | 
							
								4190,
							 | 
						||
| 
								 | 
							
								3936,
							 | 
						||
| 
								 | 
							
								3697,
							 | 
						||
| 
								 | 
							
								3473,
							 | 
						||
| 
								 | 
							
								3263,
							 | 
						||
| 
								 | 
							
								3065,
							 | 
						||
| 
								 | 
							
								2879,
							 | 
						||
| 
								 | 
							
								2705,
							 | 
						||
| 
								 | 
							
								2541,
							 | 
						||
| 
								 | 
							
								2387,
							 | 
						||
| 
								 | 
							
								2243,
							 | 
						||
| 
								 | 
							
								2107,
							 | 
						||
| 
								 | 
							
								1979,
							 | 
						||
| 
								 | 
							
								1859,
							 | 
						||
| 
								 | 
							
								1746,
							 | 
						||
| 
								 | 
							
								1641,
							 | 
						||
| 
								 | 
							
								1541,
							 | 
						||
| 
								 | 
							
								1448,
							 | 
						||
| 
								 | 
							
								1360,
							 | 
						||
| 
								 | 
							
								1278,
							 | 
						||
| 
								 | 
							
								1200,
							 | 
						||
| 
								 | 
							
								1128,
							 | 
						||
| 
								 | 
							
								1059,
							 | 
						||
| 
								 | 
							
								995,
							 | 
						||
| 
								 | 
							
								935,
							 | 
						||
| 
								 | 
							
								878,
							 | 
						||
| 
								 | 
							
								825,
							 | 
						||
| 
								 | 
							
								775,
							 | 
						||
| 
								 | 
							
								728,
							 | 
						||
| 
								 | 
							
								684,
							 | 
						||
| 
								 | 
							
								642,
							 | 
						||
| 
								 | 
							
								604,
							 | 
						||
| 
								 | 
							
								567,
							 | 
						||
| 
								 | 
							
								533,
							 | 
						||
| 
								 | 
							
								500,
							 | 
						||
| 
								 | 
							
								470,
							 | 
						||
| 
								 | 
							
								442,
							 | 
						||
| 
								 | 
							
								415,
							 | 
						||
| 
								 | 
							
								390,
							 | 
						||
| 
								 | 
							
								366,
							 | 
						||
| 
								 | 
							
								344,
							 | 
						||
| 
								 | 
							
								323,
							 | 
						||
| 
								 | 
							
								303,
							 | 
						||
| 
								 | 
							
								285,
							 | 
						||
| 
								 | 
							
								268,
							 | 
						||
| 
								 | 
							
								252,
							 | 
						||
| 
								 | 
							
								236,
							 | 
						||
| 
								 | 
							
								222,
							 | 
						||
| 
								 | 
							
								209,
							 | 
						||
| 
								 | 
							
								196,
							 | 
						||
| 
								 | 
							
								184,
							 | 
						||
| 
								 | 
							
								173,
							 | 
						||
| 
								 | 
							
								162,
							 | 
						||
| 
								 | 
							
								153,
							 | 
						||
| 
								 | 
							
								143,
							 | 
						||
| 
								 | 
							
								135,
							 | 
						||
| 
								 | 
							
								127,
							 | 
						||
| 
								 | 
							
								119,
							 | 
						||
| 
								 | 
							
								112,
							 | 
						||
| 
								 | 
							
								105,
							 | 
						||
| 
								 | 
							
								99,
							 | 
						||
| 
								 | 
							
								93,
							 | 
						||
| 
								 | 
							
								87,
							 | 
						||
| 
								 | 
							
								82,
							 | 
						||
| 
								 | 
							
								77,
							 | 
						||
| 
								 | 
							
								72,
							 | 
						||
| 
								 | 
							
								68,
							 | 
						||
| 
								 | 
							
								64,
							 | 
						||
| 
								 | 
							
								60,
							 | 
						||
| 
								 | 
							
								56,
							 | 
						||
| 
								 | 
							
								53,
							 | 
						||
| 
								 | 
							
								50,
							 | 
						||
| 
								 | 
							
								47,
							 | 
						||
| 
								 | 
							
								44,
							 | 
						||
| 
								 | 
							
								41,
							 | 
						||
| 
								 | 
							
								39,
							 | 
						||
| 
								 | 
							
								36,
							 | 
						||
| 
								 | 
							
								34,
							 | 
						||
| 
								 | 
							
								32,
							 | 
						||
| 
								 | 
							
								30,
							 | 
						||
| 
								 | 
							
								28,
							 | 
						||
| 
								 | 
							
								27,
							 | 
						||
| 
								 | 
							
								25,
							 | 
						||
| 
								 | 
							
								23,
							 | 
						||
| 
								 | 
							
								22
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int8_t log_exp8[] = {
							 | 
						||
| 
								 | 
							
								22,
							 | 
						||
| 
								 | 
							
								22,
							 | 
						||
| 
								 | 
							
								21,
							 | 
						||
| 
								 | 
							
								21,
							 | 
						||
| 
								 | 
							
								20,
							 | 
						||
| 
								 | 
							
								20,
							 | 
						||
| 
								 | 
							
								19,
							 | 
						||
| 
								 | 
							
								19,
							 | 
						||
| 
								 | 
							
								18,
							 | 
						||
| 
								 | 
							
								18,
							 | 
						||
| 
								 | 
							
								18,
							 | 
						||
| 
								 | 
							
								17,
							 | 
						||
| 
								 | 
							
								17,
							 | 
						||
| 
								 | 
							
								16,
							 | 
						||
| 
								 | 
							
								16,
							 | 
						||
| 
								 | 
							
								16,
							 | 
						||
| 
								 | 
							
								15,
							 | 
						||
| 
								 | 
							
								15,
							 | 
						||
| 
								 | 
							
								14,
							 | 
						||
| 
								 | 
							
								14,
							 | 
						||
| 
								 | 
							
								14,
							 | 
						||
| 
								 | 
							
								13,
							 | 
						||
| 
								 | 
							
								13,
							 | 
						||
| 
								 | 
							
								13,
							 | 
						||
| 
								 | 
							
								12,
							 | 
						||
| 
								 | 
							
								12,
							 | 
						||
| 
								 | 
							
								12,
							 | 
						||
| 
								 | 
							
								11,
							 | 
						||
| 
								 | 
							
								11,
							 | 
						||
| 
								 | 
							
								11,
							 | 
						||
| 
								 | 
							
								11,
							 | 
						||
| 
								 | 
							
								10,
							 | 
						||
| 
								 | 
							
								10,
							 | 
						||
| 
								 | 
							
								10,
							 | 
						||
| 
								 | 
							
								9,
							 | 
						||
| 
								 | 
							
								9,
							 | 
						||
| 
								 | 
							
								9,
							 | 
						||
| 
								 | 
							
								9,
							 | 
						||
| 
								 | 
							
								9,
							 | 
						||
| 
								 | 
							
								8,
							 | 
						||
| 
								 | 
							
								8,
							 | 
						||
| 
								 | 
							
								8,
							 | 
						||
| 
								 | 
							
								8,
							 | 
						||
| 
								 | 
							
								7,
							 | 
						||
| 
								 | 
							
								7,
							 | 
						||
| 
								 | 
							
								7,
							 | 
						||
| 
								 | 
							
								7,
							 | 
						||
| 
								 | 
							
								7,
							 | 
						||
| 
								 | 
							
								6,
							 | 
						||
| 
								 | 
							
								6,
							 | 
						||
| 
								 | 
							
								6,
							 | 
						||
| 
								 | 
							
								6,
							 | 
						||
| 
								 | 
							
								6,
							 | 
						||
| 
								 | 
							
								6,
							 | 
						||
| 
								 | 
							
								5,
							 | 
						||
| 
								 | 
							
								5,
							 | 
						||
| 
								 | 
							
								5,
							 | 
						||
| 
								 | 
							
								5,
							 | 
						||
| 
								 | 
							
								5,
							 | 
						||
| 
								 | 
							
								5,
							 | 
						||
| 
								 | 
							
								5,
							 | 
						||
| 
								 | 
							
								4,
							 | 
						||
| 
								 | 
							
								4,
							 | 
						||
| 
								 | 
							
								4,
							 | 
						||
| 
								 | 
							
								4,
							 | 
						||
| 
								 | 
							
								4,
							 | 
						||
| 
								 | 
							
								4,
							 | 
						||
| 
								 | 
							
								4,
							 | 
						||
| 
								 | 
							
								4,
							 | 
						||
| 
								 | 
							
								4,
							 | 
						||
| 
								 | 
							
								3,
							 | 
						||
| 
								 | 
							
								3,
							 | 
						||
| 
								 | 
							
								3,
							 | 
						||
| 
								 | 
							
								3,
							 | 
						||
| 
								 | 
							
								3,
							 | 
						||
| 
								 | 
							
								3,
							 | 
						||
| 
								 | 
							
								3,
							 | 
						||
| 
								 | 
							
								3,
							 | 
						||
| 
								 | 
							
								3,
							 | 
						||
| 
								 | 
							
								3,
							 | 
						||
| 
								 | 
							
								3,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int16_t log_exp16[] = {
							 | 
						||
| 
								 | 
							
								2839,
							 | 
						||
| 
								 | 
							
								2713,
							 | 
						||
| 
								 | 
							
								2591,
							 | 
						||
| 
								 | 
							
								2473,
							 | 
						||
| 
								 | 
							
								2359,
							 | 
						||
| 
								 | 
							
								2249,
							 | 
						||
| 
								 | 
							
								2143,
							 | 
						||
| 
								 | 
							
								2040,
							 | 
						||
| 
								 | 
							
								1942,
							 | 
						||
| 
								 | 
							
								1847,
							 | 
						||
| 
								 | 
							
								1756,
							 | 
						||
| 
								 | 
							
								1669,
							 | 
						||
| 
								 | 
							
								1585,
							 | 
						||
| 
								 | 
							
								1504,
							 | 
						||
| 
								 | 
							
								1427,
							 | 
						||
| 
								 | 
							
								1354,
							 | 
						||
| 
								 | 
							
								1283,
							 | 
						||
| 
								 | 
							
								1216,
							 | 
						||
| 
								 | 
							
								1152,
							 | 
						||
| 
								 | 
							
								1090,
							 | 
						||
| 
								 | 
							
								1032,
							 | 
						||
| 
								 | 
							
								976,
							 | 
						||
| 
								 | 
							
								923,
							 | 
						||
| 
								 | 
							
								873,
							 | 
						||
| 
								 | 
							
								825,
							 | 
						||
| 
								 | 
							
								779,
							 | 
						||
| 
								 | 
							
								736,
							 | 
						||
| 
								 | 
							
								695,
							 | 
						||
| 
								 | 
							
								656,
							 | 
						||
| 
								 | 
							
								619,
							 | 
						||
| 
								 | 
							
								584,
							 | 
						||
| 
								 | 
							
								551,
							 | 
						||
| 
								 | 
							
								520,
							 | 
						||
| 
								 | 
							
								490,
							 | 
						||
| 
								 | 
							
								462,
							 | 
						||
| 
								 | 
							
								436,
							 | 
						||
| 
								 | 
							
								410,
							 | 
						||
| 
								 | 
							
								387,
							 | 
						||
| 
								 | 
							
								364,
							 | 
						||
| 
								 | 
							
								343,
							 | 
						||
| 
								 | 
							
								323,
							 | 
						||
| 
								 | 
							
								304,
							 | 
						||
| 
								 | 
							
								286,
							 | 
						||
| 
								 | 
							
								270,
							 | 
						||
| 
								 | 
							
								254,
							 | 
						||
| 
								 | 
							
								239,
							 | 
						||
| 
								 | 
							
								225,
							 | 
						||
| 
								 | 
							
								212,
							 | 
						||
| 
								 | 
							
								199,
							 | 
						||
| 
								 | 
							
								187,
							 | 
						||
| 
								 | 
							
								176,
							 | 
						||
| 
								 | 
							
								166,
							 | 
						||
| 
								 | 
							
								156,
							 | 
						||
| 
								 | 
							
								147,
							 | 
						||
| 
								 | 
							
								138,
							 | 
						||
| 
								 | 
							
								130,
							 | 
						||
| 
								 | 
							
								122,
							 | 
						||
| 
								 | 
							
								115,
							 | 
						||
| 
								 | 
							
								108,
							 | 
						||
| 
								 | 
							
								101,
							 | 
						||
| 
								 | 
							
								95,
							 | 
						||
| 
								 | 
							
								90,
							 | 
						||
| 
								 | 
							
								84,
							 | 
						||
| 
								 | 
							
								79,
							 | 
						||
| 
								 | 
							
								74,
							 | 
						||
| 
								 | 
							
								70,
							 | 
						||
| 
								 | 
							
								66,
							 | 
						||
| 
								 | 
							
								62,
							 | 
						||
| 
								 | 
							
								58,
							 | 
						||
| 
								 | 
							
								55,
							 | 
						||
| 
								 | 
							
								51,
							 | 
						||
| 
								 | 
							
								48,
							 | 
						||
| 
								 | 
							
								45,
							 | 
						||
| 
								 | 
							
								43,
							 | 
						||
| 
								 | 
							
								40,
							 | 
						||
| 
								 | 
							
								38,
							 | 
						||
| 
								 | 
							
								35,
							 | 
						||
| 
								 | 
							
								33,
							 | 
						||
| 
								 | 
							
								31,
							 | 
						||
| 
								 | 
							
								29,
							 | 
						||
| 
								 | 
							
								28,
							 | 
						||
| 
								 | 
							
								26,
							 | 
						||
| 
								 | 
							
								24,
							 | 
						||
| 
								 | 
							
								23,
							 | 
						||
| 
								 | 
							
								21,
							 | 
						||
| 
								 | 
							
								20,
							 | 
						||
| 
								 | 
							
								19,
							 | 
						||
| 
								 | 
							
								18,
							 | 
						||
| 
								 | 
							
								17,
							 | 
						||
| 
								 | 
							
								16,
							 | 
						||
| 
								 | 
							
								15,
							 | 
						||
| 
								 | 
							
								14,
							 | 
						||
| 
								 | 
							
								13,
							 | 
						||
| 
								 | 
							
								12,
							 | 
						||
| 
								 | 
							
								11,
							 | 
						||
| 
								 | 
							
								11,
							 | 
						||
| 
								 | 
							
								10,
							 | 
						||
| 
								 | 
							
								10,
							 | 
						||
| 
								 | 
							
								9,
							 | 
						||
| 
								 | 
							
								8,
							 | 
						||
| 
								 | 
							
								8,
							 | 
						||
| 
								 | 
							
								7,
							 | 
						||
| 
								 | 
							
								7,
							 | 
						||
| 
								 | 
							
								7,
							 | 
						||
| 
								 | 
							
								6,
							 | 
						||
| 
								 | 
							
								6,
							 | 
						||
| 
								 | 
							
								5,
							 | 
						||
| 
								 | 
							
								5,
							 | 
						||
| 
								 | 
							
								5,
							 | 
						||
| 
								 | 
							
								5,
							 | 
						||
| 
								 | 
							
								4,
							 | 
						||
| 
								 | 
							
								4,
							 | 
						||
| 
								 | 
							
								4,
							 | 
						||
| 
								 | 
							
								4,
							 | 
						||
| 
								 | 
							
								3,
							 | 
						||
| 
								 | 
							
								3,
							 | 
						||
| 
								 | 
							
								3,
							 | 
						||
| 
								 | 
							
								3,
							 | 
						||
| 
								 | 
							
								3,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								2,
							 | 
						||
| 
								 | 
							
								1,
							 | 
						||
| 
								 | 
							
								1
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								int32_t log_exp32[] = {
							 | 
						||
| 
								 | 
							
								186065279,
							 | 
						||
| 
								 | 
							
								177807722,
							 | 
						||
| 
								 | 
							
								169812011,
							 | 
						||
| 
								 | 
							
								162077380,
							 | 
						||
| 
								 | 
							
								154602561,
							 | 
						||
| 
								 | 
							
								147385792,
							 | 
						||
| 
								 | 
							
								140424832,
							 | 
						||
| 
								 | 
							
								133716974,
							 | 
						||
| 
								 | 
							
								127259071,
							 | 
						||
| 
								 | 
							
								121047555,
							 | 
						||
| 
								 | 
							
								115078462,
							 | 
						||
| 
								 | 
							
								109347464,
							 | 
						||
| 
								 | 
							
								103849895,
							 | 
						||
| 
								 | 
							
								98580782,
							 | 
						||
| 
								 | 
							
								93534880,
							 | 
						||
| 
								 | 
							
								88706700,
							 | 
						||
| 
								 | 
							
								84090544,
							 | 
						||
| 
								 | 
							
								79680539,
							 | 
						||
| 
								 | 
							
								75470665,
							 | 
						||
| 
								 | 
							
								71454790,
							 | 
						||
| 
								 | 
							
								67626698,
							 | 
						||
| 
								 | 
							
								63980117,
							 | 
						||
| 
								 | 
							
								60508748,
							 | 
						||
| 
								 | 
							
								57206290,
							 | 
						||
| 
								 | 
							
								54066465,
							 | 
						||
| 
								 | 
							
								51083037,
							 | 
						||
| 
								 | 
							
								48249833,
							 | 
						||
| 
								 | 
							
								45560766,
							 | 
						||
| 
								 | 
							
								43009843,
							 | 
						||
| 
								 | 
							
								40591187,
							 | 
						||
| 
								 | 
							
								38299044,
							 | 
						||
| 
								 | 
							
								36127799,
							 | 
						||
| 
								 | 
							
								34071979,
							 | 
						||
| 
								 | 
							
								32126265,
							 | 
						||
| 
								 | 
							
								30285500,
							 | 
						||
| 
								 | 
							
								28544686,
							 | 
						||
| 
								 | 
							
								26898993,
							 | 
						||
| 
								 | 
							
								25343763,
							 | 
						||
| 
								 | 
							
								23874506,
							 | 
						||
| 
								 | 
							
								22486902,
							 | 
						||
| 
								 | 
							
								21176802,
							 | 
						||
| 
								 | 
							
								19940225,
							 | 
						||
| 
								 | 
							
								18773356,
							 | 
						||
| 
								 | 
							
								17672544,
							 | 
						||
| 
								 | 
							
								16634298,
							 | 
						||
| 
								 | 
							
								15655285,
							 | 
						||
| 
								 | 
							
								14732323,
							 | 
						||
| 
								 | 
							
								13862380,
							 | 
						||
| 
								 | 
							
								13042568,
							 | 
						||
| 
								 | 
							
								12270138,
							 | 
						||
| 
								 | 
							
								11542477,
							 | 
						||
| 
								 | 
							
								10857102,
							 | 
						||
| 
								 | 
							
								10211653,
							 | 
						||
| 
								 | 
							
								9603893,
							 | 
						||
| 
								 | 
							
								9031699,
							 | 
						||
| 
								 | 
							
								8493059,
							 | 
						||
| 
								 | 
							
								7986067,
							 | 
						||
| 
								 | 
							
								7508918,
							 | 
						||
| 
								 | 
							
								7059905,
							 | 
						||
| 
								 | 
							
								6637410,
							 | 
						||
| 
								 | 
							
								6239907,
							 | 
						||
| 
								 | 
							
								5865950,
							 | 
						||
| 
								 | 
							
								5514175,
							 | 
						||
| 
								 | 
							
								5183292,
							 | 
						||
| 
								 | 
							
								4872084,
							 | 
						||
| 
								 | 
							
								4579403,
							 | 
						||
| 
								 | 
							
								4304163,
							 | 
						||
| 
								 | 
							
								4045342,
							 | 
						||
| 
								 | 
							
								3801974,
							 | 
						||
| 
								 | 
							
								3573150,
							 | 
						||
| 
								 | 
							
								3358012,
							 | 
						||
| 
								 | 
							
								3155752,
							 | 
						||
| 
								 | 
							
								2965606,
							 | 
						||
| 
								 | 
							
								2786859,
							 | 
						||
| 
								 | 
							
								2618832,
							 | 
						||
| 
								 | 
							
								2460890,
							 | 
						||
| 
								 | 
							
								2312433,
							 | 
						||
| 
								 | 
							
								2172895,
							 | 
						||
| 
								 | 
							
								2041745,
							 | 
						||
| 
								 | 
							
								1918483,
							 | 
						||
| 
								 | 
							
								1802638,
							 | 
						||
| 
								 | 
							
								1693765,
							 | 
						||
| 
								 | 
							
								1591449,
							 | 
						||
| 
								 | 
							
								1495296,
							 | 
						||
| 
								 | 
							
								1404937,
							 | 
						||
| 
								 | 
							
								1320025,
							 | 
						||
| 
								 | 
							
								1240233,
							 | 
						||
| 
								 | 
							
								1165254,
							 | 
						||
| 
								 | 
							
								1094799,
							 | 
						||
| 
								 | 
							
								1028595,
							 | 
						||
| 
								 | 
							
								966388,
							 | 
						||
| 
								 | 
							
								907936,
							 | 
						||
| 
								 | 
							
								853014,
							 | 
						||
| 
								 | 
							
								801410,
							 | 
						||
| 
								 | 
							
								752923,
							 | 
						||
| 
								 | 
							
								707366,
							 | 
						||
| 
								 | 
							
								664562,
							 | 
						||
| 
								 | 
							
								624345,
							 | 
						||
| 
								 | 
							
								586559,
							 | 
						||
| 
								 | 
							
								551058,
							 | 
						||
| 
								 | 
							
								517703,
							 | 
						||
| 
								 | 
							
								486365,
							 | 
						||
| 
								 | 
							
								456923,
							 | 
						||
| 
								 | 
							
								429261,
							 | 
						||
| 
								 | 
							
								403273,
							 | 
						||
| 
								 | 
							
								378857,
							 | 
						||
| 
								 | 
							
								355919,
							 | 
						||
| 
								 | 
							
								334368,
							 | 
						||
| 
								 | 
							
								314122,
							 | 
						||
| 
								 | 
							
								295101,
							 | 
						||
| 
								 | 
							
								277231,
							 | 
						||
| 
								 | 
							
								260442,
							 | 
						||
| 
								 | 
							
								244670,
							 | 
						||
| 
								 | 
							
								229852,
							 | 
						||
| 
								 | 
							
								215932,
							 | 
						||
| 
								 | 
							
								202854,
							 | 
						||
| 
								 | 
							
								190568,
							 | 
						||
| 
								 | 
							
								179026,
							 | 
						||
| 
								 | 
							
								168183,
							 | 
						||
| 
								 | 
							
								157996,
							 | 
						||
| 
								 | 
							
								148426,
							 | 
						||
| 
								 | 
							
								139436,
							 | 
						||
| 
								 | 
							
								130990,
							 | 
						||
| 
								 | 
							
								123056,
							 | 
						||
| 
								 | 
							
								115602,
							 | 
						||
| 
								 | 
							
								108599,
							 | 
						||
| 
								 | 
							
								102021,
							 | 
						||
| 
								 | 
							
								95841,
							 | 
						||
| 
								 | 
							
								90035
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								#endif
							 |