text: /*************************************
  This program can be used to evaluate a jboost-trained classifier on new data.  
  The code contains a single procedure:
    double predict(void **attr, double *ret)
  The first argument attr is an array of pointers corresponding to the
  attributes specified in the spec file.  Thus, if attribute i is text,
  then attr[i] must be a char array; if attribute i is a number, then
  *attr[i] must be a double; and if attribute i is finite, then *attr[i]
  must be an int containing the index of the chosen value.  An undefined
  attribute is indicated by setting attr[i] to NULL.
  Specifically, these pointers are:
       index    attr.type    data.type   name
     ------------------------------------------
          0     number       double      H
          1     number       double      S
          2     number       double      V
  The second argument ret is a pointer to an array of k doubles, where k
  is the number of classes.  The scores for each of the k classes will
  be stored in this array.  If ret is NULL, then no scores are stored.
  In any case, predict returns the score for class 0 (=ret[0]).
  These scores correspond to the classes as follows:
              index       class name
             ------------------------
                 0        non-pipe
                 1        pipe
  This classifier was automatically generated by jboost on
  Tue Feb 16 14:24:09 PST 2010.
  *************************************/
  double predict_pipe(void **attr, double *r) {
    int i, j, h, a;
    HashTableEntry_t *entry;
    char *s;
    static char **words = NULL;
    static int max_word_list_size = 0;
    int num_words;
    static char *buffer = NULL;
    static int buffer_size = 0;
    char **pat;
    Prediction_t p;
    if (!hash_table) {
      hash_table = (HashTableEntry_t **)
        malloc(hash_table_size * sizeof(HashTableEntry_t *));
      for (i = 0; i < hash_table_size; i++)
        hash_table[i] = NULL;
      for (i = 0; i < num_keys; i++) {
        h = hash(keys[i]);
        entry = (HashTableEntry_t *) malloc(sizeof(HashTableEntry_t));
        entry->key = keys[i];
        entry->id = i;
        entry->next = hash_table[h];
        hash_table[h] = entry;
      }
      for (i = 0; i < num_text_attr; i++)
        tokens[text_attr[i]] = (char *) malloc(num_keys * sizeof(char));
    }
    for (i = 0; i < num_text_attr; i++) {
      a = text_attr[i];
      if (!defined_attr(a))
        continue;
      for (j = 0; j < num_keys; j++)
        tokens[a][j] = 0;
      while ((int)strlcpy(buffer, (char*)attr[a], buffer_size) >= buffer_size) {
        buffer_size = 2 * strlen((char*)attr[a]);
        buffer = (char *) realloc(buffer, (buffer_size+1) * sizeof(char));
      }
      num_words = 0;
      for (s = strtok(buffer, WHITE_CHARS); s; s = strtok(NULL, WHITE_CHARS)) {
        if (num_words >= max_word_list_size) {
          max_word_list_size = 2 * max_word_list_size + 1;
          words = (char **) realloc(words, max_word_list_size * sizeof(char *));
        }
        words[num_words++] = s;
      }
      for (pat = text_patterns[i]; *pat; pat++) {
        set_pattern(num_words, words, *pat);
        while (more_tokens()) {
          s = next_token();
          for (entry = hash_table[hash(s)]; entry; entry = entry->next)
            if (!strcmp(entry->key, s)) {
              tokens[a][entry->id] = 1;
              break;
            }
          }
        }
    }
    reset_pred();
    add_pred(   /* R */
               -1.2024343880847426);
    if (defined_attr(0)) {  /* R.0 */
      if (double_attr(0) <= 90.5) {
        add_pred(   /* R.0:0 */
                   -2.063551230974215);
        if (defined_attr(2)) {  /* R.0:0.0 */
          if (double_attr(2) <= 143.5) {
            add_pred(   /* R.0:0.0:0 */
                       -3.65897842483005);
          } else {
            add_pred(   /* R.0:0.0:1 */
                       -0.3063377147016328);
            if (defined_attr(2)) {  /* R.0:0.0:1.0 */
              if (double_attr(2) <= 214.5) {
                add_pred(   /* R.0:0.0:1.0:0 */
                           0.055182222104327126);
                if (defined_attr(2)) {  /* R.0:0.0:1.0:0.0 */
                  if (double_attr(2) <= 157.5) {
                    add_pred(   /* R.0:0.0:1.0:0.0:0 */
                               -0.14113840966896343);
                    if (defined_attr(1)) {  /* R.0:0.0:1.0:0.0:0.0 */
                      if (double_attr(1) <= 55.5) {
                        add_pred(   /* R.0:0.0:1.0:0.0:0.0:0 */
                                   0.11684486424297529);
                      } else {
                        add_pred(   /* R.0:0.0:1.0:0.0:0.0:1 */
                                   -0.4143229783458386);
                        if (defined_attr(2)) {  /* R.0:0.0:1.0:0.0:0.0:1.0 */
                          if (double_attr(2) <= 149.5) {
                            add_pred(   /* R.0:0.0:1.0:0.0:0.0:1.0:0 */
                                       -0.895868379937167);
                          } else {
                            add_pred(   /* R.0:0.0:1.0:0.0:0.0:1.0:1 */
                                       -0.07805396285667009);
                          }
                        }
                      }
                    }
                  } else {
                    add_pred(   /* R.0:0.0:1.0:0.0:1 */
                               0.14111123817726864);
                  }
                }
              } else {
                add_pred(   /* R.0:0.0:1.0:1 */
                           -1.5301444177189298);
              }
            }
            if (defined_attr(0)) {  /* R.0:0.0:1.1 */
              if (double_attr(0) <= 50.5) {
                add_pred(   /* R.0:0.0:1.1:0 */
                           0.0954622492031951);
                if (defined_attr(1)) {  /* R.0:0.0:1.1:0.0 */
                  if (double_attr(1) <= 91.5) {
                    add_pred(   /* R.0:0.0:1.1:0.0:0 */
                               0.08543856224175579);
                    if (defined_attr(0)) {  /* R.0:0.0:1.1:0.0:0.0 */
                      if (double_attr(0) <= 24.5) {
                        add_pred(   /* R.0:0.0:1.1:0.0:0.0:0 */
                                   -0.18871531612434572);
                      } else {
                        add_pred(   /* R.0:0.0:1.1:0.0:0.0:1 */
                                   0.32575266588449286);
                        if (defined_attr(2)) {  /* R.0:0.0:1.1:0.0:0.0:1.0 */
                          if (double_attr(2) <= 168.5) {
                            add_pred(   /* R.0:0.0:1.1:0.0:0.0:1.0:0 */
                                       0.4397557708103669);
                            if (defined_attr(1)) {  /* R.0:0.0:1.1:0.0:0.0:1.0:0.0 */
                              if (double_attr(1) <= 72.5) {
                                add_pred(   /* R.0:0.0:1.1:0.0:0.0:1.0:0.0:0 */
                                           0.17755123858607297);
                                if (defined_attr(0)) {  /* R.0:0.0:1.1:0.0:0.0:1.0:0.0:0.0 */
                                  if (double_attr(0) <= 29.5) {
                                    add_pred(   /* R.0:0.0:1.1:0.0:0.0:1.0:0.0:0.0:0 */
                                               0.1543776611417081);
                                    if (defined_attr(1)) {  /* R.0:0.0:1.1:0.0:0.0:1.0:0.0:0.0:0.0 */
                                      if (double_attr(1) <= 60.5) {
                                        add_pred(   /* R.0:0.0:1.1:0.0:0.0:1.0:0.0:0.0:0.0:0 */
                                                   0.18374041432925511);
                                      } else {
                                        add_pred(   /* R.0:0.0:1.1:0.0:0.0:1.0:0.0:0.0:0.0:1 */
                                                   -0.7900920704020934);
                                      }
                                    }
                                  } else {
                                    add_pred(   /* R.0:0.0:1.1:0.0:0.0:1.0:0.0:0.0:1 */
                                               -1.363204222230465);
                                  }
                                }
                              } else {
                                add_pred(   /* R.0:0.0:1.1:0.0:0.0:1.0:0.0:1 */
                                           1.4275723513223517);
                              }
                            }
                          } else {
                            add_pred(   /* R.0:0.0:1.1:0.0:0.0:1.0:1 */
                                       0.04593400351171492);
                          }
                        }
                      }
                    }
                  } else {
                    add_pred(   /* R.0:0.0:1.1:0.0:1 */
                               -2.382366792439218);
                  }
                }
              } else {
                add_pred(   /* R.0:0.0:1.1:1 */
                           -1.506175794360697);
                if (defined_attr(0)) {  /* R.0:0.0:1.1:1.0 */
                  if (double_attr(0) <= 85.5) {
                    add_pred(   /* R.0:0.0:1.1:1.0:0 */
                               -1.808623592436538);
                  } else {
                    add_pred(   /* R.0:0.0:1.1:1.0:1 */
                               -0.3432840678748511);
                  }
                }
              }
            }
          }
        }
        if (defined_attr(1)) {  /* R.0:0.1 */
          if (double_attr(1) <= 46.5) {
            add_pred(   /* R.0:0.1:0 */
                       -1.3657256286915993);
            if (defined_attr(1)) {  /* R.0:0.1:0.0 */
              if (double_attr(1) <= 4.5) {
                add_pred(   /* R.0:0.1:0.0:0 */
                           0.380939983715086);
                if (defined_attr(2)) {  /* R.0:0.1:0.0:0.0 */
                  if (double_attr(2) <= 216.5) {
                    add_pred(   /* R.0:0.1:0.0:0.0:0 */
                               0.9495217748789676);
                  } else {
                    add_pred(   /* R.0:0.1:0.0:0.0:1 */
                               -1.7825801850871856);
                  }
                }
                if (defined_attr(2)) {  /* R.0:0.1:0.0:0.1 */
                  if (double_attr(2) <= 211.5) {
                    add_pred(   /* R.0:0.1:0.0:0.1:0 */
                               1.0383301713628477);
                    if (defined_attr(2)) {  /* R.0:0.1:0.0:0.1:0.0 */
                      if (double_attr(2) <= 205.5) {
                        add_pred(   /* R.0:0.1:0.0:0.1:0.0:0 */
                                   -1.6088126320065095);
                      } else {
                        add_pred(   /* R.0:0.1:0.0:0.1:0.0:1 */
                                   0.6674034223952579);
                        if (defined_attr(0)) {  /* R.0:0.1:0.0:0.1:0.0:1.0 */
                          if (double_attr(0) <= 57.5) {
                            add_pred(   /* R.0:0.1:0.0:0.1:0.0:1.0:0 */
                                       0.39226494102563075);
                          } else {
                            add_pred(   /* R.0:0.1:0.0:0.1:0.0:1.0:1 */
                                       -1.059734355475258);
                          }
                        }
                      }
                    }
                  } else {
                    add_pred(   /* R.0:0.1:0.0:0.1:1 */
                               -0.052106622893204564);
                  }
                }
              } else {
                add_pred(   /* R.0:0.1:0.0:1 */
                           -1.432230853659993);
                if (defined_attr(1)) {  /* R.0:0.1:0.0:1.0 */
                  if (double_attr(1) <= 42.5) {
                    add_pred(   /* R.0:0.1:0.0:1.0:0 */
                               -2.0579965306364785);
                    if (defined_attr(0)) {  /* R.0:0.1:0.0:1.0:0.0 */
                      if (double_attr(0) <= 84.5) {
                        add_pred(   /* R.0:0.1:0.0:1.0:0.0:0 */
                                   -1.9399621109652099);
                      } else {
                        add_pred(   /* R.0:0.1:0.0:1.0:0.0:1 */
                                   0.7015447443497055);
                      }
                    }
                  } else {
                    add_pred(   /* R.0:0.1:0.0:1.0:1 */
                               0.5512599991267134);
                    if (defined_attr(0)) {  /* R.0:0.1:0.0:1.0:1.0 */
                      if (double_attr(0) <= 23.5) {
                        add_pred(   /* R.0:0.1:0.0:1.0:1.0:0 */
                                   -1.679930412076011);
                      } else {
                        add_pred(   /* R.0:0.1:0.0:1.0:1.0:1 */
                                   1.0627887597242487);
                        if (defined_attr(0)) {  /* R.0:0.1:0.0:1.0:1.0:1.0 */
                          if (double_attr(0) <= 29.5) {
                            add_pred(   /* R.0:0.1:0.0:1.0:1.0:1.0:0 */
                                       1.0013967329790752);
                            if (defined_attr(0)) {  /* R.0:0.1:0.0:1.0:1.0:1.0:0.0 */
                              if (double_attr(0) <= 28.5) {
                                add_pred(   /* R.0:0.1:0.0:1.0:1.0:1.0:0.0:0 */
                                           -0.018236735831592212);
                              } else {
                                add_pred(   /* R.0:0.1:0.0:1.0:1.0:1.0:0.0:1 */
                                           1.0830837146218613);
                              }
                            }
                          } else {
                            add_pred(   /* R.0:0.1:0.0:1.0:1.0:1.0:1 */
                                       -0.7069615810170722);
                          }
                        }
                      }
                    }
                  }
                }
                if (defined_attr(2)) {  /* R.0:0.1:0.0:1.1 */
                  if (double_attr(2) <= 168.5) {
                    add_pred(   /* R.0:0.1:0.0:1.1:0 */
                               0.7292170344518416);
                  } else {
                    add_pred(   /* R.0:0.1:0.0:1.1:1 */
                               -1.3938589911554546);
                  }
                }
              }
            }
          } else {
            add_pred(   /* R.0:0.1:1 */
                       0.4360315064323309);
            if (defined_attr(1)) {  /* R.0:0.1:1.0 */
              if (double_attr(1) <= 91.5) {
                add_pred(   /* R.0:0.1:1.0:0 */
                           0.605570641818806);
                if (defined_attr(0)) {  /* R.0:0.1:1.0:0.0 */
                  if (double_attr(0) <= 17.5) {
                    add_pred(   /* R.0:0.1:1.0:0.0:0 */
                               -3.7275291953199896);
                  } else {
                    add_pred(   /* R.0:0.1:1.0:0.0:1 */
                               0.5883556345209431);
                    if (defined_attr(0)) {  /* R.0:0.1:1.0:0.0:1.0 */
                      if (double_attr(0) <= 50.5) {
                        add_pred(   /* R.0:0.1:1.0:0.0:1.0:0 */
                                   0.685979735698407);
                        if (defined_attr(0)) {  /* R.0:0.1:1.0:0.0:1.0:0.0 */
                          if (double_attr(0) <= 35.5) {
                            add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.0:0 */
                                       -0.3386220431142876);
                            if (defined_attr(2)) {  /* R.0:0.1:1.0:0.0:1.0:0.0:0.0 */
                              if (double_attr(2) <= 183.5) {
                                add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.0:0.0:0 */
                                           0.4195940550728037);
                              } else {
                                add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.0:0.0:1 */
                                           -2.6668021088060043);
                                if (defined_attr(0)) {  /* R.0:0.1:1.0:0.0:1.0:0.0:0.0:1.0 */
                                  if (double_attr(0) <= 33.5) {
                                    add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.0:0.0:1.0:0 */
                                               -2.1375449637208357);
                                  } else {
                                    add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.0:0.0:1.0:1 */
                                               0.2972217842208068);
                                  }
                                }
                              }
                            }
                          } else {
                            add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.0:1 */
                                       1.96218313491786);
                            if (defined_attr(2)) {  /* R.0:0.1:1.0:0.0:1.0:0.0:1.0 */
                              if (double_attr(2) <= 189.5) {
                                add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.0:1.0:0 */
                                           0.3592583671358704);
                                if (defined_attr(1)) {  /* R.0:0.1:1.0:0.0:1.0:0.0:1.0:0.0 */
                                  if (double_attr(1) <= 59.5) {
                                    add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.0:1.0:0.0:0 */
                                               -5.14214973329125);
                                  } else {
                                    add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.0:1.0:0.0:1 */
                                               1.5906756507327837);
                                  }
                                }
                              } else {
                                add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.0:1.0:1 */
                                           2.4488668680177854);
                                if (defined_attr(1)) {  /* R.0:0.1:1.0:0.0:1.0:0.0:1.0:1.0 */
                                  if (double_attr(1) <= 48.5) {
                                    add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.0:1.0:1.0:0 */
                                               -0.8626262510251721);
                                  } else {
                                    add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.0:1.0:1.0:1 */
                                               2.2823026386332783);
                                  }
                                }
                                if (defined_attr(0)) {  /* R.0:0.1:1.0:0.0:1.0:0.0:1.0:1.1 */
                                  if (double_attr(0) <= 42.5) {
                                    add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.0:1.0:1.1:0 */
                                               -0.7697799695796155);
                                  } else {
                                    add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.0:1.0:1.1:1 */
                                               1.3892155254457301);
                                  }
                                }
                              }
                            }
                          }
                        }
                        if (defined_attr(2)) {  /* R.0:0.1:1.0:0.0:1.0:0.1 */
                          if (double_attr(2) <= 135.5) {
                            add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:0 */
                                       -2.9202946736485416);
                          } else {
                            add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1 */
                                       0.310914193582836);
                            if (defined_attr(0)) {  /* R.0:0.1:1.0:0.0:1.0:0.1:1.0 */
                              if (double_attr(0) <= 20.5) {
                                add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.0:0 */
                                           -0.8482927177384645);
                                if (defined_attr(1)) {  /* R.0:0.1:1.0:0.0:1.0:0.1:1.0:0.0 */
                                  if (double_attr(1) <= 51.5) {
                                    add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.0:0.0:0 */
                                               -2.392311411412397);
                                  } else {
                                    add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.0:0.0:1 */
                                               -0.31375482380361364);
                                  }
                                }
                              } else {
                                add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.0:1 */
                                           0.35027262906508866);
                              }
                            }
                            if (defined_attr(1)) {  /* R.0:0.1:1.0:0.0:1.0:0.1:1.1 */
                              if (double_attr(1) <= 65.5) {
                                add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0 */
                                           -0.06313527308342566);
                                if (defined_attr(0)) {  /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0 */
                                  if (double_attr(0) <= 29.5) {
                                    add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0 */
                                               0.007055818902598004);
                                    if (defined_attr(2)) {  /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.0 */
                                      if (double_attr(2) <= 179.5) {
                                        add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.0:0 */
                                                   0.044569626210023736);
                                      } else {
                                        add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.0:1 */
                                                   -2.071444792311394);
                                      }
                                    }
                                    if (defined_attr(0)) {  /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.1 */
                                      if (double_attr(0) <= 21.5) {
                                        add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.1:0 */
                                                   -0.3549007139751);
                                        if (defined_attr(1)) {  /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.1:0.0 */
                                          if (double_attr(1) <= 61.5) {
                                            add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.1:0.0:0 */
                                                       -0.4016912336739694);
                                            if (defined_attr(2)) {  /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.1:0.0:0.0 */
                                              if (double_attr(2) <= 166.5) {
                                                add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.1:0.0:0.0:0 */
                                                           0.050394399412046646);
                                              } else {
                                                add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.1:0.0:0.0:1 */
                                                           -2.0063180466868182);
                                              }
                                            }
                                          } else {
                                            add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.1:0.0:1 */
                                                       0.32580957908904057);
                                            if (defined_attr(2)) {  /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.1:0.0:1.0 */
                                              if (double_attr(2) <= 169.5) {
                                                add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.1:0.0:1.0:0 */
                                                           -0.46653713370471456);
                                              } else {
                                                add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.1:0.0:1.0:1 */
                                                           1.3508584204471172);
                                                if (defined_attr(0)) {  /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.1:0.0:1.0:1.0 */
                                                  if (double_attr(0) <= 20.5) {
                                                    add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.1:0.0:1.0:1.0:0 */
                                                               0.1866431116918852);
                                                  } else {
                                                    add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.1:0.0:1.0:1.0:1 */
                                                               1.3535979911476994);
                                                  }
                                                }
                                              }
                                            }
                                          }
                                        }
                                      } else {
                                        add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.1:1 */
                                                   0.12230097740800983);
                                        if (defined_attr(2)) {  /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.1:1.0 */
                                          if (double_attr(2) <= 174.5) {
                                            add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.1:1.0:0 */
                                                       0.04580431177643826);
                                          } else {
                                            add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.1:1.0:1 */
                                                       -0.7956911288930331);
                                            if (defined_attr(1)) {  /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.1:1.0:1.0 */
                                              if (double_attr(1) <= 61.5) {
                                                add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.1:1.0:1.0:0 */
                                                           -1.629075123895317);
                                              } else {
                                                add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:0.1:1.0:1.0:1 */
                                                           0.49305242889180156);
                                              }
                                            }
                                          }
                                        }
                                      }
                                    }
                                  } else {
                                    add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:1 */
                                               -1.1570450621288795);
                                    if (defined_attr(0)) {  /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:1.0 */
                                      if (double_attr(0) <= 36.5) {
                                        add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:1.0:0 */
                                                   -1.970056804689581);
                                      } else {
                                        add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:0.0:1.0:1 */
                                                   0.5669765682287343);
                                      }
                                    }
                                  }
                                }
                              } else {
                                add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:1 */
                                           0.8399592687040474);
                                if (defined_attr(2)) {  /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:1.0 */
                                  if (double_attr(2) <= 209.5) {
                                    add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:1.0:0 */
                                               0.5713390971969936);
                                    if (defined_attr(2)) {  /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:1.0:0.0 */
                                      if (double_attr(2) <= 163.5) {
                                        add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:1.0:0.0:0 */
                                                   -0.3438887626155569);
                                        if (defined_attr(0)) {  /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:1.0:0.0:0.0 */
                                          if (double_attr(0) <= 33.5) {
                                            add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:1.0:0.0:0.0:0 */
                                                       -0.942839906843902);
                                            if (defined_attr(2)) {  /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:1.0:0.0:0.0:0.0 */
                                              if (double_attr(2) <= 160.5) {
                                                add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:1.0:0.0:0.0:0.0:0 */
                                                           -0.9617578699385377);
                                              } else {
                                                add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:1.0:0.0:0.0:0.0:1 */
                                                           0.6688342898828236);
                                              }
                                            }
                                          } else {
                                            add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:1.0:0.0:0.0:1 */
                                                       1.5522629554960852);
                                          }
                                        }
                                      } else {
                                        add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:1.0:0.0:1 */
                                                   0.9643592591374727);
                                        if (defined_attr(1)) {  /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:1.0:0.0:1.0 */
                                          if (double_attr(1) <= 85.0) {
                                            add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:1.0:0.0:1.0:0 */
                                                       0.5767178617207136);
                                            if (defined_attr(2)) {  /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:1.0:0.0:1.0:0.0 */
                                              if (double_attr(2) <= 175.5) {
                                                add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:1.0:0.0:1.0:0.0:0 */
                                                           0.08201910009639368);
                                              } else {
                                                add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:1.0:0.0:1.0:0.0:1 */
                                                           1.3692970051048734);
                                              }
                                            }
                                          } else {
                                            add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:1.0:0.0:1.0:1 */
                                                       -0.9767267830060422);
                                          }
                                        }
                                      }
                                    }
                                  } else {
                                    add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.1:1.0:1 */
                                               -2.2432780994272736);
                                  }
                                }
                              }
                            }
                            if (defined_attr(1)) {  /* R.0:0.1:1.0:0.0:1.0:0.1:1.2 */
                              if (double_attr(1) <= 48.5) {
                                add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.2:0 */
                                           -0.4538748915394635);
                                if (defined_attr(2)) {  /* R.0:0.1:1.0:0.0:1.0:0.1:1.2:0.0 */
                                  if (double_attr(2) <= 167.5) {
                                    add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.2:0.0:0 */
                                               -0.006339301020518957);
                                  } else {
                                    add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.2:0.0:1 */
                                               -1.3299326776396427);
                                    if (defined_attr(2)) {  /* R.0:0.1:1.0:0.0:1.0:0.1:1.2:0.0:1.0 */
                                      if (double_attr(2) <= 223.0) {
                                        add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.2:0.0:1.0:0 */
                                                   -1.390950456747782);
                                      } else {
                                        add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.2:0.0:1.0:1 */
                                                   0.8632759788043107);
                                      }
                                    }
                                  }
                                }
                              } else {
                                add_pred(   /* R.0:0.1:1.0:0.0:1.0:0.1:1.2:1 */
                                           0.047460401346907856);
                              }
                            }
                          }
                        }
                      } else {
                        add_pred(   /* R.0:0.1:1.0:0.0:1.0:1 */
                                   -3.032300732670394);
                      }
                    }
                  }
                }
                if (defined_attr(2)) {  /* R.0:0.1:1.0:0.1 */
                  if (double_attr(2) <= 135.5) {
                    add_pred(   /* R.0:0.1:1.0:0.1:0 */
                               -1.7214623054780642);
                  } else {
                    add_pred(   /* R.0:0.1:1.0:0.1:1 */
                               0.004951989639375391);
                    if (defined_attr(0)) {  /* R.0:0.1:1.0:0.1:1.0 */
                      if (double_attr(0) <= 19.5) {
                        add_pred(   /* R.0:0.1:1.0:0.1:1.0:0 */
                                   -0.791491556693736);
                      } else {
                        add_pred(   /* R.0:0.1:1.0:0.1:1.0:1 */
                                   0.04810472264212541);
                      }
                    }
                  }
                }
              } else {
                add_pred(   /* R.0:0.1:1.0:1 */
                           -3.131977314322676);
                if (defined_attr(0)) {  /* R.0:0.1:1.0:1.0 */
                  if (double_attr(0) <= 86.0) {
                    add_pred(   /* R.0:0.1:1.0:1.0:0 */
                               -1.277429232003823);
                  } else {
                    add_pred(   /* R.0:0.1:1.0:1.0:1 */
                               0.8046052667442108);
                  }
                }
              }
            }
            if (defined_attr(0)) {  /* R.0:0.1:1.1 */
              if (double_attr(0) <= 17.5) {
                add_pred(   /* R.0:0.1:1.1:0 */
                           -1.9296685757315917);
              } else {
                add_pred(   /* R.0:0.1:1.1:1 */
                           -0.07745786045594055);
              }
            }
          }
        }
      } else {
        add_pred(   /* R.0:1 */
                   1.1677638513749007);
        if (defined_attr(0)) {  /* R.0:1.0 */
          if (double_attr(0) <= 133.5) {
            add_pred(   /* R.0:1.0:0 */
                       1.3101093819135126);
            if (defined_attr(1)) {  /* R.0:1.0:0.0 */
              if (double_attr(1) <= 41.5) {
                add_pred(   /* R.0:1.0:0.0:0 */
                           -0.5229045844964858);
                if (defined_attr(0)) {  /* R.0:1.0:0.0:0.0 */
                  if (double_attr(0) <= 107.5) {
                    add_pred(   /* R.0:1.0:0.0:0.0:0 */
                               -1.3731428444318348);
                    if (defined_attr(1)) {  /* R.0:1.0:0.0:0.0:0.0 */
                      if (double_attr(1) <= 24.5) {
                        add_pred(   /* R.0:1.0:0.0:0.0:0.0:0 */
                                   -2.15363028891327);
                      } else {
                        add_pred(   /* R.0:1.0:0.0:0.0:0.0:1 */
                                   -0.26325964074550284);
                      }
                    }
                  } else {
                    add_pred(   /* R.0:1.0:0.0:0.0:1 */
                               1.83975989435667);
                  }
                }
                if (defined_attr(0)) {  /* R.0:1.0:0.0:0.1 */
                  if (double_attr(0) <= 96.5) {
                    add_pred(   /* R.0:1.0:0.0:0.1:0 */
                               -2.3600635156820635);
                  } else {
                    add_pred(   /* R.0:1.0:0.0:0.1:1 */
                               0.31284580224410585);
                  }
                }
              } else {
                add_pred(   /* R.0:1.0:0.0:1 */
                           3.3201048685580803);
                if (defined_attr(1)) {  /* R.0:1.0:0.0:1.0 */
                  if (double_attr(1) <= 58.5) {
                    add_pred(   /* R.0:1.0:0.0:1.0:0 */
                               -1.2716661340520636);
                  } else {
                    add_pred(   /* R.0:1.0:0.0:1.0:1 */
                               0.7452585150694391);
                    if (defined_attr(2)) {  /* R.0:1.0:0.0:1.0:1.0 */
                      if (double_attr(2) <= 15.0) {
                        add_pred(   /* R.0:1.0:0.0:1.0:1.0:0 */
                                   -0.8038409207828078);
                      } else {
                        add_pred(   /* R.0:1.0:0.0:1.0:1.0:1 */
                                   1.2115432676014786);
                      }
                    }
                  }
                }
              }
            }
            if (defined_attr(1)) {  /* R.0:1.0:0.1 */
              if (double_attr(1) <= 21.5) {
                add_pred(   /* R.0:1.0:0.1:0 */
                           -1.7338599309652423);
                if (defined_attr(0)) {  /* R.0:1.0:0.1:0.0 */
                  if (double_attr(0) <= 114.5) {
                    add_pred(   /* R.0:1.0:0.1:0.0:0 */
                               -2.222647578220718);
                    if (defined_attr(1)) {  /* R.0:1.0:0.1:0.0:0.0 */
                      if (double_attr(1) <= 18.5) {
                        add_pred(   /* R.0:1.0:0.1:0.0:0.0:0 */
                                   -1.4606129652048154);
                      } else {
                        add_pred(   /* R.0:1.0:0.1:0.0:0.0:1 */
                                   -0.4213827805267561);
                      }
                    }
                  } else {
                    add_pred(   /* R.0:1.0:0.1:0.0:1 */
                               0.8818809214133572);
                  }
                }
              } else {
                add_pred(   /* R.0:1.0:0.1:1 */
                           1.2922849689035847);
              }
            }
            if (defined_attr(1)) {  /* R.0:1.0:0.2 */
              if (double_attr(1) <= 14.5) {
                add_pred(   /* R.0:1.0:0.2:0 */
                           -1.1062137058618882);
              } else {
                add_pred(   /* R.0:1.0:0.2:1 */
                           0.6536281534017612);
                if (defined_attr(0)) {  /* R.0:1.0:0.2:1.0 */
                  if (double_attr(0) <= 99.5) {
                    add_pred(   /* R.0:1.0:0.2:1.0:0 */
                               -0.37078094294736025);
                  } else {
                    add_pred(   /* R.0:1.0:0.2:1.0:1 */
                               0.983232661658511);
                    if (defined_attr(2)) {  /* R.0:1.0:0.2:1.0:1.0 */
                      if (double_attr(2) <= 101.5) {
                        add_pred(   /* R.0:1.0:0.2:1.0:1.0:0 */
                                   -1.1436589875479461);
                      } else {
                        add_pred(   /* R.0:1.0:0.2:1.0:1.0:1 */
                                   1.1495940333800774);
                      }
                    }
                  }
                }
              }
            }
          } else {
            add_pred(   /* R.0:1.0:1 */
                       -1.9707633475333897);
            if (defined_attr(2)) {  /* R.0:1.0:1.0 */
              if (double_attr(2) <= 183.5) {
                add_pred(   /* R.0:1.0:1.0:0 */
                           -2.6718642399052204);
              } else {
                add_pred(   /* R.0:1.0:1.0:1 */
                           0.7767250304963661);
                if (defined_attr(2)) {  /* R.0:1.0:1.0:1.0 */
                  if (double_attr(2) <= 214.5) {
                    add_pred(   /* R.0:1.0:1.0:1.0:0 */
                               1.2973997372535273);
                  } else {
                    add_pred(   /* R.0:1.0:1.0:1.0:1 */
                               -0.6359009460929853);
                  }
                }
              }
            }
            if (defined_attr(0)) {  /* R.0:1.0:1.1 */
              if (double_attr(0) <= 160.5) {
                add_pred(   /* R.0:1.0:1.1:0 */
                           -0.1567608856663703);
              } else {
                add_pred(   /* R.0:1.0:1.1:1 */
                           -1.6640233758118226);
              }
            }
          }
        }
        if (defined_attr(0)) {  /* R.0:1.1 */
          if (double_attr(0) <= 160.5) {
            add_pred(   /* R.0:1.1:0 */
                       0.24181026494337293);
            if (defined_attr(0)) {  /* R.0:1.1:0.0 */
              if (double_attr(0) <= 93.5) {
                add_pred(   /* R.0:1.1:0.0:0 */
                           -1.8318617372722716);
                if (defined_attr(1)) {  /* R.0:1.1:0.0:0.0 */
                  if (double_attr(1) <= 55.0) {
                    add_pred(   /* R.0:1.1:0.0:0.0:0 */
                               -1.836900102054003);
                  } else {
                    add_pred(   /* R.0:1.1:0.0:0.0:1 */
                               1.5849460364789418);
                  }
                }
                if (defined_attr(2)) {  /* R.0:1.1:0.0:0.1 */
                  if (double_attr(2) <= 146.5) {
                    add_pred(   /* R.0:1.1:0.0:0.1:0 */
                               1.079434161331762);
                  } else {
                    add_pred(   /* R.0:1.1:0.0:0.1:1 */
                               -1.5671927866949298);
                  }
                }
              } else {
                add_pred(   /* R.0:1.1:0.0:1 */
                           0.3777150709004592);
                if (defined_attr(1)) {  /* R.0:1.1:0.0:1.0 */
                  if (double_attr(1) <= 4.5) {
                    add_pred(   /* R.0:1.1:0.0:1.0:0 */
                               -0.8475569917790187);
                    if (defined_attr(2)) {  /* R.0:1.1:0.0:1.0:0.0 */
                      if (double_attr(2) <= 217.5) {
                        add_pred(   /* R.0:1.1:0.0:1.0:0.0:0 */
                                   0.003617017993592868);
                      } else {
                        add_pred(   /* R.0:1.1:0.0:1.0:0.0:1 */
                                   -2.1372146016400206);
                      }
                    }
                  } else {
                    add_pred(   /* R.0:1.1:0.0:1.0:1 */
                               0.401984786393273);
                    if (defined_attr(2)) {  /* R.0:1.1:0.0:1.0:1.0 */
                      if (double_attr(2) <= 171.5) {
                        add_pred(   /* R.0:1.1:0.0:1.0:1.0:0 */
                                   -0.5307957819538839);
                        if (defined_attr(1)) {  /* R.0:1.1:0.0:1.0:1.0:0.0 */
                          if (double_attr(1) <= 37.5) {
                            add_pred(   /* R.0:1.1:0.0:1.0:1.0:0.0:0 */
                                       -1.6759641665248792);
                            if (defined_attr(2)) {  /* R.0:1.1:0.0:1.0:1.0:0.0:0.0 */
                              if (double_attr(2) <= 105.5) {
                                add_pred(   /* R.0:1.1:0.0:1.0:1.0:0.0:0.0:0 */
                                           -1.9355820156842531);
                              } else {
                                add_pred(   /* R.0:1.1:0.0:1.0:1.0:0.0:0.0:1 */
                                           0.23500582942029635);
                              }
                            }
                          } else {
                            add_pred(   /* R.0:1.1:0.0:1.0:1.0:0.0:1 */
                                       0.8545588997465976);
                            if (defined_attr(2)) {  /* R.0:1.1:0.0:1.0:1.0:0.0:1.0 */
                              if (double_attr(2) <= 81.5) {
                                add_pred(   /* R.0:1.1:0.0:1.0:1.0:0.0:1.0:0 */
                                           -1.9431219821968293);
                                if (defined_attr(1)) {  /* R.0:1.1:0.0:1.0:1.0:0.0:1.0:0.0 */
                                  if (double_attr(1) <= 68.0) {
                                    add_pred(   /* R.0:1.1:0.0:1.0:1.0:0.0:1.0:0.0:0 */
                                               -3.104667373578832);
                                  } else {
                                    add_pred(   /* R.0:1.1:0.0:1.0:1.0:0.0:1.0:0.0:1 */
                                               0.46732150395937905);
                                  }
                                }
                              } else {
                                add_pred(   /* R.0:1.1:0.0:1.0:1.0:0.0:1.0:1 */
                                           3.1222563414468745);
                              }
                            }
                          }
                        }
                      } else {
                        add_pred(   /* R.0:1.1:0.0:1.0:1.0:1 */
                                   1.0325405485462955);
                        if (defined_attr(1)) {  /* R.0:1.1:0.0:1.0:1.0:1.0 */
                          if (double_attr(1) <= 27.5) {
                            add_pred(   /* R.0:1.1:0.0:1.0:1.0:1.0:0 */
                                       0.3566456438641928);
                          } else {
                            add_pred(   /* R.0:1.1:0.0:1.0:1.0:1.0:1 */
                                       2.095959335908286);
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
            if (defined_attr(0)) {  /* R.0:1.1:0.1 */
              if (double_attr(0) <= 135.0) {
                add_pred(   /* R.0:1.1:0.1:0 */
                           -0.36491728849725524);
              } else {
                add_pred(   /* R.0:1.1:0.1:1 */
                           0.42850588937969375);
                if (defined_attr(2)) {  /* R.0:1.1:0.1:1.0 */
                  if (double_attr(2) <= 212.5) {
                    add_pred(   /* R.0:1.1:0.1:1.0:0 */
                               1.3085118101536524);
                    if (defined_attr(2)) {  /* R.0:1.1:0.1:1.0:0.0 */
                      if (double_attr(2) <= 187.5) {
                        add_pred(   /* R.0:1.1:0.1:1.0:0.0:0 */
                                   -0.9572240238508548);
                      } else {
                        add_pred(   /* R.0:1.1:0.1:1.0:0.0:1 */
                                   1.589884345120882);
                      }
                    }
                  } else {
                    add_pred(   /* R.0:1.1:0.1:1.0:1 */
                               -0.31762760458406314);
                    if (defined_attr(0)) {  /* R.0:1.1:0.1:1.0:1.0 */
                      if (double_attr(0) <= 141.0) {
                        add_pred(   /* R.0:1.1:0.1:1.0:1.0:0 */
                                   1.5816181929068192);
                      } else {
                        add_pred(   /* R.0:1.1:0.1:1.0:1.0:1 */
                                   -0.6402994458080049);
                        if (defined_attr(2)) {  /* R.0:1.1:0.1:1.0:1.0:1.0 */
                          if (double_attr(2) <= 218.5) {
                            add_pred(   /* R.0:1.1:0.1:1.0:1.0:1.0:0 */
                                       0.17706356507631174);
                          } else {
                            add_pred(   /* R.0:1.1:0.1:1.0:1.0:1.0:1 */
                                       -1.5157894613593292);
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          } else {
            add_pred(   /* R.0:1.1:1 */
                       -3.6451525994671123);
          }
        }
      }
    }
    if (defined_attr(2)) {  /* R.1 */
      if (double_attr(2) <= 150.5) {
        add_pred(   /* R.1:0 */
                   -1.2398527511126278);
      } else {
        add_pred(   /* R.1:1 */
                   0.04031712030849853);
      }
    }
    return finalize_pred();
  }
  