diff --git a/regr_smlp/master/Test100_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test100_smlp_toy_num_resp_mult.txt index 77d19bac..b9d96a54 100644 --- a/regr_smlp/master/Test100_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test100_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : y1>7 and y2>6 +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test101_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test101_smlp_toy_num_resp_mult.txt index bd75e30c..8840de45 100644 --- a/regr_smlp/master/Test101_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test101_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test103_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test103_smlp_toy_num_resp_mult.txt index 990f164f..c1b947bd 100644 --- a/regr_smlp/master/Test103_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test103_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test104_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test104_smlp_toy_num_resp_mult.txt index 86e3ca8b..20cabfbf 100644 --- a/regr_smlp/master/Test104_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test104_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test105_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test105_smlp_toy_num_resp_mult.txt index 8a662fa2..cb9802a8 100644 --- a/regr_smlp/master/Test105_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test105_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test106_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test106_smlp_toy_num_resp_mult.txt index e7323e52..d902c60c 100644 --- a/regr_smlp/master/Test106_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test106_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test107_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test107_smlp_toy_num_resp_mult.txt index 3a836be1..78da8d91 100644 --- a/regr_smlp/master/Test107_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test107_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : y1>5 +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test108_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test108_smlp_toy_num_resp_mult.txt index 530bc277..9664b685 100644 --- a/regr_smlp/master/Test108_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test108_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : p2<5 and x==10 and x<12 smlp_logger - INFO - Global beta : (y1+y2)>y1 +smlp_logger - INFO - Global eta : p1==4 or p1==8 + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.05} @@ -237,9 +239,9 @@ smlp_logger - INFO - Eta ranges constraints: (and (and true (and (>= p1 0) ( smlp_logger - INFO - Eta grid constraints: (or (or (= p1 2) (= p1 4)) (= p1 7)) -smlp_logger - INFO - Eta global constraints: true +smlp_logger - INFO - Eta global constraints: (or (= p1 4) (= p1 8)) -smlp_logger - INFO - Eta combined constraints: (let ((|:0| true)) (and (and (and (and |:0| (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) |:0|)) +smlp_logger - INFO - Eta combined constraints: (and (and (and (and true (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) (or (= p1 4) (= p1 8))) smlp_logger - INFO - Creating model exploration base components: End diff --git a/regr_smlp/master/Test108_smlp_toy_num_resp_mult_dt_sklearn_y1_tree_rules.txt b/regr_smlp/master/Test108_smlp_toy_num_resp_mult_dt_sklearn_y1_tree_rules.txt new file mode 100644 index 00000000..d0ba32e4 --- /dev/null +++ b/regr_smlp/master/Test108_smlp_toy_num_resp_mult_dt_sklearn_y1_tree_rules.txt @@ -0,0 +1,8 @@ +#Forest semantics: majority vote +#Number of trees: 1 + +#TREE 0 +if (p2 > 0.7000000178813934) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 3 samples +if (p2 <= 0.7000000178813934) and (x <= 0.8333333432674408) then (y1 = 0.0) | based on 3 samples +if (p2 > 0.7000000178813934) and (x > 0.6666666716337204) then (y1 = 0.0) | based on 1 samples +if (p2 <= 0.7000000178813934) and (x > 0.8333333432674408) then (y1 = 1.0) | based on 1 samples diff --git a/regr_smlp/master/Test108_smlp_toy_num_resp_mult_dt_sklearn_y2_tree_rules.txt b/regr_smlp/master/Test108_smlp_toy_num_resp_mult_dt_sklearn_y2_tree_rules.txt new file mode 100644 index 00000000..30a6a1be --- /dev/null +++ b/regr_smlp/master/Test108_smlp_toy_num_resp_mult_dt_sklearn_y2_tree_rules.txt @@ -0,0 +1,7 @@ +#Forest semantics: majority vote +#Number of trees: 1 + +#TREE 0 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 5 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples diff --git a/regr_smlp/master/Test108_smlp_toy_num_resp_mult_synthesize_results.json b/regr_smlp/master/Test108_smlp_toy_num_resp_mult_synthesize_results.json index fe0c19da..af5f57ab 100644 --- a/regr_smlp/master/Test108_smlp_toy_num_resp_mult_synthesize_results.json +++ b/regr_smlp/master/Test108_smlp_toy_num_resp_mult_synthesize_results.json @@ -6,7 +6,7 @@ "configuration_stable": "true", "synthesis_status": "PASS", "synthesis_result": { - "p1": 2.0, + "p1": 4.0, "p2": 4.0 } } \ No newline at end of file diff --git a/regr_smlp/master/Test108_smlp_toy_num_resp_mult_trace.csv b/regr_smlp/master/Test108_smlp_toy_num_resp_mult_trace.csv new file mode 100644 index 00000000..546dc954 --- /dev/null +++ b/regr_smlp/master/Test108_smlp_toy_num_resp_mult_trace.csv @@ -0,0 +1,6 @@ +stage,solver,p1,p2,x,y1,y2 +interface_consistency,sat,4,3,10 +model_consistency,sat,4,3,10,5,9 +synthesis,synthesis_feasibility +ca,sat,4,4,10,5,9 +ce,unsat diff --git a/regr_smlp/master/Test108_smlp_toy_num_resp_mult_y1_smlp_full_model_term.json b/regr_smlp/master/Test108_smlp_toy_num_resp_mult_y1_smlp_full_model_term.json new file mode 100644 index 00000000..a677952e --- /dev/null +++ b/regr_smlp/master/Test108_smlp_toy_num_resp_mult_y1_smlp_full_model_term.json @@ -0,0 +1 @@ +"{'y1': |:1| (/ 27962027 33554432))) 1 (ite (and (> |:0| (/ 23488103 33554432)) (> |:1| (/ 44739243 67108864))) 0 (ite (and (<= |:0| (/ 23488103 33554432)) (<= |:1| (/ 27962027 33554432))) 0 1))) 4) 5)))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test108_smlp_toy_num_resp_mult_y1_smlp_model_term.json b/regr_smlp/master/Test108_smlp_toy_num_resp_mult_y1_smlp_model_term.json new file mode 100644 index 00000000..53abcc73 --- /dev/null +++ b/regr_smlp/master/Test108_smlp_toy_num_resp_mult_y1_smlp_model_term.json @@ -0,0 +1 @@ +"{'y1_scaled': x_scaled (/ 27962027 33554432))) 1 (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (and (<= p2_scaled (/ 23488103 33554432)) (<= x_scaled (/ 27962027 33554432))) 0 1)))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test108_smlp_toy_num_resp_mult_y2_smlp_full_model_term.json b/regr_smlp/master/Test108_smlp_toy_num_resp_mult_y2_smlp_full_model_term.json new file mode 100644 index 00000000..200cb5d1 --- /dev/null +++ b/regr_smlp/master/Test108_smlp_toy_num_resp_mult_y2_smlp_full_model_term.json @@ -0,0 +1 @@ +"{'y2': |:0| (/ 53687093 134217728)) (> (* (/ 1 2) (- p1 2)) (/ 3 4))) 1 (ite (<= |:0| (/ 53687093 134217728)) 1 0)) 4) 5))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test108_smlp_toy_num_resp_mult_y2_smlp_model_term.json b/regr_smlp/master/Test108_smlp_toy_num_resp_mult_y2_smlp_model_term.json new file mode 100644 index 00000000..da199aee --- /dev/null +++ b/regr_smlp/master/Test108_smlp_toy_num_resp_mult_y2_smlp_model_term.json @@ -0,0 +1 @@ +"{'y2_scaled': p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 (ite (<= p2_scaled (/ 53687093 134217728)) 1 0))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test109_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test109_smlp_toy_num_resp_mult.txt index 64a139de..840707b9 100644 --- a/regr_smlp/master/Test109_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test109_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : p2<5 and x==10 and x<12 smlp_logger - INFO - Global beta : (y1+y2)/4>y1 +smlp_logger - INFO - Global eta : p1==4 or p1==8 + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.05} @@ -237,9 +239,9 @@ smlp_logger - INFO - Eta ranges constraints: (and (and true (and (>= p1 0) ( smlp_logger - INFO - Eta grid constraints: (or (or (= p1 2) (= p1 4)) (= p1 7)) -smlp_logger - INFO - Eta global constraints: true +smlp_logger - INFO - Eta global constraints: (or (= p1 4) (= p1 8)) -smlp_logger - INFO - Eta combined constraints: (let ((|:0| true)) (and (and (and (and |:0| (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) |:0|)) +smlp_logger - INFO - Eta combined constraints: (and (and (and (and true (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) (or (= p1 4) (= p1 8))) smlp_logger - INFO - Creating model exploration base components: End diff --git a/regr_smlp/master/Test113_smlp_toy_basic.txt b/regr_smlp/master/Test113_smlp_toy_basic.txt index 03a9bb33..e529ddd6 100644 --- a/regr_smlp/master/Test113_smlp_toy_basic.txt +++ b/regr_smlp/master/Test113_smlp_toy_basic.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : p2<5 and x1==10 and x2<12 smlp_logger - INFO - Global beta : y1>=4 and y2>=8 +smlp_logger - INFO - Global eta : p1==4 or (p1==8 and p2 > 3) + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} @@ -218,9 +220,9 @@ smlp_logger - INFO - Eta ranges constraints: (and (and true (and (>= p1 0) ( smlp_logger - INFO - Eta grid constraints: (or (or (= p1 2) (= p1 4)) (= p1 7)) -smlp_logger - INFO - Eta global constraints: true +smlp_logger - INFO - Eta global constraints: (or (= p1 4) (and (= p1 8) (> p2 3))) -smlp_logger - INFO - Eta combined constraints: (let ((|:0| true)) (and (and (and (and |:0| (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) |:0|)) +smlp_logger - INFO - Eta combined constraints: (and (and (and (and true (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) (or (= p1 4) (and (= p1 8) (> p2 3)))) smlp_logger - INFO - Creating model exploration base components: End diff --git a/regr_smlp/master/Test113_smlp_toy_basic_trace.csv b/regr_smlp/master/Test113_smlp_toy_basic_trace.csv new file mode 100644 index 00000000..3723506f --- /dev/null +++ b/regr_smlp/master/Test113_smlp_toy_basic_trace.csv @@ -0,0 +1,37 @@ +stage,solver,p1,p2,x1,x2,y1,y2 +interface_consistency,sat,4,3,10,0 +model_consistency,sat,4,3,10,0,499791472247068216593/720575940379279360000,601/50 +synthesis_feasibility +synthesis,synthesis_feasibility +ca,sat,4,4,10,0,107007/10000,1077047109884722593/112589990684262400 +ce,unsat +pareto_iteration,0,objective1__objective2,None__None +single_objective_u0_l0_u_l, objective1_scaled_objective2_scaled : 1 : 0 : inf : -inf +objective_thresholds_u0_l0_u_l_T, 2 : 0 : inf : -inf : 1 +synthesis,objective1_scaled_objective2_scaled_1 +ca,sat,4,4,10,0,107007/10000,1077047109884722593/112589990684262400 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 4 : 0 : inf : 1 : 2 +synthesis,objective1_scaled_objective2_scaled_2 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 4 : 0 : 2 : 1 : 1.5 +synthesis,objective1_scaled_objective2_scaled_1.5 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 4 : 0 : 1.5 : 1 : 1.25 +synthesis,objective1_scaled_objective2_scaled_1.25 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 4 : 0 : 1.25 : 1 : 1.125 +synthesis,objective1_scaled_objective2_scaled_1.125 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 4 : 0 : 1.125 : 1 : 1.0625 +synthesis,objective1_scaled_objective2_scaled_1.0625 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 4 : 0 : 1.0625 : 1 : 1.03125 +synthesis,objective1_scaled_objective2_scaled_1.03125 +ca,unsat +activity check, objective objective1 threshold 1.0 +synthesis,thresholds_1.05_1.0_check +ca,unsat +activity check, objective objective2 threshold 1.0 +synthesis,thresholds_1.0_1.05_check +ca,unsat diff --git a/regr_smlp/master/Test114_smlp_toy_basic.txt b/regr_smlp/master/Test114_smlp_toy_basic.txt index 3f9bbb02..e1d079cd 100644 --- a/regr_smlp/master/Test114_smlp_toy_basic.txt +++ b/regr_smlp/master/Test114_smlp_toy_basic.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : p2<5 and x1==10 and x2<12 smlp_logger - INFO - Global beta : y1>=4 and y2>=8 +smlp_logger - INFO - Global eta : p1==4 or (p1==8 and p2 > 3) + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} @@ -216,9 +218,9 @@ smlp_logger - INFO - Eta ranges constraints: (and (and true (and (>= p1 0) ( smlp_logger - INFO - Eta grid constraints: (or (or (= p1 2) (= p1 4)) (= p1 7)) -smlp_logger - INFO - Eta global constraints: true +smlp_logger - INFO - Eta global constraints: (or (= p1 4) (and (= p1 8) (> p2 3))) -smlp_logger - INFO - Eta combined constraints: (let ((|:0| true)) (and (and (and (and |:0| (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) |:0|)) +smlp_logger - INFO - Eta combined constraints: (and (and (and (and true (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) (or (= p1 4) (and (= p1 8) (> p2 3)))) smlp_logger - INFO - Creating model exploration base components: End diff --git a/regr_smlp/master/Test114_smlp_toy_basic_smlp_full_model_term.json b/regr_smlp/master/Test114_smlp_toy_basic_smlp_full_model_term.json new file mode 100644 index 00000000..1eb1936c --- /dev/null +++ b/regr_smlp/master/Test114_smlp_toy_basic_smlp_full_model_term.json @@ -0,0 +1 @@ +"{'y1': |:1| (/ 7587435 33554432))) 0 (ite (and (<= |:0| (/ 1 8)) (> |:1| (/ 11378887 16777216))) (/ 3124582929976399 72057594037927936) (ite (and (and (> |:0| (/ 1 8)) (<= |:1| (/ 3325733 4194304))) (<= |:1| (/ 38562449 536870912))) (/ 7364743914427397 9007199254740992) (ite (and (and (and (> |:0| (/ 1 8)) (<= |:1| (/ 3325733 4194304))) (> |:1| (/ 38562449 536870912))) (<= |:1| (/ 63736525 268435456))) (/ 4615234927434275 72057594037927936) (ite (and (and (and (and (> |:0| (/ 1 8)) (<= |:1| (/ 3325733 4194304))) (> |:1| (/ 38562449 536870912))) (> |:1| (/ 63736525 268435456))) (<= |:2| (/ 1 4))) (/ 4118666647088875 9007199254740992) (ite (and (and (and (and (> |:0| (/ 1 8)) (<= |:1| (/ 3325733 4194304))) (> |:1| (/ 38562449 536870912))) (> |:1| (/ 63736525 268435456))) (> |:2| (/ 1 4))) (/ 155796468224373 281474976710656) 1))))))) (/ 104607 10000)) (/ 6 25)))))>, 'y2': |:1| (/ 7587435 33554432))) (/ 1421319515427019 2251799813685248) (ite (and (<= |:0| (/ 1 8)) (> |:1| (/ 11378887 16777216))) 1 (ite (and (and (> |:0| (/ 1 8)) (<= |:1| (/ 3325733 4194304))) (<= |:1| (/ 38562449 536870912))) (/ 2182179947885989 4503599627370496) (ite (and (and (and (> |:0| (/ 1 8)) (<= |:1| (/ 3325733 4194304))) (> |:1| (/ 38562449 536870912))) (<= |:1| (/ 63736525 268435456))) (/ 7441268742104829 9007199254740992) (ite (and (and (and (and (> |:0| (/ 1 8)) (<= |:1| (/ 3325733 4194304))) (> |:1| (/ 38562449 536870912))) (> |:1| (/ 63736525 268435456))) (<= |:2| (/ 1 4))) (/ 1421319515427019 2251799813685248) (ite (and (and (and (and (> |:0| (/ 1 8)) (<= |:1| (/ 3325733 4194304))) (> |:1| (/ 38562449 536870912))) (> |:1| (/ 63736525 268435456))) (> |:2| (/ 1 4))) (/ 1421319515427019 2251799813685248) (/ 1744855633611649 2251799813685248)))))))) (/ 109 10)) (/ 28 25)))))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test114_smlp_toy_basic_trace.csv b/regr_smlp/master/Test114_smlp_toy_basic_trace.csv new file mode 100644 index 00000000..3723506f --- /dev/null +++ b/regr_smlp/master/Test114_smlp_toy_basic_trace.csv @@ -0,0 +1,37 @@ +stage,solver,p1,p2,x1,x2,y1,y2 +interface_consistency,sat,4,3,10,0 +model_consistency,sat,4,3,10,0,499791472247068216593/720575940379279360000,601/50 +synthesis_feasibility +synthesis,synthesis_feasibility +ca,sat,4,4,10,0,107007/10000,1077047109884722593/112589990684262400 +ce,unsat +pareto_iteration,0,objective1__objective2,None__None +single_objective_u0_l0_u_l, objective1_scaled_objective2_scaled : 1 : 0 : inf : -inf +objective_thresholds_u0_l0_u_l_T, 2 : 0 : inf : -inf : 1 +synthesis,objective1_scaled_objective2_scaled_1 +ca,sat,4,4,10,0,107007/10000,1077047109884722593/112589990684262400 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 4 : 0 : inf : 1 : 2 +synthesis,objective1_scaled_objective2_scaled_2 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 4 : 0 : 2 : 1 : 1.5 +synthesis,objective1_scaled_objective2_scaled_1.5 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 4 : 0 : 1.5 : 1 : 1.25 +synthesis,objective1_scaled_objective2_scaled_1.25 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 4 : 0 : 1.25 : 1 : 1.125 +synthesis,objective1_scaled_objective2_scaled_1.125 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 4 : 0 : 1.125 : 1 : 1.0625 +synthesis,objective1_scaled_objective2_scaled_1.0625 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 4 : 0 : 1.0625 : 1 : 1.03125 +synthesis,objective1_scaled_objective2_scaled_1.03125 +ca,unsat +activity check, objective objective1 threshold 1.0 +synthesis,thresholds_1.05_1.0_check +ca,unsat +activity check, objective objective2 threshold 1.0 +synthesis,thresholds_1.0_1.05_check +ca,unsat diff --git a/regr_smlp/master/Test115_smlp_toy_basic.txt b/regr_smlp/master/Test115_smlp_toy_basic.txt index caad123b..895a5155 100644 --- a/regr_smlp/master/Test115_smlp_toy_basic.txt +++ b/regr_smlp/master/Test115_smlp_toy_basic.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : p2<5 and x1==10 and x2<12 smlp_logger - INFO - Global beta : y1>=4 and y2>=8 +smlp_logger - INFO - Global eta : p1==4 or (p1==8 and p2 > 3) + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': 0}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} @@ -248,9 +250,9 @@ smlp_logger - INFO - Eta ranges constraints: (and (and true (and (>= p1 0) ( smlp_logger - INFO - Eta grid constraints: (or (or (= p1 2) (= p1 4)) (= p1 7)) -smlp_logger - INFO - Eta global constraints: true +smlp_logger - INFO - Eta global constraints: (or (= p1 4) (and (= p1 8) (> p2 3))) -smlp_logger - INFO - Eta combined constraints: (let ((|:0| true)) (and (and (and (and |:0| (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) |:0|)) +smlp_logger - INFO - Eta combined constraints: (and (and (and (and true (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) (or (= p1 4) (and (= p1 8) (> p2 3)))) smlp_logger - INFO - Creating model exploration base components: End diff --git a/regr_smlp/master/Test115_smlp_toy_basic_dt_sklearn_y1_tree_rules.txt b/regr_smlp/master/Test115_smlp_toy_basic_dt_sklearn_y1_tree_rules.txt new file mode 100644 index 00000000..cc5ed99a --- /dev/null +++ b/regr_smlp/master/Test115_smlp_toy_basic_dt_sklearn_y1_tree_rules.txt @@ -0,0 +1,12 @@ +#Forest semantics: majority vote +#Number of trees: 1 + +#TREE 0 +if (p2 > 0.125) and (x1 > 0.7929165363311768) then (y1 = 1.0) | based on 1 samples +if (p2 > 0.125) and (x1 <= 0.7929165363311768) and (x1 > 0.07182815857231617) and (x1 > 0.23743705824017525) and (x2 > 0.25) then (y1 = 0.5535002437695375) | based on 1 samples +if (p2 > 0.125) and (x1 <= 0.7929165363311768) and (x1 > 0.07182815857231617) and (x1 > 0.23743705824017525) and (x2 <= 0.25) then (y1 = 0.4572638542353763) | based on 1 samples +if (p2 > 0.125) and (x1 <= 0.7929165363311768) and (x1 > 0.07182815857231617) and (x1 <= 0.23743705824017525) then (y1 = 0.06404925100614682) | based on 1 samples +if (p2 > 0.125) and (x1 <= 0.7929165363311768) and (x1 <= 0.07182815857231617) then (y1 = 0.81765082642653) | based on 1 samples +if (p2 <= 0.125) and (x1 > 0.6782345175743103) then (y1 = 0.04336229889013164) | based on 1 samples +if (p2 <= 0.125) and (x1 <= 0.6782345175743103) and (x1 > 0.22612318396568298) then (y1 = 0.0) | based on 1 samples +if (p2 <= 0.125) and (x1 <= 0.6782345175743103) and (x1 <= 0.22612318396568298) then (y1 = 0.008030055350024379) | based on 1 samples diff --git a/regr_smlp/master/Test115_smlp_toy_basic_dt_sklearn_y2_tree_rules.txt b/regr_smlp/master/Test115_smlp_toy_basic_dt_sklearn_y2_tree_rules.txt new file mode 100644 index 00000000..0e837c77 --- /dev/null +++ b/regr_smlp/master/Test115_smlp_toy_basic_dt_sklearn_y2_tree_rules.txt @@ -0,0 +1,9 @@ +#Forest semantics: majority vote +#Number of trees: 1 + +#TREE 0 +if (x1 <= 0.7450278699398041) and (p1 <= 0.8535353541374207) and (p2 <= 0.625) then (y2 = 0.6311926605504588) | based on 4 samples +if (x1 > 0.7450278699398041) and (p2 > 0.375) then (y2 = 0.7748715596330276) | based on 1 samples +if (x1 > 0.7450278699398041) and (p2 <= 0.375) then (y2 = 1.0) | based on 1 samples +if (x1 <= 0.7450278699398041) and (p1 > 0.8535353541374207) then (y2 = 0.48454128440366984) | based on 1 samples +if (x1 <= 0.7450278699398041) and (p1 <= 0.8535353541374207) and (p2 > 0.625) then (y2 = 0.8261467889908257) | based on 1 samples diff --git a/regr_smlp/master/Test115_smlp_toy_basic_trace.csv b/regr_smlp/master/Test115_smlp_toy_basic_trace.csv new file mode 100644 index 00000000..bb2a3505 --- /dev/null +++ b/regr_smlp/master/Test115_smlp_toy_basic_trace.csv @@ -0,0 +1,6 @@ +stage,solver,p1,p2,x1,x2,y1,y2 +interface_consistency,sat,4,3,10,0 +model_consistency,sat,4,3,10,0,499791472247068216593/720575940379279360000,601/50 +witness_consistency,sat,4,3,10,1,499791472247068216593/720575940379279360000,601/50 +witness_consistency,unsat +ca,unsat diff --git a/regr_smlp/master/Test115_smlp_toy_basic_y1_smlp_full_model_term.json b/regr_smlp/master/Test115_smlp_toy_basic_y1_smlp_full_model_term.json new file mode 100644 index 00000000..f50db1ef --- /dev/null +++ b/regr_smlp/master/Test115_smlp_toy_basic_y1_smlp_full_model_term.json @@ -0,0 +1 @@ +"{'y1': |:1| (/ 7587435 33554432))) 0 (ite (and (<= |:0| (/ 1 8)) (> |:1| (/ 11378887 16777216))) (/ 3124582929976399 72057594037927936) (ite (and (and (> |:0| (/ 1 8)) (<= |:1| (/ 3325733 4194304))) (<= |:1| (/ 38562449 536870912))) (/ 7364743914427397 9007199254740992) (ite (and (and (and (> |:0| (/ 1 8)) (<= |:1| (/ 3325733 4194304))) (> |:1| (/ 38562449 536870912))) (<= |:1| (/ 63736525 268435456))) (/ 4615234927434275 72057594037927936) (ite (and (and (and (and (> |:0| (/ 1 8)) (<= |:1| (/ 3325733 4194304))) (> |:1| (/ 38562449 536870912))) (> |:1| (/ 63736525 268435456))) (<= |:2| (/ 1 4))) (/ 4118666647088875 9007199254740992) (ite (and (and (and (and (> |:0| (/ 1 8)) (<= |:1| (/ 3325733 4194304))) (> |:1| (/ 38562449 536870912))) (> |:1| (/ 63736525 268435456))) (> |:2| (/ 1 4))) (/ 155796468224373 281474976710656) 1))))))) (/ 104607 10000)) (/ 6 25)))))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test115_smlp_toy_basic_y1_smlp_model_term.json b/regr_smlp/master/Test115_smlp_toy_basic_y1_smlp_model_term.json new file mode 100644 index 00000000..050783d4 --- /dev/null +++ b/regr_smlp/master/Test115_smlp_toy_basic_y1_smlp_model_term.json @@ -0,0 +1 @@ +"{'y1_scaled': x1_scaled (/ 7587435 33554432))) 0 (ite (and (<= p2_scaled (/ 1 8)) (> x1_scaled (/ 11378887 16777216))) (/ 3124582929976399 72057594037927936) (ite (and (and (> p2_scaled (/ 1 8)) (<= x1_scaled (/ 3325733 4194304))) (<= x1_scaled (/ 38562449 536870912))) (/ 7364743914427397 9007199254740992) (ite (and (and (and (> p2_scaled (/ 1 8)) (<= x1_scaled (/ 3325733 4194304))) (> x1_scaled (/ 38562449 536870912))) (<= x1_scaled (/ 63736525 268435456))) (/ 4615234927434275 72057594037927936) (ite (and (and (and (and (> p2_scaled (/ 1 8)) (<= x1_scaled (/ 3325733 4194304))) (> x1_scaled (/ 38562449 536870912))) (> x1_scaled (/ 63736525 268435456))) (<= x2_scaled (/ 1 4))) (/ 4118666647088875 9007199254740992) (ite (and (and (and (and (> p2_scaled (/ 1 8)) (<= x1_scaled (/ 3325733 4194304))) (> x1_scaled (/ 38562449 536870912))) (> x1_scaled (/ 63736525 268435456))) (> x2_scaled (/ 1 4))) (/ 155796468224373 281474976710656) 1)))))))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test115_smlp_toy_basic_y2_smlp_full_model_term.json b/regr_smlp/master/Test115_smlp_toy_basic_y2_smlp_full_model_term.json new file mode 100644 index 00000000..62e8c4c0 --- /dev/null +++ b/regr_smlp/master/Test115_smlp_toy_basic_y2_smlp_full_model_term.json @@ -0,0 +1 @@ +"{'y2': |:2| (/ 5 8))) (/ 7441268742104829 9007199254740992) (ite (and (<= |:0| (/ 24998987 33554432)) (> |:1| (/ 14319947 16777216))) (/ 2182179947885989 4503599627370496) (ite (and (> |:0| (/ 24998987 33554432)) (<= |:2| (/ 3 8))) 1 (ite (and (> |:0| (/ 24998987 33554432)) (> |:2| (/ 3 8))) (/ 1744855633611649 2251799813685248) (/ 1421319515427019 2251799813685248))))) (/ 109 10)) (/ 28 25)))))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test115_smlp_toy_basic_y2_smlp_model_term.json b/regr_smlp/master/Test115_smlp_toy_basic_y2_smlp_model_term.json new file mode 100644 index 00000000..b97f9962 --- /dev/null +++ b/regr_smlp/master/Test115_smlp_toy_basic_y2_smlp_model_term.json @@ -0,0 +1 @@ +"{'y2_scaled': p2_scaled (/ 5 8))) (/ 7441268742104829 9007199254740992) (ite (and (<= x1_scaled (/ 24998987 33554432)) (> p1_scaled (/ 14319947 16777216))) (/ 2182179947885989 4503599627370496) (ite (and (> x1_scaled (/ 24998987 33554432)) (<= p2_scaled (/ 3 8))) 1 (ite (and (> x1_scaled (/ 24998987 33554432)) (> p2_scaled (/ 3 8))) (/ 1744855633611649 2251799813685248) (/ 1421319515427019 2251799813685248)))))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test116_smlp_toy_basic.txt b/regr_smlp/master/Test116_smlp_toy_basic.txt index e7401e98..4f0d422d 100644 --- a/regr_smlp/master/Test116_smlp_toy_basic.txt +++ b/regr_smlp/master/Test116_smlp_toy_basic.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : p2<5 and x1==10 and x2<12 smlp_logger - INFO - Global beta : y1>=4 and y2>=8 +smlp_logger - INFO - Global eta : p1==4 or (p1==8 and p2 > 3) + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': 0}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} @@ -178,9 +180,9 @@ smlp_logger - INFO - Eta ranges constraints: (and (and true (and (>= p1 0) ( smlp_logger - INFO - Eta grid constraints: (or (or (= p1 2) (= p1 4)) (= p1 7)) -smlp_logger - INFO - Eta global constraints: true +smlp_logger - INFO - Eta global constraints: (or (= p1 4) (and (= p1 8) (> p2 3))) -smlp_logger - INFO - Eta combined constraints: (let ((|:0| true)) (and (and (and (and |:0| (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) |:0|)) +smlp_logger - INFO - Eta combined constraints: (and (and (and (and true (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) (or (= p1 4) (and (= p1 8) (> p2 3)))) smlp_logger - INFO - Creating model exploration base components: End diff --git a/regr_smlp/master/Test116_smlp_toy_basic_trace.csv b/regr_smlp/master/Test116_smlp_toy_basic_trace.csv new file mode 100644 index 00000000..77dd3989 --- /dev/null +++ b/regr_smlp/master/Test116_smlp_toy_basic_trace.csv @@ -0,0 +1,7 @@ +stage,solver,p1,p2,x1,x2,y1,y2 +interface_consistency,sat,4,3,10,0 +model_consistency,sat,4,3,10,0,4,14 +witness_consistency,sat,4,3,10,1,4,14 +witness_consistency,unsat +ca,sat,4,3,10,1,4,14 +ce,unsat diff --git a/regr_smlp/master/Test117_smlp_toy_basic.txt b/regr_smlp/master/Test117_smlp_toy_basic.txt index 79ac2940..28c559e7 100644 --- a/regr_smlp/master/Test117_smlp_toy_basic.txt +++ b/regr_smlp/master/Test117_smlp_toy_basic.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': Fraction(1, 5), 'rad-rel': None}, 'p2': {'rad-abs': 0, 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test118_smlp_toy_basic.txt b/regr_smlp/master/Test118_smlp_toy_basic.txt index 0121709a..30392294 100644 --- a/regr_smlp/master/Test118_smlp_toy_basic.txt +++ b/regr_smlp/master/Test118_smlp_toy_basic.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': Fraction(1, 5), 'rad-rel': None}, 'p2': {'rad-abs': 0, 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test119_smlp_toy_basic.txt b/regr_smlp/master/Test119_smlp_toy_basic.txt index 2debb532..bd8eeca1 100644 --- a/regr_smlp/master/Test119_smlp_toy_basic.txt +++ b/regr_smlp/master/Test119_smlp_toy_basic.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': Fraction(1, 5), 'rad-rel': None}, 'p2': {'rad-abs': 0, 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test120_smlp_toy_basic.txt b/regr_smlp/master/Test120_smlp_toy_basic.txt index 0cb14044..d64fdd9a 100644 --- a/regr_smlp/master/Test120_smlp_toy_basic.txt +++ b/regr_smlp/master/Test120_smlp_toy_basic.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : y2<=0 +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': Fraction(1, 5), 'rad-rel': None}, 'p2': {'rad-abs': 0, 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test121_smlp_toy_basic.txt b/regr_smlp/master/Test121_smlp_toy_basic.txt index 881337ab..cab825c3 100644 --- a/regr_smlp/master/Test121_smlp_toy_basic.txt +++ b/regr_smlp/master/Test121_smlp_toy_basic.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : y2<=0 +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': Fraction(1, 5), 'rad-rel': None}, 'p2': {'rad-abs': 0, 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test122_smlp_toy_basic.txt b/regr_smlp/master/Test122_smlp_toy_basic.txt index 4e4cac57..5d080a0e 100644 --- a/regr_smlp/master/Test122_smlp_toy_basic.txt +++ b/regr_smlp/master/Test122_smlp_toy_basic.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : y2<=0 +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': Fraction(1, 5), 'rad-rel': None}, 'p2': {'rad-abs': 0, 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test123_smlp_toy_basic.txt b/regr_smlp/master/Test123_smlp_toy_basic.txt index bb35f89b..8972c3d8 100644 --- a/regr_smlp/master/Test123_smlp_toy_basic.txt +++ b/regr_smlp/master/Test123_smlp_toy_basic.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : y2<=0 +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': Fraction(1, 5), 'rad-rel': None}, 'p2': {'rad-abs': 0, 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test123_smlp_toy_basic_sampling_prediction_precisions.csv b/regr_smlp/master/Test123_smlp_toy_basic_sampling_prediction_precisions.csv new file mode 100644 index 00000000..f0c58f67 --- /dev/null +++ b/regr_smlp/master/Test123_smlp_toy_basic_sampling_prediction_precisions.csv @@ -0,0 +1,3 @@ +response,msqe,r2_score +y1,0.0,1.0 +y2,0.0,1.0 diff --git a/regr_smlp/master/Test123_smlp_toy_basic_sampling_predictions_summary.csv b/regr_smlp/master/Test123_smlp_toy_basic_sampling_predictions_summary.csv new file mode 100644 index 00000000..cddbd13d --- /dev/null +++ b/regr_smlp/master/Test123_smlp_toy_basic_sampling_predictions_summary.csv @@ -0,0 +1,101 @@ +,y1,y2,y1_system,y2_system +0,0.24,1.12,0.24,1.12 +1,0.24,1.12,0.24,1.12 +2,0.5006602674106342,1.12,0.5006602674106342,1.12 +3,2.2918136122615405,1.12,2.2918136122615405,1.12 +4,0.24,1.12,0.24,1.12 +5,0.24,1.12,0.24,1.12 +6,1.2473886381441648,1.12,1.2473886381441648,1.12 +7,0.24,1.12,0.24,1.12 +8,0.24,1.12,0.24,1.12 +9,0.24,1.12,0.24,1.12 +10,1.3578936933080579,1.12,1.3578936933080579,1.12 +11,0.24,1.12,0.24,1.12 +12,0.24,1.12,0.24,1.12 +13,0.24,1.12,0.24,1.12 +14,1.0018418475479394,1.12,1.0018418475479394,1.12 +15,0.24,1.12,0.24,1.12 +16,0.9436283511315989,1.12,0.9436283511315989,1.12 +17,1.2225706156646732,1.12,1.2225706156646732,1.12 +18,1.927611476741088,1.12,1.927611476741088,1.12 +19,0.24,1.12,0.24,1.12 +20,0.41494877320350415,1.12,0.41494877320350415,1.12 +21,1.9010139797640995,1.12,1.9010139797640995,1.12 +22,0.6280972401374822,1.12,0.6280972401374822,1.12 +23,0.24,1.12,0.24,1.12 +24,1.4129096841181628,1.12,1.4129096841181628,1.12 +25,0.28160708889716196,1.12,0.28160708889716196,1.12 +26,0.24,1.12,0.24,1.12 +27,1.166828690264658,1.12,1.166828690264658,1.12 +28,0.24,1.12,0.24,1.12 +29,0.24,1.12,0.24,1.12 +30,0.350784881804805,1.12,0.350784881804805,1.12 +31,0.24,1.12,0.24,1.12 +32,0.8675086554038298,1.12,0.8675086554038298,1.12 +33,0.24,1.12,0.24,1.12 +34,0.893653016198148,1.12,0.893653016198148,1.12 +35,2.2632018023372225,1.12,2.2632018023372225,1.12 +36,0.7882169035228184,1.12,0.7882169035228184,1.12 +37,0.32358078074287094,1.12,0.32358078074287094,1.12 +38,0.24,1.12,0.24,1.12 +39,1.1216405182814093,1.12,1.1216405182814093,1.12 +40,2.138895547568527,1.12,2.138895547568527,1.12 +41,0.24,1.12,0.24,1.12 +42,0.4055766309538225,1.12,0.4055766309538225,1.12 +43,0.5727301933936783,1.12,0.5727301933936783,1.12 +44,1.5995604241584753,1.12,1.5995604241584753,1.12 +45,1.8548231992318744,1.12,1.8548231992318744,1.12 +46,0.5886685569248343,1.12,0.5886685569248343,1.12 +47,0.24,1.12,0.24,1.12 +48,1.5727188404145422,1.12,1.5727188404145422,1.12 +49,1.3754680258634517,1.12,1.3754680258634517,1.12 +50,1.71220248426211,1.12,1.71220248426211,1.12 +51,2.1918304253895875,1.12,2.1918304253895875,1.12 +52,0.24,1.12,0.24,1.12 +53,0.24,1.12,0.24,1.12 +54,1.6921355659360038,1.12,1.6921355659360038,1.12 +55,0.24,1.12,0.24,1.12 +56,0.24,1.12,0.24,1.12 +57,0.24,1.12,0.24,1.12 +58,0.6823182961127129,1.12,0.6823182961127129,1.12 +59,2.00711669844485,1.12,2.00711669844485,1.12 +60,0.24,1.12,0.24,1.12 +61,0.24,1.12,0.24,1.12 +62,0.24,1.12,0.24,1.12 +63,0.24,1.12,0.24,1.12 +64,0.24,1.12,0.24,1.12 +65,0.24,1.12,0.24,1.12 +66,1.06407021323611,1.12,1.06407021323611,1.12 +67,0.24,1.12,0.24,1.12 +68,0.24,1.12,0.24,1.12 +69,0.24,1.12,0.24,1.12 +70,0.9618656576215331,1.12,0.9618656576215331,1.12 +71,0.46551455195647806,1.12,0.46551455195647806,1.12 +72,0.24,1.12,0.24,1.12 +73,0.24,1.12,0.24,1.12 +74,0.24,1.12,0.24,1.12 +75,1.0831748108989794,1.12,1.0831748108989794,1.12 +76,2.0786630087801323,1.12,2.0786630087801323,1.12 +77,1.9695278321118745,1.12,1.9695278321118745,1.12 +78,1.4917412456732073,1.12,1.4917412456732073,1.12 +79,2.2451491749475068,1.12,2.2451491749475068,1.12 +80,0.24,1.12,0.24,1.12 +81,0.24,1.12,0.24,1.12 +82,0.24,1.12,0.24,1.12 +83,0.24,1.12,0.24,1.12 +84,0.7785812842815454,1.12,0.7785812842815454,1.12 +85,0.24,1.12,0.24,1.12 +86,1.5047446156230175,1.12,1.5047446156230175,1.12 +87,1.8100282429640846,1.12,1.8100282429640846,1.12 +88,0.24,1.12,0.24,1.12 +89,2.1085750803481496,1.12,2.1085750803481496,1.12 +90,0.24,1.12,0.24,1.12 +91,0.24,1.12,0.24,1.12 +92,0.24,1.12,0.24,1.12 +93,0.24,1.12,0.24,1.12 +94,1.302999527817028,1.12,1.302999527817028,1.12 +95,1.7775597393336433,1.12,1.7775597393336433,1.12 +96,0.24,1.12,0.24,1.12 +97,0.24,1.12,0.24,1.12 +98,0.7033077321261939,1.12,0.7033077321261939,1.12 +99,1.6237837986374641,1.12,1.6237837986374641,1.12 diff --git a/regr_smlp/master/Test123_smlp_toy_basic_trace.csv b/regr_smlp/master/Test123_smlp_toy_basic_trace.csv new file mode 100644 index 00000000..2eda7b11 --- /dev/null +++ b/regr_smlp/master/Test123_smlp_toy_basic_trace.csv @@ -0,0 +1,218 @@ +stage,solver,p1,p2,y1,y2 +interface_consistency,sat,0,0 +model_consistency,sat,0,0,0,0 +synthesis_feasibility +synthesis,synthesis_feasibility +ca,sat,0,0,0,0 +ce,unsat +pareto_iteration,0,objv1__objv2,None__None +single_objective_u0_l0_u_l, objv1_scaled_objv2_scaled : 1 : 0 : inf : -inf +objective_thresholds_u0_l0_u_l_T, 2 : 0 : inf : -inf : 1 +synthesis,objv1_scaled_objv2_scaled_1 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 1 : -inf : 0 +synthesis,objv1_scaled_objv2_scaled_0 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : 0 : -inf : -2 +synthesis,objv1_scaled_objv2_scaled_-2 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : 0 : -2 : -1.0 +synthesis,objv1_scaled_objv2_scaled_-1.0 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : 0 : -1.0 : -0.5 +synthesis,objv1_scaled_objv2_scaled_-0.5 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : 0 : -0.5 : -0.25 +synthesis,objv1_scaled_objv2_scaled_-0.25 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : 0 : -0.25 : -0.125 +synthesis,objv1_scaled_objv2_scaled_-0.125 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : 0 : -0.125 : -0.0625 +synthesis,objv1_scaled_objv2_scaled_-0.0625 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : 0 : -0.0625 : -0.03125 +synthesis,objv1_scaled_objv2_scaled_-0.03125 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : 0 : -0.03125 : -0.015625 +synthesis,objv1_scaled_objv2_scaled_-0.015625 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : -0.015625 : -0.03125 : -0.0234375 +synthesis,objv1_scaled_objv2_scaled_-0.0234375 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : -0.015625 : -0.0234375 : -0.01953125 +synthesis,objv1_scaled_objv2_scaled_-0.01953125 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : -0.01953125 : -0.0234375 : -0.021484375 +synthesis,objv1_scaled_objv2_scaled_-0.021484375 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : -0.021484375 : -0.0234375 : -0.0224609375 +synthesis,objv1_scaled_objv2_scaled_-0.0224609375 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : -0.0224609375 : -0.0234375 : -0.02294921875 +synthesis,objv1_scaled_objv2_scaled_-0.02294921875 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : -0.0224609375 : -0.02294921875 : -0.022705078125 +synthesis,objv1_scaled_objv2_scaled_-0.022705078125 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : -0.022705078125 : -0.02294921875 : -0.0228271484375 +synthesis,objv1_scaled_objv2_scaled_-0.0228271484375 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : -0.0228271484375 : -0.02294921875 : -0.02288818359375 +synthesis,objv1_scaled_objv2_scaled_-0.02288818359375 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : -0.02288818359375 : -0.02294921875 : -0.022918701171875 +synthesis,objv1_scaled_objv2_scaled_-0.022918701171875 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : -0.022918701171875 : -0.02294921875 : -0.0229339599609375 +synthesis,objv1_scaled_objv2_scaled_-0.0229339599609375 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : -0.0229339599609375 : -0.02294921875 : -0.02294158935546875 +synthesis,objv1_scaled_objv2_scaled_-0.02294158935546875 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : -0.02294158935546875 : -0.02294921875 : -0.022945404052734375 +synthesis,objv1_scaled_objv2_scaled_-0.022945404052734375 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : -0.02294158935546875 : -0.022945404052734375 : -0.022943496704101562 +synthesis,objv1_scaled_objv2_scaled_-0.022943496704101562 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : -0.02294158935546875 : -0.022943496704101562 : -0.022942543029785156 +synthesis,objv1_scaled_objv2_scaled_-0.022942543029785156 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : -0.022942543029785156 : -0.022943496704101562 : -0.02294301986694336 +synthesis,objv1_scaled_objv2_scaled_-0.02294301986694336 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : -0.022942543029785156 : -0.02294301986694336 : -0.022942781448364258 +synthesis,objv1_scaled_objv2_scaled_-0.022942781448364258 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : -0.022942781448364258 : -0.02294301986694336 : -0.02294290065765381 +synthesis,objv1_scaled_objv2_scaled_-0.02294290065765381 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : -0.02294290065765381 : -0.02294301986694336 : -0.022942960262298584 +synthesis,objv1_scaled_objv2_scaled_-0.022942960262298584 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : -0.022942960262298584 : -0.02294301986694336 : -0.02294299006462097 +synthesis,objv1_scaled_objv2_scaled_-0.02294299006462097 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : -0.02294299006462097 : -0.02294301986694336 : -0.022943004965782166 +synthesis,objv1_scaled_objv2_scaled_-0.022943004965782166 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -6 : -0.022943004965782166 : -0.02294301986694336 : -0.022943012416362762 +synthesis,objv1_scaled_objv2_scaled_-0.022943012416362762 +ca,unsat +activity check, objective objv1 threshold -0.02294301986694336 +synthesis,thresholds_-0.022943009866943358_-0.02294301986694336_check +ca,unsat +activity check, objective objv2 threshold -0.02294301986694336 +synthesis,thresholds_-0.02294301986694336_-0.022943009866943358_check +ca,sat,0,0,0,0 +ce,unsat +pareto_iteration,1,objv1__objv2,-0.02294301986694336__None +single_objective_u0_l0_u_l, objv2_scaled : 1 : -0.022943009866943358 : inf : -0.022943009866943358 +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : inf : -0.022943009866943358 : 1 +synthesis,objv2_scaled_1 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : 1 : -0.022943009866943358 : 0.48852849506652835 +synthesis,objv2_scaled_0.48852849506652835 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : 0.48852849506652835 : -0.022943009866943358 : 0.2327927425997925 +synthesis,objv2_scaled_0.2327927425997925 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : 0.2327927425997925 : -0.022943009866943358 : 0.10492486636642456 +synthesis,objv2_scaled_0.10492486636642456 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : 0.10492486636642456 : -0.022943009866943358 : 0.0409909282497406 +synthesis,objv2_scaled_0.0409909282497406 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : 0.0409909282497406 : -0.022943009866943358 : 0.00902395919139862 +synthesis,objv2_scaled_0.00902395919139862 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : 0.00902395919139862 : -0.022943009866943358 : -0.0069595253377723685 +synthesis,objv2_scaled_-0.0069595253377723685 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : -0.0069595253377723685 : -0.022943009866943358 : -0.014951267602357862 +synthesis,objv2_scaled_-0.014951267602357862 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : -0.0069595253377723685 : -0.014951267602357862 : -0.010955396470065114 +synthesis,objv2_scaled_-0.010955396470065114 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : -0.0069595253377723685 : -0.010955396470065114 : -0.008957460903918742 +synthesis,objv2_scaled_-0.008957460903918742 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : -0.008957460903918742 : -0.010955396470065114 : -0.009956428686991928 +synthesis,objv2_scaled_-0.009956428686991928 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : -0.009956428686991928 : -0.010955396470065114 : -0.010455912578528521 +synthesis,objv2_scaled_-0.010455912578528521 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : -0.010455912578528521 : -0.010955396470065114 : -0.010705654524296818 +synthesis,objv2_scaled_-0.010705654524296818 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : -0.010455912578528521 : -0.010705654524296818 : -0.010580783551412669 +synthesis,objv2_scaled_-0.010580783551412669 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : -0.010580783551412669 : -0.010705654524296818 : -0.010643219037854743 +synthesis,objv2_scaled_-0.010643219037854743 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : -0.010580783551412669 : -0.010643219037854743 : -0.010612001294633706 +synthesis,objv2_scaled_-0.010612001294633706 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : -0.010612001294633706 : -0.010643219037854743 : -0.010627610166244224 +synthesis,objv2_scaled_-0.010627610166244224 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : -0.010612001294633706 : -0.010627610166244224 : -0.010619805730438966 +synthesis,objv2_scaled_-0.010619805730438966 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : -0.010612001294633706 : -0.010619805730438966 : -0.010615903512536336 +synthesis,objv2_scaled_-0.010615903512536336 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : -0.010612001294633706 : -0.010615903512536336 : -0.01061395240358502 +synthesis,objv2_scaled_-0.01061395240358502 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : -0.01061395240358502 : -0.010615903512536336 : -0.010614927958060679 +synthesis,objv2_scaled_-0.010614927958060679 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : -0.010614927958060679 : -0.010615903512536336 : -0.010615415735298507 +synthesis,objv2_scaled_-0.010615415735298507 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : -0.010614927958060679 : -0.010615415735298507 : -0.010615171846679594 +synthesis,objv2_scaled_-0.010615171846679594 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : -0.010615171846679594 : -0.010615415735298507 : -0.01061529379098905 +synthesis,objv2_scaled_-0.01061529379098905 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : -0.010615171846679594 : -0.01061529379098905 : -0.010615232818834322 +synthesis,objv2_scaled_-0.010615232818834322 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : -0.010615171846679594 : -0.010615232818834322 : -0.010615202332756958 +synthesis,objv2_scaled_-0.010615202332756958 +ca,sat,0,0,0,0 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : -0.010615171846679594 : -0.010615202332756958 : -0.010615187089718276 +synthesis,objv2_scaled_-0.010615187089718276 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2.0229430098669434 : -0.022943009866943358 : -0.010615187089718276 : -0.010615202332756958 : -0.010615194711237617 +synthesis,objv2_scaled_-0.010615194711237617 +ca,unsat diff --git a/regr_smlp/master/Test124_smlp_toy_basic.txt b/regr_smlp/master/Test124_smlp_toy_basic.txt index 99576c83..f4f5766b 100644 --- a/regr_smlp/master/Test124_smlp_toy_basic.txt +++ b/regr_smlp/master/Test124_smlp_toy_basic.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : y2<=0 +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': Fraction(1, 5), 'rad-rel': None}, 'p2': {'rad-abs': 0, 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test125_smlp_toy_basic.txt b/regr_smlp/master/Test125_smlp_toy_basic.txt index a403a99e..dce76040 100644 --- a/regr_smlp/master/Test125_smlp_toy_basic.txt +++ b/regr_smlp/master/Test125_smlp_toy_basic.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : y2<=0 +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': Fraction(1, 5), 'rad-rel': None}, 'p2': {'rad-abs': 0, 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test126_smlp_toy_basic.txt b/regr_smlp/master/Test126_smlp_toy_basic.txt index 30fc8916..3d87828b 100644 --- a/regr_smlp/master/Test126_smlp_toy_basic.txt +++ b/regr_smlp/master/Test126_smlp_toy_basic.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': Fraction(1, 5), 'rad-rel': None}, 'p2': {'rad-abs': 0, 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test127_smlp_toy_basic.txt b/regr_smlp/master/Test127_smlp_toy_basic.txt index df9a4335..cbc89fa1 100644 --- a/regr_smlp/master/Test127_smlp_toy_basic.txt +++ b/regr_smlp/master/Test127_smlp_toy_basic.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': Fraction(1, 5), 'rad-rel': None}, 'p2': {'rad-abs': 0, 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test128_smlp_toy_ctg_num_resp.txt b/regr_smlp/master/Test128_smlp_toy_ctg_num_resp.txt index df601b8f..95e49fbb 100644 --- a/regr_smlp/master/Test128_smlp_toy_ctg_num_resp.txt +++ b/regr_smlp/master/Test128_smlp_toy_ctg_num_resp.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test129_smlp_toy_ctg_num_resp.txt b/regr_smlp/master/Test129_smlp_toy_ctg_num_resp.txt index 5f24ef2b..1231a9f0 100644 --- a/regr_smlp/master/Test129_smlp_toy_ctg_num_resp.txt +++ b/regr_smlp/master/Test129_smlp_toy_ctg_num_resp.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test228_smlp_toy_basic.txt b/regr_smlp/master/Test228_smlp_toy_basic.txt index 158f5d45..7f3dbec6 100644 --- a/regr_smlp/master/Test228_smlp_toy_basic.txt +++ b/regr_smlp/master/Test228_smlp_toy_basic.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : p2<5 and x1==10 and x2<12 smlp_logger - INFO - Global beta : y1>=4 and y2>=8 +smlp_logger - INFO - Global eta : p1==4 or (p1==8 and p2 > 3) + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': 0.005}, 'p2': {'rad-abs': 0.0, 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} @@ -168,9 +170,9 @@ smlp_logger - INFO - Eta ranges constraints: (and (and true (and (>= p1 0) ( smlp_logger - INFO - Eta grid constraints: (or (or (= p1 2) (= p1 4)) (= p1 7)) -smlp_logger - INFO - Eta global constraints: true +smlp_logger - INFO - Eta global constraints: (or (= p1 4) (and (= p1 8) (> p2 3))) -smlp_logger - INFO - Eta combined constraints: (let ((|:0| true)) (and (and (and (and |:0| (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) |:0|)) +smlp_logger - INFO - Eta combined constraints: (and (and (and (and true (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) (or (= p1 4) (and (= p1 8) (> p2 3)))) smlp_logger - INFO - Creating model exploration base components: End diff --git a/regr_smlp/master/Test228_smlp_toy_basic_trace.csv b/regr_smlp/master/Test228_smlp_toy_basic_trace.csv index af9f5510..d73ff846 100644 --- a/regr_smlp/master/Test228_smlp_toy_basic_trace.csv +++ b/regr_smlp/master/Test228_smlp_toy_basic_trace.csv @@ -1,6 +1,6 @@ stage,solver,p1,p2,x1,x2,y1,y2 -interface_consistency,sat,2,3,10,0 -model_consistency,sat,2,3,10,0,2,12 +interface_consistency,sat,4,3,10,0 +model_consistency,sat,4,3,10,0,4,14 witness_consistency,sat,4,3,10,1,4,14 witness_consistency,unsat ca,sat,4,3,10,1,4,14 diff --git a/regr_smlp/master/Test230_smlp_toy_monotone_basic.txt b/regr_smlp/master/Test230_smlp_toy_monotone_basic.txt index 965bbcbc..20b72d34 100644 --- a/regr_smlp/master/Test230_smlp_toy_monotone_basic.txt +++ b/regr_smlp/master/Test230_smlp_toy_monotone_basic.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p': {'rad-abs': 0, 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test231_smlp_toy_monotone_basic.txt b/regr_smlp/master/Test231_smlp_toy_monotone_basic.txt index f7f8ee5d..09190eb3 100644 --- a/regr_smlp/master/Test231_smlp_toy_monotone_basic.txt +++ b/regr_smlp/master/Test231_smlp_toy_monotone_basic.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p': {'rad-abs': 0, 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test232_smlp_toy_system_running_example_certify.txt b/regr_smlp/master/Test232_smlp_toy_system_running_example_certify.txt index ce811e5a..9b942499 100644 --- a/regr_smlp/master/Test232_smlp_toy_system_running_example_certify.txt +++ b/regr_smlp/master/Test232_smlp_toy_system_running_example_certify.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test58_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test58_smlp_toy_num_resp_mult.txt index 77c79ebb..ef0f8303 100644 --- a/regr_smlp/master/Test58_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test58_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test59_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test59_smlp_toy_num_resp_mult.txt index 7c267c63..a6afe094 100644 --- a/regr_smlp/master/Test59_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test59_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : p1==1 or p1==4 or p1==7 smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test60_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test60_smlp_toy_num_resp_mult.txt index c917517d..a117a6a8 100644 --- a/regr_smlp/master/Test60_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test60_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : p1==1 or p1==4 or p1==7 smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test63_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test63_smlp_toy_num_resp_mult.txt index 19722ef7..fd377500 100644 --- a/regr_smlp/master/Test63_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test63_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : p1==1 or p1==4 or p1==7 smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test69_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test69_smlp_toy_num_resp_mult.txt index bcae9ce8..26e156c8 100644 --- a/regr_smlp/master/Test69_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test69_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : p1==1 or p1==4 or p1==7 smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test79_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test79_smlp_toy_num_resp_mult.txt index e4d068c9..c0a8d1e1 100644 --- a/regr_smlp/master/Test79_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test79_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test80_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test80_smlp_toy_num_resp_mult.txt index 414c94d6..9711a91c 100644 --- a/regr_smlp/master/Test80_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test80_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test81_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test81_smlp_toy_num_resp_mult.txt index 79f3cd98..97f6a49d 100644 --- a/regr_smlp/master/Test81_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test81_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test82_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test82_smlp_toy_num_resp_mult.txt index 31c23f6e..fa6d764a 100644 --- a/regr_smlp/master/Test82_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test82_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test83_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test83_smlp_toy_num_resp_mult.txt index 3bb53844..a5c5a71a 100644 --- a/regr_smlp/master/Test83_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test83_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : y1>7 and y2>6 +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test85_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test85_smlp_toy_num_resp_mult.txt index 0b810371..31199993 100644 --- a/regr_smlp/master/Test85_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test85_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : p2<5 and x==10 and x<12 smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : p1==4 + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test86_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test86_smlp_toy_num_resp_mult.txt index ee8c376b..de232a55 100644 --- a/regr_smlp/master/Test86_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test86_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : p2<5 and x==10 and x<12 smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : p1==4 + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test87_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test87_smlp_toy_num_resp_mult.txt index 9050d2b4..a48bfa95 100644 --- a/regr_smlp/master/Test87_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test87_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : p2==7.0 and x==0 and p1==2.5 smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test88_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test88_smlp_toy_num_resp_mult.txt index 293efd46..2a2a4bbb 100644 --- a/regr_smlp/master/Test88_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test88_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : y1>7 and y2>6 +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test89_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test89_smlp_toy_num_resp_mult.txt index b3a2de28..6379cf0c 100644 --- a/regr_smlp/master/Test89_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test89_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/Test90_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test90_smlp_toy_num_resp_mult.txt index e82f1d10..7eee1438 100644 --- a/regr_smlp/master/Test90_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test90_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : p2<5 and x==10 and x<12 smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : p1==4 or p1==8 + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.05} @@ -241,9 +243,9 @@ smlp_logger - INFO - Eta ranges constraints: (and (and true (and (>= p1 0) ( smlp_logger - INFO - Eta grid constraints: (or (or (= p1 2) (= p1 4)) (= p1 7)) -smlp_logger - INFO - Eta global constraints: true +smlp_logger - INFO - Eta global constraints: (or (= p1 4) (= p1 8)) -smlp_logger - INFO - Eta combined constraints: (let ((|:0| true)) (and (and (and (and |:0| (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) |:0|)) +smlp_logger - INFO - Eta combined constraints: (and (and (and (and true (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) (or (= p1 4) (= p1 8))) smlp_logger - INFO - Creating model exploration base components: End diff --git a/regr_smlp/master/Test90_smlp_toy_num_resp_mult_dt_sklearn_y1_tree_rules.txt b/regr_smlp/master/Test90_smlp_toy_num_resp_mult_dt_sklearn_y1_tree_rules.txt new file mode 100644 index 00000000..d0ba32e4 --- /dev/null +++ b/regr_smlp/master/Test90_smlp_toy_num_resp_mult_dt_sklearn_y1_tree_rules.txt @@ -0,0 +1,8 @@ +#Forest semantics: majority vote +#Number of trees: 1 + +#TREE 0 +if (p2 > 0.7000000178813934) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 3 samples +if (p2 <= 0.7000000178813934) and (x <= 0.8333333432674408) then (y1 = 0.0) | based on 3 samples +if (p2 > 0.7000000178813934) and (x > 0.6666666716337204) then (y1 = 0.0) | based on 1 samples +if (p2 <= 0.7000000178813934) and (x > 0.8333333432674408) then (y1 = 1.0) | based on 1 samples diff --git a/regr_smlp/master/Test90_smlp_toy_num_resp_mult_dt_sklearn_y2_tree_rules.txt b/regr_smlp/master/Test90_smlp_toy_num_resp_mult_dt_sklearn_y2_tree_rules.txt new file mode 100644 index 00000000..30a6a1be --- /dev/null +++ b/regr_smlp/master/Test90_smlp_toy_num_resp_mult_dt_sklearn_y2_tree_rules.txt @@ -0,0 +1,7 @@ +#Forest semantics: majority vote +#Number of trees: 1 + +#TREE 0 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 5 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples diff --git a/regr_smlp/master/Test90_smlp_toy_num_resp_mult_optimization_results.json b/regr_smlp/master/Test90_smlp_toy_num_resp_mult_optimization_results.json new file mode 100644 index 00000000..06c507b5 --- /dev/null +++ b/regr_smlp/master/Test90_smlp_toy_num_resp_mult_optimization_results.json @@ -0,0 +1,6 @@ +{ + "smlp_execution": "aborted", + "interface_consistent": "true", + "model_consistent": "true", + "synthesis_feasible": "false" +} \ No newline at end of file diff --git a/regr_smlp/master/Test90_smlp_toy_num_resp_mult_trace.csv b/regr_smlp/master/Test90_smlp_toy_num_resp_mult_trace.csv new file mode 100644 index 00000000..e51ef52a --- /dev/null +++ b/regr_smlp/master/Test90_smlp_toy_num_resp_mult_trace.csv @@ -0,0 +1,6 @@ +stage,solver,p1,p2,x,y1,y2 +interface_consistency,sat,4,3,10 +model_consistency,sat,4,3,10,5,9 +synthesis_feasibility +synthesis,synthesis_feasibility +ca,unsat diff --git a/regr_smlp/master/Test90_smlp_toy_num_resp_mult_y1_smlp_full_model_term.json b/regr_smlp/master/Test90_smlp_toy_num_resp_mult_y1_smlp_full_model_term.json new file mode 100644 index 00000000..a677952e --- /dev/null +++ b/regr_smlp/master/Test90_smlp_toy_num_resp_mult_y1_smlp_full_model_term.json @@ -0,0 +1 @@ +"{'y1': |:1| (/ 27962027 33554432))) 1 (ite (and (> |:0| (/ 23488103 33554432)) (> |:1| (/ 44739243 67108864))) 0 (ite (and (<= |:0| (/ 23488103 33554432)) (<= |:1| (/ 27962027 33554432))) 0 1))) 4) 5)))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test90_smlp_toy_num_resp_mult_y1_smlp_model_term.json b/regr_smlp/master/Test90_smlp_toy_num_resp_mult_y1_smlp_model_term.json new file mode 100644 index 00000000..53abcc73 --- /dev/null +++ b/regr_smlp/master/Test90_smlp_toy_num_resp_mult_y1_smlp_model_term.json @@ -0,0 +1 @@ +"{'y1_scaled': x_scaled (/ 27962027 33554432))) 1 (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (and (<= p2_scaled (/ 23488103 33554432)) (<= x_scaled (/ 27962027 33554432))) 0 1)))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test90_smlp_toy_num_resp_mult_y2_smlp_full_model_term.json b/regr_smlp/master/Test90_smlp_toy_num_resp_mult_y2_smlp_full_model_term.json new file mode 100644 index 00000000..200cb5d1 --- /dev/null +++ b/regr_smlp/master/Test90_smlp_toy_num_resp_mult_y2_smlp_full_model_term.json @@ -0,0 +1 @@ +"{'y2': |:0| (/ 53687093 134217728)) (> (* (/ 1 2) (- p1 2)) (/ 3 4))) 1 (ite (<= |:0| (/ 53687093 134217728)) 1 0)) 4) 5))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test90_smlp_toy_num_resp_mult_y2_smlp_model_term.json b/regr_smlp/master/Test90_smlp_toy_num_resp_mult_y2_smlp_model_term.json new file mode 100644 index 00000000..da199aee --- /dev/null +++ b/regr_smlp/master/Test90_smlp_toy_num_resp_mult_y2_smlp_model_term.json @@ -0,0 +1 @@ +"{'y2_scaled': p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 (ite (<= p2_scaled (/ 53687093 134217728)) 1 0))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test91_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test91_smlp_toy_num_resp_mult.txt index cebf153b..252f33ae 100644 --- a/regr_smlp/master/Test91_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test91_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : p2<5 and x>10 and x<12 smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : p1==4 or p1==8 + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.05} @@ -237,9 +239,9 @@ smlp_logger - INFO - Eta ranges constraints: (and (and true (and (>= p1 0) ( smlp_logger - INFO - Eta grid constraints: (or (or (= p1 2) (= p1 4)) (= p1 7)) -smlp_logger - INFO - Eta global constraints: true +smlp_logger - INFO - Eta global constraints: (or (= p1 4) (= p1 8)) -smlp_logger - INFO - Eta combined constraints: (let ((|:0| true)) (and (and (and (and |:0| (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) |:0|)) +smlp_logger - INFO - Eta combined constraints: (and (and (and (and true (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) (or (= p1 4) (= p1 8))) smlp_logger - INFO - Creating model exploration base components: End diff --git a/regr_smlp/master/Test91_smlp_toy_num_resp_mult_dt_sklearn_y1_tree_rules.txt b/regr_smlp/master/Test91_smlp_toy_num_resp_mult_dt_sklearn_y1_tree_rules.txt new file mode 100644 index 00000000..d0ba32e4 --- /dev/null +++ b/regr_smlp/master/Test91_smlp_toy_num_resp_mult_dt_sklearn_y1_tree_rules.txt @@ -0,0 +1,8 @@ +#Forest semantics: majority vote +#Number of trees: 1 + +#TREE 0 +if (p2 > 0.7000000178813934) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 3 samples +if (p2 <= 0.7000000178813934) and (x <= 0.8333333432674408) then (y1 = 0.0) | based on 3 samples +if (p2 > 0.7000000178813934) and (x > 0.6666666716337204) then (y1 = 0.0) | based on 1 samples +if (p2 <= 0.7000000178813934) and (x > 0.8333333432674408) then (y1 = 1.0) | based on 1 samples diff --git a/regr_smlp/master/Test91_smlp_toy_num_resp_mult_dt_sklearn_y2_tree_rules.txt b/regr_smlp/master/Test91_smlp_toy_num_resp_mult_dt_sklearn_y2_tree_rules.txt new file mode 100644 index 00000000..30a6a1be --- /dev/null +++ b/regr_smlp/master/Test91_smlp_toy_num_resp_mult_dt_sklearn_y2_tree_rules.txt @@ -0,0 +1,7 @@ +#Forest semantics: majority vote +#Number of trees: 1 + +#TREE 0 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 5 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples diff --git a/regr_smlp/master/Test91_smlp_toy_num_resp_mult_trace.csv b/regr_smlp/master/Test91_smlp_toy_num_resp_mult_trace.csv new file mode 100644 index 00000000..7d022c65 --- /dev/null +++ b/regr_smlp/master/Test91_smlp_toy_num_resp_mult_trace.csv @@ -0,0 +1,2 @@ +stage,solver,p1,p2,x,y1,y2 +interface_consistency,unsat diff --git a/regr_smlp/master/Test92_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test92_smlp_toy_num_resp_mult.txt index 2d92fd5f..f37ed97b 100644 --- a/regr_smlp/master/Test92_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test92_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : p2<5 and x>10 and x<12 smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : p1==4 or p1==8 + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} @@ -237,9 +239,9 @@ smlp_logger - INFO - Eta ranges constraints: (and (and true (and (>= p1 0) ( smlp_logger - INFO - Eta grid constraints: (and (= p1 4) (= p2 4)) -smlp_logger - INFO - Eta global constraints: true +smlp_logger - INFO - Eta global constraints: (or (= p1 4) (= p1 8)) -smlp_logger - INFO - Eta combined constraints: (let ((|:0| true)) (and (and (and (and |:0| (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (and (= p1 4) (= p2 4))) |:0|)) +smlp_logger - INFO - Eta combined constraints: (and (and (and (and true (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (and (= p1 4) (= p2 4))) (or (= p1 4) (= p1 8))) smlp_logger - INFO - Creating model exploration base components: End diff --git a/regr_smlp/master/Test92_smlp_toy_num_resp_mult_trace.csv b/regr_smlp/master/Test92_smlp_toy_num_resp_mult_trace.csv new file mode 100644 index 00000000..7d022c65 --- /dev/null +++ b/regr_smlp/master/Test92_smlp_toy_num_resp_mult_trace.csv @@ -0,0 +1,2 @@ +stage,solver,p1,p2,x,y1,y2 +interface_consistency,unsat diff --git a/regr_smlp/master/Test93_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test93_smlp_toy_num_resp_mult.txt index 76fb99b0..e8040986 100644 --- a/regr_smlp/master/Test93_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test93_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : p2<5 and x==10 and x<12 smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : p1==4 or p1==8 + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.05} @@ -241,9 +243,9 @@ smlp_logger - INFO - Eta ranges constraints: (and (and true (and (>= p1 0) ( smlp_logger - INFO - Eta grid constraints: (or (or (= p1 2) (= p1 4)) (= p1 7)) -smlp_logger - INFO - Eta global constraints: true +smlp_logger - INFO - Eta global constraints: (or (= p1 4) (= p1 8)) -smlp_logger - INFO - Eta combined constraints: (let ((|:0| true)) (and (and (and (and |:0| (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) |:0|)) +smlp_logger - INFO - Eta combined constraints: (and (and (and (and true (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) (or (= p1 4) (= p1 8))) smlp_logger - INFO - Creating model exploration base components: End diff --git a/regr_smlp/master/Test93_smlp_toy_num_resp_mult_dt_sklearn_y1_tree_rules.txt b/regr_smlp/master/Test93_smlp_toy_num_resp_mult_dt_sklearn_y1_tree_rules.txt new file mode 100644 index 00000000..d0ba32e4 --- /dev/null +++ b/regr_smlp/master/Test93_smlp_toy_num_resp_mult_dt_sklearn_y1_tree_rules.txt @@ -0,0 +1,8 @@ +#Forest semantics: majority vote +#Number of trees: 1 + +#TREE 0 +if (p2 > 0.7000000178813934) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 3 samples +if (p2 <= 0.7000000178813934) and (x <= 0.8333333432674408) then (y1 = 0.0) | based on 3 samples +if (p2 > 0.7000000178813934) and (x > 0.6666666716337204) then (y1 = 0.0) | based on 1 samples +if (p2 <= 0.7000000178813934) and (x > 0.8333333432674408) then (y1 = 1.0) | based on 1 samples diff --git a/regr_smlp/master/Test93_smlp_toy_num_resp_mult_dt_sklearn_y2_tree_rules.txt b/regr_smlp/master/Test93_smlp_toy_num_resp_mult_dt_sklearn_y2_tree_rules.txt new file mode 100644 index 00000000..30a6a1be --- /dev/null +++ b/regr_smlp/master/Test93_smlp_toy_num_resp_mult_dt_sklearn_y2_tree_rules.txt @@ -0,0 +1,7 @@ +#Forest semantics: majority vote +#Number of trees: 1 + +#TREE 0 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 5 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples diff --git a/regr_smlp/master/Test93_smlp_toy_num_resp_mult_optimization_progress.csv b/regr_smlp/master/Test93_smlp_toy_num_resp_mult_optimization_progress.csv index 60634d70..381e0fb6 100644 --- a/regr_smlp/master/Test93_smlp_toy_num_resp_mult_optimization_progress.csv +++ b/regr_smlp/master/Test93_smlp_toy_num_resp_mult_optimization_progress.csv @@ -1,4 +1,4 @@ Iteration,p1,p2,x,y1,y2,objv1,objv2 -vacuity,2.0,4.0,10.0,5.0,9.0,7.0,5.0 -"iter(0, 'completed')",2.0,4.0,10.0,5.0,9.0,7.0,5.0 -final,2.0,4.0,10.0,5.0,9.0,7.0,5.0 +vacuity,4.0,4.0,10.0,5.0,9.0,7.0,5.0 +"iter(0, 'completed')",4.0,4.0,10.0,5.0,9.0,7.0,5.0 +final,4.0,4.0,10.0,5.0,9.0,7.0,5.0 diff --git a/regr_smlp/master/Test93_smlp_toy_num_resp_mult_optimization_progress.json b/regr_smlp/master/Test93_smlp_toy_num_resp_mult_optimization_progress.json index 5e0cb1d0..cfc00163 100644 --- a/regr_smlp/master/Test93_smlp_toy_num_resp_mult_optimization_progress.json +++ b/regr_smlp/master/Test93_smlp_toy_num_resp_mult_optimization_progress.json @@ -18,7 +18,7 @@ "value_in_config": 10.0 }, "p1": { - "value_in_config": 2.0 + "value_in_config": 4.0 }, "p2": { "value_in_config": 4.0 @@ -49,7 +49,7 @@ "value_in_config": 10.0 }, "p1": { - "value_in_config": 2.0 + "value_in_config": 4.0 }, "p2": { "value_in_config": 4.0 @@ -101,7 +101,7 @@ "value_in_config": 10.0 }, "p1": { - "value_in_config": 2.0 + "value_in_config": 4.0 }, "p2": { "value_in_config": 4.0 diff --git a/regr_smlp/master/Test93_smlp_toy_num_resp_mult_optimization_results.csv b/regr_smlp/master/Test93_smlp_toy_num_resp_mult_optimization_results.csv index e2b87516..04b6c744 100644 --- a/regr_smlp/master/Test93_smlp_toy_num_resp_mult_optimization_results.csv +++ b/regr_smlp/master/Test93_smlp_toy_num_resp_mult_optimization_results.csv @@ -1,2 +1,2 @@ Iteration,p1,p2,x,y1,y2,objv1,objv2 -final,2.0,4.0,10.0,5.0,9.0,7.0,5.0 +final,4.0,4.0,10.0,5.0,9.0,7.0,5.0 diff --git a/regr_smlp/master/Test93_smlp_toy_num_resp_mult_optimization_results.json b/regr_smlp/master/Test93_smlp_toy_num_resp_mult_optimization_results.json index 49462437..74c233c1 100644 --- a/regr_smlp/master/Test93_smlp_toy_num_resp_mult_optimization_results.json +++ b/regr_smlp/master/Test93_smlp_toy_num_resp_mult_optimization_results.json @@ -17,7 +17,7 @@ "value_in_config": 10.0 }, "p1": { - "value_in_config": 2.0 + "value_in_config": 4.0 }, "p2": { "value_in_config": 4.0 diff --git a/regr_smlp/master/Test93_smlp_toy_num_resp_mult_trace.csv b/regr_smlp/master/Test93_smlp_toy_num_resp_mult_trace.csv new file mode 100644 index 00000000..bd158d08 --- /dev/null +++ b/regr_smlp/master/Test93_smlp_toy_num_resp_mult_trace.csv @@ -0,0 +1,34 @@ +stage,solver,p1,p2,x,y1,y2 +interface_consistency,sat,4,3,10 +model_consistency,sat,4,3,10,5,9 +synthesis_feasibility +synthesis,synthesis_feasibility +ca,sat,4,4,10,5,9 +ce,unsat +pareto_iteration,0,objv1__objv2,None__None +single_objective_u0_l0_u_l, objv1_scaled_objv2_scaled : 1 : 0 : inf : -inf +objective_thresholds_u0_l0_u_l_T, 2 : 0 : inf : -inf : 1 +synthesis,objv1_scaled_objv2_scaled_1 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 1 : -inf : 0 +synthesis,objv1_scaled_objv2_scaled_0 +ca,sat,4,4,10,5,9 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 1 : 0 : 0.5 +synthesis,objv1_scaled_objv2_scaled_0.5 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 0.5 : 0 : 0.25 +synthesis,objv1_scaled_objv2_scaled_0.25 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 0.25 : 0 : 0.125 +synthesis,objv1_scaled_objv2_scaled_0.125 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 0.125 : 0 : 0.0625 +synthesis,objv1_scaled_objv2_scaled_0.0625 +ca,unsat +activity check, objective objv1 threshold 0.0 +synthesis,thresholds_0.1_0.0_check +ca,unsat +activity check, objective objv2 threshold 0.0 +synthesis,thresholds_0.0_0.1_check +ca,unsat diff --git a/regr_smlp/master/Test93_smlp_toy_num_resp_mult_y1_smlp_full_model_term.json b/regr_smlp/master/Test93_smlp_toy_num_resp_mult_y1_smlp_full_model_term.json new file mode 100644 index 00000000..a677952e --- /dev/null +++ b/regr_smlp/master/Test93_smlp_toy_num_resp_mult_y1_smlp_full_model_term.json @@ -0,0 +1 @@ +"{'y1': |:1| (/ 27962027 33554432))) 1 (ite (and (> |:0| (/ 23488103 33554432)) (> |:1| (/ 44739243 67108864))) 0 (ite (and (<= |:0| (/ 23488103 33554432)) (<= |:1| (/ 27962027 33554432))) 0 1))) 4) 5)))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test93_smlp_toy_num_resp_mult_y1_smlp_model_term.json b/regr_smlp/master/Test93_smlp_toy_num_resp_mult_y1_smlp_model_term.json new file mode 100644 index 00000000..53abcc73 --- /dev/null +++ b/regr_smlp/master/Test93_smlp_toy_num_resp_mult_y1_smlp_model_term.json @@ -0,0 +1 @@ +"{'y1_scaled': x_scaled (/ 27962027 33554432))) 1 (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (and (<= p2_scaled (/ 23488103 33554432)) (<= x_scaled (/ 27962027 33554432))) 0 1)))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test93_smlp_toy_num_resp_mult_y2_smlp_full_model_term.json b/regr_smlp/master/Test93_smlp_toy_num_resp_mult_y2_smlp_full_model_term.json new file mode 100644 index 00000000..200cb5d1 --- /dev/null +++ b/regr_smlp/master/Test93_smlp_toy_num_resp_mult_y2_smlp_full_model_term.json @@ -0,0 +1 @@ +"{'y2': |:0| (/ 53687093 134217728)) (> (* (/ 1 2) (- p1 2)) (/ 3 4))) 1 (ite (<= |:0| (/ 53687093 134217728)) 1 0)) 4) 5))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test93_smlp_toy_num_resp_mult_y2_smlp_model_term.json b/regr_smlp/master/Test93_smlp_toy_num_resp_mult_y2_smlp_model_term.json new file mode 100644 index 00000000..da199aee --- /dev/null +++ b/regr_smlp/master/Test93_smlp_toy_num_resp_mult_y2_smlp_model_term.json @@ -0,0 +1 @@ +"{'y2_scaled': p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 (ite (<= p2_scaled (/ 53687093 134217728)) 1 0))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test94_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test94_smlp_toy_num_resp_mult.txt index 8b684b5e..1d9ba701 100644 --- a/regr_smlp/master/Test94_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test94_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : p2<5 and x==10 and x<12 smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : p1==4 or p1==8 + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.05} @@ -241,9 +243,9 @@ smlp_logger - INFO - Eta ranges constraints: (and (and true (and (>= p1 0) ( smlp_logger - INFO - Eta grid constraints: (or (or (= p1 2) (= p1 4)) (= p1 7)) -smlp_logger - INFO - Eta global constraints: true +smlp_logger - INFO - Eta global constraints: (or (= p1 4) (= p1 8)) -smlp_logger - INFO - Eta combined constraints: (let ((|:0| true)) (and (and (and (and |:0| (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) |:0|)) +smlp_logger - INFO - Eta combined constraints: (and (and (and (and true (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) (or (= p1 4) (= p1 8))) smlp_logger - INFO - Creating model exploration base components: End diff --git a/regr_smlp/master/Test94_smlp_toy_num_resp_mult_rf_sklearn_y1_tree_rules.txt b/regr_smlp/master/Test94_smlp_toy_num_resp_mult_rf_sklearn_y1_tree_rules.txt new file mode 100644 index 00000000..298eb28e --- /dev/null +++ b/regr_smlp/master/Test94_smlp_toy_num_resp_mult_rf_sklearn_y1_tree_rules.txt @@ -0,0 +1,438 @@ +#Forest semantics: majority vote +#Number of trees: 100 + +#TREE 0 +if (x > 0.1666666716337204) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 2 samples +if (x > 0.1666666716337204) and (x > 0.6666666716337204) and (p2 > 0.5000000074505806) then (y1 = 0.0) | based on 1 samples +if (x > 0.1666666716337204) and (x > 0.6666666716337204) and (p2 <= 0.5000000074505806) then (y1 = 1.0) | based on 1 samples +if (x <= 0.1666666716337204) and (p1 > 0.75) then (y1 = 1.0) | based on 1 samples +if (x <= 0.1666666716337204) and (p1 <= 0.75) then (y1 = 0.0) | based on 1 samples +#TREE 1 +if (p1 <= 0.75) and (p2 > 0.4000000134110451) and (p2 <= 0.9000000059604645) then (y1 = 0.0) | based on 2 samples +if (p1 > 0.75) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 > 0.4000000134110451) and (p2 > 0.9000000059604645) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +#TREE 2 +if (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 3 samples +if (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 2 samples +#TREE 3 +if (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 3 samples +if (p2 <= 0.7000000178813934) and (x <= 0.8333333432674408) then (y1 = 0.0) | based on 2 samples +if (p2 <= 0.7000000178813934) and (x > 0.8333333432674408) then (y1 = 1.0) | based on 1 samples +#TREE 4 +if (p1 <= 0.25) and (x > 0.5000000149011612) and (p2 > 0.4000000134110451) then (y1 = 0.0) | based on 2 samples +if (p1 > 0.25) then (y1 = 0.0) | based on 1 samples +if (p1 <= 0.25) and (x > 0.5000000149011612) and (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.25) and (x <= 0.5000000149011612) then (y1 = 1.0) | based on 1 samples +#TREE 5 +if (x > 0.1666666716337204) and (x > 0.5000000149011612) and (p2 > 0.4000000134110451) then (y1 = 0.0) | based on 2 samples +if (x > 0.1666666716337204) and (x <= 0.5000000149011612) then (y1 = 1.0) | based on 2 samples +if (x > 0.1666666716337204) and (x > 0.5000000149011612) and (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +if (x <= 0.1666666716337204) then (y1 = 0.0) | based on 1 samples +#TREE 6 +if (p2 > 0.7000000178813934) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 3 samples +if (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 2 samples +if (p2 > 0.7000000178813934) and (x > 0.6666666716337204) then (y1 = 0.0) | based on 1 samples +#TREE 7 +if (p2 <= 0.9000000059604645) then (y1 = 0.0) | based on 3 samples +if (p2 > 0.9000000059604645) then (y1 = 1.0) | based on 1 samples +#TREE 8 +if (x > 0.1666666716337204) and (p2 > 0.4000000134110451) then (y1 = 0.0) | based on 2 samples +if (x > 0.1666666716337204) and (p2 <= 0.4000000134110451) and (p2 > 0.10000000149011612) then (y1 = 1.0) | based on 1 samples +if (x > 0.1666666716337204) and (p2 <= 0.4000000134110451) and (p2 <= 0.10000000149011612) then (y1 = 0.0) | based on 1 samples +if (x <= 0.1666666716337204) then (y1 = 1.0) | based on 1 samples +#TREE 9 +if (p2 <= 0.7000000178813934) and (x <= 0.8333333432674408) then (y1 = 0.0) | based on 3 samples +if (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 2 samples +if (p2 <= 0.7000000178813934) and (x > 0.8333333432674408) then (y1 = 1.0) | based on 1 samples +#TREE 10 +if (x > 0.1666666716337204) and (x <= 0.5000000149011612) then (y1 = 1.0) | based on 2 samples +if (x > 0.1666666716337204) and (x > 0.5000000149011612) and (x > 0.8333333432674408) then (y1 = 1.0) | based on 1 samples +if (x > 0.1666666716337204) and (x > 0.5000000149011612) and (x <= 0.8333333432674408) then (y1 = 0.0) | based on 1 samples +if (x <= 0.1666666716337204) then (y1 = 0.0) | based on 1 samples +#TREE 11 +if (p2 > 0.10000000149011612) then (y1 = 1.0) | based on 3 samples +if (p2 <= 0.10000000149011612) then (y1 = 0.0) | based on 1 samples +#TREE 12 +if (x > 0.1666666716337204) and (p2 > 0.5000000074505806) and (x > 0.6666666716337204) then (y1 = 0.0) | based on 1 samples +if (x > 0.1666666716337204) and (p2 > 0.5000000074505806) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 1 samples +if (x > 0.1666666716337204) and (p2 <= 0.5000000074505806) then (y1 = 1.0) | based on 1 samples +if (x <= 0.1666666716337204) then (y1 = 0.0) | based on 1 samples +#TREE 13 +if (x > 0.1666666716337204) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 2 samples +if (x > 0.1666666716337204) and (x > 0.6666666716337204) and (p2 > 0.5000000074505806) then (y1 = 0.0) | based on 1 samples +if (x > 0.1666666716337204) and (x > 0.6666666716337204) and (p2 <= 0.5000000074505806) then (y1 = 1.0) | based on 1 samples +if (x <= 0.1666666716337204) then (y1 = 0.0) | based on 1 samples +#TREE 14 +if (p2 > 0.4000000134110451) and (p2 <= 0.9000000059604645) then (y1 = 0.0) | based on 3 samples +if (p2 > 0.4000000134110451) and (p2 > 0.9000000059604645) then (y1 = 1.0) | based on 1 samples +if (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +#TREE 15 +(y1 = 1.0) | based on 3 samples +#TREE 16 +if (p2 > 0.10000000149011612) and (p2 > 0.4000000134110451) and (p2 > 0.7000000178813934) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 2 samples +if (p2 > 0.10000000149011612) and (p2 > 0.4000000134110451) and (p2 > 0.7000000178813934) and (x > 0.6666666716337204) then (y1 = 0.0) | based on 1 samples +if (p2 > 0.10000000149011612) and (p2 > 0.4000000134110451) and (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 1 samples +if (p2 > 0.10000000149011612) and (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +if (p2 <= 0.10000000149011612) then (y1 = 0.0) | based on 1 samples +#TREE 17 +if (p2 <= 0.9000000059604645) then (y1 = 0.0) | based on 3 samples +if (p2 > 0.9000000059604645) then (y1 = 1.0) | based on 1 samples +#TREE 18 +if (x > 0.1666666716337204) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 2 samples +if (x > 0.1666666716337204) and (x > 0.6666666716337204) and (p2 > 0.5000000074505806) then (y1 = 0.0) | based on 1 samples +if (x > 0.1666666716337204) and (x > 0.6666666716337204) and (p2 <= 0.5000000074505806) then (y1 = 1.0) | based on 1 samples +if (x <= 0.1666666716337204) then (y1 = 0.0) | based on 1 samples +#TREE 19 +if (p2 > 0.7000000178813934) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 3 samples +if (p2 <= 0.7000000178813934) and (x <= 0.8333333432674408) then (y1 = 0.0) | based on 3 samples +if (p2 > 0.7000000178813934) and (x > 0.6666666716337204) then (y1 = 0.0) | based on 1 samples +if (p2 <= 0.7000000178813934) and (x > 0.8333333432674408) then (y1 = 1.0) | based on 1 samples +#TREE 20 +if (x <= 0.5000000149011612) then (y1 = 1.0) | based on 3 samples +if (x > 0.5000000149011612) and (p2 > 0.4000000134110451) then (y1 = 0.0) | based on 1 samples +if (x > 0.5000000149011612) and (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +#TREE 21 +if (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 3 samples +if (p2 <= 0.7000000178813934) and (p2 > 0.4000000134110451) then (y1 = 0.0) | based on 2 samples +if (p2 <= 0.7000000178813934) and (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +#TREE 22 +if (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 2 samples +if (p2 <= 0.7000000178813934) and (x > 0.5) then (y1 = 1.0) | based on 1 samples +if (p2 <= 0.7000000178813934) and (x <= 0.5) then (y1 = 0.0) | based on 1 samples +#TREE 23 +if (p2 > 0.4000000134110451) and (p2 <= 0.9000000059604645) then (y1 = 0.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p2 > 0.9000000059604645) then (y1 = 1.0) | based on 1 samples +if (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +#TREE 24 +if (p2 <= 0.7000000178813934) and (x <= 0.8333333432674408) then (y1 = 0.0) | based on 3 samples +if (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 2 samples +if (p2 <= 0.7000000178813934) and (x > 0.8333333432674408) then (y1 = 1.0) | based on 1 samples +#TREE 25 +if (x <= 0.5000000149011612) then (y1 = 1.0) | based on 3 samples +if (x > 0.5000000149011612) and (p2 > 0.4000000134110451) then (y1 = 0.0) | based on 2 samples +if (x > 0.5000000149011612) and (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +#TREE 26 +if (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 3 samples +if (p2 > 0.7000000178813934) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 2 samples +if (p2 > 0.7000000178813934) and (x > 0.6666666716337204) then (y1 = 0.0) | based on 1 samples +#TREE 27 +if (p2 > 0.10000000149011612) and (p2 <= 0.9000000059604645) and (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y1 = 0.0) | based on 2 samples +if (p2 > 0.10000000149011612) and (p2 > 0.9000000059604645) then (y1 = 1.0) | based on 1 samples +if (p2 > 0.10000000149011612) and (p2 <= 0.9000000059604645) and (p2 > 0.4000000134110451) and (p1 > 0.75) then (y1 = 1.0) | based on 1 samples +if (p2 > 0.10000000149011612) and (p2 <= 0.9000000059604645) and (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +if (p2 <= 0.10000000149011612) then (y1 = 0.0) | based on 1 samples +#TREE 28 +if (p2 > 0.10000000149011612) then (y1 = 1.0) | based on 2 samples +if (p2 <= 0.10000000149011612) then (y1 = 0.0) | based on 1 samples +#TREE 29 +if (p2 > 0.4000000134110451) and (p1 > 0.25) and (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p1 > 0.25) and (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 1 samples +if (p2 > 0.4000000134110451) and (p1 <= 0.25) then (y1 = 0.0) | based on 1 samples +if (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +#TREE 30 +if (p2 <= 0.7000000178813934) and (x <= 0.8333333432674408) then (y1 = 0.0) | based on 3 samples +if (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 1 samples +if (p2 <= 0.7000000178813934) and (x > 0.8333333432674408) then (y1 = 1.0) | based on 1 samples +#TREE 31 +if (p2 <= 0.9000000059604645) and (p2 > 0.4000000134110451) then (y1 = 0.0) | based on 3 samples +if (p2 > 0.9000000059604645) then (y1 = 1.0) | based on 1 samples +if (p2 <= 0.9000000059604645) and (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +#TREE 32 +if (p2 > 0.5000000074505806) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 3 samples +if (p2 > 0.5000000074505806) and (x > 0.6666666716337204) then (y1 = 0.0) | based on 1 samples +if (p2 <= 0.5000000074505806) then (y1 = 1.0) | based on 1 samples +#TREE 33 +if (p1 > 0.25) then (y1 = 1.0) | based on 2 samples +if (p1 <= 0.25) and (p2 <= 0.9000000059604645) and (x <= 0.8333333432674408) then (y1 = 0.0) | based on 2 samples +if (p1 <= 0.25) and (p2 > 0.9000000059604645) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.25) and (p2 <= 0.9000000059604645) and (x > 0.8333333432674408) and (p2 > 0.5000000074505806) then (y1 = 0.0) | based on 1 samples +if (p1 <= 0.25) and (p2 <= 0.9000000059604645) and (x > 0.8333333432674408) and (p2 <= 0.5000000074505806) then (y1 = 1.0) | based on 1 samples +#TREE 34 +if (p2 > 0.10000000149011612) and (x > 0.1666666716337204) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 2 samples +if (p2 > 0.10000000149011612) and (x > 0.1666666716337204) and (x > 0.6666666716337204) and (p2 > 0.5000000074505806) then (y1 = 0.0) | based on 1 samples +if (p2 > 0.10000000149011612) and (x > 0.1666666716337204) and (x > 0.6666666716337204) and (p2 <= 0.5000000074505806) then (y1 = 1.0) | based on 1 samples +if (p2 > 0.10000000149011612) and (x <= 0.1666666716337204) then (y1 = 0.0) | based on 1 samples +if (p2 <= 0.10000000149011612) then (y1 = 0.0) | based on 1 samples +#TREE 35 +if (p2 > 0.7000000178813934) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 3 samples +if (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 2 samples +if (p2 > 0.7000000178813934) and (x > 0.6666666716337204) then (y1 = 0.0) | based on 1 samples +#TREE 36 +if (x <= 0.5000000149011612) then (y1 = 1.0) | based on 3 samples +if (x > 0.5000000149011612) then (y1 = 0.0) | based on 2 samples +#TREE 37 +if (p2 > 0.9000000059604645) then (y1 = 1.0) | based on 1 samples +if (p2 <= 0.9000000059604645) and (p2 > 0.5000000074505806) then (y1 = 0.0) | based on 1 samples +if (p2 <= 0.9000000059604645) and (p2 <= 0.5000000074505806) and (x > 0.6666666716337204) then (y1 = 1.0) | based on 1 samples +if (p2 <= 0.9000000059604645) and (p2 <= 0.5000000074505806) and (x <= 0.6666666716337204) then (y1 = 0.0) | based on 1 samples +#TREE 38 +if (p1 > 0.25) then (y1 = 1.0) | based on 2 samples +if (p1 <= 0.25) and (p2 > 0.4000000134110451) then (y1 = 0.0) | based on 1 samples +if (p1 <= 0.25) and (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +#TREE 39 +if (p1 <= 0.75) and (p2 <= 0.9000000059604645) and (p2 > 0.4000000134110451) then (y1 = 0.0) | based on 3 samples +if (p1 > 0.75) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 > 0.9000000059604645) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 <= 0.9000000059604645) and (p2 <= 0.4000000134110451) and (p2 > 0.10000000149011612) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 <= 0.9000000059604645) and (p2 <= 0.4000000134110451) and (p2 <= 0.10000000149011612) then (y1 = 0.0) | based on 1 samples +#TREE 40 +if (p1 <= 0.75) and (p2 <= 0.9000000059604645) and (p2 > 0.4000000134110451) then (y1 = 0.0) | based on 2 samples +if (p1 > 0.75) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 > 0.9000000059604645) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 <= 0.9000000059604645) and (p2 <= 0.4000000134110451) and (x > 0.6666666716337204) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 <= 0.9000000059604645) and (p2 <= 0.4000000134110451) and (x <= 0.6666666716337204) then (y1 = 0.0) | based on 1 samples +#TREE 41 +if (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 2 samples +if (p2 <= 0.7000000178813934) and (p2 > 0.4000000134110451) then (y1 = 0.0) | based on 2 samples +if (p2 <= 0.7000000178813934) and (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +#TREE 42 +if (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 2 samples +if (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 2 samples +#TREE 43 +if (p2 <= 0.7000000178813934) and (x <= 0.8333333432674408) then (y1 = 0.0) | based on 3 samples +if (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 2 samples +if (p2 <= 0.7000000178813934) and (x > 0.8333333432674408) then (y1 = 1.0) | based on 1 samples +#TREE 44 +if (x > 0.1666666716337204) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 2 samples +if (x > 0.1666666716337204) and (x > 0.6666666716337204) and (p2 > 0.5000000074505806) then (y1 = 0.0) | based on 1 samples +if (x > 0.1666666716337204) and (x > 0.6666666716337204) and (p2 <= 0.5000000074505806) then (y1 = 1.0) | based on 1 samples +if (x <= 0.1666666716337204) and (p1 > 0.75) then (y1 = 1.0) | based on 1 samples +if (x <= 0.1666666716337204) and (p1 <= 0.75) then (y1 = 0.0) | based on 1 samples +#TREE 45 +if (p2 > 0.10000000149011612) and (p1 <= 0.75) and (x > 0.1666666716337204) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 2 samples +if (p2 > 0.10000000149011612) and (p1 > 0.75) then (y1 = 1.0) | based on 1 samples +if (p2 > 0.10000000149011612) and (p1 <= 0.75) and (x > 0.1666666716337204) and (x > 0.6666666716337204) and (p2 > 0.5000000074505806) then (y1 = 0.0) | based on 1 samples +if (p2 > 0.10000000149011612) and (p1 <= 0.75) and (x > 0.1666666716337204) and (x > 0.6666666716337204) and (p2 <= 0.5000000074505806) then (y1 = 1.0) | based on 1 samples +if (p2 > 0.10000000149011612) and (p1 <= 0.75) and (x <= 0.1666666716337204) then (y1 = 0.0) | based on 1 samples +if (p2 <= 0.10000000149011612) then (y1 = 0.0) | based on 1 samples +#TREE 46 +if (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 3 samples +if (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 1 samples +#TREE 47 +if (p1 <= 0.75) and (x <= 0.8333333432674408) then (y1 = 0.0) | based on 3 samples +if (p1 > 0.75) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (x > 0.8333333432674408) and (p2 > 0.5000000074505806) then (y1 = 0.0) | based on 1 samples +if (p1 <= 0.75) and (x > 0.8333333432674408) and (p2 <= 0.5000000074505806) then (y1 = 1.0) | based on 1 samples +#TREE 48 +if (p2 > 0.10000000149011612) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 2 samples +if (p2 > 0.10000000149011612) and (x > 0.6666666716337204) and (p2 > 0.5000000074505806) then (y1 = 0.0) | based on 1 samples +if (p2 > 0.10000000149011612) and (x > 0.6666666716337204) and (p2 <= 0.5000000074505806) then (y1 = 1.0) | based on 1 samples +if (p2 <= 0.10000000149011612) then (y1 = 0.0) | based on 1 samples +#TREE 49 +if (p2 <= 0.9000000059604645) then (y1 = 0.0) | based on 3 samples +if (p2 > 0.9000000059604645) then (y1 = 1.0) | based on 1 samples +#TREE 50 +if (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 3 samples +if (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 3 samples +#TREE 51 +if (x <= 0.6666666716337204) then (y1 = 1.0) | based on 3 samples +if (x > 0.6666666716337204) and (p2 > 0.5000000074505806) then (y1 = 0.0) | based on 1 samples +if (x > 0.6666666716337204) and (p2 <= 0.5000000074505806) then (y1 = 1.0) | based on 1 samples +#TREE 52 +if (p2 > 0.10000000149011612) then (y1 = 1.0) | based on 3 samples +if (p2 <= 0.10000000149011612) then (y1 = 0.0) | based on 1 samples +#TREE 53 +if (p1 <= 0.75) and (p2 > 0.4000000134110451) then (y1 = 0.0) | based on 2 samples +if (p1 > 0.75) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 <= 0.4000000134110451) and (p2 > 0.10000000149011612) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 <= 0.4000000134110451) and (p2 <= 0.10000000149011612) then (y1 = 0.0) | based on 1 samples +#TREE 54 +if (p2 > 0.9000000059604645) then (y1 = 1.0) | based on 1 samples +if (p2 <= 0.9000000059604645) and (x > 0.1666666716337204) and (x > 0.6666666716337204) then (y1 = 0.0) | based on 1 samples +if (p2 <= 0.9000000059604645) and (x > 0.1666666716337204) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 1 samples +if (p2 <= 0.9000000059604645) and (x <= 0.1666666716337204) then (y1 = 0.0) | based on 1 samples +#TREE 55 +if (p1 <= 0.25) and (p2 > 0.4000000134110451) then (y1 = 0.0) | based on 2 samples +if (p1 > 0.25) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.25) and (p2 <= 0.4000000134110451) and (p2 > 0.10000000149011612) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.25) and (p2 <= 0.4000000134110451) and (p2 <= 0.10000000149011612) then (y1 = 0.0) | based on 1 samples +#TREE 56 +if (p2 > 0.10000000149011612) then (y1 = 1.0) | based on 3 samples +if (p2 <= 0.10000000149011612) then (y1 = 0.0) | based on 1 samples +#TREE 57 +if (p2 > 0.4000000059604645) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 3 samples +if (p2 > 0.4000000059604645) and (x > 0.6666666716337204) then (y1 = 0.0) | based on 1 samples +if (p2 <= 0.4000000059604645) then (y1 = 0.0) | based on 1 samples +#TREE 58 +if (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 2 samples +if (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 2 samples +#TREE 59 +if (x > 0.1666666716337204) and (p2 > 0.4000000134110451) and (x > 0.5000000149011612) then (y1 = 0.0) | based on 2 samples +if (x > 0.1666666716337204) and (p2 > 0.4000000134110451) and (x <= 0.5000000149011612) then (y1 = 1.0) | based on 2 samples +if (x > 0.1666666716337204) and (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +if (x <= 0.1666666716337204) then (y1 = 0.0) | based on 1 samples +#TREE 60 +if (p1 > 0.25) then (y1 = 1.0) | based on 2 samples +if (p1 <= 0.25) and (x <= 0.8333333432674408) then (y1 = 0.0) | based on 2 samples +if (p1 <= 0.25) and (x > 0.8333333432674408) then (y1 = 1.0) | based on 1 samples +#TREE 61 +if (p1 <= 0.25) then (y1 = 0.0) | based on 2 samples +if (p1 > 0.25) and (x > 0.1666666716337204) then (y1 = 1.0) | based on 1 samples +if (p1 > 0.25) and (x <= 0.1666666716337204) then (y1 = 0.0) | based on 1 samples +#TREE 62 +if (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 3 samples +if (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 2 samples +#TREE 63 +if (x <= 0.8333333432674408) and (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 2 samples +if (x <= 0.8333333432674408) and (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 2 samples +if (x > 0.8333333432674408) then (y1 = 1.0) | based on 1 samples +#TREE 64 +if (p1 <= 0.25) then (y1 = 0.0) | based on 3 samples +if (p1 > 0.25) then (y1 = 1.0) | based on 1 samples +#TREE 65 +if (p2 > 0.7000000178813934) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 3 samples +if (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 2 samples +if (p2 > 0.7000000178813934) and (x > 0.6666666716337204) then (y1 = 0.0) | based on 1 samples +#TREE 66 +(y1 = 0.0) | based on 4 samples +#TREE 67 +if (x <= 0.8333333432674408) and (p2 <= 0.800000011920929) then (y1 = 0.0) | based on 3 samples +if (x > 0.8333333432674408) then (y1 = 1.0) | based on 1 samples +if (x <= 0.8333333432674408) and (p2 > 0.800000011920929) then (y1 = 1.0) | based on 1 samples +#TREE 68 +if (p2 <= 0.7000000178813934) and (x <= 0.8333333432674408) then (y1 = 0.0) | based on 3 samples +if (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 2 samples +if (p2 <= 0.7000000178813934) and (x > 0.8333333432674408) then (y1 = 1.0) | based on 1 samples +#TREE 69 +if (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 3 samples +if (p2 <= 0.7000000178813934) and (x <= 0.8333333432674408) then (y1 = 0.0) | based on 3 samples +if (p2 <= 0.7000000178813934) and (x > 0.8333333432674408) then (y1 = 1.0) | based on 1 samples +#TREE 70 +if (p2 > 0.7000000178813934) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 2 samples +if (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 2 samples +if (p2 > 0.7000000178813934) and (x > 0.6666666716337204) then (y1 = 0.0) | based on 1 samples +#TREE 71 +if (p2 > 0.10000000149011612) and (p2 > 0.4000000134110451) and (p1 <= 0.75) and (p2 <= 0.9000000059604645) then (y1 = 0.0) | based on 2 samples +if (p2 > 0.10000000149011612) and (p2 > 0.4000000134110451) and (p1 > 0.75) then (y1 = 1.0) | based on 1 samples +if (p2 > 0.10000000149011612) and (p2 > 0.4000000134110451) and (p1 <= 0.75) and (p2 > 0.9000000059604645) then (y1 = 1.0) | based on 1 samples +if (p2 > 0.10000000149011612) and (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +if (p2 <= 0.10000000149011612) then (y1 = 0.0) | based on 1 samples +#TREE 72 +if (p2 > 0.4000000134110451) and (x <= 0.6666666716337204) and (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (x > 0.6666666716337204) then (y1 = 0.0) | based on 1 samples +if (p2 > 0.4000000134110451) and (x <= 0.6666666716337204) and (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 1 samples +if (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +#TREE 73 +if (p1 <= 0.75) and (x <= 0.8333333432674408) then (y1 = 0.0) | based on 3 samples +if (p1 > 0.75) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (x > 0.8333333432674408) and (p2 > 0.5000000074505806) then (y1 = 0.0) | based on 1 samples +if (p1 <= 0.75) and (x > 0.8333333432674408) and (p2 <= 0.5000000074505806) then (y1 = 1.0) | based on 1 samples +#TREE 74 +if (p2 > 0.4000000134110451) and (x <= 0.5000000149011612) then (y1 = 1.0) | based on 3 samples +if (p2 > 0.4000000134110451) and (x > 0.5000000149011612) then (y1 = 0.0) | based on 2 samples +if (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +#TREE 75 +if (p2 <= 0.7000000178813934) and (x <= 0.8333333432674408) then (y1 = 0.0) | based on 3 samples +if (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 2 samples +if (p2 <= 0.7000000178813934) and (x > 0.8333333432674408) then (y1 = 1.0) | based on 1 samples +#TREE 76 +if (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 3 samples +if (p2 <= 0.7000000178813934) and (x <= 0.6666666716337204) then (y1 = 0.0) | based on 2 samples +if (p2 <= 0.7000000178813934) and (x > 0.6666666716337204) then (y1 = 1.0) | based on 1 samples +#TREE 77 +if (x <= 0.8333333432674408) and (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 3 samples +if (x > 0.8333333432674408) and (p2 > 0.5000000074505806) then (y1 = 0.0) | based on 1 samples +if (x > 0.8333333432674408) and (p2 <= 0.5000000074505806) then (y1 = 1.0) | based on 1 samples +if (x <= 0.8333333432674408) and (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 1 samples +#TREE 78 +if (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 3 samples +if (p2 <= 0.7000000178813934) and (x <= 0.8333333432674408) then (y1 = 0.0) | based on 3 samples +if (p2 <= 0.7000000178813934) and (x > 0.8333333432674408) then (y1 = 1.0) | based on 1 samples +#TREE 79 +if (p1 <= 0.75) and (x <= 0.6666666716337204) then (y1 = 0.0) | based on 2 samples +if (p1 > 0.75) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (x > 0.6666666716337204) and (p2 > 0.5000000074505806) then (y1 = 0.0) | based on 1 samples +if (p1 <= 0.75) and (x > 0.6666666716337204) and (p2 <= 0.5000000074505806) then (y1 = 1.0) | based on 1 samples +#TREE 80 +if (p2 > 0.4000000134110451) then (y1 = 0.0) | based on 3 samples +if (p2 <= 0.4000000134110451) and (p2 > 0.10000000149011612) then (y1 = 1.0) | based on 1 samples +if (p2 <= 0.4000000134110451) and (p2 <= 0.10000000149011612) then (y1 = 0.0) | based on 1 samples +#TREE 81 +if (x <= 0.5000000149011612) then (y1 = 1.0) | based on 3 samples +if (x > 0.5000000149011612) and (p2 > 0.4000000134110451) then (y1 = 0.0) | based on 1 samples +if (x > 0.5000000149011612) and (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +#TREE 82 +if (p1 > 0.25) then (y1 = 1.0) | based on 2 samples +if (p1 <= 0.25) and (p2 <= 0.9000000059604645) then (y1 = 0.0) | based on 2 samples +if (p1 <= 0.25) and (p2 > 0.9000000059604645) then (y1 = 1.0) | based on 1 samples +#TREE 83 +if (p1 <= 0.75) and (p2 > 0.4000000134110451) then (y1 = 0.0) | based on 2 samples +if (p1 > 0.75) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 <= 0.4000000134110451) and (p2 > 0.10000000149011612) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 <= 0.4000000134110451) and (p2 <= 0.10000000149011612) then (y1 = 0.0) | based on 1 samples +#TREE 84 +if (p1 > 0.25) and (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 2 samples +if (p1 <= 0.25) then (y1 = 0.0) | based on 2 samples +if (p1 > 0.25) and (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 1 samples +#TREE 85 +if (p2 > 0.4000000134110451) and (p2 > 0.7000000178813934) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p2 > 0.7000000178813934) and (x > 0.6666666716337204) then (y1 = 0.0) | based on 1 samples +if (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +#TREE 86 +if (p2 > 0.4000000134110451) and (x > 0.5000000149011612) then (y1 = 0.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (x <= 0.5000000149011612) then (y1 = 1.0) | based on 1 samples +if (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +#TREE 87 +if (p1 > 0.25) then (y1 = 1.0) | based on 2 samples +if (p1 <= 0.25) and (p2 <= 0.9000000059604645) and (x <= 0.8333333432674408) then (y1 = 0.0) | based on 2 samples +if (p1 <= 0.25) and (p2 > 0.9000000059604645) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.25) and (p2 <= 0.9000000059604645) and (x > 0.8333333432674408) and (p2 > 0.5000000074505806) then (y1 = 0.0) | based on 1 samples +if (p1 <= 0.25) and (p2 <= 0.9000000059604645) and (x > 0.8333333432674408) and (p2 <= 0.5000000074505806) then (y1 = 1.0) | based on 1 samples +#TREE 88 +if (p1 <= 0.75) and (p2 > 0.4000000134110451) and (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 2 samples +if (p1 > 0.75) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 > 0.4000000134110451) and (p2 > 0.7000000178813934) and (x > 0.6666666716337204) then (y1 = 0.0) | based on 1 samples +if (p1 <= 0.75) and (p2 > 0.4000000134110451) and (p2 > 0.7000000178813934) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +#TREE 89 +if (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 2 samples +if (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 2 samples +#TREE 90 +if (x <= 0.8333333432674408) and (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 3 samples +if (x <= 0.8333333432674408) and (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 2 samples +if (x > 0.8333333432674408) then (y1 = 1.0) | based on 1 samples +#TREE 91 +if (p2 <= 0.9000000059604645) and (p1 <= 0.25) then (y1 = 0.0) | based on 3 samples +if (p2 > 0.9000000059604645) then (y1 = 1.0) | based on 1 samples +if (p2 <= 0.9000000059604645) and (p1 > 0.25) and (x > 0.1666666716337204) then (y1 = 1.0) | based on 1 samples +if (p2 <= 0.9000000059604645) and (p1 > 0.25) and (x <= 0.1666666716337204) then (y1 = 0.0) | based on 1 samples +#TREE 92 +if (p2 > 0.7000000178813934) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 2 samples +if (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 2 samples +if (p2 > 0.7000000178813934) and (x > 0.6666666716337204) then (y1 = 0.0) | based on 1 samples +#TREE 93 +if (p2 > 0.10000000149011612) then (y1 = 1.0) | based on 4 samples +if (p2 <= 0.10000000149011612) then (y1 = 0.0) | based on 1 samples +#TREE 94 +if (p2 > 0.10000000149011612) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 2 samples +if (p2 > 0.10000000149011612) and (x > 0.6666666716337204) and (p2 > 0.5000000074505806) then (y1 = 0.0) | based on 1 samples +if (p2 > 0.10000000149011612) and (x > 0.6666666716337204) and (p2 <= 0.5000000074505806) then (y1 = 1.0) | based on 1 samples +if (p2 <= 0.10000000149011612) then (y1 = 0.0) | based on 1 samples +#TREE 95 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) and (p1 <= 0.25) then (y1 = 0.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y1 = 1.0) | based on 1 samples +if (p2 > 0.4000000134110451) and (p1 <= 0.75) and (p1 > 0.25) and (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 1 samples +if (p2 > 0.4000000134110451) and (p1 <= 0.75) and (p1 > 0.25) and (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 1 samples +if (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples +#TREE 96 +if (p2 > 0.10000000149011612) and (x <= 0.6666666716337204) then (y1 = 1.0) | based on 3 samples +if (p2 > 0.10000000149011612) and (x > 0.6666666716337204) and (p2 > 0.5000000074505806) then (y1 = 0.0) | based on 1 samples +if (p2 > 0.10000000149011612) and (x > 0.6666666716337204) and (p2 <= 0.5000000074505806) then (y1 = 1.0) | based on 1 samples +if (p2 <= 0.10000000149011612) then (y1 = 0.0) | based on 1 samples +#TREE 97 +if (p1 <= 0.75) and (p2 > 0.4000000134110451) and (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 2 samples +if (p1 > 0.75) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 > 0.4000000134110451) and (p2 > 0.7000000178813934) and (p1 > 0.25) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 > 0.4000000134110451) and (p2 > 0.7000000178813934) and (p1 <= 0.25) then (y1 = 0.0) | based on 1 samples +if (p1 <= 0.75) and (p2 <= 0.4000000134110451) and (x > 0.6666666716337204) then (y1 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 <= 0.4000000134110451) and (x <= 0.6666666716337204) then (y1 = 0.0) | based on 1 samples +#TREE 98 +if (p2 > 0.7000000178813934) then (y1 = 1.0) | based on 2 samples +if (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 2 samples +#TREE 99 +if (p2 > 0.4000000134110451) and (p2 <= 0.7000000178813934) then (y1 = 0.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p2 > 0.7000000178813934) and (p1 > 0.25) then (y1 = 1.0) | based on 1 samples +if (p2 > 0.4000000134110451) and (p2 > 0.7000000178813934) and (p1 <= 0.25) then (y1 = 0.0) | based on 1 samples +if (p2 <= 0.4000000134110451) then (y1 = 1.0) | based on 1 samples diff --git a/regr_smlp/master/Test94_smlp_toy_num_resp_mult_rf_sklearn_y2_tree_rules.txt b/regr_smlp/master/Test94_smlp_toy_num_resp_mult_rf_sklearn_y2_tree_rules.txt new file mode 100644 index 00000000..0257223a --- /dev/null +++ b/regr_smlp/master/Test94_smlp_toy_num_resp_mult_rf_sklearn_y2_tree_rules.txt @@ -0,0 +1,354 @@ +#Forest semantics: majority vote +#Number of trees: 100 + +#TREE 0 +if (p1 <= 0.75) and (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 4 samples +if (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 1 +if (p1 <= 0.75) and (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 3 samples +if (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 2 +if (p2 > 0.30000001192092896) then (y2 = 0.0) | based on 4 samples +if (p2 <= 0.30000001192092896) then (y2 = 1.0) | based on 1 samples +#TREE 3 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 4 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 4 +if (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 4 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 5 +if (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 5 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 6 +if (p2 > 0.30000001192092896) and (p1 <= 0.75) then (y2 = 0.0) | based on 4 samples +if (p2 > 0.30000001192092896) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p2 <= 0.30000001192092896) then (y2 = 1.0) | based on 1 samples +#TREE 7 +(y2 = 0.0) | based on 4 samples +#TREE 8 +if (x > 0.5000000149011612) and (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 2 samples +if (x <= 0.5000000149011612) then (y2 = 1.0) | based on 2 samples +if (x > 0.5000000149011612) and (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 9 +if (p1 <= 0.75) and (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 3 samples +if (p1 <= 0.75) and (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 10 +if (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 4 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 11 +if (p2 > 0.5000000074505806) then (y2 = 0.0) | based on 2 samples +if (p2 <= 0.5000000074505806) then (y2 = 1.0) | based on 2 samples +#TREE 12 +if (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 13 +if (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 4 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 14 +if (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 4 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 15 +if (p2 <= 0.9000000059604645) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.9000000059604645) then (y2 = 0.0) | based on 1 samples +#TREE 16 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 17 +if (p2 > 0.30000001192092896) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.30000001192092896) then (y2 = 1.0) | based on 1 samples +#TREE 18 +if (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 4 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 19 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 5 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 20 +if (x > 0.1666666716337204) and (x <= 0.8333333432674408) then (y2 = 0.0) | based on 3 samples +if (x > 0.1666666716337204) and (x > 0.8333333432674408) then (y2 = 1.0) | based on 1 samples +if (x <= 0.1666666716337204) then (y2 = 1.0) | based on 1 samples +#TREE 21 +if (p1 <= 0.75) and (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 4 samples +if (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 22 +if (p1 <= 0.75) and (x <= 0.6666666716337204) then (y2 = 0.0) | based on 2 samples +if (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (x > 0.6666666716337204) then (y2 = 1.0) | based on 1 samples +#TREE 23 +if (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 24 +if (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 4 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +#TREE 25 +if (x > 0.1666666716337204) and (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 4 samples +if (x > 0.1666666716337204) and (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +if (x <= 0.1666666716337204) then (y2 = 1.0) | based on 1 samples +#TREE 26 +if (p2 > 0.30000001192092896) and (p1 <= 0.75) then (y2 = 0.0) | based on 4 samples +if (p2 > 0.30000001192092896) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p2 <= 0.30000001192092896) then (y2 = 1.0) | based on 1 samples +#TREE 27 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 28 +(y2 = 1.0) | based on 3 samples +#TREE 29 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 3 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 30 +if (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +#TREE 31 +if (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 4 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 32 +if (p2 > 0.5000000074505806) and (x > 0.1666666716337204) then (y2 = 0.0) | based on 3 samples +if (p2 > 0.5000000074505806) and (x <= 0.1666666716337204) then (y2 = 1.0) | based on 1 samples +if (p2 <= 0.5000000074505806) then (y2 = 1.0) | based on 1 samples +#TREE 33 +if (p2 > 0.4000000134110451) and (x > 0.1666666716337204) then (y2 = 0.0) | based on 4 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (x <= 0.1666666716337204) then (y2 = 1.0) | based on 1 samples +#TREE 34 +if (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 4 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +#TREE 35 +if (p2 > 0.30000001192092896) and (p1 <= 0.75) then (y2 = 0.0) | based on 4 samples +if (p2 > 0.30000001192092896) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p2 <= 0.30000001192092896) then (y2 = 1.0) | based on 1 samples +#TREE 36 +if (x > 0.1666666716337204) then (y2 = 0.0) | based on 4 samples +if (x <= 0.1666666716337204) then (y2 = 1.0) | based on 1 samples +#TREE 37 +if (p2 > 0.5000000074505806) then (y2 = 0.0) | based on 2 samples +if (p2 <= 0.5000000074505806) then (y2 = 1.0) | based on 2 samples +#TREE 38 +if (p1 <= 0.75) and (x <= 0.8333333432674408) then (y2 = 0.0) | based on 2 samples +if (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (x > 0.8333333432674408) then (y2 = 1.0) | based on 1 samples +#TREE 39 +if (p1 <= 0.75) and (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 4 samples +if (p1 <= 0.75) and (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 40 +if (p1 <= 0.75) and (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 3 samples +if (p1 <= 0.75) and (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 41 +if (x <= 0.8333333432674408) then (y2 = 0.0) | based on 4 samples +if (x > 0.8333333432674408) then (y2 = 1.0) | based on 1 samples +#TREE 42 +if (p1 <= 0.75) and (p2 > 0.30000001192092896) then (y2 = 0.0) | based on 2 samples +if (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 <= 0.30000001192092896) then (y2 = 1.0) | based on 1 samples +#TREE 43 +if (p1 <= 0.75) and (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 3 samples +if (p1 <= 0.75) and (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 44 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 4 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 45 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 4 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 46 +if (p1 <= 0.75) then (y2 = 0.0) | based on 3 samples +if (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 47 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 48 +if (p2 > 0.5000000074505806) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.5000000074505806) then (y2 = 1.0) | based on 2 samples +#TREE 49 +if (p2 > 0.30000001192092896) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.30000001192092896) then (y2 = 1.0) | based on 1 samples +#TREE 50 +if (p2 > 0.30000001192092896) and (p1 <= 0.75) then (y2 = 0.0) | based on 4 samples +if (p2 > 0.30000001192092896) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p2 <= 0.30000001192092896) then (y2 = 1.0) | based on 1 samples +#TREE 51 +if (p2 > 0.5000000074505806) and (x > 0.1666666716337204) then (y2 = 0.0) | based on 3 samples +if (p2 > 0.5000000074505806) and (x <= 0.1666666716337204) then (y2 = 1.0) | based on 1 samples +if (p2 <= 0.5000000074505806) then (y2 = 1.0) | based on 1 samples +#TREE 52 +if (p2 > 0.5000000074505806) then (y2 = 0.0) | based on 2 samples +if (p2 <= 0.5000000074505806) then (y2 = 1.0) | based on 2 samples +#TREE 53 +if (p1 <= 0.75) and (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 2 samples +if (p1 <= 0.75) and (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 54 +(y2 = 0.0) | based on 4 samples +#TREE 55 +if (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +#TREE 56 +if (p2 <= 0.9000000059604645) then (y2 = 1.0) | based on 3 samples +if (p2 > 0.9000000059604645) then (y2 = 0.0) | based on 1 samples +#TREE 57 +if (p2 > 0.4000000059604645) and (x > 0.1666666716337204) then (y2 = 0.0) | based on 3 samples +if (p2 > 0.4000000059604645) and (x <= 0.1666666716337204) then (y2 = 1.0) | based on 1 samples +if (p2 <= 0.4000000059604645) then (y2 = 1.0) | based on 1 samples +#TREE 58 +(y2 = 0.0) | based on 4 samples +#TREE 59 +if (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 5 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 60 +if (p2 > 0.4000000134110451) and (x > 0.1666666716337204) then (y2 = 0.0) | based on 2 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (x <= 0.1666666716337204) then (y2 = 1.0) | based on 1 samples +#TREE 61 +(y2 = 0.0) | based on 4 samples +#TREE 62 +if (p1 <= 0.75) and (p2 > 0.30000001192092896) then (y2 = 0.0) | based on 3 samples +if (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 <= 0.30000001192092896) then (y2 = 1.0) | based on 1 samples +#TREE 63 +if (x <= 0.8333333432674408) then (y2 = 0.0) | based on 4 samples +if (x > 0.8333333432674408) then (y2 = 1.0) | based on 1 samples +#TREE 64 +if (p2 > 0.30000001192092896) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.30000001192092896) then (y2 = 1.0) | based on 1 samples +#TREE 65 +if (p2 > 0.30000001192092896) and (p1 <= 0.75) then (y2 = 0.0) | based on 4 samples +if (p2 > 0.30000001192092896) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p2 <= 0.30000001192092896) then (y2 = 1.0) | based on 1 samples +#TREE 66 +if (p2 > 0.30000001192092896) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.30000001192092896) then (y2 = 1.0) | based on 1 samples +#TREE 67 +if (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +#TREE 68 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 69 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 4 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 70 +if (p2 > 0.30000001192092896) then (y2 = 0.0) | based on 4 samples +if (p2 <= 0.30000001192092896) then (y2 = 1.0) | based on 1 samples +#TREE 71 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 72 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 3 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 73 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 74 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 4 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 75 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 76 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 77 +if (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 4 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +#TREE 78 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 4 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 79 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 2 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 80 +if (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +#TREE 81 +if (p1 <= 0.75) and (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 3 samples +if (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 82 +if (p1 <= 0.75) and (p2 > 0.4000000059604645) then (y2 = 0.0) | based on 3 samples +if (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 <= 0.4000000059604645) then (y2 = 1.0) | based on 1 samples +#TREE 83 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 2 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 84 +if (p1 <= 0.75) then (y2 = 0.0) | based on 4 samples +if (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 85 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 4 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 86 +if (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 87 +if (p1 <= 0.75) and (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 4 samples +if (p1 <= 0.75) and (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 88 +if (p1 <= 0.75) and (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 4 samples +if (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p1 <= 0.75) and (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 89 +if (p2 > 0.30000001192092896) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.30000001192092896) then (y2 = 1.0) | based on 1 samples +#TREE 90 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 91 +if (p2 > 0.30000001192092896) then (y2 = 0.0) | based on 5 samples +if (p2 <= 0.30000001192092896) then (y2 = 1.0) | based on 1 samples +#TREE 92 +if (p1 <= 0.75) then (y2 = 0.0) | based on 4 samples +if (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 93 +if (p2 <= 0.9000000059604645) and (p2 <= 0.5000000074505806) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.9000000059604645) then (y2 = 0.0) | based on 1 samples +if (p2 <= 0.9000000059604645) and (p2 > 0.5000000074505806) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p2 <= 0.9000000059604645) and (p2 > 0.5000000074505806) and (p1 <= 0.75) then (y2 = 0.0) | based on 1 samples +#TREE 94 +if (p2 > 0.5000000074505806) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.5000000074505806) then (y2 = 1.0) | based on 2 samples +#TREE 95 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 4 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples +#TREE 96 +if (p2 > 0.5000000074505806) and (x > 0.1666666716337204) then (y2 = 0.0) | based on 3 samples +if (p2 <= 0.5000000074505806) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.5000000074505806) and (x <= 0.1666666716337204) then (y2 = 1.0) | based on 1 samples +#TREE 97 +if (p2 > 0.4000000134110451) and (p1 <= 0.75) then (y2 = 0.0) | based on 4 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 2 samples +if (p2 > 0.4000000134110451) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +#TREE 98 +if (p1 > 0.25) and (p1 <= 0.75) then (y2 = 0.0) | based on 2 samples +if (p1 > 0.25) and (p1 > 0.75) then (y2 = 1.0) | based on 1 samples +if (p1 <= 0.25) then (y2 = 1.0) | based on 1 samples +#TREE 99 +if (p2 > 0.4000000134110451) then (y2 = 0.0) | based on 4 samples +if (p2 <= 0.4000000134110451) then (y2 = 1.0) | based on 1 samples diff --git a/regr_smlp/master/Test94_smlp_toy_num_resp_mult_trace.csv b/regr_smlp/master/Test94_smlp_toy_num_resp_mult_trace.csv new file mode 100644 index 00000000..a39bdead --- /dev/null +++ b/regr_smlp/master/Test94_smlp_toy_num_resp_mult_trace.csv @@ -0,0 +1,46 @@ +stage,solver,p1,p2,x,y1,y2 +interface_consistency,sat,4,3,10 +model_consistency,sat,4,159383553/33554432,10,187/25,209/25 +synthesis_feasibility +synthesis,synthesis_feasibility +ca,sat,4,19/4,10,187/25,209/25 +ce,unsat +pareto_iteration,0,objv1__objv2,None__None +single_objective_u0_l0_u_l, objv1_scaled_objv2_scaled : 1 : 0 : inf : -inf +objective_thresholds_u0_l0_u_l_T, 2 : 0 : inf : -inf : 1 +synthesis,objv1_scaled_objv2_scaled_1 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 1 : -inf : 0 +synthesis,objv1_scaled_objv2_scaled_0 +ca,sat,4,19/4,10,187/25,209/25 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 1 : 0 : 0.5 +synthesis,objv1_scaled_objv2_scaled_0.5 +ca,sat,4,19/4,10,187/25,209/25 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 1 : 0.5 : 0.75 +synthesis,objv1_scaled_objv2_scaled_0.75 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 0.75 : 0.5 : 0.625 +synthesis,objv1_scaled_objv2_scaled_0.625 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 0.625 : 0.5 : 0.5625 +synthesis,objv1_scaled_objv2_scaled_0.5625 +ca,sat,4,19/4,10,187/25,209/25 +ce,unsat +activity check, objective objv1 threshold 0.5625 +synthesis,thresholds_0.6625_0.5625_check +ca,sat,4,19/4,10,187/25,209/25 +ce,unsat +pareto_iteration,1,objv1__objv2,None__0.5625 +single_objective_u0_l0_u_l, objv1_scaled : 1 : 0.6625 : inf : 0.6625 +objective_thresholds_u0_l0_u_l_T, 1.3375 : 0.6625 : inf : 0.6625 : 1 +synthesis,objv1_scaled_1 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 1.3375 : 0.6625 : 1 : 0.6625 : 0.83125 +synthesis,objv1_scaled_0.83125 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 1.3375 : 0.6625 : 0.83125 : 0.6625 : 0.746875 +synthesis,objv1_scaled_0.746875 +ca,sat,4,4,10,187/25,217/25 +ce,unsat diff --git a/regr_smlp/master/Test94_smlp_toy_num_resp_mult_y1_smlp_full_model_term.json b/regr_smlp/master/Test94_smlp_toy_num_resp_mult_y1_smlp_full_model_term.json new file mode 100644 index 00000000..60402040 --- /dev/null +++ b/regr_smlp/master/Test94_smlp_toy_num_resp_mult_y1_smlp_full_model_term.json @@ -0,0 +1 @@ +"{'y1': |:1| (/ 3 4))) 1 (ite (and (and (> |:0| (/ 11184811 67108864)) (> |:0| (/ 44739243 67108864))) (<= |:2| (/ 67108865 134217728))) 1 (ite (and (and (> |:0| (/ 11184811 67108864)) (> |:0| (/ 44739243 67108864))) (> |:2| (/ 67108865 134217728))) 0 1)))) (ite (and (<= |:1| (/ 3 4)) (<= |:2| (/ 53687093 134217728))) 1 (ite (and (and (<= |:1| (/ 3 4)) (> |:2| (/ 53687093 134217728))) (> |:2| (/ 30198989 33554432))) 1 (ite (> |:1| (/ 3 4)) 1 0)))) (ite (> |:2| (/ 23488103 33554432)) 1 0)) (ite (and (<= |:2| (/ 23488103 33554432)) (> |:0| (/ 27962027 33554432))) 1 (ite (and (<= |:2| (/ 23488103 33554432)) (<= |:0| (/ 27962027 33554432))) 0 1))) (ite (and (<= |:1| (/ 1 4)) (<= |:0| (/ 33554433 67108864))) 1 (ite (and (and (<= |:1| (/ 1 4)) (> |:0| (/ 33554433 67108864))) (<= |:2| (/ 53687093 134217728))) 1 (ite (> |:1| (/ 1 4)) 0 0)))) (ite (<= |:0| (/ 11184811 67108864)) 0 (ite (and (and (> |:0| (/ 11184811 67108864)) (> |:0| (/ 33554433 67108864))) (<= |:2| (/ 53687093 134217728))) 1 (ite (and (> |:0| (/ 11184811 67108864)) (<= |:0| (/ 33554433 67108864))) 1 0)))) (ite (and (> |:2| (/ 23488103 33554432)) (> |:0| (/ 44739243 67108864))) 0 (ite (<= |:2| (/ 23488103 33554432)) 0 1))) (ite (> |:2| (/ 30198989 33554432)) 1 0)) (ite (<= |:0| (/ 11184811 67108864)) 1 (ite (and (and (> |:0| (/ 11184811 67108864)) (<= |:2| (/ 53687093 134217728))) (<= |:2| (/ 13421773 134217728))) 0 (ite (and (and (> |:0| (/ 11184811 67108864)) (<= |:2| (/ 53687093 134217728))) (> |:2| (/ 13421773 134217728))) 1 0)))) (ite (and (<= |:2| (/ 23488103 33554432)) (> |:0| (/ 27962027 33554432))) 1 (ite (> |:2| (/ 23488103 33554432)) 1 0))) (ite (<= |:0| (/ 11184811 67108864)) 0 (ite (and (and (> |:0| (/ 11184811 67108864)) (> |:0| (/ 33554433 67108864))) (<= |:0| (/ 27962027 33554432))) 0 (ite (and (and (> |:0| (/ 11184811 67108864)) (> |:0| (/ 33554433 67108864))) (> |:0| (/ 27962027 33554432))) 1 1)))) (ite (<= |:2| (/ 13421773 134217728)) 0 1)) (ite (<= |:0| (/ 11184811 67108864)) 0 (ite (and (> |:0| (/ 11184811 67108864)) (<= |:2| (/ 67108865 134217728))) 1 (ite (and (and (> |:0| (/ 11184811 67108864)) (> |:2| (/ 67108865 134217728))) (<= |:0| (/ 44739243 67108864))) 1 0)))) (ite (<= |:0| (/ 11184811 67108864)) 0 (ite (and (and (> |:0| (/ 11184811 67108864)) (> |:0| (/ 44739243 67108864))) (<= |:2| (/ 67108865 134217728))) 1 (ite (and (and (> |:0| (/ 11184811 67108864)) (> |:0| (/ 44739243 67108864))) (> |:2| (/ 67108865 134217728))) 0 1)))) (ite (<= |:2| (/ 53687093 134217728)) 1 (ite (and (> |:2| (/ 53687093 134217728)) (> |:2| (/ 30198989 33554432))) 1 0))) 1) (ite (<= |:2| (/ 13421773 134217728)) 0 (ite (and (> |:2| (/ 13421773 134217728)) (<= |:2| (/ 53687093 134217728))) 1 (ite (and (and (> |:2| (/ 13421773 134217728)) (> |:2| (/ 53687093 134217728))) (<= |:2| (/ 23488103 33554432))) 0 (ite (and (and (and (> |:2| (/ 13421773 134217728)) (> |:2| (/ 53687093 134217728))) (> |:2| (/ 23488103 33554432))) (> |:0| (/ 44739243 67108864))) 0 1))))) (ite (> |:2| (/ 30198989 33554432)) 1 0)) (ite (<= |:0| (/ 11184811 67108864)) 0 (ite (and (and (> |:0| (/ 11184811 67108864)) (> |:0| (/ 44739243 67108864))) (<= |:2| (/ 67108865 134217728))) 1 (ite (and (and (> |:0| (/ 11184811 67108864)) (> |:0| (/ 44739243 67108864))) (> |:2| (/ 67108865 134217728))) 0 1)))) (ite (and (<= |:2| (/ 23488103 33554432)) (> |:0| (/ 27962027 33554432))) 1 (ite (and (> |:2| (/ 23488103 33554432)) (> |:0| (/ 44739243 67108864))) 0 (ite (and (<= |:2| (/ 23488103 33554432)) (<= |:0| (/ 27962027 33554432))) 0 1)))) (ite (and (> |:0| (/ 33554433 67108864)) (<= |:2| (/ 53687093 134217728))) 1 (ite (and (> |:0| (/ 33554433 67108864)) (> |:2| (/ 53687093 134217728))) 0 1))) (ite (and (<= |:2| (/ 23488103 33554432)) (<= |:2| (/ 53687093 134217728))) 1 (ite (and (<= |:2| (/ 23488103 33554432)) (> |:2| (/ 53687093 134217728))) 0 1))) (ite (and (<= |:2| (/ 23488103 33554432)) (<= |:0| (/ 1 2))) 0 (ite (and (<= |:2| (/ 23488103 33554432)) (> |:0| (/ 1 2))) 1 1))) (ite (<= |:2| (/ 53687093 134217728)) 1 (ite (and (> |:2| (/ 53687093 134217728)) (> |:2| (/ 30198989 33554432))) 1 0))) (ite (and (<= |:2| (/ 23488103 33554432)) (> |:0| (/ 27962027 33554432))) 1 (ite (> |:2| (/ 23488103 33554432)) 1 0))) (ite (and (> |:0| (/ 33554433 67108864)) (<= |:2| (/ 53687093 134217728))) 1 (ite (and (> |:0| (/ 33554433 67108864)) (> |:2| (/ 53687093 134217728))) 0 1))) (ite (and (> |:2| (/ 23488103 33554432)) (> |:0| (/ 44739243 67108864))) 0 (ite (and (> |:2| (/ 23488103 33554432)) (<= |:0| (/ 44739243 67108864))) 1 0))) (ite (<= |:2| (/ 13421773 134217728)) 0 (ite (and (and (> |:2| (/ 13421773 134217728)) (<= |:2| (/ 30198989 33554432))) (<= |:2| (/ 53687093 134217728))) 1 (ite (and (and (and (> |:2| (/ 13421773 134217728)) (<= |:2| (/ 30198989 33554432))) (> |:2| (/ 53687093 134217728))) (> |:1| (/ 3 4))) 1 (ite (and (> |:2| (/ 13421773 134217728)) (> |:2| (/ 30198989 33554432))) 1 0))))) (ite (<= |:2| (/ 13421773 134217728)) 0 1)) (ite (<= |:2| (/ 53687093 134217728)) 1 (ite (and (> |:2| (/ 53687093 134217728)) (<= |:1| (/ 1 4))) 0 (ite (and (and (> |:2| (/ 53687093 134217728)) (> |:1| (/ 1 4))) (<= |:2| (/ 23488103 33554432))) 0 1)))) (ite (and (<= |:2| (/ 23488103 33554432)) (> |:0| (/ 27962027 33554432))) 1 (ite (> |:2| (/ 23488103 33554432)) 1 0))) (ite (and (<= |:2| (/ 30198989 33554432)) (<= |:2| (/ 53687093 134217728))) 1 (ite (> |:2| (/ 30198989 33554432)) 1 0))) (ite (<= |:2| (/ 67108865 134217728)) 1 (ite (and (> |:2| (/ 67108865 134217728)) (> |:0| (/ 44739243 67108864))) 0 1))) (ite (and (and (and (<= |:1| (/ 1 4)) (<= |:2| (/ 30198989 33554432))) (> |:0| (/ 27962027 33554432))) (<= |:2| (/ 67108865 134217728))) 1 (ite (and (and (and (<= |:1| (/ 1 4)) (<= |:2| (/ 30198989 33554432))) (> |:0| (/ 27962027 33554432))) (> |:2| (/ 67108865 134217728))) 0 (ite (and (<= |:1| (/ 1 4)) (> |:2| (/ 30198989 33554432))) 1 (ite (and (and (<= |:1| (/ 1 4)) (<= |:2| (/ 30198989 33554432))) (<= |:0| (/ 27962027 33554432))) 0 1))))) (ite (<= |:2| (/ 13421773 134217728)) 0 (ite (and (> |:2| (/ 13421773 134217728)) (<= |:0| (/ 11184811 67108864))) 0 (ite (and (and (and (> |:2| (/ 13421773 134217728)) (> |:0| (/ 11184811 67108864))) (> |:0| (/ 44739243 67108864))) (<= |:2| (/ 67108865 134217728))) 1 (ite (and (and (and (> |:2| (/ 13421773 134217728)) (> |:0| (/ 11184811 67108864))) (> |:0| (/ 44739243 67108864))) (> |:2| (/ 67108865 134217728))) 0 1))))) (ite (and (> |:2| (/ 23488103 33554432)) (> |:0| (/ 44739243 67108864))) 0 (ite (<= |:2| (/ 23488103 33554432)) 0 1))) (ite (> |:0| (/ 33554433 67108864)) 0 1)) (ite (and (and (<= |:2| (/ 30198989 33554432)) (<= |:2| (/ 67108865 134217728))) (<= |:0| (/ 44739243 67108864))) 0 (ite (and (and (<= |:2| (/ 30198989 33554432)) (<= |:2| (/ 67108865 134217728))) (> |:0| (/ 44739243 67108864))) 1 (ite (and (<= |:2| (/ 30198989 33554432)) (> |:2| (/ 67108865 134217728))) 0 1)))) (ite (and (<= |:1| (/ 1 4)) (<= |:2| (/ 53687093 134217728))) 1 (ite (and (<= |:1| (/ 1 4)) (> |:2| (/ 53687093 134217728))) 0 1))) (ite (and (and (and (<= |:1| (/ 3 4)) (<= |:2| (/ 30198989 33554432))) (<= |:2| (/ 53687093 134217728))) (<= |:2| (/ 13421773 134217728))) 0 (ite (and (and (and (<= |:1| (/ 3 4)) (<= |:2| (/ 30198989 33554432))) (<= |:2| (/ 53687093 134217728))) (> |:2| (/ 13421773 134217728))) 1 (ite (and (<= |:1| (/ 3 4)) (> |:2| (/ 30198989 33554432))) 1 (ite (> |:1| (/ 3 4)) 1 0))))) (ite (and (and (and (<= |:1| (/ 3 4)) (<= |:2| (/ 30198989 33554432))) (<= |:2| (/ 53687093 134217728))) (<= |:0| (/ 44739243 67108864))) 0 (ite (and (and (and (<= |:1| (/ 3 4)) (<= |:2| (/ 30198989 33554432))) (<= |:2| (/ 53687093 134217728))) (> |:0| (/ 44739243 67108864))) 1 (ite (and (<= |:1| (/ 3 4)) (> |:2| (/ 30198989 33554432))) 1 (ite (> |:1| (/ 3 4)) 1 0))))) (ite (and (<= |:2| (/ 23488103 33554432)) (<= |:2| (/ 53687093 134217728))) 1 (ite (and (<= |:2| (/ 23488103 33554432)) (> |:2| (/ 53687093 134217728))) 0 1))) (ite (<= |:2| (/ 23488103 33554432)) 0 1)) (ite (and (<= |:2| (/ 23488103 33554432)) (> |:0| (/ 27962027 33554432))) 1 (ite (> |:2| (/ 23488103 33554432)) 1 0))) (ite (and (<= |:0| (/ 11184811 67108864)) (<= |:1| (/ 3 4))) 0 (ite (and (<= |:0| (/ 11184811 67108864)) (> |:1| (/ 3 4))) 1 (ite (and (and (> |:0| (/ 11184811 67108864)) (> |:0| (/ 44739243 67108864))) (<= |:2| (/ 67108865 134217728))) 1 (ite (and (and (> |:0| (/ 11184811 67108864)) (> |:0| (/ 44739243 67108864))) (> |:2| (/ 67108865 134217728))) 0 1))))) (ite (<= |:2| (/ 13421773 134217728)) 0 (ite (and (and (> |:2| (/ 13421773 134217728)) (<= |:1| (/ 3 4))) (<= |:0| (/ 11184811 67108864))) 0 (ite (and (and (and (and (> |:2| (/ 13421773 134217728)) (<= |:1| (/ 3 4))) (> |:0| (/ 11184811 67108864))) (> |:0| (/ 44739243 67108864))) (<= |:2| (/ 67108865 134217728))) 1 (ite (and (and (and (and (> |:2| (/ 13421773 134217728)) (<= |:1| (/ 3 4))) (> |:0| (/ 11184811 67108864))) (> |:0| (/ 44739243 67108864))) (> |:2| (/ 67108865 134217728))) 0 (ite (and (> |:2| (/ 13421773 134217728)) (> |:1| (/ 3 4))) 1 1)))))) (ite (<= |:2| (/ 23488103 33554432)) 0 1)) (ite (and (and (<= |:1| (/ 3 4)) (> |:0| (/ 27962027 33554432))) (<= |:2| (/ 67108865 134217728))) 1 (ite (and (and (<= |:1| (/ 3 4)) (> |:0| (/ 27962027 33554432))) (> |:2| (/ 67108865 134217728))) 0 (ite (> |:1| (/ 3 4)) 1 0)))) (ite (<= |:2| (/ 13421773 134217728)) 0 (ite (and (and (> |:2| (/ 13421773 134217728)) (> |:0| (/ 44739243 67108864))) (<= |:2| (/ 67108865 134217728))) 1 (ite (and (and (> |:2| (/ 13421773 134217728)) (> |:0| (/ 44739243 67108864))) (> |:2| (/ 67108865 134217728))) 0 1)))) (ite (> |:2| (/ 30198989 33554432)) 1 0)) (ite (<= |:2| (/ 23488103 33554432)) 0 1)) (ite (and (> |:0| (/ 44739243 67108864)) (<= |:2| (/ 67108865 134217728))) 1 (ite (and (> |:0| (/ 44739243 67108864)) (> |:2| (/ 67108865 134217728))) 0 1))) (ite (<= |:2| (/ 13421773 134217728)) 0 1)) (ite (and (and (<= |:1| (/ 3 4)) (<= |:2| (/ 53687093 134217728))) (<= |:2| (/ 13421773 134217728))) 0 (ite (and (and (<= |:1| (/ 3 4)) (<= |:2| (/ 53687093 134217728))) (> |:2| (/ 13421773 134217728))) 1 (ite (> |:1| (/ 3 4)) 1 0)))) (ite (and (<= |:2| (/ 30198989 33554432)) (<= |:0| (/ 11184811 67108864))) 0 (ite (and (and (<= |:2| (/ 30198989 33554432)) (> |:0| (/ 11184811 67108864))) (<= |:0| (/ 44739243 67108864))) 1 (ite (and (and (<= |:2| (/ 30198989 33554432)) (> |:0| (/ 11184811 67108864))) (> |:0| (/ 44739243 67108864))) 0 1)))) (ite (and (and (<= |:1| (/ 1 4)) (<= |:2| (/ 53687093 134217728))) (<= |:2| (/ 13421773 134217728))) 0 (ite (and (and (<= |:1| (/ 1 4)) (<= |:2| (/ 53687093 134217728))) (> |:2| (/ 13421773 134217728))) 1 (ite (> |:1| (/ 1 4)) 1 0)))) (ite (<= |:2| (/ 13421773 134217728)) 0 1)) (ite (<= |:2| (/ 13421773 33554432)) 0 (ite (and (> |:2| (/ 13421773 33554432)) (> |:0| (/ 44739243 67108864))) 0 1))) (ite (<= |:2| (/ 23488103 33554432)) 0 1)) (ite (<= |:0| (/ 11184811 67108864)) 0 (ite (and (> |:0| (/ 11184811 67108864)) (<= |:2| (/ 53687093 134217728))) 1 (ite (and (and (> |:0| (/ 11184811 67108864)) (> |:2| (/ 53687093 134217728))) (<= |:0| (/ 33554433 67108864))) 1 0)))) (ite (and (<= |:1| (/ 1 4)) (> |:0| (/ 27962027 33554432))) 1 (ite (and (<= |:1| (/ 1 4)) (<= |:0| (/ 27962027 33554432))) 0 1))) (ite (and (> |:1| (/ 1 4)) (<= |:0| (/ 11184811 67108864))) 0 (ite (and (> |:1| (/ 1 4)) (> |:0| (/ 11184811 67108864))) 1 0))) (ite (> |:2| (/ 23488103 33554432)) 1 0)) (ite (> |:0| (/ 27962027 33554432)) 1 (ite (and (<= |:0| (/ 27962027 33554432)) (<= |:2| (/ 23488103 33554432))) 0 1))) (ite (> |:1| (/ 1 4)) 1 0)) (ite (and (> |:2| (/ 23488103 33554432)) (> |:0| (/ 44739243 67108864))) 0 (ite (<= |:2| (/ 23488103 33554432)) 0 1))) 0) (ite (and (<= |:0| (/ 27962027 33554432)) (> |:2| (/ 13421773 16777216))) 1 (ite (> |:0| (/ 27962027 33554432)) 1 0))) (ite (and (<= |:2| (/ 23488103 33554432)) (> |:0| (/ 27962027 33554432))) 1 (ite (> |:2| (/ 23488103 33554432)) 1 0))) (ite (and (<= |:2| (/ 23488103 33554432)) (> |:0| (/ 27962027 33554432))) 1 (ite (and (<= |:2| (/ 23488103 33554432)) (<= |:0| (/ 27962027 33554432))) 0 1))) (ite (and (> |:2| (/ 23488103 33554432)) (> |:0| (/ 44739243 67108864))) 0 (ite (<= |:2| (/ 23488103 33554432)) 0 1))) (ite (<= |:2| (/ 13421773 134217728)) 0 (ite (and (> |:2| (/ 13421773 134217728)) (<= |:2| (/ 53687093 134217728))) 1 (ite (and (and (and (> |:2| (/ 13421773 134217728)) (> |:2| (/ 53687093 134217728))) (<= |:1| (/ 3 4))) (> |:2| (/ 30198989 33554432))) 1 (ite (and (and (> |:2| (/ 13421773 134217728)) (> |:2| (/ 53687093 134217728))) (> |:1| (/ 3 4))) 1 0))))) (ite (<= |:2| (/ 53687093 134217728)) 1 (ite (and (and (> |:2| (/ 53687093 134217728)) (<= |:0| (/ 44739243 67108864))) (<= |:2| (/ 23488103 33554432))) 0 (ite (and (> |:2| (/ 53687093 134217728)) (> |:0| (/ 44739243 67108864))) 0 1)))) (ite (and (and (<= |:1| (/ 3 4)) (> |:0| (/ 27962027 33554432))) (<= |:2| (/ 67108865 134217728))) 1 (ite (and (and (<= |:1| (/ 3 4)) (> |:0| (/ 27962027 33554432))) (> |:2| (/ 67108865 134217728))) 0 (ite (> |:1| (/ 3 4)) 1 0)))) (ite (<= |:2| (/ 53687093 134217728)) 1 (ite (and (> |:2| (/ 53687093 134217728)) (> |:0| (/ 33554433 67108864))) 0 1))) (ite (and (<= |:2| (/ 23488103 33554432)) (> |:0| (/ 27962027 33554432))) 1 (ite (> |:2| (/ 23488103 33554432)) 1 0))) (ite (and (<= |:2| (/ 23488103 33554432)) (> |:0| (/ 44739243 67108864))) 1 (ite (and (<= |:2| (/ 23488103 33554432)) (<= |:0| (/ 44739243 67108864))) 0 1))) (ite (and (<= |:0| (/ 27962027 33554432)) (> |:2| (/ 23488103 33554432))) 1 (ite (and (> |:0| (/ 27962027 33554432)) (<= |:2| (/ 67108865 134217728))) 1 (ite (and (> |:0| (/ 27962027 33554432)) (> |:2| (/ 67108865 134217728))) 0 0)))) (ite (and (<= |:2| (/ 23488103 33554432)) (> |:0| (/ 27962027 33554432))) 1 (ite (and (<= |:2| (/ 23488103 33554432)) (<= |:0| (/ 27962027 33554432))) 0 1))) (ite (and (and (<= |:1| (/ 3 4)) (> |:0| (/ 44739243 67108864))) (<= |:2| (/ 67108865 134217728))) 1 (ite (and (and (<= |:1| (/ 3 4)) (> |:0| (/ 44739243 67108864))) (> |:2| (/ 67108865 134217728))) 0 (ite (> |:1| (/ 3 4)) 1 0)))) (ite (and (<= |:2| (/ 53687093 134217728)) (<= |:2| (/ 13421773 134217728))) 0 (ite (and (<= |:2| (/ 53687093 134217728)) (> |:2| (/ 13421773 134217728))) 1 0))) (ite (and (> |:0| (/ 33554433 67108864)) (<= |:2| (/ 53687093 134217728))) 1 (ite (and (> |:0| (/ 33554433 67108864)) (> |:2| (/ 53687093 134217728))) 0 1))) (ite (and (<= |:1| (/ 1 4)) (> |:2| (/ 30198989 33554432))) 1 (ite (and (<= |:1| (/ 1 4)) (<= |:2| (/ 30198989 33554432))) 0 1))) (ite (and (and (<= |:1| (/ 3 4)) (<= |:2| (/ 53687093 134217728))) (<= |:2| (/ 13421773 134217728))) 0 (ite (and (and (<= |:1| (/ 3 4)) (<= |:2| (/ 53687093 134217728))) (> |:2| (/ 13421773 134217728))) 1 (ite (> |:1| (/ 3 4)) 1 0)))) (ite (and (> |:1| (/ 1 4)) (<= |:2| (/ 23488103 33554432))) 0 (ite (<= |:1| (/ 1 4)) 0 1))) (ite (<= |:2| (/ 53687093 134217728)) 1 (ite (and (and (> |:2| (/ 53687093 134217728)) (> |:2| (/ 23488103 33554432))) (> |:0| (/ 44739243 67108864))) 0 (ite (and (> |:2| (/ 53687093 134217728)) (<= |:2| (/ 23488103 33554432))) 0 1)))) (ite (<= |:2| (/ 53687093 134217728)) 1 (ite (and (> |:2| (/ 53687093 134217728)) (<= |:0| (/ 33554433 67108864))) 1 0))) (ite (and (and (and (<= |:1| (/ 1 4)) (<= |:2| (/ 30198989 33554432))) (> |:0| (/ 27962027 33554432))) (<= |:2| (/ 67108865 134217728))) 1 (ite (and (and (and (<= |:1| (/ 1 4)) (<= |:2| (/ 30198989 33554432))) (> |:0| (/ 27962027 33554432))) (> |:2| (/ 67108865 134217728))) 0 (ite (and (<= |:1| (/ 1 4)) (> |:2| (/ 30198989 33554432))) 1 (ite (and (and (<= |:1| (/ 1 4)) (<= |:2| (/ 30198989 33554432))) (<= |:0| (/ 27962027 33554432))) 0 1))))) (ite (and (<= |:1| (/ 3 4)) (<= |:2| (/ 53687093 134217728))) 1 (ite (and (and (and (<= |:1| (/ 3 4)) (> |:2| (/ 53687093 134217728))) (> |:2| (/ 23488103 33554432))) (<= |:0| (/ 44739243 67108864))) 1 (ite (and (and (and (<= |:1| (/ 3 4)) (> |:2| (/ 53687093 134217728))) (> |:2| (/ 23488103 33554432))) (> |:0| (/ 44739243 67108864))) 0 (ite (> |:1| (/ 3 4)) 1 0))))) (ite (<= |:2| (/ 23488103 33554432)) 0 1)) (ite (> |:0| (/ 27962027 33554432)) 1 (ite (and (<= |:0| (/ 27962027 33554432)) (> |:2| (/ 23488103 33554432))) 1 0))) (ite (and (and (<= |:2| (/ 30198989 33554432)) (> |:1| (/ 1 4))) (<= |:0| (/ 11184811 67108864))) 0 (ite (and (and (<= |:2| (/ 30198989 33554432)) (> |:1| (/ 1 4))) (> |:0| (/ 11184811 67108864))) 1 (ite (> |:2| (/ 30198989 33554432)) 1 0)))) (ite (and (> |:2| (/ 23488103 33554432)) (> |:0| (/ 44739243 67108864))) 0 (ite (<= |:2| (/ 23488103 33554432)) 0 1))) (ite (<= |:2| (/ 13421773 134217728)) 0 1)) (ite (<= |:2| (/ 13421773 134217728)) 0 (ite (and (and (> |:2| (/ 13421773 134217728)) (> |:0| (/ 44739243 67108864))) (<= |:2| (/ 67108865 134217728))) 1 (ite (and (and (> |:2| (/ 13421773 134217728)) (> |:0| (/ 44739243 67108864))) (> |:2| (/ 67108865 134217728))) 0 1)))) (ite (<= |:2| (/ 53687093 134217728)) 1 (ite (and (and (and (> |:2| (/ 53687093 134217728)) (<= |:1| (/ 3 4))) (> |:1| (/ 1 4))) (<= |:2| (/ 23488103 33554432))) 0 (ite (and (and (and (> |:2| (/ 53687093 134217728)) (<= |:1| (/ 3 4))) (> |:1| (/ 1 4))) (> |:2| (/ 23488103 33554432))) 1 (ite (and (> |:2| (/ 53687093 134217728)) (> |:1| (/ 3 4))) 1 0))))) (ite (<= |:2| (/ 13421773 134217728)) 0 (ite (and (and (> |:2| (/ 13421773 134217728)) (> |:0| (/ 44739243 67108864))) (<= |:2| (/ 67108865 134217728))) 1 (ite (and (and (> |:2| (/ 13421773 134217728)) (> |:0| (/ 44739243 67108864))) (> |:2| (/ 67108865 134217728))) 0 1)))) (ite (and (and (<= |:1| (/ 3 4)) (<= |:2| (/ 53687093 134217728))) (<= |:0| (/ 44739243 67108864))) 0 (ite (and (and (<= |:1| (/ 3 4)) (<= |:2| (/ 53687093 134217728))) (> |:0| (/ 44739243 67108864))) 1 (ite (and (and (and (<= |:1| (/ 3 4)) (> |:2| (/ 53687093 134217728))) (> |:2| (/ 23488103 33554432))) (<= |:1| (/ 1 4))) 0 (ite (and (and (and (<= |:1| (/ 3 4)) (> |:2| (/ 53687093 134217728))) (> |:2| (/ 23488103 33554432))) (> |:1| (/ 1 4))) 1 (ite (> |:1| (/ 3 4)) 1 0)))))) (ite (<= |:2| (/ 23488103 33554432)) 0 1)) (ite (<= |:2| (/ 53687093 134217728)) 1 (ite (and (and (> |:2| (/ 53687093 134217728)) (> |:2| (/ 23488103 33554432))) (<= |:1| (/ 1 4))) 0 (ite (and (and (> |:2| (/ 53687093 134217728)) (> |:2| (/ 23488103 33554432))) (> |:1| (/ 1 4))) 1 0))))) 4) 5))))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test94_smlp_toy_num_resp_mult_y1_smlp_model_term.json b/regr_smlp/master/Test94_smlp_toy_num_resp_mult_y1_smlp_model_term.json new file mode 100644 index 00000000..2b76e85a --- /dev/null +++ b/regr_smlp/master/Test94_smlp_toy_num_resp_mult_y1_smlp_model_term.json @@ -0,0 +1 @@ +"{'y1_scaled': p1_scaled (/ 3 4))) 1 (ite (and (and (> x_scaled (/ 11184811 67108864)) (> x_scaled (/ 44739243 67108864))) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (> x_scaled (/ 11184811 67108864)) (> x_scaled (/ 44739243 67108864))) (> p2_scaled (/ 67108865 134217728))) 0 1)))) (ite (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (and (and (<= p1_scaled (/ 3 4)) (> p2_scaled (/ 53687093 134217728))) (> p2_scaled (/ 30198989 33554432))) 1 (ite (> p1_scaled (/ 3 4)) 1 0)))) (ite (> p2_scaled (/ 23488103 33554432)) 1 0)) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 27962027 33554432))) 1 (ite (and (<= p2_scaled (/ 23488103 33554432)) (<= x_scaled (/ 27962027 33554432))) 0 1))) (ite (and (<= p1_scaled (/ 1 4)) (<= x_scaled (/ 33554433 67108864))) 1 (ite (and (and (<= p1_scaled (/ 1 4)) (> x_scaled (/ 33554433 67108864))) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (> p1_scaled (/ 1 4)) 0 0)))) (ite (<= x_scaled (/ 11184811 67108864)) 0 (ite (and (and (> x_scaled (/ 11184811 67108864)) (> x_scaled (/ 33554433 67108864))) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (and (> x_scaled (/ 11184811 67108864)) (<= x_scaled (/ 33554433 67108864))) 1 0)))) (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (<= p2_scaled (/ 23488103 33554432)) 0 1))) (ite (> p2_scaled (/ 30198989 33554432)) 1 0)) (ite (<= x_scaled (/ 11184811 67108864)) 1 (ite (and (and (> x_scaled (/ 11184811 67108864)) (<= p2_scaled (/ 53687093 134217728))) (<= p2_scaled (/ 13421773 134217728))) 0 (ite (and (and (> x_scaled (/ 11184811 67108864)) (<= p2_scaled (/ 53687093 134217728))) (> p2_scaled (/ 13421773 134217728))) 1 0)))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 27962027 33554432))) 1 (ite (> p2_scaled (/ 23488103 33554432)) 1 0))) (ite (<= x_scaled (/ 11184811 67108864)) 0 (ite (and (and (> x_scaled (/ 11184811 67108864)) (> x_scaled (/ 33554433 67108864))) (<= x_scaled (/ 27962027 33554432))) 0 (ite (and (and (> x_scaled (/ 11184811 67108864)) (> x_scaled (/ 33554433 67108864))) (> x_scaled (/ 27962027 33554432))) 1 1)))) (ite (<= p2_scaled (/ 13421773 134217728)) 0 1)) (ite (<= x_scaled (/ 11184811 67108864)) 0 (ite (and (> x_scaled (/ 11184811 67108864)) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (> x_scaled (/ 11184811 67108864)) (> p2_scaled (/ 67108865 134217728))) (<= x_scaled (/ 44739243 67108864))) 1 0)))) (ite (<= x_scaled (/ 11184811 67108864)) 0 (ite (and (and (> x_scaled (/ 11184811 67108864)) (> x_scaled (/ 44739243 67108864))) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (> x_scaled (/ 11184811 67108864)) (> x_scaled (/ 44739243 67108864))) (> p2_scaled (/ 67108865 134217728))) 0 1)))) (ite (<= p2_scaled (/ 53687093 134217728)) 1 (ite (and (> p2_scaled (/ 53687093 134217728)) (> p2_scaled (/ 30198989 33554432))) 1 0))) 1) (ite (<= p2_scaled (/ 13421773 134217728)) 0 (ite (and (> p2_scaled (/ 13421773 134217728)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (and (and (> p2_scaled (/ 13421773 134217728)) (> p2_scaled (/ 53687093 134217728))) (<= p2_scaled (/ 23488103 33554432))) 0 (ite (and (and (and (> p2_scaled (/ 13421773 134217728)) (> p2_scaled (/ 53687093 134217728))) (> p2_scaled (/ 23488103 33554432))) (> x_scaled (/ 44739243 67108864))) 0 1))))) (ite (> p2_scaled (/ 30198989 33554432)) 1 0)) (ite (<= x_scaled (/ 11184811 67108864)) 0 (ite (and (and (> x_scaled (/ 11184811 67108864)) (> x_scaled (/ 44739243 67108864))) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (> x_scaled (/ 11184811 67108864)) (> x_scaled (/ 44739243 67108864))) (> p2_scaled (/ 67108865 134217728))) 0 1)))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 27962027 33554432))) 1 (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (and (<= p2_scaled (/ 23488103 33554432)) (<= x_scaled (/ 27962027 33554432))) 0 1)))) (ite (and (> x_scaled (/ 33554433 67108864)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (and (> x_scaled (/ 33554433 67108864)) (> p2_scaled (/ 53687093 134217728))) 0 1))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (and (<= p2_scaled (/ 23488103 33554432)) (> p2_scaled (/ 53687093 134217728))) 0 1))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (<= x_scaled (/ 1 2))) 0 (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 1 2))) 1 1))) (ite (<= p2_scaled (/ 53687093 134217728)) 1 (ite (and (> p2_scaled (/ 53687093 134217728)) (> p2_scaled (/ 30198989 33554432))) 1 0))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 27962027 33554432))) 1 (ite (> p2_scaled (/ 23488103 33554432)) 1 0))) (ite (and (> x_scaled (/ 33554433 67108864)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (and (> x_scaled (/ 33554433 67108864)) (> p2_scaled (/ 53687093 134217728))) 0 1))) (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (and (> p2_scaled (/ 23488103 33554432)) (<= x_scaled (/ 44739243 67108864))) 1 0))) (ite (<= p2_scaled (/ 13421773 134217728)) 0 (ite (and (and (> p2_scaled (/ 13421773 134217728)) (<= p2_scaled (/ 30198989 33554432))) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (and (and (and (> p2_scaled (/ 13421773 134217728)) (<= p2_scaled (/ 30198989 33554432))) (> p2_scaled (/ 53687093 134217728))) (> p1_scaled (/ 3 4))) 1 (ite (and (> p2_scaled (/ 13421773 134217728)) (> p2_scaled (/ 30198989 33554432))) 1 0))))) (ite (<= p2_scaled (/ 13421773 134217728)) 0 1)) (ite (<= p2_scaled (/ 53687093 134217728)) 1 (ite (and (> p2_scaled (/ 53687093 134217728)) (<= p1_scaled (/ 1 4))) 0 (ite (and (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 1 4))) (<= p2_scaled (/ 23488103 33554432))) 0 1)))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 27962027 33554432))) 1 (ite (> p2_scaled (/ 23488103 33554432)) 1 0))) (ite (and (<= p2_scaled (/ 30198989 33554432)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (> p2_scaled (/ 30198989 33554432)) 1 0))) (ite (<= p2_scaled (/ 67108865 134217728)) 1 (ite (and (> p2_scaled (/ 67108865 134217728)) (> x_scaled (/ 44739243 67108864))) 0 1))) (ite (and (and (and (<= p1_scaled (/ 1 4)) (<= p2_scaled (/ 30198989 33554432))) (> x_scaled (/ 27962027 33554432))) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (and (<= p1_scaled (/ 1 4)) (<= p2_scaled (/ 30198989 33554432))) (> x_scaled (/ 27962027 33554432))) (> p2_scaled (/ 67108865 134217728))) 0 (ite (and (<= p1_scaled (/ 1 4)) (> p2_scaled (/ 30198989 33554432))) 1 (ite (and (and (<= p1_scaled (/ 1 4)) (<= p2_scaled (/ 30198989 33554432))) (<= x_scaled (/ 27962027 33554432))) 0 1))))) (ite (<= p2_scaled (/ 13421773 134217728)) 0 (ite (and (> p2_scaled (/ 13421773 134217728)) (<= x_scaled (/ 11184811 67108864))) 0 (ite (and (and (and (> p2_scaled (/ 13421773 134217728)) (> x_scaled (/ 11184811 67108864))) (> x_scaled (/ 44739243 67108864))) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (and (> p2_scaled (/ 13421773 134217728)) (> x_scaled (/ 11184811 67108864))) (> x_scaled (/ 44739243 67108864))) (> p2_scaled (/ 67108865 134217728))) 0 1))))) (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (<= p2_scaled (/ 23488103 33554432)) 0 1))) (ite (> x_scaled (/ 33554433 67108864)) 0 1)) (ite (and (and (<= p2_scaled (/ 30198989 33554432)) (<= p2_scaled (/ 67108865 134217728))) (<= x_scaled (/ 44739243 67108864))) 0 (ite (and (and (<= p2_scaled (/ 30198989 33554432)) (<= p2_scaled (/ 67108865 134217728))) (> x_scaled (/ 44739243 67108864))) 1 (ite (and (<= p2_scaled (/ 30198989 33554432)) (> p2_scaled (/ 67108865 134217728))) 0 1)))) (ite (and (<= p1_scaled (/ 1 4)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (and (<= p1_scaled (/ 1 4)) (> p2_scaled (/ 53687093 134217728))) 0 1))) (ite (and (and (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 30198989 33554432))) (<= p2_scaled (/ 53687093 134217728))) (<= p2_scaled (/ 13421773 134217728))) 0 (ite (and (and (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 30198989 33554432))) (<= p2_scaled (/ 53687093 134217728))) (> p2_scaled (/ 13421773 134217728))) 1 (ite (and (<= p1_scaled (/ 3 4)) (> p2_scaled (/ 30198989 33554432))) 1 (ite (> p1_scaled (/ 3 4)) 1 0))))) (ite (and (and (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 30198989 33554432))) (<= p2_scaled (/ 53687093 134217728))) (<= x_scaled (/ 44739243 67108864))) 0 (ite (and (and (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 30198989 33554432))) (<= p2_scaled (/ 53687093 134217728))) (> x_scaled (/ 44739243 67108864))) 1 (ite (and (<= p1_scaled (/ 3 4)) (> p2_scaled (/ 30198989 33554432))) 1 (ite (> p1_scaled (/ 3 4)) 1 0))))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (and (<= p2_scaled (/ 23488103 33554432)) (> p2_scaled (/ 53687093 134217728))) 0 1))) (ite (<= p2_scaled (/ 23488103 33554432)) 0 1)) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 27962027 33554432))) 1 (ite (> p2_scaled (/ 23488103 33554432)) 1 0))) (ite (and (<= x_scaled (/ 11184811 67108864)) (<= p1_scaled (/ 3 4))) 0 (ite (and (<= x_scaled (/ 11184811 67108864)) (> p1_scaled (/ 3 4))) 1 (ite (and (and (> x_scaled (/ 11184811 67108864)) (> x_scaled (/ 44739243 67108864))) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (> x_scaled (/ 11184811 67108864)) (> x_scaled (/ 44739243 67108864))) (> p2_scaled (/ 67108865 134217728))) 0 1))))) (ite (<= p2_scaled (/ 13421773 134217728)) 0 (ite (and (and (> p2_scaled (/ 13421773 134217728)) (<= p1_scaled (/ 3 4))) (<= x_scaled (/ 11184811 67108864))) 0 (ite (and (and (and (and (> p2_scaled (/ 13421773 134217728)) (<= p1_scaled (/ 3 4))) (> x_scaled (/ 11184811 67108864))) (> x_scaled (/ 44739243 67108864))) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (and (and (> p2_scaled (/ 13421773 134217728)) (<= p1_scaled (/ 3 4))) (> x_scaled (/ 11184811 67108864))) (> x_scaled (/ 44739243 67108864))) (> p2_scaled (/ 67108865 134217728))) 0 (ite (and (> p2_scaled (/ 13421773 134217728)) (> p1_scaled (/ 3 4))) 1 1)))))) (ite (<= p2_scaled (/ 23488103 33554432)) 0 1)) (ite (and (and (<= p1_scaled (/ 3 4)) (> x_scaled (/ 27962027 33554432))) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (<= p1_scaled (/ 3 4)) (> x_scaled (/ 27962027 33554432))) (> p2_scaled (/ 67108865 134217728))) 0 (ite (> p1_scaled (/ 3 4)) 1 0)))) (ite (<= p2_scaled (/ 13421773 134217728)) 0 (ite (and (and (> p2_scaled (/ 13421773 134217728)) (> x_scaled (/ 44739243 67108864))) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (> p2_scaled (/ 13421773 134217728)) (> x_scaled (/ 44739243 67108864))) (> p2_scaled (/ 67108865 134217728))) 0 1)))) (ite (> p2_scaled (/ 30198989 33554432)) 1 0)) (ite (<= p2_scaled (/ 23488103 33554432)) 0 1)) (ite (and (> x_scaled (/ 44739243 67108864)) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (> x_scaled (/ 44739243 67108864)) (> p2_scaled (/ 67108865 134217728))) 0 1))) (ite (<= p2_scaled (/ 13421773 134217728)) 0 1)) (ite (and (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 53687093 134217728))) (<= p2_scaled (/ 13421773 134217728))) 0 (ite (and (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 53687093 134217728))) (> p2_scaled (/ 13421773 134217728))) 1 (ite (> p1_scaled (/ 3 4)) 1 0)))) (ite (and (<= p2_scaled (/ 30198989 33554432)) (<= x_scaled (/ 11184811 67108864))) 0 (ite (and (and (<= p2_scaled (/ 30198989 33554432)) (> x_scaled (/ 11184811 67108864))) (<= x_scaled (/ 44739243 67108864))) 1 (ite (and (and (<= p2_scaled (/ 30198989 33554432)) (> x_scaled (/ 11184811 67108864))) (> x_scaled (/ 44739243 67108864))) 0 1)))) (ite (and (and (<= p1_scaled (/ 1 4)) (<= p2_scaled (/ 53687093 134217728))) (<= p2_scaled (/ 13421773 134217728))) 0 (ite (and (and (<= p1_scaled (/ 1 4)) (<= p2_scaled (/ 53687093 134217728))) (> p2_scaled (/ 13421773 134217728))) 1 (ite (> p1_scaled (/ 1 4)) 1 0)))) (ite (<= p2_scaled (/ 13421773 134217728)) 0 1)) (ite (<= p2_scaled (/ 13421773 33554432)) 0 (ite (and (> p2_scaled (/ 13421773 33554432)) (> x_scaled (/ 44739243 67108864))) 0 1))) (ite (<= p2_scaled (/ 23488103 33554432)) 0 1)) (ite (<= x_scaled (/ 11184811 67108864)) 0 (ite (and (> x_scaled (/ 11184811 67108864)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (and (and (> x_scaled (/ 11184811 67108864)) (> p2_scaled (/ 53687093 134217728))) (<= x_scaled (/ 33554433 67108864))) 1 0)))) (ite (and (<= p1_scaled (/ 1 4)) (> x_scaled (/ 27962027 33554432))) 1 (ite (and (<= p1_scaled (/ 1 4)) (<= x_scaled (/ 27962027 33554432))) 0 1))) (ite (and (> p1_scaled (/ 1 4)) (<= x_scaled (/ 11184811 67108864))) 0 (ite (and (> p1_scaled (/ 1 4)) (> x_scaled (/ 11184811 67108864))) 1 0))) (ite (> p2_scaled (/ 23488103 33554432)) 1 0)) (ite (> x_scaled (/ 27962027 33554432)) 1 (ite (and (<= x_scaled (/ 27962027 33554432)) (<= p2_scaled (/ 23488103 33554432))) 0 1))) (ite (> p1_scaled (/ 1 4)) 1 0)) (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (<= p2_scaled (/ 23488103 33554432)) 0 1))) 0) (ite (and (<= x_scaled (/ 27962027 33554432)) (> p2_scaled (/ 13421773 16777216))) 1 (ite (> x_scaled (/ 27962027 33554432)) 1 0))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 27962027 33554432))) 1 (ite (> p2_scaled (/ 23488103 33554432)) 1 0))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 27962027 33554432))) 1 (ite (and (<= p2_scaled (/ 23488103 33554432)) (<= x_scaled (/ 27962027 33554432))) 0 1))) (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (<= p2_scaled (/ 23488103 33554432)) 0 1))) (ite (<= p2_scaled (/ 13421773 134217728)) 0 (ite (and (> p2_scaled (/ 13421773 134217728)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (and (and (and (> p2_scaled (/ 13421773 134217728)) (> p2_scaled (/ 53687093 134217728))) (<= p1_scaled (/ 3 4))) (> p2_scaled (/ 30198989 33554432))) 1 (ite (and (and (> p2_scaled (/ 13421773 134217728)) (> p2_scaled (/ 53687093 134217728))) (> p1_scaled (/ 3 4))) 1 0))))) (ite (<= p2_scaled (/ 53687093 134217728)) 1 (ite (and (and (> p2_scaled (/ 53687093 134217728)) (<= x_scaled (/ 44739243 67108864))) (<= p2_scaled (/ 23488103 33554432))) 0 (ite (and (> p2_scaled (/ 53687093 134217728)) (> x_scaled (/ 44739243 67108864))) 0 1)))) (ite (and (and (<= p1_scaled (/ 3 4)) (> x_scaled (/ 27962027 33554432))) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (<= p1_scaled (/ 3 4)) (> x_scaled (/ 27962027 33554432))) (> p2_scaled (/ 67108865 134217728))) 0 (ite (> p1_scaled (/ 3 4)) 1 0)))) (ite (<= p2_scaled (/ 53687093 134217728)) 1 (ite (and (> p2_scaled (/ 53687093 134217728)) (> x_scaled (/ 33554433 67108864))) 0 1))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 27962027 33554432))) 1 (ite (> p2_scaled (/ 23488103 33554432)) 1 0))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 1 (ite (and (<= p2_scaled (/ 23488103 33554432)) (<= x_scaled (/ 44739243 67108864))) 0 1))) (ite (and (<= x_scaled (/ 27962027 33554432)) (> p2_scaled (/ 23488103 33554432))) 1 (ite (and (> x_scaled (/ 27962027 33554432)) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (> x_scaled (/ 27962027 33554432)) (> p2_scaled (/ 67108865 134217728))) 0 0)))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 27962027 33554432))) 1 (ite (and (<= p2_scaled (/ 23488103 33554432)) (<= x_scaled (/ 27962027 33554432))) 0 1))) (ite (and (and (<= p1_scaled (/ 3 4)) (> x_scaled (/ 44739243 67108864))) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (<= p1_scaled (/ 3 4)) (> x_scaled (/ 44739243 67108864))) (> p2_scaled (/ 67108865 134217728))) 0 (ite (> p1_scaled (/ 3 4)) 1 0)))) (ite (and (<= p2_scaled (/ 53687093 134217728)) (<= p2_scaled (/ 13421773 134217728))) 0 (ite (and (<= p2_scaled (/ 53687093 134217728)) (> p2_scaled (/ 13421773 134217728))) 1 0))) (ite (and (> x_scaled (/ 33554433 67108864)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (and (> x_scaled (/ 33554433 67108864)) (> p2_scaled (/ 53687093 134217728))) 0 1))) (ite (and (<= p1_scaled (/ 1 4)) (> p2_scaled (/ 30198989 33554432))) 1 (ite (and (<= p1_scaled (/ 1 4)) (<= p2_scaled (/ 30198989 33554432))) 0 1))) (ite (and (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 53687093 134217728))) (<= p2_scaled (/ 13421773 134217728))) 0 (ite (and (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 53687093 134217728))) (> p2_scaled (/ 13421773 134217728))) 1 (ite (> p1_scaled (/ 3 4)) 1 0)))) (ite (and (> p1_scaled (/ 1 4)) (<= p2_scaled (/ 23488103 33554432))) 0 (ite (<= p1_scaled (/ 1 4)) 0 1))) (ite (<= p2_scaled (/ 53687093 134217728)) 1 (ite (and (and (> p2_scaled (/ 53687093 134217728)) (> p2_scaled (/ 23488103 33554432))) (> x_scaled (/ 44739243 67108864))) 0 (ite (and (> p2_scaled (/ 53687093 134217728)) (<= p2_scaled (/ 23488103 33554432))) 0 1)))) (ite (<= p2_scaled (/ 53687093 134217728)) 1 (ite (and (> p2_scaled (/ 53687093 134217728)) (<= x_scaled (/ 33554433 67108864))) 1 0))) (ite (and (and (and (<= p1_scaled (/ 1 4)) (<= p2_scaled (/ 30198989 33554432))) (> x_scaled (/ 27962027 33554432))) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (and (<= p1_scaled (/ 1 4)) (<= p2_scaled (/ 30198989 33554432))) (> x_scaled (/ 27962027 33554432))) (> p2_scaled (/ 67108865 134217728))) 0 (ite (and (<= p1_scaled (/ 1 4)) (> p2_scaled (/ 30198989 33554432))) 1 (ite (and (and (<= p1_scaled (/ 1 4)) (<= p2_scaled (/ 30198989 33554432))) (<= x_scaled (/ 27962027 33554432))) 0 1))))) (ite (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (and (and (and (<= p1_scaled (/ 3 4)) (> p2_scaled (/ 53687093 134217728))) (> p2_scaled (/ 23488103 33554432))) (<= x_scaled (/ 44739243 67108864))) 1 (ite (and (and (and (<= p1_scaled (/ 3 4)) (> p2_scaled (/ 53687093 134217728))) (> p2_scaled (/ 23488103 33554432))) (> x_scaled (/ 44739243 67108864))) 0 (ite (> p1_scaled (/ 3 4)) 1 0))))) (ite (<= p2_scaled (/ 23488103 33554432)) 0 1)) (ite (> x_scaled (/ 27962027 33554432)) 1 (ite (and (<= x_scaled (/ 27962027 33554432)) (> p2_scaled (/ 23488103 33554432))) 1 0))) (ite (and (and (<= p2_scaled (/ 30198989 33554432)) (> p1_scaled (/ 1 4))) (<= x_scaled (/ 11184811 67108864))) 0 (ite (and (and (<= p2_scaled (/ 30198989 33554432)) (> p1_scaled (/ 1 4))) (> x_scaled (/ 11184811 67108864))) 1 (ite (> p2_scaled (/ 30198989 33554432)) 1 0)))) (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (<= p2_scaled (/ 23488103 33554432)) 0 1))) (ite (<= p2_scaled (/ 13421773 134217728)) 0 1)) (ite (<= p2_scaled (/ 13421773 134217728)) 0 (ite (and (and (> p2_scaled (/ 13421773 134217728)) (> x_scaled (/ 44739243 67108864))) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (> p2_scaled (/ 13421773 134217728)) (> x_scaled (/ 44739243 67108864))) (> p2_scaled (/ 67108865 134217728))) 0 1)))) (ite (<= p2_scaled (/ 53687093 134217728)) 1 (ite (and (and (and (> p2_scaled (/ 53687093 134217728)) (<= p1_scaled (/ 3 4))) (> p1_scaled (/ 1 4))) (<= p2_scaled (/ 23488103 33554432))) 0 (ite (and (and (and (> p2_scaled (/ 53687093 134217728)) (<= p1_scaled (/ 3 4))) (> p1_scaled (/ 1 4))) (> p2_scaled (/ 23488103 33554432))) 1 (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 0))))) (ite (<= p2_scaled (/ 13421773 134217728)) 0 (ite (and (and (> p2_scaled (/ 13421773 134217728)) (> x_scaled (/ 44739243 67108864))) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (> p2_scaled (/ 13421773 134217728)) (> x_scaled (/ 44739243 67108864))) (> p2_scaled (/ 67108865 134217728))) 0 1)))) (ite (and (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 53687093 134217728))) (<= x_scaled (/ 44739243 67108864))) 0 (ite (and (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 53687093 134217728))) (> x_scaled (/ 44739243 67108864))) 1 (ite (and (and (and (<= p1_scaled (/ 3 4)) (> p2_scaled (/ 53687093 134217728))) (> p2_scaled (/ 23488103 33554432))) (<= p1_scaled (/ 1 4))) 0 (ite (and (and (and (<= p1_scaled (/ 3 4)) (> p2_scaled (/ 53687093 134217728))) (> p2_scaled (/ 23488103 33554432))) (> p1_scaled (/ 1 4))) 1 (ite (> p1_scaled (/ 3 4)) 1 0)))))) (ite (<= p2_scaled (/ 23488103 33554432)) 0 1)) (ite (<= p2_scaled (/ 53687093 134217728)) 1 (ite (and (and (> p2_scaled (/ 53687093 134217728)) (> p2_scaled (/ 23488103 33554432))) (<= p1_scaled (/ 1 4))) 0 (ite (and (and (> p2_scaled (/ 53687093 134217728)) (> p2_scaled (/ 23488103 33554432))) (> p1_scaled (/ 1 4))) 1 0)))))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test94_smlp_toy_num_resp_mult_y2_smlp_full_model_term.json b/regr_smlp/master/Test94_smlp_toy_num_resp_mult_y2_smlp_full_model_term.json new file mode 100644 index 00000000..acf482bd --- /dev/null +++ b/regr_smlp/master/Test94_smlp_toy_num_resp_mult_y2_smlp_full_model_term.json @@ -0,0 +1 @@ +"{'y2': |:0| (/ 3 4)) 1 0)) (ite (and (<= |:0| (/ 3 4)) (<= |:1| (/ 53687093 134217728))) 1 (ite (> |:0| (/ 3 4)) 1 0))) (ite (<= |:1| (/ 5033165 16777216)) 1 0)) (ite (<= |:1| (/ 53687093 134217728)) 1 (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 0))) (ite (<= |:1| (/ 53687093 134217728)) 1 0)) (ite (<= |:1| (/ 53687093 134217728)) 1 0)) (ite (<= |:1| (/ 5033165 16777216)) 1 (ite (and (> |:1| (/ 5033165 16777216)) (> |:0| (/ 3 4))) 1 0))) 0) (ite (and (> |:2| (/ 33554433 67108864)) (<= |:1| (/ 53687093 134217728))) 1 (ite (<= |:2| (/ 33554433 67108864)) 1 0))) (ite (> |:0| (/ 3 4)) 1 (ite (and (<= |:0| (/ 3 4)) (<= |:1| (/ 53687093 134217728))) 1 0))) (ite (<= |:1| (/ 53687093 134217728)) 1 0)) (ite (<= |:1| (/ 67108865 134217728)) 1 0)) (ite (<= |:1| (/ 53687093 134217728)) 1 0)) (ite (<= |:1| (/ 53687093 134217728)) 1 0)) (ite (<= |:1| (/ 53687093 134217728)) 1 0)) (ite (> |:1| (/ 30198989 33554432)) 0 1)) (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 (ite (<= |:1| (/ 53687093 134217728)) 1 0))) (ite (<= |:1| (/ 5033165 16777216)) 1 0)) (ite (<= |:1| (/ 53687093 134217728)) 1 0)) (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 (ite (<= |:1| (/ 53687093 134217728)) 1 0))) (ite (<= |:2| (/ 11184811 67108864)) 1 (ite (and (> |:2| (/ 11184811 67108864)) (> |:2| (/ 27962027 33554432))) 1 0))) (ite (and (<= |:0| (/ 3 4)) (<= |:1| (/ 53687093 134217728))) 1 (ite (> |:0| (/ 3 4)) 1 0))) (ite (and (<= |:0| (/ 3 4)) (> |:2| (/ 44739243 67108864))) 1 (ite (> |:0| (/ 3 4)) 1 0))) (ite (<= |:1| (/ 53687093 134217728)) 1 0)) (ite (<= |:1| (/ 53687093 134217728)) 1 0)) (ite (<= |:2| (/ 11184811 67108864)) 1 (ite (and (> |:2| (/ 11184811 67108864)) (<= |:1| (/ 53687093 134217728))) 1 0))) (ite (<= |:1| (/ 5033165 16777216)) 1 (ite (and (> |:1| (/ 5033165 16777216)) (> |:0| (/ 3 4))) 1 0))) (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 (ite (<= |:1| (/ 53687093 134217728)) 1 0))) 1) (ite (<= |:1| (/ 53687093 134217728)) 1 (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 0))) (ite (<= |:1| (/ 53687093 134217728)) 1 0)) (ite (<= |:1| (/ 53687093 134217728)) 1 0)) (ite (<= |:1| (/ 67108865 134217728)) 1 (ite (and (> |:1| (/ 67108865 134217728)) (<= |:2| (/ 11184811 67108864))) 1 0))) (ite (and (> |:1| (/ 53687093 134217728)) (<= |:2| (/ 11184811 67108864))) 1 (ite (<= |:1| (/ 53687093 134217728)) 1 0))) (ite (<= |:1| (/ 53687093 134217728)) 1 0)) (ite (<= |:1| (/ 5033165 16777216)) 1 (ite (and (> |:1| (/ 5033165 16777216)) (> |:0| (/ 3 4))) 1 0))) (ite (<= |:2| (/ 11184811 67108864)) 1 0)) (ite (<= |:1| (/ 67108865 134217728)) 1 0)) (ite (and (<= |:0| (/ 3 4)) (> |:2| (/ 27962027 33554432))) 1 (ite (> |:0| (/ 3 4)) 1 0))) (ite (> |:0| (/ 3 4)) 1 (ite (and (<= |:0| (/ 3 4)) (<= |:1| (/ 53687093 134217728))) 1 0))) (ite (> |:0| (/ 3 4)) 1 (ite (and (<= |:0| (/ 3 4)) (<= |:1| (/ 53687093 134217728))) 1 0))) (ite (> |:2| (/ 27962027 33554432)) 1 0)) (ite (and (<= |:0| (/ 3 4)) (<= |:1| (/ 5033165 16777216))) 1 (ite (> |:0| (/ 3 4)) 1 0))) (ite (> |:0| (/ 3 4)) 1 (ite (and (<= |:0| (/ 3 4)) (<= |:1| (/ 53687093 134217728))) 1 0))) (ite (<= |:1| (/ 53687093 134217728)) 1 (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 0))) (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 (ite (<= |:1| (/ 53687093 134217728)) 1 0))) (ite (> |:0| (/ 3 4)) 1 0)) (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 (ite (<= |:1| (/ 53687093 134217728)) 1 0))) (ite (<= |:1| (/ 67108865 134217728)) 1 0)) (ite (<= |:1| (/ 5033165 16777216)) 1 0)) (ite (<= |:1| (/ 5033165 16777216)) 1 (ite (and (> |:1| (/ 5033165 16777216)) (> |:0| (/ 3 4))) 1 0))) (ite (<= |:1| (/ 67108865 134217728)) 1 (ite (and (> |:1| (/ 67108865 134217728)) (<= |:2| (/ 11184811 67108864))) 1 0))) (ite (<= |:1| (/ 67108865 134217728)) 1 0)) (ite (> |:0| (/ 3 4)) 1 (ite (and (<= |:0| (/ 3 4)) (<= |:1| (/ 53687093 134217728))) 1 0))) 0) (ite (<= |:1| (/ 53687093 134217728)) 1 0)) (ite (> |:1| (/ 30198989 33554432)) 0 1)) (ite (<= |:1| (/ 13421773 33554432)) 1 (ite (and (> |:1| (/ 13421773 33554432)) (<= |:2| (/ 11184811 67108864))) 1 0))) 0) (ite (<= |:1| (/ 53687093 134217728)) 1 0)) (ite (and (> |:1| (/ 53687093 134217728)) (<= |:2| (/ 11184811 67108864))) 1 (ite (<= |:1| (/ 53687093 134217728)) 1 0))) 0) (ite (and (<= |:0| (/ 3 4)) (<= |:1| (/ 5033165 16777216))) 1 (ite (> |:0| (/ 3 4)) 1 0))) (ite (> |:2| (/ 27962027 33554432)) 1 0)) (ite (<= |:1| (/ 5033165 16777216)) 1 0)) (ite (<= |:1| (/ 5033165 16777216)) 1 (ite (and (> |:1| (/ 5033165 16777216)) (> |:0| (/ 3 4))) 1 0))) (ite (<= |:1| (/ 5033165 16777216)) 1 0)) (ite (<= |:1| (/ 53687093 134217728)) 1 0)) (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 (ite (<= |:1| (/ 53687093 134217728)) 1 0))) (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 (ite (<= |:1| (/ 53687093 134217728)) 1 0))) (ite (<= |:1| (/ 5033165 16777216)) 1 0)) (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 (ite (<= |:1| (/ 53687093 134217728)) 1 0))) (ite (<= |:1| (/ 53687093 134217728)) 1 (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 0))) (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 (ite (<= |:1| (/ 53687093 134217728)) 1 0))) (ite (<= |:1| (/ 53687093 134217728)) 1 (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 0))) (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 (ite (<= |:1| (/ 53687093 134217728)) 1 0))) (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 (ite (<= |:1| (/ 53687093 134217728)) 1 0))) (ite (<= |:1| (/ 53687093 134217728)) 1 0)) (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 (ite (<= |:1| (/ 53687093 134217728)) 1 0))) (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 (ite (<= |:1| (/ 53687093 134217728)) 1 0))) (ite (<= |:1| (/ 53687093 134217728)) 1 0)) (ite (and (<= |:0| (/ 3 4)) (<= |:1| (/ 53687093 134217728))) 1 (ite (> |:0| (/ 3 4)) 1 0))) (ite (and (<= |:0| (/ 3 4)) (<= |:1| (/ 13421773 33554432))) 1 (ite (> |:0| (/ 3 4)) 1 0))) (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 (ite (<= |:1| (/ 53687093 134217728)) 1 0))) (ite (> |:0| (/ 3 4)) 1 0)) (ite (<= |:1| (/ 53687093 134217728)) 1 (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 0))) (ite (<= |:1| (/ 53687093 134217728)) 1 0)) (ite (> |:0| (/ 3 4)) 1 (ite (and (<= |:0| (/ 3 4)) (<= |:1| (/ 53687093 134217728))) 1 0))) (ite (and (<= |:0| (/ 3 4)) (<= |:1| (/ 53687093 134217728))) 1 (ite (> |:0| (/ 3 4)) 1 0))) (ite (<= |:1| (/ 5033165 16777216)) 1 0)) (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 (ite (<= |:1| (/ 53687093 134217728)) 1 0))) (ite (<= |:1| (/ 5033165 16777216)) 1 0)) (ite (> |:0| (/ 3 4)) 1 0)) (ite (and (and (<= |:1| (/ 30198989 33554432)) (> |:1| (/ 67108865 134217728))) (<= |:0| (/ 3 4))) 0 (ite (and (and (<= |:1| (/ 30198989 33554432)) (> |:1| (/ 67108865 134217728))) (> |:0| (/ 3 4))) 1 (ite (> |:1| (/ 30198989 33554432)) 0 1)))) (ite (<= |:1| (/ 67108865 134217728)) 1 0)) (ite (<= |:1| (/ 53687093 134217728)) 1 (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 0))) (ite (and (> |:1| (/ 67108865 134217728)) (<= |:2| (/ 11184811 67108864))) 1 (ite (<= |:1| (/ 67108865 134217728)) 1 0))) (ite (and (> |:1| (/ 53687093 134217728)) (> |:0| (/ 3 4))) 1 (ite (<= |:1| (/ 53687093 134217728)) 1 0))) (ite (<= |:0| (/ 1 4)) 1 (ite (and (> |:0| (/ 1 4)) (> |:0| (/ 3 4))) 1 0))) (ite (<= |:1| (/ 53687093 134217728)) 1 0))) 4) 5))))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test94_smlp_toy_num_resp_mult_y2_smlp_model_term.json b/regr_smlp/master/Test94_smlp_toy_num_resp_mult_y2_smlp_model_term.json new file mode 100644 index 00000000..130f1825 --- /dev/null +++ b/regr_smlp/master/Test94_smlp_toy_num_resp_mult_y2_smlp_model_term.json @@ -0,0 +1 @@ +"{'y2_scaled': p1_scaled (/ 3 4)) 1 0)) (ite (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (> p1_scaled (/ 3 4)) 1 0))) (ite (<= p2_scaled (/ 5033165 16777216)) 1 0)) (ite (<= p2_scaled (/ 53687093 134217728)) 1 (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 0))) (ite (<= p2_scaled (/ 53687093 134217728)) 1 0)) (ite (<= p2_scaled (/ 53687093 134217728)) 1 0)) (ite (<= p2_scaled (/ 5033165 16777216)) 1 (ite (and (> p2_scaled (/ 5033165 16777216)) (> p1_scaled (/ 3 4))) 1 0))) 0) (ite (and (> x_scaled (/ 33554433 67108864)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (<= x_scaled (/ 33554433 67108864)) 1 0))) (ite (> p1_scaled (/ 3 4)) 1 (ite (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 53687093 134217728))) 1 0))) (ite (<= p2_scaled (/ 53687093 134217728)) 1 0)) (ite (<= p2_scaled (/ 67108865 134217728)) 1 0)) (ite (<= p2_scaled (/ 53687093 134217728)) 1 0)) (ite (<= p2_scaled (/ 53687093 134217728)) 1 0)) (ite (<= p2_scaled (/ 53687093 134217728)) 1 0)) (ite (> p2_scaled (/ 30198989 33554432)) 0 1)) (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 (ite (<= p2_scaled (/ 53687093 134217728)) 1 0))) (ite (<= p2_scaled (/ 5033165 16777216)) 1 0)) (ite (<= p2_scaled (/ 53687093 134217728)) 1 0)) (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 (ite (<= p2_scaled (/ 53687093 134217728)) 1 0))) (ite (<= x_scaled (/ 11184811 67108864)) 1 (ite (and (> x_scaled (/ 11184811 67108864)) (> x_scaled (/ 27962027 33554432))) 1 0))) (ite (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (> p1_scaled (/ 3 4)) 1 0))) (ite (and (<= p1_scaled (/ 3 4)) (> x_scaled (/ 44739243 67108864))) 1 (ite (> p1_scaled (/ 3 4)) 1 0))) (ite (<= p2_scaled (/ 53687093 134217728)) 1 0)) (ite (<= p2_scaled (/ 53687093 134217728)) 1 0)) (ite (<= x_scaled (/ 11184811 67108864)) 1 (ite (and (> x_scaled (/ 11184811 67108864)) (<= p2_scaled (/ 53687093 134217728))) 1 0))) (ite (<= p2_scaled (/ 5033165 16777216)) 1 (ite (and (> p2_scaled (/ 5033165 16777216)) (> p1_scaled (/ 3 4))) 1 0))) (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 (ite (<= p2_scaled (/ 53687093 134217728)) 1 0))) 1) (ite (<= p2_scaled (/ 53687093 134217728)) 1 (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 0))) (ite (<= p2_scaled (/ 53687093 134217728)) 1 0)) (ite (<= p2_scaled (/ 53687093 134217728)) 1 0)) (ite (<= p2_scaled (/ 67108865 134217728)) 1 (ite (and (> p2_scaled (/ 67108865 134217728)) (<= x_scaled (/ 11184811 67108864))) 1 0))) (ite (and (> p2_scaled (/ 53687093 134217728)) (<= x_scaled (/ 11184811 67108864))) 1 (ite (<= p2_scaled (/ 53687093 134217728)) 1 0))) (ite (<= p2_scaled (/ 53687093 134217728)) 1 0)) (ite (<= p2_scaled (/ 5033165 16777216)) 1 (ite (and (> p2_scaled (/ 5033165 16777216)) (> p1_scaled (/ 3 4))) 1 0))) (ite (<= x_scaled (/ 11184811 67108864)) 1 0)) (ite (<= p2_scaled (/ 67108865 134217728)) 1 0)) (ite (and (<= p1_scaled (/ 3 4)) (> x_scaled (/ 27962027 33554432))) 1 (ite (> p1_scaled (/ 3 4)) 1 0))) (ite (> p1_scaled (/ 3 4)) 1 (ite (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 53687093 134217728))) 1 0))) (ite (> p1_scaled (/ 3 4)) 1 (ite (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 53687093 134217728))) 1 0))) (ite (> x_scaled (/ 27962027 33554432)) 1 0)) (ite (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 5033165 16777216))) 1 (ite (> p1_scaled (/ 3 4)) 1 0))) (ite (> p1_scaled (/ 3 4)) 1 (ite (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 53687093 134217728))) 1 0))) (ite (<= p2_scaled (/ 53687093 134217728)) 1 (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 0))) (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 (ite (<= p2_scaled (/ 53687093 134217728)) 1 0))) (ite (> p1_scaled (/ 3 4)) 1 0)) (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 (ite (<= p2_scaled (/ 53687093 134217728)) 1 0))) (ite (<= p2_scaled (/ 67108865 134217728)) 1 0)) (ite (<= p2_scaled (/ 5033165 16777216)) 1 0)) (ite (<= p2_scaled (/ 5033165 16777216)) 1 (ite (and (> p2_scaled (/ 5033165 16777216)) (> p1_scaled (/ 3 4))) 1 0))) (ite (<= p2_scaled (/ 67108865 134217728)) 1 (ite (and (> p2_scaled (/ 67108865 134217728)) (<= x_scaled (/ 11184811 67108864))) 1 0))) (ite (<= p2_scaled (/ 67108865 134217728)) 1 0)) (ite (> p1_scaled (/ 3 4)) 1 (ite (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 53687093 134217728))) 1 0))) 0) (ite (<= p2_scaled (/ 53687093 134217728)) 1 0)) (ite (> p2_scaled (/ 30198989 33554432)) 0 1)) (ite (<= p2_scaled (/ 13421773 33554432)) 1 (ite (and (> p2_scaled (/ 13421773 33554432)) (<= x_scaled (/ 11184811 67108864))) 1 0))) 0) (ite (<= p2_scaled (/ 53687093 134217728)) 1 0)) (ite (and (> p2_scaled (/ 53687093 134217728)) (<= x_scaled (/ 11184811 67108864))) 1 (ite (<= p2_scaled (/ 53687093 134217728)) 1 0))) 0) (ite (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 5033165 16777216))) 1 (ite (> p1_scaled (/ 3 4)) 1 0))) (ite (> x_scaled (/ 27962027 33554432)) 1 0)) (ite (<= p2_scaled (/ 5033165 16777216)) 1 0)) (ite (<= p2_scaled (/ 5033165 16777216)) 1 (ite (and (> p2_scaled (/ 5033165 16777216)) (> p1_scaled (/ 3 4))) 1 0))) (ite (<= p2_scaled (/ 5033165 16777216)) 1 0)) (ite (<= p2_scaled (/ 53687093 134217728)) 1 0)) (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 (ite (<= p2_scaled (/ 53687093 134217728)) 1 0))) (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 (ite (<= p2_scaled (/ 53687093 134217728)) 1 0))) (ite (<= p2_scaled (/ 5033165 16777216)) 1 0)) (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 (ite (<= p2_scaled (/ 53687093 134217728)) 1 0))) (ite (<= p2_scaled (/ 53687093 134217728)) 1 (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 0))) (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 (ite (<= p2_scaled (/ 53687093 134217728)) 1 0))) (ite (<= p2_scaled (/ 53687093 134217728)) 1 (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 0))) (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 (ite (<= p2_scaled (/ 53687093 134217728)) 1 0))) (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 (ite (<= p2_scaled (/ 53687093 134217728)) 1 0))) (ite (<= p2_scaled (/ 53687093 134217728)) 1 0)) (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 (ite (<= p2_scaled (/ 53687093 134217728)) 1 0))) (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 (ite (<= p2_scaled (/ 53687093 134217728)) 1 0))) (ite (<= p2_scaled (/ 53687093 134217728)) 1 0)) (ite (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (> p1_scaled (/ 3 4)) 1 0))) (ite (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 13421773 33554432))) 1 (ite (> p1_scaled (/ 3 4)) 1 0))) (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 (ite (<= p2_scaled (/ 53687093 134217728)) 1 0))) (ite (> p1_scaled (/ 3 4)) 1 0)) (ite (<= p2_scaled (/ 53687093 134217728)) 1 (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 0))) (ite (<= p2_scaled (/ 53687093 134217728)) 1 0)) (ite (> p1_scaled (/ 3 4)) 1 (ite (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 53687093 134217728))) 1 0))) (ite (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (> p1_scaled (/ 3 4)) 1 0))) (ite (<= p2_scaled (/ 5033165 16777216)) 1 0)) (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 (ite (<= p2_scaled (/ 53687093 134217728)) 1 0))) (ite (<= p2_scaled (/ 5033165 16777216)) 1 0)) (ite (> p1_scaled (/ 3 4)) 1 0)) (ite (and (and (<= p2_scaled (/ 30198989 33554432)) (> p2_scaled (/ 67108865 134217728))) (<= p1_scaled (/ 3 4))) 0 (ite (and (and (<= p2_scaled (/ 30198989 33554432)) (> p2_scaled (/ 67108865 134217728))) (> p1_scaled (/ 3 4))) 1 (ite (> p2_scaled (/ 30198989 33554432)) 0 1)))) (ite (<= p2_scaled (/ 67108865 134217728)) 1 0)) (ite (<= p2_scaled (/ 53687093 134217728)) 1 (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 0))) (ite (and (> p2_scaled (/ 67108865 134217728)) (<= x_scaled (/ 11184811 67108864))) 1 (ite (<= p2_scaled (/ 67108865 134217728)) 1 0))) (ite (and (> p2_scaled (/ 53687093 134217728)) (> p1_scaled (/ 3 4))) 1 (ite (<= p2_scaled (/ 53687093 134217728)) 1 0))) (ite (<= p1_scaled (/ 1 4)) 1 (ite (and (> p1_scaled (/ 1 4)) (> p1_scaled (/ 3 4))) 1 0))) (ite (<= p2_scaled (/ 53687093 134217728)) 1 0)))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test95_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test95_smlp_toy_num_resp_mult.txt index bf7f8b93..227dfedf 100644 --- a/regr_smlp/master/Test95_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test95_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : p2<5 and x==10 and x<12 smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : p1==4 or p1==8 + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.05} @@ -265,9 +267,9 @@ smlp_logger - INFO - Eta ranges constraints: (and (and true (and (>= p1 0) ( smlp_logger - INFO - Eta grid constraints: (or (or (= p1 2) (= p1 4)) (= p1 7)) -smlp_logger - INFO - Eta global constraints: true +smlp_logger - INFO - Eta global constraints: (or (= p1 4) (= p1 8)) -smlp_logger - INFO - Eta combined constraints: (let ((|:0| true)) (and (and (and (and |:0| (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) |:0|)) +smlp_logger - INFO - Eta combined constraints: (and (and (and (and true (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) (or (= p1 4) (= p1 8))) smlp_logger - INFO - Creating model exploration base components: End diff --git a/regr_smlp/master/Test95_smlp_toy_num_resp_mult_optimization_progress.csv b/regr_smlp/master/Test95_smlp_toy_num_resp_mult_optimization_progress.csv index 665fc4b6..c891b65a 100644 --- a/regr_smlp/master/Test95_smlp_toy_num_resp_mult_optimization_progress.csv +++ b/regr_smlp/master/Test95_smlp_toy_num_resp_mult_optimization_progress.csv @@ -1,5 +1,5 @@ Iteration,p1,p2,x,y1,y2,objv1,objv2 -vacuity,2.0,4.0,10.0,7.0,5.0,6.0,7.0 -"iter(0, 3)",2.0,4.0,10.0,7.0,5.0,6.0,7.0 -"iter(0, 'completed')",2.0,4.0,10.0,7.0,5.0,6.0,7.0 -final,2.0,4.0,10.0,7.0,5.0,6.0,7.0 +vacuity,4.0,4.0,10.0,7.0,5.0,6.0,7.0 +"iter(0, 3)",4.0,4.0,10.0,7.0,5.0,6.0,7.0 +"iter(0, 'completed')",4.0,4.0,10.0,7.0,5.0,6.0,7.0 +final,4.0,4.0,10.0,7.0,5.0,6.0,7.0 diff --git a/regr_smlp/master/Test95_smlp_toy_num_resp_mult_optimization_progress.json b/regr_smlp/master/Test95_smlp_toy_num_resp_mult_optimization_progress.json index 0225e1c8..007e3afd 100644 --- a/regr_smlp/master/Test95_smlp_toy_num_resp_mult_optimization_progress.json +++ b/regr_smlp/master/Test95_smlp_toy_num_resp_mult_optimization_progress.json @@ -18,7 +18,7 @@ "value_in_config": 10.0 }, "p1": { - "value_in_config": 2.0 + "value_in_config": 4.0 }, "p2": { "value_in_config": 4.0 @@ -49,7 +49,7 @@ "value_in_config": 10.0 }, "p1": { - "value_in_config": 2.0 + "value_in_config": 4.0 }, "p2": { "value_in_config": 4.0 @@ -80,7 +80,7 @@ "value_in_config": 10.0 }, "p1": { - "value_in_config": 2.0 + "value_in_config": 4.0 }, "p2": { "value_in_config": 4.0 @@ -132,7 +132,7 @@ "value_in_config": 10.0 }, "p1": { - "value_in_config": 2.0 + "value_in_config": 4.0 }, "p2": { "value_in_config": 4.0 diff --git a/regr_smlp/master/Test95_smlp_toy_num_resp_mult_optimization_results.csv b/regr_smlp/master/Test95_smlp_toy_num_resp_mult_optimization_results.csv index 08590679..03f4a3ef 100644 --- a/regr_smlp/master/Test95_smlp_toy_num_resp_mult_optimization_results.csv +++ b/regr_smlp/master/Test95_smlp_toy_num_resp_mult_optimization_results.csv @@ -1,2 +1,2 @@ Iteration,p1,p2,x,y1,y2,objv1,objv2 -final,2.0,4.0,10.0,7.0,5.0,6.0,7.0 +final,4.0,4.0,10.0,7.0,5.0,6.0,7.0 diff --git a/regr_smlp/master/Test95_smlp_toy_num_resp_mult_optimization_results.json b/regr_smlp/master/Test95_smlp_toy_num_resp_mult_optimization_results.json index d2cbab1c..771dc85b 100644 --- a/regr_smlp/master/Test95_smlp_toy_num_resp_mult_optimization_results.json +++ b/regr_smlp/master/Test95_smlp_toy_num_resp_mult_optimization_results.json @@ -17,7 +17,7 @@ "value_in_config": 10.0 }, "p1": { - "value_in_config": 2.0 + "value_in_config": 4.0 }, "p2": { "value_in_config": 4.0 diff --git a/regr_smlp/master/Test95_smlp_toy_num_resp_mult_trace.csv b/regr_smlp/master/Test95_smlp_toy_num_resp_mult_trace.csv new file mode 100644 index 00000000..011f7567 --- /dev/null +++ b/regr_smlp/master/Test95_smlp_toy_num_resp_mult_trace.csv @@ -0,0 +1,35 @@ +stage,solver,p1,p2,x,y1,y2 +interface_consistency,sat,4,3,10 +model_consistency,sat,4,3,10,7,5 +synthesis_feasibility +synthesis,synthesis_feasibility +ca,sat,4,4,10,7,5 +ce,unsat +pareto_iteration,0,objv1__objv2,None__None +single_objective_u0_l0_u_l, objv1_scaled_objv2_scaled : 1 : 0 : inf : -inf +objective_thresholds_u0_l0_u_l_T, 2 : 0 : inf : -inf : 1 +synthesis,objv1_scaled_objv2_scaled_1 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 1 : -inf : 0 +synthesis,objv1_scaled_objv2_scaled_0 +ca,sat,4,4,10,7,5 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 1 : 0 : 0.5 +synthesis,objv1_scaled_objv2_scaled_0.5 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 0.5 : 0 : 0.25 +synthesis,objv1_scaled_objv2_scaled_0.25 +ca,sat,4,4,10,7,5 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 0.5 : 0.25 : 0.375 +synthesis,objv1_scaled_objv2_scaled_0.375 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 0.375 : 0.25 : 0.3125 +synthesis,objv1_scaled_objv2_scaled_0.3125 +ca,unsat +activity check, objective objv1 threshold 0.25 +synthesis,thresholds_0.35_0.25_check +ca,unsat +activity check, objective objv2 threshold 0.25 +synthesis,thresholds_0.25_0.35_check +ca,unsat diff --git a/regr_smlp/master/Test95_smlp_toy_num_resp_mult_y1_smlp_full_model_term.json b/regr_smlp/master/Test95_smlp_toy_num_resp_mult_y1_smlp_full_model_term.json new file mode 100644 index 00000000..2dd491ce --- /dev/null +++ b/regr_smlp/master/Test95_smlp_toy_num_resp_mult_y1_smlp_full_model_term.json @@ -0,0 +1 @@ +"{'y1': }" \ No newline at end of file diff --git a/regr_smlp/master/Test95_smlp_toy_num_resp_mult_y1_smlp_model_term.json b/regr_smlp/master/Test95_smlp_toy_num_resp_mult_y1_smlp_model_term.json new file mode 100644 index 00000000..ca312b12 --- /dev/null +++ b/regr_smlp/master/Test95_smlp_toy_num_resp_mult_y1_smlp_model_term.json @@ -0,0 +1 @@ +"{'y1_scaled': }" \ No newline at end of file diff --git a/regr_smlp/master/Test95_smlp_toy_num_resp_mult_y2_smlp_full_model_term.json b/regr_smlp/master/Test95_smlp_toy_num_resp_mult_y2_smlp_full_model_term.json new file mode 100644 index 00000000..7ca94f20 --- /dev/null +++ b/regr_smlp/master/Test95_smlp_toy_num_resp_mult_y2_smlp_full_model_term.json @@ -0,0 +1 @@ +"{'y2': }" \ No newline at end of file diff --git a/regr_smlp/master/Test95_smlp_toy_num_resp_mult_y2_smlp_model_term.json b/regr_smlp/master/Test95_smlp_toy_num_resp_mult_y2_smlp_model_term.json new file mode 100644 index 00000000..f5110c79 --- /dev/null +++ b/regr_smlp/master/Test95_smlp_toy_num_resp_mult_y2_smlp_model_term.json @@ -0,0 +1 @@ +"{'y2_scaled': }" \ No newline at end of file diff --git a/regr_smlp/master/Test96_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test96_smlp_toy_num_resp_mult.txt index 46b24ab0..69cfd98f 100644 --- a/regr_smlp/master/Test96_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test96_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : p2<5 and x==10 and x<12 smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : p1==4 or p1==8 + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.05} @@ -265,9 +267,9 @@ smlp_logger - INFO - Eta ranges constraints: (and (and true (and (>= p1 0) ( smlp_logger - INFO - Eta grid constraints: (or (or (= p1 2) (= p1 4)) (= p1 7)) -smlp_logger - INFO - Eta global constraints: true +smlp_logger - INFO - Eta global constraints: (or (= p1 4) (= p1 8)) -smlp_logger - INFO - Eta combined constraints: (let ((|:0| true)) (and (and (and (and |:0| (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) |:0|)) +smlp_logger - INFO - Eta combined constraints: (and (and (and (and true (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) (or (= p1 4) (= p1 8))) smlp_logger - INFO - Creating model exploration base components: End diff --git a/regr_smlp/master/Test96_smlp_toy_num_resp_mult_optimization_progress.csv b/regr_smlp/master/Test96_smlp_toy_num_resp_mult_optimization_progress.csv index 698cdc3a..034c8ea2 100644 --- a/regr_smlp/master/Test96_smlp_toy_num_resp_mult_optimization_progress.csv +++ b/regr_smlp/master/Test96_smlp_toy_num_resp_mult_optimization_progress.csv @@ -1,5 +1,5 @@ Iteration,p1,p2,x,y1,y2,objv1,objv2 -vacuity,4.0,4.0,10.0,6.44,5.0,5.720000000000001,6.44 +vacuity,4.0,3.5,10.0,5.92,5.0,5.46,5.92 "iter(0, 4)",4.0,4.0,10.0,6.44,5.0,5.720000000000001,6.44 "iter(0, 'completed')",4.0,4.0,10.0,6.44,5.0,5.720000000000001,6.44 "iter(1, 'selection')",4.0,4.0,10.0,6.44,5.0,5.720000000000001,6.44 diff --git a/regr_smlp/master/Test96_smlp_toy_num_resp_mult_trace.csv b/regr_smlp/master/Test96_smlp_toy_num_resp_mult_trace.csv new file mode 100644 index 00000000..1d9579c3 --- /dev/null +++ b/regr_smlp/master/Test96_smlp_toy_num_resp_mult_trace.csv @@ -0,0 +1,51 @@ +stage,solver,p1,p2,x,y1,y2 +interface_consistency,sat,4,3,10 +model_consistency,sat,4,3,10,148/25,5 +synthesis_feasibility +synthesis,synthesis_feasibility +ca,sat,4,4,10,161/25,5 +ce,unsat +pareto_iteration,0,objv1__objv2,None__None +single_objective_u0_l0_u_l, objv1_scaled_objv2_scaled : 1 : 0 : inf : -inf +objective_thresholds_u0_l0_u_l_T, 2 : 0 : inf : -inf : 1 +synthesis,objv1_scaled_objv2_scaled_1 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 1 : -inf : 0 +synthesis,objv1_scaled_objv2_scaled_0 +ca,sat,4,4,10,161/25,5 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 1 : 0 : 0.5 +synthesis,objv1_scaled_objv2_scaled_0.5 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 0.5 : 0 : 0.25 +synthesis,objv1_scaled_objv2_scaled_0.25 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 0.25 : 0 : 0.125 +synthesis,objv1_scaled_objv2_scaled_0.125 +ca,sat,4,4,10,161/25,5 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 0.25 : 0.125 : 0.1875 +synthesis,objv1_scaled_objv2_scaled_0.1875 +ca,unsat +activity check, objective objv1 threshold 0.125 +synthesis,thresholds_0.225_0.125_check +ca,unsat +activity check, objective objv2 threshold 0.125 +synthesis,thresholds_0.125_0.225_check +ca,sat,4,4,10,161/25,5 +ce,unsat +pareto_iteration,1,objv1__objv2,0.125__None +single_objective_u0_l0_u_l, objv2_scaled : 1 : 0.225 : inf : 0.225 +objective_thresholds_u0_l0_u_l_T, 1.775 : 0.225 : inf : 0.225 : 1 +synthesis,objv2_scaled_1 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 1.775 : 0.225 : 1 : 0.225 : 0.6125 +synthesis,objv2_scaled_0.6125 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 1.775 : 0.225 : 0.6125 : 0.225 : 0.41875 +synthesis,objv2_scaled_0.41875 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 1.775 : 0.225 : 0.41875 : 0.225 : 0.321875 +synthesis,objv2_scaled_0.321875 +ca,sat,4,4,10,161/25,5 +ce,unsat diff --git a/regr_smlp/master/Test96_smlp_toy_num_resp_mult_y1_smlp_full_model_term.json b/regr_smlp/master/Test96_smlp_toy_num_resp_mult_y1_smlp_full_model_term.json new file mode 100644 index 00000000..96320543 --- /dev/null +++ b/regr_smlp/master/Test96_smlp_toy_num_resp_mult_y1_smlp_full_model_term.json @@ -0,0 +1 @@ +"{'y1': |:0| (/ 23488103 33554432)) 1 0)) (ite (and (and (<= |:0| (/ 30198989 33554432)) (<= |:0| (/ 53687093 134217728))) (<= |:0| (/ 13421773 134217728))) 0 (ite (and (and (<= |:0| (/ 30198989 33554432)) (<= |:0| (/ 53687093 134217728))) (> |:0| (/ 13421773 134217728))) 1 (ite (> |:0| (/ 30198989 33554432)) 1 0)))) (ite (and (<= |:0| (/ 23488103 33554432)) (> |:1| (/ 27962027 33554432))) 1 (ite (> |:0| (/ 23488103 33554432)) 1 0))) (ite (and (<= |:2| (/ 3 4)) (> |:1| (/ 27962027 33554432))) 1 (ite (> |:2| (/ 3 4)) 1 0))) (ite (and (<= |:0| (/ 23488103 33554432)) (> |:1| (/ 27962027 33554432))) 1 (ite (> |:0| (/ 23488103 33554432)) 1 0))) (ite (and (<= |:1| (/ 33554433 67108864)) (<= |:0| (/ 13421773 33554432))) 0 (ite (> |:1| (/ 33554433 67108864)) 0 1))) (ite (and (<= |:2| (/ 1 2)) (> |:1| (/ 27962027 33554432))) 1 (ite (> |:2| (/ 1 2)) 1 0))) (ite (and (<= |:2| (/ 3 4)) (<= |:1| (/ 11184811 67108864))) 0 (ite (and (and (<= |:2| (/ 3 4)) (> |:1| (/ 11184811 67108864))) (<= |:0| (/ 67108865 134217728))) 1 (ite (and (and (and (<= |:2| (/ 3 4)) (> |:1| (/ 11184811 67108864))) (> |:0| (/ 67108865 134217728))) (<= |:2| (/ 1 4))) 0 (ite (and (and (and (<= |:2| (/ 3 4)) (> |:1| (/ 11184811 67108864))) (> |:0| (/ 67108865 134217728))) (> |:2| (/ 1 4))) 1 1))))) (ite (and (and (<= |:2| (/ 1 4)) (<= |:0| (/ 53687093 134217728))) (<= |:0| (/ 13421773 134217728))) 0 (ite (and (and (<= |:2| (/ 1 4)) (<= |:0| (/ 53687093 134217728))) (> |:0| (/ 13421773 134217728))) 1 (ite (and (> |:2| (/ 1 4)) (<= |:1| (/ 11184811 67108864))) 0 (ite (and (> |:2| (/ 1 4)) (> |:1| (/ 11184811 67108864))) 1 0))))) (ite (and (<= |:0| (/ 13421773 16777216)) (> |:1| (/ 27962027 33554432))) 1 (ite (> |:0| (/ 13421773 16777216)) 1 0))) (ite (> |:0| (/ 30198989 33554432)) 1 0)) (ite (<= |:0| (/ 23488103 33554432)) 0 1)) (ite (> |:0| (/ 23488103 33554432)) 1 0)) (ite (and (<= |:1| (/ 27962027 33554432)) (> |:0| (/ 23488103 33554432))) 1 (ite (> |:1| (/ 27962027 33554432)) 1 0))) (ite (> |:0| (/ 23488103 33554432)) 1 0)) (ite (and (> |:0| (/ 23488103 33554432)) (> |:1| (/ 44739243 67108864))) 0 (ite (and (> |:0| (/ 23488103 33554432)) (<= |:1| (/ 44739243 67108864))) 1 0))) (ite (and (<= |:2| (/ 1 2)) (<= |:0| (/ 53687093 134217728))) 1 (ite (> |:2| (/ 1 2)) 1 0))) (ite (> |:0| (/ 23488103 33554432)) 1 0)) (ite (and (<= |:0| (/ 23488103 33554432)) (> |:1| (/ 27962027 33554432))) 1 (ite (and (> |:0| (/ 23488103 33554432)) (> |:1| (/ 44739243 67108864))) 0 (ite (and (<= |:0| (/ 23488103 33554432)) (<= |:1| (/ 27962027 33554432))) 0 1)))) (ite (and (<= |:0| (/ 23488103 33554432)) (> |:1| (/ 27962027 33554432))) 1 (ite (and (<= |:0| (/ 23488103 33554432)) (<= |:1| (/ 27962027 33554432))) 0 1))) (ite (and (<= |:0| (/ 23488103 33554432)) (> |:1| (/ 27962027 33554432))) 1 (ite (> |:0| (/ 23488103 33554432)) 1 0))) (ite (<= |:0| (/ 23488103 33554432)) 0 1)) (ite (> |:0| (/ 23488103 33554432)) 1 0)) (ite (and (and (<= |:0| (/ 30198989 33554432)) (> |:1| (/ 27962027 33554432))) (<= |:0| (/ 67108865 134217728))) 1 (ite (and (and (<= |:0| (/ 30198989 33554432)) (> |:1| (/ 27962027 33554432))) (> |:0| (/ 67108865 134217728))) 0 (ite (> |:0| (/ 30198989 33554432)) 1 0)))) (ite (and (<= |:0| (/ 23488103 33554432)) (<= |:0| (/ 53687093 134217728))) 1 (ite (and (<= |:0| (/ 23488103 33554432)) (> |:0| (/ 53687093 134217728))) 0 1))) (ite (<= |:0| (/ 13421773 134217728)) 0 (ite (and (and (> |:0| (/ 13421773 134217728)) (> |:1| (/ 44739243 67108864))) (<= |:0| (/ 67108865 134217728))) 1 (ite (and (and (> |:0| (/ 13421773 134217728)) (> |:1| (/ 44739243 67108864))) (> |:0| (/ 67108865 134217728))) 0 1)))) (ite (and (> |:2| (/ 1 4)) (<= |:0| (/ 23488103 33554432))) 0 (ite (and (> |:2| (/ 1 4)) (> |:0| (/ 23488103 33554432))) 1 0))) (ite (<= |:0| (/ 23488103 33554432)) 0 (ite (and (> |:0| (/ 23488103 33554432)) (<= |:2| (/ 1 4))) 0 1))) (ite (<= |:0| (/ 23488103 33554432)) 0 1)) (ite (and (and (<= |:0| (/ 30198989 33554432)) (<= |:0| (/ 53687093 134217728))) (<= |:1| (/ 44739243 67108864))) 0 (ite (and (and (<= |:0| (/ 30198989 33554432)) (<= |:0| (/ 53687093 134217728))) (> |:1| (/ 44739243 67108864))) 1 (ite (> |:0| (/ 30198989 33554432)) 1 0)))) (ite (and (<= |:0| (/ 23488103 33554432)) (> |:1| (/ 27962027 33554432))) 1 (ite (> |:0| (/ 23488103 33554432)) 1 0))) (ite (<= |:0| (/ 23488103 33554432)) 0 1)) (ite (and (<= |:0| (/ 23488103 33554432)) (> |:1| (/ 27962027 33554432))) 1 (ite (and (> |:0| (/ 23488103 33554432)) (> |:1| (/ 44739243 67108864))) 0 (ite (and (<= |:0| (/ 23488103 33554432)) (<= |:1| (/ 27962027 33554432))) 0 1)))) (ite (and (> |:0| (/ 23488103 33554432)) (> |:1| (/ 44739243 67108864))) 0 (ite (and (> |:0| (/ 23488103 33554432)) (<= |:1| (/ 44739243 67108864))) 1 0))) (ite (and (> |:0| (/ 23488103 33554432)) (> |:1| (/ 44739243 67108864))) 0 (ite (<= |:0| (/ 23488103 33554432)) 0 1))) (ite (and (> |:1| (/ 33554433 67108864)) (<= |:1| (/ 27962027 33554432))) 0 (ite (and (> |:1| (/ 33554433 67108864)) (> |:1| (/ 27962027 33554432))) 1 1))) (ite (> |:2| (/ 3 4)) 1 0)) (ite (<= |:1| (/ 11184811 67108864)) 0 1)) (ite (and (and (<= |:2| (/ 1 4)) (<= |:0| (/ 53687093 134217728))) (<= |:0| (/ 13421773 134217728))) 0 (ite (and (and (<= |:2| (/ 1 4)) (<= |:0| (/ 53687093 134217728))) (> |:0| (/ 13421773 134217728))) 1 (ite (and (> |:2| (/ 1 4)) (<= |:0| (/ 23488103 33554432))) 0 (ite (and (<= |:2| (/ 1 4)) (> |:0| (/ 53687093 134217728))) 0 1))))) (ite (and (> |:0| (/ 23488103 33554432)) (<= |:2| (/ 1 4))) 0 (ite (and (> |:0| (/ 23488103 33554432)) (> |:2| (/ 1 4))) 1 0))) (ite (and (<= |:0| (/ 13421773 16777216)) (> |:1| (/ 27962027 33554432))) 1 (ite (> |:0| (/ 13421773 16777216)) 1 0))) (ite (<= |:0| (/ 13421773 33554432)) 0 (ite (and (> |:0| (/ 13421773 33554432)) (> |:1| (/ 44739243 67108864))) 0 1))) (ite (<= |:1| (/ 11184811 67108864)) 0 (ite (and (> |:1| (/ 11184811 67108864)) (<= |:0| (/ 13421773 134217728))) 0 (ite (and (and (and (> |:1| (/ 11184811 67108864)) (> |:0| (/ 13421773 134217728))) (> |:1| (/ 44739243 67108864))) (<= |:0| (/ 67108865 134217728))) 1 (ite (and (and (and (> |:1| (/ 11184811 67108864)) (> |:0| (/ 13421773 134217728))) (> |:1| (/ 44739243 67108864))) (> |:0| (/ 67108865 134217728))) 0 1))))) (ite (<= |:0| (/ 23488103 33554432)) 0 1)) (ite (and (> |:0| (/ 23488103 33554432)) (> |:1| (/ 44739243 67108864))) 0 (ite (<= |:0| (/ 23488103 33554432)) 0 1))) (ite (<= |:0| (/ 23488103 33554432)) 0 1)) (ite (and (and (<= |:2| (/ 3 4)) (<= |:0| (/ 53687093 134217728))) (<= |:0| (/ 13421773 134217728))) 0 (ite (and (and (<= |:2| (/ 3 4)) (<= |:0| (/ 53687093 134217728))) (> |:0| (/ 13421773 134217728))) 1 (ite (and (and (and (<= |:2| (/ 3 4)) (> |:0| (/ 53687093 134217728))) (<= |:1| (/ 44739243 67108864))) (<= |:0| (/ 23488103 33554432))) 0 (ite (and (and (and (<= |:2| (/ 3 4)) (> |:0| (/ 53687093 134217728))) (<= |:1| (/ 44739243 67108864))) (> |:0| (/ 23488103 33554432))) 1 (ite (and (and (<= |:2| (/ 3 4)) (> |:0| (/ 53687093 134217728))) (> |:1| (/ 44739243 67108864))) 0 1)))))) (ite (and (> |:0| (/ 23488103 33554432)) (> |:1| (/ 44739243 67108864))) 0 (ite (<= |:0| (/ 23488103 33554432)) 0 1))) (ite (<= |:1| (/ 11184811 67108864)) 1 0)) (ite (<= |:0| (/ 13421773 134217728)) 0 (ite (and (> |:0| (/ 13421773 134217728)) (<= |:0| (/ 53687093 134217728))) 1 (ite (and (and (> |:0| (/ 13421773 134217728)) (> |:0| (/ 53687093 134217728))) (<= |:1| (/ 33554433 67108864))) 1 0)))) (ite (<= |:0| (/ 23488103 33554432)) 0 1)) (ite (> |:0| (/ 30198989 33554432)) 1 0)) (ite (and (> |:2| (/ 1 4)) (<= |:0| (/ 23488103 33554432))) 0 (ite (<= |:2| (/ 1 4)) 0 1))) (ite (<= |:0| (/ 23488103 33554432)) 0 1)) (ite (and (<= |:2| (/ 3 4)) (<= |:1| (/ 11184811 67108864))) 0 (ite (and (and (<= |:2| (/ 3 4)) (> |:1| (/ 11184811 67108864))) (<= |:0| (/ 67108865 134217728))) 1 (ite (and (and (and (<= |:2| (/ 3 4)) (> |:1| (/ 11184811 67108864))) (> |:0| (/ 67108865 134217728))) (<= |:0| (/ 30198989 33554432))) 0 (ite (and (and (and (<= |:2| (/ 3 4)) (> |:1| (/ 11184811 67108864))) (> |:0| (/ 67108865 134217728))) (> |:0| (/ 30198989 33554432))) 1 1))))) (ite (and (<= |:1| (/ 33554433 67108864)) (<= |:1| (/ 11184811 67108864))) 0 (ite (and (<= |:1| (/ 33554433 67108864)) (> |:1| (/ 11184811 67108864))) 1 0))) (ite (> |:1| (/ 33554433 67108864)) 0 1)) (ite (and (<= |:0| (/ 13421773 16777216)) (> |:1| (/ 27962027 33554432))) 1 (ite (> |:0| (/ 13421773 16777216)) 1 0))) (ite (and (<= |:0| (/ 23488103 33554432)) (> |:1| (/ 27962027 33554432))) 1 (ite (> |:0| (/ 23488103 33554432)) 1 0))) (ite (<= |:0| (/ 53687093 134217728)) 1 (ite (and (and (> |:0| (/ 53687093 134217728)) (<= |:1| (/ 44739243 67108864))) (<= |:1| (/ 11184811 67108864))) 0 (ite (and (> |:0| (/ 53687093 134217728)) (> |:1| (/ 44739243 67108864))) 0 1)))) (ite (<= |:0| (/ 13421773 134217728)) 0 1)) (ite (<= |:0| (/ 13421773 134217728)) 0 (ite (and (> |:0| (/ 13421773 134217728)) (<= |:0| (/ 67108865 134217728))) 1 (ite (and (and (> |:0| (/ 13421773 134217728)) (> |:0| (/ 67108865 134217728))) (> |:1| (/ 44739243 67108864))) 0 1)))) (ite (and (<= |:1| (/ 27962027 33554432)) (> |:0| (/ 13421773 16777216))) 1 (ite (> |:1| (/ 27962027 33554432)) 1 0))) (ite (and (> |:1| (/ 44739243 67108864)) (<= |:0| (/ 67108865 134217728))) 1 (ite (and (> |:1| (/ 44739243 67108864)) (> |:0| (/ 67108865 134217728))) 0 1))) (ite (and (> |:0| (/ 23488103 33554432)) (> |:1| (/ 44739243 67108864))) 0 (ite (<= |:0| (/ 23488103 33554432)) 0 1))) (ite (<= |:0| (/ 13421773 134217728)) 0 (ite (and (> |:0| (/ 13421773 134217728)) (<= |:0| (/ 67108865 134217728))) 1 (ite (and (and (> |:0| (/ 13421773 134217728)) (> |:0| (/ 67108865 134217728))) (<= |:1| (/ 1 2))) 1 0)))) (ite (and (> |:1| (/ 27962027 33554432)) (<= |:0| (/ 67108865 134217728))) 1 (ite (and (> |:1| (/ 27962027 33554432)) (> |:0| (/ 67108865 134217728))) 0 0))) (ite (<= |:0| (/ 13421773 134217728)) 0 (ite (and (> |:0| (/ 13421773 134217728)) (<= |:1| (/ 11184811 67108864))) 0 (ite (and (and (and (> |:0| (/ 13421773 134217728)) (> |:1| (/ 11184811 67108864))) (> |:1| (/ 44739243 67108864))) (<= |:0| (/ 67108865 134217728))) 1 (ite (and (and (and (> |:0| (/ 13421773 134217728)) (> |:1| (/ 11184811 67108864))) (> |:1| (/ 44739243 67108864))) (> |:0| (/ 67108865 134217728))) 0 1))))) (ite (and (and (<= |:0| (/ 30198989 33554432)) (<= |:0| (/ 53687093 134217728))) (<= |:0| (/ 13421773 134217728))) 0 (ite (and (and (<= |:0| (/ 30198989 33554432)) (<= |:0| (/ 53687093 134217728))) (> |:0| (/ 13421773 134217728))) 1 (ite (and (and (and (<= |:0| (/ 30198989 33554432)) (> |:0| (/ 53687093 134217728))) (<= |:1| (/ 33554433 67108864))) (<= |:1| (/ 11184811 67108864))) 0 (ite (and (and (and (<= |:0| (/ 30198989 33554432)) (> |:0| (/ 53687093 134217728))) (<= |:1| (/ 33554433 67108864))) (> |:1| (/ 11184811 67108864))) 1 (ite (> |:0| (/ 30198989 33554432)) 1 0)))))) (ite (and (> |:0| (/ 23488103 33554432)) (> |:1| (/ 44739243 67108864))) 0 (ite (<= |:0| (/ 23488103 33554432)) 0 1))) (ite (and (> |:0| (/ 23488103 33554432)) (<= |:2| (/ 1 4))) 0 (ite (and (> |:0| (/ 23488103 33554432)) (> |:2| (/ 1 4))) 1 0))) (ite (<= |:0| (/ 23488103 33554432)) 0 1)) (ite (<= |:0| (/ 13421773 134217728)) 0 (ite (and (> |:0| (/ 13421773 134217728)) (<= |:0| (/ 53687093 134217728))) 1 (ite (and (and (> |:0| (/ 13421773 134217728)) (> |:0| (/ 53687093 134217728))) (<= |:0| (/ 23488103 33554432))) 0 (ite (and (and (and (> |:0| (/ 13421773 134217728)) (> |:0| (/ 53687093 134217728))) (> |:0| (/ 23488103 33554432))) (> |:1| (/ 44739243 67108864))) 0 1))))) (ite (and (<= |:0| (/ 23488103 33554432)) (> |:1| (/ 27962027 33554432))) 1 (ite (and (<= |:0| (/ 23488103 33554432)) (<= |:1| (/ 27962027 33554432))) 0 1))) (ite (and (and (<= |:2| (/ 1 4)) (<= |:0| (/ 53687093 134217728))) (<= |:0| (/ 13421773 134217728))) 0 (ite (and (and (<= |:2| (/ 1 4)) (<= |:0| (/ 53687093 134217728))) (> |:0| (/ 13421773 134217728))) 1 (ite (and (> |:2| (/ 1 4)) (<= |:0| (/ 23488103 33554432))) 0 (ite (and (> |:2| (/ 1 4)) (> |:0| (/ 23488103 33554432))) 1 0))))) (ite (and (> |:0| (/ 23488103 33554432)) (> |:1| (/ 44739243 67108864))) 0 (ite (and (> |:0| (/ 23488103 33554432)) (<= |:1| (/ 44739243 67108864))) 1 0))) (ite (and (and (and (<= |:0| (/ 30198989 33554432)) (<= |:2| (/ 3 4))) (<= |:0| (/ 53687093 134217728))) (<= |:0| (/ 13421773 134217728))) 0 (ite (and (and (and (<= |:0| (/ 30198989 33554432)) (<= |:2| (/ 3 4))) (<= |:0| (/ 53687093 134217728))) (> |:0| (/ 13421773 134217728))) 1 (ite (and (<= |:0| (/ 30198989 33554432)) (> |:2| (/ 3 4))) 1 (ite (> |:0| (/ 30198989 33554432)) 1 0))))) (ite (and (and (<= |:0| (/ 30198989 33554432)) (<= |:0| (/ 53687093 134217728))) (<= |:1| (/ 44739243 67108864))) 0 (ite (and (and (<= |:0| (/ 30198989 33554432)) (<= |:0| (/ 53687093 134217728))) (> |:1| (/ 44739243 67108864))) 1 (ite (and (and (and (<= |:0| (/ 30198989 33554432)) (> |:0| (/ 53687093 134217728))) (<= |:1| (/ 33554433 67108864))) (<= |:1| (/ 11184811 67108864))) 0 (ite (and (and (and (<= |:0| (/ 30198989 33554432)) (> |:0| (/ 53687093 134217728))) (<= |:1| (/ 33554433 67108864))) (> |:1| (/ 11184811 67108864))) 1 (ite (> |:0| (/ 30198989 33554432)) 1 0)))))) (ite (and (> |:2| (/ 1 4)) (<= |:0| (/ 23488103 33554432))) 0 (ite (<= |:2| (/ 1 4)) 0 1))) (ite (and (and (<= |:2| (/ 3 4)) (> |:1| (/ 44739243 67108864))) (<= |:0| (/ 67108865 134217728))) 1 (ite (and (and (<= |:2| (/ 3 4)) (> |:1| (/ 44739243 67108864))) (> |:0| (/ 67108865 134217728))) 0 (ite (> |:2| (/ 3 4)) 1 0)))) (ite (and (<= |:0| (/ 23488103 33554432)) (<= |:0| (/ 53687093 134217728))) 1 (ite (and (<= |:0| (/ 23488103 33554432)) (> |:0| (/ 53687093 134217728))) 0 1))) (ite (> |:1| (/ 33554433 67108864)) 0 1)) (ite (and (> |:0| (/ 23488103 33554432)) (<= |:2| (/ 1 4))) 0 (ite (<= |:0| (/ 23488103 33554432)) 0 1))) (ite (<= |:0| (/ 13421773 134217728)) 0 1)) (ite (> |:1| (/ 27962027 33554432)) 1 (ite (and (<= |:1| (/ 27962027 33554432)) (> |:0| (/ 23488103 33554432))) 1 0))) (ite (and (<= |:2| (/ 3 4)) (<= |:0| (/ 53687093 134217728))) 1 (ite (> |:2| (/ 3 4)) 1 0))) (ite (and (<= |:0| (/ 23488103 33554432)) (<= |:0| (/ 53687093 134217728))) 1 (ite (and (> |:0| (/ 23488103 33554432)) (> |:1| (/ 44739243 67108864))) 0 (ite (and (<= |:0| (/ 23488103 33554432)) (> |:0| (/ 53687093 134217728))) 0 1)))) (ite (and (<= |:0| (/ 23488103 33554432)) (> |:1| (/ 44739243 67108864))) 1 (ite (and (<= |:0| (/ 23488103 33554432)) (<= |:1| (/ 44739243 67108864))) 0 1))) (ite (<= |:1| (/ 33554433 67108864)) 1 (ite (and (> |:1| (/ 33554433 67108864)) (<= |:0| (/ 53687093 134217728))) 1 0))) (ite (and (<= |:1| (/ 27962027 33554432)) (> |:0| (/ 23488103 33554432))) 1 (ite (and (> |:1| (/ 27962027 33554432)) (<= |:0| (/ 67108865 134217728))) 1 (ite (and (> |:1| (/ 27962027 33554432)) (> |:0| (/ 67108865 134217728))) 0 0)))) (ite (and (and (and (<= |:2| (/ 1 2)) (<= |:0| (/ 30198989 33554432))) (<= |:0| (/ 53687093 134217728))) (<= |:1| (/ 44739243 67108864))) 0 (ite (and (and (and (<= |:2| (/ 1 2)) (<= |:0| (/ 30198989 33554432))) (<= |:0| (/ 53687093 134217728))) (> |:1| (/ 44739243 67108864))) 1 (ite (and (<= |:2| (/ 1 2)) (> |:0| (/ 30198989 33554432))) 1 (ite (> |:2| (/ 1 2)) 1 0))))) (ite (<= |:0| (/ 13421773 134217728)) 0 1)) (ite (and (> |:0| (/ 23488103 33554432)) (> |:1| (/ 44739243 67108864))) 0 (ite (<= |:0| (/ 23488103 33554432)) 0 1))) (ite (and (> |:0| (/ 23488103 33554432)) (> |:1| (/ 44739243 67108864))) 0 (ite (<= |:0| (/ 23488103 33554432)) 0 1))) (ite (and (<= |:0| (/ 23488103 33554432)) (> |:1| (/ 44739243 67108864))) 1 (ite (and (<= |:0| (/ 23488103 33554432)) (<= |:1| (/ 44739243 67108864))) 0 1))) (ite (and (> |:0| (/ 23488103 33554432)) (> |:1| (/ 44739243 67108864))) 0 (ite (<= |:0| (/ 23488103 33554432)) 0 1))) (ite (<= |:0| (/ 13421773 134217728)) 0 (ite (and (> |:0| (/ 13421773 134217728)) (<= |:0| (/ 53687093 134217728))) 1 (ite (and (and (and (> |:0| (/ 13421773 134217728)) (> |:0| (/ 53687093 134217728))) (<= |:1| (/ 44739243 67108864))) (<= |:0| (/ 23488103 33554432))) 0 (ite (and (and (> |:0| (/ 13421773 134217728)) (> |:0| (/ 53687093 134217728))) (> |:1| (/ 44739243 67108864))) 0 1))))) (ite (<= |:0| (/ 13421773 33554432)) 0 (ite (and (> |:0| (/ 13421773 33554432)) (> |:1| (/ 44739243 67108864))) 0 1))) (ite (and (<= |:0| (/ 23488103 33554432)) (> |:1| (/ 44739243 67108864))) 1 (ite (and (<= |:0| (/ 23488103 33554432)) (<= |:1| (/ 44739243 67108864))) 0 1)))) 4) 5))))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test96_smlp_toy_num_resp_mult_y1_smlp_model_term.json b/regr_smlp/master/Test96_smlp_toy_num_resp_mult_y1_smlp_model_term.json new file mode 100644 index 00000000..7469214b --- /dev/null +++ b/regr_smlp/master/Test96_smlp_toy_num_resp_mult_y1_smlp_model_term.json @@ -0,0 +1 @@ +"{'y1_scaled': p2_scaled (/ 23488103 33554432)) 1 0)) (ite (and (and (<= p2_scaled (/ 30198989 33554432)) (<= p2_scaled (/ 53687093 134217728))) (<= p2_scaled (/ 13421773 134217728))) 0 (ite (and (and (<= p2_scaled (/ 30198989 33554432)) (<= p2_scaled (/ 53687093 134217728))) (> p2_scaled (/ 13421773 134217728))) 1 (ite (> p2_scaled (/ 30198989 33554432)) 1 0)))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 27962027 33554432))) 1 (ite (> p2_scaled (/ 23488103 33554432)) 1 0))) (ite (and (<= p1_scaled (/ 3 4)) (> x_scaled (/ 27962027 33554432))) 1 (ite (> p1_scaled (/ 3 4)) 1 0))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 27962027 33554432))) 1 (ite (> p2_scaled (/ 23488103 33554432)) 1 0))) (ite (and (<= x_scaled (/ 33554433 67108864)) (<= p2_scaled (/ 13421773 33554432))) 0 (ite (> x_scaled (/ 33554433 67108864)) 0 1))) (ite (and (<= p1_scaled (/ 1 2)) (> x_scaled (/ 27962027 33554432))) 1 (ite (> p1_scaled (/ 1 2)) 1 0))) (ite (and (<= p1_scaled (/ 3 4)) (<= x_scaled (/ 11184811 67108864))) 0 (ite (and (and (<= p1_scaled (/ 3 4)) (> x_scaled (/ 11184811 67108864))) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (and (<= p1_scaled (/ 3 4)) (> x_scaled (/ 11184811 67108864))) (> p2_scaled (/ 67108865 134217728))) (<= p1_scaled (/ 1 4))) 0 (ite (and (and (and (<= p1_scaled (/ 3 4)) (> x_scaled (/ 11184811 67108864))) (> p2_scaled (/ 67108865 134217728))) (> p1_scaled (/ 1 4))) 1 1))))) (ite (and (and (<= p1_scaled (/ 1 4)) (<= p2_scaled (/ 53687093 134217728))) (<= p2_scaled (/ 13421773 134217728))) 0 (ite (and (and (<= p1_scaled (/ 1 4)) (<= p2_scaled (/ 53687093 134217728))) (> p2_scaled (/ 13421773 134217728))) 1 (ite (and (> p1_scaled (/ 1 4)) (<= x_scaled (/ 11184811 67108864))) 0 (ite (and (> p1_scaled (/ 1 4)) (> x_scaled (/ 11184811 67108864))) 1 0))))) (ite (and (<= p2_scaled (/ 13421773 16777216)) (> x_scaled (/ 27962027 33554432))) 1 (ite (> p2_scaled (/ 13421773 16777216)) 1 0))) (ite (> p2_scaled (/ 30198989 33554432)) 1 0)) (ite (<= p2_scaled (/ 23488103 33554432)) 0 1)) (ite (> p2_scaled (/ 23488103 33554432)) 1 0)) (ite (and (<= x_scaled (/ 27962027 33554432)) (> p2_scaled (/ 23488103 33554432))) 1 (ite (> x_scaled (/ 27962027 33554432)) 1 0))) (ite (> p2_scaled (/ 23488103 33554432)) 1 0)) (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (and (> p2_scaled (/ 23488103 33554432)) (<= x_scaled (/ 44739243 67108864))) 1 0))) (ite (and (<= p1_scaled (/ 1 2)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (> p1_scaled (/ 1 2)) 1 0))) (ite (> p2_scaled (/ 23488103 33554432)) 1 0)) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 27962027 33554432))) 1 (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (and (<= p2_scaled (/ 23488103 33554432)) (<= x_scaled (/ 27962027 33554432))) 0 1)))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 27962027 33554432))) 1 (ite (and (<= p2_scaled (/ 23488103 33554432)) (<= x_scaled (/ 27962027 33554432))) 0 1))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 27962027 33554432))) 1 (ite (> p2_scaled (/ 23488103 33554432)) 1 0))) (ite (<= p2_scaled (/ 23488103 33554432)) 0 1)) (ite (> p2_scaled (/ 23488103 33554432)) 1 0)) (ite (and (and (<= p2_scaled (/ 30198989 33554432)) (> x_scaled (/ 27962027 33554432))) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (<= p2_scaled (/ 30198989 33554432)) (> x_scaled (/ 27962027 33554432))) (> p2_scaled (/ 67108865 134217728))) 0 (ite (> p2_scaled (/ 30198989 33554432)) 1 0)))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (and (<= p2_scaled (/ 23488103 33554432)) (> p2_scaled (/ 53687093 134217728))) 0 1))) (ite (<= p2_scaled (/ 13421773 134217728)) 0 (ite (and (and (> p2_scaled (/ 13421773 134217728)) (> x_scaled (/ 44739243 67108864))) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (> p2_scaled (/ 13421773 134217728)) (> x_scaled (/ 44739243 67108864))) (> p2_scaled (/ 67108865 134217728))) 0 1)))) (ite (and (> p1_scaled (/ 1 4)) (<= p2_scaled (/ 23488103 33554432))) 0 (ite (and (> p1_scaled (/ 1 4)) (> p2_scaled (/ 23488103 33554432))) 1 0))) (ite (<= p2_scaled (/ 23488103 33554432)) 0 (ite (and (> p2_scaled (/ 23488103 33554432)) (<= p1_scaled (/ 1 4))) 0 1))) (ite (<= p2_scaled (/ 23488103 33554432)) 0 1)) (ite (and (and (<= p2_scaled (/ 30198989 33554432)) (<= p2_scaled (/ 53687093 134217728))) (<= x_scaled (/ 44739243 67108864))) 0 (ite (and (and (<= p2_scaled (/ 30198989 33554432)) (<= p2_scaled (/ 53687093 134217728))) (> x_scaled (/ 44739243 67108864))) 1 (ite (> p2_scaled (/ 30198989 33554432)) 1 0)))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 27962027 33554432))) 1 (ite (> p2_scaled (/ 23488103 33554432)) 1 0))) (ite (<= p2_scaled (/ 23488103 33554432)) 0 1)) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 27962027 33554432))) 1 (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (and (<= p2_scaled (/ 23488103 33554432)) (<= x_scaled (/ 27962027 33554432))) 0 1)))) (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (and (> p2_scaled (/ 23488103 33554432)) (<= x_scaled (/ 44739243 67108864))) 1 0))) (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (<= p2_scaled (/ 23488103 33554432)) 0 1))) (ite (and (> x_scaled (/ 33554433 67108864)) (<= x_scaled (/ 27962027 33554432))) 0 (ite (and (> x_scaled (/ 33554433 67108864)) (> x_scaled (/ 27962027 33554432))) 1 1))) (ite (> p1_scaled (/ 3 4)) 1 0)) (ite (<= x_scaled (/ 11184811 67108864)) 0 1)) (ite (and (and (<= p1_scaled (/ 1 4)) (<= p2_scaled (/ 53687093 134217728))) (<= p2_scaled (/ 13421773 134217728))) 0 (ite (and (and (<= p1_scaled (/ 1 4)) (<= p2_scaled (/ 53687093 134217728))) (> p2_scaled (/ 13421773 134217728))) 1 (ite (and (> p1_scaled (/ 1 4)) (<= p2_scaled (/ 23488103 33554432))) 0 (ite (and (<= p1_scaled (/ 1 4)) (> p2_scaled (/ 53687093 134217728))) 0 1))))) (ite (and (> p2_scaled (/ 23488103 33554432)) (<= p1_scaled (/ 1 4))) 0 (ite (and (> p2_scaled (/ 23488103 33554432)) (> p1_scaled (/ 1 4))) 1 0))) (ite (and (<= p2_scaled (/ 13421773 16777216)) (> x_scaled (/ 27962027 33554432))) 1 (ite (> p2_scaled (/ 13421773 16777216)) 1 0))) (ite (<= p2_scaled (/ 13421773 33554432)) 0 (ite (and (> p2_scaled (/ 13421773 33554432)) (> x_scaled (/ 44739243 67108864))) 0 1))) (ite (<= x_scaled (/ 11184811 67108864)) 0 (ite (and (> x_scaled (/ 11184811 67108864)) (<= p2_scaled (/ 13421773 134217728))) 0 (ite (and (and (and (> x_scaled (/ 11184811 67108864)) (> p2_scaled (/ 13421773 134217728))) (> x_scaled (/ 44739243 67108864))) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (and (> x_scaled (/ 11184811 67108864)) (> p2_scaled (/ 13421773 134217728))) (> x_scaled (/ 44739243 67108864))) (> p2_scaled (/ 67108865 134217728))) 0 1))))) (ite (<= p2_scaled (/ 23488103 33554432)) 0 1)) (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (<= p2_scaled (/ 23488103 33554432)) 0 1))) (ite (<= p2_scaled (/ 23488103 33554432)) 0 1)) (ite (and (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 53687093 134217728))) (<= p2_scaled (/ 13421773 134217728))) 0 (ite (and (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 53687093 134217728))) (> p2_scaled (/ 13421773 134217728))) 1 (ite (and (and (and (<= p1_scaled (/ 3 4)) (> p2_scaled (/ 53687093 134217728))) (<= x_scaled (/ 44739243 67108864))) (<= p2_scaled (/ 23488103 33554432))) 0 (ite (and (and (and (<= p1_scaled (/ 3 4)) (> p2_scaled (/ 53687093 134217728))) (<= x_scaled (/ 44739243 67108864))) (> p2_scaled (/ 23488103 33554432))) 1 (ite (and (and (<= p1_scaled (/ 3 4)) (> p2_scaled (/ 53687093 134217728))) (> x_scaled (/ 44739243 67108864))) 0 1)))))) (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (<= p2_scaled (/ 23488103 33554432)) 0 1))) (ite (<= x_scaled (/ 11184811 67108864)) 1 0)) (ite (<= p2_scaled (/ 13421773 134217728)) 0 (ite (and (> p2_scaled (/ 13421773 134217728)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (and (and (> p2_scaled (/ 13421773 134217728)) (> p2_scaled (/ 53687093 134217728))) (<= x_scaled (/ 33554433 67108864))) 1 0)))) (ite (<= p2_scaled (/ 23488103 33554432)) 0 1)) (ite (> p2_scaled (/ 30198989 33554432)) 1 0)) (ite (and (> p1_scaled (/ 1 4)) (<= p2_scaled (/ 23488103 33554432))) 0 (ite (<= p1_scaled (/ 1 4)) 0 1))) (ite (<= p2_scaled (/ 23488103 33554432)) 0 1)) (ite (and (<= p1_scaled (/ 3 4)) (<= x_scaled (/ 11184811 67108864))) 0 (ite (and (and (<= p1_scaled (/ 3 4)) (> x_scaled (/ 11184811 67108864))) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (and (<= p1_scaled (/ 3 4)) (> x_scaled (/ 11184811 67108864))) (> p2_scaled (/ 67108865 134217728))) (<= p2_scaled (/ 30198989 33554432))) 0 (ite (and (and (and (<= p1_scaled (/ 3 4)) (> x_scaled (/ 11184811 67108864))) (> p2_scaled (/ 67108865 134217728))) (> p2_scaled (/ 30198989 33554432))) 1 1))))) (ite (and (<= x_scaled (/ 33554433 67108864)) (<= x_scaled (/ 11184811 67108864))) 0 (ite (and (<= x_scaled (/ 33554433 67108864)) (> x_scaled (/ 11184811 67108864))) 1 0))) (ite (> x_scaled (/ 33554433 67108864)) 0 1)) (ite (and (<= p2_scaled (/ 13421773 16777216)) (> x_scaled (/ 27962027 33554432))) 1 (ite (> p2_scaled (/ 13421773 16777216)) 1 0))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 27962027 33554432))) 1 (ite (> p2_scaled (/ 23488103 33554432)) 1 0))) (ite (<= p2_scaled (/ 53687093 134217728)) 1 (ite (and (and (> p2_scaled (/ 53687093 134217728)) (<= x_scaled (/ 44739243 67108864))) (<= x_scaled (/ 11184811 67108864))) 0 (ite (and (> p2_scaled (/ 53687093 134217728)) (> x_scaled (/ 44739243 67108864))) 0 1)))) (ite (<= p2_scaled (/ 13421773 134217728)) 0 1)) (ite (<= p2_scaled (/ 13421773 134217728)) 0 (ite (and (> p2_scaled (/ 13421773 134217728)) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (> p2_scaled (/ 13421773 134217728)) (> p2_scaled (/ 67108865 134217728))) (> x_scaled (/ 44739243 67108864))) 0 1)))) (ite (and (<= x_scaled (/ 27962027 33554432)) (> p2_scaled (/ 13421773 16777216))) 1 (ite (> x_scaled (/ 27962027 33554432)) 1 0))) (ite (and (> x_scaled (/ 44739243 67108864)) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (> x_scaled (/ 44739243 67108864)) (> p2_scaled (/ 67108865 134217728))) 0 1))) (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (<= p2_scaled (/ 23488103 33554432)) 0 1))) (ite (<= p2_scaled (/ 13421773 134217728)) 0 (ite (and (> p2_scaled (/ 13421773 134217728)) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (> p2_scaled (/ 13421773 134217728)) (> p2_scaled (/ 67108865 134217728))) (<= x_scaled (/ 1 2))) 1 0)))) (ite (and (> x_scaled (/ 27962027 33554432)) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (> x_scaled (/ 27962027 33554432)) (> p2_scaled (/ 67108865 134217728))) 0 0))) (ite (<= p2_scaled (/ 13421773 134217728)) 0 (ite (and (> p2_scaled (/ 13421773 134217728)) (<= x_scaled (/ 11184811 67108864))) 0 (ite (and (and (and (> p2_scaled (/ 13421773 134217728)) (> x_scaled (/ 11184811 67108864))) (> x_scaled (/ 44739243 67108864))) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (and (> p2_scaled (/ 13421773 134217728)) (> x_scaled (/ 11184811 67108864))) (> x_scaled (/ 44739243 67108864))) (> p2_scaled (/ 67108865 134217728))) 0 1))))) (ite (and (and (<= p2_scaled (/ 30198989 33554432)) (<= p2_scaled (/ 53687093 134217728))) (<= p2_scaled (/ 13421773 134217728))) 0 (ite (and (and (<= p2_scaled (/ 30198989 33554432)) (<= p2_scaled (/ 53687093 134217728))) (> p2_scaled (/ 13421773 134217728))) 1 (ite (and (and (and (<= p2_scaled (/ 30198989 33554432)) (> p2_scaled (/ 53687093 134217728))) (<= x_scaled (/ 33554433 67108864))) (<= x_scaled (/ 11184811 67108864))) 0 (ite (and (and (and (<= p2_scaled (/ 30198989 33554432)) (> p2_scaled (/ 53687093 134217728))) (<= x_scaled (/ 33554433 67108864))) (> x_scaled (/ 11184811 67108864))) 1 (ite (> p2_scaled (/ 30198989 33554432)) 1 0)))))) (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (<= p2_scaled (/ 23488103 33554432)) 0 1))) (ite (and (> p2_scaled (/ 23488103 33554432)) (<= p1_scaled (/ 1 4))) 0 (ite (and (> p2_scaled (/ 23488103 33554432)) (> p1_scaled (/ 1 4))) 1 0))) (ite (<= p2_scaled (/ 23488103 33554432)) 0 1)) (ite (<= p2_scaled (/ 13421773 134217728)) 0 (ite (and (> p2_scaled (/ 13421773 134217728)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (and (and (> p2_scaled (/ 13421773 134217728)) (> p2_scaled (/ 53687093 134217728))) (<= p2_scaled (/ 23488103 33554432))) 0 (ite (and (and (and (> p2_scaled (/ 13421773 134217728)) (> p2_scaled (/ 53687093 134217728))) (> p2_scaled (/ 23488103 33554432))) (> x_scaled (/ 44739243 67108864))) 0 1))))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 27962027 33554432))) 1 (ite (and (<= p2_scaled (/ 23488103 33554432)) (<= x_scaled (/ 27962027 33554432))) 0 1))) (ite (and (and (<= p1_scaled (/ 1 4)) (<= p2_scaled (/ 53687093 134217728))) (<= p2_scaled (/ 13421773 134217728))) 0 (ite (and (and (<= p1_scaled (/ 1 4)) (<= p2_scaled (/ 53687093 134217728))) (> p2_scaled (/ 13421773 134217728))) 1 (ite (and (> p1_scaled (/ 1 4)) (<= p2_scaled (/ 23488103 33554432))) 0 (ite (and (> p1_scaled (/ 1 4)) (> p2_scaled (/ 23488103 33554432))) 1 0))))) (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (and (> p2_scaled (/ 23488103 33554432)) (<= x_scaled (/ 44739243 67108864))) 1 0))) (ite (and (and (and (<= p2_scaled (/ 30198989 33554432)) (<= p1_scaled (/ 3 4))) (<= p2_scaled (/ 53687093 134217728))) (<= p2_scaled (/ 13421773 134217728))) 0 (ite (and (and (and (<= p2_scaled (/ 30198989 33554432)) (<= p1_scaled (/ 3 4))) (<= p2_scaled (/ 53687093 134217728))) (> p2_scaled (/ 13421773 134217728))) 1 (ite (and (<= p2_scaled (/ 30198989 33554432)) (> p1_scaled (/ 3 4))) 1 (ite (> p2_scaled (/ 30198989 33554432)) 1 0))))) (ite (and (and (<= p2_scaled (/ 30198989 33554432)) (<= p2_scaled (/ 53687093 134217728))) (<= x_scaled (/ 44739243 67108864))) 0 (ite (and (and (<= p2_scaled (/ 30198989 33554432)) (<= p2_scaled (/ 53687093 134217728))) (> x_scaled (/ 44739243 67108864))) 1 (ite (and (and (and (<= p2_scaled (/ 30198989 33554432)) (> p2_scaled (/ 53687093 134217728))) (<= x_scaled (/ 33554433 67108864))) (<= x_scaled (/ 11184811 67108864))) 0 (ite (and (and (and (<= p2_scaled (/ 30198989 33554432)) (> p2_scaled (/ 53687093 134217728))) (<= x_scaled (/ 33554433 67108864))) (> x_scaled (/ 11184811 67108864))) 1 (ite (> p2_scaled (/ 30198989 33554432)) 1 0)))))) (ite (and (> p1_scaled (/ 1 4)) (<= p2_scaled (/ 23488103 33554432))) 0 (ite (<= p1_scaled (/ 1 4)) 0 1))) (ite (and (and (<= p1_scaled (/ 3 4)) (> x_scaled (/ 44739243 67108864))) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (and (<= p1_scaled (/ 3 4)) (> x_scaled (/ 44739243 67108864))) (> p2_scaled (/ 67108865 134217728))) 0 (ite (> p1_scaled (/ 3 4)) 1 0)))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (and (<= p2_scaled (/ 23488103 33554432)) (> p2_scaled (/ 53687093 134217728))) 0 1))) (ite (> x_scaled (/ 33554433 67108864)) 0 1)) (ite (and (> p2_scaled (/ 23488103 33554432)) (<= p1_scaled (/ 1 4))) 0 (ite (<= p2_scaled (/ 23488103 33554432)) 0 1))) (ite (<= p2_scaled (/ 13421773 134217728)) 0 1)) (ite (> x_scaled (/ 27962027 33554432)) 1 (ite (and (<= x_scaled (/ 27962027 33554432)) (> p2_scaled (/ 23488103 33554432))) 1 0))) (ite (and (<= p1_scaled (/ 3 4)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (> p1_scaled (/ 3 4)) 1 0))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (and (<= p2_scaled (/ 23488103 33554432)) (> p2_scaled (/ 53687093 134217728))) 0 1)))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 1 (ite (and (<= p2_scaled (/ 23488103 33554432)) (<= x_scaled (/ 44739243 67108864))) 0 1))) (ite (<= x_scaled (/ 33554433 67108864)) 1 (ite (and (> x_scaled (/ 33554433 67108864)) (<= p2_scaled (/ 53687093 134217728))) 1 0))) (ite (and (<= x_scaled (/ 27962027 33554432)) (> p2_scaled (/ 23488103 33554432))) 1 (ite (and (> x_scaled (/ 27962027 33554432)) (<= p2_scaled (/ 67108865 134217728))) 1 (ite (and (> x_scaled (/ 27962027 33554432)) (> p2_scaled (/ 67108865 134217728))) 0 0)))) (ite (and (and (and (<= p1_scaled (/ 1 2)) (<= p2_scaled (/ 30198989 33554432))) (<= p2_scaled (/ 53687093 134217728))) (<= x_scaled (/ 44739243 67108864))) 0 (ite (and (and (and (<= p1_scaled (/ 1 2)) (<= p2_scaled (/ 30198989 33554432))) (<= p2_scaled (/ 53687093 134217728))) (> x_scaled (/ 44739243 67108864))) 1 (ite (and (<= p1_scaled (/ 1 2)) (> p2_scaled (/ 30198989 33554432))) 1 (ite (> p1_scaled (/ 1 2)) 1 0))))) (ite (<= p2_scaled (/ 13421773 134217728)) 0 1)) (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (<= p2_scaled (/ 23488103 33554432)) 0 1))) (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (<= p2_scaled (/ 23488103 33554432)) 0 1))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 1 (ite (and (<= p2_scaled (/ 23488103 33554432)) (<= x_scaled (/ 44739243 67108864))) 0 1))) (ite (and (> p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 0 (ite (<= p2_scaled (/ 23488103 33554432)) 0 1))) (ite (<= p2_scaled (/ 13421773 134217728)) 0 (ite (and (> p2_scaled (/ 13421773 134217728)) (<= p2_scaled (/ 53687093 134217728))) 1 (ite (and (and (and (> p2_scaled (/ 13421773 134217728)) (> p2_scaled (/ 53687093 134217728))) (<= x_scaled (/ 44739243 67108864))) (<= p2_scaled (/ 23488103 33554432))) 0 (ite (and (and (> p2_scaled (/ 13421773 134217728)) (> p2_scaled (/ 53687093 134217728))) (> x_scaled (/ 44739243 67108864))) 0 1))))) (ite (<= p2_scaled (/ 13421773 33554432)) 0 (ite (and (> p2_scaled (/ 13421773 33554432)) (> x_scaled (/ 44739243 67108864))) 0 1))) (ite (and (<= p2_scaled (/ 23488103 33554432)) (> x_scaled (/ 44739243 67108864))) 1 (ite (and (<= p2_scaled (/ 23488103 33554432)) (<= x_scaled (/ 44739243 67108864))) 0 1))))>}" \ No newline at end of file diff --git a/regr_smlp/master/Test96_smlp_toy_num_resp_mult_y2_smlp_full_model_term.json b/regr_smlp/master/Test96_smlp_toy_num_resp_mult_y2_smlp_full_model_term.json new file mode 100644 index 00000000..7ca94f20 --- /dev/null +++ b/regr_smlp/master/Test96_smlp_toy_num_resp_mult_y2_smlp_full_model_term.json @@ -0,0 +1 @@ +"{'y2': }" \ No newline at end of file diff --git a/regr_smlp/master/Test96_smlp_toy_num_resp_mult_y2_smlp_model_term.json b/regr_smlp/master/Test96_smlp_toy_num_resp_mult_y2_smlp_model_term.json new file mode 100644 index 00000000..72705224 --- /dev/null +++ b/regr_smlp/master/Test96_smlp_toy_num_resp_mult_y2_smlp_model_term.json @@ -0,0 +1 @@ +"{'y2_scaled': }" \ No newline at end of file diff --git a/regr_smlp/master/Test98_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test98_smlp_toy_num_resp_mult.txt index 9d4f8dea..5458d668 100644 --- a/regr_smlp/master/Test98_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test98_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : p2<5 and x==10 and x<12 smlp_logger - INFO - Global beta : None +smlp_logger - INFO - Global eta : p1==4 or p1==8 + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.05} @@ -265,9 +267,9 @@ smlp_logger - INFO - Eta ranges constraints: (and (and true (and (>= p1 0) ( smlp_logger - INFO - Eta grid constraints: (or (or (= p1 2) (= p1 4)) (= p1 7)) -smlp_logger - INFO - Eta global constraints: true +smlp_logger - INFO - Eta global constraints: (or (= p1 4) (= p1 8)) -smlp_logger - INFO - Eta combined constraints: (let ((|:0| true)) (and (and (and (and |:0| (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) |:0|)) +smlp_logger - INFO - Eta combined constraints: (and (and (and (and true (and (>= p1 0) (<= p1 10))) (and (>= p2 3) (<= p2 7))) (or (or (= p1 2) (= p1 4)) (= p1 7))) (or (= p1 4) (= p1 8))) smlp_logger - INFO - Creating model exploration base components: End diff --git a/regr_smlp/master/Test98_smlp_toy_num_resp_mult_optimization_progress.csv b/regr_smlp/master/Test98_smlp_toy_num_resp_mult_optimization_progress.csv index 665fc4b6..c891b65a 100644 --- a/regr_smlp/master/Test98_smlp_toy_num_resp_mult_optimization_progress.csv +++ b/regr_smlp/master/Test98_smlp_toy_num_resp_mult_optimization_progress.csv @@ -1,5 +1,5 @@ Iteration,p1,p2,x,y1,y2,objv1,objv2 -vacuity,2.0,4.0,10.0,7.0,5.0,6.0,7.0 -"iter(0, 3)",2.0,4.0,10.0,7.0,5.0,6.0,7.0 -"iter(0, 'completed')",2.0,4.0,10.0,7.0,5.0,6.0,7.0 -final,2.0,4.0,10.0,7.0,5.0,6.0,7.0 +vacuity,4.0,4.0,10.0,7.0,5.0,6.0,7.0 +"iter(0, 3)",4.0,4.0,10.0,7.0,5.0,6.0,7.0 +"iter(0, 'completed')",4.0,4.0,10.0,7.0,5.0,6.0,7.0 +final,4.0,4.0,10.0,7.0,5.0,6.0,7.0 diff --git a/regr_smlp/master/Test98_smlp_toy_num_resp_mult_optimization_progress.json b/regr_smlp/master/Test98_smlp_toy_num_resp_mult_optimization_progress.json index 0225e1c8..007e3afd 100644 --- a/regr_smlp/master/Test98_smlp_toy_num_resp_mult_optimization_progress.json +++ b/regr_smlp/master/Test98_smlp_toy_num_resp_mult_optimization_progress.json @@ -18,7 +18,7 @@ "value_in_config": 10.0 }, "p1": { - "value_in_config": 2.0 + "value_in_config": 4.0 }, "p2": { "value_in_config": 4.0 @@ -49,7 +49,7 @@ "value_in_config": 10.0 }, "p1": { - "value_in_config": 2.0 + "value_in_config": 4.0 }, "p2": { "value_in_config": 4.0 @@ -80,7 +80,7 @@ "value_in_config": 10.0 }, "p1": { - "value_in_config": 2.0 + "value_in_config": 4.0 }, "p2": { "value_in_config": 4.0 @@ -132,7 +132,7 @@ "value_in_config": 10.0 }, "p1": { - "value_in_config": 2.0 + "value_in_config": 4.0 }, "p2": { "value_in_config": 4.0 diff --git a/regr_smlp/master/Test98_smlp_toy_num_resp_mult_optimization_results.csv b/regr_smlp/master/Test98_smlp_toy_num_resp_mult_optimization_results.csv index 08590679..03f4a3ef 100644 --- a/regr_smlp/master/Test98_smlp_toy_num_resp_mult_optimization_results.csv +++ b/regr_smlp/master/Test98_smlp_toy_num_resp_mult_optimization_results.csv @@ -1,2 +1,2 @@ Iteration,p1,p2,x,y1,y2,objv1,objv2 -final,2.0,4.0,10.0,7.0,5.0,6.0,7.0 +final,4.0,4.0,10.0,7.0,5.0,6.0,7.0 diff --git a/regr_smlp/master/Test98_smlp_toy_num_resp_mult_optimization_results.json b/regr_smlp/master/Test98_smlp_toy_num_resp_mult_optimization_results.json index d2cbab1c..771dc85b 100644 --- a/regr_smlp/master/Test98_smlp_toy_num_resp_mult_optimization_results.json +++ b/regr_smlp/master/Test98_smlp_toy_num_resp_mult_optimization_results.json @@ -17,7 +17,7 @@ "value_in_config": 10.0 }, "p1": { - "value_in_config": 2.0 + "value_in_config": 4.0 }, "p2": { "value_in_config": 4.0 diff --git a/regr_smlp/master/Test98_smlp_toy_num_resp_mult_trace.csv b/regr_smlp/master/Test98_smlp_toy_num_resp_mult_trace.csv new file mode 100644 index 00000000..011f7567 --- /dev/null +++ b/regr_smlp/master/Test98_smlp_toy_num_resp_mult_trace.csv @@ -0,0 +1,35 @@ +stage,solver,p1,p2,x,y1,y2 +interface_consistency,sat,4,3,10 +model_consistency,sat,4,3,10,7,5 +synthesis_feasibility +synthesis,synthesis_feasibility +ca,sat,4,4,10,7,5 +ce,unsat +pareto_iteration,0,objv1__objv2,None__None +single_objective_u0_l0_u_l, objv1_scaled_objv2_scaled : 1 : 0 : inf : -inf +objective_thresholds_u0_l0_u_l_T, 2 : 0 : inf : -inf : 1 +synthesis,objv1_scaled_objv2_scaled_1 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 1 : -inf : 0 +synthesis,objv1_scaled_objv2_scaled_0 +ca,sat,4,4,10,7,5 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 1 : 0 : 0.5 +synthesis,objv1_scaled_objv2_scaled_0.5 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 0.5 : 0 : 0.25 +synthesis,objv1_scaled_objv2_scaled_0.25 +ca,sat,4,4,10,7,5 +ce,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 0.5 : 0.25 : 0.375 +synthesis,objv1_scaled_objv2_scaled_0.375 +ca,unsat +objective_thresholds_u0_l0_u_l_T, 2 : -2 : 0.375 : 0.25 : 0.3125 +synthesis,objv1_scaled_objv2_scaled_0.3125 +ca,unsat +activity check, objective objv1 threshold 0.25 +synthesis,thresholds_0.35_0.25_check +ca,unsat +activity check, objective objv2 threshold 0.25 +synthesis,thresholds_0.25_0.35_check +ca,unsat diff --git a/regr_smlp/master/Test98_smlp_toy_num_resp_mult_y1_smlp_full_model_term.json b/regr_smlp/master/Test98_smlp_toy_num_resp_mult_y1_smlp_full_model_term.json new file mode 100644 index 00000000..2dd491ce --- /dev/null +++ b/regr_smlp/master/Test98_smlp_toy_num_resp_mult_y1_smlp_full_model_term.json @@ -0,0 +1 @@ +"{'y1': }" \ No newline at end of file diff --git a/regr_smlp/master/Test98_smlp_toy_num_resp_mult_y1_smlp_model_term.json b/regr_smlp/master/Test98_smlp_toy_num_resp_mult_y1_smlp_model_term.json new file mode 100644 index 00000000..c19452bb --- /dev/null +++ b/regr_smlp/master/Test98_smlp_toy_num_resp_mult_y1_smlp_model_term.json @@ -0,0 +1 @@ +"{'y1_scaled': }" \ No newline at end of file diff --git a/regr_smlp/master/Test98_smlp_toy_num_resp_mult_y2_smlp_full_model_term.json b/regr_smlp/master/Test98_smlp_toy_num_resp_mult_y2_smlp_full_model_term.json new file mode 100644 index 00000000..7ca94f20 --- /dev/null +++ b/regr_smlp/master/Test98_smlp_toy_num_resp_mult_y2_smlp_full_model_term.json @@ -0,0 +1 @@ +"{'y2': }" \ No newline at end of file diff --git a/regr_smlp/master/Test98_smlp_toy_num_resp_mult_y2_smlp_model_term.json b/regr_smlp/master/Test98_smlp_toy_num_resp_mult_y2_smlp_model_term.json new file mode 100644 index 00000000..72705224 --- /dev/null +++ b/regr_smlp/master/Test98_smlp_toy_num_resp_mult_y2_smlp_model_term.json @@ -0,0 +1 @@ +"{'y2_scaled': }" \ No newline at end of file diff --git a/regr_smlp/master/Test99_smlp_toy_num_resp_mult.txt b/regr_smlp/master/Test99_smlp_toy_num_resp_mult.txt index b24d9657..1498f0f2 100644 --- a/regr_smlp/master/Test99_smlp_toy_num_resp_mult.txt +++ b/regr_smlp/master/Test99_smlp_toy_num_resp_mult.txt @@ -12,6 +12,8 @@ smlp_logger - INFO - Global alpha : None smlp_logger - INFO - Global beta : y1>7 and y2>6 +smlp_logger - INFO - Global eta : None + smlp_logger - INFO - Radii theta : {'p1': {'rad-abs': None, 'rad-rel': Fraction(1, 10)}, 'p2': {'rad-abs': Fraction(1, 5), 'rad-rel': None}} smlp_logger - INFO - Delta const : {'delta_abs': 0.0, 'delta_rel': 0.01} diff --git a/regr_smlp/master/test113_model_smlp_full_model_term.json b/regr_smlp/master/test113_model_smlp_full_model_term.json new file mode 100644 index 00000000..1eb1936c --- /dev/null +++ b/regr_smlp/master/test113_model_smlp_full_model_term.json @@ -0,0 +1 @@ +"{'y1': |:1| (/ 7587435 33554432))) 0 (ite (and (<= |:0| (/ 1 8)) (> |:1| (/ 11378887 16777216))) (/ 3124582929976399 72057594037927936) (ite (and (and (> |:0| (/ 1 8)) (<= |:1| (/ 3325733 4194304))) (<= |:1| (/ 38562449 536870912))) (/ 7364743914427397 9007199254740992) (ite (and (and (and (> |:0| (/ 1 8)) (<= |:1| (/ 3325733 4194304))) (> |:1| (/ 38562449 536870912))) (<= |:1| (/ 63736525 268435456))) (/ 4615234927434275 72057594037927936) (ite (and (and (and (and (> |:0| (/ 1 8)) (<= |:1| (/ 3325733 4194304))) (> |:1| (/ 38562449 536870912))) (> |:1| (/ 63736525 268435456))) (<= |:2| (/ 1 4))) (/ 4118666647088875 9007199254740992) (ite (and (and (and (and (> |:0| (/ 1 8)) (<= |:1| (/ 3325733 4194304))) (> |:1| (/ 38562449 536870912))) (> |:1| (/ 63736525 268435456))) (> |:2| (/ 1 4))) (/ 155796468224373 281474976710656) 1))))))) (/ 104607 10000)) (/ 6 25)))))>, 'y2': |:1| (/ 7587435 33554432))) (/ 1421319515427019 2251799813685248) (ite (and (<= |:0| (/ 1 8)) (> |:1| (/ 11378887 16777216))) 1 (ite (and (and (> |:0| (/ 1 8)) (<= |:1| (/ 3325733 4194304))) (<= |:1| (/ 38562449 536870912))) (/ 2182179947885989 4503599627370496) (ite (and (and (and (> |:0| (/ 1 8)) (<= |:1| (/ 3325733 4194304))) (> |:1| (/ 38562449 536870912))) (<= |:1| (/ 63736525 268435456))) (/ 7441268742104829 9007199254740992) (ite (and (and (and (and (> |:0| (/ 1 8)) (<= |:1| (/ 3325733 4194304))) (> |:1| (/ 38562449 536870912))) (> |:1| (/ 63736525 268435456))) (<= |:2| (/ 1 4))) (/ 1421319515427019 2251799813685248) (ite (and (and (and (and (> |:0| (/ 1 8)) (<= |:1| (/ 3325733 4194304))) (> |:1| (/ 38562449 536870912))) (> |:1| (/ 63736525 268435456))) (> |:2| (/ 1 4))) (/ 1421319515427019 2251799813685248) (/ 1744855633611649 2251799813685248)))))))) (/ 109 10)) (/ 28 25)))))>}" \ No newline at end of file diff --git a/src/smlp_py/smlp_flows.py b/src/smlp_py/smlp_flows.py index 60453143..98bb202e 100644 --- a/src/smlp_py/smlp_flows.py +++ b/src/smlp_py/smlp_flows.py @@ -214,9 +214,9 @@ def smlp_flow(self): # is not a real overhead and we prefer to keep code readable and computate all these expressions. # When smlp mode is optimize, objectives must be defined. If they are not provided, the default is to use # the responses as objectives, and the names of objectives are names of the responses prefixed by 'objv_'. - alpha_global_expr, beta_expr, theta_radii_dict, delta_dict, asrt_names, asrt_exprs, quer_names, quer_exprs, \ + alpha_global_expr, beta_expr, eta_expr, theta_radii_dict, delta_dict, asrt_names, asrt_exprs, quer_names, quer_exprs, \ config_dict, witn_dict, objv_names, objv_exprs, syst_expr_dict = self.specInst.get_spec_component_exprs( - args.alpha, args.beta, args.delta_absolute, args.delta_relative, args.assertions_names, args.assertions_expressions, + args.alpha, args.beta, args.eta, args.delta_absolute, args.delta_relative, args.assertions_names, args.assertions_expressions, args.query_names, args.query_expressions, args.objectives_names, args.objectives_expressions, resp_names, self.dataInst.commandline_condition_separator) @@ -292,7 +292,7 @@ def smlp_flow(self): self.frontierInst.select_pareto_frontier( X, y, None, feat_names, resp_names, objv_names, objv_exprs, args.optimize_pareto, args.optimization_strategy, quer_names, quer_exprs, - delta_dict, args.epsilon, alpha_global_expr, beta_expr, args.eta, theta_radii_dict) + delta_dict, args.epsilon, alpha_global_expr, beta_expr, eta_expr, theta_radii_dict) self.logger.info('Running SMLP in mode "{}": End'.format(args.analytics_mode)) self.logger.info('Executing run_smlp.py script: End') return None @@ -344,57 +344,63 @@ def smlp_flow(self): config_dict = dict([(asrt_name, configuration) for asrt_name in asrt_names]) self.queryInst.smlp_verify(syst_expr_dict, args.model, model, model_features_dict, feat_names, resp_names, asrt_names, asrt_exprs, config_dict, - delta_dict, alpha_global_expr, beta_expr, args.eta, theta_radii_dict, + delta_dict, alpha_global_expr, beta_expr, eta_expr, theta_radii_dict, args.solver_logic, args.vacuity_check, args.data_scaler, args.scale_features, args.scale_responses, - args.approximate_fractions, args.fraction_precision, - self.dataInst.data_bounds_file, bounds_factor=None, T_resp_bounds_csv_path=None) + float_approx=args.approximate_fractions, float_precision=args.fraction_precision, + data_bounds_json_path=self.dataInst.data_bounds_file, bounds_factor=None, + T_resp_bounds_csv_path=None) else: self.verifyInst.smlp_verify(syst_expr_dict, args.model, model, model_features_dict, feat_names, resp_names, asrt_names, asrt_exprs, alpha_global_expr, args.solver_logic, args.vacuity_check, - args.data_scaler, args.scale_features, args.scale_responses, - args.approximate_fractions, args.fraction_precision, - self.dataInst.data_bounds_file, bounds_factor=None, T_resp_bounds_csv_path=None) + args.data_scaler, args.scale_features, args.scale_responses, + float_approx=args.approximate_fractions, float_precision=args.fraction_precision, + data_bounds_json_path=self.dataInst.data_bounds_file, bounds_factor=None, + T_resp_bounds_csv_path=None) elif args.analytics_mode == 'certify': if witn_dict is None: witness = self.specInst.sanity_check_certification_spec() witn_dict = dict([(quer_name, witness) for quer_name in quer_names]) self.queryInst.smlp_certify(syst_expr_dict, args.model, model, #False, #universal model_features_dict, feat_names, resp_names, quer_names, quer_exprs, witn_dict, - delta_dict, alpha_global_expr, beta_expr, args.eta, theta_radii_dict, + delta_dict, alpha_global_expr, beta_expr, eta_expr, theta_radii_dict, args.solver_logic, args.vacuity_check, - args.data_scaler, args.scale_features, args.scale_responses, #args.scale_objectives, - args.approximate_fractions, args.fraction_precision, - self.dataInst.data_bounds_file, bounds_factor=None, T_resp_bounds_csv_path=None) + args.data_scaler, args.scale_features, args.scale_responses, #args.scale_objectives, + float_approx=args.approximate_fractions, float_precision=args.fraction_precision, + data_bounds_json_path=self.dataInst.data_bounds_file, bounds_factor=None, + T_resp_bounds_csv_path=None) elif args.analytics_mode == 'query': self.queryInst.smlp_query(syst_expr_dict, args.model, model, #self.dataInst.unscaled_training_features, self.dataInst.unscaled_training_responses, model_features_dict, feat_names, resp_names, quer_names, quer_exprs, - delta_dict, alpha_global_expr, beta_expr, args.eta, theta_radii_dict, + delta_dict, alpha_global_expr, beta_expr, eta_expr, theta_radii_dict, args.solver_logic, args.vacuity_check, - args.data_scaler, args.scale_features, args.scale_responses, args.scale_objectives, - args.approximate_fractions, args.fraction_precision, - self.dataInst.data_bounds_file, bounds_factor=None, T_resp_bounds_csv_path=None) + args.data_scaler, args.scale_features, args.scale_responses, args.scale_objectives, + float_approx=args.approximate_fractions, float_precision=args.fraction_precision, + data_bounds_json_path=self.dataInst.data_bounds_file, bounds_factor=None, + T_resp_bounds_csv_path=None) elif args.analytics_mode == 'synthesize': self.queryInst.smlp_synthesize(syst_expr_dict, args.model, model, #self.dataInst.unscaled_training_features, self.dataInst.unscaled_training_responses, model_features_dict, feat_names, resp_names, asrt_names, asrt_exprs, - delta_dict, alpha_global_expr, beta_expr, args.eta, theta_radii_dict, + delta_dict, alpha_global_expr, beta_expr, eta_expr, theta_radii_dict, args.solver_logic, args.vacuity_check, - args.data_scaler, args.scale_features, args.scale_responses, - args.approximate_fractions, args.fraction_precision, - self.dataInst.data_bounds_file, bounds_factor=None, T_resp_bounds_csv_path=None) + args.data_scaler, args.scale_features, args.scale_responses, + float_approx=args.approximate_fractions, float_precision=args.fraction_precision, + data_bounds_json_path=self.dataInst.data_bounds_file, bounds_factor=None, + T_resp_bounds_csv_path=None) elif args.analytics_mode == 'optimize': self.optInst.smlp_optimize(syst_expr_dict, args.model, model, self.dataInst.unscaled_training_features, self.dataInst.unscaled_training_responses, model_features_dict, feat_names, resp_names, objv_names, objv_exprs, args.optimize_pareto, args.optimization_strategy, quer_names, quer_exprs, - delta_dict, args.epsilon, alpha_global_expr, beta_expr, args.eta, theta_radii_dict, + delta_dict, args.epsilon, alpha_global_expr, beta_expr, eta_expr, theta_radii_dict, args.solver_logic, args.vacuity_check, - args.data_scaler, args.scale_features, args.scale_responses, args.scale_objectives, - args.approximate_fractions, args.fraction_precision, - self.dataInst.data_bounds_file, bounds_factor=None, T_resp_bounds_csv_path=None) + args.data_scaler, args.scale_features, args.scale_responses, args.scale_objectives, + float_approx=args.approximate_fractions, float_precision=args.fraction_precision, + data_bounds_json_path=self.dataInst.data_bounds_file, bounds_factor=None, + T_resp_bounds_csv_path=None) #self.logger.info('self.optInst.best_config_dict {}'.format(str(self.optInst.best_config_dict))) if syst_expr_dict is not None: @@ -407,12 +413,12 @@ def smlp_flow(self): self.dataInst.unscaled_training_features, self.dataInst.unscaled_training_responses, model_features_dict, feat_names, resp_names, objv_names, objv_exprs, args.optimize_pareto, args.optimization_strategy, asrt_names, asrt_exprs, quer_names, quer_exprs, - delta_dict, args.epsilon, alpha_global_expr, beta_expr, args.eta, theta_radii_dict, + delta_dict, args.epsilon, alpha_global_expr, beta_expr, eta_expr, theta_radii_dict, args.solver_logic, args.vacuity_check, args.data_scaler, args.scale_features, args.scale_responses, args.scale_objectives, - args.approximate_fractions, args.fraction_precision, - self.dataInst.data_bounds_file, bounds_factor=None, T_resp_bounds_csv_path=None) - + float_approx=args.approximate_fractions, float_precision=args.fraction_precision, + data_bounds_json_path=self.dataInst.data_bounds_file, bounds_factor=None, + T_resp_bounds_csv_path=None) self.logger.info('Running SMLP in mode "{}": End'.format(args.analytics_mode)) self.logger.info('Executing run_smlp.py script: End') diff --git a/src/smlp_py/smlp_optimize.py b/src/smlp_py/smlp_optimize.py index dd6b9e28..80b073a7 100644 --- a/src/smlp_py/smlp_optimize.py +++ b/src/smlp_py/smlp_optimize.py @@ -1013,7 +1013,8 @@ def smlp_optimize(self, syst_expr_dict:dict, algo:str, model:dict, X:pd.DataFram objv_names:list[str], objv_exprs, pareto:bool, strategy:str, #asrt_names:list[str], asrt_exprs, quer_names:list[str], quer_exprs, delta:float, epsilon:float, alph_expr:str, beta_expr:str, eta_expr:str, theta_radii_dict:dict, solver_logic:str, vacuity:bool, - data_scaler:str, scale_feat:bool, scale_resp:bool, scale_objv:bool, + data_scaler:str, scale_feat:bool, scale_resp:bool, scale_objv:bool, + *, float_approx=True, float_precision=64, data_bounds_json_path=None, bounds_factor=None, T_resp_bounds_csv_path=None): self.objv_names = objv_names self.objv_exprs = objv_exprs @@ -1083,6 +1084,7 @@ def smlp_optsyn(self, syst_expr_dict:dict, algo, model, X:pd.DataFrame, y:pd.Dat objv_names, objv_exprs, pareto:bool, strategy:str, asrt_names, asrt_exprs, quer_names, quer_exprs, delta:float, epsilon:float, alph_expr:str, beta_expr:str, eta_expr:str, theta_radii_dict:dict, solver_logic:str, vacuity:bool, data_scaler:str, scale_feat:bool, scale_resp:bool, scale_objv:bool, + *, float_approx=True, float_precision=64, data_bounds_json_path=None, bounds_factor=None, T_resp_bounds_csv_path=None): self.objv_names = objv_names self.objv_exprs = objv_exprs diff --git a/src/smlp_py/smlp_query.py b/src/smlp_py/smlp_query.py index 74f038a3..0e2f4b50 100644 --- a/src/smlp_py/smlp_query.py +++ b/src/smlp_py/smlp_query.py @@ -476,8 +476,10 @@ def smlp_verify(self, syst_expr_dict:dict, algo:str, model:dict, model_features_dict:dict, feat_names:list[str], resp_names:list[str], asrt_names:list[str], asrt_exprs:list[str], witn_dict:dict, delta:dict, alph_expr:str, beta_expr:str, eta_expr:str, theta_radii_dict:dict, solver_logic:str, vacuity:bool, - data_scaler:str, scale_feat:bool, scale_resp:bool, - float_approx=True, float_precision=64, data_bounds_json_path=None, bounds_factor=None, T_resp_bounds_csv_path=None): + data_scaler:str, scale_feat:bool, scale_resp:bool, + *, + float_approx=True, float_precision=64, data_bounds_json_path=None, bounds_factor=None, + T_resp_bounds_csv_path=None): self.validate_witness(True, syst_expr_dict, algo, model, model_features_dict, feat_names, resp_names, asrt_names, asrt_exprs, witn_dict, delta, @@ -489,8 +491,10 @@ def smlp_certify(self, syst_expr_dict:dict, algo:str, model:dict, model_features_dict:dict, feat_names:list[str], resp_names:list[str], quer_names:list[str], quer_exprs:list[str], witn_dict:dict, delta:dict, alph_expr:str, beta_expr:str, eta_expr:str, theta_radii_dict:dict, solver_logic:str, vacuity:bool, - data_scaler:str, scale_feat:bool, scale_resp:bool, float_approx=True, float_precision=64, - data_bounds_json_path=None, bounds_factor=None, T_resp_bounds_csv_path=None): + data_scaler:str, scale_feat:bool, scale_resp:bool, + *, + float_approx=True, float_precision=64, data_bounds_json_path=None, bounds_factor=None, + T_resp_bounds_csv_path=None): self.validate_witness(False, syst_expr_dict, algo, model, model_features_dict, feat_names, resp_names, quer_names, quer_exprs, witn_dict, delta, @@ -610,8 +614,10 @@ def query_conditions(self, universal:bool, resp_names:list[str], model_full_term def smlp_query(self, syst_expr_dict:dict, algo:str, model:dict, model_features_dict:dict, feat_names:list[str], resp_names:list[str], quer_names:list[str], quer_exprs:list[str], delta:float, alph_expr:str, beta_expr:str, eta_expr:str, theta_radii_dict:dict, solver_logic:str, vacuity:bool, - data_scaler:str, scale_feat:bool, scale_resp:bool, scale_objv:bool, float_approx=True, float_precision=64, - data_bounds_json_path=None, bounds_factor=None, T_resp_bounds_csv_path=None): + data_scaler:str, scale_feat:bool, scale_resp:bool, scale_objv:bool, + *, + float_approx=True, float_precision=64, data_bounds_json_path=None, bounds_factor=None, + T_resp_bounds_csv_path=None): # *_synthrsis_results.json file fields QUERY_FEASIBLE = 'query_feasible' QUERY_STABLE = 'query_stable' @@ -682,8 +688,10 @@ def smlp_query(self, syst_expr_dict:dict, algo:str, model:dict, model_features_d def smlp_synthesize(self, syst_expr_dict:dict, algo:str, model:dict, #X:pd.DataFrame, y:pd.DataFrame, model_features_dict:dict, feat_names:list[str], resp_names:list[str], asrt_names, asrt_exprs, delta:float, alph_expr:str, beta_expr:str, eta_expr:str, theta_radii_dict:dict, solver_logic:str, vacuity:bool, - data_scaler:str, scale_feat:bool, scale_resp:bool, #scale_objv:bool, - float_approx=True, float_precision=64, data_bounds_json_path=None, bounds_factor=None, T_resp_bounds_csv_path=None): + data_scaler:str, scale_feat:bool, scale_resp:bool, #scale_objv:bool, + *, + float_approx=True, float_precision=64, data_bounds_json_path=None, bounds_factor=None, + T_resp_bounds_csv_path=None): # *_synthrsis_results.json file fields QUERY_FEASIBLE = 'configuration_feasible' QUERY_STABLE = 'configuration_stable' diff --git a/src/smlp_py/smlp_spec.py b/src/smlp_py/smlp_spec.py index 983f716b..3f12fb6c 100644 --- a/src/smlp_py/smlp_spec.py +++ b/src/smlp_py/smlp_spec.py @@ -66,46 +66,52 @@ def __init__(self): '[default: {}]'.format(str(self._DEF_ETA))} } - # assertions -- specified through command line (_cmdl_), spec file (_spec_), and final definition of assertions - # self._asrt_dict, currently obtained by overriding spec definitions (if any) with command line definitions (if any). + # Assertions specified through command line and/or spec file. The final definition self._asrt_dict + # is obtained by overriding spec definitions (if any) with command line definitions (if any). self._asrt_cmdl_dict = None self._asrt_spec_dict = None self._asrt_dict = None - # queries -- specified through command line (_cmdl_), spec file (_spec_), and final definition of queries - # self._quer_dict, currently obtained by overriding spec definitions (if any) with command line definitions (if any). + # Queries specified through command line and/or spec file. The final definition self._quer_dict + # is obtained by overriding spec definitions (if any) with command line definitions (if any). self._quer_cmdl_dict = None self._quer_spec_dict = None self._quer_dict = None - # objectives -- specified through command line (_cmdl_), spec file (_spec_), and final definition of objectives - # self._objv_dict, currently obtained by overriding spec definitions (if any) with command line definitions (if any). + # Objectives specified through command line and/or spec file. The final definition self._objv_dict + # is obtained by overriding spec definitions (if any) with command line definitions (if any). self._objv_cmdl_dict = None self._objv_spec_dict = None self._objv_dict = None - # alpha -- global constraints on inputs only (free inputs and / or knobs), cmdl, spec and final versions - # defined as self._alpha_global_expr by overriding cmdl spec definition self._alpha_cmdl_expr (if any) - # with command line definition self._alpha_cmdl_expr (if any). + # Alpha global constraints on free inputs and/or knobs, in addition to alpha ranges constraints + # derived from specification of free inputs in the spec file; to be satisfied in all model + # exploration tasks. Defined as self._alpha_global_expr by overriding spec file definition + # self._alpha_spec_expr (if any) with command line definition self._alpha_cmdl_expr (if any). self._alpha_global_expr = None self._alpha_cmdl_expr = None self._alpha_spec_expr = None - # beta -- global constraints on interface -- inputs (free inputs and / or knobs), and outputs (responses) of - # the model, to be satisfied during optimization and tuning tasks (not relevant for verification and querying). - # defined as self._beta_global_expr by overriding cmdl spec definition self._beta_cmdl_expr (if any) + # Beta global constraints on interface -- free inputs, knobs, and outputs (responses) of the model; + # to be satisfied in optimization and knobs' tuning tasks (not relevant for verification and querying). + # Defined as self._beta_global_expr by overriding spec file definition self._beta_spec_expr (if any) # with command line definition self._beta_cmdl_expr (if any). self._beta_global_expr = None self._beta_cmdl_expr = None self._beta_spec_expr = None - # eta -- global constraints on knobs (in addition to eta constraints derived from knob ranges and grids). + # Eta global constraints on knobs, in addition to eta constraints derived from knob ranges and knob + # grids specification of knobs in the spec file; to be satisfied in all model exploration tasks. + # Defined as self._eta_global_expr by overriding spec file definition self._eta_spec_expr (if any) + # with command line definition self._eta_cmdl_expr (if any). self._eta_global_expr = None + self._eta_cmdl_expr = None + self._eta_spec_expr = None - # witnesses to queries, for certify mode; supposed to include assignements to inputs and knobs + # Witnesses to queries, for certify mode; supposed to include assignements to inputs and knobs self._witn_dict = None - # configurations to assertions, for verify mode; supposed to include assignements to knobs only (not inputs) + # Configurations to assertions, for verify mode; supposed to include assignements to knobs only self._config_dict = None # feilds in spec file defining specification of each variable @@ -207,11 +213,11 @@ def get_spec_real_tag(self): # sanity checks on declarations in the spec file def sanity_check_spec(self): # eta global and grid constraints can only be defined on knobs - eta_expr = self.get_spec_global_eta_expr + eta_expr = self.get_spec_eta_global_expr for var_spec in self.spec: for k in var_spec.keys(): if k not in [self._SPEC_VARIABLE_LABEL, self._SPEC_VARIABLE_TYPE, self._SPEC_VARIABLE_RANGE, - self._SPEC_INPUTS_BOUNDS, self._SPEC_KNOBS_GRID, + self._SPEC_INPUTS_BOUNDS, self._SPEC_KNOBS_GRID, self._SPEC_KNOBS_ABSOLUTE_RADIUS, self._SPEC_KNOBS_RELATIVE_RADIUS]: raise Exception('Unexpected variable specification field ' + '"{}"'.format(str(k))) @@ -244,6 +250,7 @@ def sanity_check_spec(self): if both_radii_defined or no_radii_defined: raise Exception('Either a relative or an absolute radius must be specified for each knop (but not both radii). ' + 'This fails for varaible {}.'.format(var_spec[self._SPEC_VARIABLE_LABEL])) + # sanity check witnesses: query names in witnesses specification must be among query names if self.get_spec_witn_dict is not None and self.get_spec_quer_exprs_dict is not None: witn_queries = set(self.get_spec_witn_dict.keys()) @@ -252,7 +259,7 @@ def sanity_check_spec(self): raise Exception('Query names ' + str(witn_queries.difference(queries)) + ' used for specifying witnesses are not specified among the queries ' + str(queries)) - # sanity check knob cinfigs: assertion names in knob config specification must be among assertion names + # sanity check knob configs: assertion names in knob config specification must be among assertion names if self.get_spec_config_dict is not None and self.get_spec_asrt_exprs_dict is not None: config_asserts = set(self.get_spec_config_dict.keys()) asserts = set(self.get_spec_asrt_exprs_dict) @@ -361,7 +368,7 @@ def get_spec_knobs(self): def get_spec_inputs(self): return [var_spec[self._SPEC_VARIABLE_LABEL] for var_spec in self.spec if var_spec[self._SPEC_VARIABLE_TYPE] == self._SPEC_INPUT_TAG] - + # API to compute the list of inputs in spec @property def get_spec_interface(self): @@ -423,6 +430,7 @@ def sanity_check_verification_spec(self): non_constant_knobs = [] knobs_without_range_and_grid = [] witness = {} + for var_spec in self.spec: if not var_spec[self._SPEC_VARIABLE_LABEL] in spec_knobs: continue @@ -503,10 +511,10 @@ def get_spec_alpha_global_expr(self): assert self._alpha_spec_expr is None assert self._alpha_global_expr is None alpha_expr = None - + return alpha_expr - # API to extract from spec a global beta constraint defind using feild "beta" + # API to extract from spec a global beta constraint defined using field "beta" @property def get_spec_beta_global_expr(self): if self._beta_cmdl_expr is not None: @@ -525,7 +533,27 @@ def get_spec_beta_global_expr(self): beta_expr = None return beta_expr - + + # API to extract from spec a global eta constraint defined using faild "eta" + @property + def get_spec_eta_global_expr(self): + if self._eta_cmdl_expr is not None: + eta_expr = self._eta_cmdl_expr + elif self._eta_spec_expr is not None: + eta_expr = self._eta_spec_expr + elif self._SPEC_DICTIONARY_ETA in self.spec_dict.keys(): + assert isinstance(self.spec_dict[self._SPEC_DICTIONARY_ETA], str) + eta_expr = self.spec_dict[self._SPEC_DICTIONARY_ETA] + self._eta_spec_expr = eta_expr + self._eta_global_expr = eta_expr + else: + assert self._eta_cmdl_expr is None + assert self._eta_spec_expr is None + assert self._eta_global_expr is None + eta_expr = None + + return eta_expr + def get_cmdl_assertions(self, arg_asrt_names, arg_asrt_exprs, cmdl_cond_sep): if arg_asrt_exprs is None: return None, None, None @@ -559,7 +587,7 @@ def get_cmdl_queries(self, arg_query_names, arg_query_exprs, cmdl_cond_sep): return self._quer_dict, query_names, query_exprs # When smlp mode is optimize, objectives must be defined. If they are not provided, the default is to use - # the reponses as objectives, and the names of objectives are names of the responses prefixed bu 'objv_'. + # the responses as objectives, and the names of objectives are names of the responses prefixed by 'objv_'. def get_cmdl_objectives(self, arg_objv_names, arg_objv_exprs, resp_names, cmdl_cond_sep): if arg_objv_exprs is None: return None, None, None @@ -630,8 +658,8 @@ def get_spec_config_dict(self): else: self._config_dict = None return self._config_dict - - def get_spec_component_exprs(self, alph_cmdl, beta_cmdl, delta_abs_cmdl, delta_rel_cmdl, asrt_names_cmdl, asrt_exprs_cmdl, + + def get_spec_component_exprs(self, alph_cmdl, beta_cmdl, eta_cmdl, delta_abs_cmdl, delta_rel_cmdl, asrt_names_cmdl, asrt_exprs_cmdl, quer_names_cmdl, quer_exprs_cmdl, objv_names_cmdl, objv_exprs_cmdl, resp_names, cmdl_cond_sep): assert self.spec is not None # alpha @@ -646,6 +674,12 @@ def get_spec_component_exprs(self, alph_cmdl, beta_cmdl, delta_abs_cmdl, delta_r self._beta_global_expr = beta_cmdl beta_expr = self.get_spec_beta_global_expr + # eta + if self._eta_cmdl_expr is None and eta_cmdl is not None: + self._eta_cmdl_expr = eta_cmdl + self._eta_global_expr = eta_cmdl + eta_expr = self.get_spec_eta_global_expr + # theta radii theta_radii_dict = self.get_spec_theta_radii_dict @@ -679,6 +713,7 @@ def get_spec_component_exprs(self, alph_cmdl, beta_cmdl, delta_abs_cmdl, delta_r self._spec_logger.info('Computed spec global constraint expressions:') self._spec_logger.info('Global alpha : ' + str(alph_expr)) self._spec_logger.info('Global beta : ' + str(beta_expr)) + self._spec_logger.info('Global eta : ' + str(eta_expr)) self._spec_logger.info('Radii theta : ' + str(theta_radii_dict)) self._spec_logger.info('Delta const : ' + str(delta_dict)) if asrt_expr_dict is not None: @@ -697,6 +732,7 @@ def get_spec_component_exprs(self, alph_cmdl, beta_cmdl, delta_abs_cmdl, delta_r for n, w in asrt_expr_dict.items(): if n in config_dict.keys(): self._spec_logger.info('Configuration for assertion ' + str(n) + ':\n' + str(config_dict[n])) + if objv_expr_dict is not None: for n, e in objv_expr_dict.items(): self._spec_logger.info('Objective ' + str(n) + ': ' + str(e)) @@ -707,7 +743,7 @@ def get_spec_component_exprs(self, alph_cmdl, beta_cmdl, delta_abs_cmdl, delta_r self._spec_logger.info('Original system : ' + str(system)) self.sanity_check_spec() - return (alph_expr, beta_expr, theta_radii_dict, delta_dict, asrt_names, asrt_exprs, + return (alph_expr, beta_expr, eta_expr, theta_radii_dict, delta_dict, asrt_names, asrt_exprs, quer_names, quer_exprs, config_dict, witn_dict, objv_names, objv_exprs, system) @@ -760,7 +796,7 @@ def get_spec_theta_radii_dict(self): # first try to get radii values from command line, if they were specified in command line if self.radius_relative is not None and self._SPEC_KNOBS_RELATIVE_RADIUS in var_spec.keys(): theta_dict[var_spec[self._SPEC_VARIABLE_LABEL]] = { - self._SPEC_KNOBS_ABSOLUTE_RADIUS: None, + self._SPEC_KNOBS_ABSOLUTE_RADIUS: None, self._SPEC_KNOBS_RELATIVE_RADIUS: self.radius_relative} continue if self.radius_absolute is not None and self._SPEC_KNOBS_ABSOLUTE_RADIUS in var_spec.keys(): @@ -772,10 +808,11 @@ def get_spec_theta_radii_dict(self): # extract radii values from spec file if self._SPEC_KNOBS_ABSOLUTE_RADIUS in var_spec.keys(): theta_dict[var_spec[self._SPEC_VARIABLE_LABEL]] = { - self._SPEC_KNOBS_ABSOLUTE_RADIUS: var_spec[self._SPEC_KNOBS_ABSOLUTE_RADIUS], + self._SPEC_KNOBS_ABSOLUTE_RADIUS: var_spec[self._SPEC_KNOBS_ABSOLUTE_RADIUS], self._SPEC_KNOBS_RELATIVE_RADIUS: None} if self._SPEC_KNOBS_RELATIVE_RADIUS in var_spec.keys(): - theta_dict[var_spec[self._SPEC_VARIABLE_LABEL]] = {self._SPEC_KNOBS_ABSOLUTE_RADIUS: None, + theta_dict[var_spec[self._SPEC_VARIABLE_LABEL]] = { + self._SPEC_KNOBS_ABSOLUTE_RADIUS: None, self._SPEC_KNOBS_RELATIVE_RADIUS: var_spec[self._SPEC_KNOBS_RELATIVE_RADIUS]} self._theta_dict = theta_dict @@ -872,15 +909,6 @@ def get_spec_eta_bounds_dict(self): self._spec_logger.info('Knob bounds (eta): ' + str(self._eta_ranges_dict)) return self._eta_ranges_dict - # access definition of global eta constraint - @property - def get_spec_global_eta_expr(self): - if self._SPEC_DICTIONARY_ETA in self.spec_dict.keys(): - self._eta_global_expr = self.spec_dict[self._SPEC_DICTIONARY_ETA] - return self._eta_global_expr - else: - return None - # Compute variables in model exploration constraints -- constraints on model interface # (inputs that can be knobs or free inputs, and outputs), assertions, queries, optimization # objectives. Some of these constraints are specified through a spec file, some through