HYROX Bilbao 2025: Pro Doubles Men results
81 teams on 15 Feb 2025. Typical finish 1:08:33, fastest 10% under 0:59:56. Back to the analysis.
| # | Athlete | Age | Time | Runs | Stations | Rox | Ski | Push | Pull | BBJ | Row | Carry | Lunge | WB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Pedro Toral, Pepe Salama 🇪🇸 ESP | U29 1/12 | 0:53:36 | 28:31 | 21:40 | 3:29 | 3:32 | 1:51 | 3:18 | 1:51 | 3:46 | 1:29 | 2:37 | 3:16 |
| 2 | Diogo Freitas, Tiago Lousa 🇵🇹 POR | 30-39 1/50 | 0:54:13 | 28:58 | 21:53 | 3:27 | 3:26 | 2:06 | 3:33 | 1:44 | 3:43 | 1:24 | 2:35 | 3:22 |
| 3 | Josh Tibbles, Luis Tibbles 🇬🇧 GBR | U29 2/12 | 0:57:03 | 30:01 | 23:24 | 3:43 | 3:34 | 2:07 | 3:47 | 2:06 | 3:43 | 1:32 | 2:49 | 3:46 |
| 4 | Gonzalo Villar, Jorge González Alvarez 🇪🇸 ESP | U29 3/12 | 0:57:05 | 31:26 | 21:54 | 3:49 | 3:27 | 2:14 | 3:23 | 1:54 | 3:47 | 1:26 | 2:37 | 3:06 |
| 5 | Fernando Martorell Munar, Lucas Perelló Caballero 🇪🇸 ESP | 30-39 2/50 | 0:57:26 | 30:51 | 22:44 | 3:53 | 3:34 | 1:56 | 3:54 | 2:00 | 3:54 | 1:30 | 2:36 | 3:20 |
| 6 | Carlos Cachopo, Bruno Lousa 🇵🇹 POR | 40-49 1/16 | 0:57:58 | 29:14 | 25:10 | 3:39 | 3:37 | 2:42 | 4:42 | 2:14 | 4:02 | 1:20 | 2:36 | 3:57 |
| 7 | Dani Galindo, Jose José María Resano 🇪🇸 ESP | 40-49 2/16 | 0:58:44 | 29:46 | 25:11 | 3:50 | 3:29 | 2:10 | 4:18 | 2:12 | 3:51 | 1:25 | 3:14 | 4:32 |
| 8 | Bernat Ferrer, Eduard Mascaró Ogazón 🇪🇸 ESP | 30-39 3/50 | 0:59:27 | 31:46 | 23:47 | 3:58 | 3:30 | 2:02 | 3:38 | 2:09 | 3:54 | 1:37 | 3:22 | 3:35 |
| 9 | Aitor Barroso, Hodei Aspuru 🇪🇸 ESP | U29 4/12 | 0:59:56 | 32:00 | 24:04 | 3:57 | 3:46 | 2:02 | 3:45 | 2:20 | 4:13 | 1:38 | 2:56 | 3:24 |
| 10 | José Vicente Poblador Asensio, Mario Sanz Navarro 🇪🇸 ESP | 30-39 4/50 | 1:00:13 | 31:01 | 25:25 | 3:50 | 3:48 | 2:30 | 3:39 | 2:29 | 4:08 | 1:23 | 3:24 | 4:04 |
| 11 | Nahuel Xavier Garcia Santamaria, Daniel Bravo Robayna 🇪🇸 ESP | 30-39 5/50 | 1:00:36 | 33:06 | 23:37 | 3:58 | 3:33 | 1:59 | 3:44 | 2:08 | 3:58 | 1:23 | 3:22 | 3:30 |
| 12 | Manuel Halcón, Manuel Caballero Molina 🇪🇸 ESP | 30-39 6/50 | 1:00:46 | 31:22 | 25:27 | 4:02 | 3:48 | 2:12 | 4:14 | 2:21 | 4:06 | 1:45 | 3:29 | 3:32 |
| 12 | Paulo Caldas, João Baltazar 🇵🇹 POR | 30-39 6/50 | 1:00:46 | 32:27 | 23:58 | 4:26 | 3:41 | 2:01 | 4:06 | 2:11 | 4:00 | 1:29 | 2:56 | 3:34 |
| 14 | Patrick Greve, Carsten Emsbach 🇩🇪 GER | 40-49 3/16 | 1:01:27 | 33:24 | 23:53 | 4:14 | 3:32 | 2:13 | 3:19 | 2:22 | 4:18 | 1:30 | 2:51 | 3:48 |
| 15 | Raul Refolio Márquez, Francisco Javie García Martín 🇪🇸 ESP | 40-49 4/16 | 1:01:56 | 32:18 | 25:37 | 4:06 | 3:45 | 2:18 | 4:33 | 1:55 | 4:04 | 1:44 | 3:35 | 3:43 |
| 16 | Alberto Caraballo, Aaron Gil 🇪🇸 ESP | U29 5/12 | 1:03:05 | 34:06 | 24:58 | 4:05 | 3:49 | 2:25 | 3:41 | 2:21 | 4:04 | 1:45 | 3:11 | 3:42 |
| 17 | Gonzalo Ruiz Gutiérrez, Eloy Fernández Toca 🇪🇸 ESP | U29 6/12 | 1:03:06 | 36:08 | 21:47 | 5:16 | 3:31 | 1:47 | 3:03 | 1:54 | 3:57 | 1:23 | 2:54 | 3:18 |
| 18 | Thomas Czubernat, Daniel De Almeida 🇫🇷 FRA | 30-39 8/50 | 1:03:14 | 33:09 | 25:58 | 4:12 | 3:52 | 1:55 | 3:47 | 2:41 | 4:19 | 1:47 | 3:31 | 4:06 |
| 19 | Jose Jose Ferreira, Jorge Jorge Cardoso 🇵🇹 POR | 30-39 9/50 | 1:03:16 | 34:00 | 25:15 | 4:05 | 3:47 | 2:31 | 3:44 | 2:15 | 4:00 | 1:53 | 3:28 | 3:37 |
| 20 | Mario González Altube, Daniel Domínguez Delgado 🇪🇸 ESP | 30-39 10/50 | 1:03:19 | 32:49 | 26:18 | 4:15 | 3:57 | 2:20 | 3:59 | 2:43 | 4:11 | 1:42 | 3:33 | 3:53 |
| 21 | Julien Delande, Iker Cebrián Aparisi 🇫🇷 FRA | 30-39 11/50 | 1:03:59 | 34:45 | 25:01 | 4:18 | 3:33 | 2:24 | 4:25 | 2:22 | 3:54 | 1:29 | 3:19 | 3:35 |
| 22 | Anthony Peudpiece, Fábio Ribeiro 🇫🇷 FRA | 30-39 12/50 | 1:04:14 | 32:25 | 27:34 | 4:19 | 3:40 | 2:30 | 6:07 | 2:21 | 4:17 | 1:36 | 3:21 | 3:42 |
| 23 | Fred Massouf, Ludovic Kubiak 🇫🇷 FRA | 50-59 1/3 | 1:04:19 | 34:06 | 25:29 | 4:48 | 3:47 | 1:54 | 4:10 | 2:17 | 4:14 | 1:30 | 3:47 | 3:50 |
| 24 | Samson Brown, Brandon Brown 🇬🇧 GBR | U29 7/12 | 1:04:30 | 35:58 | 24:23 | 4:13 | 3:53 | 2:19 | 3:03 | 2:24 | 4:10 | 1:39 | 3:07 | 3:48 |
| 25 | Benoît Linard, Xantxo Isteque 🇫🇷 FRA | 40-49 5/16 | 1:04:44 | 33:37 | 26:53 | 4:19 | 3:48 | 1:55 | 4:13 | 2:46 | 4:22 | 1:41 | 3:48 | 4:20 |
| 26 | Pedro Sageras, Antonio Quirós 🇦🇷 ARG | 30-39 13/50 | 1:04:54 | 33:50 | 25:53 | 5:16 | 4:01 | 2:24 | 4:07 | 2:10 | 4:25 | 1:42 | 3:31 | 3:33 |
| 27 | Javier Fernández, Endika Fernández 🇪🇸 ESP | 30-39 14/50 | 1:04:59 | 35:43 | 23:59 | 5:23 | 3:41 | 1:53 | 3:45 | 2:02 | 4:16 | 1:34 | 3:00 | 3:48 |
| 28 | Carlos Garbati, Iñigo Lopez 🇪🇸 ESP | 30-39 15/50 | 1:05:05 | 35:29 | 25:04 | 4:38 | 3:39 | 2:06 | 3:55 | 2:38 | 3:56 | 1:27 | 3:40 | 3:43 |
| 29 | Jon Bilbao, Mikel Landaribar Egea 🇪🇸 ESP | U29 8/12 | 1:05:43 | 35:31 | 25:34 | 4:42 | 3:30 | 1:57 | 5:12 | 2:19 | 3:56 | 1:40 | 3:10 | 3:50 |
| 30 | Felipe Berchesi, Maxime Thomas 🇺🇾 URU | 30-39 16/50 | 1:05:50 | 33:30 | 27:43 | 4:42 | 4:00 | 2:20 | 5:03 | 2:55 | 4:33 | 1:38 | 3:25 | 3:49 |
| 31 | André Serafim, Pedro Barreira 🇵🇹 POR | 30-39 17/50 | 1:06:07 | 33:38 | 28:03 | 4:31 | 3:41 | 2:43 | 6:46 | 2:04 | 4:21 | 1:34 | 3:14 | 3:40 |
| 32 | Tim Sohrweide, Malte Frank 🇩🇪 GER | 40-49 6/16 | 1:06:25 | 36:48 | 24:58 | 4:42 | 3:45 | 1:52 | 3:37 | 2:14 | 4:04 | 1:36 | 3:49 | 4:01 |
| 33 | Sergio Antonio Pastor Marín, Quique Cánovas 🇪🇸 ESP | 30-39 18/50 | 1:07:01 | 35:42 | 26:24 | 4:59 | 3:41 | 2:08 | 5:26 | 2:30 | 4:08 | 1:34 | 3:38 | 3:19 |
| 34 | Alberto Rodríguez Domínguez, Dante Augusto Montoya Caballero-Díaz 🇪🇸 ESP | 30-39 19/50 | 1:07:08 | 33:39 | 29:07 | 4:25 | 3:52 | 2:20 | 7:14 | 2:15 | 4:14 | 1:30 | 3:49 | 3:53 |
| 35 | Alejandro Gonzalez, Luis Velázquez 🇪🇸 ESP | 30-39 20/50 | 1:07:25 | 33:27 | 29:29 | 4:34 | 3:50 | 2:31 | 7:19 | 2:15 | 4:21 | 1:32 | 3:05 | 4:36 |
| 36 | Ismael Balea, Nacho Sainz 🇪🇸 ESP | 30-39 21/50 | 1:07:39 | 36:02 | 26:21 | 5:20 | 3:42 | 2:27 | 4:30 | 1:58 | 4:20 | 1:54 | 3:42 | 3:48 |
| 37 | Víctor De Amorín, Pablo Rodríguez Bobe 🇪🇸 ESP | 30-39 22/50 | 1:07:53 | 38:05 | 24:42 | 5:10 | 3:54 | 2:12 | 4:04 | 2:08 | 4:18 | 1:30 | 3:04 | 3:32 |
| 38 | Hector Ruiz Moreno, Luis Garvey 🇪🇸 ESP | 30-39 23/50 | 1:07:55 | 37:59 | 24:46 | 5:15 | 3:40 | 2:07 | 3:55 | 2:27 | 4:00 | 1:53 | 3:08 | 3:36 |
| 39 | Alejandro Pérez Castaño, Daniel Silvestre Sánchez 🇪🇸 ESP | 40-49 7/16 | 1:07:57 | 34:49 | 28:41 | 4:32 | 4:12 | 2:56 | 5:37 | 2:18 | 4:20 | 1:50 | 3:25 | 4:03 |
| 40 | Lilian Tabuteau, Marc Blanchard 🇫🇷 FRA | 30-39 24/50 | 1:08:09 | 37:58 | 25:13 | 5:01 | 3:42 | 2:11 | 4:10 | 2:25 | 4:03 | 1:30 | 3:36 | 3:36 |
| 41 | Jose Manuel Garcia Marcos, Sergio Garcia Marcos 🇪🇸 ESP | 30-39 25/50 | 1:08:33 | 38:06 | 25:47 | 4:44 | 3:51 | 2:01 | 4:04 | 2:18 | 4:30 | 1:19 | 3:41 | 4:03 |
| 41 | Kevin Gousseau Gousseau, Bertrand Brana 🇫🇷 FRA | 30-39 25/50 | 1:08:33 | 35:37 | 28:00 | 5:01 | 3:39 | 2:20 | 4:54 | 2:50 | 4:06 | 1:45 | 4:11 | 4:15 |
| 41 | Maxime Cazalets, Timms Yoann 🇫🇷 FRA | 30-39 25/50 | 1:08:33 | 33:43 | 29:46 | 5:08 | 3:48 | 2:20 | 6:23 | 2:28 | 4:27 | 1:33 | 3:56 | 4:51 |
| 44 | Carlos Vecina, Toni Mayol Mariano 🇪🇸 ESP | U29 9/12 | 1:08:39 | 36:09 | 27:20 | 5:15 | 3:41 | 2:41 | 4:48 | 2:05 | 4:29 | 1:31 | 3:58 | 4:07 |
| 45 | Martín Gómez, Daniel Sandoval Anero 🇪🇸 ESP | 30-39 28/50 | 1:08:44 | 36:07 | 27:41 | 5:01 | 3:49 | 2:25 | 4:20 | 2:47 | 4:06 | 2:00 | 4:16 | 3:58 |
| 46 | Gorka Orue Magarzo, Carlos Briz Iceta 🇪🇸 ESP | 40-49 8/16 | 1:08:49 | 34:48 | 28:33 | 5:32 | 4:00 | 2:15 | 5:41 | 2:17 | 4:38 | 1:41 | 3:23 | 4:38 |
| 47 | Jesus Poveda, Carlos Ochoa Hernández 🇪🇸 ESP | U29 10/12 | 1:08:56 | 35:54 | 28:39 | 4:28 | 4:06 | 2:49 | 6:03 | 2:34 | 4:06 | 1:34 | 3:34 | 3:53 |
| 48 | David Silva, António Pires 🇵🇹 POR | 50-59 2/3 | 1:09:04 | 34:47 | 29:32 | 4:51 | 3:48 | 2:18 | 6:24 | 3:11 | 4:12 | 1:27 | 3:48 | 4:24 |
| 49 | Siim Ojakõiv, Jaak Peterson 🇪🇪 EST | 30-39 29/50 | 1:09:40 | 39:18 | 25:20 | 5:06 | 3:49 | 2:06 | 3:30 | 2:26 | 4:04 | 1:32 | 4:06 | 3:47 |
| 50 | Leopoldo Araya, Antonio Gómez 🇨🇷 CRC | 40-49 9/16 | 1:09:43 | 37:32 | 27:34 | 4:43 | 3:38 | 2:33 | 3:59 | 2:45 | 4:12 | 1:44 | 4:18 | 4:25 |
| 51 | Mario Alvarez Pi, Bruno Balbuena Canal 🇪🇸 ESP | 30-39 30/50 | 1:10:00 | 35:26 | 29:41 | 4:56 | 3:46 | 2:06 | 6:45 | 2:48 | 4:14 | 1:41 | 3:56 | 4:25 |
| 52 | Luis Antunes, Daniel Fidalgo 🇵🇹 POR | 30-39 31/50 | 1:10:37 | 40:26 | 25:22 | 4:53 | 3:48 | 2:27 | 4:00 | 2:29 | 3:58 | 1:37 | 3:27 | 3:36 |
| 53 | Luis Fran Rodríguez Paredes, José Martín Romo 🇪🇸 ESP | 40-49 10/16 | 1:10:56 | 38:21 | 27:15 | 5:25 | 3:46 | 2:25 | 4:25 | 2:08 | 4:15 | 1:51 | 4:38 | 3:47 |
| 54 | Pablo Gutierrez Cepeda, Borja San Martin Escallada 🇪🇸 ESP | 30-39 32/50 | 1:11:27 | 35:29 | 30:28 | 5:33 | 4:13 | 2:07 | 6:27 | 2:40 | 4:40 | 2:08 | 4:09 | 4:04 |
| 55 | Alexandre Giraud, Louis Idjedaren 🇫🇷 FRA | U29 11/12 | 1:11:35 | 39:28 | 26:41 | 5:30 | 3:56 | 2:33 | 4:38 | 2:57 | 4:09 | 1:38 | 3:14 | 3:36 |
| 56 | Alejandro Alvaro Alvaro, Iñigo Landaluce Herrera 🇪🇸 ESP | 30-39 33/50 | 1:11:58 | 38:55 | 26:10 | 6:58 | 3:40 | 2:30 | 3:53 | 2:28 | 4:21 | 1:41 | 3:46 | 3:51 |
| 57 | Oier Oier Cabrejas, Julen Arrasate PLE | U29 12/12 | 1:12:02 | 39:35 | 25:50 | 6:41 | 3:59 | 2:20 | 2:58 | 2:28 | 4:15 | 1:48 | 3:40 | 4:22 |
| 58 | Kino Roldan, Ruben Moreno Olmedo 🇪🇸 ESP | 30-39 34/50 | 1:12:34 | 40:19 | 27:05 | 5:15 | 3:52 | 2:53 | 4:11 | 2:38 | 4:07 | 1:57 | 3:54 | 3:33 |
| 59 | Manuel Pérez Moreno, Simon Olivetta 🇪🇸 ESP | 30-39 35/50 | 1:12:40 | 39:48 | 27:17 | 5:41 | 3:44 | 2:07 | 4:58 | 2:27 | 4:33 | 1:21 | 4:06 | 4:01 |
| 60 | Pablo Barrenechea Leal, Guillermo Mariátegui Leal 🇪🇸 ESP | 30-39 36/50 | 1:12:55 | 40:16 | 27:17 | 5:28 | 3:56 | 2:25 | 4:12 | 2:41 | 4:16 | 1:48 | 4:08 | 3:51 |
| 61 | Delanoue Laurent, Enzo Delanoue 🇫🇷 FRA | 30-39 37/50 | 1:13:30 | 35:12 | 32:19 | 6:01 | 3:37 | 2:30 | 8:21 | 3:05 | 4:13 | 1:47 | 3:50 | 4:56 |
| 62 | Gareth Abreu, Alex Percival 🇬🇧 GBR | 40-49 11/16 | 1:14:02 | 38:47 | 30:27 | 4:54 | 3:46 | 4:11 | 5:25 | 2:54 | 4:29 | 1:40 | 3:40 | 4:22 |
| 63 | Jesús Ramón Martín Afonso, Santiago Real Lorenzo 🇪🇸 ESP | 40-49 12/16 | 1:14:17 | 37:28 | 30:53 | 6:01 | 4:12 | 3:09 | 4:39 | 3:25 | 4:41 | 1:37 | 4:46 | 4:24 |
| 64 | Alvaro Morales Carpi, Javier Gomez Miranda 🇪🇸 ESP | 40-49 13/16 | 1:15:03 | 39:41 | 29:53 | 5:35 | 4:07 | 2:40 | 4:49 | 3:14 | 4:37 | 1:36 | 4:40 | 4:10 |
| 65 | Enric Paradela, Juan Porcel Balaguer 🇪🇸 ESP | 30-39 38/50 | 1:15:08 | 40:59 | 27:18 | 6:56 | 3:37 | 2:38 | 4:16 | 2:30 | 4:18 | 1:50 | 4:18 | 3:51 |
| 66 | Jacob Casado Casi, Albert Pelegrín I Esteban 🇪🇸 ESP | 30-39 39/50 | 1:17:44 | 40:14 | 32:06 | 5:28 | 3:55 | 2:40 | 7:02 | 3:22 | 4:29 | 1:35 | 4:59 | 4:04 |
| 67 | Marino Ibáñez Díaz, Alvaro Llorente Sanchez 🇪🇸 ESP | 30-39 40/50 | 1:17:54 | 42:23 | 29:27 | 6:07 | 4:00 | 2:51 | 6:17 | 2:12 | 4:43 | 1:42 | 3:24 | 4:18 |
| 68 | Bruno Laranjo, Sergio Ramos 🇵🇹 POR | 30-39 41/50 | 1:18:03 | 42:17 | 30:31 | 5:19 | 4:13 | 2:12 | 5:39 | 2:41 | 4:38 | 1:36 | 4:44 | 4:48 |
| 69 | Francesco De Santis, João Simões 🇮🇹 ITA | 30-39 42/50 | 1:18:50 | 40:51 | 30:59 | 7:06 | 4:11 | 2:27 | 6:13 | 3:10 | 4:47 | 1:58 | 4:10 | 4:03 |
| 70 | Ignacio Rodríguez Clarambo, Christian Lopez Gamboa 🇪🇸 ESP | 30-39 43/50 | 1:19:39 | 40:59 | 32:32 | 6:13 | 3:53 | 3:09 | 5:38 | 3:55 | 4:50 | 1:49 | 4:34 | 4:44 |
| 71 | Wolfgang Heidenreich, Paolo Rossetti 🇮🇹 ITA | 50-59 3/3 | 1:19:40 | 43:43 | 30:17 | 5:46 | 4:00 | 2:53 | 4:28 | 3:25 | 4:28 | 1:50 | 4:49 | 4:24 |
| 72 | Thomas Easton, Fabien Tauzin 🇫🇷 FRA | 40-49 14/16 | 1:20:10 | 44:49 | 28:36 | 6:51 | 3:46 | 2:03 | 5:53 | 2:42 | 4:30 | 1:27 | 4:09 | 4:06 |
| 73 | Julian Perez, Ruben Fernandez Crespo 🇪🇸 ESP | 40-49 15/16 | 1:20:27 | 40:00 | 33:08 | 7:24 | 4:02 | 2:47 | 7:27 | 2:32 | 4:28 | 1:56 | 5:06 | 4:50 |
| 74 | Jose Maria Ruiz Sardon, Iñaki Ramos Rodríguez 🇪🇸 ESP | 30-39 44/50 | 1:20:53 | 40:58 | 32:11 | 7:48 | 4:00 | 2:38 | 6:14 | 4:00 | 4:36 | 1:54 | 4:26 | 4:23 |
| 75 | Manuel Juanes, Javier Wee Palacios 🇪🇸 ESP | 30-39 45/50 | 1:20:54 | 44:16 | 30:11 | 6:32 | 3:54 | 2:35 | 5:27 | 2:26 | 4:40 | 1:56 | 4:33 | 4:40 |
| 76 | Gonzalo Basañez, Manuel Hernaiz 🇪🇸 ESP | 30-39 46/50 | 1:22:14 | 45:55 | 30:11 | 6:11 | 4:02 | 2:56 | 5:33 | 2:27 | 4:28 | 2:01 | 4:49 | 3:55 |
| 77 | Asier Zubieta Aurrekoetxea, Ellande Areta 🇪🇸 ESP | 40-49 16/16 | 1:22:54 | 43:06 | 33:39 | 6:14 | 4:15 | 2:35 | 7:31 | 2:29 | 4:40 | 1:41 | 5:52 | 4:36 |
| 78 | Manuel Acarregui, Jose Carro Paulete 🇪🇸 ESP | 30-39 47/50 | 1:23:05 | 43:06 | 34:39 | 5:23 | 3:57 | 2:28 | 8:14 | 3:25 | 4:38 | 1:37 | 4:39 | 5:41 |
| 79 | Jose Manuel Cabezas Muñoz, Adrián López Presedo 🇪🇸 ESP | 30-39 48/50 | 1:23:38 | 42:44 | 33:49 | 7:11 | 4:15 | 3:04 | 5:35 | 3:51 | 4:55 | 1:47 | 4:38 | 5:44 |
| 80 | Jan Hernando, Andrés Chamarro 🇪🇸 ESP | 30-39 49/50 | 1:28:14 | 44:50 | 35:33 | 7:57 | 4:03 | 2:23 | 6:47 | 3:01 | 4:36 | 1:55 | 7:15 | 5:33 |
| 81 | Diego De Egea Menéndez, Jaime Castillo Parages 🇪🇸 ESP | 30-39 50/50 | 1:31:46 | 51:50 | 32:55 | 7:05 | 3:55 | 2:56 | 6:27 | 3:14 | 4:39 | 1:46 | 5:22 | 4:36 |
Rank is the finishing position within Pro Doubles Men among timed teams. The number after the age group is the position within that age group. Station splits are in minutes:seconds.
The RoxHype app
Found your line? Now make it faster.
The app reads your splits, your kit and your next race date and builds the weeks between.
- Every session written for your weak station, not a generic plan
- Rebuilt each week from what you actually did
- Race-day pacing from your own splits
Free to download. Used by more than 40,000 HYROX athletes.