+ Position pos(*sp->pos, threadID);
+ SearchStack* ss = sp->sstack[threadID] + 1;
+ ss->sp = sp;
+
+ sp_search<PvNode>(pos, ss, Value(threadID), sp->beta, sp->depth, sp->ply);
+ }
+
+ template <NodeType PvNode>
+ void sp_search(Position& pos, SearchStack* ss, Value, Value beta, Depth depth, int ply) {
+