diff --git a/generated_code_examples/haskell/classification/decision_tree.hs b/generated_code_examples/haskell/classification/decision_tree.hs new file mode 100644 index 00000000..87183acf --- /dev/null +++ b/generated_code_examples/haskell/classification/decision_tree.hs @@ -0,0 +1,23 @@ +module Model where +score :: [Double] -> [Double] +score input = + func0 + where + func0 = + if (((input) !! (2)) <= (2.45)) + then + [1.0, 0.0, 0.0] + else + if (((input) !! (3)) <= (1.75)) + then + if (((input) !! (2)) <= (4.95)) + then + if (((input) !! (3)) <= (1.6500001)) + then + [0.0, 1.0, 0.0] + else + [0.0, 0.0, 1.0] + else + [0.0, 0.3333333333333333, 0.6666666666666666] + else + [0.0, 0.021739130434782608, 0.9782608695652174] diff --git a/generated_code_examples/haskell/classification/lightgbm.hs b/generated_code_examples/haskell/classification/lightgbm.hs new file mode 100644 index 00000000..ccee040d --- /dev/null +++ b/generated_code_examples/haskell/classification/lightgbm.hs @@ -0,0 +1,93 @@ +module Model where +score :: [Double] -> [Double] +score input = + [(func2) / (func9), (func5) / (func9), (func8) / (func9)] + where + func0 = + if (((input) !! (2)) > (3.1500000000000004)) + then + if (((input) !! (0)) > (6.450000000000001)) + then + -1.1736122903444903 + else + -1.1736122903444903 + else + if (((input) !! (1)) > (3.35)) + then + -0.9486122853153485 + else + -0.9598622855668056 + func1 = + if (((input) !! (2)) > (3.1500000000000004)) + then + if (((input) !! (2)) > (4.450000000000001)) + then + -0.07218200074594171 + else + -0.0725391787456957 + else + if (((input) !! (1)) > (3.35)) + then + 0.130416969124648 + else + 0.12058330491181404 + func2 = + exp (((0) + (func0)) + (func1)) + func3 = + if (((input) !! (2)) > (1.8)) + then + if (((input) !! (3)) > (1.6500000000000001)) + then + -1.1840003561812273 + else + -0.99234128317334 + else + -1.1934739985732523 + func4 = + if (((input) !! (3)) > (0.45000000000000007)) + then + if (((input) !! (3)) > (1.6500000000000001)) + then + -0.06203313079859976 + else + 0.11141505233015861 + else + if (((input) !! (2)) > (1.4500000000000002)) + then + -0.0720353255122301 + else + -0.07164473223425313 + func5 = + exp (((0) + (func3)) + (func4)) + func6 = + if (((input) !! (3)) > (1.6500000000000001)) + then + if (((input) !! (2)) > (5.3500000000000005)) + then + -0.9314095846701695 + else + -0.9536869036452162 + else + if (((input) !! (2)) > (4.450000000000001)) + then + -1.115439610985773 + else + -1.1541827744206368 + func7 = + if (((input) !! (2)) > (4.750000000000001)) + then + if (((input) !! (2)) > (5.150000000000001)) + then + 0.12968922424213622 + else + 0.07468384042736965 + else + if (((input) !! (1)) > (2.7500000000000004)) + then + -0.07311533184609437 + else + -0.06204412771870974 + func8 = + exp (((0) + (func6)) + (func7)) + func9 = + ((func2) + (func5)) + (func8) diff --git a/generated_code_examples/haskell/classification/linear.hs b/generated_code_examples/haskell/classification/linear.hs new file mode 100644 index 00000000..6a515819 --- /dev/null +++ b/generated_code_examples/haskell/classification/linear.hs @@ -0,0 +1,4 @@ +module Model where +score :: [Double] -> [Double] +score input = + [((((9.774126241420623) + (((input) !! (0)) * (-0.41545978008486634))) + (((input) !! (1)) * (0.9619661444337051))) + (((input) !! (2)) * (-2.5028461157608604))) + (((input) !! (3)) * (-1.0766107732916166)), ((((2.248771246116064) + (((input) !! (0)) * (0.5239098915475155))) + (((input) !! (1)) * (-0.3177027667958222))) + (((input) !! (2)) * (-0.20333498652290763))) + (((input) !! (3)) * (-0.9399605394445277)), ((((-12.022897487538232) + (((input) !! (0)) * (-0.10845011146263966))) + (((input) !! (1)) * (-0.6442633776378855))) + (((input) !! (2)) * (2.7061811022837774))) + (((input) !! (3)) * (2.01657131273614))] diff --git a/generated_code_examples/haskell/classification/random_forest.hs b/generated_code_examples/haskell/classification/random_forest.hs new file mode 100644 index 00000000..3aa1675c --- /dev/null +++ b/generated_code_examples/haskell/classification/random_forest.hs @@ -0,0 +1,45 @@ +module Model where +addVectors :: [Double] -> [Double] -> [Double] +addVectors v1 v2 = zipWith (+) v1 v2 +mulVectorNumber :: [Double] -> Double -> [Double] +mulVectorNumber v1 num = [i * num | i <- v1] +score :: [Double] -> [Double] +score input = + mulVectorNumber (addVectors (func0) (func1)) (0.5) + where + func0 = + if (((input) !! (3)) <= (0.8)) + then + [1.0, 0.0, 0.0] + else + if (((input) !! (2)) <= (4.8500004)) + then + [0.0, 0.9622641509433962, 0.03773584905660377] + else + if (((input) !! (3)) <= (1.75)) + then + if (((input) !! (3)) <= (1.6500001)) + then + [0.0, 0.25, 0.75] + else + [0.0, 1.0, 0.0] + else + [0.0, 0.0, 1.0] + func1 = + if (((input) !! (3)) <= (0.8)) + then + [1.0, 0.0, 0.0] + else + if (((input) !! (0)) <= (6.1499996)) + then + if (((input) !! (2)) <= (4.8500004)) + then + [0.0, 0.9090909090909091, 0.09090909090909091] + else + [0.0, 0.0, 1.0] + else + if (((input) !! (3)) <= (1.75)) + then + [0.0, 0.8666666666666667, 0.13333333333333333] + else + [0.0, 0.0, 1.0] diff --git a/generated_code_examples/haskell/classification/svm.hs b/generated_code_examples/haskell/classification/svm.hs new file mode 100644 index 00000000..c64dc2a3 --- /dev/null +++ b/generated_code_examples/haskell/classification/svm.hs @@ -0,0 +1,63 @@ +module Model where +score :: [Double] -> [Double] +score input = + [(((((((((((((((((((0.11166728251449935) + ((func1) * (-0.7546041223284677))) + ((func2) * (-0.0))) + ((func3) * (-0.0))) + ((func4) * (-0.8877695556805599))) + ((func5) * (-0.0))) + ((func6) * (-0.0))) + ((func7) * (-0.8877695556805599))) + ((func8) * (-0.0))) + ((func9) * (-0.0))) + ((func10) * (-0.8877695556805599))) + ((func11) * (-0.8877695556805599))) + ((func12) * (0.8877695556805599))) + ((func13) * (0.0))) + ((func14) * (0.8877695556805599))) + ((func15) * (0.0))) + ((func16) * (0.7126145313390118))) + ((func17) * (0.04198959098945601))) + ((func18) * (0.8877695556805599))) + ((func19) * (0.8877695556805599)), (((((((((((((((((-0.043064448593694335) + ((func20) * (-0.3790553204589494))) + ((func21) * (-0.0))) + ((func22) * (-0.0))) + ((func23) * (-0.3790553204589494))) + ((func24) * (-0.3730604955455548))) + ((func25) * (-0.09964456068725433))) + ((func26) * (-0.26645281866213855))) + ((func27) * (-0.0))) + ((func28) * (-0.3790553204589494))) + ((func12) * (0.3790553204589494))) + ((func13) * (0.05589866243098008))) + ((func14) * (0.3790553204589494))) + ((func15) * (0.3790553204589494))) + ((func16) * (0.0))) + ((func17) * (0.0))) + ((func18) * (0.30420389200501824))) + ((func19) * (0.3790553204589494)), ((((((((((((((((((((2.1222908467070423) + ((func20) * (-109.16681524774745))) + ((func21) * (-109.16681524774745))) + ((func22) * (-105.17803142414256))) + ((func23) * (-17.487321182626303))) + ((func24) * (-0.0))) + ((func25) * (-71.97838649684462))) + ((func26) * (-0.0))) + ((func27) * (-12.773209867105617))) + ((func28) * (-109.16681524774745))) + ((func1) * (0.0))) + ((func2) * (56.65430288285653))) + ((func3) * (41.59583084011515))) + ((func4) * (0.0))) + ((func5) * (109.16681524774745))) + ((func6) * (109.16681524774745))) + ((func7) * (0.0))) + ((func8) * (109.16681524774745))) + ((func9) * (109.16681524774745))) + ((func10) * (0.0))) + ((func11) * (0.0))] + where + func0 = + (0) - (0.06408191572099702) + func1 = + exp ((func0) * ((((((5.6) - ((input) !! (0))) ** (2)) + (((2.9) - ((input) !! (1))) ** (2))) + (((3.6) - ((input) !! (2))) ** (2))) + (((1.3) - ((input) !! (3))) ** (2)))) + func2 = + exp ((func0) * ((((((5.4) - ((input) !! (0))) ** (2)) + (((3.0) - ((input) !! (1))) ** (2))) + (((4.5) - ((input) !! (2))) ** (2))) + (((1.5) - ((input) !! (3))) ** (2)))) + func3 = + exp ((func0) * ((((((6.2) - ((input) !! (0))) ** (2)) + (((2.2) - ((input) !! (1))) ** (2))) + (((4.5) - ((input) !! (2))) ** (2))) + (((1.5) - ((input) !! (3))) ** (2)))) + func4 = + exp ((func0) * ((((((5.0) - ((input) !! (0))) ** (2)) + (((2.3) - ((input) !! (1))) ** (2))) + (((3.3) - ((input) !! (2))) ** (2))) + (((1.0) - ((input) !! (3))) ** (2)))) + func5 = + exp ((func0) * ((((((5.9) - ((input) !! (0))) ** (2)) + (((3.2) - ((input) !! (1))) ** (2))) + (((4.8) - ((input) !! (2))) ** (2))) + (((1.8) - ((input) !! (3))) ** (2)))) + func6 = + exp ((func0) * ((((((6.7) - ((input) !! (0))) ** (2)) + (((3.0) - ((input) !! (1))) ** (2))) + (((5.0) - ((input) !! (2))) ** (2))) + (((1.7) - ((input) !! (3))) ** (2)))) + func7 = + exp ((func0) * ((((((4.9) - ((input) !! (0))) ** (2)) + (((2.4) - ((input) !! (1))) ** (2))) + (((3.3) - ((input) !! (2))) ** (2))) + (((1.0) - ((input) !! (3))) ** (2)))) + func8 = + exp ((func0) * ((((((6.3) - ((input) !! (0))) ** (2)) + (((2.5) - ((input) !! (1))) ** (2))) + (((4.9) - ((input) !! (2))) ** (2))) + (((1.5) - ((input) !! (3))) ** (2)))) + func9 = + exp ((func0) * ((((((6.0) - ((input) !! (0))) ** (2)) + (((2.7) - ((input) !! (1))) ** (2))) + (((5.1) - ((input) !! (2))) ** (2))) + (((1.6) - ((input) !! (3))) ** (2)))) + func10 = + exp ((func0) * ((((((5.7) - ((input) !! (0))) ** (2)) + (((2.6) - ((input) !! (1))) ** (2))) + (((3.5) - ((input) !! (2))) ** (2))) + (((1.0) - ((input) !! (3))) ** (2)))) + func11 = + exp ((func0) * ((((((5.1) - ((input) !! (0))) ** (2)) + (((2.5) - ((input) !! (1))) ** (2))) + (((3.0) - ((input) !! (2))) ** (2))) + (((1.1) - ((input) !! (3))) ** (2)))) + func12 = + exp ((func0) * ((((((5.1) - ((input) !! (0))) ** (2)) + (((3.8) - ((input) !! (1))) ** (2))) + (((1.9) - ((input) !! (2))) ** (2))) + (((0.4) - ((input) !! (3))) ** (2)))) + func13 = + exp ((func0) * ((((((5.7) - ((input) !! (0))) ** (2)) + (((4.4) - ((input) !! (1))) ** (2))) + (((1.5) - ((input) !! (2))) ** (2))) + (((0.4) - ((input) !! (3))) ** (2)))) + func14 = + exp ((func0) * ((((((5.1) - ((input) !! (0))) ** (2)) + (((3.3) - ((input) !! (1))) ** (2))) + (((1.7) - ((input) !! (2))) ** (2))) + (((0.5) - ((input) !! (3))) ** (2)))) + func15 = + exp ((func0) * ((((((5.7) - ((input) !! (0))) ** (2)) + (((3.8) - ((input) !! (1))) ** (2))) + (((1.7) - ((input) !! (2))) ** (2))) + (((0.3) - ((input) !! (3))) ** (2)))) + func16 = + exp ((func0) * ((((((5.4) - ((input) !! (0))) ** (2)) + (((3.4) - ((input) !! (1))) ** (2))) + (((1.7) - ((input) !! (2))) ** (2))) + (((0.2) - ((input) !! (3))) ** (2)))) + func17 = + exp ((func0) * ((((((5.0) - ((input) !! (0))) ** (2)) + (((3.0) - ((input) !! (1))) ** (2))) + (((1.6) - ((input) !! (2))) ** (2))) + (((0.2) - ((input) !! (3))) ** (2)))) + func18 = + exp ((func0) * ((((((4.5) - ((input) !! (0))) ** (2)) + (((2.3) - ((input) !! (1))) ** (2))) + (((1.3) - ((input) !! (2))) ** (2))) + (((0.3) - ((input) !! (3))) ** (2)))) + func19 = + exp ((func0) * ((((((4.8) - ((input) !! (0))) ** (2)) + (((3.4) - ((input) !! (1))) ** (2))) + (((1.9) - ((input) !! (2))) ** (2))) + (((0.2) - ((input) !! (3))) ** (2)))) + func20 = + exp ((func0) * ((((((6.0) - ((input) !! (0))) ** (2)) + (((3.0) - ((input) !! (1))) ** (2))) + (((4.8) - ((input) !! (2))) ** (2))) + (((1.8) - ((input) !! (3))) ** (2)))) + func21 = + exp ((func0) * ((((((6.3) - ((input) !! (0))) ** (2)) + (((2.8) - ((input) !! (1))) ** (2))) + (((5.1) - ((input) !! (2))) ** (2))) + (((1.5) - ((input) !! (3))) ** (2)))) + func22 = + exp ((func0) * ((((((6.1) - ((input) !! (0))) ** (2)) + (((3.0) - ((input) !! (1))) ** (2))) + (((4.9) - ((input) !! (2))) ** (2))) + (((1.8) - ((input) !! (3))) ** (2)))) + func23 = + exp ((func0) * ((((((4.9) - ((input) !! (0))) ** (2)) + (((2.5) - ((input) !! (1))) ** (2))) + (((4.5) - ((input) !! (2))) ** (2))) + (((1.7) - ((input) !! (3))) ** (2)))) + func24 = + exp ((func0) * ((((((5.6) - ((input) !! (0))) ** (2)) + (((2.8) - ((input) !! (1))) ** (2))) + (((4.9) - ((input) !! (2))) ** (2))) + (((2.0) - ((input) !! (3))) ** (2)))) + func25 = + exp ((func0) * ((((((6.0) - ((input) !! (0))) ** (2)) + (((2.2) - ((input) !! (1))) ** (2))) + (((5.0) - ((input) !! (2))) ** (2))) + (((1.5) - ((input) !! (3))) ** (2)))) + func26 = + exp ((func0) * ((((((7.9) - ((input) !! (0))) ** (2)) + (((3.8) - ((input) !! (1))) ** (2))) + (((6.4) - ((input) !! (2))) ** (2))) + (((2.0) - ((input) !! (3))) ** (2)))) + func27 = + exp ((func0) * ((((((7.2) - ((input) !! (0))) ** (2)) + (((3.0) - ((input) !! (1))) ** (2))) + (((5.8) - ((input) !! (2))) ** (2))) + (((1.6) - ((input) !! (3))) ** (2)))) + func28 = + exp ((func0) * ((((((6.2) - ((input) !! (0))) ** (2)) + (((2.8) - ((input) !! (1))) ** (2))) + (((4.8) - ((input) !! (2))) ** (2))) + (((1.8) - ((input) !! (3))) ** (2)))) diff --git a/generated_code_examples/haskell/classification/xgboost.hs b/generated_code_examples/haskell/classification/xgboost.hs new file mode 100644 index 00000000..4700843e --- /dev/null +++ b/generated_code_examples/haskell/classification/xgboost.hs @@ -0,0 +1,69 @@ +module Model where +score :: [Double] -> [Double] +score input = + [(func2) / (func9), (func5) / (func9), (func8) / (func9)] + where + func0 = + if (((input) !! (2)) >= (2.45)) + then + -0.219950154 + else + 0.430243909 + func1 = + if (((input) !! (2)) >= (2.45)) + then + -0.196918547 + else + 0.294934332 + func2 = + exp (((0.5) + (func0)) + (func1)) + func3 = + if (((input) !! (2)) >= (2.45)) + then + if (((input) !! (3)) >= (1.75)) + then + -0.200518161 + else + 0.369124442 + else + -0.215121984 + func4 = + if (((input) !! (2)) >= (2.45)) + then + if (((input) !! (2)) >= (4.8500004)) + then + -0.148884818 + else + 0.279661298 + else + -0.191438049 + func5 = + exp (((0.5) + (func3)) + (func4)) + func6 = + if (((input) !! (3)) >= (1.6500001)) + then + 0.402985066 + else + if (((input) !! (2)) >= (4.95)) + then + 0.217241377 + else + -0.219740286 + func7 = + if (((input) !! (2)) >= (4.75)) + then + if (((input) !! (3)) >= (1.75)) + then + 0.286929518 + else + 0.0627289712 + else + if (((input) !! (3)) >= (1.55)) + then + 0.00989914499 + else + -0.196593687 + func8 = + exp (((0.5) + (func6)) + (func7)) + func9 = + ((func2) + (func5)) + (func8) diff --git a/generated_code_examples/haskell/regression/decision_tree.hs b/generated_code_examples/haskell/regression/decision_tree.hs new file mode 100644 index 00000000..da3d3f28 --- /dev/null +++ b/generated_code_examples/haskell/regression/decision_tree.hs @@ -0,0 +1,23 @@ +module Model where +score :: [Double] -> Double +score input = + func0 + where + func0 = + if (((input) !! (5)) <= (6.941)) + then + if (((input) !! (12)) <= (14.4)) + then + if (((input) !! (7)) <= (1.38485)) + then + 45.58 + else + 22.939004149377574 + else + 14.910404624277467 + else + if (((input) !! (5)) <= (7.4370003)) + then + 32.11304347826088 + else + 45.096666666666664 diff --git a/generated_code_examples/haskell/regression/lightgbm.hs b/generated_code_examples/haskell/regression/lightgbm.hs new file mode 100644 index 00000000..ed3d0e6d --- /dev/null +++ b/generated_code_examples/haskell/regression/lightgbm.hs @@ -0,0 +1,33 @@ +module Model where +score :: [Double] -> Double +score input = + ((0) + (func0)) + (func1) + where + func0 = + if (((input) !! (5)) > (6.918000000000001)) + then + if (((input) !! (5)) > (7.437)) + then + 24.81112131071211 + else + 23.5010290754961 + else + if (((input) !! (12)) > (14.365)) + then + 21.796569516771488 + else + 22.640634908349323 + func1 = + if (((input) !! (12)) > (9.63)) + then + if (((input) !! (12)) > (19.23)) + then + -0.9218520876020193 + else + -0.30490175606373926 + else + if (((input) !! (5)) > (7.437)) + then + 2.028554553190867 + else + 0.45970642160364367 diff --git a/generated_code_examples/haskell/regression/linear.hs b/generated_code_examples/haskell/regression/linear.hs new file mode 100644 index 00000000..9f58e0df --- /dev/null +++ b/generated_code_examples/haskell/regression/linear.hs @@ -0,0 +1,4 @@ +module Model where +score :: [Double] -> Double +score input = + (((((((((((((37.13534685269026) + (((input) !! (0)) * (-0.10859102499053891))) + (((input) !! (1)) * (0.04419889872599562))) + (((input) !! (2)) * (0.017466905407308372))) + (((input) !! (3)) * (2.832321087004625))) + (((input) !! (4)) * (-18.48374869795793))) + (((input) !! (5)) * (3.835495548436564))) + (((input) !! (6)) * (0.00014091650900214126))) + (((input) !! (7)) * (-1.5040340046693192))) + (((input) !! (8)) * (0.31061748524339455))) + (((input) !! (9)) * (-0.012306650033752073))) + (((input) !! (10)) * (-0.9736183984588207))) + (((input) !! (11)) * (0.009403964809694718))) + (((input) !! (12)) * (-0.5203427347180726)) diff --git a/generated_code_examples/haskell/regression/random_forest.hs b/generated_code_examples/haskell/regression/random_forest.hs new file mode 100644 index 00000000..c02fc5bf --- /dev/null +++ b/generated_code_examples/haskell/regression/random_forest.hs @@ -0,0 +1,41 @@ +module Model where +score :: [Double] -> Double +score input = + ((func0) + (func1)) * (0.5) + where + func0 = + if (((input) !! (12)) <= (8.91)) + then + if (((input) !! (5)) <= (6.902)) + then + if (((input) !! (7)) <= (1.48495)) + then + 50.0 + else + 25.320000000000004 + else + 38.34810126582279 + else + if (((input) !! (0)) <= (5.84803)) + then + 19.99185520361991 + else + 12.102469135802467 + func1 = + if (((input) !! (12)) <= (9.725)) + then + if (((input) !! (5)) <= (7.4525)) + then + if (((input) !! (5)) <= (6.7539997)) + then + 24.801739130434775 + else + 32.47230769230769 + else + 47.075 + else + if (((input) !! (12)) <= (15.0)) + then + 20.44094488188976 + else + 14.823214285714291 diff --git a/generated_code_examples/haskell/regression/svm.hs b/generated_code_examples/haskell/regression/svm.hs new file mode 100644 index 00000000..970b0848 --- /dev/null +++ b/generated_code_examples/haskell/regression/svm.hs @@ -0,0 +1,7 @@ +module Model where +score :: [Double] -> Double +score input = + (((((((((((((((((((((((((((((((((((((((((((((((((((25.365216820680594) + ((exp ((func0) * (((((((((((((((1.15172) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((8.14) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.538) - ((input) !! (4))) ** (2))) + (((5.701) - ((input) !! (5))) ** (2))) + (((95.0) - ((input) !! (6))) ** (2))) + (((3.7872) - ((input) !! (7))) ** (2))) + (((4.0) - ((input) !! (8))) ** (2))) + (((307.0) - ((input) !! (9))) ** (2))) + (((21.0) - ((input) !! (10))) ** (2))) + (((358.77) - ((input) !! (11))) ** (2))) + (((18.35) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((6.53876) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((18.1) - ((input) !! (2))) ** (2))) + (((1.0) - ((input) !! (3))) ** (2))) + (((0.631) - ((input) !! (4))) ** (2))) + (((7.016) - ((input) !! (5))) ** (2))) + (((97.5) - ((input) !! (6))) ** (2))) + (((1.2024) - ((input) !! (7))) ** (2))) + (((24.0) - ((input) !! (8))) ** (2))) + (((666.0) - ((input) !! (9))) ** (2))) + (((20.2) - ((input) !! (10))) ** (2))) + (((392.05) - ((input) !! (11))) ** (2))) + (((2.96) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((22.5971) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((18.1) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.7) - ((input) !! (4))) ** (2))) + (((5.0) - ((input) !! (5))) ** (2))) + (((89.5) - ((input) !! (6))) ** (2))) + (((1.5184) - ((input) !! (7))) ** (2))) + (((24.0) - ((input) !! (8))) ** (2))) + (((666.0) - ((input) !! (9))) ** (2))) + (((20.2) - ((input) !! (10))) ** (2))) + (((396.9) - ((input) !! (11))) ** (2))) + (((31.99) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((45.7461) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((18.1) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.693) - ((input) !! (4))) ** (2))) + (((4.519) - ((input) !! (5))) ** (2))) + (((100.0) - ((input) !! (6))) ** (2))) + (((1.6582) - ((input) !! (7))) ** (2))) + (((24.0) - ((input) !! (8))) ** (2))) + (((666.0) - ((input) !! (9))) ** (2))) + (((20.2) - ((input) !! (10))) ** (2))) + (((88.27) - ((input) !! (11))) ** (2))) + (((36.98) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((0.08187) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((2.89) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.445) - ((input) !! (4))) ** (2))) + (((7.82) - ((input) !! (5))) ** (2))) + (((36.9) - ((input) !! (6))) ** (2))) + (((3.4952) - ((input) !! (7))) ** (2))) + (((2.0) - ((input) !! (8))) ** (2))) + (((276.0) - ((input) !! (9))) ** (2))) + (((18.0) - ((input) !! (10))) ** (2))) + (((393.53) - ((input) !! (11))) ** (2))) + (((3.57) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((7.67202) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((18.1) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.693) - ((input) !! (4))) ** (2))) + (((5.747) - ((input) !! (5))) ** (2))) + (((98.9) - ((input) !! (6))) ** (2))) + (((1.6334) - ((input) !! (7))) ** (2))) + (((24.0) - ((input) !! (8))) ** (2))) + (((666.0) - ((input) !! (9))) ** (2))) + (((20.2) - ((input) !! (10))) ** (2))) + (((393.1) - ((input) !! (11))) ** (2))) + (((19.92) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((1.46336) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((19.58) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.605) - ((input) !! (4))) ** (2))) + (((7.489) - ((input) !! (5))) ** (2))) + (((90.8) - ((input) !! (6))) ** (2))) + (((1.9709) - ((input) !! (7))) ** (2))) + (((5.0) - ((input) !! (8))) ** (2))) + (((403.0) - ((input) !! (9))) ** (2))) + (((14.7) - ((input) !! (10))) ** (2))) + (((374.43) - ((input) !! (11))) ** (2))) + (((1.73) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((1.83377) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((19.58) - ((input) !! (2))) ** (2))) + (((1.0) - ((input) !! (3))) ** (2))) + (((0.605) - ((input) !! (4))) ** (2))) + (((7.802) - ((input) !! (5))) ** (2))) + (((98.2) - ((input) !! (6))) ** (2))) + (((2.0407) - ((input) !! (7))) ** (2))) + (((5.0) - ((input) !! (8))) ** (2))) + (((403.0) - ((input) !! (9))) ** (2))) + (((14.7) - ((input) !! (10))) ** (2))) + (((389.61) - ((input) !! (11))) ** (2))) + (((1.92) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((1.22358) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((19.58) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.605) - ((input) !! (4))) ** (2))) + (((6.943) - ((input) !! (5))) ** (2))) + (((97.4) - ((input) !! (6))) ** (2))) + (((1.8773) - ((input) !! (7))) ** (2))) + (((5.0) - ((input) !! (8))) ** (2))) + (((403.0) - ((input) !! (9))) ** (2))) + (((14.7) - ((input) !! (10))) ** (2))) + (((363.43) - ((input) !! (11))) ** (2))) + (((4.59) - ((input) !! (12))) ** (2))))) * (0.7500000000002167))) + ((exp ((func0) * (((((((((((((((0.33147) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((6.2) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.507) - ((input) !! (4))) ** (2))) + (((8.247) - ((input) !! (5))) ** (2))) + (((70.4) - ((input) !! (6))) ** (2))) + (((3.6519) - ((input) !! (7))) ** (2))) + (((8.0) - ((input) !! (8))) ** (2))) + (((307.0) - ((input) !! (9))) ** (2))) + (((17.4) - ((input) !! (10))) ** (2))) + (((378.95) - ((input) !! (11))) ** (2))) + (((3.95) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((25.0461) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((18.1) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.693) - ((input) !! (4))) ** (2))) + (((5.987) - ((input) !! (5))) ** (2))) + (((100.0) - ((input) !! (6))) ** (2))) + (((1.5888) - ((input) !! (7))) ** (2))) + (((24.0) - ((input) !! (8))) ** (2))) + (((666.0) - ((input) !! (9))) ** (2))) + (((20.2) - ((input) !! (10))) ** (2))) + (((396.9) - ((input) !! (11))) ** (2))) + (((26.77) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((1.13081) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((8.14) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.538) - ((input) !! (4))) ** (2))) + (((5.713) - ((input) !! (5))) ** (2))) + (((94.1) - ((input) !! (6))) ** (2))) + (((4.233) - ((input) !! (7))) ** (2))) + (((4.0) - ((input) !! (8))) ** (2))) + (((307.0) - ((input) !! (9))) ** (2))) + (((21.0) - ((input) !! (10))) ** (2))) + (((360.17) - ((input) !! (11))) ** (2))) + (((22.6) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((0.57834) - ((input) !! (0))) ** (2)) + (((20.0) - ((input) !! (1))) ** (2))) + (((3.97) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.575) - ((input) !! (4))) ** (2))) + (((8.297) - ((input) !! (5))) ** (2))) + (((67.0) - ((input) !! (6))) ** (2))) + (((2.4216) - ((input) !! (7))) ** (2))) + (((5.0) - ((input) !! (8))) ** (2))) + (((264.0) - ((input) !! (9))) ** (2))) + (((13.0) - ((input) !! (10))) ** (2))) + (((384.54) - ((input) !! (11))) ** (2))) + (((7.44) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((16.8118) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((18.1) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.7) - ((input) !! (4))) ** (2))) + (((5.277) - ((input) !! (5))) ** (2))) + (((98.1) - ((input) !! (6))) ** (2))) + (((1.4261) - ((input) !! (7))) ** (2))) + (((24.0) - ((input) !! (8))) ** (2))) + (((666.0) - ((input) !! (9))) ** (2))) + (((20.2) - ((input) !! (10))) ** (2))) + (((396.9) - ((input) !! (11))) ** (2))) + (((30.81) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((0.31533) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((6.2) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.504) - ((input) !! (4))) ** (2))) + (((8.266) - ((input) !! (5))) ** (2))) + (((78.3) - ((input) !! (6))) ** (2))) + (((2.8944) - ((input) !! (7))) ** (2))) + (((8.0) - ((input) !! (8))) ** (2))) + (((307.0) - ((input) !! (9))) ** (2))) + (((17.4) - ((input) !! (10))) ** (2))) + (((385.05) - ((input) !! (11))) ** (2))) + (((4.14) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((67.9208) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((18.1) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.693) - ((input) !! (4))) ** (2))) + (((5.683) - ((input) !! (5))) ** (2))) + (((100.0) - ((input) !! (6))) ** (2))) + (((1.4254) - ((input) !! (7))) ** (2))) + (((24.0) - ((input) !! (8))) ** (2))) + (((666.0) - ((input) !! (9))) ** (2))) + (((20.2) - ((input) !! (10))) ** (2))) + (((384.97) - ((input) !! (11))) ** (2))) + (((22.98) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((0.18337) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((27.74) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.609) - ((input) !! (4))) ** (2))) + (((5.414) - ((input) !! (5))) ** (2))) + (((98.3) - ((input) !! (6))) ** (2))) + (((1.7554) - ((input) !! (7))) ** (2))) + (((4.0) - ((input) !! (8))) ** (2))) + (((711.0) - ((input) !! (9))) ** (2))) + (((20.1) - ((input) !! (10))) ** (2))) + (((344.05) - ((input) !! (11))) ** (2))) + (((23.97) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((41.5292) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((18.1) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.693) - ((input) !! (4))) ** (2))) + (((5.531) - ((input) !! (5))) ** (2))) + (((85.4) - ((input) !! (6))) ** (2))) + (((1.6074) - ((input) !! (7))) ** (2))) + (((24.0) - ((input) !! (8))) ** (2))) + (((666.0) - ((input) !! (9))) ** (2))) + (((20.2) - ((input) !! (10))) ** (2))) + (((329.46) - ((input) !! (11))) ** (2))) + (((27.38) - ((input) !! (12))) ** (2))))) * (-0.1404778429721232))) + ((exp ((func0) * (((((((((((((((1.51902) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((19.58) - ((input) !! (2))) ** (2))) + (((1.0) - ((input) !! (3))) ** (2))) + (((0.605) - ((input) !! (4))) ** (2))) + (((8.375) - ((input) !! (5))) ** (2))) + (((93.9) - ((input) !! (6))) ** (2))) + (((2.162) - ((input) !! (7))) ** (2))) + (((5.0) - ((input) !! (8))) ** (2))) + (((403.0) - ((input) !! (9))) ** (2))) + (((14.7) - ((input) !! (10))) ** (2))) + (((388.45) - ((input) !! (11))) ** (2))) + (((3.32) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((1.61282) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((8.14) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.538) - ((input) !! (4))) ** (2))) + (((6.096) - ((input) !! (5))) ** (2))) + (((96.9) - ((input) !! (6))) ** (2))) + (((3.7598) - ((input) !! (7))) ** (2))) + (((4.0) - ((input) !! (8))) ** (2))) + (((307.0) - ((input) !! (9))) ** (2))) + (((21.0) - ((input) !! (10))) ** (2))) + (((248.31) - ((input) !! (11))) ** (2))) + (((20.34) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((14.2362) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((18.1) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.693) - ((input) !! (4))) ** (2))) + (((6.343) - ((input) !! (5))) ** (2))) + (((100.0) - ((input) !! (6))) ** (2))) + (((1.5741) - ((input) !! (7))) ** (2))) + (((24.0) - ((input) !! (8))) ** (2))) + (((666.0) - ((input) !! (9))) ** (2))) + (((20.2) - ((input) !! (10))) ** (2))) + (((396.9) - ((input) !! (11))) ** (2))) + (((20.32) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((9.2323) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((18.1) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.631) - ((input) !! (4))) ** (2))) + (((6.216) - ((input) !! (5))) ** (2))) + (((100.0) - ((input) !! (6))) ** (2))) + (((1.1691) - ((input) !! (7))) ** (2))) + (((24.0) - ((input) !! (8))) ** (2))) + (((666.0) - ((input) !! (9))) ** (2))) + (((20.2) - ((input) !! (10))) ** (2))) + (((366.15) - ((input) !! (11))) ** (2))) + (((9.53) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((0.04741) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((11.93) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.573) - ((input) !! (4))) ** (2))) + (((6.03) - ((input) !! (5))) ** (2))) + (((80.8) - ((input) !! (6))) ** (2))) + (((2.505) - ((input) !! (7))) ** (2))) + (((1.0) - ((input) !! (8))) ** (2))) + (((273.0) - ((input) !! (9))) ** (2))) + (((21.0) - ((input) !! (10))) ** (2))) + (((396.9) - ((input) !! (11))) ** (2))) + (((7.88) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((0.98843) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((8.14) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.538) - ((input) !! (4))) ** (2))) + (((5.813) - ((input) !! (5))) ** (2))) + (((100.0) - ((input) !! (6))) ** (2))) + (((4.0952) - ((input) !! (7))) ** (2))) + (((4.0) - ((input) !! (8))) ** (2))) + (((307.0) - ((input) !! (9))) ** (2))) + (((21.0) - ((input) !! (10))) ** (2))) + (((394.54) - ((input) !! (11))) ** (2))) + (((19.88) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((9.91655) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((18.1) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.693) - ((input) !! (4))) ** (2))) + (((5.852) - ((input) !! (5))) ** (2))) + (((77.8) - ((input) !! (6))) ** (2))) + (((1.5004) - ((input) !! (7))) ** (2))) + (((24.0) - ((input) !! (8))) ** (2))) + (((666.0) - ((input) !! (9))) ** (2))) + (((20.2) - ((input) !! (10))) ** (2))) + (((338.16) - ((input) !! (11))) ** (2))) + (((29.97) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((1.38799) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((8.14) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.538) - ((input) !! (4))) ** (2))) + (((5.95) - ((input) !! (5))) ** (2))) + (((82.0) - ((input) !! (6))) ** (2))) + (((3.99) - ((input) !! (7))) ** (2))) + (((4.0) - ((input) !! (8))) ** (2))) + (((307.0) - ((input) !! (9))) ** (2))) + (((21.0) - ((input) !! (10))) ** (2))) + (((232.6) - ((input) !! (11))) ** (2))) + (((27.71) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((0.61154) - ((input) !! (0))) ** (2)) + (((20.0) - ((input) !! (1))) ** (2))) + (((3.97) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.647) - ((input) !! (4))) ** (2))) + (((8.704) - ((input) !! (5))) ** (2))) + (((86.9) - ((input) !! (6))) ** (2))) + (((1.801) - ((input) !! (7))) ** (2))) + (((5.0) - ((input) !! (8))) ** (2))) + (((264.0) - ((input) !! (9))) ** (2))) + (((13.0) - ((input) !! (10))) ** (2))) + (((389.7) - ((input) !! (11))) ** (2))) + (((5.12) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((10.8342) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((18.1) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.679) - ((input) !! (4))) ** (2))) + (((6.782) - ((input) !! (5))) ** (2))) + (((90.8) - ((input) !! (6))) ** (2))) + (((1.8195) - ((input) !! (7))) ** (2))) + (((24.0) - ((input) !! (8))) ** (2))) + (((666.0) - ((input) !! (9))) ** (2))) + (((20.2) - ((input) !! (10))) ** (2))) + (((21.57) - ((input) !! (11))) ** (2))) + (((25.79) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((8.26725) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((18.1) - ((input) !! (2))) ** (2))) + (((1.0) - ((input) !! (3))) ** (2))) + (((0.668) - ((input) !! (4))) ** (2))) + (((5.875) - ((input) !! (5))) ** (2))) + (((89.6) - ((input) !! (6))) ** (2))) + (((1.1296) - ((input) !! (7))) ** (2))) + (((24.0) - ((input) !! (8))) ** (2))) + (((666.0) - ((input) !! (9))) ** (2))) + (((20.2) - ((input) !! (10))) ** (2))) + (((347.88) - ((input) !! (11))) ** (2))) + (((8.88) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((0.52693) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((6.2) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.504) - ((input) !! (4))) ** (2))) + (((8.725) - ((input) !! (5))) ** (2))) + (((83.0) - ((input) !! (6))) ** (2))) + (((2.8944) - ((input) !! (7))) ** (2))) + (((8.0) - ((input) !! (8))) ** (2))) + (((307.0) - ((input) !! (9))) ** (2))) + (((17.4) - ((input) !! (10))) ** (2))) + (((382.0) - ((input) !! (11))) ** (2))) + (((4.63) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((0.0351) - ((input) !! (0))) ** (2)) + (((95.0) - ((input) !! (1))) ** (2))) + (((2.68) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.4161) - ((input) !! (4))) ** (2))) + (((7.853) - ((input) !! (5))) ** (2))) + (((33.2) - ((input) !! (6))) ** (2))) + (((5.118) - ((input) !! (7))) ** (2))) + (((4.0) - ((input) !! (8))) ** (2))) + (((224.0) - ((input) !! (9))) ** (2))) + (((14.7) - ((input) !! (10))) ** (2))) + (((392.78) - ((input) !! (11))) ** (2))) + (((3.81) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((1.25179) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((8.14) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.538) - ((input) !! (4))) ** (2))) + (((5.57) - ((input) !! (5))) ** (2))) + (((98.1) - ((input) !! (6))) ** (2))) + (((3.7979) - ((input) !! (7))) ** (2))) + (((4.0) - ((input) !! (8))) ** (2))) + (((307.0) - ((input) !! (9))) ** (2))) + (((21.0) - ((input) !! (10))) ** (2))) + (((376.57) - ((input) !! (11))) ** (2))) + (((21.02) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((0.29819) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((6.2) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.504) - ((input) !! (4))) ** (2))) + (((7.686) - ((input) !! (5))) ** (2))) + (((17.0) - ((input) !! (6))) ** (2))) + (((3.3751) - ((input) !! (7))) ** (2))) + (((8.0) - ((input) !! (8))) ** (2))) + (((307.0) - ((input) !! (9))) ** (2))) + (((17.4) - ((input) !! (10))) ** (2))) + (((377.51) - ((input) !! (11))) ** (2))) + (((3.92) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((38.3518) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((18.1) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.693) - ((input) !! (4))) ** (2))) + (((5.453) - ((input) !! (5))) ** (2))) + (((100.0) - ((input) !! (6))) ** (2))) + (((1.4896) - ((input) !! (7))) ** (2))) + (((24.0) - ((input) !! (8))) ** (2))) + (((666.0) - ((input) !! (9))) ** (2))) + (((20.2) - ((input) !! (10))) ** (2))) + (((396.9) - ((input) !! (11))) ** (2))) + (((30.59) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((0.06129) - ((input) !! (0))) ** (2)) + (((20.0) - ((input) !! (1))) ** (2))) + (((3.33) - ((input) !! (2))) ** (2))) + (((1.0) - ((input) !! (3))) ** (2))) + (((0.4429) - ((input) !! (4))) ** (2))) + (((7.645) - ((input) !! (5))) ** (2))) + (((49.7) - ((input) !! (6))) ** (2))) + (((5.2119) - ((input) !! (7))) ** (2))) + (((5.0) - ((input) !! (8))) ** (2))) + (((216.0) - ((input) !! (9))) ** (2))) + (((14.9) - ((input) !! (10))) ** (2))) + (((377.07) - ((input) !! (11))) ** (2))) + (((3.01) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((0.05602) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((2.46) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.488) - ((input) !! (4))) ** (2))) + (((7.831) - ((input) !! (5))) ** (2))) + (((53.6) - ((input) !! (6))) ** (2))) + (((3.1992) - ((input) !! (7))) ** (2))) + (((3.0) - ((input) !! (8))) ** (2))) + (((193.0) - ((input) !! (9))) ** (2))) + (((17.8) - ((input) !! (10))) ** (2))) + (((392.63) - ((input) !! (11))) ** (2))) + (((4.45) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((1.35472) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((8.14) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.538) - ((input) !! (4))) ** (2))) + (((6.072) - ((input) !! (5))) ** (2))) + (((100.0) - ((input) !! (6))) ** (2))) + (((4.175) - ((input) !! (7))) ** (2))) + (((4.0) - ((input) !! (8))) ** (2))) + (((307.0) - ((input) !! (9))) ** (2))) + (((21.0) - ((input) !! (10))) ** (2))) + (((376.73) - ((input) !! (11))) ** (2))) + (((13.04) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((0.01501) - ((input) !! (0))) ** (2)) + (((90.0) - ((input) !! (1))) ** (2))) + (((1.21) - ((input) !! (2))) ** (2))) + (((1.0) - ((input) !! (3))) ** (2))) + (((0.401) - ((input) !! (4))) ** (2))) + (((7.923) - ((input) !! (5))) ** (2))) + (((24.8) - ((input) !! (6))) ** (2))) + (((5.885) - ((input) !! (7))) ** (2))) + (((1.0) - ((input) !! (8))) ** (2))) + (((198.0) - ((input) !! (9))) ** (2))) + (((13.6) - ((input) !! (10))) ** (2))) + (((395.52) - ((input) !! (11))) ** (2))) + (((3.16) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((0.25387) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((6.91) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.448) - ((input) !! (4))) ** (2))) + (((5.399) - ((input) !! (5))) ** (2))) + (((95.3) - ((input) !! (6))) ** (2))) + (((5.87) - ((input) !! (7))) ** (2))) + (((3.0) - ((input) !! (8))) ** (2))) + (((233.0) - ((input) !! (9))) ** (2))) + (((17.9) - ((input) !! (10))) ** (2))) + (((396.9) - ((input) !! (11))) ** (2))) + (((30.81) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((0.02009) - ((input) !! (0))) ** (2)) + (((95.0) - ((input) !! (1))) ** (2))) + (((2.68) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.4161) - ((input) !! (4))) ** (2))) + (((8.034) - ((input) !! (5))) ** (2))) + (((31.9) - ((input) !! (6))) ** (2))) + (((5.118) - ((input) !! (7))) ** (2))) + (((4.0) - ((input) !! (8))) ** (2))) + (((224.0) - ((input) !! (9))) ** (2))) + (((14.7) - ((input) !! (10))) ** (2))) + (((390.55) - ((input) !! (11))) ** (2))) + (((2.88) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((18.0846) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((18.1) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.679) - ((input) !! (4))) ** (2))) + (((6.434) - ((input) !! (5))) ** (2))) + (((100.0) - ((input) !! (6))) ** (2))) + (((1.8347) - ((input) !! (7))) ** (2))) + (((24.0) - ((input) !! (8))) ** (2))) + (((666.0) - ((input) !! (9))) ** (2))) + (((20.2) - ((input) !! (10))) ** (2))) + (((27.25) - ((input) !! (11))) ** (2))) + (((29.05) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((0.01381) - ((input) !! (0))) ** (2)) + (((80.0) - ((input) !! (1))) ** (2))) + (((0.46) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.422) - ((input) !! (4))) ** (2))) + (((7.875) - ((input) !! (5))) ** (2))) + (((32.0) - ((input) !! (6))) ** (2))) + (((5.6484) - ((input) !! (7))) ** (2))) + (((4.0) - ((input) !! (8))) ** (2))) + (((255.0) - ((input) !! (9))) ** (2))) + (((14.4) - ((input) !! (10))) ** (2))) + (((394.23) - ((input) !! (11))) ** (2))) + (((2.97) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((2.77974) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((19.58) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.871) - ((input) !! (4))) ** (2))) + (((4.903) - ((input) !! (5))) ** (2))) + (((97.8) - ((input) !! (6))) ** (2))) + (((1.3459) - ((input) !! (7))) ** (2))) + (((5.0) - ((input) !! (8))) ** (2))) + (((403.0) - ((input) !! (9))) ** (2))) + (((14.7) - ((input) !! (10))) ** (2))) + (((396.9) - ((input) !! (11))) ** (2))) + (((29.29) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((5.66998) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((18.1) - ((input) !! (2))) ** (2))) + (((1.0) - ((input) !! (3))) ** (2))) + (((0.631) - ((input) !! (4))) ** (2))) + (((6.683) - ((input) !! (5))) ** (2))) + (((96.8) - ((input) !! (6))) ** (2))) + (((1.3567) - ((input) !! (7))) ** (2))) + (((24.0) - ((input) !! (8))) ** (2))) + (((666.0) - ((input) !! (9))) ** (2))) + (((20.2) - ((input) !! (10))) ** (2))) + (((375.33) - ((input) !! (11))) ** (2))) + (((3.73) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((0.84054) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((8.14) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.538) - ((input) !! (4))) ** (2))) + (((5.599) - ((input) !! (5))) ** (2))) + (((85.7) - ((input) !! (6))) ** (2))) + (((4.4546) - ((input) !! (7))) ** (2))) + (((4.0) - ((input) !! (8))) ** (2))) + (((307.0) - ((input) !! (9))) ** (2))) + (((21.0) - ((input) !! (10))) ** (2))) + (((303.42) - ((input) !! (11))) ** (2))) + (((16.51) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((4.89822) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((18.1) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.631) - ((input) !! (4))) ** (2))) + (((4.97) - ((input) !! (5))) ** (2))) + (((100.0) - ((input) !! (6))) ** (2))) + (((1.3325) - ((input) !! (7))) ** (2))) + (((24.0) - ((input) !! (8))) ** (2))) + (((666.0) - ((input) !! (9))) ** (2))) + (((20.2) - ((input) !! (10))) ** (2))) + (((375.52) - ((input) !! (11))) ** (2))) + (((3.26) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((2.01019) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((19.58) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.605) - ((input) !! (4))) ** (2))) + (((7.929) - ((input) !! (5))) ** (2))) + (((96.2) - ((input) !! (6))) ** (2))) + (((2.0459) - ((input) !! (7))) ** (2))) + (((5.0) - ((input) !! (8))) ** (2))) + (((403.0) - ((input) !! (9))) ** (2))) + (((14.7) - ((input) !! (10))) ** (2))) + (((369.3) - ((input) !! (11))) ** (2))) + (((3.7) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((0.52014) - ((input) !! (0))) ** (2)) + (((20.0) - ((input) !! (1))) ** (2))) + (((3.97) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.647) - ((input) !! (4))) ** (2))) + (((8.398) - ((input) !! (5))) ** (2))) + (((91.5) - ((input) !! (6))) ** (2))) + (((2.2885) - ((input) !! (7))) ** (2))) + (((5.0) - ((input) !! (8))) ** (2))) + (((264.0) - ((input) !! (9))) ** (2))) + (((13.0) - ((input) !! (10))) ** (2))) + (((386.86) - ((input) !! (11))) ** (2))) + (((5.91) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((0.03578) - ((input) !! (0))) ** (2)) + (((20.0) - ((input) !! (1))) ** (2))) + (((3.33) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.4429) - ((input) !! (4))) ** (2))) + (((7.82) - ((input) !! (5))) ** (2))) + (((64.5) - ((input) !! (6))) ** (2))) + (((4.6947) - ((input) !! (7))) ** (2))) + (((5.0) - ((input) !! (8))) ** (2))) + (((216.0) - ((input) !! (9))) ** (2))) + (((14.9) - ((input) !! (10))) ** (2))) + (((387.31) - ((input) !! (11))) ** (2))) + (((3.76) - ((input) !! (12))) ** (2))))) * (1.0))) + ((exp ((func0) * (((((((((((((((24.8017) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((18.1) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.693) - ((input) !! (4))) ** (2))) + (((5.349) - ((input) !! (5))) ** (2))) + (((96.0) - ((input) !! (6))) ** (2))) + (((1.7028) - ((input) !! (7))) ** (2))) + (((24.0) - ((input) !! (8))) ** (2))) + (((666.0) - ((input) !! (9))) ** (2))) + (((20.2) - ((input) !! (10))) ** (2))) + (((396.9) - ((input) !! (11))) ** (2))) + (((19.77) - ((input) !! (12))) ** (2))))) * (-1.0))) + ((exp ((func0) * (((((((((((((((0.38735) - ((input) !! (0))) ** (2)) + (((0.0) - ((input) !! (1))) ** (2))) + (((25.65) - ((input) !! (2))) ** (2))) + (((0.0) - ((input) !! (3))) ** (2))) + (((0.581) - ((input) !! (4))) ** (2))) + (((5.613) - ((input) !! (5))) ** (2))) + (((95.6) - ((input) !! (6))) ** (2))) + (((1.7572) - ((input) !! (7))) ** (2))) + (((2.0) - ((input) !! (8))) ** (2))) + (((188.0) - ((input) !! (9))) ** (2))) + (((19.1) - ((input) !! (10))) ** (2))) + (((359.29) - ((input) !! (11))) ** (2))) + (((27.26) - ((input) !! (12))) ** (2))))) * (-0.6095221570280934)) + where + func0 = + (0) - (3.645594139976758e-06) diff --git a/generated_code_examples/haskell/regression/xgboost.hs b/generated_code_examples/haskell/regression/xgboost.hs new file mode 100644 index 00000000..9712407a --- /dev/null +++ b/generated_code_examples/haskell/regression/xgboost.hs @@ -0,0 +1,33 @@ +module Model where +score :: [Double] -> Double +score input = + ((0.5) + (func0)) + (func1) + where + func0 = + if (((input) !! (12)) >= (9.725)) + then + if (((input) !! (12)) >= (16.085)) + then + 4.09124994 + else + 5.89006901 + else + if (((input) !! (5)) >= (6.941)) + then + 11.241127 + else + 7.45130444 + func1 = + if (((input) !! (12)) >= (5.1549997)) + then + if (((input) !! (12)) >= (14.4)) + then + 3.00165963 + else + 4.8301239 + else + if (((input) !! (5)) >= (7.406)) + then + 9.98775578 + else + 6.78264093 diff --git a/tools/generate_code_examples.py b/tools/generate_code_examples.py index 1dd0dced..c08f49a2 100644 --- a/tools/generate_code_examples.py +++ b/tools/generate_code_examples.py @@ -43,6 +43,7 @@ ("r", m2c.export_to_r, "r"), ("php", m2c.export_to_php, "php"), ("dart", m2c.export_to_dart, "dart"), + ("haskell", m2c.export_to_haskell, "hs"), ] EXAMPLE_MODELS = [