library(rBayesianOptimization)
library(stats)
library(dplyr)
library(lme4)
library(ggplot2)
library(Metrics)

seeds <- read.csv("../input/google-cloud-ncaa-march-madness-2020-division-1-mens-tournament/MDataFiles_Stage1/MNCAATourneySeeds.csv")
regresults <- read.csv("../input/google-cloud-ncaa-march-madness-2020-division-1-mens-tournament/MDataFiles_Stage1/MRegularSeasonDetailedResults.csv")
results <- read.csv("../input/google-cloud-ncaa-march-madness-2020-division-1-mens-tournament/MDataFiles_Stage1/MNCAATourneyDetailedResults.csv")
sub <- read.csv("../input/google-cloud-ncaa-march-madness-2020-division-1-mens-tournament/MSampleSubmissionStage1_2020.csv")
seeds$Seed = as.numeric(substring(seeds$Seed,2,3))

### Collect regular season results - double the data by swapping team positions

r1 = regresults[, c("Season", "DayNum", "WTeamID", "WScore", "LTeamID", "LScore", "NumOT", "WFGA", "WAst", "WBlk", "LFGA", "LAst", "LBlk")]
r2 = regresults[, c("Season", "DayNum", "LTeamID", "LScore", "WTeamID", "WScore", "NumOT", "LFGA", "LAst", "LBlk", "WFGA", "WAst", "WBlk")]
names(r1) = c("Season", "DayNum", "T1", "T1_Points", "T2", "T2_Points", "NumOT", "T1_fga", "T1_ast", "T1_blk", "T2_fga", "T2_ast", "T2_blk")
names(r2) = c("Season", "DayNum", "T1", "T1_Points", "T2", "T2_Points", "NumOT", "T1_fga", "T1_ast", "T1_blk", "T2_fga", "T2_ast", "T2_blk")
regular_season = rbind(r1, r2)


### Collect tourney results - double the data by swapping team positions

t1 = results[, c("Season", "DayNum", "WTeamID", "LTeamID", "WScore", "LScore")] %>% mutate(ResultDiff = WScore - LScore)
t2 = results[, c("Season", "DayNum", "LTeamID", "WTeamID", "LScore", "WScore")] %>% mutate(ResultDiff = LScore - WScore)
names(t1) = c("Season", "DayNum", "T1", "T2", "T1_Points", "T2_Points", "ResultDiff")
names(t2) = c("Season", "DayNum", "T1", "T2", "T1_Points", "T2_Points", "ResultDiff")
tourney = rbind(t1, t2)


### Fit GLMM on regular season data (selected march madness teams only) - extract random effects for each team

march_teams = select(seeds, Season, Team = TeamID)
X =  regular_season %>% 
  inner_join(march_teams, by = c("Season" = "Season", "T1" = "Team")) %>% 
  inner_join(march_teams, by = c("Season" = "Season", "T2" = "Team")) %>% 
  select(Season, T1, T2, T1_Points, T2_Points, NumOT) %>% distinct()
X$T1 = as.factor(X$T1)
X$T2 = as.factor(X$T2)

quality = list()
for (season in unique(X$Season)) {
  glmm = glmer(I(T1_Points > T2_Points) ~  (1 | T1) + (1 | T2), data = X[X$Season == season & X$NumOT == 0, ], family = binomial) 
  random_effects = ranef(glmm)$T1
  quality[[season]] = data.frame(Season = season, Team_Id = as.numeric(row.names(random_effects)), quality = exp(random_effects[,"(Intercept)"]))
}
quality = do.call(rbind, quality)

### Regular season statistics

season_summary = 
  regular_season %>%
  mutate(win14days = ifelse(DayNum > 118 & T1_Points > T2_Points, 1, 0),
         last14days = ifelse(DayNum > 118, 1, 0)) %>% 
  group_by(Season, T1) %>%
  summarize(
    WinRatio14d = sum(win14days) / sum(last14days),
    PointsMean = mean(T1_Points),
    PointsMedian = median(T1_Points),
    PointsDiffMean = mean(T1_Points - T2_Points),
    FgaMean = mean(T1_fga), 
    FgaMedian = median(T1_fga),
    FgaMin = min(T1_fga), 
    FgaMax = max(T1_fga), 
    AstMean = mean(T1_ast), 
    BlkMean = mean(T1_blk), 
    OppFgaMean = mean(T2_fga), 
    OppFgaMin = min(T2_fga)  
  )

season_summary_X1 = season_summary
season_summary_X2 = season_summary
names(season_summary_X1) = c("Season", "T1", paste0("X1_",names(season_summary_X1)[-c(1,2)]))
names(season_summary_X2) = c("Season", "T2", paste0("X2_",names(season_summary_X2)[-c(1,2)]))


### Combine all features into a data frame

data_matrix =
  tourney %>% 
  left_join(season_summary_X1, by = c("Season", "T1")) %>% 
  left_join(season_summary_X2, by = c("Season", "T2")) %>%
  left_join(select(seeds, Season, T1 = TeamID, Seed1 = Seed), by = c("Season", "T1")) %>% 
  left_join(select(seeds, Season, T2 = TeamID, Seed2 = Seed), by = c("Season", "T2")) %>% 
  mutate(SeedDiff = Seed1 - Seed2) %>%
  left_join(select(quality, Season, T1 = Team_Id, quality_march_T1 = quality), by = c("Season", "T1")) %>%
  left_join(select(quality, Season, T2 = Team_Id, quality_march_T2 = quality), by = c("Season", "T2"))
names(data_matrix)

### Prepare xgboost 
features = setdiff(names(data_matrix), c("Season", "DayNum", "T1", "T2", "T1_Points", "T2_Points", "ResultDiff"))
allfeatures<-append(features,"ResultDiff")

data_matrix<-data_matrix %>% mutate_all(~ifelse(is.na(.), -999, .))
data_matrix[,features] <- lapply(data_matrix[,features], function(x) as.complex((x)))
data_matrix[data_matrix==complex(real = -999, imaginary = 0)] = complex(real = 0, imaginary = 1)
data_matrix$kfix<-c(1:nrow(data_matrix))
                                 
.gpComplexI<-function(data){
  predictions<-(0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(as.complex(-1.0))),data$SeedDiff,as.complex(0))) >= Mod(((sin((((data$X2_FgaMean) - (((as.complex(1.108447)) - (data$SeedDiff))))))) - (data$SeedDiff)))),ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(as.complex(-1.0))),data$SeedDiff,as.complex(0)),((sin((((data$X2_FgaMean) - (((as.complex(1.108447)) - (data$SeedDiff))))))) - (data$SeedDiff)))) * 2.0))) +
                  0.100000*tanh(Re(((((((((((((sin((((sin((((data$SeedDiff) + (data$X2_FgaMean))))) * 2.0)))) * 2.0)) - (data$SeedDiff))) * 2.0)) * 2.0)) - (data$SeedDiff))) * 2.0))) +
                  0.100000*tanh(Re((((data$X2_PointsDiffMean) + (((((sin((data$X1_FgaMin))) + (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(cos((data$X2_PointsDiffMean)))),data$SeedDiff,cos((data$X2_PointsDiffMean)))))) * ((-((data$X1_FgaMin)))))))/2.0))) +
                  0.100000*tanh(Re(((as.complex(79.255516)) * (ifelse(rep(1.,NROW(data))*(Mod(cos((((cos((data$X1_FgaMean))) - (data$quality_march_T1))))) >= Mod(((cos((data$X1_FgaMean))) - (data$SeedDiff)))),cos((((cos((data$X1_FgaMean))) - (data$quality_march_T1)))),((cos((data$X1_FgaMean))) - (data$SeedDiff))))))) +
                  0.100000*tanh(Re(((((Conj(((sin((((data$X1_PointsMean) / (as.complex(1.235521)))))) - (((data$SeedDiff) + (cos((data$X1_PointsMean)))))))) * 2.0)) - (as.complex(1.235521))))) +
                  0.100000*tanh(Re(((((sin((data$SeedDiff))) - (data$SeedDiff))) + (sin((((data$X2_FgaMean) - (((sin((data$quality_march_T1))) - (data$SeedDiff)))))))))) +
                  0.100000*tanh(Re(((((((ifelse(rep(1.,NROW(data))*(Mod(cos((data$X1_PointsMean))) > Mod(data$quality_march_T2)),as.complex(1.),as.complex(0.))) - (ifelse(rep(1.,NROW(data))*(Mod(as.complex(1.0)) >= Mod(data$SeedDiff)),as.complex(1.0),data$SeedDiff)))) - (cos((data$X1_PointsMean))))) - (cos((data$X1_PointsMean)))))) +
                  0.100000*tanh(Re(((((((((((((sin((data$X1_PointsMedian))) * 2.0)) * 2.0)) - (((data$SeedDiff) * 2.0)))) * 2.0)) - (((data$SeedDiff) * 2.0)))) * 2.0))) +
                  0.100000*tanh(Re(((data$X2_OppFgaMean) * (((((as.complex(57.188663)) * ((-((((((data$SeedDiff) + (cos((data$X2_AstMean))))) + (cos((data$X2_PointsDiffMean)))))))))) - (data$X2_AstMean)))))) +
                  0.100000*tanh(Re(((((((data$Seed2) - (ifelse(rep(1.,NROW(data))*(Mod(as.complex(-3.0)) <= Mod(data$Seed1)),ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) <= Mod(data$Seed1)),data$Seed1,as.complex(0)),as.complex(0))))) - (sin((data$X1_BlkMean))))) * (data$X2_AstMean)))) +
                  0.100000*tanh(Re(((((ifelse(rep(1.,NROW(data))*(Mod((-((data$SeedDiff)))) >= Mod(((sin((((sin((((sin((((data$X2_BlkMean) + (data$X2_BlkMean))))) * 2.0)))) * 2.0)))) * 2.0))),(-((data$SeedDiff))),((sin((((sin((((sin((((data$X2_BlkMean) + (data$X2_BlkMean))))) * 2.0)))) * 2.0)))) * 2.0))) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod((-((data$SeedDiff)))) >= Mod(((((data$SeedDiff) / (((data$quality_march_T1) - (data$SeedDiff))))) - (sin((((data$SeedDiff) - (data$X2_AstMean)))))))),(-((data$SeedDiff))),((((data$SeedDiff) / (((data$quality_march_T1) - (data$SeedDiff))))) - (sin((((data$SeedDiff) - (data$X2_AstMean))))))))) +
                  0.100000*tanh(Re(((((as.complex(3.0)) / (((((cos((as.complex(13.500000)))) + (((cos((data$X1_FgaMean))) * 2.0)))) - (sinh((data$SeedDiff))))))) - (data$SeedDiff)))) +
                  0.100000*tanh(Re(((as.complex(1.60065329074859619)) * (((((((data$X1_OppFgaMean) * 2.0)) * (((((((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean))) / (as.complex(1.60065329074859619)))) - (data$SeedDiff))))) - (as.complex(1.60065329074859619))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) >= Mod(((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) >= Mod(data$quality_march_T2)),data$quality_march_T2,data$quality_march_T2))),as.complex(1.),as.complex(0.))) - (sinh((ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(data$quality_march_T2)),data$SeedDiff,data$quality_march_T2)) >= Mod(data$quality_march_T2)),ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(data$quality_march_T2)),data$SeedDiff,data$quality_march_T2),data$quality_march_T2))))))),data$quality_march_T2,((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) >= Mod(data$quality_march_T2)),data$quality_march_T2,data$quality_march_T2))),as.complex(1.),as.complex(0.))) - (sinh((ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(data$quality_march_T2)),data$SeedDiff,data$quality_march_T2)) >= Mod(data$quality_march_T2)),ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(data$quality_march_T2)),data$SeedDiff,data$quality_march_T2),data$quality_march_T2)))))))) +
                  0.100000*tanh(Re((((-((ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) / (cos((data$X1_PointsMean))))) >= Mod(((ifelse(rep(1.,NROW(data))*(Mod(sinh((data$SeedDiff))) >= Mod(((cos((data$X1_PointsMean))) * 2.0))),sinh((data$SeedDiff)),((cos((data$X1_PointsMean))) * 2.0))) * 2.0))),((data$SeedDiff) / (cos((data$X1_PointsMean)))),((ifelse(rep(1.,NROW(data))*(Mod(sinh((data$SeedDiff))) >= Mod(((cos((data$X1_PointsMean))) * 2.0))),sinh((data$SeedDiff)),((cos((data$X1_PointsMean))) * 2.0))) * 2.0)))))) * 2.0))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X2_AstMean) >= Mod(sinh(((((-((data$SeedDiff)))) - (data$X2_BlkMean)))))),data$X2_AstMean,sinh(((((-((data$SeedDiff)))) - (data$X2_BlkMean)))))) >= Mod(as.complex(-1.0))),ifelse(rep(1.,NROW(data))*(Mod(data$X2_AstMean) >= Mod(sinh(((((-((data$SeedDiff)))) - (data$X2_BlkMean)))))),data$X2_AstMean,sinh(((((-((data$SeedDiff)))) - (data$X2_BlkMean))))),as.complex(-1.0)))) +
                  0.100000*tanh(Re(((data$X2_BlkMean) * (ifelse(rep(1.,NROW(data))*(Mod(as.complex(1.108447)) >= Mod(((data$Seed2) - (((data$Seed1) + ((((data$X2_BlkMean) + (ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(as.complex(1.108447))),as.complex(1.),as.complex(0.))))/2.0))))))),as.complex(1.108447),((data$Seed2) - (((data$Seed1) + ((((data$X2_BlkMean) + (ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(as.complex(1.108447))),as.complex(1.),as.complex(0.))))/2.0)))))))))) +
                  0.100000*tanh(Re((-((((((((data$SeedDiff) - (((((cos((data$X2_FgaMin))) * 2.0)) * 2.0)))) - (sin((data$SeedDiff))))) - (((cos((data$X1_FgaMean))) * 2.0)))))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) >= Mod(((data$SeedDiff) - (((ifelse(rep(1.,NROW(data))*(Mod(as.complex(15.763636)) >= Mod(data$Seed2)),as.complex(15.763636),data$Seed2)) + (((data$SeedDiff) - (data$X1_PointsDiffMean)))))))),data$Seed2,((data$SeedDiff) - (((ifelse(rep(1.,NROW(data))*(Mod(as.complex(15.763636)) >= Mod(data$Seed2)),as.complex(15.763636),data$Seed2)) + (((data$SeedDiff) - (data$X1_PointsDiffMean)))))))) - (data$SeedDiff)))) +
                  0.100000*tanh(Re((-(((((data$SeedDiff) + (((as.complex(-1.500000)) / (sinh(((((data$SeedDiff) + (cos((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(data$SeedDiff)),data$X1_AstMean,as.complex(0))))))/2.0)))))))/2.0)))))) +
                  0.100000*tanh(Re(((((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(data$Seed2)),sqrt((((cosh((data$X2_BlkMean))) * (sqrt((data$SeedDiff)))))),as.complex(0))) - (data$SeedDiff))) - (Conj(as.complex(4.046402)))))) +
                  0.100000*tanh(Re((((((data$X1_BlkMean) + (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(data$quality_march_T2)),as.complex(-3.0),as.complex(0))))/2.0)) - (ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(data$quality_march_T1)),data$SeedDiff,data$quality_march_T1)) >= Mod((-((data$quality_march_T2))))),ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(data$quality_march_T1)),data$SeedDiff,data$quality_march_T1),(-((data$quality_march_T2)))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean))) >= Mod(((ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) > Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) <= Mod(as.complex(12.62955188751220703))),as.complex(12.62955188751220703),as.complex(0)))),data$Seed2,as.complex(0))) - (as.complex(3.0))))),((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean)),((ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) > Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) <= Mod(as.complex(12.62955188751220703))),as.complex(12.62955188751220703),as.complex(0)))),data$Seed2,as.complex(0))) - (as.complex(3.0)))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((((as.complex(-12.500000)) / 2.0)) / 2.0)) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(((data$X1_PointsDiffMean) / 2.0)) >= Mod(((ifelse(rep(1.,NROW(data))*(Mod(as.complex(5.0)) <= Mod(data$SeedDiff)),as.complex(1.),as.complex(0.))) - (data$SeedDiff)))),((data$X1_PointsDiffMean) / 2.0),((ifelse(rep(1.,NROW(data))*(Mod(as.complex(5.0)) <= Mod(data$SeedDiff)),as.complex(1.),as.complex(0.))) - (data$SeedDiff))))),((((as.complex(-12.500000)) / 2.0)) / 2.0),ifelse(rep(1.,NROW(data))*(Mod(((data$X1_PointsDiffMean) / 2.0)) >= Mod(((ifelse(rep(1.,NROW(data))*(Mod(as.complex(5.0)) <= Mod(data$SeedDiff)),as.complex(1.),as.complex(0.))) - (data$SeedDiff)))),((data$X1_PointsDiffMean) / 2.0),((ifelse(rep(1.,NROW(data))*(Mod(as.complex(5.0)) <= Mod(data$SeedDiff)),as.complex(1.),as.complex(0.))) - (data$SeedDiff)))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(sinh((((data$Seed2) - ((((ifelse(rep(1.,NROW(data))*(Mod(((data$Seed2) / 2.0)) >= Mod(data$SeedDiff)),((data$Seed2) / 2.0),data$SeedDiff)) + (((((data$X2_BlkMean) / 2.0)) + (data$Seed2))))/2.0))))))),data$SeedDiff,sinh((((data$Seed2) - ((((ifelse(rep(1.,NROW(data))*(Mod(((data$Seed2) / 2.0)) >= Mod(data$SeedDiff)),((data$Seed2) / 2.0),data$SeedDiff)) + (((((data$X2_BlkMean) / 2.0)) + (data$Seed2))))/2.0)))))))) +
                  0.100000*tanh(Re(sinh(((((-((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(sin((ifelse(rep(1.,NROW(data))*(Mod(as.complex(15.763636)) > Mod(data$SeedDiff)),as.complex(1.),as.complex(0.)))))),as.complex(1.),as.complex(0.)))))) - (((data$SeedDiff) + (((as.complex(15.763636)) - (data$X1_PointsDiffMean)))))))))) +
                  0.100000*tanh(Re(((((((((((((data$Seed2) + (sqrt((data$X2_BlkMean))))) - (data$SeedDiff))) * (as.complex(15.763636)))) * (data$Seed2))) * (data$Seed2))) - (data$X2_BlkMean)))) +
                  0.100000*tanh(Re(sinh((((as.complex(-3.0)) - ((((data$SeedDiff) + (ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) > Mod(data$quality_march_T1)),(-((as.complex(12.425346)))),as.complex(0))))/2.0))))))) +
                  0.100000*tanh(Re((-((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(((cosh((as.complex(-3.0)))) - (sqrt((cosh((sqrt((((data$X1_AstMean) / 2.0))))))))))),data$SeedDiff,((cosh((as.complex(-3.0)))) - (sqrt((cosh((sqrt((((data$X1_AstMean) / 2.0))))))))))))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(as.complex(3.0)) <= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(sinh((as.complex(3.0))))),data$X1_BlkMean,as.complex(0)))),((data$Seed2) * (data$SeedDiff)),as.complex(0))) - (data$SeedDiff)))) +
                  0.100000*tanh(Re(((sinh((as.complex(3.09041333198547363)))) - (sinh((((ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsDiffMean) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(data$X1_PointsDiffMean)),data$SeedDiff,data$X1_PointsDiffMean))),data$X2_PointsDiffMean,ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(data$X1_PointsDiffMean)),data$SeedDiff,data$X1_PointsDiffMean))) - (data$X1_PointsDiffMean)))))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(data$SeedDiff)),data$quality_march_T2,data$SeedDiff)) - (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod((-(((((ifelse(rep(1.,NROW(data))*(Mod(data$X1_BlkMean) <= Mod(data$SeedDiff)),data$SeedDiff,as.complex(0))) + (complex(real = 0, imaginary = 1)*Conj(as.complex(16.072845))))/2.0)))))),data$SeedDiff,(-(((((ifelse(rep(1.,NROW(data))*(Mod(data$X1_BlkMean) <= Mod(data$SeedDiff)),data$SeedDiff,as.complex(0))) + (complex(real = 0, imaginary = 1)*Conj(as.complex(16.072845))))/2.0))))))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(((data$X1_BlkMean) * 2.0)) > Mod(as.complex(10.500000))),data$X2_FgaMin,as.complex(0))) >= Mod((((ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsDiffMean) > Mod(data$SeedDiff)),as.complex(10.500000),as.complex(0))) + (data$X1_AstMean))/2.0))),ifelse(rep(1.,NROW(data))*(Mod(((data$X1_BlkMean) * 2.0)) > Mod(as.complex(10.500000))),data$X2_FgaMin,as.complex(0)),(((ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsDiffMean) > Mod(data$SeedDiff)),as.complex(10.500000),as.complex(0))) + (data$X1_AstMean))/2.0))) - (data$X2_PointsDiffMean)))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(((data$Seed2) - (data$SeedDiff))) <= Mod(ifelse(rep(1.,NROW(data))*(Mod(as.complex(-3.0)) <= Mod(data$X2_BlkMean)),data$SeedDiff,as.complex(0)))),as.complex(10.500000),as.complex(0))) <= Mod(data$SeedDiff)),((data$Seed2) - (as.complex(12.074242))),as.complex(0)))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean))) >= Mod((((((complex(real = 0, imaginary = 1)*Conj(as.complex(5.0))) + (((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean))))/2.0)) - (((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean)))))),((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean)),(((((complex(real = 0, imaginary = 1)*Conj(as.complex(5.0))) + (((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean))))/2.0)) - (((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean))))))) +
                  0.100000*tanh(Re(((((((cos((cos((data$X1_PointsDiffMean))))) + (((data$X1_PointsDiffMean) / (cos((data$X1_AstMean))))))/2.0)) + (((data$X1_PointsDiffMean) - (ifelse(rep(1.,NROW(data))*(Mod(as.complex(8.23556327819824219)) >= Mod(data$SeedDiff)),as.complex(8.23556327819824219),data$SeedDiff)))))/2.0))) +
                  0.100000*tanh(Re(((data$X2_FgaMin) * (((ifelse(rep(1.,NROW(data))*(Mod(((as.complex(10.500000)) * (data$quality_march_T1))) > Mod(as.complex(12.074242))),data$X1_AstMean,as.complex(0))) - (((data$SeedDiff) + (((as.complex(10.500000)) * (data$quality_march_T1)))))))))) +
                  0.100000*tanh(Re(((sin((data$X1_PointsMedian))) + (((ifelse(rep(1.,NROW(data))*(Mod(data$Seed1) <= Mod(((data$X2_BlkMean) * 2.0))),as.complex(1.),as.complex(0.))) + (((data$X2_BlkMean) * (sin(((((data$Seed1) + (data$X2_BlkMean))/2.0))))))))))) +
                  0.100000*tanh(Re(((((((ifelse(rep(1.,NROW(data))*(Mod(as.complex(12.09294986724853516)) > Mod(data$SeedDiff)),((((data$SeedDiff) * (data$X1_BlkMean))) - (data$Seed2)),as.complex(0))) - (data$SeedDiff))) - (data$SeedDiff))) - (as.complex(-1.500000))))))
}

.gpComplexII<-function(data){
  predictions<-(0.100000*tanh(Re(((((data$X2_PointsMean) * (((cos((((data$X2_PointsMean) * (((cos((data$X1_PointsDiffMean))) - (data$SeedDiff))))))) - (data$SeedDiff))))) - (data$X1_PointsDiffMean)))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(as.complex(1.176435)) <= Mod(data$quality_march_T1)),sinh((data$Seed2)),as.complex(0))) - (((as.complex(6.763638)) - (ifelse(rep(1.,NROW(data))*(Mod(as.complex(1.176435)) <= Mod(((as.complex(6.763638)) - (data$Seed2)))),data$Seed2,as.complex(0)))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((((ifelse(rep(1.,NROW(data))*(Mod(cos((cos((data$Seed1))))) >= Mod(sin((data$X2_FgaMin)))),cos((cos((data$Seed1)))),sin((data$X2_FgaMin)))) + (sin((sin((data$X2_FgaMedian))))))) - (data$Seed1))) >= Mod(data$Seed2)),((((ifelse(rep(1.,NROW(data))*(Mod(cos((cos((data$Seed1))))) >= Mod(sin((data$X2_FgaMin)))),cos((cos((data$Seed1)))),sin((data$X2_FgaMin)))) + (sin((sin((data$X2_FgaMedian))))))) - (data$Seed1)),data$Seed2))) +
                  0.100000*tanh(Re(((((((((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(data$quality_march_T2)),as.complex(1.),as.complex(0.))) - (data$SeedDiff))) - (data$SeedDiff))) - (((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(data$quality_march_T1)),as.complex(1.),as.complex(0.))) * 2.0)))) - (data$SeedDiff)))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) > Mod(data$quality_march_T1)),as.complex(79.465294),as.complex(0))) - (((data$X1_FgaMin) + (((data$SeedDiff) * (data$X1_FgaMin)))))))) +
                  0.100000*tanh(Re(((((cosh((data$X1_BlkMean))) - (ifelse(rep(1.,NROW(data))*(Mod(data$Seed1) >= Mod(((((data$quality_march_T1) + (data$X1_OppFgaMin))) * (data$SeedDiff)))),data$Seed1,((((data$quality_march_T1) + (data$X1_OppFgaMin))) * (data$SeedDiff)))))) * (data$X1_OppFgaMin)))) +
                  0.100000*tanh(Re((-((ifelse(rep(1.,NROW(data))*(Mod(((as.complex(14.0)) * (((((((data$SeedDiff) + (cos((data$X2_FgaMean))))) * 2.0)) + (cos((data$X1_FgaMin))))))) >= Mod(data$X2_AstMean)),((as.complex(14.0)) * (((((((data$SeedDiff) + (cos((data$X2_FgaMean))))) * 2.0)) + (cos((data$X1_FgaMin)))))),data$X2_AstMean)))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(as.complex(-1.0)) <= Mod(((as.complex(5.500000)) * (data$X2_PointsDiffMean)))),data$X2_OppFgaMin,as.complex(0))) * ((-((ifelse(rep(1.,NROW(data))*(Mod(cos((((as.complex(1.0)) * (data$X2_PointsDiffMean))))) >= Mod(data$SeedDiff)),cos((((as.complex(1.0)) * (data$X2_PointsDiffMean)))),data$SeedDiff)))))))) +
                  0.100000*tanh(Re(((((((((((((cos((data$X1_FgaMean))) - (data$SeedDiff))) * 2.0)) - (((as.complex(-1.0)) - (((cos((data$X1_FgaMean))) / 2.0)))))) * 2.0)) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(((((((((ifelse(rep(1.,NROW(data))*(Mod(data$X1_BlkMean) <= Mod(data$X2_BlkMean)),as.complex(1.),as.complex(0.))) - (data$SeedDiff))) + (cos((data$X1_FgaMean))))) - (data$SeedDiff))) + (cos((data$X1_FgaMean)))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((as.complex(-9.500000)) * (ifelse(rep(1.,NROW(data))*(Mod(sinh((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(sinh((sinh((cos((data$X2_FgaMax)))))))),data$SeedDiff,sinh((sinh((cos((data$X2_FgaMax)))))))))) >= Mod(cos((data$X2_AstMean)))),sinh((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(sinh((sinh((cos((data$X2_FgaMax)))))))),data$SeedDiff,sinh((sinh((cos((data$X2_FgaMax))))))))),cos((data$X2_AstMean)))))) >= Mod(data$X2_PointsDiffMean)),((as.complex(-9.500000)) * (ifelse(rep(1.,NROW(data))*(Mod(sinh((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(sinh((sinh((cos((data$X2_FgaMax)))))))),data$SeedDiff,sinh((sinh((cos((data$X2_FgaMax)))))))))) >= Mod(cos((data$X2_AstMean)))),sinh((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(sinh((sinh((cos((data$X2_FgaMax)))))))),data$SeedDiff,sinh((sinh((cos((data$X2_FgaMax))))))))),cos((data$X2_AstMean))))),data$X2_PointsDiffMean))) +
                  0.100000*tanh(Re(((((((data$Seed2) - (cos((((data$X2_AstMean) * (data$quality_march_T1))))))) - (cos((((data$X2_AstMean) * (data$Seed2))))))) - (data$Seed1)))) +
                  0.100000*tanh(Re(((((data$SeedDiff) - (((sin((((sin((sin((((sin((data$X2_FgaMean))) * 2.0)))))) * (data$X1_BlkMean))))) * 2.0)))) * (as.complex(-2.0))))) +
                  0.100000*tanh(Re(((sinh((((ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) > Mod(((data$Seed1) - (ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) > Mod(data$quality_march_T1)),as.complex(1.),as.complex(0.)))))),as.complex(1.),as.complex(0.))) * (data$Seed2))))) - (data$Seed1)))) +
                  0.100000*tanh(Re((((((-((data$SeedDiff)))) * 2.0)) - (((as.complex(9.0)) * ((((data$SeedDiff) + ((-((((cos((((data$X2_PointsMean) * (as.complex(-9.500000)))))) * 2.0))))))/2.0))))))) +
                  0.100000*tanh(Re(((as.complex(58.760189)) * (((((data$quality_march_T2) - (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) > Mod(ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(data$SeedDiff)),data$quality_march_T2,as.complex(0)))),data$SeedDiff,as.complex(0))))) - (data$quality_march_T1)))))) +
                  0.100000*tanh(Re(((data$Seed2) * (((ifelse(rep(1.,NROW(data))*(Mod(data$Seed1) >= Mod(((as.complex(-3.0)) / (data$Seed2)))),data$Seed1,((as.complex(-3.0)) / (data$Seed2)))) * (((data$Seed2) - (ifelse(rep(1.,NROW(data))*(Mod(data$Seed1) >= Mod(data$quality_march_T1)),data$Seed1,data$quality_march_T1))))))))) +
                  0.100000*tanh(Re(((((((((((cos((((data$X2_OppFgaMean) * 2.0)))) * 2.0)) * 2.0)) - (data$SeedDiff))) * 2.0)) - (data$SeedDiff)))) +
                  0.100000*tanh(Re(((((((cos((data$X1_FgaMean))) + (((((as.complex(2.0)) + (((((((cos((data$X1_FgaMean))) - (data$SeedDiff))) * 2.0)) * 2.0)))) * 2.0)))) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(((((data$X2_FgaMin) * (((as.complex(3.304597)) * (((((as.complex(3.304597)) * (cos((data$X2_FgaMin))))) - (data$SeedDiff))))))) - (sinh(((-((as.complex(3.0)))))))))) +
                  0.100000*tanh(Re(((((data$X1_BlkMean) / ((((data$quality_march_T2) + ((((as.complex(-1.0)) + (sinh((data$SeedDiff))))/2.0)))/2.0)))) - ((((((data$SeedDiff) * 2.0)) + (sinh((data$SeedDiff))))/2.0))))) +
                  0.100000*tanh(Re(((((as.complex(2.0)) - (data$SeedDiff))) - ((-((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(data$quality_march_T2)),(-((data$X1_BlkMean))),as.complex(0))))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(as.complex(-3.0)) >= Mod((((((data$X1_PointsDiffMean) + ((-((((((((sqrt((as.complex(-3.0)))) + (data$SeedDiff))/2.0)) + (data$SeedDiff))/2.0))))))/2.0)) - (data$SeedDiff)))),as.complex(-3.0),(((((data$X1_PointsDiffMean) + ((-((((((((sqrt((as.complex(-3.0)))) + (data$SeedDiff))/2.0)) + (data$SeedDiff))/2.0))))))/2.0)) - (data$SeedDiff))))) +
                  0.100000*tanh(Re((-((ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) + (tanh((sin((data$X1_FgaMean))))))) >= Mod(((((((tanh((sin((data$X1_FgaMean))))) * 2.0)) * 2.0)) * 2.0))),((data$SeedDiff) + (tanh((sin((data$X1_FgaMean)))))),((((((tanh((sin((data$X1_FgaMean))))) * 2.0)) * 2.0)) * 2.0))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((((((((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(data$X2_BlkMean)),data$SeedDiff,data$X2_BlkMean)) / 2.0)) - (data$SeedDiff))) / 2.0)) - (as.complex(2.500000)))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(data$quality_march_T2)),as.complex(4.059742),as.complex(0)))),((((((((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(data$X2_BlkMean)),data$SeedDiff,data$X2_BlkMean)) / 2.0)) - (data$SeedDiff))) / 2.0)) - (as.complex(2.500000))),ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(data$quality_march_T2)),as.complex(4.059742),as.complex(0))))) +
                  0.100000*tanh(Re(((cos((((data$X2_BlkMean) * (as.complex(4.059742)))))) + (((cos((data$X1_FgaMax))) + ((((data$X2_BlkMean) + (((cos((data$SeedDiff))) - (data$SeedDiff))))/2.0))))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(as.complex(4.0)) >= Mod(complex(real = 0, imaginary = 1)*Conj(data$X1_BlkMean))),as.complex(4.0),complex(real = 0, imaginary = 1)*Conj(data$X1_BlkMean))) - (ifelse(rep(1.,NROW(data))*(Mod((((((data$X1_BlkMean) + (complex(real = 0, imaginary = 1)*Conj(data$X1_BlkMean)))) + (complex(real = 0, imaginary = 1)*Conj(as.complex(9.500000))))/2.0)) >= Mod(data$SeedDiff)),(((((data$X1_BlkMean) + (complex(real = 0, imaginary = 1)*Conj(data$X1_BlkMean)))) + (complex(real = 0, imaginary = 1)*Conj(as.complex(9.500000))))/2.0),data$SeedDiff))))) +
                  0.100000*tanh(Re(((((((data$X1_AstMean) - (data$X2_PointsDiffMean))) - ((((((as.complex(6.0)) + (sinh((data$SeedDiff))))/2.0)) - (((data$X2_PointsMean) * (data$SeedDiff))))))) - (data$X1_PointsMean)))) +
                  0.100000*tanh(Re((-((((((((data$SeedDiff) + (((data$X2_BlkMean) - (data$quality_march_T1))))/2.0)) + (cos(((((ifelse(rep(1.,NROW(data))*(Mod(as.complex(6.0)) <= Mod(data$SeedDiff)),as.complex(6.0),data$SeedDiff)) + (data$SeedDiff))/2.0)))))/2.0)))))) +
                  0.100000*tanh(Re((((((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean))) + (ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsDiffMean) <= Mod((((((data$Seed2) - (((as.complex(4.0)) / (data$quality_march_T1))))) + (data$X1_PointsDiffMean))/2.0))),data$X1_FgaMean,as.complex(0))))/2.0))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((as.complex(-2.0)) - (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) > Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) > Mod(data$SeedDiff)),as.complex(8.0),as.complex(0)))),data$SeedDiff,as.complex(0))))) >= Mod(((data$X1_PointsDiffMean) - (as.complex(11.286795))))),((as.complex(-2.0)) - (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) > Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) > Mod(data$SeedDiff)),as.complex(8.0),as.complex(0)))),data$SeedDiff,as.complex(0)))),((data$X1_PointsDiffMean) - (as.complex(11.286795)))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(as.complex(75.250000)) > Mod(Conj(data$X1_PointsMean))),as.complex(9.500000),as.complex(0))) - (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(sqrt((sqrt((((as.complex(-9.500000)) * (complex(real = 0, imaginary = 1)*Conj(data$X1_PointsMean))))))))),data$SeedDiff,sqrt((sqrt((((as.complex(-9.500000)) * (complex(real = 0, imaginary = 1)*Conj(data$X1_PointsMean)))))))))))) +
                  0.100000*tanh(Re(((((data$X1_PointsDiffMean) + (ifelse(rep(1.,NROW(data))*(Mod(as.complex(14.971033)) > Mod(data$X2_PointsDiffMean)),data$X1_PointsDiffMean,as.complex(0))))) - (((data$X2_AstMean) + (ifelse(rep(1.,NROW(data))*(Mod(((as.complex(4.059742)) / (data$X2_PointsDiffMean))) <= Mod(as.complex(7.0))),((as.complex(4.059742)) / (data$X2_PointsDiffMean)),as.complex(7.0)))))))) +
                  0.100000*tanh(Re(sinh((ifelse(rep(1.,NROW(data))*(Mod(((data$X2_OppFgaMean) - (as.complex(55.295696)))) >= Mod((((((complex(real = 0, imaginary = 1)*Conj(ifelse(rep(1.,NROW(data))*(Mod(data$X2_BlkMean) >= Mod(data$SeedDiff)),data$X2_BlkMean,data$SeedDiff))) - (data$quality_march_T1))) + ((-((data$SeedDiff)))))/2.0))),((data$X2_OppFgaMean) - (as.complex(55.295696))),(((((complex(real = 0, imaginary = 1)*Conj(ifelse(rep(1.,NROW(data))*(Mod(data$X2_BlkMean) >= Mod(data$SeedDiff)),data$X2_BlkMean,data$SeedDiff))) - (data$quality_march_T1))) + ((-((data$SeedDiff)))))/2.0)))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((data$Seed2) - (data$X2_AstMean))) <= Mod(ifelse(rep(1.,NROW(data))*(Mod(((((-((data$Seed1)))) + (data$Seed2))/2.0)) >= Mod(ifelse(rep(1.,NROW(data))*(Mod((-((data$Seed1)))) <= Mod(data$Seed2)),(-((data$Seed1))),data$Seed2))),((((-((data$Seed1)))) + (data$Seed2))/2.0),ifelse(rep(1.,NROW(data))*(Mod((-((data$Seed1)))) <= Mod(data$Seed2)),(-((data$Seed1))),data$Seed2)))),((data$Seed2) - (data$X2_AstMean)),ifelse(rep(1.,NROW(data))*(Mod(((((-((data$Seed1)))) + (data$Seed2))/2.0)) >= Mod(ifelse(rep(1.,NROW(data))*(Mod((-((data$Seed1)))) <= Mod(data$Seed2)),(-((data$Seed1))),data$Seed2))),((((-((data$Seed1)))) + (data$Seed2))/2.0),ifelse(rep(1.,NROW(data))*(Mod((-((data$Seed1)))) <= Mod(data$Seed2)),(-((data$Seed1))),data$Seed2))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) >= Mod((-((((((data$X2_WinRatio14d) * (as.complex(12.678505)))) + (sin((((data$X2_WinRatio14d) * (as.complex(12.678505)))))))))))),data$Seed2,(-((((((data$X2_WinRatio14d) * (as.complex(12.678505)))) + (sin((((data$X2_WinRatio14d) * (as.complex(12.678505))))))))))))) +
                  0.100000*tanh(Re((-((((ifelse(rep(1.,NROW(data))*(Mod(data$X1_AstMean) >= Mod(as.complex(12.46372032165527344))),data$X1_AstMean,as.complex(12.46372032165527344))) - (((data$X1_PointsDiffMean) + (ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) <= Mod(((as.complex(11.286795)) / 2.0))),data$X1_PointsDiffMean,((as.complex(11.286795)) / 2.0))) <= Mod(((data$X1_AstMean) / 2.0))),ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) <= Mod(((as.complex(11.286795)) / 2.0))),data$X1_PointsDiffMean,((as.complex(11.286795)) / 2.0)),((data$X1_AstMean) / 2.0))))))))))) +
                  0.100000*tanh(Re(((((data$X1_PointsDiffMean) - (ifelse(rep(1.,NROW(data))*(Mod(data$X2_OppFgaMean) <= Mod(data$X2_FgaMean)),ifelse(rep(1.,NROW(data))*(Mod(as.complex(4.0)) <= Mod(data$X2_PointsDiffMean)),ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) <= Mod(data$X2_AstMean)),as.complex(14.971033),as.complex(0)),as.complex(0)),as.complex(0))))) * (data$X2_FgaMean)))) +
                  0.100000*tanh(Re((((((((((((data$SeedDiff) * (as.complex(11.286795)))) + (sinh(((-((((data$SeedDiff) / 2.0))))))))/2.0)) + (data$SeedDiff))/2.0)) + ((-((((data$SeedDiff) / 2.0))))))/2.0))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(data$X1_BlkMean) >= Mod(((sqrt(((((sinh((data$X1_BlkMean))) + ((((ifelse(rep(1.,NROW(data))*(Mod(data$X2_OppFgaMean) >= Mod(sqrt((as.complex(11.286795))))),data$X2_OppFgaMean,sqrt((as.complex(11.286795))))) + (data$SeedDiff))/2.0)))/2.0)))) - (data$X2_PointsDiffMean)))),data$X1_BlkMean,((sqrt(((((sinh((data$X1_BlkMean))) + ((((ifelse(rep(1.,NROW(data))*(Mod(data$X2_OppFgaMean) >= Mod(sqrt((as.complex(11.286795))))),data$X2_OppFgaMean,sqrt((as.complex(11.286795))))) + (data$SeedDiff))/2.0)))/2.0)))) - (data$X2_PointsDiffMean))))))
}

.gpComplexIII<-function(data){
  predictions<-(0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsDiffMean) >= Mod(((data$X2_PointsMean) * (((((data$SeedDiff) - (cos((data$X2_PointsDiffMean))))) - (sinh((data$SeedDiff)))))))),data$X2_PointsDiffMean,((data$X2_PointsMean) * (((((data$SeedDiff) - (cos((data$X2_PointsDiffMean))))) - (sinh((data$SeedDiff))))))))) +
                  0.100000*tanh(Re(((((((ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsMedian) > Mod(data$X1_PointsMedian)),sqrt((data$X2_AstMean)),as.complex(0))) - (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(data$X1_PointsMedian)),as.complex(1.),as.complex(0.))))) - (data$quality_march_T1))) - (sinh((data$SeedDiff)))))) +
                  0.100000*tanh(Re(((((sin((data$X2_FgaMean))) + (((((((tanh((data$X2_FgaMean))) + (((cos((data$X1_FgaMean))) * 2.0)))) - (data$SeedDiff))) * 2.0)))) - (data$SeedDiff)))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(((cos((data$X1_FgaMean))) - (ifelse(rep(1.,NROW(data))*(Mod(((tanh((sin((data$X1_FgaMean))))) * 2.0)) >= Mod(data$SeedDiff)),((tanh((sin((data$X1_FgaMean))))) * 2.0),data$SeedDiff)))) >= Mod(cos((cos((data$X1_FgaMean)))))),((cos((data$X1_FgaMean))) - (ifelse(rep(1.,NROW(data))*(Mod(((tanh((sin((data$X1_FgaMean))))) * 2.0)) >= Mod(data$SeedDiff)),((tanh((sin((data$X1_FgaMean))))) * 2.0),data$SeedDiff))),cos((cos((data$X1_FgaMean)))))) * 2.0))) +
                  0.100000*tanh(Re(((((((data$quality_march_T2) * 2.0)) - (data$X2_FgaMean))) * (ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) - (data$quality_march_T1))) <= Mod(((data$quality_march_T2) - ((-((data$SeedDiff))))))),((data$SeedDiff) - (data$quality_march_T1)),((data$quality_march_T2) - ((-((data$SeedDiff)))))))))) +
                  0.100000*tanh(Re(((data$X1_FgaMean) * (((data$X2_OppFgaMean) * ((-((((((data$SeedDiff) - (cos((((data$X2_PointsMean) - (data$X1_FgaMean))))))) - (cos((data$X1_FgaMean))))))))))))) +
                  0.100000*tanh(Re(((((ifelse(rep(1.,NROW(data))*(Mod(((data$X2_FgaMin) - (data$X1_OppFgaMin))) > Mod(as.complex(1.107480))),data$X2_PointsDiffMean,as.complex(0))) - (ifelse(rep(1.,NROW(data))*(Mod(as.complex(1.107480)) > Mod(data$X2_PointsDiffMean)),as.complex(1.),as.complex(0.))))) - (((as.complex(12.106062)) * (data$SeedDiff)))))) +
                  0.100000*tanh(Re(((cos((data$X1_FgaMean))) + (((((cos((data$X2_FgaMin))) * 2.0)) - (sinh((((data$SeedDiff) - (cos((((data$X1_FgaMean) - (data$SeedDiff)))))))))))))) +
                  0.100000*tanh(Re(((((((data$Seed2) - (data$Seed1))) + (cos((data$X2_FgaMin))))) + (cos((((data$X2_FgaMin) - (ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) <= Mod(data$Seed1)),as.complex(1.),as.complex(0.)))))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsDiffMean) <= Mod(data$Seed1)),data$X2_PointsDiffMean,data$Seed1)) >= Mod(((ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) >= Mod(((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(data$Seed1)),data$quality_march_T1,data$Seed1)) - (data$Seed1)))),data$Seed2,((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(data$Seed1)),data$quality_march_T1,data$Seed1)) - (data$Seed1)))) - (data$Seed1)))),ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsDiffMean) <= Mod(data$Seed1)),data$X2_PointsDiffMean,data$Seed1),((ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) >= Mod(((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(data$Seed1)),data$quality_march_T1,data$Seed1)) - (data$Seed1)))),data$Seed2,((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(data$Seed1)),data$quality_march_T1,data$Seed1)) - (data$Seed1)))) - (data$Seed1))))) +
                  0.100000*tanh(Re(((((data$X2_FgaMean) * (((data$quality_march_T2) + ((-((((((data$quality_march_T1) - ((-((data$SeedDiff)))))) - ((-((data$SeedDiff))))))))))))) - (data$quality_march_T2)))) +
                  0.100000*tanh(Re(((as.complex(-2.0)) * ((((((data$SeedDiff) + (((cos((data$X2_FgaMin))) - (sinh((data$SeedDiff))))))/2.0)) * (as.complex(-2.0))))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(cos((((data$X2_PointsMean) * (data$X2_PointsMedian))))) >= Mod(data$SeedDiff)),cos((((data$X2_PointsMean) * (data$X2_PointsMedian)))),data$SeedDiff)) >= Mod(cos((((data$X1_OppFgaMin) * (data$Seed1)))))),ifelse(rep(1.,NROW(data))*(Mod(cos((((data$X2_PointsMean) * (data$X2_PointsMedian))))) >= Mod(data$SeedDiff)),cos((((data$X2_PointsMean) * (data$X2_PointsMedian)))),data$SeedDiff),cos((((data$X1_OppFgaMin) * (data$Seed1)))))) * ((-((data$X2_PointsMedian))))))) +
                  0.100000*tanh(Re((-((((data$X1_PointsMedian) / (((((data$SeedDiff) - (cos((as.complex(0.960822)))))) - (cos((ifelse(rep(1.,NROW(data))*(Mod(data$X1_OppFgaMean) >= Mod(data$X1_FgaMean)),data$X1_OppFgaMean,data$X1_FgaMean)))))))))))) +
                  0.100000*tanh(Re(((((((((((((sin((((sin((((sin((((data$X1_PointsDiffMean) * 2.0)))) * 2.0)))) * 2.0)))) * 2.0)) - (data$SeedDiff))) * 2.0)) * 2.0)) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(((((((((((((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(data$quality_march_T1)),cos((data$X1_FgaMean)),as.complex(0))) + (cos((as.complex(1.0)))))) - (data$SeedDiff))) * 2.0)) * 2.0)) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(((((sin((((((data$X1_OppFgaMean) / 2.0)) * (data$X1_OppFgaMean))))) - (data$SeedDiff))) + (sin((((((data$X1_OppFgaMean) * (sinh((data$X2_AstMean))))) / 2.0))))))) +
                  0.100000*tanh(Re((((((data$X1_FgaMax) * (((sin((((data$X1_FgaMean) - (data$Seed2))))) + (((data$Seed2) - (data$Seed1))))))) + (((as.complex(13.500000)) - (data$X1_PointsDiffMean))))/2.0))) +
                  0.100000*tanh(Re(((data$quality_march_T1) - (((as.complex(14.997293)) * (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(((data$quality_march_T1) * (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(ifelse(rep(1.,NROW(data))*(Mod((-((data$quality_march_T2)))) >= Mod(data$quality_march_T1)),(-((data$quality_march_T2))),data$quality_march_T1))),data$SeedDiff,ifelse(rep(1.,NROW(data))*(Mod((-((data$quality_march_T2)))) >= Mod(data$quality_march_T1)),(-((data$quality_march_T2))),data$quality_march_T1)))))),data$SeedDiff,((data$quality_march_T1) * (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(ifelse(rep(1.,NROW(data))*(Mod((-((data$quality_march_T2)))) >= Mod(data$quality_march_T1)),(-((data$quality_march_T2))),data$quality_march_T1))),data$SeedDiff,ifelse(rep(1.,NROW(data))*(Mod((-((data$quality_march_T2)))) >= Mod(data$quality_march_T1)),(-((data$quality_march_T2))),data$quality_march_T1))))))))))) +
                  0.100000*tanh(Re(((((((data$SeedDiff) + (((((((sin((data$X2_FgaMean))) + (((sin((data$SeedDiff))) - (data$SeedDiff))))) * 2.0)) * 2.0)))) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(((((((((((((((((cos(((((data$X2_OppFgaMin) + (data$SeedDiff))/2.0)))) * 2.0)) * 2.0)) - (data$SeedDiff))) * 2.0)) * 2.0)) * 2.0)) * 2.0)) - (data$SeedDiff)))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) >= Mod(((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(data$SeedDiff)),ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(data$Seed2)),((data$X1_PointsDiffMean) - (data$Seed2)),as.complex(0)),as.complex(0))) - (data$SeedDiff)))),data$quality_march_T2,((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(data$SeedDiff)),ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(data$Seed2)),((data$X1_PointsDiffMean) - (data$Seed2)),as.complex(0)),as.complex(0))) - (data$SeedDiff))))) +
                  0.100000*tanh(Re(((cos((data$SeedDiff))) + (((((((cos((data$X2_FgaMin))) * (((as.complex(3.0)) * 2.0)))) + (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) > Mod(as.complex(4.97315979003906250))),as.complex(1.),as.complex(0.))))) - (data$SeedDiff)))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(((as.complex(2.0)) - (data$Seed1))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) <= Mod(as.complex(10.0))),data$X1_PointsDiffMean,as.complex(10.0)))),((as.complex(2.0)) - (data$Seed1)),ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) <= Mod(as.complex(10.0))),data$X1_PointsDiffMean,as.complex(10.0)))) >= Mod(((as.complex(3.0)) - (data$X2_PointsDiffMean)))),ifelse(rep(1.,NROW(data))*(Mod(((as.complex(2.0)) - (data$Seed1))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) <= Mod(as.complex(10.0))),data$X1_PointsDiffMean,as.complex(10.0)))),((as.complex(2.0)) - (data$Seed1)),ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) <= Mod(as.complex(10.0))),data$X1_PointsDiffMean,as.complex(10.0))),((as.complex(3.0)) - (data$X2_PointsDiffMean))))) +
                  0.100000*tanh(Re((((((((tanh((data$SeedDiff))) * 2.0)) - (data$SeedDiff))) + (((((((((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(data$quality_march_T2)),as.complex(1.),as.complex(0.))) * 2.0)) - (data$quality_march_T2))) * 2.0)) * 2.0)))/2.0))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) > Mod(data$quality_march_T2)),((((((data$X1_PointsDiffMean) - ((((data$X2_PointsDiffMean) + ((((((data$SeedDiff) + (data$X2_PointsDiffMean))) + (data$X2_PointsDiffMean))/2.0)))/2.0)))) * 2.0)) * 2.0),as.complex(0)))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(((as.complex(44.500000)) * (((((data$SeedDiff) * 2.0)) + (data$quality_march_T1))))) <= Mod(cosh((((data$X1_BlkMean) + (data$Seed2)))))),((as.complex(44.500000)) * (((((data$SeedDiff) * 2.0)) + (data$quality_march_T1)))),cosh((((data$X1_BlkMean) + (data$Seed2)))))) - (sinh((data$SeedDiff)))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(data$X2_BlkMean)),data$SeedDiff,data$X2_BlkMean)) / 2.0)) > Mod(sinh((as.complex(-2.0))))),(-((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(data$X2_BlkMean)),data$SeedDiff,data$X2_BlkMean)))),as.complex(0)))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(as.complex(-3.0)) <= Mod(ifelse(rep(1.,NROW(data))*(Mod(as.complex(-3.0)) <= Mod(((data$X2_BlkMean) - (data$SeedDiff)))),data$SeedDiff,as.complex(0)))),((((as.complex(-1.0)) * (data$SeedDiff))) - (data$X2_BlkMean)),as.complex(0)))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(((((cos((data$SeedDiff))) - (cos((as.complex(-1.500000)))))) - (sinh((((((data$SeedDiff) / 2.0)) - (cos((data$X1_FgaMean)))))))))),data$SeedDiff,((((cos((data$SeedDiff))) - (cos((as.complex(-1.500000)))))) - (sinh((((((data$SeedDiff) / 2.0)) - (cos((data$X1_FgaMean))))))))))) +
                  0.100000*tanh(Re((((((((((as.complex(-12.500000)) + (data$X1_PointsDiffMean))/2.0)) * 2.0)) * 2.0)) - (((data$SeedDiff) + ((((data$X1_PointsDiffMean) + (((((data$SeedDiff) + (data$X2_BlkMean))) / 2.0)))/2.0))))))) +
                  0.100000*tanh(Re((((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) >= Mod(((sinh((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(as.complex(1.107480))),data$X1_PointsDiffMean,as.complex(0))))) - (((as.complex(56.970589)) * (data$SeedDiff)))))),data$quality_march_T2,((sinh((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(as.complex(1.107480))),data$X1_PointsDiffMean,as.complex(0))))) - (((as.complex(56.970589)) * (data$SeedDiff)))))) + (data$Seed2))/2.0))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((((as.complex(-1.0)) * 2.0)) - (as.complex(4.883334)))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(((data$quality_march_T2) - (data$SeedDiff))) >= Mod(sqrt((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(data$quality_march_T2)),data$X2_PointsMean,as.complex(0)))))),((data$quality_march_T2) - (data$SeedDiff)),sqrt((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(data$quality_march_T2)),data$X2_PointsMean,as.complex(0))))))),((((as.complex(-1.0)) * 2.0)) - (as.complex(4.883334))),ifelse(rep(1.,NROW(data))*(Mod(((data$quality_march_T2) - (data$SeedDiff))) >= Mod(sqrt((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(data$quality_march_T2)),data$X2_PointsMean,as.complex(0)))))),((data$quality_march_T2) - (data$SeedDiff)),sqrt((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(data$quality_march_T2)),data$X2_PointsMean,as.complex(0)))))))) +
                  0.100000*tanh(Re((((ifelse(rep(1.,NROW(data))*(Mod((-((data$SeedDiff)))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(as.complex(-10.500000)) >= Mod(data$X1_PointsDiffMean)),as.complex(-10.500000),data$X1_PointsDiffMean))),(-((data$SeedDiff))),ifelse(rep(1.,NROW(data))*(Mod(as.complex(-10.500000)) >= Mod(data$X1_PointsDiffMean)),as.complex(-10.500000),data$X1_PointsDiffMean))) + (ifelse(rep(1.,NROW(data))*(Mod((-((data$SeedDiff)))) >= Mod(as.complex(-10.500000))),(-((data$SeedDiff))),as.complex(-10.500000))))/2.0))) +
                  0.100000*tanh(Re(((((((data$X1_PointsDiffMean) + (ifelse(rep(1.,NROW(data))*(Mod(as.complex(14.839285)) <= Mod(data$Seed2)),data$X2_OppFgaMean,as.complex(0))))) + (ifelse(rep(1.,NROW(data))*(Mod(as.complex(-10.500000)) <= Mod(data$SeedDiff)),as.complex(-10.500000),data$SeedDiff)))) - (data$X2_PointsDiffMean)))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((sin((data$SeedDiff))) + (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) > Mod(as.complex(-10.500000))),((sin((data$X1_PointsMedian))) - (data$SeedDiff)),as.complex(0))))) >= Mod(((sin((data$X1_PointsMedian))) * 2.0))),((sin((data$SeedDiff))) + (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) > Mod(as.complex(-10.500000))),((sin((data$X1_PointsMedian))) - (data$SeedDiff)),as.complex(0)))),((sin((data$X1_PointsMedian))) * 2.0)))) +
                  0.100000*tanh(Re((((((((((data$X2_AstMean) + (ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$Seed1) <= Mod(data$Seed2)),data$Seed1,data$Seed2)) <= Mod(data$X2_BlkMean)),ifelse(rep(1.,NROW(data))*(Mod(data$Seed1) <= Mod(data$Seed2)),data$Seed1,data$Seed2),data$X2_BlkMean)))/2.0)) - (data$X2_PointsDiffMean))) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(((data$Seed2) * (((((as.complex(-3.0)) + (data$X1_PointsDiffMean))) + (((data$Seed2) * (((sin((ifelse(rep(1.,NROW(data))*(Mod(as.complex(-1.500000)) >= Mod(sinh((data$Seed2)))),as.complex(-1.500000),sinh((data$Seed2)))))) * 2.0))))))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) + (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(((as.complex(12.106062)) - (data$Seed2)))),((data$SeedDiff) * (data$quality_march_T1)),as.complex(0))))) <= Mod(as.complex(10.500000))),((data$SeedDiff) + (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(((as.complex(12.106062)) - (data$Seed2)))),((data$SeedDiff) * (data$quality_march_T1)),as.complex(0)))),as.complex(10.500000))) - (data$SeedDiff)))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(as.complex(-14.0)) <= Mod(data$X2_AstMean)),as.complex(1.),as.complex(0.))) + (((ifelse(rep(1.,NROW(data))*(Mod(as.complex(14.839285)) <= Mod(data$X2_AstMean)),as.complex(1.),as.complex(0.))) + ((((((data$X2_AstMean) + (as.complex(0.960822)))/2.0)) - (data$X2_PointsDiffMean)))))))))
}

.gpComplexIV<-function(data){
  predictions<-(0.100000*tanh(Re(((((sin((((cos((data$SeedDiff))) + (data$X1_PointsMedian))))) - (((sin((sin((((data$X1_FgaMax) * 2.0)))))) * 2.0)))) - (sinh((data$SeedDiff)))))) +
                  0.100000*tanh(Re(((data$Seed2) * (((as.complex(56.007576)) * ((-((((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(((cos((data$X2_PointsDiffMean))) / 2.0))),data$SeedDiff,((cos((data$X2_PointsDiffMean))) / 2.0))) / 2.0)))))))))) +
                  0.100000*tanh(Re((((-((((((Conj(ifelse(rep(1.,NROW(data))*(Mod((((((data$SeedDiff) * 2.0)) + (data$SeedDiff))/2.0)) >= Mod(((data$X2_PointsDiffMean) - (data$X1_PointsDiffMean)))),(((((data$SeedDiff) * 2.0)) + (data$SeedDiff))/2.0),((data$X2_PointsDiffMean) - (data$X1_PointsDiffMean))))) * 2.0)) * 2.0))))) - (data$SeedDiff)))) +
                  0.100000*tanh(Re(((((ifelse(rep(1.,NROW(data))*(Mod(as.complex(1.107452)) >= Mod(((ifelse(rep(1.,NROW(data))*(Mod(cos((data$X2_PointsMean))) >= Mod(((data$SeedDiff) * (((cos((data$SeedDiff))) - (as.complex(1.107452))))))),cos((data$X2_PointsMean)),((data$SeedDiff) * (((cos((data$SeedDiff))) - (as.complex(1.107452))))))) * 2.0))),as.complex(1.107452),((ifelse(rep(1.,NROW(data))*(Mod(cos((data$X2_PointsMean))) >= Mod(((data$SeedDiff) * (((cos((data$SeedDiff))) - (as.complex(1.107452))))))),cos((data$X2_PointsMean)),((data$SeedDiff) * (((cos((data$SeedDiff))) - (as.complex(1.107452))))))) * 2.0))) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(((((((sin((sin((((data$X1_FgaMean) + ((-((ifelse(rep(1.,NROW(data))*(Mod(data$Seed1) >= Mod(((as.complex(4.0)) * (data$SeedDiff)))),data$Seed1,((as.complex(4.0)) * (data$SeedDiff))))))))))))) * 2.0)) - (data$SeedDiff))) * 2.0))) +
                  0.100000*tanh(Re(((((((cos((data$X1_PointsDiffMean))) * ((((data$X1_PointsDiffMean) + (as.complex(78.284630)))/2.0)))) - (((as.complex(78.284630)) * (data$SeedDiff))))) - (data$X1_PointsDiffMean)))) +
                  0.100000*tanh(Re(((((data$X2_PointsMean) - ((-((data$X2_PointsMean)))))) / (((((sin(((((((data$X2_PointsMean) - (data$SeedDiff))) + (as.complex(60.492470)))/2.0)))) * 2.0)) - (data$SeedDiff)))))) +
                  0.100000*tanh(Re((((((-((data$SeedDiff)))) - (cos((data$X2_FgaMean))))) - (ifelse(rep(1.,NROW(data))*(Mod(cos((cos((cos((tanh((data$SeedDiff))))))))) <= Mod(cos((data$X2_FgaMean)))),cos((cos((cos((tanh((data$SeedDiff)))))))),cos((data$X2_FgaMean))))))) +
                  0.100000*tanh(Re((-((((ifelse(rep(1.,NROW(data))*(Mod(((sin((data$X1_FgaMean))) + (ifelse(rep(1.,NROW(data))*(Mod(sin((data$X2_PointsDiffMean))) >= Mod(data$SeedDiff)),sin((data$X2_PointsDiffMean)),data$SeedDiff)))) >= Mod(sin((((data$X2_PointsDiffMean) * 2.0))))),((sin((data$X1_FgaMean))) + (ifelse(rep(1.,NROW(data))*(Mod(sin((data$X2_PointsDiffMean))) >= Mod(data$SeedDiff)),sin((data$X2_PointsDiffMean)),data$SeedDiff))),sin((((data$X2_PointsDiffMean) * 2.0))))) * 2.0)))))) +
                  0.100000*tanh(Re(((((sinh((((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(data$quality_march_T2)),as.complex(1.),as.complex(0.))) + (((data$Seed2) - (data$Seed1))))))) - (ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(data$quality_march_T1)),as.complex(1.),as.complex(0.))))) * 2.0))) +
                  0.100000*tanh(Re(((((((data$X2_PointsDiffMean) - (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(data$X2_PointsDiffMean)),as.complex(1.),as.complex(0.))))) - (((data$SeedDiff) * (as.complex(9.29750728607177734)))))) - (cosh((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(data$SeedDiff)),as.complex(1.),as.complex(0.)))))))) +
                  0.100000*tanh(Re(((((((((((((((data$X1_PointsDiffMean) * (((cos((data$X1_PointsDiffMean))) - (data$SeedDiff))))) - (sinh((data$SeedDiff))))) * 2.0)) * 2.0)) * 2.0)) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(((sinh((((((((((((sinh((sinh((cos((data$X2_PointsMean))))))) * 2.0)) - (data$SeedDiff))) * 2.0)) * 2.0)) - (data$SeedDiff))))) - (data$SeedDiff)))) +
                  0.100000*tanh(Re(((data$X2_BlkMean) * (ifelse(rep(1.,NROW(data))*(Mod(((data$X2_BlkMean) * (((((sin((data$X1_OppFgaMin))) / 2.0)) / 2.0)))) >= Mod((-((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(cos((data$X2_PointsDiffMean)))),data$SeedDiff,cos((data$X2_PointsDiffMean)))))))),((data$X2_BlkMean) * (((((sin((data$X1_OppFgaMin))) / 2.0)) / 2.0))),(-((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(cos((data$X2_PointsDiffMean)))),data$SeedDiff,cos((data$X2_PointsDiffMean))))))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(cos((data$X1_OppFgaMean))) >= Mod(((cos((data$X1_FgaMean))) - (sinh((((data$SeedDiff) - (cos((((data$X1_OppFgaMean) + (data$SeedDiff)))))))))))),cos((data$X1_OppFgaMean)),((cos((data$X1_FgaMean))) - (sinh((((data$SeedDiff) - (cos((((data$X1_OppFgaMean) + (data$SeedDiff))))))))))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) + (cos((data$X2_FgaMean))))) >= Mod(cos((cos((((as.complex(15.940258)) * (data$SeedDiff)))))))),((data$SeedDiff) + (cos((data$X2_FgaMean)))),cos((cos((((as.complex(15.940258)) * (data$SeedDiff)))))))) * ((-((as.complex(74.500000)))))))) +
                  0.100000*tanh(Re(((((((((((((((((sin((((data$X1_PointsDiffMean) * 2.0)))) * 2.0)) * 2.0)) * 2.0)) * 2.0)) * 2.0)) * 2.0)) * 2.0)) - (sinh((((data$SeedDiff) * 2.0))))))) +
                  0.100000*tanh(Re(((((ifelse(rep(1.,NROW(data))*(Mod(sin((data$SeedDiff))) >= Mod(((((((cos((data$X1_FgaMin))) * (ifelse(rep(1.,NROW(data))*(Mod(as.complex(-2.0)) <= Mod(data$X1_PointsDiffMean)),as.complex(-2.0),data$X1_PointsDiffMean)))) - (data$SeedDiff))) * 2.0))),sin((data$SeedDiff)),((((((cos((data$X1_FgaMin))) * (ifelse(rep(1.,NROW(data))*(Mod(as.complex(-2.0)) <= Mod(data$X1_PointsDiffMean)),as.complex(-2.0),data$X1_PointsDiffMean)))) - (data$SeedDiff))) * 2.0))) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(sinh(((-((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(sinh((ifelse(rep(1.,NROW(data))*(Mod(sin((data$X2_OppFgaMean))) <= Mod(data$SeedDiff)),sin((data$X2_OppFgaMean)),data$SeedDiff))))),data$SeedDiff,sinh((ifelse(rep(1.,NROW(data))*(Mod(sin((data$X2_OppFgaMean))) <= Mod(data$SeedDiff)),sin((data$X2_OppFgaMean)),data$SeedDiff))))))))))) +
                  0.100000*tanh(Re((-(((((data$X1_FgaMean) + ((((data$X1_FgaMean) + ((((((((data$X1_PointsDiffMean) + (((data$SeedDiff) * (as.complex(12.13115501403808594)))))/2.0)) * (as.complex(12.13115501403808594)))) * (data$X1_FgaMin))))/2.0)))/2.0)))))) +
                  0.100000*tanh(Re(((((((as.complex(-1.0)) / (((((((cos((data$X1_FgaMax))) - (data$SeedDiff))) * 2.0)) * 2.0)))) - (cosh((complex(real = 0, imaginary = 1)*Conj(data$X1_FgaMin)))))) - (data$SeedDiff)))) +
                  0.100000*tanh(Re(((cos((data$X1_PointsDiffMean))) - (ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X2_WinRatio14d) <= Mod(sqrt((sqrt((data$SeedDiff)))))),((as.complex(7.54229164123535156)) / (sqrt((data$X1_PointsDiffMean)))),as.complex(0))) >= Mod(data$SeedDiff)),ifelse(rep(1.,NROW(data))*(Mod(data$X2_WinRatio14d) <= Mod(sqrt((sqrt((data$SeedDiff)))))),((as.complex(7.54229164123535156)) / (sqrt((data$X1_PointsDiffMean)))),as.complex(0)),data$SeedDiff))))) +
                  0.100000*tanh(Re(((Conj(ifelse(rep(1.,NROW(data))*(Mod(data$X2_WinRatio14d) >= Mod(data$SeedDiff)),data$X2_WinRatio14d,data$SeedDiff))) - (sinh(((((ifelse(rep(1.,NROW(data))*(Mod(data$X2_WinRatio14d) >= Mod(sin((data$X2_BlkMean)))),data$X2_WinRatio14d,sin((data$X2_BlkMean)))) + (data$SeedDiff))/2.0))))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(((sin((sin((((data$X1_AstMean) - (data$X2_AstMean))))))) - (data$SeedDiff))) >= Mod(((sin((((data$X1_PointsDiffMean) + (data$X1_PointsDiffMean))))) * 2.0))),((sin((sin((((data$X1_AstMean) - (data$X2_AstMean))))))) - (data$SeedDiff)),((sin((((data$X1_PointsDiffMean) + (data$X1_PointsDiffMean))))) * 2.0))) * 2.0))) +
                  0.100000*tanh(Re((((-((data$SeedDiff)))) + (ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) > Mod(((sin((as.complex(44.500000)))) * (data$SeedDiff)))),as.complex(6.359375),as.complex(0))) <= Mod((-((data$X1_PointsDiffMean))))),ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) > Mod(((sin((as.complex(44.500000)))) * (data$SeedDiff)))),as.complex(6.359375),as.complex(0)),(-((data$X1_PointsDiffMean)))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) > Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) <= Mod(as.complex(14.500000))),ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsDiffMean) <= Mod(as.complex(14.500000))),((as.complex(14.500000)) / 2.0),as.complex(0)),as.complex(0)))),(-((data$SeedDiff))),as.complex(0)))) +
                  0.100000*tanh(Re(((((ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(data$X2_PointsDiffMean)),(((((-((data$SeedDiff)))) - (data$Seed2))) * 2.0),as.complex(0))) <= Mod(((data$Seed2) * 2.0))),ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(data$X2_PointsDiffMean)),(((((-((data$SeedDiff)))) - (data$Seed2))) * 2.0),as.complex(0)),((data$Seed2) * 2.0))) - (data$SeedDiff))) * 2.0))) +
                  0.100000*tanh(Re((((((-(((((((data$SeedDiff) + (sin((as.complex(4.0)))))) + (((as.complex(4.0)) - (((data$X1_PointsDiffMean) - (((as.complex(7.17889881134033203)) * 2.0)))))))/2.0))))) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re((((((((((((((((ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) - (as.complex(11.48092365264892578)))) >= Mod(as.complex(11.48092651367187500))),((data$SeedDiff) - (as.complex(11.48092365264892578))),as.complex(11.48092651367187500))) + (data$Seed2))/2.0)) - (data$SeedDiff))) * 2.0)) * 2.0)) * 2.0)) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re((((((((sinh((((as.complex(8.500000)) - (data$X2_PointsDiffMean))))) + (data$X1_PointsDiffMean))/2.0)) + (sinh((((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean))))))) + (as.complex(8.500000))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) >= Mod((-((data$Seed1))))),data$X1_PointsDiffMean,(-((data$Seed1))))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod((-((as.complex(12.617647))))) >= Mod(((data$Seed1) - (data$SeedDiff)))),(-((as.complex(12.617647)))),((data$Seed1) - (data$SeedDiff))))),ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) >= Mod((-((data$Seed1))))),data$X1_PointsDiffMean,(-((data$Seed1)))),ifelse(rep(1.,NROW(data))*(Mod((-((as.complex(12.617647))))) >= Mod(((data$Seed1) - (data$SeedDiff)))),(-((as.complex(12.617647)))),((data$Seed1) - (data$SeedDiff)))))) +
                  0.100000*tanh(Re(((((as.complex(8.500000)) + (tanh((data$SeedDiff))))) - (ifelse(rep(1.,NROW(data))*(Mod(((tanh((data$SeedDiff))) + (data$SeedDiff))) >= Mod(((data$X2_WinRatio14d) + (as.complex(8.500000))))),((tanh((data$SeedDiff))) + (data$SeedDiff)),((data$X2_WinRatio14d) + (as.complex(8.500000)))))))) +
                  0.100000*tanh(Re(sinh((ifelse(rep(1.,NROW(data))*(Mod(((as.complex(8.500000)) - (data$SeedDiff))) <= Mod(((data$SeedDiff) - ((((-((sin((((data$Seed2) * 2.0))))))) - (data$SeedDiff)))))),((as.complex(8.500000)) - (data$SeedDiff)),((data$SeedDiff) - ((((-((sin((((data$Seed2) * 2.0))))))) - (data$SeedDiff))))))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(((ifelse(rep(1.,NROW(data))*(Mod(((((data$Seed1) - (data$quality_march_T1))) / 2.0)) <= Mod(data$Seed2)),as.complex(12.500000),as.complex(0))) / 2.0)) <= Mod(data$X1_PointsDiffMean)),as.complex(12.500000),as.complex(0))) - (data$Seed1)))) +
                  0.100000*tanh(Re((-((((ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(cos((data$X2_FgaMean)))),data$SeedDiff,cos((data$X2_FgaMean)))) >= Mod(((((((as.complex(57.168201)) - (data$X1_FgaMax))) * (sin((data$X2_FgaMean))))) / 2.0))),ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(cos((data$X2_FgaMean)))),data$SeedDiff,cos((data$X2_FgaMean))),((((((as.complex(57.168201)) - (data$X1_FgaMax))) * (sin((data$X2_FgaMean))))) / 2.0))) * 2.0)))))) +
                  0.100000*tanh(Re((-((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(as.complex(-1.500000)) >= Mod(ifelse(rep(1.,NROW(data))*(Mod((-((as.complex(14.500000))))) <= Mod(data$X1_PointsDiffMean)),(-((as.complex(14.500000)))),data$X1_PointsDiffMean))),as.complex(-1.500000),ifelse(rep(1.,NROW(data))*(Mod((-((as.complex(14.500000))))) <= Mod(data$X1_PointsDiffMean)),(-((as.complex(14.500000)))),data$X1_PointsDiffMean)))),data$SeedDiff,ifelse(rep(1.,NROW(data))*(Mod(as.complex(-1.500000)) >= Mod(ifelse(rep(1.,NROW(data))*(Mod((-((as.complex(14.500000))))) <= Mod(data$X1_PointsDiffMean)),(-((as.complex(14.500000)))),data$X1_PointsDiffMean))),as.complex(-1.500000),ifelse(rep(1.,NROW(data))*(Mod((-((as.complex(14.500000))))) <= Mod(data$X1_PointsDiffMean)),(-((as.complex(14.500000)))),data$X1_PointsDiffMean)))))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(data$X2_OppFgaMean) > Mod(as.complex(55.075760))),((((data$Seed2) * 2.0)) * 2.0),as.complex(0))) + (((((as.complex(14.500000)) - (data$X2_PointsDiffMean))) - (data$X2_PointsDiffMean)))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod((-((((data$X2_AstMean) / 2.0))))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(((data$X1_PointsDiffMean) - (((data$X2_AstMean) / 2.0)))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X2_BlkMean) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) >= Mod(as.complex(4.982759))),data$X1_PointsDiffMean,as.complex(4.982759)))),data$X2_BlkMean,ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) >= Mod(as.complex(4.982759))),data$X1_PointsDiffMean,as.complex(4.982759))))),((data$X1_PointsDiffMean) - (((data$X2_AstMean) / 2.0))),ifelse(rep(1.,NROW(data))*(Mod(data$X2_BlkMean) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) >= Mod(as.complex(4.982759))),data$X1_PointsDiffMean,as.complex(4.982759)))),data$X2_BlkMean,ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) >= Mod(as.complex(4.982759))),data$X1_PointsDiffMean,as.complex(4.982759)))))),(-((((data$X2_AstMean) / 2.0)))),ifelse(rep(1.,NROW(data))*(Mod(((data$X1_PointsDiffMean) - (((data$X2_AstMean) / 2.0)))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X2_BlkMean) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) >= Mod(as.complex(4.982759))),data$X1_PointsDiffMean,as.complex(4.982759)))),data$X2_BlkMean,ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) >= Mod(as.complex(4.982759))),data$X1_PointsDiffMean,as.complex(4.982759))))),((data$X1_PointsDiffMean) - (((data$X2_AstMean) / 2.0))),ifelse(rep(1.,NROW(data))*(Mod(data$X2_BlkMean) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) >= Mod(as.complex(4.982759))),data$X1_PointsDiffMean,as.complex(4.982759)))),data$X2_BlkMean,ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) >= Mod(as.complex(4.982759))),data$X1_PointsDiffMean,as.complex(4.982759))))))) +
                  0.100000*tanh(Re((((ifelse(rep(1.,NROW(data))*(Mod(((data$X2_AstMean) / 2.0)) > Mod(((data$X2_PointsDiffMean) - (as.complex(1.0))))),data$X2_AstMean,as.complex(0))) + (((data$X1_BlkMean) / (sin((ifelse(rep(1.,NROW(data))*(Mod(data$X2_FgaMin) <= Mod(data$X1_FgaMedian)),data$X2_FgaMin,data$X1_FgaMedian)))))))/2.0))) +
                  0.100000*tanh(Re(((as.complex(12.022091)) - (((ifelse(rep(1.,NROW(data))*(Mod(as.complex(12.022091)) >= Mod(data$SeedDiff)),as.complex(12.022091),data$SeedDiff)) + (cos((ifelse(rep(1.,NROW(data))*(Mod(((as.complex(12.022091)) + (data$SeedDiff))) >= Mod(as.complex(12.022091))),((as.complex(12.022091)) + (data$SeedDiff)),as.complex(12.022091)))))))))))
}

.gpComplexV<-function(data){
  predictions<-(0.100000*tanh(Re(((((((((sin((((sin((((sin((((data$X2_OppFgaMean) * 2.0)))) * 2.0)))) * 2.0)))) - (data$SeedDiff))) - (cos((data$X1_FgaMin))))) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(((((data$X1_BlkMean) + ((-((((data$X1_BlkMean) * (data$SeedDiff)))))))) + (((((cos((data$X1_PointsMedian))) * 2.0)) * 2.0))))) +
                  0.100000*tanh(Re((((-((((data$SeedDiff) - (((sin((((sin((sin((((as.complex(6.0)) * (((as.complex(5.83789396286010742)) * (data$X2_PointsDiffMean))))))))) * 2.0)))) * 2.0))))))) * 2.0))) +
                  0.100000*tanh(Re(((data$SeedDiff) - (((((data$SeedDiff) + ((-((((sin((((data$X2_OppFgaMean) * 2.0)))) * 2.0))))))) * (data$X1_PointsMedian)))))) +
                  0.100000*tanh(Re(((as.complex(5.90937995910644531)) * (((data$X1_PointsMedian) * (((sin((sin((sin((data$X1_PointsMedian))))))) - (((data$SeedDiff) - (sin((as.complex(5.90937995910644531))))))))))))) +
                  0.100000*tanh(Re(((((cosh((data$Seed2))) - (sin((((data$X1_BlkMean) - (((data$X2_AstMean) - (data$Seed2))))))))) - (sinh((data$Seed1)))))) +
                  0.100000*tanh(Re(((as.complex(-9.500000)) * (ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(data$quality_march_T2)),as.complex(1.),as.complex(0.))) <= Mod(data$quality_march_T2)),ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(data$quality_march_T2)),as.complex(1.),as.complex(0.)),data$quality_march_T2)) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(sin((data$X1_OppFgaMin))) >= Mod(data$SeedDiff)),sin((data$X1_OppFgaMin)),data$SeedDiff))),ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(data$quality_march_T2)),as.complex(1.),as.complex(0.))) <= Mod(data$quality_march_T2)),ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(data$quality_march_T2)),as.complex(1.),as.complex(0.)),data$quality_march_T2),ifelse(rep(1.,NROW(data))*(Mod(sin((data$X1_OppFgaMin))) >= Mod(data$SeedDiff)),sin((data$X1_OppFgaMin)),data$SeedDiff)))))) +
                  0.100000*tanh(Re(((as.complex(-3.0)) * (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(sin((data$X1_BlkMean))) <= Mod(data$X2_PointsDiffMean)),sin((data$X1_BlkMean)),data$X2_PointsDiffMean)) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(as.complex(10.85657310485839844)) <= Mod(data$X2_PointsDiffMean)),as.complex(-2.0),as.complex(0)))),ifelse(rep(1.,NROW(data))*(Mod(sin((data$X1_BlkMean))) <= Mod(data$X2_PointsDiffMean)),sin((data$X1_BlkMean)),data$X2_PointsDiffMean),ifelse(rep(1.,NROW(data))*(Mod(as.complex(10.85657310485839844)) <= Mod(data$X2_PointsDiffMean)),as.complex(-2.0),as.complex(0))))),data$SeedDiff,ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(sin((data$X1_BlkMean))) <= Mod(data$X2_PointsDiffMean)),sin((data$X1_BlkMean)),data$X2_PointsDiffMean)) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(as.complex(10.85657310485839844)) <= Mod(data$X2_PointsDiffMean)),as.complex(-2.0),as.complex(0)))),ifelse(rep(1.,NROW(data))*(Mod(sin((data$X1_BlkMean))) <= Mod(data$X2_PointsDiffMean)),sin((data$X1_BlkMean)),data$X2_PointsDiffMean),ifelse(rep(1.,NROW(data))*(Mod(as.complex(10.85657310485839844)) <= Mod(data$X2_PointsDiffMean)),as.complex(-2.0),as.complex(0)))))))) +
                  0.100000*tanh(Re(((((as.complex(1.092966)) / (cos((((data$X1_OppFgaMin) / (cos((as.complex(1.092966)))))))))) - (sinh((data$SeedDiff)))))) +
                  0.100000*tanh(Re(((as.complex(1.0)) - ((((data$X1_PointsMean) + (ifelse(rep(1.,NROW(data))*(Mod(((data$X1_PointsMean) * (data$SeedDiff))) >= Mod(((data$X2_OppFgaMean) * (((cos((data$X1_PointsMean))) * 2.0))))),((data$X1_PointsMean) * (data$SeedDiff)),((data$X2_OppFgaMean) * (((cos((data$X1_PointsMean))) * 2.0))))))/2.0))))) +
                  0.100000*tanh(Re((-((ifelse(rep(1.,NROW(data))*(Mod(sinh((data$SeedDiff))) >= Mod(((data$SeedDiff) + (ifelse(rep(1.,NROW(data))*(Mod(((data$quality_march_T2) + (data$SeedDiff))) >= Mod(((((data$X1_FgaMax) - (data$X2_FgaMax))) / 2.0))),((data$quality_march_T2) + (data$SeedDiff)),((((data$X1_FgaMax) - (data$X2_FgaMax))) / 2.0)))))),sinh((data$SeedDiff)),((data$SeedDiff) + (ifelse(rep(1.,NROW(data))*(Mod(((data$quality_march_T2) + (data$SeedDiff))) >= Mod(((((data$X1_FgaMax) - (data$X2_FgaMax))) / 2.0))),((data$quality_march_T2) + (data$SeedDiff)),((((data$X1_FgaMax) - (data$X2_FgaMax))) / 2.0)))))))))) +
                  0.100000*tanh(Re(((((((((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(data$SeedDiff)),data$X2_PointsMean,as.complex(0))) + (data$quality_march_T1))) + (data$SeedDiff))) - (((data$SeedDiff) * (as.complex(10.429926)))))) - (data$X1_FgaMax)))) +
                  0.100000*tanh(Re(((data$X2_PointsMedian) + (((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsMedian) <= Mod(data$X1_PointsMedian)),as.complex(1.),as.complex(0.)))),data$SeedDiff,ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsMedian) <= Mod(data$X1_PointsMedian)),as.complex(1.),as.complex(0.)))) * (((cos((data$X1_FgaMax))) - (data$X1_PointsMedian)))))))) +
                  0.100000*tanh(Re(((((as.complex(14.873959)) * ((((-((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(sin((data$X2_PointsDiffMean)))),data$SeedDiff,sin((data$X2_PointsDiffMean))))))) - (cosh((complex(real = 0, imaginary = 1)*Conj(((data$X2_FgaMax) / 2.0))))))))) + (data$SeedDiff)))) +
                  0.100000*tanh(Re((((-((((((data$SeedDiff) - (((((complex(real = 0, imaginary = 1)*Conj(as.complex(4.954545))) * (complex(real = 0, imaginary = 1)*Conj(data$SeedDiff)))) - (data$X1_BlkMean))))) * 2.0))))) - (as.complex(4.954545))))) +
                  0.100000*tanh(Re(((((((data$quality_march_T1) - (((as.complex(10.429926)) * (data$SeedDiff))))) - (((data$X1_PointsDiffMean) - (ifelse(rep(1.,NROW(data))*(Mod(as.complex(0.949144)) > Mod(data$quality_march_T1)),data$X1_PointsDiffMean,as.complex(0))))))) * 2.0))) +
                  0.100000*tanh(Re(((((((((((sin(((((as.complex(-1.0)) + (data$X1_OppFgaMean))/2.0)))) - (data$SeedDiff))) * 2.0)) - (ifelse(rep(1.,NROW(data))*(Mod(data$X1_FgaMax) > Mod(data$X2_FgaMax)),as.complex(1.),as.complex(0.))))) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(((cos((((cos((data$X1_PointsDiffMean))) + (((cos((data$X1_PointsDiffMean))) - (data$X1_PointsDiffMean))))))) + (((cos((data$X1_FgaMean))) - (data$SeedDiff)))))) +
                  0.100000*tanh(Re(((cos((data$X2_PointsMean))) + (((sin((data$SeedDiff))) - (((data$SeedDiff) + (cos((((((data$X2_PointsDiffMean) - (as.complex(0.877150)))) * 2.0))))))))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsDiffMean) <= Mod(ifelse(rep(1.,NROW(data))*(Mod(((data$X2_PointsDiffMean) - (data$SeedDiff))) <= Mod(((as.complex(11.45533847808837891)) - (data$X2_PointsDiffMean)))),((data$X1_AstMean) - (data$SeedDiff)),as.complex(0)))),data$X2_PointsDiffMean,ifelse(rep(1.,NROW(data))*(Mod(((data$X2_PointsDiffMean) - (data$SeedDiff))) <= Mod(((as.complex(11.45533847808837891)) - (data$X2_PointsDiffMean)))),((data$X1_AstMean) - (data$SeedDiff)),as.complex(0)))) - (data$SeedDiff)))) +
                  0.100000*tanh(Re(((((data$SeedDiff) - (sinh((data$SeedDiff))))) + ((-((((ifelse(rep(1.,NROW(data))*(Mod(data$X2_BlkMean) >= Mod(((data$SeedDiff) - (data$quality_march_T1)))),data$X2_BlkMean,((data$SeedDiff) - (data$quality_march_T1)))) * (sin((data$X2_OppFgaMin))))))))))) +
                  0.100000*tanh(Re(sinh((ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(cos((data$X2_PointsMean))) >= Mod(((cos((data$X2_PointsMean))) - (data$SeedDiff)))),cos((data$X2_PointsMean)),((cos((data$X2_PointsMean))) - (data$SeedDiff)))) >= Mod((((as.complex(-2.0)) + (cos((data$X2_PointsMean))))/2.0))),ifelse(rep(1.,NROW(data))*(Mod(cos((data$X2_PointsMean))) >= Mod(((cos((data$X2_PointsMean))) - (data$SeedDiff)))),cos((data$X2_PointsMean)),((cos((data$X2_PointsMean))) - (data$SeedDiff))),(((as.complex(-2.0)) + (cos((data$X2_PointsMean))))/2.0)))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(data$X1_BlkMean) <= Mod(data$SeedDiff)),((ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) > Mod(as.complex(3.0))),data$X1_PointsDiffMean,as.complex(0))) > Mod(as.complex(3.0))),as.complex(5.030331),as.complex(0))) - (data$SeedDiff)),as.complex(0)))) +
                  0.100000*tanh(Re(((data$Seed1) - (ifelse(rep(1.,NROW(data))*(Mod((((-(((((data$Seed1) + (data$SeedDiff))/2.0))))) - (data$X2_BlkMean))) >= Mod(((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(((data$Seed1) * 2.0))),data$SeedDiff,((data$Seed1) * 2.0))) * 2.0))),(((-(((((data$Seed1) + (data$SeedDiff))/2.0))))) - (data$X2_BlkMean)),((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(((data$Seed1) * 2.0))),data$SeedDiff,((data$Seed1) * 2.0))) * 2.0)))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((data$Seed2) - (((data$SeedDiff) - (sin((((data$X2_OppFgaMean) * (((data$Seed2) - (data$SeedDiff))))))))))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) <= Mod(as.complex(-10.500000))),data$Seed2,as.complex(-10.500000)))),((data$Seed2) - (((data$SeedDiff) - (sin((((data$X2_OppFgaMean) * (((data$Seed2) - (data$SeedDiff)))))))))),ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) <= Mod(as.complex(-10.500000))),data$Seed2,as.complex(-10.500000))))) +
                  0.100000*tanh(Re(((((((((data$X2_OppFgaMin) * (data$SeedDiff))) + (data$X2_OppFgaMin))) - (data$X1_FgaMin))) - (sinh((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(cos((data$X2_OppFgaMin)))),data$SeedDiff,cos((data$X2_OppFgaMin))))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((((((as.complex(-10.500000)) - (sqrt((((((data$SeedDiff) - (data$X1_PointsDiffMean))) - (data$X1_PointsDiffMean))))))) - (data$SeedDiff))) - (as.complex(4.76363992691040039)))) >= Mod(data$X1_PointsDiffMean)),((((((as.complex(-10.500000)) - (sqrt((((((data$SeedDiff) - (data$X1_PointsDiffMean))) - (data$X1_PointsDiffMean))))))) - (data$SeedDiff))) - (as.complex(4.76363992691040039))),data$X1_PointsDiffMean))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(as.complex(10.0)) <= Mod(data$X2_FgaMin)),as.complex(1.),as.complex(0.))) >= Mod(((data$X2_FgaMin) * (((((((as.complex(10.0)) * (cos((data$X2_FgaMin))))) - (data$SeedDiff))) - (as.complex(2.0))))))),ifelse(rep(1.,NROW(data))*(Mod(as.complex(10.0)) <= Mod(data$X2_FgaMin)),as.complex(1.),as.complex(0.)),((data$X2_FgaMin) * (((((((as.complex(10.0)) * (cos((data$X2_FgaMin))))) - (data$SeedDiff))) - (as.complex(2.0)))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((((as.complex(-3.0)) * 2.0)) * 2.0)) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(ifelse(rep(1.,NROW(data))*(Mod(Conj(as.complex(-3.0))) > Mod(((data$Seed2) / 2.0))),as.complex(1.),as.complex(0.)))),data$X1_PointsDiffMean,as.complex(0)))),data$Seed2,ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(ifelse(rep(1.,NROW(data))*(Mod(Conj(as.complex(-3.0))) > Mod(((data$Seed2) / 2.0))),as.complex(1.),as.complex(0.)))),data$X1_PointsDiffMean,as.complex(0))))),((((as.complex(-3.0)) * 2.0)) * 2.0),ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(ifelse(rep(1.,NROW(data))*(Mod(Conj(as.complex(-3.0))) > Mod(((data$Seed2) / 2.0))),as.complex(1.),as.complex(0.)))),data$X1_PointsDiffMean,as.complex(0)))),data$Seed2,ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(ifelse(rep(1.,NROW(data))*(Mod(Conj(as.complex(-3.0))) > Mod(((data$Seed2) / 2.0))),as.complex(1.),as.complex(0.)))),data$X1_PointsDiffMean,as.complex(0)))))) +
                  0.100000*tanh(Re(((((as.complex(9.500000)) - (data$SeedDiff))) + (ifelse(rep(1.,NROW(data))*(Mod(((sqrt((data$X1_PointsMedian))) - (data$X2_PointsDiffMean))) <= Mod(((((as.complex(9.500000)) - (data$X2_PointsDiffMean))) - (data$X2_PointsDiffMean)))),((sqrt((data$X1_PointsMedian))) - (data$X2_PointsDiffMean)),((((as.complex(9.500000)) - (data$X2_PointsDiffMean))) - (data$X2_PointsDiffMean))))))) +
                  0.100000*tanh(Re(((((data$X1_BlkMean) * (((data$Seed2) * (ifelse(rep(1.,NROW(data))*(Mod(as.complex(-2.0)) <= Mod(((data$Seed2) - (data$X2_PointsDiffMean)))),as.complex(1.),as.complex(0.))))))) - (data$Seed1)))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod((-((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(((data$X1_BlkMean) - (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(ifelse(rep(1.,NROW(data))*(Mod(((data$X1_BlkMean) - (as.complex(-3.0)))) <= Mod(data$SeedDiff)),((data$X1_BlkMean) - (as.complex(-3.0))),data$SeedDiff))),data$SeedDiff,ifelse(rep(1.,NROW(data))*(Mod(((data$X1_BlkMean) - (as.complex(-3.0)))) <= Mod(data$SeedDiff)),((data$X1_BlkMean) - (as.complex(-3.0))),data$SeedDiff)))))),data$SeedDiff,((data$X1_BlkMean) - (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(ifelse(rep(1.,NROW(data))*(Mod(((data$X1_BlkMean) - (as.complex(-3.0)))) <= Mod(data$SeedDiff)),((data$X1_BlkMean) - (as.complex(-3.0))),data$SeedDiff))),data$SeedDiff,ifelse(rep(1.,NROW(data))*(Mod(((data$X1_BlkMean) - (as.complex(-3.0)))) <= Mod(data$SeedDiff)),((data$X1_BlkMean) - (as.complex(-3.0))),data$SeedDiff))))))))) >= Mod(data$X1_BlkMean)),(-((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(((data$X1_BlkMean) - (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(ifelse(rep(1.,NROW(data))*(Mod(((data$X1_BlkMean) - (as.complex(-3.0)))) <= Mod(data$SeedDiff)),((data$X1_BlkMean) - (as.complex(-3.0))),data$SeedDiff))),data$SeedDiff,ifelse(rep(1.,NROW(data))*(Mod(((data$X1_BlkMean) - (as.complex(-3.0)))) <= Mod(data$SeedDiff)),((data$X1_BlkMean) - (as.complex(-3.0))),data$SeedDiff)))))),data$SeedDiff,((data$X1_BlkMean) - (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(ifelse(rep(1.,NROW(data))*(Mod(((data$X1_BlkMean) - (as.complex(-3.0)))) <= Mod(data$SeedDiff)),((data$X1_BlkMean) - (as.complex(-3.0))),data$SeedDiff))),data$SeedDiff,ifelse(rep(1.,NROW(data))*(Mod(((data$X1_BlkMean) - (as.complex(-3.0)))) <= Mod(data$SeedDiff)),((data$X1_BlkMean) - (as.complex(-3.0))),data$SeedDiff)))))))),data$X1_BlkMean))) +
                  0.100000*tanh(Re(((data$X1_PointsDiffMean) - (ifelse(rep(1.,NROW(data))*(Mod(((data$X1_PointsDiffMean) - (as.complex(7.69658994674682617)))) > Mod(sin((((as.complex(4.954545)) - (data$X1_PointsMedian)))))),ifelse(rep(1.,NROW(data))*(Mod(as.complex(7.69658994674682617)) > Mod(data$X1_PointsDiffMean)),data$X1_PointsMedian,as.complex(0)),as.complex(0)))))) +
                  0.100000*tanh(Re(((((((data$X2_PointsDiffMean) / (((as.complex(4.954545)) - ((((as.complex(3.0)) + (data$X2_PointsDiffMean))/2.0)))))) - (data$SeedDiff))) * (as.complex(3.0))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(((((((as.complex(9.500000)) - (data$SeedDiff))) / 2.0)) + (sin((data$X2_PointsDiffMean))))) <= Mod(ifelse(rep(1.,NROW(data))*(Mod(as.complex(9.500000)) <= Mod(data$SeedDiff)),as.complex(9.500000),data$SeedDiff))),((((((as.complex(9.500000)) - (data$SeedDiff))) / 2.0)) + (sin((data$X2_PointsDiffMean)))),ifelse(rep(1.,NROW(data))*(Mod(as.complex(9.500000)) <= Mod(data$SeedDiff)),as.complex(9.500000),data$SeedDiff))) * 2.0))) +
                  0.100000*tanh(Re((((ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) * (((((as.complex(1.17751145362854004)) / 2.0)) / 2.0)))) <= Mod(as.complex(-10.500000))),((data$SeedDiff) * (((((as.complex(1.17751145362854004)) / 2.0)) / 2.0))),as.complex(-10.500000))) + (ifelse(rep(1.,NROW(data))*(Mod((-((data$SeedDiff)))) >= Mod(complex(real = 0, imaginary = 1)*Conj(as.complex(-10.500000)))),(-((data$SeedDiff))),complex(real = 0, imaginary = 1)*Conj(as.complex(-10.500000)))))/2.0))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(as.complex(-10.500000)) <= Mod((((data$X1_BlkMean) + (((((data$X2_PointsDiffMean) - (sin((cos((data$SeedDiff))))))) * 2.0)))/2.0))),as.complex(-10.500000),(((data$X1_BlkMean) + (((((data$X2_PointsDiffMean) - (sin((cos((data$SeedDiff))))))) * 2.0)))/2.0))) - (data$SeedDiff)))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(as.complex(10.0))),data$SeedDiff,as.complex(0))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(((((data$X1_BlkMean) / 2.0)) / 2.0)) >= Mod(((data$X1_PointsDiffMean) - (as.complex(10.20211696624755859))))),((((data$X1_BlkMean) / 2.0)) / 2.0),((data$X1_PointsDiffMean) - (as.complex(10.20211696624755859)))))),ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(as.complex(10.0))),data$SeedDiff,as.complex(0)),ifelse(rep(1.,NROW(data))*(Mod(((((data$X1_BlkMean) / 2.0)) / 2.0)) >= Mod(((data$X1_PointsDiffMean) - (as.complex(10.20211696624755859))))),((((data$X1_BlkMean) / 2.0)) / 2.0),((data$X1_PointsDiffMean) - (as.complex(10.20211696624755859))))))) +
                  0.100000*tanh(Re(((data$X2_AstMean) - (((ifelse(rep(1.,NROW(data))*(Mod(cos((complex(real = 0, imaginary = 1)*Conj(sqrt((data$SeedDiff)))))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X2_BlkMean) >= Mod(data$X2_PointsDiffMean)),data$X2_BlkMean,data$X2_PointsDiffMean))),cos((complex(real = 0, imaginary = 1)*Conj(sqrt((data$SeedDiff))))),ifelse(rep(1.,NROW(data))*(Mod(data$X2_BlkMean) >= Mod(data$X2_PointsDiffMean)),data$X2_BlkMean,data$X2_PointsDiffMean))) + (as.complex(5.030331))))))) +
                  0.100000*tanh(Re(((((as.complex(-1.0)) / (data$X2_PointsDiffMean))) + (ifelse(rep(1.,NROW(data))*(Mod(((data$X1_PointsDiffMean) - (as.complex(9.500000)))) >= Mod(((data$X1_PointsDiffMean) - ((((cos((data$X2_PointsDiffMean))) + (data$X2_PointsDiffMean))/2.0))))),((data$X1_PointsDiffMean) - (as.complex(9.500000))),((data$X1_PointsDiffMean) - ((((cos((data$X2_PointsDiffMean))) + (data$X2_PointsDiffMean))/2.0)))))))))
}

.gpComplexVI<-function(data){
  predictions<-(0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod((((-((data$X2_PointsDiffMean)))) + (((sin((ifelse(rep(1.,NROW(data))*(Mod(as.complex(-2.0)) > Mod(data$SeedDiff)),data$SeedDiff,as.complex(0))))) - (data$SeedDiff))))) >= Mod(data$X1_PointsDiffMean)),(((-((data$X2_PointsDiffMean)))) + (((sin((ifelse(rep(1.,NROW(data))*(Mod(as.complex(-2.0)) > Mod(data$SeedDiff)),data$SeedDiff,as.complex(0))))) - (data$SeedDiff)))),data$X1_PointsDiffMean))) +
                  0.100000*tanh(Re(((sinh((((sinh((sin((((data$X1_PointsDiffMean) * 2.0)))))) * 2.0)))) - (ifelse(rep(1.,NROW(data))*(Mod(sinh((data$SeedDiff))) >= Mod((((data$X2_BlkMean) + (data$SeedDiff))/2.0))),sinh((data$SeedDiff)),(((data$X2_BlkMean) + (data$SeedDiff))/2.0)))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod((-((data$X2_BlkMean)))) >= Mod(((data$Seed2) * (((data$Seed2) - (data$Seed1)))))),(-((data$X2_BlkMean))),((data$Seed2) * (((data$Seed2) - (data$Seed1))))))) +
                  0.100000*tanh(Re((((((((-((sinh((data$SeedDiff)))))) - (data$quality_march_T1))) - ((((-((ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsDiffMean) <= Mod(data$X1_PointsDiffMean)),data$X2_AstMean,as.complex(0)))))) / 2.0)))) - (data$quality_march_T1)))) +
                  0.100000*tanh(Re((((-((((data$SeedDiff) - (((((cos((data$X2_PointsMean))) - (((data$SeedDiff) - (((data$SeedDiff) / 2.0)))))) * (as.complex(43.500000))))))))) * (data$X2_PointsMean)))) +
                  0.100000*tanh(Re(((data$X2_FgaMean) * (((((ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) > Mod(((cos((data$X2_PointsMean))) - (data$SeedDiff)))),cos((data$X1_PointsDiffMean)),as.complex(0))) - (data$SeedDiff))) - (data$SeedDiff)))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) > Mod(ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(data$quality_march_T2)),data$quality_march_T2,as.complex(0)))),(-((((cos((data$X1_PointsMean))) + (((cos((data$X1_PointsMean))) + (data$SeedDiff))))))),as.complex(0)))) +
                  0.100000*tanh(Re(((((data$Seed2) - (((data$Seed1) / (cos((ifelse(rep(1.,NROW(data))*(Mod(data$Seed1) <= Mod(((data$quality_march_T1) - (ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsDiffMean) <= Mod(data$Seed2)),data$X2_PointsDiffMean,data$Seed2))))),as.complex(1.),as.complex(0.))))))))) * 2.0))) +
                  0.100000*tanh(Re(((((((((((((((cos((data$X1_FgaMean))) * 2.0)) + (cos((cos((data$X1_FgaMean))))))) - (sinh((data$SeedDiff))))) * 2.0)) * 2.0)) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(((((((data$Seed2) - (data$Seed1))) * 2.0)) * 2.0)) >= Mod(((((sin((data$X2_FgaMean))) * 2.0)) * 2.0))),((((((data$Seed2) - (data$Seed1))) * 2.0)) * 2.0),((((sin((data$X2_FgaMean))) * 2.0)) * 2.0))) >= Mod(sqrt((data$X2_AstMean)))),ifelse(rep(1.,NROW(data))*(Mod(((((((data$Seed2) - (data$Seed1))) * 2.0)) * 2.0)) >= Mod(((((sin((data$X2_FgaMean))) * 2.0)) * 2.0))),((((((data$Seed2) - (data$Seed1))) * 2.0)) * 2.0),((((sin((data$X2_FgaMean))) * 2.0)) * 2.0)),sqrt((data$X2_AstMean))))) +
                  0.100000*tanh(Re(((((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean))) + (((ifelse(rep(1.,NROW(data))*(Mod(((((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean))) - (data$Seed1))) <= Mod(data$Seed2)),data$X2_AstMean,as.complex(0))) - (data$Seed1)))))) +
                  0.100000*tanh(Re((-((((as.complex(55.232479)) * ((((-((data$quality_march_T2)))) + (((data$X1_FgaMean) * (((data$SeedDiff) + (((((-((data$quality_march_T2)))) + (data$quality_march_T1))/2.0)))))))))))))) +
                  0.100000*tanh(Re(((((cos((data$SeedDiff))) - (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(((((sqrt((cos((data$SeedDiff))))) + (data$X2_PointsDiffMean))) - (data$X1_PointsDiffMean)))),data$SeedDiff,((((sqrt((cos((data$SeedDiff))))) + (data$X2_PointsDiffMean))) - (data$X1_PointsDiffMean)))))) * (as.complex(79.522255))))) +
                  0.100000*tanh(Re(((((((data$Seed2) - (data$Seed1))) + (((ifelse(rep(1.,NROW(data))*(Mod(data$X2_AstMean) <= Mod(as.complex(15.500000))),data$Seed2,as.complex(0))) + (((data$Seed2) - (data$Seed1))))))) - (data$Seed1)))) +
                  0.100000*tanh(Re(((((((cos((data$X1_FgaMean))) * 2.0)) - (((data$SeedDiff) - (cos((((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) > Mod(data$quality_march_T2)),data$SeedDiff,as.complex(0))) + (data$X1_FgaMean))))))))) * 2.0))) +
                  0.100000*tanh(Re(((as.complex(11.625002)) * (((sin((((ifelse(rep(1.,NROW(data))*(Mod(sin((data$X2_FgaMean))) <= Mod(sin((data$X2_BlkMean)))),sin((data$X2_FgaMean)),sin((data$X2_BlkMean)))) + (data$SeedDiff))))) - (data$SeedDiff)))))) +
                  0.100000*tanh(Re(((cos((data$X2_PointsMean))) - (((sinh((((((data$SeedDiff) - (cos((data$X2_PointsMean))))) + (sin((data$X2_OppFgaMin))))))) + (sin((data$X2_OppFgaMin)))))))) +
                  0.100000*tanh(Re(((data$X1_PointsMean) * (((((cos((tanh((data$SeedDiff))))) - (((((data$SeedDiff) - (cos((data$X1_FgaMean))))) * 2.0)))) + (cos((data$X1_FgaMean)))))))) +
                  0.100000*tanh(Re(((((((cos((((data$X1_PointsDiffMean) - (data$X2_OppFgaMean))))) - (((data$SeedDiff) / 2.0)))) * (data$X1_FgaMin))) - ((-((((data$X1_PointsDiffMean) - (data$SeedDiff))))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(cosh((((cosh((((as.complex(1.17820882797241211)) + (complex(real = 0, imaginary = 1)*Conj(data$X2_PointsMean)))))) + (complex(real = 0, imaginary = 1)*Conj(data$X2_PointsMean)))))) >= Mod(((sin((data$X1_OppFgaMin))) - (data$SeedDiff)))),cosh((((cosh((((as.complex(1.17820882797241211)) + (complex(real = 0, imaginary = 1)*Conj(data$X2_PointsMean)))))) + (complex(real = 0, imaginary = 1)*Conj(data$X2_PointsMean))))),((sin((data$X1_OppFgaMin))) - (data$SeedDiff))))) +
                  0.100000*tanh(Re(((sin((cos((data$X2_FgaMin))))) - (((((data$SeedDiff) - (sin((((data$X1_PointsDiffMean) * 2.0)))))) - (((cos((data$X1_FgaMean))) * 2.0))))))) +
                  0.100000*tanh(Re(((((as.complex(-2.0)) * (ifelse(rep(1.,NROW(data))*(Mod(((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(cos((data$X2_PointsDiffMean)))),data$SeedDiff,cos((data$X2_PointsDiffMean)))) + (sin((((data$X2_PointsDiffMean) * 2.0)))))) >= Mod(cos((data$X2_FgaMean)))),((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(cos((data$X2_PointsDiffMean)))),data$SeedDiff,cos((data$X2_PointsDiffMean)))) + (sin((((data$X2_PointsDiffMean) * 2.0))))),cos((data$X2_FgaMean)))))) * 2.0))) +
                  0.100000*tanh(Re(((((((((as.complex(3.0)) - (((((data$SeedDiff) - ((-((cos((data$X1_OppFgaMean)))))))) - ((-((cos((data$X1_OppFgaMean)))))))))) * 2.0)) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(as.complex(-9.500000)) <= Mod(((as.complex(-9.500000)) + (data$X1_PointsDiffMean)))),as.complex(-9.500000),((as.complex(-9.500000)) + (data$X1_PointsDiffMean)))) - ((((data$X1_OppFgaMean) + (((data$X1_PointsDiffMean) * (data$SeedDiff))))/2.0))))) +
                  0.100000*tanh(Re(((((((data$X1_PointsDiffMean) - (data$SeedDiff))) - (((((((data$X2_FgaMean) + (data$X1_PointsDiffMean))/2.0)) + (cos((data$X1_PointsDiffMean))))/2.0)))) - (cos((data$X2_FgaMean)))))) +
                  0.100000*tanh(Re(((((data$X1_PointsDiffMean) - (data$SeedDiff))) - (ifelse(rep(1.,NROW(data))*(Mod(as.complex(-1.0)) <= Mod(((data$X2_PointsDiffMean) * (cos((cosh((data$quality_march_T2)))))))),data$X2_PointsDiffMean,as.complex(0)))))) +
                  0.100000*tanh(Re(((((((((as.complex(8.72506332397460938)) - (data$X2_PointsDiffMean))) - (data$quality_march_T2))) - ((-((sin((data$quality_march_T2)))))))) - ((-((((as.complex(8.72506332397460938)) - (data$SeedDiff))))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(((ifelse(rep(1.,NROW(data))*(Mod((((as.complex(4.500000)) + (data$X2_PointsDiffMean))/2.0)) > Mod(data$X1_PointsDiffMean)),as.complex(1.),as.complex(0.))) - (as.complex(12.500000)))) >= Mod(data$X1_PointsDiffMean)),((ifelse(rep(1.,NROW(data))*(Mod((((as.complex(4.500000)) + (data$X2_PointsDiffMean))/2.0)) > Mod(data$X1_PointsDiffMean)),as.complex(1.),as.complex(0.))) - (as.complex(12.500000))),data$X1_PointsDiffMean)) >= Mod(data$Seed2)),ifelse(rep(1.,NROW(data))*(Mod(((ifelse(rep(1.,NROW(data))*(Mod((((as.complex(4.500000)) + (data$X2_PointsDiffMean))/2.0)) > Mod(data$X1_PointsDiffMean)),as.complex(1.),as.complex(0.))) - (as.complex(12.500000)))) >= Mod(data$X1_PointsDiffMean)),((ifelse(rep(1.,NROW(data))*(Mod((((as.complex(4.500000)) + (data$X2_PointsDiffMean))/2.0)) > Mod(data$X1_PointsDiffMean)),as.complex(1.),as.complex(0.))) - (as.complex(12.500000))),data$X1_PointsDiffMean),data$Seed2)) >= Mod(data$X1_PointsDiffMean)),ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(((ifelse(rep(1.,NROW(data))*(Mod((((as.complex(4.500000)) + (data$X2_PointsDiffMean))/2.0)) > Mod(data$X1_PointsDiffMean)),as.complex(1.),as.complex(0.))) - (as.complex(12.500000)))) >= Mod(data$X1_PointsDiffMean)),((ifelse(rep(1.,NROW(data))*(Mod((((as.complex(4.500000)) + (data$X2_PointsDiffMean))/2.0)) > Mod(data$X1_PointsDiffMean)),as.complex(1.),as.complex(0.))) - (as.complex(12.500000))),data$X1_PointsDiffMean)) >= Mod(data$Seed2)),ifelse(rep(1.,NROW(data))*(Mod(((ifelse(rep(1.,NROW(data))*(Mod((((as.complex(4.500000)) + (data$X2_PointsDiffMean))/2.0)) > Mod(data$X1_PointsDiffMean)),as.complex(1.),as.complex(0.))) - (as.complex(12.500000)))) >= Mod(data$X1_PointsDiffMean)),((ifelse(rep(1.,NROW(data))*(Mod((((as.complex(4.500000)) + (data$X2_PointsDiffMean))/2.0)) > Mod(data$X1_PointsDiffMean)),as.complex(1.),as.complex(0.))) - (as.complex(12.500000))),data$X1_PointsDiffMean),data$Seed2),data$X1_PointsDiffMean))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(as.complex(7.0)) <= Mod(((ifelse(rep(1.,NROW(data))*(Mod(as.complex(-3.0)) <= Mod(((data$Seed2) - (as.complex(14.46566867828369141))))),((as.complex(7.0)) - (data$SeedDiff)),as.complex(0))) - (as.complex(14.500000))))),as.complex(7.0),((ifelse(rep(1.,NROW(data))*(Mod(as.complex(-3.0)) <= Mod(((data$Seed2) - (as.complex(14.46566867828369141))))),((as.complex(7.0)) - (data$SeedDiff)),as.complex(0))) - (as.complex(14.500000))))) - (data$SeedDiff)))) +
                  0.100000*tanh(Re((((((data$SeedDiff) + (cos((data$X1_FgaMean))))/2.0)) - (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X2_BlkMean) >= Mod(sqrt(((-((data$X1_FgaMean))))))),data$X2_BlkMean,sqrt(((-((data$X1_FgaMean)))))))),data$SeedDiff,ifelse(rep(1.,NROW(data))*(Mod(data$X2_BlkMean) >= Mod(sqrt(((-((data$X1_FgaMean))))))),data$X2_BlkMean,sqrt(((-((data$X1_FgaMean))))))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((data$X1_BlkMean) - (data$SeedDiff))) >= Mod(((data$X1_BlkMean) - (((data$quality_march_T2) + (complex(real = 0, imaginary = 1)*Conj(data$X2_BlkMean))))))),((data$X1_BlkMean) - (data$SeedDiff)),((data$X1_BlkMean) - (((data$quality_march_T2) + (complex(real = 0, imaginary = 1)*Conj(data$X2_BlkMean)))))))) +
                  0.100000*tanh(Re(((((ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(as.complex(12.678505)) <= Mod(ifelse(rep(1.,NROW(data))*(Mod(complex(real = 0, imaginary = 1)*Conj(data$Seed2)) <= Mod(as.complex(12.678505))),complex(real = 0, imaginary = 1)*Conj(data$Seed2),as.complex(12.678505)))),as.complex(12.678505),ifelse(rep(1.,NROW(data))*(Mod(complex(real = 0, imaginary = 1)*Conj(data$Seed2)) <= Mod(as.complex(12.678505))),complex(real = 0, imaginary = 1)*Conj(data$Seed2),as.complex(12.678505)))) >= Mod(data$X1_PointsDiffMean)),ifelse(rep(1.,NROW(data))*(Mod(as.complex(12.678505)) <= Mod(ifelse(rep(1.,NROW(data))*(Mod(complex(real = 0, imaginary = 1)*Conj(data$Seed2)) <= Mod(as.complex(12.678505))),complex(real = 0, imaginary = 1)*Conj(data$Seed2),as.complex(12.678505)))),as.complex(12.678505),ifelse(rep(1.,NROW(data))*(Mod(complex(real = 0, imaginary = 1)*Conj(data$Seed2)) <= Mod(as.complex(12.678505))),complex(real = 0, imaginary = 1)*Conj(data$Seed2),as.complex(12.678505))),data$X1_PointsDiffMean)) >= Mod(data$Seed2)),ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(as.complex(12.678505)) <= Mod(ifelse(rep(1.,NROW(data))*(Mod(complex(real = 0, imaginary = 1)*Conj(data$Seed2)) <= Mod(as.complex(12.678505))),complex(real = 0, imaginary = 1)*Conj(data$Seed2),as.complex(12.678505)))),as.complex(12.678505),ifelse(rep(1.,NROW(data))*(Mod(complex(real = 0, imaginary = 1)*Conj(data$Seed2)) <= Mod(as.complex(12.678505))),complex(real = 0, imaginary = 1)*Conj(data$Seed2),as.complex(12.678505)))) >= Mod(data$X1_PointsDiffMean)),ifelse(rep(1.,NROW(data))*(Mod(as.complex(12.678505)) <= Mod(ifelse(rep(1.,NROW(data))*(Mod(complex(real = 0, imaginary = 1)*Conj(data$Seed2)) <= Mod(as.complex(12.678505))),complex(real = 0, imaginary = 1)*Conj(data$Seed2),as.complex(12.678505)))),as.complex(12.678505),ifelse(rep(1.,NROW(data))*(Mod(complex(real = 0, imaginary = 1)*Conj(data$Seed2)) <= Mod(as.complex(12.678505))),complex(real = 0, imaginary = 1)*Conj(data$Seed2),as.complex(12.678505))),data$X1_PointsDiffMean),data$Seed2)) - (data$X2_PointsDiffMean))) - (data$X1_BlkMean)))) +
                  0.100000*tanh(Re((((cos((data$X2_OppFgaMean))) + (ifelse(rep(1.,NROW(data))*(Mod(as.complex(3.0)) <= Mod(((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean)))),((ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsDiffMean) <= Mod(as.complex(13.60794734954833984))),data$X1_PointsDiffMean,as.complex(0))) - (data$X2_PointsDiffMean)),as.complex(0))))/2.0))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(as.complex(-9.500000)) > Mod(data$SeedDiff)),((((Conj(data$quality_march_T2)) + (data$SeedDiff))) + (data$SeedDiff)),as.complex(0))) - ((((data$SeedDiff) + (sqrt((data$SeedDiff))))/2.0))))) +
                  0.100000*tanh(Re(((((data$X2_BlkMean) * (ifelse(rep(1.,NROW(data))*(Mod(data$X2_BlkMean) <= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) <= Mod(((data$Seed2) - (as.complex(12.678505))))),data$Seed2,((data$Seed2) - (as.complex(12.678505)))))),data$X2_BlkMean,ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) <= Mod(((data$Seed2) - (as.complex(12.678505))))),data$Seed2,((data$Seed2) - (as.complex(12.678505)))))))) + (((data$Seed2) - (as.complex(12.678505))))))) +
                  0.100000*tanh(Re(((((data$X1_BlkMean) - (cos((data$X1_BlkMean))))) - (((data$X2_PointsDiffMean) - (ifelse(rep(1.,NROW(data))*(Mod(as.complex(3.0)) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(Conj(complex(real = 0, imaginary = 1)*Conj(data$X1_PointsDiffMean))) <= Mod(data$X1_BlkMean)),Conj(complex(real = 0, imaginary = 1)*Conj(data$X1_PointsDiffMean)),data$X1_BlkMean))),as.complex(3.0),ifelse(rep(1.,NROW(data))*(Mod(Conj(complex(real = 0, imaginary = 1)*Conj(data$X1_PointsDiffMean))) <= Mod(data$X1_BlkMean)),Conj(complex(real = 0, imaginary = 1)*Conj(data$X1_PointsDiffMean)),data$X1_BlkMean)))))))) +
                  0.100000*tanh(Re((-((((data$SeedDiff) - (((as.complex(8.0)) * (tanh((((as.complex(9.0)) * (tanh(((((sin((data$X2_FgaMin))) + (tanh((data$SeedDiff))))/2.0)))))))))))))))) +
                  0.100000*tanh(Re(((((data$X1_PointsDiffMean) - (ifelse(rep(1.,NROW(data))*(Mod(((data$X2_PointsDiffMean) / 2.0)) >= Mod(((cosh((cosh((as.complex(1.107978)))))) * 2.0))),((data$X2_PointsDiffMean) / 2.0),((cosh((cosh((as.complex(1.107978)))))) * 2.0))))) - (((((cos((data$X2_FgaMax))) * 2.0)) * 2.0))))) +
                  0.100000*tanh(Re(((sin((((((as.complex(3.0)) * (ifelse(rep(1.,NROW(data))*(Mod(data$X1_BlkMean) > Mod(as.complex(0.961457))),((((as.complex(0.962153)) / (complex(real = 0, imaginary = 1)*Conj(as.complex(-2.0))))) - (data$SeedDiff)),as.complex(0))))) * 2.0)))) * 2.0))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(data$X1_AstMean) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(complex(real = 0, imaginary = 1)*Conj(((data$X2_PointsDiffMean) - (data$Seed1)))) >= Mod(data$X1_AstMean)),complex(real = 0, imaginary = 1)*Conj(((data$X2_PointsDiffMean) - (data$Seed1))),data$X1_AstMean)) >= Mod(data$X1_PointsDiffMean)),ifelse(rep(1.,NROW(data))*(Mod(complex(real = 0, imaginary = 1)*Conj(((data$X2_PointsDiffMean) - (data$Seed1)))) >= Mod(data$X1_AstMean)),complex(real = 0, imaginary = 1)*Conj(((data$X2_PointsDiffMean) - (data$Seed1))),data$X1_AstMean),data$X1_PointsDiffMean))),data$X1_AstMean,ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(complex(real = 0, imaginary = 1)*Conj(((data$X2_PointsDiffMean) - (data$Seed1)))) >= Mod(data$X1_AstMean)),complex(real = 0, imaginary = 1)*Conj(((data$X2_PointsDiffMean) - (data$Seed1))),data$X1_AstMean)) >= Mod(data$X1_PointsDiffMean)),ifelse(rep(1.,NROW(data))*(Mod(complex(real = 0, imaginary = 1)*Conj(((data$X2_PointsDiffMean) - (data$Seed1)))) >= Mod(data$X1_AstMean)),complex(real = 0, imaginary = 1)*Conj(((data$X2_PointsDiffMean) - (data$Seed1))),data$X1_AstMean),data$X1_PointsDiffMean))) - (((data$X2_PointsDiffMean) * 2.0))))))
}

.gpComplexVII<-function(data){
  predictions<-(0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((((data$X1_BlkMean) + (data$Seed2))) + (data$quality_march_T1))) >= Mod(((((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(as.complex(1.144148))),((as.complex(1.144148)) * 2.0),as.complex(0))) * 2.0)) - (as.complex(12.500000))))),((((data$X1_BlkMean) + (data$Seed2))) + (data$quality_march_T1)),((((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(as.complex(1.144148))),((as.complex(1.144148)) * 2.0),as.complex(0))) * 2.0)) - (as.complex(12.500000)))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(((((data$X2_OppFgaMean) * (((cos((data$X1_PointsDiffMean))) - (data$SeedDiff))))) - (ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(data$quality_march_T2)),as.complex(1.),as.complex(0.)))))),data$SeedDiff,((((data$X2_OppFgaMean) * (((cos((data$X1_PointsDiffMean))) - (data$SeedDiff))))) - (ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(data$quality_march_T2)),as.complex(1.),as.complex(0.)))))) - (data$quality_march_T1)))) +
                  0.100000*tanh(Re(((data$X2_PointsDiffMean) - (((data$SeedDiff) - (((as.complex(-10.500000)) * (ifelse(rep(1.,NROW(data))*(Mod(sin((ifelse(rep(1.,NROW(data))*(Mod(sin((data$X1_OppFgaMean))) >= Mod(data$quality_march_T1)),sin((data$X1_OppFgaMean)),data$quality_march_T1)))) >= Mod(data$SeedDiff)),sin((ifelse(rep(1.,NROW(data))*(Mod(sin((data$X1_OppFgaMean))) >= Mod(data$quality_march_T1)),sin((data$X1_OppFgaMean)),data$quality_march_T1))),data$SeedDiff))))))))) +
                  0.100000*tanh(Re(((as.complex(43.500000)) * (((((data$Seed1) * (((((cos((data$X1_FgaMean))) - (data$SeedDiff))) - (sin((data$X1_FgaMean))))))) - (sin((as.complex(7.0))))))))) +
                  0.100000*tanh(Re(((((((((cos((data$X1_PointsDiffMean))) / 2.0)) - (((ifelse(rep(1.,NROW(data))*(Mod(cos((data$X1_PointsMean))) <= Mod(data$SeedDiff)),cos((data$X1_PointsMean)),data$SeedDiff)) * 2.0)))) - (data$SeedDiff))) * (data$X2_FgaMin)))) +
                  0.100000*tanh(Re(((((data$X2_FgaMin) * (((sinh((sin((((data$X2_OppFgaMean) + (data$X2_OppFgaMean))))))) - (data$SeedDiff))))) - (data$X1_AstMean)))) +
                  0.100000*tanh(Re(((data$X2_PointsMean) / (((((ifelse(rep(1.,NROW(data))*(Mod(((cos((data$X1_PointsDiffMean))) - (data$SeedDiff))) <= Mod(tanh((tanh((cos((data$X2_PointsMean)))))))),((cos((data$X1_PointsDiffMean))) - (data$SeedDiff)),tanh((tanh((cos((data$X2_PointsMean)))))))) * 2.0)) - (data$SeedDiff)))))) +
                  0.100000*tanh(Re(((sin((data$X2_FgaMedian))) + (((as.complex(-9.500000)) * (ifelse(rep(1.,NROW(data))*(Mod((-((sin((data$X2_FgaMedian)))))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) >= Mod(data$SeedDiff)),data$quality_march_T2,data$SeedDiff))),(-((sin((data$X2_FgaMedian))))),ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) >= Mod(data$SeedDiff)),data$quality_march_T2,data$SeedDiff)))))))) +
                  0.100000*tanh(Re(((((cos((((data$X2_FgaMean) - (as.complex(-3.500000)))))) + (cos((((((data$X2_FgaMean) - (as.complex(-3.500000)))) + (data$SeedDiff))))))) - (data$SeedDiff)))) +
                  0.100000*tanh(Re(((data$X2_AstMean) * (((((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) > Mod(data$SeedDiff)),data$quality_march_T2,as.complex(0))) + (sin(((-((((data$X2_FgaMin) - (data$X2_BlkMean)))))))))) - (data$SeedDiff)))))) +
                  0.100000*tanh(Re(((cosh((as.complex(14.500000)))) * (((sinh((sinh((cos((((data$X2_PointsMedian) + (as.complex(14.500000)))))))))) - (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(data$quality_march_T2)),data$SeedDiff,data$quality_march_T2))))))) +
                  0.100000*tanh(Re(((((((((((((((sin((data$X1_PointsMedian))) * 2.0)) - (data$SeedDiff))) * 2.0)) - (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod((-((data$quality_march_T2))))),data$SeedDiff,(-((data$quality_march_T2))))))) * 2.0)) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(((((data$SeedDiff) + (((sin((cos((data$X2_FgaMean))))) + (sin((ifelse(rep(1.,NROW(data))*(Mod(data$X1_FgaMean) > Mod(data$X2_FgaMean)),as.complex(1.),as.complex(0.))))))))) * ((-((data$X2_FgaMean))))))) +
                  0.100000*tanh(Re(((((((ifelse(rep(1.,NROW(data))*(Mod(cos((data$X1_FgaMean))) >= Mod((((((cos((tanh((data$SeedDiff))))) + (cos((data$X1_FgaMean))))/2.0)) - (data$SeedDiff)))),cos((data$X1_FgaMean)),(((((cos((tanh((data$SeedDiff))))) + (cos((data$X1_FgaMean))))/2.0)) - (data$SeedDiff)))) * 2.0)) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(((cos((((data$X1_FgaMean) - (data$SeedDiff))))) * 2.0)) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) >= Mod(((((cos((data$X1_FgaMean))) - (data$SeedDiff))) * 2.0))),data$quality_march_T1,((((cos((data$X1_FgaMean))) - (data$SeedDiff))) * 2.0)))),((cos((((data$X1_FgaMean) - (data$SeedDiff))))) * 2.0),ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) >= Mod(((((cos((data$X1_FgaMean))) - (data$SeedDiff))) * 2.0))),data$quality_march_T1,((((cos((data$X1_FgaMean))) - (data$SeedDiff))) * 2.0)))) * 2.0))) +
                  0.100000*tanh(Re((((-((ifelse(rep(1.,NROW(data))*(Mod(sin((data$X1_FgaMin))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(sin((ifelse(rep(1.,NROW(data))*(Mod(sin((data$SeedDiff))) >= Mod(data$X1_OppFgaMean)),sin((data$SeedDiff)),data$X1_OppFgaMean)))) >= Mod(data$SeedDiff)),sin((ifelse(rep(1.,NROW(data))*(Mod(sin((data$SeedDiff))) >= Mod(data$X1_OppFgaMean)),sin((data$SeedDiff)),data$X1_OppFgaMean))),data$SeedDiff))),sin((data$X1_FgaMin)),ifelse(rep(1.,NROW(data))*(Mod(sin((ifelse(rep(1.,NROW(data))*(Mod(sin((data$SeedDiff))) >= Mod(data$X1_OppFgaMean)),sin((data$SeedDiff)),data$X1_OppFgaMean)))) >= Mod(data$SeedDiff)),sin((ifelse(rep(1.,NROW(data))*(Mod(sin((data$SeedDiff))) >= Mod(data$X1_OppFgaMean)),sin((data$SeedDiff)),data$X1_OppFgaMean))),data$SeedDiff)))))) * (data$X2_AstMean)))) +
                  0.100000*tanh(Re(((((((data$SeedDiff) * ((-((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) > Mod(data$quality_march_T1)),data$X1_FgaMean,as.complex(0)))))))) + (cos((data$X1_FgaMean))))) + (cos((data$X1_FgaMean)))))) +
                  0.100000*tanh(Re(((((((sin((((sin(((((((data$X2_FgaMin) + ((-((((data$SeedDiff) * 2.0))))))/2.0)) * 2.0)))) * 2.0)))) * 2.0)) * 2.0)) - (((data$SeedDiff) * 2.0))))) +
                  0.100000*tanh(Re((((((-((data$SeedDiff)))) - (((cos((data$X1_FgaMin))) * 2.0)))) - (((cos(((((((data$SeedDiff) + (data$X2_BlkMean))/2.0)) * (as.complex(6.0)))))) * 2.0))))) +
                  0.100000*tanh(Re((-((ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(((((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(data$quality_march_T1)),as.complex(1.),as.complex(0.))) * (data$X1_BlkMean))) + (as.complex(-1.0)))) >= Mod(data$SeedDiff)),((((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(data$quality_march_T1)),as.complex(1.),as.complex(0.))) * (data$X1_BlkMean))) + (as.complex(-1.0))),data$SeedDiff)) >= Mod(((as.complex(3.0)) - (data$X1_BlkMean)))),ifelse(rep(1.,NROW(data))*(Mod(((((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(data$quality_march_T1)),as.complex(1.),as.complex(0.))) * (data$X1_BlkMean))) + (as.complex(-1.0)))) >= Mod(data$SeedDiff)),((((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(data$quality_march_T1)),as.complex(1.),as.complex(0.))) * (data$X1_BlkMean))) + (as.complex(-1.0))),data$SeedDiff),((as.complex(3.0)) - (data$X1_BlkMean)))))))) +
                  0.100000*tanh(Re((-((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(((tanh(((((((-((data$SeedDiff)))) * 2.0)) - (ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) >= Mod((-((data$quality_march_T1))))),data$quality_march_T2,(-((data$quality_march_T1))))))))) * 2.0))),data$SeedDiff,((tanh(((((((-((data$SeedDiff)))) * 2.0)) - (ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) >= Mod((-((data$quality_march_T1))))),data$quality_march_T2,(-((data$quality_march_T1))))))))) * 2.0))))))) +
                  0.100000*tanh(Re((-((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) >= Mod(((data$SeedDiff) - (ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) + (data$quality_march_T2))) > Mod(data$quality_march_T1)),ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(data$SeedDiff)),data$X2_BlkMean,as.complex(0)),as.complex(0)))))),data$quality_march_T2,((data$SeedDiff) - (ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) + (data$quality_march_T2))) > Mod(data$quality_march_T1)),ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(data$SeedDiff)),data$X2_BlkMean,as.complex(0)),as.complex(0)))))))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) >= Mod((-(((((data$Seed1) + (sinh((cos((((data$X2_BlkMean) + (data$Seed1))))))))/2.0)))))),data$Seed2,(-(((((data$Seed1) + (sinh((cos((((data$X2_BlkMean) + (data$Seed1))))))))/2.0)))))) * 2.0))) +
                  0.100000*tanh(Re((((((-((data$SeedDiff)))) * 2.0)) + (((((((as.complex(-14.0)) + (data$X1_PointsDiffMean))) - (data$X1_BlkMean))) + (((as.complex(-14.0)) + (data$X1_PointsDiffMean)))))))) +
                  0.100000*tanh(Re(((((sqrt((ifelse(rep(1.,NROW(data))*(Mod(data$X2_BlkMean) <= Mod(data$X1_BlkMean)),data$X2_BlkMean,data$X1_BlkMean)))) - (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) > Mod(data$X1_BlkMean)),data$SeedDiff,as.complex(0))))) - (ifelse(rep(1.,NROW(data))*(Mod(data$X2_BlkMean) <= Mod(as.complex(-3.0))),data$X2_BlkMean,as.complex(-3.0)))))) +
                  0.100000*tanh(Re(((((as.complex(-1.500000)) - (sinh((((ifelse(rep(1.,NROW(data))*(Mod(data$X1_OppFgaMean) > Mod(data$X2_OppFgaMean)),as.complex(1.),as.complex(0.))) * 2.0)))))) - (ifelse(rep(1.,NROW(data))*(Mod((-((data$X1_BlkMean)))) >= Mod(data$SeedDiff)),(-((data$X1_BlkMean))),data$SeedDiff))))) +
                  0.100000*tanh(Re((-(((((((((((((((((data$SeedDiff) + (data$Seed1))/2.0)) + (cos((sin((data$X1_PointsMean))))))) * 2.0)) * 2.0)) * 2.0)) * 2.0)) + (data$Seed1))))))) +
                  0.100000*tanh(Re((-((ifelse(rep(1.,NROW(data))*(Mod(data$Seed1) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(as.complex(-14.0)) >= Mod(((((data$SeedDiff) - (data$quality_march_T1))) * 2.0))),as.complex(-14.0),((((data$SeedDiff) - (data$quality_march_T1))) * 2.0)))),data$Seed1,ifelse(rep(1.,NROW(data))*(Mod(as.complex(-14.0)) >= Mod(((((data$SeedDiff) - (data$quality_march_T1))) * 2.0))),as.complex(-14.0),((((data$SeedDiff) - (data$quality_march_T1))) * 2.0)))))))) +
                  0.100000*tanh(Re(((((as.complex(-14.0)) - (((as.complex(7.0)) + (data$SeedDiff))))) * (cos(((-((((((((as.complex(7.0)) + (data$Seed1))/2.0)) + (data$Seed1))/2.0)))))))))) +
                  0.100000*tanh(Re(((((((((data$Seed2) * (ifelse(rep(1.,NROW(data))*(Mod(((data$Seed2) - (as.complex(11.40962696075439453)))) <= Mod(((as.complex(2.500000)) * 2.0))),((data$Seed2) - (as.complex(11.40962696075439453))),((as.complex(2.500000)) * 2.0))))) - (data$X2_PointsDiffMean))) - (as.complex(2.500000)))) - (data$Seed1)))) +
                  0.100000*tanh(Re(((((((data$X1_FgaMax) / 2.0)) / 2.0)) - (((data$quality_march_T1) + (((((data$SeedDiff) + (sin((data$X2_PointsMedian))))) + (ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsDiffMean) >= Mod(data$SeedDiff)),data$X2_PointsDiffMean,data$SeedDiff))))))))) +
                  0.100000*tanh(Re(((((((sin(((-((ifelse(rep(1.,NROW(data))*(Mod((-((((as.complex(78.192352)) * (data$SeedDiff)))))) >= Mod(cosh((data$Seed1)))),(-((((as.complex(78.192352)) * (data$SeedDiff))))),cosh((data$Seed1))))))))) * 2.0)) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(((as.complex(-3.0)) - (((((data$SeedDiff) - (data$X1_PointsDiffMean))) - (ifelse(rep(1.,NROW(data))*(Mod(as.complex(-14.0)) <= Mod(((((data$X1_PointsDiffMean) - (data$SeedDiff))) - (data$SeedDiff)))),as.complex(-14.0),((((data$X1_PointsDiffMean) - (data$SeedDiff))) - (data$SeedDiff))))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) >= Mod(data$X1_PointsDiffMean)),data$Seed2,data$X1_PointsDiffMean)) >= Mod((((-((ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsDiffMean) >= Mod(as.complex(12.500000))),data$X2_PointsDiffMean,as.complex(12.500000)))))) + (ifelse(rep(1.,NROW(data))*(Mod(as.complex(-3.0)) > Mod(data$X1_BlkMean)),as.complex(1.),as.complex(0.)))))),ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) >= Mod(data$X1_PointsDiffMean)),data$Seed2,data$X1_PointsDiffMean),(((-((ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsDiffMean) >= Mod(as.complex(12.500000))),data$X2_PointsDiffMean,as.complex(12.500000)))))) + (ifelse(rep(1.,NROW(data))*(Mod(as.complex(-3.0)) > Mod(data$X1_BlkMean)),as.complex(1.),as.complex(0.))))))) +
                  0.100000*tanh(Re(((as.complex(13.344028)) / (cos((ifelse(rep(1.,NROW(data))*(Mod(data$Seed1) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(as.complex(-2.0)) >= Mod((((cos((as.complex(13.344028)))) + (data$SeedDiff))/2.0))),as.complex(-2.0),(((cos((as.complex(13.344028)))) + (data$SeedDiff))/2.0)))),data$Seed1,ifelse(rep(1.,NROW(data))*(Mod(as.complex(-2.0)) >= Mod((((cos((as.complex(13.344028)))) + (data$SeedDiff))/2.0))),as.complex(-2.0),(((cos((as.complex(13.344028)))) + (data$SeedDiff))/2.0))))))))) +
                  0.100000*tanh(Re(((((ifelse(rep(1.,NROW(data))*(Mod(as.complex(-14.0)) >= Mod(data$X2_PointsDiffMean)),as.complex(-14.0),data$X2_PointsDiffMean)) * (((as.complex(13.344028)) - (ifelse(rep(1.,NROW(data))*(Mod(as.complex(13.344028)) >= Mod(data$X2_PointsDiffMean)),as.complex(13.344028),data$X2_PointsDiffMean)))))) - (ifelse(rep(1.,NROW(data))*(Mod(data$Seed1) >= Mod(as.complex(-14.0))),data$Seed1,as.complex(-14.0)))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod((((((-((data$X2_PointsDiffMean)))) - (((as.complex(-10.500000)) + (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(as.complex(-10.500000))),data$SeedDiff,as.complex(-10.500000))))))) - (data$X1_BlkMean))) >= Mod(as.complex(-10.500000))),(((((-((data$X2_PointsDiffMean)))) - (((as.complex(-10.500000)) + (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(as.complex(-10.500000))),data$SeedDiff,as.complex(-10.500000))))))) - (data$X1_BlkMean)),as.complex(-10.500000)))) +
                  0.100000*tanh(Re(((data$X1_OppFgaMean) * (ifelse(rep(1.,NROW(data))*(Mod(cos((ifelse(rep(1.,NROW(data))*(Mod(data$X1_OppFgaMean) > Mod(data$X2_OppFgaMean)),as.complex(4.0),as.complex(0))))) >= Mod(((cos((data$Seed1))) * 2.0))),cos((ifelse(rep(1.,NROW(data))*(Mod(data$X1_OppFgaMean) > Mod(data$X2_OppFgaMean)),as.complex(4.0),as.complex(0)))),((cos((data$Seed1))) * 2.0)))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod((((((sin((((data$X1_PointsDiffMean) - (as.complex(4.059742)))))) * 2.0)) + (((((((as.complex(-2.0)) * 2.0)) * 2.0)) - (data$SeedDiff))))/2.0))),data$SeedDiff,(((((sin((((data$X1_PointsDiffMean) - (as.complex(4.059742)))))) * 2.0)) + (((((((as.complex(-2.0)) * 2.0)) * 2.0)) - (data$SeedDiff))))/2.0)))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(sin((data$SeedDiff))) <= Mod(data$quality_march_T2)),ifelse(rep(1.,NROW(data))*(Mod(sqrt((data$Seed1))) <= Mod(data$SeedDiff)),ifelse(rep(1.,NROW(data))*(Mod(as.complex(9.0)) <= Mod(data$SeedDiff)),as.complex(9.0),data$SeedDiff),as.complex(0)),as.complex(0))) - (data$SeedDiff)))))
}

.gpComplexVIII<-function(data){
  predictions<-(0.100000*tanh(Re(((((data$SeedDiff) - (((data$SeedDiff) * (data$X2_PointsMean))))) - (((data$X1_FgaMean) - (((data$X2_FgaMean) / (((data$quality_march_T1) - (data$SeedDiff)))))))))) +
                  0.100000*tanh(Re(((((((((sin((((data$X2_FgaMin) + (sin((data$X2_BlkMean))))))) * 2.0)) - (data$SeedDiff))) - (sin((data$X2_FgaMin))))) * (data$X2_FgaMin)))) +
                  0.100000*tanh(Re(((((cos((((cosh((data$X1_FgaMin))) - (sinh((complex(real = 0, imaginary = 1)*Conj(sinh((data$SeedDiff)))))))))) - (data$SeedDiff))) * (sqrt((complex(real = 0, imaginary = 1)*Conj(data$X1_FgaMin))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) >= Mod(((ifelse(rep(1.,NROW(data))*(Mod((((-((data$SeedDiff)))) - (data$SeedDiff))) >= Mod(((data$quality_march_T2) - (data$quality_march_T1)))),(((-((data$SeedDiff)))) - (data$SeedDiff)),((data$quality_march_T2) - (data$quality_march_T1)))) * (as.complex(79.573532))))),data$quality_march_T1,((ifelse(rep(1.,NROW(data))*(Mod((((-((data$SeedDiff)))) - (data$SeedDiff))) >= Mod(((data$quality_march_T2) - (data$quality_march_T1)))),(((-((data$SeedDiff)))) - (data$SeedDiff)),((data$quality_march_T2) - (data$quality_march_T1)))) * (as.complex(79.573532)))))) +
                  0.100000*tanh(Re(((((((data$X2_FgaMin) * (((sin((data$X2_FgaMin))) - (data$SeedDiff))))) - (sinh((as.complex(3.0)))))) * (data$X2_FgaMin)))) +
                  0.100000*tanh(Re((((-((((as.complex(57.152748)) * (data$SeedDiff)))))) + (ifelse(rep(1.,NROW(data))*(Mod((-((((data$X1_PointsMean) - (cos((data$X1_FgaMean)))))))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(data$X2_PointsMedian)),data$SeedDiff,data$X2_PointsMedian))),(-((((data$X1_PointsMean) - (cos((data$X1_FgaMean))))))),ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(data$X2_PointsMedian)),data$SeedDiff,data$X2_PointsMedian)))))) +
                  0.100000*tanh(Re(((((((data$SeedDiff) * ((((-((((data$SeedDiff) * (data$X2_PointsDiffMean)))))) - (cosh((data$X1_PointsDiffMean))))))) - (((data$X1_PointsDiffMean) / 2.0)))) - (data$SeedDiff)))) +
                  0.100000*tanh(Re(((data$X1_FgaMean) * (ifelse(rep(1.,NROW(data))*(Mod(((as.complex(-9.500000)) * (data$SeedDiff))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod((-((data$quality_march_T1)))) >= Mod(data$quality_march_T2)),(-((data$quality_march_T1))),data$quality_march_T2))),((as.complex(-9.500000)) * (data$SeedDiff)),ifelse(rep(1.,NROW(data))*(Mod((-((data$quality_march_T1)))) >= Mod(data$quality_march_T2)),(-((data$quality_march_T1))),data$quality_march_T2)))))) +
                  0.100000*tanh(Re(((((cos((as.complex(4.0)))) + (((data$Seed1) * (((cos((data$X1_AstMean))) + (((data$Seed1) * (((data$Seed2) - (data$Seed1))))))))))) * 2.0))) +
                  0.100000*tanh(Re(((((data$X1_OppFgaMean) * (data$X1_OppFgaMean))) * (((sin(((-((((data$X1_OppFgaMean) * (as.complex(3.619697))))))))) - (data$SeedDiff)))))) +
                  0.100000*tanh(Re((((-((((data$X1_FgaMean) * (ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(data$quality_march_T1)),as.complex(1.),as.complex(0.))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(data$SeedDiff)),as.complex(1.),as.complex(0.))) >= Mod(data$SeedDiff)),ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(data$SeedDiff)),as.complex(1.),as.complex(0.)),data$SeedDiff))),ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(data$quality_march_T1)),as.complex(1.),as.complex(0.)),ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(data$SeedDiff)),as.complex(1.),as.complex(0.))) >= Mod(data$SeedDiff)),ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(data$SeedDiff)),as.complex(1.),as.complex(0.)),data$SeedDiff)))))))) + (data$X2_FgaMean)))) +
                  0.100000*tanh(Re(((data$X2_FgaMedian) * ((((((-((ifelse(rep(1.,NROW(data))*(Mod(cos((data$X2_PointsDiffMean))) >= Mod(cos((data$X2_PointsDiffMean)))),cos((data$X2_PointsDiffMean)),cos((data$X2_PointsDiffMean))))))) - (data$SeedDiff))) / 2.0))))) +
                  0.100000*tanh(Re(((((((((((((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) > Mod(data$quality_march_T1)),as.complex(1.),as.complex(0.))) - (data$SeedDiff))) * 2.0)) - (cos((data$SeedDiff))))) * 2.0)) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(((as.complex(78.443047)) * (((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(data$quality_march_T2)),((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(data$quality_march_T2)),as.complex(1.),as.complex(0.))) - (ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(data$quality_march_T2)),as.complex(1.),as.complex(0.)))),as.complex(0))) - (data$SeedDiff)))))) +
                  0.100000*tanh(Re(((data$X1_AstMean) * (ifelse(rep(1.,NROW(data))*(Mod(((as.complex(7.68098640441894531)) * ((-((data$SeedDiff)))))) >= Mod((((data$SeedDiff) + (ifelse(rep(1.,NROW(data))*(Mod(complex(real = 0, imaginary = 1)*Conj(data$X1_AstMean)) >= Mod(data$Seed2)),complex(real = 0, imaginary = 1)*Conj(data$X1_AstMean),data$Seed2)))/2.0))),((as.complex(7.68098640441894531)) * ((-((data$SeedDiff))))),(((data$SeedDiff) + (ifelse(rep(1.,NROW(data))*(Mod(complex(real = 0, imaginary = 1)*Conj(data$X1_AstMean)) >= Mod(data$Seed2)),complex(real = 0, imaginary = 1)*Conj(data$X1_AstMean),data$Seed2)))/2.0)))))) +
                  0.100000*tanh(Re((((((((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(sin((data$X1_FgaMin)))),data$SeedDiff,sin((data$X1_FgaMin)))) + (sin((data$X1_BlkMean))))) + (sin((data$X1_FgaMin))))/2.0)) * (((data$SeedDiff) - (data$X1_FgaMin)))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(((data$X2_FgaMin) * (((cos((data$X1_FgaMean))) - (((data$SeedDiff) - (cos((((data$X1_PointsDiffMean) + ((-((data$SeedDiff))))))))))))))),data$SeedDiff,((data$X2_FgaMin) * (((cos((data$X1_FgaMean))) - (((data$SeedDiff) - (cos((((data$X1_PointsDiffMean) + ((-((data$SeedDiff)))))))))))))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(cosh((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(data$quality_march_T2)),as.complex(1.),as.complex(0.))))) <= Mod(as.complex(-1.0))),cosh((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(data$quality_march_T2)),as.complex(1.),as.complex(0.)))),as.complex(-1.0))) - ((((data$SeedDiff) + (ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(data$quality_march_T2)),as.complex(1.),as.complex(0.))) > Mod(data$quality_march_T1)),as.complex(1.),as.complex(0.))))/2.0))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(cos((data$X2_PointsMean))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(sin((data$SeedDiff))) >= Mod(((sin((((data$X1_OppFgaMin) + (cos((data$X2_PointsMean))))))) - (data$SeedDiff)))),sin((data$SeedDiff)),((sin((((data$X1_OppFgaMin) + (cos((data$X2_PointsMean))))))) - (data$SeedDiff))))),cos((data$X2_PointsMean)),ifelse(rep(1.,NROW(data))*(Mod(sin((data$SeedDiff))) >= Mod(((sin((((data$X1_OppFgaMin) + (cos((data$X2_PointsMean))))))) - (data$SeedDiff)))),sin((data$SeedDiff)),((sin((((data$X1_OppFgaMin) + (cos((data$X2_PointsMean))))))) - (data$SeedDiff)))))) +
                  0.100000*tanh(Re(((data$X1_PointsMedian) * (((sin((((data$X1_PointsMedian) - (data$SeedDiff))))) - (((data$SeedDiff) - (((data$X2_WinRatio14d) / (sin((sin((data$X1_PointsMedian)))))))))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((((as.complex(-3.0)) / 2.0)) - (data$SeedDiff))) > Mod(as.complex(-1.0))),ifelse(rep(1.,NROW(data))*(Mod(((data$X1_BlkMean) + (((as.complex(-2.0)) - (data$SeedDiff))))) >= Mod(((as.complex(-3.0)) / 2.0))),((data$X1_BlkMean) + (((as.complex(-2.0)) - (data$SeedDiff)))),((as.complex(-3.0)) / 2.0)),as.complex(0)))) +
                  0.100000*tanh(Re(((data$Seed2) - (((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(((data$Seed2) / (((data$quality_march_T2) + (data$SeedDiff)))))),data$SeedDiff,((data$Seed2) / (((data$quality_march_T2) + (data$SeedDiff)))))) - (((data$quality_march_T1) + (sin((data$X1_FgaMean)))))))))) +
                  0.100000*tanh(Re(((((((sinh((ifelse(rep(1.,NROW(data))*(Mod((-((data$X1_WinRatio14d)))) <= Mod(sinh((data$X2_WinRatio14d)))),(-((data$X1_WinRatio14d))),sinh((data$X2_WinRatio14d)))))) * (data$X1_PointsMedian))) - (sinh((as.complex(3.0)))))) - (sinh((data$SeedDiff)))))) +
                  0.100000*tanh(Re(((((((((((as.complex(15.109375)) - (data$SeedDiff))) - (sin((data$X2_WinRatio14d))))) - (data$X2_PointsDiffMean))) - (data$X2_WinRatio14d))) - (as.complex(-3.0))))) +
                  0.100000*tanh(Re((-((((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(((data$SeedDiff) + (as.complex(1.500000))))),data$SeedDiff,((data$SeedDiff) + (as.complex(1.500000))))) + (ifelse(rep(1.,NROW(data))*(Mod(as.complex(5.0)) <= Mod(((data$SeedDiff) + (data$Seed2)))),as.complex(5.0),((data$SeedDiff) + (data$Seed2)))))))))) +
                  0.100000*tanh(Re(((((((((ifelse(rep(1.,NROW(data))*(Mod(((data$X1_WinRatio14d) * 2.0)) >= Mod(((((data$X1_WinRatio14d) * 2.0)) - (as.complex(3.0))))),((data$X1_WinRatio14d) * 2.0),((((data$X1_WinRatio14d) * 2.0)) - (as.complex(3.0))))) * 2.0)) * 2.0)) - (data$SeedDiff))) - (data$X1_WinRatio14d)))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((data$X1_OppFgaMean) * 2.0)) <= Mod(((((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(as.complex(-3.0))),data$SeedDiff,as.complex(-3.0))) - (as.complex(-3.0)))) - (((data$X1_FgaMax) - ((-((as.complex(43.500000)))))))))),((data$X1_OppFgaMean) * 2.0),((((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(as.complex(-3.0))),data$SeedDiff,as.complex(-3.0))) - (as.complex(-3.0)))) - (((data$X1_FgaMax) - ((-((as.complex(43.500000))))))))))) +
                  0.100000*tanh(Re(((((as.complex(-3.0)) * (ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) / 2.0)) >= Mod(complex(real = 0, imaginary = 1)*Conj(as.complex(3.567291)))),((data$SeedDiff) / 2.0),complex(real = 0, imaginary = 1)*Conj(as.complex(3.567291)))))) + (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod((((data$SeedDiff) + (as.complex(-3.0)))/2.0))),data$SeedDiff,(((data$SeedDiff) + (as.complex(-3.0)))/2.0)))))) +
                  0.100000*tanh(Re((((sinh((((data$SeedDiff) / (as.complex(-2.0)))))) + (sinh((((((as.complex(-2.0)) - (sin((((data$X2_OppFgaMean) / 2.0)))))) - (sin((data$X2_OppFgaMean))))))))/2.0))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(data$Seed1) >= Mod(((ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) >= Mod(((sinh(((-((ifelse(rep(1.,NROW(data))*(Mod(data$Seed1) <= Mod((-((data$Seed2))))),data$Seed1,(-((data$Seed2)))))))))) - (data$Seed1)))),data$Seed2,((sinh(((-((ifelse(rep(1.,NROW(data))*(Mod(data$Seed1) <= Mod((-((data$Seed2))))),data$Seed1,(-((data$Seed2)))))))))) - (data$Seed1)))) - (data$Seed1)))),data$Seed1,((ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) >= Mod(((sinh(((-((ifelse(rep(1.,NROW(data))*(Mod(data$Seed1) <= Mod((-((data$Seed2))))),data$Seed1,(-((data$Seed2)))))))))) - (data$Seed1)))),data$Seed2,((sinh(((-((ifelse(rep(1.,NROW(data))*(Mod(data$Seed1) <= Mod((-((data$Seed2))))),data$Seed1,(-((data$Seed2)))))))))) - (data$Seed1)))) - (data$Seed1))))) +
                  0.100000*tanh(Re((((((((((data$X1_PointsDiffMean) + ((-((data$X2_PointsDiffMean)))))/2.0)) + (sin((data$X1_PointsMedian))))) + (sin((data$X1_PointsDiffMean))))) + (sin((cos((data$X1_PointsMedian)))))))) +
                  0.100000*tanh(Re((((((((ifelse(rep(1.,NROW(data))*(Mod(as.complex(12.72247505187988281)) <= Mod(sinh((data$SeedDiff)))),data$SeedDiff,as.complex(0))) - (((sinh((data$SeedDiff))) / (data$X1_FgaMax))))) + (data$SeedDiff))/2.0)) / 2.0))) +
                  0.100000*tanh(Re(((sin(((-((data$X2_PointsMedian)))))) + (((sin(((-((data$X2_PointsMedian)))))) + ((((-((sinh((((data$SeedDiff) / 2.0))))))) / (data$X2_PointsMedian)))))))) +
                  0.100000*tanh(Re(((data$X1_PointsDiffMean) - (((((data$X2_PointsDiffMean) + (cos((data$X2_BlkMean))))) + (ifelse(rep(1.,NROW(data))*(Mod(data$Seed1) <= Mod(data$X1_PointsDiffMean)),ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsDiffMean) <= Mod(data$X1_PointsDiffMean)),data$X1_BlkMean,as.complex(0)),as.complex(0)))))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(data$X1_OppFgaMin) <= Mod(as.complex(43.500000))),as.complex(43.500000),as.complex(0))) - (((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) > Mod(as.complex(10.41159057617187500))),as.complex(1.),as.complex(0.))) * (((((data$SeedDiff) * 2.0)) * 2.0))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) > Mod(as.complex(10.0))),((data$X1_PointsDiffMean) + (ifelse(rep(1.,NROW(data))*(Mod(as.complex(10.0)) > Mod(data$X1_PointsDiffMean)),(-(((((data$SeedDiff) + (as.complex(10.0)))/2.0)))),as.complex(0)))),as.complex(0)))) +
                  0.100000*tanh(Re(((((((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(as.complex(10.500000))),data$SeedDiff,as.complex(10.500000))) - (data$SeedDiff))) * (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(as.complex(10.500000))),data$SeedDiff,as.complex(10.500000))))) - (((sin((data$X1_FgaMin))) * 2.0))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(sin((data$X1_PointsMedian))) >= Mod(((ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) * (as.complex(-1.0)))) >= Mod(as.complex(-9.500000))),((data$SeedDiff) * (as.complex(-1.0))),as.complex(-9.500000))) + (as.complex(9.500000))))),sin((data$X1_PointsMedian)),((ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) * (as.complex(-1.0)))) >= Mod(as.complex(-9.500000))),((data$SeedDiff) * (as.complex(-1.0))),as.complex(-9.500000))) + (as.complex(9.500000)))))) +
                  0.100000*tanh(Re(((((as.complex(-9.500000)) + (((sin((sin((((data$X1_FgaMean) + (cos((data$SeedDiff))))))))) - (data$SeedDiff))))) * (data$X1_FgaMean)))) +
                  0.100000*tanh(Re(((data$Seed1) * (ifelse(rep(1.,NROW(data))*(Mod(data$X1_BlkMean) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(((data$X2_OppFgaMean) - (data$X1_OppFgaMean))) >= Mod(((as.complex(8.67723751068115234)) - (data$Seed1)))),((data$X2_OppFgaMean) - (data$X1_OppFgaMean)),((as.complex(8.67723751068115234)) - (data$Seed1))))),data$X1_BlkMean,ifelse(rep(1.,NROW(data))*(Mod(((data$X2_OppFgaMean) - (data$X1_OppFgaMean))) >= Mod(((as.complex(8.67723751068115234)) - (data$Seed1)))),((data$X2_OppFgaMean) - (data$X1_OppFgaMean)),((as.complex(8.67723751068115234)) - (data$Seed1)))))))))
}

.gpComplexIX<-function(data){
  predictions<-(0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(((((((((data$SeedDiff) * ((-((data$X2_FgaMedian)))))) - (data$quality_march_T1))) + (data$quality_march_T2))) * (data$X2_FgaMedian))) >= Mod(data$quality_march_T2)),((((((((data$SeedDiff) * ((-((data$X2_FgaMedian)))))) - (data$quality_march_T1))) + (data$quality_march_T2))) * (data$X2_FgaMedian)),data$quality_march_T2)) * (data$X2_PointsMedian)))) +
                  0.100000*tanh(Re(((data$SeedDiff) - (((((((data$SeedDiff) + (cos((((data$X1_FgaMedian) - (data$X2_PointsDiffMean))))))) + (cos((data$X2_PointsDiffMean))))) * (data$X1_FgaMin)))))) +
                  0.100000*tanh(Re(((((((data$X2_PointsDiffMean) - (((((as.complex(12.606062)) - (ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(cos((data$X2_PointsDiffMean)))),data$quality_march_T1,as.complex(0))))) * (data$SeedDiff))))) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(((((((ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) > Mod(data$Seed1)),cosh((ifelse(rep(1.,NROW(data))*(Mod(cosh((data$X1_PointsDiffMean))) > Mod(data$Seed1)),data$Seed2,as.complex(0)))),as.complex(0))) * 2.0)) - (data$X1_PointsDiffMean))) - (data$Seed1)))) +
                  0.100000*tanh(Re(((((data$X2_PointsDiffMean) / ((-((((data$SeedDiff) + (cos((data$X2_PointsDiffMean)))))))))) - (ifelse(rep(1.,NROW(data))*(Mod(cos((data$quality_march_T2))) >= Mod(data$SeedDiff)),cos((data$quality_march_T2)),data$SeedDiff))))) +
                  0.100000*tanh(Re(((as.complex(3.02148056030273438)) * (((((as.complex(3.02148056030273438)) * (((((((cos((((data$X1_PointsDiffMean) - (data$SeedDiff))))) - (data$SeedDiff))) * 2.0)) * 2.0)))) - (as.complex(3.02148056030273438))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(as.complex(1.0)) >= Mod(((((as.complex(-9.500000)) * (data$SeedDiff))) - (ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(data$quality_march_T2)),((data$X1_PointsDiffMean) + (data$SeedDiff)),as.complex(0)))))),as.complex(1.0),((((as.complex(-9.500000)) * (data$SeedDiff))) - (ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(data$quality_march_T2)),((data$X1_PointsDiffMean) + (data$SeedDiff)),as.complex(0))))))) +
                  0.100000*tanh(Re(((((cos((data$X1_PointsDiffMean))) - (((data$X2_PointsMedian) * (((data$SeedDiff) - (ifelse(rep(1.,NROW(data))*(Mod(as.complex(79.411766)) <= Mod(data$X2_PointsMedian)),as.complex(1.),as.complex(0.))))))))) * (ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) >= Mod(as.complex(9.500000))),data$X1_PointsDiffMean,as.complex(9.500000)))))) +
                  0.100000*tanh(Re((-((((((((((((ifelse(rep(1.,NROW(data))*(Mod(((data$quality_march_T1) - (data$quality_march_T2))) >= Mod(data$SeedDiff)),((data$quality_march_T1) - (data$quality_march_T2)),data$SeedDiff)) * 2.0)) * 2.0)) * 2.0)) * 2.0)) * 2.0)))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod((((((((sqrt((data$SeedDiff))) - (data$SeedDiff))) + (cos((data$SeedDiff))))/2.0)) - (data$SeedDiff))) >= Mod(((cos((data$X1_FgaMean))) * 2.0))),(((((((sqrt((data$SeedDiff))) - (data$SeedDiff))) + (cos((data$SeedDiff))))/2.0)) - (data$SeedDiff)),((cos((data$X1_FgaMean))) * 2.0))) * 2.0))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(as.complex(3.283092)) >= Mod((((ifelse(rep(1.,NROW(data))*(Mod(as.complex(-11.500000)) >= Mod(((data$X2_AstMean) - (((as.complex(3.283092)) * (sinh((data$SeedDiff)))))))),as.complex(-11.500000),((data$X2_AstMean) - (((as.complex(3.283092)) * (sinh((data$SeedDiff)))))))) + (data$X1_BlkMean))/2.0))),as.complex(3.283092),(((ifelse(rep(1.,NROW(data))*(Mod(as.complex(-11.500000)) >= Mod(((data$X2_AstMean) - (((as.complex(3.283092)) * (sinh((data$SeedDiff)))))))),as.complex(-11.500000),((data$X2_AstMean) - (((as.complex(3.283092)) * (sinh((data$SeedDiff)))))))) + (data$X1_BlkMean))/2.0)))) +
                  0.100000*tanh(Re((-((((data$X1_PointsMedian) * ((((Conj((((((data$quality_march_T2) - (data$quality_march_T1))) + (data$SeedDiff))/2.0))) + (cos((((data$X2_PointsMedian) - (data$quality_march_T2))))))/2.0)))))))) +
                  0.100000*tanh(Re(((sin((((data$X2_PointsMedian) - (sqrt((data$X2_PointsMean))))))) + (((sin((((data$X2_PointsMedian) - (((as.complex(2.0)) + (data$SeedDiff))))))) - (data$SeedDiff)))))) +
                  0.100000*tanh(Re((((((((-((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(data$quality_march_T1)),data$quality_march_T2,as.complex(0))) - (ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) > Mod(data$quality_march_T1)),as.complex(1.),as.complex(0.)))))),data$SeedDiff,((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(data$quality_march_T1)),data$quality_march_T2,as.complex(0))) - (ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) > Mod(data$quality_march_T1)),as.complex(1.),as.complex(0.))))))))) * 2.0)) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) >= Mod((-((((data$X2_PointsDiffMean) - (((data$Seed2) - (ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(data$Seed2)),ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) <= Mod(as.complex(14.500000))),as.complex(7.061161),as.complex(0)),as.complex(0))))))))))),data$X1_PointsDiffMean,(-((((data$X2_PointsDiffMean) - (((data$Seed2) - (ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(data$Seed2)),ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) <= Mod(as.complex(14.500000))),as.complex(7.061161),as.complex(0)),as.complex(0)))))))))))) +
                  0.100000*tanh(Re(((data$X2_PointsMedian) - (((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsMedian) <= Mod(data$X1_PointsMedian)),ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsMean) <= Mod(data$X1_PointsMean)),as.complex(1.),as.complex(0.))) >= Mod(data$quality_march_T2)),ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsMean) <= Mod(data$X1_PointsMean)),as.complex(1.),as.complex(0.)),data$quality_march_T2),as.complex(0)))),data$SeedDiff,ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsMedian) <= Mod(data$X1_PointsMedian)),ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsMean) <= Mod(data$X1_PointsMean)),as.complex(1.),as.complex(0.))) >= Mod(data$quality_march_T2)),ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsMean) <= Mod(data$X1_PointsMean)),as.complex(1.),as.complex(0.)),data$quality_march_T2),as.complex(0)))) * (as.complex(79.553032))))))) +
                  0.100000*tanh(Re((((-(((-(((((-((cos((data$X2_PointsDiffMean)))))) - (data$SeedDiff))))))))) - (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(((cos((sinh((data$X1_OppFgaMean))))) * 2.0))),data$SeedDiff,((cos((sinh((data$X1_OppFgaMean))))) * 2.0)))))) +
                  0.100000*tanh(Re(sinh((((ifelse(rep(1.,NROW(data))*(Mod((-((data$SeedDiff)))) >= Mod(((sin((sin((data$X1_PointsMedian))))) + (((sin((sin((data$X1_PointsMedian))))) / 2.0))))),(-((data$SeedDiff))),((sin((sin((data$X1_PointsMedian))))) + (((sin((sin((data$X1_PointsMedian))))) / 2.0))))) * 2.0))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(sin((data$X2_FgaMin))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(sinh((sinh((ifelse(rep(1.,NROW(data))*(Mod(sinh((sin((data$X1_PointsMedian))))) <= Mod(data$SeedDiff)),sinh((sin((data$X1_PointsMedian)))),data$SeedDiff)))))) >= Mod((-((data$SeedDiff))))),sinh((sinh((ifelse(rep(1.,NROW(data))*(Mod(sinh((sin((data$X1_PointsMedian))))) <= Mod(data$SeedDiff)),sinh((sin((data$X1_PointsMedian)))),data$SeedDiff))))),(-((data$SeedDiff)))))),sin((data$X2_FgaMin)),ifelse(rep(1.,NROW(data))*(Mod(sinh((sinh((ifelse(rep(1.,NROW(data))*(Mod(sinh((sin((data$X1_PointsMedian))))) <= Mod(data$SeedDiff)),sinh((sin((data$X1_PointsMedian)))),data$SeedDiff)))))) >= Mod((-((data$SeedDiff))))),sinh((sinh((ifelse(rep(1.,NROW(data))*(Mod(sinh((sin((data$X1_PointsMedian))))) <= Mod(data$SeedDiff)),sinh((sin((data$X1_PointsMedian)))),data$SeedDiff))))),(-((data$SeedDiff))))))) +
                  0.100000*tanh(Re(((((ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) > Mod(as.complex(3.61723518371582031))),data$X1_PointsDiffMean,as.complex(0))) - (ifelse(rep(1.,NROW(data))*(Mod(((data$Seed1) - (as.complex(4.921875)))) >= Mod(data$Seed1)),((data$Seed1) - (as.complex(4.921875))),data$Seed1)))) * 2.0))) +
                  0.100000*tanh(Re(((cos((((data$X1_FgaMean) - (data$SeedDiff))))) - (((((-((cos((data$X1_FgaMean)))))) + (((data$SeedDiff) - (cos((data$X1_FgaMean))))))/2.0))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(((data$X2_AstMean) - (data$X1_PointsDiffMean))) <= Mod(data$X1_PointsDiffMean)),data$Seed2,as.complex(0))) - (((data$SeedDiff) * (tanh((tanh((ifelse(rep(1.,NROW(data))*(Mod(as.complex(8.0)) <= Mod(data$SeedDiff)),as.complex(8.0),data$SeedDiff))))))))))) +
                  0.100000*tanh(Re((-(((((((((cos((data$X1_PointsMean))) / (cos(((((as.complex(1.109198)) + (as.complex(9.0)))/2.0)))))) / (cos((as.complex(1.109198)))))) + (data$SeedDiff))/2.0)))))) +
                  0.100000*tanh(Re(((((as.complex(12.606062)) - (data$X2_PointsDiffMean))) + (((((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean))) + ((-((ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) + (data$SeedDiff))) >= Mod(data$X2_PointsDiffMean)),((data$SeedDiff) + (data$SeedDiff)),data$X2_PointsDiffMean)))))))))) +
                  0.100000*tanh(Re(((data$X1_OppFgaMin) * (ifelse(rep(1.,NROW(data))*(Mod(tanh((((data$SeedDiff) / 2.0)))) > Mod(sin((data$X2_BlkMean)))),(-((((data$SeedDiff) + (((data$SeedDiff) + (data$X2_BlkMean))))))),as.complex(0)))))) +
                  0.100000*tanh(Re((-((((data$SeedDiff) - (((((((sqrt((tanh((data$SeedDiff))))) + (tanh((data$SeedDiff))))) + (((cos((data$X2_PointsMean))) * 2.0)))) * 2.0)))))))) +
                  0.100000*tanh(Re(((data$Seed2) - (((data$Seed1) * ((((as.complex(4.58451461791992188)) + (sin((((data$X1_PointsMean) - (sqrt((((sin((data$Seed1))) * (data$Seed1))))))))))/2.0))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(tanh(((((tanh((data$SeedDiff))) + (sqrt((as.complex(-9.500000)))))/2.0)))) >= Mod(((((-((((data$SeedDiff) / 2.0))))) + ((-((tanh((data$SeedDiff)))))))/2.0))),tanh(((((tanh((data$SeedDiff))) + (sqrt((as.complex(-9.500000)))))/2.0))),((((-((((data$SeedDiff) / 2.0))))) + ((-((tanh((data$SeedDiff)))))))/2.0)))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod((((((data$X1_PointsDiffMean) - ((((data$X2_PointsDiffMean) + (ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsDiffMean) >= Mod(data$Seed1)),data$X2_PointsDiffMean,data$Seed1)))/2.0)))) + (data$quality_march_T1))/2.0)) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) <= Mod(as.complex(9.500000))),as.complex(1.),as.complex(0.)))),(((((data$X1_PointsDiffMean) - ((((data$X2_PointsDiffMean) + (ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsDiffMean) >= Mod(data$Seed1)),data$X2_PointsDiffMean,data$Seed1)))/2.0)))) + (data$quality_march_T1))/2.0),ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) <= Mod(as.complex(9.500000))),as.complex(1.),as.complex(0.))))) +
                  0.100000*tanh(Re(((data$X1_BlkMean) - (ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(as.complex(7.061161)) <= Mod(ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) - (data$X2_PointsDiffMean))) <= Mod(as.complex(7.061161))),((data$SeedDiff) - (data$X2_PointsDiffMean)),as.complex(7.061161))) >= Mod((-((data$SeedDiff))))),ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) - (data$X2_PointsDiffMean))) <= Mod(as.complex(7.061161))),((data$SeedDiff) - (data$X2_PointsDiffMean)),as.complex(7.061161)),(-((data$SeedDiff)))))),as.complex(7.061161),ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) - (data$X2_PointsDiffMean))) <= Mod(as.complex(7.061161))),((data$SeedDiff) - (data$X2_PointsDiffMean)),as.complex(7.061161))) >= Mod((-((data$SeedDiff))))),ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) - (data$X2_PointsDiffMean))) <= Mod(as.complex(7.061161))),((data$SeedDiff) - (data$X2_PointsDiffMean)),as.complex(7.061161)),(-((data$SeedDiff)))))) >= Mod(data$SeedDiff)),ifelse(rep(1.,NROW(data))*(Mod(as.complex(7.061161)) <= Mod(ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) - (data$X2_PointsDiffMean))) <= Mod(as.complex(7.061161))),((data$SeedDiff) - (data$X2_PointsDiffMean)),as.complex(7.061161))) >= Mod((-((data$SeedDiff))))),ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) - (data$X2_PointsDiffMean))) <= Mod(as.complex(7.061161))),((data$SeedDiff) - (data$X2_PointsDiffMean)),as.complex(7.061161)),(-((data$SeedDiff)))))),as.complex(7.061161),ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) - (data$X2_PointsDiffMean))) <= Mod(as.complex(7.061161))),((data$SeedDiff) - (data$X2_PointsDiffMean)),as.complex(7.061161))) >= Mod((-((data$SeedDiff))))),ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) - (data$X2_PointsDiffMean))) <= Mod(as.complex(7.061161))),((data$SeedDiff) - (data$X2_PointsDiffMean)),as.complex(7.061161)),(-((data$SeedDiff))))),data$SeedDiff))))) +
                  0.100000*tanh(Re(((((((((-((data$SeedDiff)))) + (as.complex(5.42056322097778320)))) + (data$X1_BlkMean))/2.0)) + ((((data$X1_BlkMean) + ((((-((data$X2_PointsDiffMean)))) + (as.complex(5.42056322097778320)))))/2.0))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(sqrt((ifelse(rep(1.,NROW(data))*(Mod((-((data$SeedDiff)))) >= Mod(sqrt((ifelse(rep(1.,NROW(data))*(Mod((-((data$X1_PointsMedian)))) >= Mod(data$SeedDiff)),(-((data$X1_PointsMedian))),data$SeedDiff))))),(-((data$SeedDiff))),sqrt((ifelse(rep(1.,NROW(data))*(Mod((-((data$X1_PointsMedian)))) >= Mod(data$SeedDiff)),(-((data$X1_PointsMedian))),data$SeedDiff))))))) >= Mod((-((data$Seed1))))),sqrt((ifelse(rep(1.,NROW(data))*(Mod((-((data$SeedDiff)))) >= Mod(sqrt((ifelse(rep(1.,NROW(data))*(Mod((-((data$X1_PointsMedian)))) >= Mod(data$SeedDiff)),(-((data$X1_PointsMedian))),data$SeedDiff))))),(-((data$SeedDiff))),sqrt((ifelse(rep(1.,NROW(data))*(Mod((-((data$X1_PointsMedian)))) >= Mod(data$SeedDiff)),(-((data$X1_PointsMedian))),data$SeedDiff)))))),(-((data$Seed1)))))) +
                  0.100000*tanh(Re(((((data$X1_PointsMedian) * (((data$X1_PointsMean) * (ifelse(rep(1.,NROW(data))*(Mod(sin((data$X1_PointsMedian))) <= Mod(((data$X1_PointsDiffMean) * (data$X1_PointsDiffMean)))),sin((data$X1_PointsMedian)),((data$X1_PointsDiffMean) * (data$X1_PointsDiffMean)))))))) - (sinh((data$SeedDiff)))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(((((data$SeedDiff) * ((-((cos(((((data$SeedDiff) + (complex(real = 0, imaginary = 1)*Conj(data$SeedDiff)))/2.0))))))))) / 2.0)) >= Mod(data$SeedDiff)),((((data$SeedDiff) * ((-((cos(((((data$SeedDiff) + (complex(real = 0, imaginary = 1)*Conj(data$SeedDiff)))/2.0))))))))) / 2.0),data$SeedDiff)) + (data$quality_march_T2)))) +
                  0.100000*tanh(Re(((data$X1_PointsDiffMean) - (((sin((as.complex(4.0)))) + (((((data$X2_PointsDiffMean) / 2.0)) + (ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(((data$X1_BlkMean) * 2.0)) >= Mod(data$X1_BlkMean)),((data$X1_BlkMean) * 2.0),data$X1_BlkMean)) >= Mod(data$SeedDiff)),ifelse(rep(1.,NROW(data))*(Mod(((data$X1_BlkMean) * 2.0)) >= Mod(data$X1_BlkMean)),((data$X1_BlkMean) * 2.0),data$X1_BlkMean),data$SeedDiff))))))))) +
                  0.100000*tanh(Re(((((data$X1_PointsDiffMean) * 2.0)) - (ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) > Mod(data$X1_PointsDiffMean)),as.complex(1.),as.complex(0.))) <= Mod(((((data$SeedDiff) * 2.0)) - (data$X2_AstMean)))),data$X2_AstMean,as.complex(0)))))) +
                  0.100000*tanh(Re(((as.complex(10.0)) - (sinh((sqrt((((ifelse(rep(1.,NROW(data))*(Mod(((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(as.complex(9.500000))),data$SeedDiff,as.complex(9.500000))) - (data$SeedDiff))) >= Mod(data$SeedDiff)),((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(as.complex(9.500000))),data$SeedDiff,as.complex(9.500000))) - (data$SeedDiff)),data$SeedDiff)) - (data$quality_march_T2)))))))))) +
                  0.100000*tanh(Re(((as.complex(-9.500000)) + ((((-((data$SeedDiff)))) + (((((data$X1_PointsDiffMean) + (ifelse(rep(1.,NROW(data))*(Mod(as.complex(-9.500000)) > Mod(data$SeedDiff)),as.complex(1.),as.complex(0.))))) + (as.complex(-9.500000))))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((data$quality_march_T1) - (((((data$X2_PointsDiffMean) - (ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(ifelse(rep(1.,NROW(data))*(Mod(as.complex(-2.0)) <= Mod(data$SeedDiff)),as.complex(-2.0),data$SeedDiff))),data$X2_PointsMean,as.complex(0))))) / 2.0)))) >= Mod(data$X1_BlkMean)),((data$quality_march_T1) - (((((data$X2_PointsDiffMean) - (ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(ifelse(rep(1.,NROW(data))*(Mod(as.complex(-2.0)) <= Mod(data$SeedDiff)),as.complex(-2.0),data$SeedDiff))),data$X2_PointsMean,as.complex(0))))) / 2.0))),data$X1_BlkMean))) +
                  0.100000*tanh(Re(((as.complex(9.500000)) * ((((((((sin(((((data$X1_OppFgaMean) + (data$quality_march_T2))/2.0)))) * (as.complex(9.500000)))) - (data$SeedDiff))) + (((as.complex(54.191177)) - (data$X1_OppFgaMean))))/2.0))))))
}

.gpComplexX<-function(data){
  predictions<-(0.100000*tanh(Re((-((((data$SeedDiff) * (ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(as.complex(1.209112)) > Mod(((data$quality_march_T1) * (data$quality_march_T1)))),data$quality_march_T1,as.complex(0))) <= Mod(data$SeedDiff)),as.complex(78.313095),as.complex(0))))))))) +
                  0.100000*tanh(Re(((((data$X1_FgaMin) * (ifelse(rep(1.,NROW(data))*(Mod(as.complex(58.066128)) > Mod(data$X1_FgaMean)),as.complex(1.),as.complex(0.))))) - (ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(data$quality_march_T2)),data$X1_FgaMean,as.complex(0))) >= Mod(((as.complex(58.066128)) * (data$SeedDiff)))),ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) > Mod(data$quality_march_T2)),data$X1_FgaMean,as.complex(0)),((as.complex(58.066128)) * (data$SeedDiff))))))) +
                  0.100000*tanh(Re(((((((((sinh((((sin((((data$X2_FgaMedian) * 2.0)))) - (data$SeedDiff))))) * 2.0)) + (((sin((sin((data$X2_FgaMedian))))) * 2.0)))) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) >= Mod((((((((as.complex(7.096970)) + (ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(as.complex(0.0))),as.complex(1.),as.complex(0.))))/2.0)) - (data$X2_BlkMean))) - (data$Seed1)))),data$Seed2,(((((((as.complex(7.096970)) + (ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T1) <= Mod(as.complex(0.0))),as.complex(1.),as.complex(0.))))/2.0)) - (data$X2_BlkMean))) - (data$Seed1)))) * 2.0))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(data$quality_march_T1)),data$quality_march_T2,as.complex(0)))),data$SeedDiff,ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(data$quality_march_T1)),data$quality_march_T2,as.complex(0)))) >= Mod(sin((as.complex(-3.0))))),ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(data$quality_march_T1)),data$quality_march_T2,as.complex(0)))),data$SeedDiff,ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(data$quality_march_T1)),data$quality_march_T2,as.complex(0))),sin((as.complex(-3.0))))) * (((((data$quality_march_T2) * 2.0)) - (data$X2_FgaMin)))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X2_BlkMean) >= Mod(data$Seed1)),data$X2_BlkMean,data$Seed1)) <= Mod(data$Seed2)),data$X1_OppFgaMean,as.complex(0))) + ((-((data$Seed1)))))) >= Mod((-((as.complex(-3.0)))))),((ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X2_BlkMean) >= Mod(data$Seed1)),data$X2_BlkMean,data$Seed1)) <= Mod(data$Seed2)),data$X1_OppFgaMean,as.complex(0))) + ((-((data$Seed1))))),(-((as.complex(-3.0))))))) +
                  0.100000*tanh(Re(((as.complex(-3.0)) * (((((((((data$SeedDiff) * (data$X2_AstMean))) + (((((data$SeedDiff) * 2.0)) * 2.0)))/2.0)) + (((cos((data$X2_PointsDiffMean))) * (data$X1_PointsDiffMean))))/2.0))))) +
                  0.100000*tanh(Re(((data$X2_FgaMax) - (((((((((((data$SeedDiff) * (as.complex(44.500000)))) + (data$X1_FgaMean))/2.0)) + ((-((((data$SeedDiff) * 2.0))))))/2.0)) + (data$X1_FgaMean)))))) +
                  0.100000*tanh(Re(((((((((data$X2_WinRatio14d) - (sinh((data$SeedDiff))))) - (data$SeedDiff))) - (sin((data$SeedDiff))))) - (sinh((((data$X2_PointsDiffMean) - (data$X1_PointsDiffMean)))))))) +
                  0.100000*tanh(Re(((as.complex(-9.500000)) * (((((data$SeedDiff) * 2.0)) - (ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) > Mod(((ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsDiffMean) <= Mod(data$X1_PointsDiffMean)),as.complex(-3.0),as.complex(0))) * 2.0))),cos((data$X1_PointsDiffMean)),as.complex(0)))))))) +
                  0.100000*tanh(Re(((((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) <= Mod(((cos((data$X1_FgaMean))) - (as.complex(-1.0))))),((data$X2_PointsMean) - (data$X1_PointsMean)),as.complex(0))) - (data$SeedDiff))) - (data$SeedDiff)))) +
                  0.100000*tanh(Re(((sinh((((sinh((((sinh((sin((data$X1_PointsMedian))))) - (ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsMean) <= Mod(data$X1_PointsMedian)),as.complex(1.),as.complex(0.))))))) - (data$SeedDiff))))) - (((data$SeedDiff) * 2.0))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(cos((data$X1_AstMean))) >= Mod((-((ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) * 2.0)) >= Mod(sin((data$X1_AstMean)))),((data$SeedDiff) * 2.0),sin((data$X1_AstMean)))) >= Mod(sin((data$X1_FgaMedian)))),ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) * 2.0)) >= Mod(sin((data$X1_AstMean)))),((data$SeedDiff) * 2.0),sin((data$X1_AstMean))),sin((data$X1_FgaMedian)))))))),cos((data$X1_AstMean)),(-((ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) * 2.0)) >= Mod(sin((data$X1_AstMean)))),((data$SeedDiff) * 2.0),sin((data$X1_AstMean)))) >= Mod(sin((data$X1_FgaMedian)))),ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) * 2.0)) >= Mod(sin((data$X1_AstMean)))),((data$SeedDiff) * 2.0),sin((data$X1_AstMean))),sin((data$X1_FgaMedian))))))))) +
                  0.100000*tanh(Re((((((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(complex(real = 0, imaginary = 1)*Conj(((sqrt((data$X1_BlkMean))) - (data$quality_march_T2))))),data$SeedDiff,complex(real = 0, imaginary = 1)*Conj(((sqrt((data$X1_BlkMean))) - (data$quality_march_T2))))) * (((data$quality_march_T1) - (data$X2_OppFgaMean))))) + (((data$SeedDiff) * 2.0)))/2.0))) +
                  0.100000*tanh(Re(((sin((sqrt((data$X2_PointsDiffMean))))) - (((cos((data$X1_FgaMin))) + (ifelse(rep(1.,NROW(data))*(Mod(((cos((data$X1_FgaMin))) + (data$SeedDiff))) >= Mod(cos((data$X1_FgaMin)))),((cos((data$X1_FgaMin))) + (data$SeedDiff)),cos((data$X1_FgaMin))))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((data$X1_PointsDiffMean) - (data$X1_PointsDiffMean))) >= Mod(((ifelse(rep(1.,NROW(data))*(Mod(((data$quality_march_T1) - (data$Seed1))) >= Mod(data$Seed2)),((data$quality_march_T1) - (data$Seed1)),data$Seed2)) - (((data$X2_PointsDiffMean) - (data$X1_PointsDiffMean)))))),((data$X1_PointsDiffMean) - (data$X1_PointsDiffMean)),((ifelse(rep(1.,NROW(data))*(Mod(((data$quality_march_T1) - (data$Seed1))) >= Mod(data$Seed2)),((data$quality_march_T1) - (data$Seed1)),data$Seed2)) - (((data$X2_PointsDiffMean) - (data$X1_PointsDiffMean))))))) +
                  0.100000*tanh(Re(((((data$Seed2) - (ifelse(rep(1.,NROW(data))*(Mod(((data$Seed2) * (((data$Seed1) - (((data$Seed2) / (as.complex(1.174509)))))))) <= Mod(data$Seed1)),data$Seed1,as.complex(0))))) - (data$Seed1)))) +
                  0.100000*tanh(Re((((((((((((-((((data$SeedDiff) - ((-((((data$SeedDiff) - (((data$quality_march_T2) - (data$quality_march_T1))))))))))))) * 2.0)) * 2.0)) * 2.0)) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(((((sinh((((((((((cos((data$X2_FgaMin))) * 2.0)) * 2.0)) - (data$SeedDiff))) * 2.0)))) - (data$SeedDiff))) * (data$X2_FgaMin)))) +
                  0.100000*tanh(Re(((((sinh((((data$Seed2) - (((((data$SeedDiff) - (sin((sin((sin((data$X1_FgaMedian))))))))) - (sin((data$X1_BlkMean))))))))) * 2.0)) * 2.0))) +
                  0.100000*tanh(Re(((((((cos((data$X1_FgaMax))) * 2.0)) - (data$SeedDiff))) + (((((ifelse(rep(1.,NROW(data))*(Mod(data$quality_march_T2) <= Mod(as.complex(1.174509))),as.complex(1.),as.complex(0.))) + (cos((((data$X1_FgaMin) * 2.0)))))) * 2.0))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) <= Mod(data$SeedDiff)),data$Seed2,data$SeedDiff)) >= Mod(((cos((as.complex(1.174509)))) - (ifelse(rep(1.,NROW(data))*(Mod(((data$Seed2) / 2.0)) >= Mod(data$SeedDiff)),((data$Seed2) / 2.0),data$SeedDiff))))),ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) <= Mod(data$SeedDiff)),data$Seed2,data$SeedDiff),((cos((as.complex(1.174509)))) - (ifelse(rep(1.,NROW(data))*(Mod(((data$Seed2) / 2.0)) >= Mod(data$SeedDiff)),((data$Seed2) / 2.0),data$SeedDiff))))) - (data$quality_march_T1)))) +
                  0.100000*tanh(Re(((((((cos((as.complex(10.500000)))) * (data$SeedDiff))) - (sin((((data$X1_PointsMean) / (as.complex(1.174509)))))))) - (sin((((data$X1_PointsMean) * (as.complex(1.174509))))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(as.complex(12.678505)) >= Mod(sinh((ifelse(rep(1.,NROW(data))*(Mod(((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean))) >= Mod((-((((data$SeedDiff) / 2.0)))))),((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean)),(-((((data$SeedDiff) / 2.0))))))),((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean)),ifelse(rep(1.,NROW(data))*(Mod(((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean))) >= Mod((-((((data$SeedDiff) / 2.0)))))),((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean)),(-((((data$SeedDiff) / 2.0)))))))))),as.complex(12.678505),sinh((ifelse(rep(1.,NROW(data))*(Mod(((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean))) >= Mod((-((((data$SeedDiff) / 2.0)))))),((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean)),(-((((data$SeedDiff) / 2.0))))))),((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean)),ifelse(rep(1.,NROW(data))*(Mod(((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean))) >= Mod((-((((data$SeedDiff) / 2.0)))))),((data$X1_PointsDiffMean) - (data$X2_PointsDiffMean)),(-((((data$SeedDiff) / 2.0))))))))))) +
                  0.100000*tanh(Re((-((((((data$SeedDiff) - ((-(((((as.complex(1.174509)) + (data$Seed2))/2.0))))))) * (((data$SeedDiff) * ((((data$SeedDiff) + (as.complex(-3.0)))/2.0)))))))))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(as.complex(14.984375)) >= Mod((((-((data$Seed2)))) - (complex(real = 0, imaginary = 1)*Conj(data$X1_PointsDiffMean))))),as.complex(14.984375),(((-((data$Seed2)))) - (complex(real = 0, imaginary = 1)*Conj(data$X1_PointsDiffMean))))) * ((-((as.complex(15.031250)))))))) +
                  0.100000*tanh(Re(((tanh((ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) >= Mod((((-(((-((data$X1_PointsDiffMean))))))) - (as.complex(15.632351))))),data$Seed2,(((-(((-((data$X1_PointsDiffMean))))))) - (as.complex(15.632351))))))) - (ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) / 2.0)) >= Mod((-((data$Seed2))))),((data$SeedDiff) / 2.0),(-((data$Seed2)))))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((data$Seed2) - (as.complex(3.0)))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod((((-((((data$SeedDiff) + (as.complex(14.500000))))))) - (as.complex(2.0)))) >= Mod(data$X1_PointsDiffMean)),(((-((((data$SeedDiff) + (as.complex(14.500000))))))) - (as.complex(2.0))),data$X1_PointsDiffMean))),((data$Seed2) - (as.complex(3.0))),ifelse(rep(1.,NROW(data))*(Mod((((-((((data$SeedDiff) + (as.complex(14.500000))))))) - (as.complex(2.0)))) >= Mod(data$X1_PointsDiffMean)),(((-((((data$SeedDiff) + (as.complex(14.500000))))))) - (as.complex(2.0))),data$X1_PointsDiffMean)))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(as.complex(3.0)) <= Mod(((data$Seed2) / (cos((data$X1_FgaMax)))))),as.complex(11.970367),as.complex(0))) - (data$Seed1)))) +
                  0.100000*tanh(Re(((ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) > Mod(((data$SeedDiff) - (data$Seed1)))),((data$X1_PointsDiffMean) - (as.complex(3.0))),as.complex(0))) - (ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(((as.complex(12.137932)) - (data$Seed1)))),data$SeedDiff,((as.complex(12.137932)) - (data$Seed1))))))) +
                  0.100000*tanh(Re((((sqrt((((data$SeedDiff) + (as.complex(15.632351)))))) + (sinh((((as.complex(15.632351)) - (((data$X2_PointsDiffMean) + (data$SeedDiff))))))))/2.0))) +
                  0.100000*tanh(Re((-((ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsDiffMean) >= Mod(data$SeedDiff)),data$X2_PointsDiffMean,data$SeedDiff)) > Mod(data$X1_BlkMean)),ifelse(rep(1.,NROW(data))*(Mod((((as.complex(10.500000)) + (data$X1_BlkMean))/2.0)) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsDiffMean) >= Mod(data$SeedDiff)),data$X2_PointsDiffMean,data$SeedDiff))),(((as.complex(10.500000)) + (data$X1_BlkMean))/2.0),ifelse(rep(1.,NROW(data))*(Mod(data$X2_PointsDiffMean) >= Mod(data$SeedDiff)),data$X2_PointsDiffMean,data$SeedDiff)),as.complex(0))))))) +
                  0.100000*tanh(Re(((data$Seed2) - (ifelse(rep(1.,NROW(data))*(Mod((-((((as.complex(10.500000)) + (data$SeedDiff)))))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) * 2.0)) >= Mod(((as.complex(10.500000)) - (data$SeedDiff)))),((data$SeedDiff) * 2.0),((as.complex(10.500000)) - (data$SeedDiff))))),(-((((as.complex(10.500000)) + (data$SeedDiff))))),ifelse(rep(1.,NROW(data))*(Mod(((data$SeedDiff) * 2.0)) >= Mod(((as.complex(10.500000)) - (data$SeedDiff)))),((data$SeedDiff) * 2.0),((as.complex(10.500000)) - (data$SeedDiff)))))))) +
                  0.100000*tanh(Re(((((((data$X1_BlkMean) + (sinh(((((((-((data$X2_PointsDiffMean)))) + (((data$X1_BlkMean) * 2.0)))) * 2.0)))))) - (data$X2_PointsDiffMean))) + (((data$X1_BlkMean) * 2.0))))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(data$X1_PointsDiffMean) >= Mod(ifelse(rep(1.,NROW(data))*(Mod((-((data$SeedDiff)))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod((-((data$X2_PointsDiffMean)))) >= Mod(as.complex(12.137932))),(-((data$X2_PointsDiffMean))),as.complex(12.137932)))),(-((data$SeedDiff))),ifelse(rep(1.,NROW(data))*(Mod((-((data$X2_PointsDiffMean)))) >= Mod(as.complex(12.137932))),(-((data$X2_PointsDiffMean))),as.complex(12.137932))))),data$X1_PointsDiffMean,ifelse(rep(1.,NROW(data))*(Mod((-((data$SeedDiff)))) >= Mod(ifelse(rep(1.,NROW(data))*(Mod((-((data$X2_PointsDiffMean)))) >= Mod(as.complex(12.137932))),(-((data$X2_PointsDiffMean))),as.complex(12.137932)))),(-((data$SeedDiff))),ifelse(rep(1.,NROW(data))*(Mod((-((data$X2_PointsDiffMean)))) >= Mod(as.complex(12.137932))),(-((data$X2_PointsDiffMean))),as.complex(12.137932)))))) +
                  0.100000*tanh(Re(((data$X1_PointsDiffMean) + ((-((ifelse(rep(1.,NROW(data))*(Mod(data$SeedDiff) >= Mod(ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) > Mod(data$SeedDiff)),ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(as.complex(12.817097)) >= Mod(data$X2_PointsDiffMean)),as.complex(12.817097),data$X2_PointsDiffMean)) >= Mod((-((data$Seed2))))),ifelse(rep(1.,NROW(data))*(Mod(as.complex(12.817097)) >= Mod(data$X2_PointsDiffMean)),as.complex(12.817097),data$X2_PointsDiffMean),(-((data$Seed2)))),as.complex(0)))),data$SeedDiff,ifelse(rep(1.,NROW(data))*(Mod(data$Seed2) > Mod(data$SeedDiff)),ifelse(rep(1.,NROW(data))*(Mod(ifelse(rep(1.,NROW(data))*(Mod(as.complex(12.817097)) >= Mod(data$X2_PointsDiffMean)),as.complex(12.817097),data$X2_PointsDiffMean)) >= Mod((-((data$Seed2))))),ifelse(rep(1.,NROW(data))*(Mod(as.complex(12.817097)) >= Mod(data$X2_PointsDiffMean)),as.complex(12.817097),data$X2_PointsDiffMean),(-((data$Seed2)))),as.complex(0)))))))))) +
                  0.100000*tanh(Re(((((data$X1_PointsDiffMean) / (sin((sin((ifelse(rep(1.,NROW(data))*(Mod(((data$X1_PointsDiffMean) / (sin((data$X1_PointsDiffMean))))) >= Mod(data$X1_PointsMedian)),((data$X1_PointsDiffMean) / (sin((data$X1_PointsDiffMean)))),data$X1_PointsMedian)))))))) - (data$X2_PointsDiffMean)))) +
                  0.100000*tanh(Re(ifelse(rep(1.,NROW(data))*(Mod(((Conj(((as.complex(9.0)) - (data$SeedDiff)))) - (data$SeedDiff))) > Mod((-((as.complex(10.500000)))))),Conj((((-((data$SeedDiff)))) - (as.complex(10.500000)))),as.complex(0)))) +
                  0.100000*tanh(Re(((((((data$X1_FgaMedian) * (((data$X1_PointsDiffMean) - (((data$X2_AstMean) - (data$X1_PointsDiffMean))))))) - (data$X2_AstMean))) - (((data$X2_AstMean) - (data$X1_PointsDiffMean)))))) +
                  0.100000*tanh(Re(((as.complex(10.0)) - (ifelse(rep(1.,NROW(data))*(Mod(((((cos((data$X2_FgaMax))) + (as.complex(11.970367)))) * (cos((data$X2_FgaMax))))) >= Mod(data$SeedDiff)),((((cos((data$X2_FgaMax))) + (as.complex(11.970367)))) * (cos((data$X2_FgaMax)))),data$SeedDiff))))))
}

gpComplex<-function(data,n){
  if(n==1){
    predictions<-.gpComplexI(data)
  }
  else if(n==2){
    predictions<-.gpComplexII(data)
  }
  else if(n==3){
    predictions<-.gpComplexIII(data)
  }
  else if(n==4){
    predictions<-.gpComplexIV(data)
  }
  else if(n==5){
    predictions<-.gpComplexV(data)
  }
  else if(n==6){
    predictions<-.gpComplexVI(data)
  }
  else if(n==7){
    predictions<-.gpComplexVII(data)
  }
  else if(n==8){
    predictions<-.gpComplexVIII(data)
  }
  else if(n==9){
    predictions<-.gpComplexIX(data)
  }
  else if(n==10){
    predictions<-.gpComplexX(data)
  }
  else{
    predictions<-(.gpComplexI(data)+.gpComplexII(data)+.gpComplexIII(data)+.gpComplexIV(data)+.gpComplexV(data)+.gpComplexVI(data)+.gpComplexVII(data)+.gpComplexVIII(data)+.gpComplexIX(data)+.gpComplexX(data))/10
  }
  
}

data_matrix$ResultDiff = sqrt(abs(data_matrix$ResultDiff)+1)*sign(data_matrix$ResultDiff)
smooth_model = list()
noOfFolds <- 10
oof<-rep(0, nrow(data_matrix))
folds<-KFold((data_matrix$ResultDiff>.0)*1, nfolds = noOfFolds, stratified = TRUE, seed = 0)

for(fld in 1:noOfFolds){
  print(paste0("Fold: ",fld))
  val<-subset(data_matrix, kfix %in% unlist(folds[fld]))[,allfeatures]
  vis<-subset(data_matrix, !(kfix %in% unlist(folds[fld])))[,allfeatures]
  p<-gpComplex(val,fld)
  smooth_model[[fld]] =smooth.spline(x = p, y = ifelse(val$ResultDiff > 0, 1, 0))
  clp<-predict(smooth_model[[fld]],p)$y
  clp<-pmax( 0.025, pmin( clp, 0.975))
  oof[ unlist(folds[fld])]<-clp
  print(paste0("Smooth ", fld, " ", logLoss((val$ResultDiff>0)*1,clp )))
}
print(paste0("Smooth ",logLoss((data_matrix$ResultDiff>0)*1,oof )))

### Run predictions
sub$Season = as.numeric(substring(sub$ID,1,4))#2020
sub$T1 = as.numeric(substring(sub$ID,6,9))
sub$T2 = as.numeric(substring(sub$ID,11,14))

Z = sub %>% 
  left_join(season_summary_X1, by = c("Season", "T1")) %>% 
  left_join(season_summary_X2, by = c("Season", "T2")) %>%
  left_join(select(seeds, Season, T1 = TeamID, Seed1 = Seed), by = c("Season", "T1")) %>% 
  left_join(select(seeds, Season, T2 = TeamID, Seed2 = Seed), by = c("Season", "T2")) %>% 
  mutate(SeedDiff = Seed1 - Seed2) %>%
  left_join(select(quality, Season, T1 = Team_Id, quality_march_T1 = quality), by = c("Season", "T1")) %>%
  left_join(select(quality, Season, T2 = Team_Id, quality_march_T2 = quality), by = c("Season", "T2"))
nrow(Z)
test_matrix<-Z[,features]
test_matrix<-test_matrix %>% mutate_all(~ifelse(is.na(.), -999, .))
test_matrix[,features] <- lapply(test_matrix[,features], function(x) as.complex((x)))
test_matrix[test_matrix==complex(real = -999, imaginary = 0)] = complex(real = 0, imaginary = 1)
predCols = list()
for(fld in 1:noOfFolds)
{
  p<-gpComplex(test_matrix,fld)
  clp<-predict(smooth_model[[fld]],p)$y
  clp<-pmax( 0.025, pmin( clp, 0.975))
  nm = paste0("predictions",fld)
  test_matrix[,nm]<-clp
  predCols[fld] = nm
}
predCols<-unlist(predCols)
Z$Pred<-rowMeans(test_matrix[,predCols])
write.csv(select(Z, ID, Pred), "gpsubmission_stage_1.csv", quote=F,row.names = FALSE)