--- Showing last 200 of 3012 lines --- [19:14:54.247] [DealFinder] Expression (2681 chars): HCP <= 11 & S = 6 & HCP > 4 & BestSuit(S) & LoserLevel >= 2 & SpadePoints >= 6 & H <= 4 & RuleOf < 21 & HCP >= 6 & NOT (C >= 7 & HCP >= 5 & HCP <= 11 & TP >= 6 & RuleOf < 21 & H <= 4 & S <= 4) & NOT (C >= 7 & HCP >= 5 & HCP <= 10 & TwiceRebiddable(C) & LoserLevel >= 3 & H <= 4 & S <= 4 & RuleOf < 21) & NOT (D >= 7 & HCP >= 5 & HCP <= 11 & TP >= 6 & RuleOf < 21 & H <= 4 & S <= 4) & NOT (D >= 7 & HCP >= 5 & HCP <= 10 & TwiceRebiddable(D) & LoserLevel >= 3 & H <= 4 & S <= 4 & RuleOf < 21) & NOT (H >= 7 & HCP >= 5 & HCP <= 11 & TP >= 6 & RuleOf < 21 & S <= 4) & NOT (H >= 7 & HCP >= 5 & HCP <= 10 & TwiceRebiddable(H) & LoserLevel >= 3 & S <= 4 & RuleOf < 21) & NOT (S >= 7 & HCP >= 5 & HCP <= 11 & TP >= 6 & RuleOf < 21 & H <= 4) & NOT (S >= 7 & HCP >= 5 & HCP <= 10 & TwiceRebiddable(S) & LoserLevel >= 3 & H <= 4 & RuleOf < 21) & NOT (C >= 8 & HCP >= 5 & HCP <= 11 & LoserLevel >= 3 & H <= 4 & S <= 4 & RuleOf < 21) & NOT (C >= 7 & HCP >= 5 & HCP <= 11 & LoserLevel >= 4 & H <= 4 & S <= 4 & RuleOf < 21) & NOT (D >= 8 & HCP >= 5 & HCP <= 11 & LoserLevel >= 3 & H <= 4 & S <= 4 & RuleOf < 21) & NOT (D >= 7 & HCP >= 5 & HCP <= 11 & LoserLevel >= 4 & H <= 4 & S <= 4 & RuleOf < 21) & NOT (H >= 8 & HCP >= 5 & HCP <= 11 & LoserLevel >= 4 & S <= 4) & NOT (H >= 7 & HCP >= 9 & HCP <= 11 & LoserLevel >= 4 & S <= 4) & NOT (S >= 8 & HCP >= 5 & HCP <= 11 & LoserLevel >= 4 & H <= 4) & NOT (S >= 7 & HCP >= 9 & HCP <= 11 & LoserLevel >= 4 & H <= 4) & NOT (C >= 8 & HCP >= 6 & HCP <= 11 & LoserLevel >= 5 & H <= 4 & S <= 4) & NOT (D >= 8 & HCP >= 6 & HCP <= 11 & LoserLevel >= 5 & H <= 4 & S <= 4) & NOT (H >= 9 & HCP >= 6 & HCP <= 11 & LoserLevel >= 5 & S <= 4) & NOT (S >= 9 & HCP >= 6 & HCP <= 11 & LoserLevel >= 5 & H <= 4) & NOT (HCP >= 12 & HCP <= 21 & (DiamondLongest OR ExplicitShape = 4=4=3=2)) & NOT (HCP >= 12 & HCP <= 21 & H >= 5 & H > S & HeartLongest) & NOT (HCP >= 12 & HCP <= 21 & S >= 5 & SpadeLongest) & NOT (Balanced & HCP >= 15 & HCP <= 16 & H = 5) & NOT (Balanced & HCP >= 15 & HCP <=... [19:14:54.247] [Timing] E precompute: 3ms mem d=163KB (total=1062MB) [19:14:54.249] [DealFinder] S HCP min: tightened from 13 to 17 using HandUnderstanding [19:14:54.249] [DealFinder] S constraints: HCP[17-37], Suits=H[4-13], Trivial=False [19:14:54.249] [DealFinder] Expression (1541 chars): (HCP >= 18 OR (HCP >= 13 & H >= 4 & C >= 2 & D >= 2 & S <= 3) OR (HCP >= 15 & H >= 3 & S <= 3)) & NOT (H >= 6 & HCP >= 13 & HCP <= 19) & NOT (H >= 6 & Losers <= 4 & HCP >= 15 & 3 of Top 5 Honors in H) & NOT (H >= 7 & HeartPoints >= 18 & Losers <= 4) & NOT (D >= 5 & C >= 5 & Losers <= 4 & HCP >= 17) & NOT (D >= 5 & C >= 5 & LoserLevel >= 4 & HCP >= 12) & NOT (HCP >= 16 & HCP <= 18 & balish & Stopper in S) & NOT (HCP >= 15 & HCP <= 18 & balish & HasStoppersInSuit(S)) & NOT (BestMinor(C) & C >= 6 & HCP >= 14 & HCP <= 19) & NOT (BestMinor(D) & D >= 6 & HCP >= 14 & HCP <= 19) & NOT (HCP >= 19 & HCP <= 24 & balish & Stopper in S) & NOT (HCP >= 20 & HCP <= 24 & S >= 4 & Stopper in S) & NOT (BestMinor(C) & C >= 7 & HCP >= 19 & Single Suited) & NOT (BestMinor(D) & D >= 7 & HCP >= 19 & Single Suited) & NOT (H >= 5 & (D >= 5 OR C >= 5) & LoserLevel >= 2 & HCP >= 12) & ((H >= 4 & HeartSlam) OR (H >= 4 & IsHeartSlamViable & CombinedHeartPointsMin >= HeartSmallSlamPointTarget Subtract 2 & CombinedHcpMin >= 28)) & NOT (H >= 4 & IsHeartSlamViable & CombinedHeartPointsMin >= HeartGrandSlamPointTarget Subtract 1 & CombinedHeartPointsMin < HeartGrandSlamPointTarget & CombinedHcpMin >= 28 & TP >= 13 & 1 of Top 3 Honors in H & NOT 2 of Top 3 Honors in H) & NOT (H >= 4 & IsNtSlamViable & (CombinedHcpMin >= NtGrandSlamPointTarget OR (CombinedHcpMin >= NtGrandSlamPointTarget Subtract 2 & Aces = 4))) & haveallkeycardsandqueen & NOT (IsHeartSlamViable & CombinedHeartPointsMin >= HeartGrandSlamPointTarget & NOT probablymissingkeycards) & True [19:14:54.249] [Timing] S precompute: 1ms mem d=144KB (total=1062MB) [19:14:54.250] [DealFinder] W HCP max: tightened from 37 to 14 using HandUnderstanding [19:14:54.250] [DealFinder] W constraints: HCP[0-14], Suits=(none), Trivial=False [19:14:54.250] [DealFinder] Expression (1423 chars): NOT ((CombinedHcpMin >= 25 OR IsGameForcing OR TwoOpenersGame)) & NOT (HCP >= 17 & H >= 6) & NOT (S >= 2 & IsSpadeSlamViable & CombinedSpadePointsMin >= SpadeSmallSlamPointTarget Subtract 2 & CombinedHcpMin >= 28) & NOT (S >= 2 & SpadeSlam) & NOT (S >= 2 & IsSpadeSlamViable & CombinedSpadePointsMin >= SpadeGrandSlamPointTarget Subtract 1 & CombinedSpadePointsMin < SpadeGrandSlamPointTarget & CombinedHcpMin >= 28 & TP >= 13 & 1 of Top 3 Honors in S & NOT 2 of Top 3 Honors in S) & NOT (S >= 2 & IsSpadeSlamViable & CombinedSpadePointsMin >= SpadeSmallSlamPointTarget & CombinedSpadePointsMin < SpadeGrandSlamPointTarget & CombinedHcpMin >= 28) & NOT (S >= 2 & IsNtSlamViable & (CombinedHcpMin >= NtGrandSlamPointTarget OR (CombinedHcpMin >= NtGrandSlamPointTarget Subtract 2 & Aces = 4))) & NOT (BestMinor(C) & C >= 5 & HCP >= 17) & NOT (BestMinor(D) & D >= 5 & HCP >= 17) & NOT (SpadePoints >= 6 & HCP <= 9 & S >= 3) & NOT Competitive(S) & NOT (S <= 1 & HCP >= 18 & NOT (Comb. Pts >= 32 & CombinedHcpMin >= 28)) & NOT (HCP >= 12 & HCP <= 17 & S >= 3 & NOT (Comb. Pts >= 32 & CombinedHcpMin >= 28)) & NOT (HCP >= 10 & HCP <= 17 & S >= 4 & NOT (Comb. Pts >= 32 & CombinedHcpMin >= 28)) & NOT (TwiceRebiddable(H) & S <= 1 & NOT (Comb. Pts >= 32 & CombinedHcpMin >= 28) & Losers <= 4) & NOT (HeartPoints >= 20 & H >= 6 & Single Suited & S <= 1 & NOT (Comb. Pts >= 32 & CombinedHcpMin >= 28)) & HCP < 15 & True & True & True [19:14:54.251] [Timing] W precompute: 1ms mem d=87KB (total=1062MB) [19:14:54.251] ENDGAME: Bidding weights applied to 70/70 worlds (range 0.00-0.00) [19:14:54.251] ENDGAME_WORLD: #1 (w=0.00) N:T52..6. QJ96... A3..QJT. ..K974.T [19:14:54.251] ENDGAME_WORLD: #2 (w=0.00) N:T52..6. J96..4. A3..QJT. Q..K97.T [19:14:54.251] ENDGAME_WORLD: #3 (w=0.00) N:T52..6. J96..7. A3..QJT. Q..K94.T [19:14:54.251] ENDGAME_WORLD: #4 (w=0.00) N:T52..6. J96..9. A3..QJT. Q..K74.T [19:14:54.251] ENDGAME_WORLD: #5 (w=0.00) N:T52..6. J96..K. A3..QJT. Q..974.T [19:14:54.251] ENDGAME_WORLD: #6 (w=0.00) N:T52..6. Q96..4. A3..QJT. J..K97.T [19:14:54.251] ENDGAME_WORLD: #7 (w=0.00) N:T52..6. Q96..7. A3..QJT. J..K94.T [19:14:54.251] ENDGAME_WORLD: #8 (w=0.00) N:T52..6. Q96..9. A3..QJT. J..K74.T [19:14:54.251] ENDGAME_WORLD: #9 (w=0.00) N:T52..6. Q96..K. A3..QJT. J..974.T [19:14:54.251] ENDGAME_WORLD: #10 (w=0.00) N:T52..6. 96..74. A3..QJT. QJ..K9.T [19:14:54.251] ENDGAME_WORLD: #11 (w=0.00) N:T52..6. 96..94. A3..QJT. QJ..K7.T [19:14:54.251] ENDGAME_WORLD: #12 (w=0.00) N:T52..6. 96..K4. A3..QJT. QJ..97.T [19:14:54.251] ENDGAME_WORLD: #13 (w=0.00) N:T52..6. 96..97. A3..QJT. QJ..K4.T [19:14:54.251] ENDGAME_WORLD: #14 (w=0.00) N:T52..6. 96..K7. A3..QJT. QJ..94.T [19:14:54.251] ENDGAME_WORLD: #15 (w=0.00) N:T52..6. 96..K9. A3..QJT. QJ..74.T [19:14:54.251] ENDGAME_WORLD: #16 (w=0.00) N:T52..6. QJ6..4. A3..QJT. 9..K97.T [19:14:54.251] ENDGAME_WORLD: #17 (w=0.00) N:T52..6. QJ6..7. A3..QJT. 9..K94.T [19:14:54.251] ENDGAME_WORLD: #18 (w=0.00) N:T52..6. QJ6..9. A3..QJT. 9..K74.T [19:14:54.251] ENDGAME_WORLD: #19 (w=0.00) N:T52..6. QJ6..K. A3..QJT. 9..974.T [19:14:54.251] ENDGAME_WORLD: #20 (w=0.00) N:T52..6. J6..74. A3..QJT. Q9..K9.T [19:14:54.251] ENDGAME_WORLD: ... and 50 more [19:14:54.252] ENDGAME: Evaluating 5 candidates across 70 worlds (totalWeight=0.01, rankByScore=True): [19:14:54.253] S3: defeat 100 % (0.0/0.0), makes 100 % (0.0/0.0), avgDeclTricks=12.0, dist=[12:0.0] [19:14:54.255] SA: defeat 0 % (0.0/0.0), makes 0 % (0.0/0.0), avgDeclTricks=10.2, dist=9:0.0 10:0.0 11:0.0 [19:14:54.259] DT: defeat 0 % (0.0/0.0), makes 0 % (0.0/0.0), avgDeclTricks=11.0, dist=11:0.0 [19:14:54.262] DJ: defeat 0 % (0.0/0.0), makes 0 % (0.0/0.0), avgDeclTricks=11.0, dist=11:0.0 [19:14:54.266] DQ: defeat 0 % (0.0/0.0), makes 0 % (0.0/0.0), avgDeclTricks=11.0, dist=11:0.0 [19:14:54.267] IMP S3: 17.00 [19:14:54.267] IMP SA: -6.05 [19:14:54.267] IMP DT: -3.65 [19:14:54.267] IMP DJ: -3.65 [19:14:54.267] IMP DQ: -3.65 [19:14:54.267] ENDGAME: Selected S3 (100 %) === Board play (API) - DDS Engine (S) - 2026-07-05 19:14:56 === === Board play (API) - Neural Network Engine (S) - 2026-07-05 19:14:56 === [19:14:56.745] Activated: 4 tricks remaining, threshold=5 [19:14:56.745] ENDGAME: Hidden cards=7 between E and W, need 3+4, declarer tricks=9, defense tricks=0 [19:14:56.745] ENDGAME: Contract=6H, Declarer=N, ToPlay=S, Trump=H [19:14:56.745] ENDGAME: S [SA - DQJT -] [19:14:56.745] ENDGAME: N [ST52 - - -] [19:14:56.745] ENDGAME: Hidden [SQJ96 - DK94 -] [19:14:56.745] ENDGAME: Current trick (2 cards, led by N): D6 D7 [19:14:56.745] ENDGAME: 35 valid worlds (after void filtering) [19:14:56.745] [DealFinder] Explained bid E 2S: "Weak two major, HCP <= 11, S = 6, HCP > 4, BestSuit(S), LoserLevel >= 2, SpadePoints >= 6, H <= 4, RuleOf < 21" -> require: (none) [19:14:56.746] [DealFinder] Explained bid S X: "Overcalling Weak 2Ma Opening, HCP >= 18, HCP >= 13, H >= 4, C >= 2, D >= 2, S <= 3, HCP >= 15, H >= 3" -> require: (none) [19:14:56.746] [DealFinder] Explained bid W P: "Responses to 2Ma-PX, NOT (CombinedHcpMin >= 25 OR IsGameForcing OR TwoOpenersGame)" -> require: (none) [19:14:56.746] [DealFinder] Explained bid N 3H: "Responses to 2Ma-X-P, H >= 4, HCP >= 9, HCP <= 12" -> require: (none) [19:14:56.746] [DealFinder] Explained bid E P: "Passable situations - Preemptive offensive, True" -> require: (none) [19:14:56.746] [DealFinder] Explained bid S 4N: "Artificial - Responses to 2Ma-P-P-X-P-3oMa-P, H >= 4, IsHeartSlamViable, CombinedHeartPointsMin >= HeartSmallSlamPointTarget Subtract 2, CombinedHcpMin >= 28, HeartSlam" -> require: (none) [19:14:56.746] [DealFinder] Explained bid W P: "Offensive bidding when our side has passed twice - after preempt, True" -> require: (none) [19:14:56.746] [DealFinder] Explained bid N 5H: "Artificial - RKC Hearts, (havekeycards = 2 OR havekeycards = 5), NOT trumpqueen" -> require: (none) [19:14:56.746] [DealFinder] Explained bid E P: "Offensive bidding when our side has passed twice - after preempt, True" -> require: (none) [19:14:56.746] [DealFinder] Explained bid S 5N: "Artificial - Responses to ...-4N-PX-5H-P, haveallkeycardsandqueen" -> require: (none) [19:14:56.746] [DealFinder] Explained bid W P: "Offensive bidding when I have passed twice, True" -> require: (none) [19:14:56.746] [DealFinder] Explained bid N 6H: "Responses to ...-4N-PX-*-PX-5N-P, True" -> require: (none) [19:14:56.746] [DealFinder] Explained bid E P: "Offensive bidding when I have passed twice, True" -> require: (none) [19:14:56.746] [DealFinder] Explained bid S P: "Passable situations - RKC0314_H, True" -> require: (none) [19:14:56.746] [DealFinder] Explained bid W P: "Offensive bidding when I have passed twice, True" -> require: (none) [19:14:56.747] [DealFinder] N HCP min: tightened from 9 to 12 using HandUnderstanding [19:14:56.747] [DealFinder] N constraints: HCP[12-12], Suits=H[4-13], Trivial=False [19:14:56.747] [DealFinder] Expression (383 chars): H >= 4 & HCP >= 9 & HCP <= 12 & (havekeycards = 2 OR havekeycards = 5) & NOT trumpqueen & NOT ((havekeycards = 2 OR havekeycards = 5) & trumpqueen) & NOT (havekeycards = 2 & (C = 0 OR D = 0 OR S = 0)) & NOT ((havekeycards = 1 OR havekeycards = 3) & C = 0) & NOT ((havekeycards = 1 OR havekeycards = 3) & D = 0) & True & NOT (haveallkeycardsandqueen & Control(C)) & NOT CanBidGrand(H) [19:14:56.747] [Timing] N precompute: 1ms mem d=64KB (total=1061MB) [19:14:56.750] [DealFinder] E constraints: HCP[6-11], Suits=S[6-6] H[0-4], Trivial=False [19:14:56.751] [DealFinder] Expression (2681 chars): HCP <= 11 & S = 6 & HCP > 4 & BestSuit(S) & LoserLevel >= 2 & SpadePoints >= 6 & H <= 4 & RuleOf < 21 & HCP >= 6 & NOT (C >= 7 & HCP >= 5 & HCP <= 11 & TP >= 6 & RuleOf < 21 & H <= 4 & S <= 4) & NOT (C >= 7 & HCP >= 5 & HCP <= 10 & TwiceRebiddable(C) & LoserLevel >= 3 & H <= 4 & S <= 4 & RuleOf < 21) & NOT (D >= 7 & HCP >= 5 & HCP <= 11 & TP >= 6 & RuleOf < 21 & H <= 4 & S <= 4) & NOT (D >= 7 & HCP >= 5 & HCP <= 10 & TwiceRebiddable(D) & LoserLevel >= 3 & H <= 4 & S <= 4 & RuleOf < 21) & NOT (H >= 7 & HCP >= 5 & HCP <= 11 & TP >= 6 & RuleOf < 21 & S <= 4) & NOT (H >= 7 & HCP >= 5 & HCP <= 10 & TwiceRebiddable(H) & LoserLevel >= 3 & S <= 4 & RuleOf < 21) & NOT (S >= 7 & HCP >= 5 & HCP <= 11 & TP >= 6 & RuleOf < 21 & H <= 4) & NOT (S >= 7 & HCP >= 5 & HCP <= 10 & TwiceRebiddable(S) & LoserLevel >= 3 & H <= 4 & RuleOf < 21) & NOT (C >= 8 & HCP >= 5 & HCP <= 11 & LoserLevel >= 3 & H <= 4 & S <= 4 & RuleOf < 21) & NOT (C >= 7 & HCP >= 5 & HCP <= 11 & LoserLevel >= 4 & H <= 4 & S <= 4 & RuleOf < 21) & NOT (D >= 8 & HCP >= 5 & HCP <= 11 & LoserLevel >= 3 & H <= 4 & S <= 4 & RuleOf < 21) & NOT (D >= 7 & HCP >= 5 & HCP <= 11 & LoserLevel >= 4 & H <= 4 & S <= 4 & RuleOf < 21) & NOT (H >= 8 & HCP >= 5 & HCP <= 11 & LoserLevel >= 4 & S <= 4) & NOT (H >= 7 & HCP >= 9 & HCP <= 11 & LoserLevel >= 4 & S <= 4) & NOT (S >= 8 & HCP >= 5 & HCP <= 11 & LoserLevel >= 4 & H <= 4) & NOT (S >= 7 & HCP >= 9 & HCP <= 11 & LoserLevel >= 4 & H <= 4) & NOT (C >= 8 & HCP >= 6 & HCP <= 11 & LoserLevel >= 5 & H <= 4 & S <= 4) & NOT (D >= 8 & HCP >= 6 & HCP <= 11 & LoserLevel >= 5 & H <= 4 & S <= 4) & NOT (H >= 9 & HCP >= 6 & HCP <= 11 & LoserLevel >= 5 & S <= 4) & NOT (S >= 9 & HCP >= 6 & HCP <= 11 & LoserLevel >= 5 & H <= 4) & NOT (HCP >= 12 & HCP <= 21 & (DiamondLongest OR ExplicitShape = 4=4=3=2)) & NOT (HCP >= 12 & HCP <= 21 & H >= 5 & H > S & HeartLongest) & NOT (HCP >= 12 & HCP <= 21 & S >= 5 & SpadeLongest) & NOT (Balanced & HCP >= 15 & HCP <= 16 & H = 5) & NOT (Balanced & HCP >= 15 & HCP <=... [19:14:56.751] [Timing] E precompute: 3ms mem d=156KB (total=1062MB) [19:14:56.752] [DealFinder] S HCP min: tightened from 13 to 17 using HandUnderstanding [19:14:56.752] [DealFinder] S constraints: HCP[17-37], Suits=H[4-13], Trivial=False [19:14:56.752] [DealFinder] Expression (1541 chars): (HCP >= 18 OR (HCP >= 13 & H >= 4 & C >= 2 & D >= 2 & S <= 3) OR (HCP >= 15 & H >= 3 & S <= 3)) & NOT (H >= 6 & HCP >= 13 & HCP <= 19) & NOT (H >= 6 & Losers <= 4 & HCP >= 15 & 3 of Top 5 Honors in H) & NOT (H >= 7 & HeartPoints >= 18 & Losers <= 4) & NOT (D >= 5 & C >= 5 & Losers <= 4 & HCP >= 17) & NOT (D >= 5 & C >= 5 & LoserLevel >= 4 & HCP >= 12) & NOT (HCP >= 16 & HCP <= 18 & balish & Stopper in S) & NOT (HCP >= 15 & HCP <= 18 & balish & HasStoppersInSuit(S)) & NOT (BestMinor(C) & C >= 6 & HCP >= 14 & HCP <= 19) & NOT (BestMinor(D) & D >= 6 & HCP >= 14 & HCP <= 19) & NOT (HCP >= 19 & HCP <= 24 & balish & Stopper in S) & NOT (HCP >= 20 & HCP <= 24 & S >= 4 & Stopper in S) & NOT (BestMinor(C) & C >= 7 & HCP >= 19 & Single Suited) & NOT (BestMinor(D) & D >= 7 & HCP >= 19 & Single Suited) & NOT (H >= 5 & (D >= 5 OR C >= 5) & LoserLevel >= 2 & HCP >= 12) & ((H >= 4 & HeartSlam) OR (H >= 4 & IsHeartSlamViable & CombinedHeartPointsMin >= HeartSmallSlamPointTarget Subtract 2 & CombinedHcpMin >= 28)) & NOT (H >= 4 & IsHeartSlamViable & CombinedHeartPointsMin >= HeartGrandSlamPointTarget Subtract 1 & CombinedHeartPointsMin < HeartGrandSlamPointTarget & CombinedHcpMin >= 28 & TP >= 13 & 1 of Top 3 Honors in H & NOT 2 of Top 3 Honors in H) & NOT (H >= 4 & IsNtSlamViable & (CombinedHcpMin >= NtGrandSlamPointTarget OR (CombinedHcpMin >= NtGrandSlamPointTarget Subtract 2 & Aces = 4))) & haveallkeycardsandqueen & NOT (IsHeartSlamViable & CombinedHeartPointsMin >= HeartGrandSlamPointTarget & NOT probablymissingkeycards) & True [19:14:56.752] [Timing] S precompute: 1ms mem d=145KB (total=1062MB) [19:14:56.753] [DealFinder] W HCP max: tightened from 37 to 14 using HandUnderstanding [19:14:56.753] [DealFinder] W constraints: HCP[0-14], Suits=(none), Trivial=False [19:14:56.753] [DealFinder] Expression (1423 chars): NOT ((CombinedHcpMin >= 25 OR IsGameForcing OR TwoOpenersGame)) & NOT (HCP >= 17 & H >= 6) & NOT (S >= 2 & IsSpadeSlamViable & CombinedSpadePointsMin >= SpadeSmallSlamPointTarget Subtract 2 & CombinedHcpMin >= 28) & NOT (S >= 2 & SpadeSlam) & NOT (S >= 2 & IsSpadeSlamViable & CombinedSpadePointsMin >= SpadeGrandSlamPointTarget Subtract 1 & CombinedSpadePointsMin < SpadeGrandSlamPointTarget & CombinedHcpMin >= 28 & TP >= 13 & 1 of Top 3 Honors in S & NOT 2 of Top 3 Honors in S) & NOT (S >= 2 & IsSpadeSlamViable & CombinedSpadePointsMin >= SpadeSmallSlamPointTarget & CombinedSpadePointsMin < SpadeGrandSlamPointTarget & CombinedHcpMin >= 28) & NOT (S >= 2 & IsNtSlamViable & (CombinedHcpMin >= NtGrandSlamPointTarget OR (CombinedHcpMin >= NtGrandSlamPointTarget Subtract 2 & Aces = 4))) & NOT (BestMinor(C) & C >= 5 & HCP >= 17) & NOT (BestMinor(D) & D >= 5 & HCP >= 17) & NOT (SpadePoints >= 6 & HCP <= 9 & S >= 3) & NOT Competitive(S) & NOT (S <= 1 & HCP >= 18 & NOT (Comb. Pts >= 32 & CombinedHcpMin >= 28)) & NOT (HCP >= 12 & HCP <= 17 & S >= 3 & NOT (Comb. Pts >= 32 & CombinedHcpMin >= 28)) & NOT (HCP >= 10 & HCP <= 17 & S >= 4 & NOT (Comb. Pts >= 32 & CombinedHcpMin >= 28)) & NOT (TwiceRebiddable(H) & S <= 1 & NOT (Comb. Pts >= 32 & CombinedHcpMin >= 28) & Losers <= 4) & NOT (HeartPoints >= 20 & H >= 6 & Single Suited & S <= 1 & NOT (Comb. Pts >= 32 & CombinedHcpMin >= 28)) & HCP < 15 & True & True & True [19:14:56.754] [Timing] W precompute: 1ms mem d=88KB (total=1062MB) [19:14:56.754] ENDGAME: Bidding weights applied to 35/35 worlds (range 0.00-0.00) [19:14:56.754] ENDGAME_WORLD: #1 (w=0.00) N:T52... J96... A..QJT. Q..K94. [19:14:56.754] ENDGAME_WORLD: #2 (w=0.00) N:T52... Q96... A..QJT. J..K94. [19:14:56.754] ENDGAME_WORLD: #3 (w=0.00) N:T52... 96..4. A..QJT. QJ..K9. [19:14:56.754] ENDGAME_WORLD: #4 (w=0.00) N:T52... 96..9. A..QJT. QJ..K4. [19:14:56.754] ENDGAME_WORLD: #5 (w=0.00) N:T52... 96..K. A..QJT. QJ..94. [19:14:56.754] ENDGAME_WORLD: #6 (w=0.00) N:T52... QJ6... A..QJT. 9..K94. [19:14:56.754] ENDGAME_WORLD: #7 (w=0.00) N:T52... J6..4. A..QJT. Q9..K9. [19:14:56.754] ENDGAME_WORLD: #8 (w=0.00) N:T52... J6..9. A..QJT. Q9..K4. [19:14:56.754] ENDGAME_WORLD: #9 (w=0.00) N:T52... J6..K. A..QJT. Q9..94. [19:14:56.754] ENDGAME_WORLD: #10 (w=0.00) N:T52... Q6..4. A..QJT. J9..K9. [19:14:56.754] ENDGAME_WORLD: #11 (w=0.00) N:T52... Q6..9. A..QJT. J9..K4. [19:14:56.754] ENDGAME_WORLD: #12 (w=0.00) N:T52... Q6..K. A..QJT. J9..94. [19:14:56.754] ENDGAME_WORLD: #13 (w=0.00) N:T52... 6..94. A..QJT. QJ9..K. [19:14:56.754] ENDGAME_WORLD: #14 (w=0.00) N:T52... 6..K4. A..QJT. QJ9..9. [19:14:56.754] ENDGAME_WORLD: #15 (w=0.00) N:T52... 6..K9. A..QJT. QJ9..4. [19:14:56.754] ENDGAME_WORLD: #16 (w=0.00) N:T52... QJ9... A..QJT. 6..K94. [19:14:56.754] ENDGAME_WORLD: #17 (w=0.00) N:T52... J9..4. A..QJT. Q6..K9. [19:14:56.754] ENDGAME_WORLD: #18 (w=0.00) N:T52... J9..9. A..QJT. Q6..K4. [19:14:56.754] ENDGAME_WORLD: #19 (w=0.00) N:T52... J9..K. A..QJT. Q6..94. [19:14:56.754] ENDGAME_WORLD: #20 (w=0.00) N:T52... Q9..4. A..QJT. J6..K9. [19:14:56.754] ENDGAME_WORLD: ... and 15 more [19:14:56.754] ENDGAME: Evaluating 3 candidates across 35 worlds (totalWeight=0.00, rankByScore=True): [19:14:56.755] DT: defeat 100 % (0.0/0.0), makes 100 % (0.0/0.0), avgDeclTricks=12.0, dist=[12:0.0] [19:14:56.755] DJ: defeat 100 % (0.0/0.0), makes 100 % (0.0/0.0), avgDeclTricks=12.0, dist=[12:0.0] [19:14:56.756] DQ: defeat 100 % (0.0/0.0), makes 100 % (0.0/0.0), avgDeclTricks=12.0, dist=[12:0.0] [19:14:56.756] IMP DT: 0.00 [19:14:56.756] IMP DJ: 0.00 [19:14:56.756] IMP DQ: 0.00 [19:14:56.756] ENDGAME: Selected DQ (100 %) [19:14:56.756] Tied cards: DQ,DJ,DT -- invoking NN directly on tied set [19:14:56.756] === FindBestCardAsync: Position=S, CardsPlayed=38 === [19:14:56.756] Finding card to play for S: A3.KQT6.QJT3.AKQ [19:14:56.756] Relative position: Dummy, Contract type: Suit [19:14:56.756] Cards in hand mask: 3 [19:14:56.757] Candidate: QD = 56.5 % [19:14:56.757] Candidate: TD = 42.2 % [19:14:56.757] Candidate: JD = 1.3 % [19:14:56.757] Selected: DQ (56.5 %) === Board play (API) - DDS Engine (S) - 2026-07-05 19:14:58 === === Board play (API) - Neural Network Engine (S) - 2026-07-05 19:14:58 === [19:14:58.587] Activated: 3 tricks remaining, threshold=5 [19:14:58.587] ENDGAME: Hidden cards=6 between E and W, need 3+3, declarer tricks=10, defense tricks=0 [19:14:58.587] ENDGAME: Contract=6H, Declarer=N, ToPlay=S, Trump=H [19:14:58.587] ENDGAME: S [SA - DQJ -] [19:14:58.587] ENDGAME: N [ST52 - - -] [19:14:58.587] ENDGAME: Hidden [SQJ96 - DK9 -] [19:14:58.587] ENDGAME: 20 valid worlds (after void filtering) [19:14:58.587] [DealFinder] Explained bid E 2S: "Weak two major, HCP <= 11, S = 6, HCP > 4, BestSuit(S), LoserLevel >= 2, SpadePoints >= 6, H <= 4, RuleOf < 21" -> require: (none) [19:14:58.587] [DealFinder] Explained bid S X: "Overcalling Weak 2Ma Opening, HCP >= 18, HCP >= 13, H >= 4, C >= 2, D >= 2, S <= 3, HCP >= 15, H >= 3" -> require: (none) [19:14:58.587] [DealFinder] Explained bid W P: "Responses to 2Ma-PX, NOT (CombinedHcpMin >= 25 OR IsGameForcing OR TwoOpenersGame)" -> require: (none) [19:14:58.587] [DealFinder] Explained bid N 3H: "Responses to 2Ma-X-P, H >= 4, HCP >= 9, HCP <= 12" -> require: (none) [19:14:58.587] [DealFinder] Explained bid E P: "Passable situations - Preemptive offensive, True" -> require: (none) [19:14:58.588] [DealFinder] Explained bid S 4N: "Artificial - Responses to 2Ma-P-P-X-P-3oMa-P, H >= 4, IsHeartSlamViable, CombinedHeartPointsMin >= HeartSmallSlamPointTarget Subtract 2, CombinedHcpMin >= 28, HeartSlam" -> require: (none) [19:14:58.588] [DealFinder] Explained bid W P: "Offensive bidding when our side has passed twice - after preempt, True" -> require: (none) [19:14:58.588] [DealFinder] Explained bid N 5H: "Artificial - RKC Hearts, (havekeycards = 2 OR havekeycards = 5), NOT trumpqueen" -> require: (none) [19:14:58.588] [DealFinder] Explained bid E P: "Offensive bidding when our side has passed twice - after preempt, True" -> require: (none) [19:14:58.588] [DealFinder] Explained bid S 5N: "Artificial - Responses to ...-4N-PX-5H-P, haveallkeycardsandqueen" -> require: (none) [19:14:58.588] [DealFinder] Explained bid W P: "Offensive bidding when I have passed twice, True" -> require: (none) [19:14:58.588] [DealFinder] Explained bid N 6H: "Responses to ...-4N-PX-*-PX-5N-P, True" -> require: (none) [19:14:58.588] [DealFinder] Explained bid E P: "Offensive bidding when I have passed twice, True" -> require: (none) [19:14:58.588] [DealFinder] Explained bid S P: "Passable situations - RKC0314_H, True" -> require: (none) [19:14:58.588] [DealFinder] Explained bid W P: "Offensive bidding when I have passed twice, True" -> require: (none) [19:14:58.589] [DealFinder] N HCP min: tightened from 9 to 12 using HandUnderstanding [19:14:58.589] [DealFinder] N constraints: HCP[12-12], Suits=H[4-13], Trivial=False [19:14:58.589] [DealFinder] Expression (383 chars): H >= 4 & HCP >= 9 & HCP <= 12 & (havekeycards = 2 OR havekeycards = 5) & NOT trumpqueen & NOT ((havekeycards = 2 OR havekeycards = 5) & trumpqueen) & NOT (havekeycards = 2 & (C = 0 OR D = 0 OR S = 0)) & NOT ((havekeycards = 1 OR havekeycards = 3) & C = 0) & NOT ((havekeycards = 1 OR havekeycards = 3) & D = 0) & True & NOT (haveallkeycardsandqueen & Control(C)) & NOT CanBidGrand(H) [19:14:58.589] [Timing] N precompute: 1ms mem d=80KB (total=1072MB) [19:14:58.593] [DealFinder] E constraints: HCP[6-11], Suits=S[6-6] H[0-4], Trivial=False [19:14:58.593] [DealFinder] Expression (2681 chars): HCP <= 11 & S = 6 & HCP > 4 & BestSuit(S) & LoserLevel >= 2 & SpadePoints >= 6 & H <= 4 & RuleOf < 21 & HCP >= 6 & NOT (C >= 7 & HCP >= 5 & HCP <= 11 & TP >= 6 & RuleOf < 21 & H <= 4 & S <= 4) & NOT (C >= 7 & HCP >= 5 & HCP <= 10 & TwiceRebiddable(C) & LoserLevel >= 3 & H <= 4 & S <= 4 & RuleOf < 21) & NOT (D >= 7 & HCP >= 5 & HCP <= 11 & TP >= 6 & RuleOf < 21 & H <= 4 & S <= 4) & NOT (D >= 7 & HCP >= 5 & HCP <= 10 & TwiceRebiddable(D) & LoserLevel >= 3 & H <= 4 & S <= 4 & RuleOf < 21) & NOT (H >= 7 & HCP >= 5 & HCP <= 11 & TP >= 6 & RuleOf < 21 & S <= 4) & NOT (H >= 7 & HCP >= 5 & HCP <= 10 & TwiceRebiddable(H) & LoserLevel >= 3 & S <= 4 & RuleOf < 21) & NOT (S >= 7 & HCP >= 5 & HCP <= 11 & TP >= 6 & RuleOf < 21 & H <= 4) & NOT (S >= 7 & HCP >= 5 & HCP <= 10 & TwiceRebiddable(S) & LoserLevel >= 3 & H <= 4 & RuleOf < 21) & NOT (C >= 8 & HCP >= 5 & HCP <= 11 & LoserLevel >= 3 & H <= 4 & S <= 4 & RuleOf < 21) & NOT (C >= 7 & HCP >= 5 & HCP <= 11 & LoserLevel >= 4 & H <= 4 & S <= 4 & RuleOf < 21) & NOT (D >= 8 & HCP >= 5 & HCP <= 11 & LoserLevel >= 3 & H <= 4 & S <= 4 & RuleOf < 21) & NOT (D >= 7 & HCP >= 5 & HCP <= 11 & LoserLevel >= 4 & H <= 4 & S <= 4 & RuleOf < 21) & NOT (H >= 8 & HCP >= 5 & HCP <= 11 & LoserLevel >= 4 & S <= 4) & NOT (H >= 7 & HCP >= 9 & HCP <= 11 & LoserLevel >= 4 & S <= 4) & NOT (S >= 8 & HCP >= 5 & HCP <= 11 & LoserLevel >= 4 & H <= 4) & NOT (S >= 7 & HCP >= 9 & HCP <= 11 & LoserLevel >= 4 & H <= 4) & NOT (C >= 8 & HCP >= 6 & HCP <= 11 & LoserLevel >= 5 & H <= 4 & S <= 4) & NOT (D >= 8 & HCP >= 6 & HCP <= 11 & LoserLevel >= 5 & H <= 4 & S <= 4) & NOT (H >= 9 & HCP >= 6 & HCP <= 11 & LoserLevel >= 5 & S <= 4) & NOT (S >= 9 & HCP >= 6 & HCP <= 11 & LoserLevel >= 5 & H <= 4) & NOT (HCP >= 12 & HCP <= 21 & (DiamondLongest OR ExplicitShape = 4=4=3=2)) & NOT (HCP >= 12 & HCP <= 21 & H >= 5 & H > S & HeartLongest) & NOT (HCP >= 12 & HCP <= 21 & S >= 5 & SpadeLongest) & NOT (Balanced & HCP >= 15 & HCP <= 16 & H = 5) & NOT (Balanced & HCP >= 15 & HCP <=... [19:14:58.593] [Timing] E precompute: 3ms mem d=155KB (total=1072MB) [19:14:58.595] [DealFinder] S HCP min: tightened from 13 to 17 using HandUnderstanding [19:14:58.595] [DealFinder] S constraints: HCP[17-37], Suits=H[4-13], Trivial=False [19:14:58.595] [DealFinder] Expression (1541 chars): (HCP >= 18 OR (HCP >= 13 & H >= 4 & C >= 2 & D >= 2 & S <= 3) OR (HCP >= 15 & H >= 3 & S <= 3)) & NOT (H >= 6 & HCP >= 13 & HCP <= 19) & NOT (H >= 6 & Losers <= 4 & HCP >= 15 & 3 of Top 5 Honors in H) & NOT (H >= 7 & HeartPoints >= 18 & Losers <= 4) & NOT (D >= 5 & C >= 5 & Losers <= 4 & HCP >= 17) & NOT (D >= 5 & C >= 5 & LoserLevel >= 4 & HCP >= 12) & NOT (HCP >= 16 & HCP <= 18 & balish & Stopper in S) & NOT (HCP >= 15 & HCP <= 18 & balish & HasStoppersInSuit(S)) & NOT (BestMinor(C) & C >= 6 & HCP >= 14 & HCP <= 19) & NOT (BestMinor(D) & D >= 6 & HCP >= 14 & HCP <= 19) & NOT (HCP >= 19 & HCP <= 24 & balish & Stopper in S) & NOT (HCP >= 20 & HCP <= 24 & S >= 4 & Stopper in S) & NOT (BestMinor(C) & C >= 7 & HCP >= 19 & Single Suited) & NOT (BestMinor(D) & D >= 7 & HCP >= 19 & Single Suited) & NOT (H >= 5 & (D >= 5 OR C >= 5) & LoserLevel >= 2 & HCP >= 12) & ((H >= 4 & HeartSlam) OR (H >= 4 & IsHeartSlamViable & CombinedHeartPointsMin >= HeartSmallSlamPointTarget Subtract 2 & CombinedHcpMin >= 28)) & NOT (H >= 4 & IsHeartSlamViable & CombinedHeartPointsMin >= HeartGrandSlamPointTarget Subtract 1 & CombinedHeartPointsMin < HeartGrandSlamPointTarget & CombinedHcpMin >= 28 & TP >= 13 & 1 of Top 3 Honors in H & NOT 2 of Top 3 Honors in H) & NOT (H >= 4 & IsNtSlamViable & (CombinedHcpMin >= NtGrandSlamPointTarget OR (CombinedHcpMin >= NtGrandSlamPointTarget Subtract 2 & Aces = 4))) & haveallkeycardsandqueen & NOT (IsHeartSlamViable & CombinedHeartPointsMin >= HeartGrandSlamPointTarget & NOT probablymissingkeycards) & True [19:14:58.595] [Timing] S precompute: 1ms mem d=145KB (total=1072MB) [19:14:58.596] [DealFinder] W HCP max: tightened from 37 to 14 using HandUnderstanding [19:14:58.596] [DealFinder] W constraints: HCP[0-14], Suits=(none), Trivial=False [19:14:58.596] [DealFinder] Expression (1423 chars): NOT ((CombinedHcpMin >= 25 OR IsGameForcing OR TwoOpenersGame)) & NOT (HCP >= 17 & H >= 6) & NOT (S >= 2 & IsSpadeSlamViable & CombinedSpadePointsMin >= SpadeSmallSlamPointTarget Subtract 2 & CombinedHcpMin >= 28) & NOT (S >= 2 & SpadeSlam) & NOT (S >= 2 & IsSpadeSlamViable & CombinedSpadePointsMin >= SpadeGrandSlamPointTarget Subtract 1 & CombinedSpadePointsMin < SpadeGrandSlamPointTarget & CombinedHcpMin >= 28 & TP >= 13 & 1 of Top 3 Honors in S & NOT 2 of Top 3 Honors in S) & NOT (S >= 2 & IsSpadeSlamViable & CombinedSpadePointsMin >= SpadeSmallSlamPointTarget & CombinedSpadePointsMin < SpadeGrandSlamPointTarget & CombinedHcpMin >= 28) & NOT (S >= 2 & IsNtSlamViable & (CombinedHcpMin >= NtGrandSlamPointTarget OR (CombinedHcpMin >= NtGrandSlamPointTarget Subtract 2 & Aces = 4))) & NOT (BestMinor(C) & C >= 5 & HCP >= 17) & NOT (BestMinor(D) & D >= 5 & HCP >= 17) & NOT (SpadePoints >= 6 & HCP <= 9 & S >= 3) & NOT Competitive(S) & NOT (S <= 1 & HCP >= 18 & NOT (Comb. Pts >= 32 & CombinedHcpMin >= 28)) & NOT (HCP >= 12 & HCP <= 17 & S >= 3 & NOT (Comb. Pts >= 32 & CombinedHcpMin >= 28)) & NOT (HCP >= 10 & HCP <= 17 & S >= 4 & NOT (Comb. Pts >= 32 & CombinedHcpMin >= 28)) & NOT (TwiceRebiddable(H) & S <= 1 & NOT (Comb. Pts >= 32 & CombinedHcpMin >= 28) & Losers <= 4) & NOT (HeartPoints >= 20 & H >= 6 & Single Suited & S <= 1 & NOT (Comb. Pts >= 32 & CombinedHcpMin >= 28)) & HCP < 15 & True & True & True [19:14:58.597] [Timing] W precompute: 1ms mem d=88KB (total=1072MB) [19:14:58.597] ENDGAME: Bidding weights applied to 20/20 worlds (range 0.00-0.00) [19:14:58.597] ENDGAME_WORLD: #1 (w=0.00) N:T52... J96... A..QJ. Q..K9. [19:14:58.597] ENDGAME_WORLD: #2 (w=0.00) N:T52... Q96... A..QJ. J..K9. [19:14:58.597] ENDGAME_WORLD: #3 (w=0.00) N:T52... 96..9. A..QJ. QJ..K. [19:14:58.597] ENDGAME_WORLD: #4 (w=0.00) N:T52... 96..K. A..QJ. QJ..9. [19:14:58.597] ENDGAME_WORLD: #5 (w=0.00) N:T52... QJ6... A..QJ. 9..K9. [19:14:58.597] ENDGAME_WORLD: #6 (w=0.00) N:T52... J6..9. A..QJ. Q9..K. [19:14:58.597] ENDGAME_WORLD: #7 (w=0.00) N:T52... J6..K. A..QJ. Q9..9. [19:14:58.597] ENDGAME_WORLD: #8 (w=0.00) N:T52... Q6..9. A..QJ. J9..K. [19:14:58.597] ENDGAME_WORLD: #9 (w=0.00) N:T52... Q6..K. A..QJ. J9..9. [19:14:58.597] ENDGAME_WORLD: #10 (w=0.00) N:T52... 6..K9. A..QJ. QJ9... [19:14:58.597] ENDGAME_WORLD: #11 (w=0.00) N:T52... QJ9... A..QJ. 6..K9. [19:14:58.597] ENDGAME_WORLD: #12 (w=0.00) N:T52... J9..9. A..QJ. Q6..K. [19:14:58.597] ENDGAME_WORLD: #13 (w=0.00) N:T52... J9..K. A..QJ. Q6..9. [19:14:58.597] ENDGAME_WORLD: #14 (w=0.00) N:T52... Q9..9. A..QJ. J6..K. [19:14:58.597] ENDGAME_WORLD: #15 (w=0.00) N:T52... Q9..K. A..QJ. J6..9. [19:14:58.597] ENDGAME_WORLD: #16 (w=0.00) N:T52... 9..K9. A..QJ. QJ6... [19:14:58.597] ENDGAME_WORLD: #17 (w=0.00) N:T52... QJ..9. A..QJ. 96..K. [19:14:58.597] ENDGAME_WORLD: #18 (w=0.00) N:T52... QJ..K. A..QJ. 96..9. [19:14:58.597] ENDGAME_WORLD: #19 (w=0.00) N:T52... J..K9. A..QJ. Q96... [19:14:58.598] ENDGAME_WORLD: #20 (w=0.00) N:T52... Q..K9. A..QJ. J96... [19:14:58.598] ENDGAME: Evaluating 3 candidates across 20 worlds (totalWeight=0.00, rankByScore=True): [19:14:58.598] SA: defeat 44 % (0.0/0.0), makes 44 % (0.0/0.0), avgDeclTricks=11.4, dist=11:0.0 [12:0.0] [19:14:58.598] DJ: defeat 100 % (0.0/0.0), makes 100 % (0.0/0.0), avgDeclTricks=12.0, dist=[12:0.0] [19:14:58.598] DQ: defeat 100 % (0.0/0.0), makes 100 % (0.0/0.0), avgDeclTricks=12.0, dist=[12:0.0] [19:14:58.598] IMP SA: -9.57 [19:14:58.598] IMP DJ: 4.79 [19:14:58.598] IMP DQ: 4.79 [19:14:58.598] ENDGAME: Selected DQ (100 %) [19:14:58.598] Tied cards: DQ,DJ -- invoking NN directly on tied set [19:14:58.598] === FindBestCardAsync: Position=S, CardsPlayed=40 === [19:14:58.598] Finding card to play for S: A3.KQT6.QJT3.AKQ [19:14:58.599] Relative position: Dummy, Contract type: Suit [19:14:58.599] Cards in hand mask: 3 [19:14:58.599] Candidate: QD = 60.5 % [19:14:58.599] Candidate: AS = 25.5 % [19:14:58.599] Candidate: JD = 14.0 % [19:14:58.599] Selected: DQ (60.5 %)