text:
using JuMP, EAGO

                     m = Model()

                     EAGO.register_eago_operators!(m)

                     @variable(m, -1 <= x[i=1:5] <= 1)

                     @variable(m, -53.467800048111016 <= q <= 50.665869089598125)

                     add_NL_constraint(m, :(gelu(-0.14052056007525238 + -0.5593120910347902*gelu(0.7927050633346799 + -0.9855209344073468*gelu(-0.5279345513587295 + 0.26674570975926315*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.6014540451740125*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.7842020578742437*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.7348995303901047*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.8618242155643285*gelu(-0.9736042039183683 + -0.3730380073565449*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + -0.6111131700945078*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.6070668283472709*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.602250903818204*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + 0.1409847014129051*gelu(-0.7008144662498323 + 0.1168473746120049*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.28223204928638745*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.1750913505933096*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.6765062198397387*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.8981625305472791*gelu(0.7932740070802415 + 0.6457743599334909*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.13450970941280982*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.4617332497282156*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.2655397829444155*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5])))) + -0.17714759684008552*gelu(-0.6180581651393844 + 0.5051816616434088*gelu(-0.5279345513587295 + 0.26674570975926315*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.6014540451740125*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.7842020578742437*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.7348995303901047*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.300474118407668*gelu(-0.9736042039183683 + -0.3730380073565449*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + -0.6111131700945078*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.6070668283472709*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.602250903818204*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.9746449193496836*gelu(-0.7008144662498323 + 0.1168473746120049*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.28223204928638745*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.1750913505933096*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.6765062198397387*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.5011252416621814*gelu(0.7932740070802415 + 0.6457743599334909*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.13450970941280982*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.4617332497282156*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.2655397829444155*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5])))) + -0.8034040228386923*gelu(0.8979118028491286 + 0.6794924903988093*gelu(-0.5279345513587295 + 0.26674570975926315*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.6014540451740125*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.7842020578742437*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.7348995303901047*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + 0.8327554381235851*gelu(-0.9736042039183683 + -0.3730380073565449*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + -0.6111131700945078*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.6070668283472709*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.602250903818204*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + 0.9067656866208256*gelu(-0.7008144662498323 + 0.1168473746120049*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.28223204928638745*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.1750913505933096*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.6765062198397387*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.9508098734081298*gelu(0.7932740070802415 + 0.6457743599334909*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.13450970941280982*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.4617332497282156*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.2655397829444155*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5])))) + 0.8830918026414509*gelu(-0.664219788116319 + -0.6624649067900212*gelu(-0.5279345513587295 + 0.26674570975926315*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.6014540451740125*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.7842020578742437*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.7348995303901047*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + 0.3925221054786987*gelu(-0.9736042039183683 + -0.3730380073565449*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + -0.6111131700945078*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.6070668283472709*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.602250903818204*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.8696160844053109*gelu(-0.7008144662498323 + 0.1168473746120049*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.28223204928638745*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.1750913505933096*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.6765062198397387*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.357347274050821*gelu(0.7932740070802415 + 0.6457743599334909*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.13450970941280982*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.4617332497282156*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.2655397829444155*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))))) + gelu(-0.9657657813458713 + 0.6555921464493895*gelu(0.7927050633346799 + -0.9855209344073468*gelu(-0.5279345513587295 + 0.26674570975926315*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.6014540451740125*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.7842020578742437*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.7348995303901047*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.8618242155643285*gelu(-0.9736042039183683 + -0.3730380073565449*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + -0.6111131700945078*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.6070668283472709*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.602250903818204*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + 0.1409847014129051*gelu(-0.7008144662498323 + 0.1168473746120049*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.28223204928638745*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.1750913505933096*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.6765062198397387*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.8981625305472791*gelu(0.7932740070802415 + 0.6457743599334909*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.13450970941280982*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.4617332497282156*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.2655397829444155*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5])))) + -0.8721739939427047*gelu(-0.6180581651393844 + 0.5051816616434088*gelu(-0.5279345513587295 + 0.26674570975926315*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.6014540451740125*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.7842020578742437*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.7348995303901047*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.300474118407668*gelu(-0.9736042039183683 + -0.3730380073565449*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + -0.6111131700945078*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.6070668283472709*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.602250903818204*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.9746449193496836*gelu(-0.7008144662498323 + 0.1168473746120049*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.28223204928638745*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.1750913505933096*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.6765062198397387*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.5011252416621814*gelu(0.7932740070802415 + 0.6457743599334909*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.13450970941280982*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.4617332497282156*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.2655397829444155*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5])))) + 0.2771767659228326*gelu(0.8979118028491286 + 0.6794924903988093*gelu(-0.5279345513587295 + 0.26674570975926315*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.6014540451740125*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.7842020578742437*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.7348995303901047*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + 0.8327554381235851*gelu(-0.9736042039183683 + -0.3730380073565449*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + -0.6111131700945078*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.6070668283472709*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.602250903818204*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + 0.9067656866208256*gelu(-0.7008144662498323 + 0.1168473746120049*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.28223204928638745*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.1750913505933096*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.6765062198397387*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.9508098734081298*gelu(0.7932740070802415 + 0.6457743599334909*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.13450970941280982*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.4617332497282156*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.2655397829444155*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5])))) + -0.3272615516465871*gelu(-0.664219788116319 + -0.6624649067900212*gelu(-0.5279345513587295 + 0.26674570975926315*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.6014540451740125*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.7842020578742437*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.7348995303901047*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + 0.3925221054786987*gelu(-0.9736042039183683 + -0.3730380073565449*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + -0.6111131700945078*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.6070668283472709*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.602250903818204*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.8696160844053109*gelu(-0.7008144662498323 + 0.1168473746120049*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.28223204928638745*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.1750913505933096*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.6765062198397387*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.357347274050821*gelu(0.7932740070802415 + 0.6457743599334909*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.13450970941280982*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.4617332497282156*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.2655397829444155*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))))) + gelu(0.1449115541174284 + 0.09677925519094499*gelu(0.7927050633346799 + -0.9855209344073468*gelu(-0.5279345513587295 + 0.26674570975926315*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.6014540451740125*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.7842020578742437*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.7348995303901047*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.8618242155643285*gelu(-0.9736042039183683 + -0.3730380073565449*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + -0.6111131700945078*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.6070668283472709*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.602250903818204*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + 0.1409847014129051*gelu(-0.7008144662498323 + 0.1168473746120049*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.28223204928638745*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.1750913505933096*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.6765062198397387*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.8981625305472791*gelu(0.7932740070802415 + 0.6457743599334909*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.13450970941280982*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.4617332497282156*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.2655397829444155*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5])))) + -0.7242562051573604*gelu(-0.6180581651393844 + 0.5051816616434088*gelu(-0.5279345513587295 + 0.26674570975926315*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.6014540451740125*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.7842020578742437*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.7348995303901047*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.300474118407668*gelu(-0.9736042039183683 + -0.3730380073565449*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + -0.6111131700945078*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.6070668283472709*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.602250903818204*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.9746449193496836*gelu(-0.7008144662498323 + 0.1168473746120049*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.28223204928638745*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.1750913505933096*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.6765062198397387*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.5011252416621814*gelu(0.7932740070802415 + 0.6457743599334909*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.13450970941280982*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.4617332497282156*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.2655397829444155*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5])))) + -0.5148279577072672*gelu(0.8979118028491286 + 0.6794924903988093*gelu(-0.5279345513587295 + 0.26674570975926315*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.6014540451740125*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.7842020578742437*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.7348995303901047*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + 0.8327554381235851*gelu(-0.9736042039183683 + -0.3730380073565449*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + -0.6111131700945078*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.6070668283472709*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.602250903818204*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + 0.9067656866208256*gelu(-0.7008144662498323 + 0.1168473746120049*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.28223204928638745*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.1750913505933096*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.6765062198397387*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.9508098734081298*gelu(0.7932740070802415 + 0.6457743599334909*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.13450970941280982*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.4617332497282156*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.2655397829444155*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5])))) + 0.31101299363436574*gelu(-0.664219788116319 + -0.6624649067900212*gelu(-0.5279345513587295 + 0.26674570975926315*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.6014540451740125*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.7842020578742437*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.7348995303901047*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + 0.3925221054786987*gelu(-0.9736042039183683 + -0.3730380073565449*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + -0.6111131700945078*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.6070668283472709*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.602250903818204*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.8696160844053109*gelu(-0.7008144662498323 + 0.1168473746120049*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.28223204928638745*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.1750913505933096*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.6765062198397387*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.357347274050821*gelu(0.7932740070802415 + 0.6457743599334909*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.13450970941280982*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.4617332497282156*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.2655397829444155*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))))) + gelu(-0.29157998590300416 + 0.37951557973783334*gelu(0.7927050633346799 + -0.9855209344073468*gelu(-0.5279345513587295 + 0.26674570975926315*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.6014540451740125*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.7842020578742437*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.7348995303901047*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.8618242155643285*gelu(-0.9736042039183683 + -0.3730380073565449*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + -0.6111131700945078*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.6070668283472709*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.602250903818204*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + 0.1409847014129051*gelu(-0.7008144662498323 + 0.1168473746120049*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.28223204928638745*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.1750913505933096*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.6765062198397387*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.8981625305472791*gelu(0.7932740070802415 + 0.6457743599334909*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.13450970941280982*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.4617332497282156*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.2655397829444155*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5])))) + 0.5044820689237324*gelu(-0.6180581651393844 + 0.5051816616434088*gelu(-0.5279345513587295 + 0.26674570975926315*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.6014540451740125*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.7842020578742437*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.7348995303901047*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.300474118407668*gelu(-0.9736042039183683 + -0.3730380073565449*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + -0.6111131700945078*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.6070668283472709*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.602250903818204*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.9746449193496836*gelu(-0.7008144662498323 + 0.1168473746120049*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.28223204928638745*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.1750913505933096*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.6765062198397387*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.5011252416621814*gelu(0.7932740070802415 + 0.6457743599334909*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.13450970941280982*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.4617332497282156*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.2655397829444155*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5])))) + 0.4692646156920386*gelu(0.8979118028491286 + 0.6794924903988093*gelu(-0.5279345513587295 + 0.26674570975926315*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.6014540451740125*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.7842020578742437*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.7348995303901047*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + 0.8327554381235851*gelu(-0.9736042039183683 + -0.3730380073565449*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + -0.6111131700945078*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.6070668283472709*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.602250903818204*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + 0.9067656866208256*gelu(-0.7008144662498323 + 0.1168473746120049*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.28223204928638745*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.1750913505933096*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.6765062198397387*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.9508098734081298*gelu(0.7932740070802415 + 0.6457743599334909*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.13450970941280982*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.4617332497282156*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.2655397829444155*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5])))) + -0.6236220471665241*gelu(-0.664219788116319 + -0.6624649067900212*gelu(-0.5279345513587295 + 0.26674570975926315*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.6014540451740125*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.7842020578742437*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.7348995303901047*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + 0.3925221054786987*gelu(-0.9736042039183683 + -0.3730380073565449*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + -0.6111131700945078*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.6070668283472709*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + 0.602250903818204*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.8696160844053109*gelu(-0.7008144662498323 + 0.1168473746120049*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.28223204928638745*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.1750913505933096*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.6765062198397387*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))) + -0.357347274050821*gelu(0.7932740070802415 + 0.6457743599334909*gelu(-0.7911508587829115 + -0.06506911132939441*$(x[1]) + -0.852429148445272*$(x[2]) + 0.9902340539920638*$(x[3]) + -0.5325045469076417*$(x[4]) + 0.16346424911659252*$(x[5])) + 0.13450970941280982*gelu(-0.31894961218704987 + -0.02324224975324851*$(x[1]) + -0.016870940285415248*$(x[2]) + 0.446182370860321*$(x[3]) + -0.9288490609590947*$(x[4]) + 0.29295311736763896*$(x[5])) + -0.4617332497282156*gelu(-0.4972259981592049 + -0.8938534018236086*$(x[1]) + 0.008380370033680418*$(x[2]) + -0.18784778862206242*$(x[3]) + 0.20554715210351482*$(x[4]) + 0.7932560928666454*$(x[5])) + -0.2655397829444155*gelu(-0.6657792028971241 + -0.5409713712241491*$(x[1]) + 0.49245843557230895*$(x[2]) + 0.7906244992303582*$(x[3]) + 0.4705847767166267*$(x[4]) + -0.3481500575812202*$(x[5]))))) - $q <= 0.0))

                     @objective(m, Min, q)

                     return m

max_stars_repo_name: PSORLab/RSActivationFunctions

max_issues_repo_name: PSORLab/RSActivationFunctions

max_forks_repo_name: PSORLab/RSActivationFunctions


text:
@info "starting plasma test"

using Plasma
using Test

@info "starting 1D1V test"
TD = 30000
D = species.D
D_D = Distribution(Maxwellian(TD, D.m), D)
G = Geometry()
plasma = ElectrostaticPlasma([D_D], G)

sol = Plasma.solve(plasma, dim=1, GPU=false, ub=0.1)
@test sol isa PlasmaSolution

ext: jl


text:
module BenchTagSet

using BenchmarkTools
using ITensors

suite = BenchmarkGroup()

suite["tagset"] = @benchmarkable TagSet("abcdefgh,ijklmnop,qrstuvwx,ABCDEFGH")
suite["tagset_unicode"] = @benchmarkable TagSet("αβγδϵζηθ,ijklmnop,qrstuvwx,ΑΒΓΔΕΖΗΘ")
suite["tagset_long"] = @benchmarkable TagSet(
  "abcdefghijklm,nopqrstuvwxyz,ABCDEFGHIJKLM,NOPQRSTUVWXYZ"
)
end

BenchTagSet.suite


text:
include(joinpath("tasks", "task_types.jl"))
include(joinpath("tasks", "product_tasks.jl"))
include(joinpath("tasks", "identity.jl"))
include(joinpath("tasks", "position_around_point.jl"))
include(joinpath("tasks", "distance_from_point.jl"))
include(joinpath("tasks", "distance_from_sphere_surface.jl"))
include(joinpath("tasks", "distance_sphere_to_sphere.jl"))
include(joinpath("tasks", "distance_sphere_to_cup.jl"))
include(joinpath("tasks", "distance_sphere_to_cylinder.jl"))
include(joinpath("tasks", "distance_sphere_to_box.jl"))
include(joinpath("tasks", "distance_sphere_to_line.jl"))
include(joinpath("tasks", "angular_distance.jl"))
include(joinpath("tasks", "angular_position_around_point.jl"))
include(joinpath("tasks", "coordinate.jl"))
include(joinpath("tasks", "coordinate_distance.jl"))
include(joinpath("tasks", "arm", "joint_to_link_position.jl"))
include(joinpath("tasks", "arm", "link_sphere_pair_distance.jl"))
include(joinpath("tasks", "arm", "link_sphere_position.jl"))
include(joinpath("tasks", "arm", "link_frame_transform.jl"))

Base.eltype(::Type{TaskMapX{A,B,S}}) where {A,B,S} = S

domain_manifold(task_map::Union{TaskMap{M,N},TaskMapT{M,N}}) where {M,N} = M
codomain_manifold(task_map::Union{TaskMap{M,N},TaskMapT{M,N}}) where {M,N} = N
domain_manifold(task::TaskX) = domain_manifold(task.task_map)
codomain_manifold(task::TaskX) = codomain_manifold(task.task_map)
domain_manifold(M::Manifold) = M

domain_coord_rep(task_map::TaskMapT) = domain_coord_rep(task_map.base_map)
codomain_coord_rep(task_map::TaskMapT) = codomain_coord_rep(task_map.base_map)

default_coord_rep(::TaskX) = ChartRep()

choose_chart_emb(xme, taskx::Union{TaskX,TaskMapX}, CM, CN) =
    choose_chart_emb(xme, base_task_map(taskx), CM, CN)
choose_chart_chart(xm, taskx::Union{TaskX,TaskMapX}, CM, CN) =
    choose_chart_chart(xm, base_task_map(taskx), CM, CN)

choose_chart_emb(xme, task_map::TaskMap, CM, CN) =
    choose_chart_emb(chart_choice_coord_rep(CN), xme, task_map, CM, CN)
choose_chart_chart(xm, task_map::TaskMap, CM, CN) =
    choose_chart_chart(chart_choice_coord_rep(CN), xm, task_map, CM, CN)

choose_chart_emb(::EmbRep, xme, task_map::TaskMap, CM, CN) =
    choose_chart_emb(EmbRep(), task_map_emb(xme, task_map, CM, CN), CN)
choose_chart_emb(::ChartRep, xme, task_map::TaskMap, CM, CN) =
    choose_chart_chart(ChartRep(), task_map_emb_chart(xme, task_map, CM, CN), CN)
choose_chart_chart(::EmbRep, xm, task_map::TaskMap, CM, CN) =
    choose_chart_emb(EmbRep(), task_map_chart_emb(xm, task_map, CM, CN), CN)
choose_chart_chart(::ChartRep, xm, task_map::TaskMap, CM, CN) =
    choose_chart_chart(ChartRep(), task_map_chart(xm, task_map, CM, CN), CN)

choose_chart(::EmbRep, xme, taskx::Union{TaskX,TaskMapX}, CM, CN) =
    choose_chart_emb(xme, taskx, CM, CN)
choose_chart(::ChartRep, xm, taskx::Union{TaskX,TaskMapX}, CM, CN) =
    choose_chart_chart(xm, taskx, CM, CN)

base_task_map(task::TaskX) = base_task_map(task.task_map)
base_task_map(task_map::TaskMap) = task_map
base_task_map(task_map::TaskMapX) = task_map.base_map

task_map_emb(pme, task_map::TaskMapX, arg...) =
    task_map_emb(domain_coord_rep(task_map), codomain_coord_rep(task_map), pme, task_map, arg...)
task_map_emb_chart(pme, task_map::TaskMapX, arg...) =
    task_map_emb_chart(domain_coord_rep(task_map), codomain_coord_rep(task_map),
    pme, task_map, arg...)
task_map_chart_emb(pm, task_map::TaskMapX, arg...) =
    task_map_chart_emb(domain_coord_rep(task_map), codomain_coord_rep(task_map),
    pm, task_map, arg...)
task_map_chart(pm, task_map::TaskMapX, arg...) =
    task_map_chart(domain_coord_rep(task_map), codomain_coord_rep(task_map), pm, task_map, arg...)

task_map_emb(pme, task::TaskX, arg...) = task_map_emb(pme, task.task_map, arg...)
task_map_emb_chart(pme, task::TaskX, arg...) = task_map_emb_chart(pme, task.task_map, arg...)
task_map_chart_emb(pm, task::TaskX, arg...) = task_map_chart_emb(pm, task.task_map, arg...)
task_map_chart(pm, task::TaskX, arg...) = task_map_chart(pm, task.task_map, arg...)

base_task_map_emb(pme, taskx::Union{TaskX,TaskMapX}, arg...) =
    task_map_emb(pme, base_task_map(taskx), arg...)
base_task_map_emb_chart(pme, taskx::Union{TaskX,TaskMapX}, arg...) =
    task_map_emb_chart(pme, base_task_map(taskx), arg...)
base_task_map_chart_emb(pm, taskx::Union{TaskX,TaskMapX}, arg...) =
    task_map_chart_emb(pm, base_task_map(taskx), arg...)
base_task_map_chart(pm, taskx::Union{TaskX,TaskMapX}, arg...) =
    task_map_chart(pm, base_task_map(taskx), arg...)

## No chart specified
# task_map_emb(::EmbRep, ::EmbRep, pme, task_map::TaskMap) # Should be defined for specific task
# Throw out given charts as needed; base emb map should be defined
task_map_emb(::EmbRep, ::EmbRep, pme, task_map::TaskMap, arg...) =
    task_map_emb(EmbRep(), EmbRep(), pme, task_map)
task_map_emb(::CoordinateRep, ::CoordinateRep, pme, task_map) =
    throw(ArgumentError("Chart(s) not specified"))

task_map_emb_chart(::CoordinateRep, ::CoordinateRep, pme, task_map) =
    throw(ArgumentError("Chart not specified"))
task_map_chart_emb(::CoordinateRep, ::CoordinateRep, pm, task_map) =
    throw(ArgumentError("Chart not specified"))
task_map_chart(::CoordinateRep, ::CoordinateRep, pm, task_map) =
    throw(ArgumentError("Charts not specified"))

## One chart specified
function task_map_emb(::EmbRep, ::ChartRep, pme, task_map::TaskMap, CN)
    pn = task_map_emb_chart(pme, task_map, CN)
    pne = chart_to_emb(pn, CN)
end
function task_map_emb(::ChartRep, ::EmbRep, pme, task_map::TaskMap, CM)
    pm = emb_to_chart(pme, CM)
    pne = task_map_chart_emb(pm, task_map, CM)
end
task_map_emb(::ChartRep, ::ChartRep, pme, task_map, C) =
    throw(ArgumentError("Second chart not specified"))

function task_map_emb_chart(::EmbRep, ::EmbRep, pme, task_map::TaskMap{M,N},
        CN::Chart{J,N}) where {M,N,J}
    pne = task_map_emb(pme, task_map)
    pn = emb_to_chart(pne, CN)
end
# Should be defined for specific task:
# task_map_emb_chart(::EmbRep, ::ChartRep, pm, task_map::TaskMap, CN)
task_map_emb_chart(::ChartRep, ::EmbRep, pme, task_map, C) =
    throw(ArgumentError("Second chart not specified"))
task_map_emb_chart(::ChartRep, ::ChartRep, pme, task_map, C) =
    throw(ArgumentError("Second chart not specified"))

function task_map_chart_emb(::EmbRep, ::EmbRep, pm, task_map::TaskMap{M,N},
        CM::Chart{I,M}) where {M,N,I}
    pme = chart_to_emb(pm, CM)
    pne = task_map_emb(pme, task_map)
end
task_map_chart_emb(::EmbRep, ::ChartRep, pm, task_map, C) =
    throw(ArgumentError("Second chart not specified"))
# Should be defined for specific task:
# task_map_chart_emb(::ChartRep, ::EmbRep, pm, task_map::TaskMap, C)
task_map_chart_emb(::ChartRep, ::ChartRep, pm, task_map, C) =
    throw(ArgumentError("Second chart not specified"))

task_map_chart(::CoordinateRep, ::CoordinateRep, pm, task_map, C) =
    throw(ArgumentError("Second chart not specified"))

## Both charts specified
task_map_emb(::EmbRep, ::ChartRep, pme, task_map::TaskMap, CM, CN) =
    task_map_emb(pme, task_map, CN)
task_map_emb(::ChartRep, ::EmbRep, pme, task_map::TaskMap, CM, CN) =
    task_map_emb(pme, task_map, CM)
function task_map_emb(::ChartRep, ::ChartRep, pme, task_map::TaskMap, CM, CN)
    pm = emb_to_chart(pme, CM)
    pn = task_map_chart(pm, task_map, CM, CN)
    pne = chart_to_emb(pn, CN)
end

task_map_emb_chart(::EmbRep, ::EmbRep, pme, task_map::TaskMap, CM, CN) =
    task_map_emb_chart(pme, task_map, CN)
task_map_emb_chart(::EmbRep, ::ChartRep, pme, task_map::TaskMap, CM, CN) =
    task_map_emb_chart(pme, task_map, CN)
function task_map_emb_chart(::ChartRep, ::EmbRep, pme, task_map::TaskMap{M,N}, CM,
        CN::Chart{J,N}) where {M,N,J}
    pm = emb_to_chart(pme, CM)
    pne = task_map_chart_emb(pm, task_map, CM)
    pn = emb_to_chart(pne, CN)
end
function task_map_emb_chart(::ChartRep, ::ChartRep, pme, task_map::TaskMap, CM, CN)
    pm = emb_to_chart(pme, CM)
    pn = task_map_chart(pm, task_map, CM, CN)
end

task_map_chart_emb(::EmbRep, ::EmbRep, pm, task_map::TaskMap, CM, CN) =
    task_map_chart_emb(pm, task_map, CM)
function task_map_chart_emb(::EmbRep, ::ChartRep, pm, task_map::TaskMap{M,N}, CM::Chart{I,M},
        CN) where {M,N,I}
    pme = chart_to_emb(pm, CM)
    pn = task_map_emb_chart(pme, task_map, CN)
    pne = chart_to_emb(pn, CN)
end
task_map_chart_emb(::ChartRep, ::EmbRep, pm, task_map::TaskMap, CM, CN) =
    task_map_chart_emb(pm, task_map, CM)
function task_map_chart_emb(::ChartRep, ::ChartRep, pm, task_map::TaskMap, CM, CN)
    pn = task_map_chart(pm, task_map, CM, CN)
    pne = chart_to_emb(pn, CN)
end

function task_map_chart(::EmbRep, ::EmbRep, pm, task_map::TaskMap{M,N}, CM::Chart{I,M},
        CN::Chart{J,N}) where {M,N,I,J}
    pme = chart_to_emb(pm, CM)
    pne = task_map_emb(pme, task_map)
    pn = emb_to_chart(pne, CN)
end
function task_map_chart(::EmbRep, ::ChartRep, pm, task_map::TaskMap{M,N}, CM::Chart{I,M},
        CN) where {M,N,I}
    pme = chart_to_emb(pm, CM)
    pn = task_map_emb_chart(pme, task_map, CN)
end
function task_map_chart(::ChartRep, ::EmbRep, pm, task_map::TaskMap{M,N}, CM,
        CN::Chart{J,N}) where {M,N,J}
    pne = task_map_chart_emb(pm, task_map, CM)
    pn = emb_to_chart(pne, CN)
end
# Should be defined for specific task
# task_map_chart(::ChartRep, ::ChartRep, pm, task_map::TaskMap, CM, CN)

function task_differential_map_emb(pme, wme, task_map::TaskMap, arg...)
    pne = task_map_emb(pme, task_map, arg...)
    ∂pne_∂pme = task_jacobian_emb(pme, task_map, arg...)
    wne = ∂pne_∂pme*wme
    pne, wne
end

function task_differential_map_emb_chart(pme, wme, task_map::TaskMap, arg...)
    pn = task_map_emb_chart(pme, task_map, arg...)
    ∂pn_∂pme = task_jacobian_emb_chart(pme, task_map, arg...)
    wn = ∂pn_∂pme*wme
    pn, wn
end

function task_differential_map_chart_emb(pm, wm, task_map::TaskMap, arg...)
    pne = task_map_chart_emb(pm, task_map, arg...)
    ∂pne_∂pm = task_jacobian_chart_emb(pm, task_map, arg...)
    wne = ∂pne_∂pm*wm
    pne, wne
end

function task_differential_map_chart(pm, wm, task_map::TaskMap, arg...)
    pn = task_map_chart(pm, task_map, arg...)
    ∂pn_∂pm = task_jacobian_chart(pm, task_map, arg...)
    wn = ∂pn_∂pm*wm
    pn, wn
end

task_differential_map_emb(pme, wme, task::TaskX, arg...) =
    task_differential_map_emb(pme, wme, base_task_map(task), arg...)
task_differential_map_emb_chart(pme, wme, task::TaskX, arg...) =
    task_differential_map_emb_chart(pme, wme, base_task_map(task), arg...)
task_differential_map_chart_emb(pm, wme, task::TaskX, arg...) =
    task_differential_map_chart_emb(pm, wme, base_task_map(task), arg...)
task_differential_map_chart(pm, wme, task::TaskX, arg...) =
    task_differential_map_chart(pm, wme, base_task_map(task), arg...)

## Tangent bundle task maps
function task_map_emb(pme, task_map::TaskMapT{M,N}, arg...) where {M,N}
    xme, vme = tangent_vector_emb_splitview(pme, T{M})
    xne, vne = task_differential_map_emb(xme, vme, task_map.base_map, arg...)
    pne = [xne; vne]
end

function task_map_emb_chart(pme, task_map::TaskMapT{M,N}, arg...) where {M,N}
    xme, vme = tangent_vector_emb_splitview(pme, T{M})
    xn, vn = task_differential_map_emb_chart(xme, vme, task_map.base_map, arg...)
    pn = [xn; vn]
end

function task_map_chart_emb(pm, task_map::TaskMapT{M,N}, arg...) where {M,N}
    xm, vm = tangent_vector_chart_splitview(pm, T{M})
    xne, vne = task_differential_map_chart_emb(xm, vm, task_map.base_map, arg...)
    pne = [xne; vne]
end

function task_map_chart(pm, task_map::TaskMapT{M,N}, arg...) where {M,N}
    xm, vm = tangent_vector_chart_splitview(pm, T{M})
    xn, vn = task_differential_map_chart(xm, vm, task_map.base_map, arg...)
    pn = [xn; vn]
end

## Jacobians
task_jacobian_emb(pme, task_map::TaskMapX, arg...) =
    ForwardDiff.jacobian(pme -> task_map_emb(pme, task_map, arg...), pme)
task_jacobian_emb_chart(pme, task_map::TaskMapX, arg...) =
    ForwardDiff.jacobian(pme -> task_map_emb_chart(pme, task_map, arg...), pme)
task_jacobian_chart_emb(pm, task_map::TaskMapX, arg...) =
    ForwardDiff.jacobian(pm -> task_map_chart_emb(pm, task_map, arg...), pm)
task_jacobian_chart(pm, task_map::TaskMapX, arg...) =
    ForwardDiff.jacobian(pm -> task_map_chart(pm, task_map, arg...), pm)

base_task_jacobian_emb(pme, taskx::Union{TaskX,TaskMapX}, arg...) =
    task_jacobian_emb(pme, base_task_map(taskx), arg...)
base_task_jacobian_emb_chart(pme, taskx::Union{TaskX,TaskMapX}, arg...) =
    task_jacobian_emb_chart(pme, base_task_map(taskx), arg...)
base_task_jacobian_chart_emb(pm, taskx::Union{TaskX,TaskMapX}, arg...) =
    task_jacobian_chart_emb(pm, base_task_map(taskx), arg...)
base_task_jacobian_chart(pm, taskx::Union{TaskX,TaskMapX}, arg...) =
    task_jacobian_chart(pm, base_task_map(taskx), arg...)

task_jacobian_emb(pme, task::TaskX, arg...) = task_jacobian_emb(pme, task.task_map, arg...)
task_jacobian_emb_chart(pme, task::TaskX, arg...) =
    task_jacobian_emb_chart(pme, task.task_map, arg...)
task_jacobian_chart_emb(pm, task::TaskX, arg...) =
    task_jacobian_chart_emb(pm, task.task_map, arg...)
task_jacobian_chart(pm, task::TaskX, arg...) = task_jacobian_chart(pm, task.task_map, arg...)

## Jacobian Time Derivatives
base_task_jacobian_emb_dot(xme, vme, taskx::Union{TaskX,TaskMapX}, arg...) =
    task_jacobian_emb_dot(xme, vme, base_task_map(taskx), arg...)
base_task_jacobian_chart_dot(xm, vm, taskx::Union{TaskX,TaskMapX}, arg...) =
    task_jacobian_chart_dot(xm, vm, base_task_map(taskx), arg...)

task_jacobian_emb_dot(xme, vme, task::TaskX, arg...) =
    task_jacobian_emb_dot(xme, vme, task.task_map, arg...)
task_jacobian_chart_dot(xm, vm, task::TaskX, arg...) =
    task_jacobian_chart_dot(xm, vm, task.task_map, arg...)

function task_jacobian_emb_dot(xme, vme, task_map::BaseTaskMap, arg...)
    m, n = embdim(domain_manifold(task_map)), embdim(codomain_manifold(task_map))
    ∇xf = ForwardDiff.jacobian(xme -> SVector{m*n,eltype(xme)}(reshape(task_jacobian_emb(xme,
        task_map, arg...), m*n)), xme)::SArray{Tuple{m*n,m},eltype(xme),2,m*m*n}
    Jfdot_emb = reshape(∇xf*vme, Size(n,m))
end

function task_jacobian_chart_dot(xm, vm, task_map::BaseTaskMap, arg...)
    m, n = dim(domain_manifold(task_map)), dim(codomain_manifold(task_map))
    ∇xf = ForwardDiff.jacobian(xm -> SVector{m*n,eltype(xm)}(reshape(task_jacobian_chart(xm,
        task_map, arg...), m*n)), xm)::SArray{Tuple{m*n,m},eltype(xm),2,m*m*n}
    Jfdot = reshape(∇xf*vm, Size(n,m))
end

# Default coordinate representations for tasks on Rn
domain_coord_rep(::TaskMap{ℝ{m},N}) where {m,N} = EmbRep()
codomain_coord_rep(::TaskMap{M,ℝ{n}}) where {M,n} = EmbRep()

# Default home task charts for tasks on Rn
home_task_chart(::Task{<:TaskMap{M,ℝ{n}}}) where {M,n} = Chart{1,ℝ{n}}()
home_task_chart(::Task{<:TaskMapT{M,ℝ{n}}}) where {M,n} = Chart{1,ℝ{n}}()
home_task_chart(::TaskGDS{<:TaskMapT{M,ℝ{n}}}) where {M,n} = Chart{1,ℝ{n}}()
home_task_chart(::Task{<:PTM{<:TaskMap{M1,ℝ{n1}},<:TaskMap{M2,ℝ{n2}}}}
    ) where {M1,M2,n1,n2} = Chart{Tuple{1,1},PM{ℝ{n1},ℝ{n2}}}()
home_task_chart(::Task{<:PTMT{<:PTM{<:TaskMap{M1,ℝ{n1}},<:TaskMap{M2,ℝ{n2}}}}}
    ) where {M1,M2,n1,n2} = Chart{Tuple{1,1},PM{ℝ{n1},ℝ{n2}}}()
# Default home task charts for S1
home_task_chart(::Task{<:TaskMap{M,S1}}) where M = Chart{Angleπ,S1}()
home_task_chart(::Task{<:PTM{<:TaskMap{M1,ℝ{n}},<:TaskMap{M2,S1}}}
    ) where {M1,M2,n} = Chart{Tuple{1,Angleπ},PM{ℝ{n},S1}}()

## Task Weighting
task_weight(pn1, task::TaskX, C1) = 1. # Default weighting is 1 everywhere
task_weight(xn1, vn1, task::TaskX, C1) = 1.


text:
using SimpleAssoc
using Base.Test

"Compare two iterables without regard to order"
itercmp(i1, i2) = isequal(sort(collect(i1)), sort(collect(i2)))

################################################################################

# Constructors
a0 = AssocArray{Char,Int}()
a1 = AssocArray{Char,Int}('a'=>1)
a1f = AssocArray{Char,Int}('a'=>1.0)
a2 = AssocArray{Char,Int}('a'=>1, 'b'=>2)

# Deducing the element type
a0 = AssocArray()
@test isa(a0, AssocArray{Any,Any})
a1 = AssocArray('a'=>1)
@test isa(a1, AssocArray{Char,Int})
a2 = AssocArray('a'=>1, 'b'=>2)
@test isa(a2, AssocArray{Char,Int})

# Constructing from a Pair vs. constructing from an iterator
a1 = AssocArray(('a'=>1) => ('b'=>2))
@test isa(a1, AssocArray{Pair{Char,Int}, Pair{Char,Int}})
a2 = AssocArray(('a'=>1), ('b'=>2))
@test isa(a2, AssocArray{Char,Int})
a3 = AssocArray((('a'=>1), ('b'=>2)))
@test isa(a3, AssocArray{Char,Int})
a4 = AssocArray(Pair{Char,Int}[('a'=>1), ('b'=>2)])
@test isa(a4, AssocArray{Char,Int})
a5 = AssocArray((('a',1), ('b',2)))
@test isa(a5, AssocArray{Char,Int})
a6 = AssocArray([('a',1), ('b',2)])
@test isa(a6, AssocArray{Char,Int})

# Type properties
a0 = AssocArray{Char,Int}()
@test eltype(a0) === Pair{Char,Int}
a0 = AssocArray()
@test eltype(a0) === Pair{Any,Any}
@test eltype(a1) === Pair{Pair{Char,Int}, Pair{Char,Int}}
@test eltype(a2) === Pair{Char,Int}

# Object properties
@test isempty(a0)
@test !isempty(a1)
@test !isempty(a2)
@test length(a0) == 0
@test length(a1) == 1
@test length(a2) == 2

# Iterators

@test itercmp(a0, Pair{Char,Int}[])
@test itercmp(a1, Pair{Pair{Char,Int}, Pair{Char,Int}}[('a'=>1) => ('b'=>2)])
@test itercmp(a2, Pair{Char,Int}[('a'=>1), ('b'=>2)])

@test itercmp(keys(a0), Char[])
@test itercmp(keys(a1), Pair{Char,Int}['a'=>1])
@test itercmp(keys(a2), Char['a', 'b'])

@test itercmp(values(a0), Int[])
@test itercmp(values(a1), Pair{Char,Int}['b'=>2])
@test itercmp(values(a2), Int[1, 2])

@test itercmp(eachindex(a0), keys(a0))
@test itercmp(eachindex(a1), keys(a1))
@test itercmp(eachindex(a2), keys(a2))

# Duplicate keys
b1 = AssocArray{Char,Int}([('a',1), ('a',2), ('b',2), ('a',1)])
@test itercmp(b1, a2)
b2 = AssocArray{Char,Int}('a'=>1, 'a'=>2, 'b'=>2, 'a'=>1)
@test itercmp(b2, a2)
b3 = AssocArray([('a',1), ('a',2), ('b',2), ('a',1)])
@test itercmp(b3, a2)
b4 = AssocArray('a'=>1, 'a'=>2, 'b'=>2, 'a'=>1)
@test itercmp(b4, a2)

# Mutating operations
empty!(a0)
@test isempty(a0)
empty!(a1)
@test isempty(a1)
empty!(a2)
@test isempty(a2)

# Element-wise access

a0['a'] = 1
@test a0['a'] == 1
@test length(a0) == 1
a0['b'] = -1
@test a0['b'] == -1
@test length(a0) == 2
a0['b'] = 2
@test a0['b'] == 2
@test length(a0) == 2
get!(a0, 'b', 3)
@test a0['b'] == 2
@test length(a0) == 2
get!(a0, 'c', 3)
@test a0['c'] == 3
@test length(a0) == 3
@test get(a0, 'c', 4) == 3
@test get(a0, 'd', 4) == 4
@test haskey(a0, 'c')
@test getkey(a0, 'c', 4) == 'c'
@test !haskey(a0, 'd')
@test getkey(a0, 'd', 4) == 4
@test itercmp(a0, ('a'=>1, 'b'=>2, 'c'=>3))

@test_throws KeyError a0['A']

# Delete elements

delete!(a0, 'b')
@test length(a0) == 2
@test_throws KeyError a0['b']
delete!(a0, 'c')
@test length(a0) == 1
@test_throws KeyError a0['c']
delete!(a0, 'a')
@test length(a0) == 0
@test_throws KeyError a0['a']
delete!(a0, 'a')
@test length(a0) == 0

# Copy collection

a4c = copy(a4)
@test isequal(a4c, a4)
@test a4c !== a4

# push and pop

x = pop!(a4)
@test length(a4) == 1
y = pop!(a4)
@test length(a4) == 0
@test_throws BoundsError pop!(a4)
@test x != y

push!(a4, x)
@test length(a4) == 1
push!(a4, y)
@test length(a4) == 2

@test isequal(a4, a4c)

################################################################################

# Constructors

t0 = AssocTuple{Char,Int,0}()
t1 = AssocTuple{Char,Int,1}('a'=>1)
t2 = AssocTuple{Char,Int,1}('a'=>1.0)

t0 = AssocTuple{Char,Int}()
t1 = AssocTuple{Char,Int}('a'=>1)
t2 = AssocTuple{Char,Int}('a'=>1.0)

t0 = AssocTuple()
t1 = AssocTuple('a'=>1)
t2 = AssocTuple('a'=>1.0)

# Deducing the element type
t1 = AssocTuple('a'=>1)
@test isa(t1, AssocTuple{Char,Int})
t2 = AssocTuple('a'=>1, 'b'=>2)
@test isa(t2, AssocTuple{Char,Int})

# Constructing from a Pair vs. constructing from an iterator
t1 = AssocTuple(('a'=>1) => ('b'=>2))
@test isa(t1, AssocTuple{Pair{Char,Int}, Pair{Char,Int}})
t2 = AssocTuple(('a'=>1), ('b'=>2))
@test isa(t2, AssocTuple{Char,Int})
t3 = AssocTuple((('a'=>1), ('b'=>2)))
@test isa(t3, AssocTuple{Char,Int})
t4 = AssocTuple(Pair{Char,Int}[('a'=>1), ('b'=>2)])
@test isa(t4, AssocTuple{Char,Int})
t5 = AssocTuple((('a',1), ('b',2)))
@test isa(t5, AssocTuple{Char,Int})
t6 = AssocTuple([('a',1), ('b',2)])
@test isa(t6, AssocTuple{Char,Int})

# Type properties
t0 = AssocTuple{Char,Int}()
@test eltype(t0) === Pair{Char,Int}
t0 = AssocTuple()
@test eltype(t0) === Pair{Any,Any}
@test eltype(t1) === Pair{Pair{Char,Int}, Pair{Char,Int}}
@test eltype(t2) === Pair{Char,Int}

# Object properties
@test isempty(t0)
@test !isempty(t1)
@test !isempty(t2)
@test length(t0) == 0
@test length(t1) == 1
@test length(t2) == 2

# Iterators
@test itercmp(t0, Pair{Char,Int}[])
@test itercmp(t1, Pair{Pair{Char,Int}, Pair{Char,Int}}[('a'=>1) => ('b'=>2)])
@test itercmp(t2, Pair{Char,Int}[('a'=>1), ('b'=>2)])

@test itercmp(keys(t0), Char[])
@test itercmp(keys(t1), Pair{Char,Int}['a'=>1])
@test itercmp(keys(t2), Char['a', 'b'])

@test itercmp(values(t0), Int[])
@test itercmp(values(t1), Pair{Char,Int}['b'=>2])
@test itercmp(values(t2), Int[1, 2])

@test itercmp(eachindex(t0), keys(t0))
@test itercmp(eachindex(t1), keys(t1))
@test itercmp(eachindex(t2), keys(t2))

# Duplicate keys
u1 = AssocTuple{Char,Int}([('a',1), ('a',2), ('b',2), ('a',1)])
@test itercmp(u1, t2)
u2 = AssocTuple{Char,Int}('a'=>1, 'a'=>2, 'b'=>2, 'a'=>1)
@test itercmp(u2, t2)
u3 = AssocTuple([('a',1), ('a',2), ('b',2), ('a',1)])
@test itercmp(u3, t2)
u4 = AssocTuple('a'=>1, 'a'=>2, 'b'=>2, 'a'=>1)
@test itercmp(u4, t2)

# Element-wise access

@test_throws KeyError t0['a']
@test t1['a'=>1] == ('b'=>2)
@test t2['a'] == 1
@test t2['b'] == 2
@test_throws KeyError t2['c']

@test !haskey(t0, 'a')
@test get(t0, 'a', 2) == 2
@test haskey(t2, 'a')
@test haskey(t2, 'b')
@test !haskey(t2, 'c')
@test get(t2, 'a', 4) == 1
@test get(t2, 'b', 4) == 2
@test get(t2, 'c', 4) == 4
@test getkey(t2, 'a', 4) == 'a'
@test getkey(t2, 'b', 4) == 'b'
@test getkey(t2, 'c', 4) == 4


text:
using HDF5
using JLD2
using Pkg
using SparseVertex

include("./triqs_conv_functions.jl")

file = ARGS[1]
outdir = ARGS[2]
# Gimp
gImp = triqs_read_gf(file, "G_imp")

# chi
chiupdo_mesh = h5read(file, "chi_updn_ph_imp/mesh")
mesh = triqs_build_freqGrid(chiupdo_mesh);
chiupdo_raw = h5read(file, "chi_updn_ph_imp/data")
chiupup_raw = h5read(file, "chi_upup_ph_imp/data")
χupdo = permutedims(chiupdo_raw[1,:,:,:] .+ 1im .* chiupdo_raw[2,:,:,:],[3,1,2])
χupup = permutedims(chiupup_raw[1,:,:,:] .+ 1im .* chiupup_raw[2,:,:,:],[3,1,2])
χch = χupup .+ χupdo
χsp = χupup .- χupdo
freqList = triqs_linearize_mesh(mesh)

bGrid = freqList[1][1]:freqList[end][1]
fGrid = freqList[1][2]:freqList[end][2]
nBose = length(bGrid)
nFermi = length(fGrid)
shift = 0
println("Generating freqency mesh with bosonic $(bGrid), fermionic $(fGrid) indices")
β = h5read(file, "chi_updn_ph_imp/mesh/MeshComponent0/domain/beta")

χ0_full = computeχ0(bGrid, fGrid, gImp, β)
Γch = computeΓ(freqList, χch, χ0_full, bGrid, fGrid)
Γsp = computeΓ(freqList, χsp, χ0_full, bGrid, fGrid)
Σ = triqs_read_gf(file, "Sigma_imp")

mkpath(outdir)
mkpath(outdir*"/chi_dir")
mkpath(outdir*"/gamma_dir")
SparseVertex.write_fort_dir("gamma", freqList, Γch, Γsp, outdir*"/gamma_dir", nBose, nFermi)
SparseVertex.write_fort_dir("chi", freqList, χupup, χupdo, outdir*"/chi_dir", nBose, nFermi)

# Grid stuff
include("./genFreqMesh.jl")
gen_mesh(freqList[end][1], freqList[end][2]+1, shift, outdir)

JLD2.save(outdir*"/triqs_out.jld2", "Γch", Γch, "Γsp", Γsp, "χDMFTch", χch, "χDMFTsp", χsp, "gImp", gImp, "SigmaLoc", Σ, "beta", β)