Putem folosi o variantă minoră a Pas de copil/pas de gigant a găsi $d$ cu în ordinea de $3\,2^{n/2}$ adăugări de puncte (și normalizare la o reprezentare unică de puncte). Facem pasi de copil din $X_1$, și pași uriași de la $X_2$ (în ambele direcții pentru mai târziu, pentru a compensa semnul necunoscut al $x_1-x_2$). Aici merge:
- lăsa $m=\lceil2^{n/2}\rceil$
- lăsa $W_0:=X_1$
- pentru $i$ din $1$ la $m-1$ (Pași de bebeluș)
- a stabilit $W_i=W_{i-1}+G$
nota: aici $W_i=X_1+i\,G$
- lăsa $H=m\,G$ (care poate fi obținut ca $H=W_{m-1}+G-W_0$ )
- lăsa $U:=X_2$ și $V:=X_2-H$
- lăsa $j=0$
- repetă (pași uriași)
nota: aici $U=X_2+(j\,m)\,G$ și $V=X_2-((j+1)\,m)\,G$
- dacă $U$ se găsește în $W_i$
- ieșire $|j\,m-i|$ și opriți
- dacă $V$ se găsește în $W_i$
- ieșire $(j+1)\,m+i$ și opriți
- lăsa $U:=U+H$ și $V:=V-H$
- lăsa $j:=j+1$
Dacă din condițiile menționate în note rezultă că acest algoritm se oprește întotdeauna la ieșire $d$ după aproximativ $d/2^{n/2}$ (cel mult $m$) iterații ale buclei repetate. Observați că folosind o structură de date adecvată, costul căutărilor de $U$ și $V$ în tabelul de $W_i$ este în esență constantă w.r.t. $n$, astfel că principalul cost de calcul îl reprezintă adunările de puncte (și normalizarea rezultatului acestora, astfel încât $W_i$ pot fi căutate eficient).
Problemele sunt că acest lucru necesită multă memorie pentru tabelul de $W_i$, iar algoritmul așa cum a fost menționat este secvenţial. Acest lucru poate fi rezolvat, iar căutarea poate fi distribuită între mai multe mașini, folosind tehnicile din lucrarea lui Paul C. van Oorschot și Michael J. Wiener. Căutare de coliziuni paralele cu aplicații criptoanalitice, în Journal of Criptology, 1999.