- if (printing) printf("cost > energy |");
-
- COST(2.25e3, line_bending_adjcost(vs->a));
- COST(1e3, edge_length_variation_cost(vs->a));
- COST(0.2e3, rim_proximity_cost(vs->a));
-// COST(1e2, graph_layout_cost(vs->a));
- COST(1e8, noncircular_rim_cost(vs->a));
+ if (printing) printf("%15lld c>e |", evaluations);
+
+ if (XBITS==3) {
+ COST( 3e2, line_bending_cost(vs->a));
+ COST( 1e3, edge_length_variation_cost(vs->a));
+ COST( 0.2e3, rim_proximity_cost(vs->a));
+ COST( 1e8, noncircular_rim_cost(vs->a));
+ stop_epsilon= 1e-6;
+ } else if (XBITS==4) {
+ COST( 3e2, line_bending_cost(vs->a));
+ COST( 3e3, edge_length_variation_cost(vs->a));
+ COST( 3.8e1, rim_proximity_cost(vs->a)); // 5e1 is too much
+ // 2.5e1 is too little
+ // 0.2e1 grows compared to previous ?
+ // 0.6e0 shrinks compared to previous ?
+ COST( 1e12, noncircular_rim_cost(vs->a));
+ stop_epsilon= 1e-5;
+ } else {
+ abort();
+ }