spear-kernels 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/index.cjs +436 -56
  2. package/index.js +436 -56
  3. package/package.json +25 -25
package/index.cjs CHANGED
@@ -147,11 +147,11 @@ const kernels = {
147
147
  wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AgwBA2VudgRhdGFuAAEDAgEABwkBBXNwZWFyAAEKOgE4AETOGyeFeY/cP0RsI57sZkbuPyAARBBYObTIdgHApaJEpTLFHARdAECkEACiREPFOH8TCuA/oAs=",
148
148
  },
149
149
  fast: {
150
- js: "((x) => ((0.000016644068119142568 * (Math.min(1e4, Math.max(-1e4, ((0.680392 * x)) / ((0.000034) < 1e-4 && (0.000034) > -1e-4 ? ((0.000034) >= 0 ? 1e-4 : -1e-4) : (0.000034)))) + (Math.min(1e4, Math.max(-1e4, (Math.min(132.262684, x)) / ((0.000034) < 1e-4 && (0.000034) > -1e-4 ? ((0.000034) >= 0 ? 1e-4 : -1e-4) : (0.000034)))) + Math.min(1e4, Math.max(-1e4, ((0.426743 * x)) / ((0.000034) < 1e-4 && (0.000034) > -1e-4 ? ((0.000034) >= 0 ? 1e-4 : -1e-4) : (0.000034))))))) + 0.4999999999999995))",
151
- eval: ((x) => ((0.000016644068119142568 * (Math.min(1e4, Math.max(-1e4, ((0.680392 * x)) / ((0.000034) < 1e-4 && (0.000034) > -1e-4 ? ((0.000034) >= 0 ? 1e-4 : -1e-4) : (0.000034)))) + (Math.min(1e4, Math.max(-1e4, (Math.min(132.262684, x)) / ((0.000034) < 1e-4 && (0.000034) > -1e-4 ? ((0.000034) >= 0 ? 1e-4 : -1e-4) : (0.000034)))) + Math.min(1e4, Math.max(-1e4, ((0.426743 * x)) / ((0.000034) < 1e-4 && (0.000034) > -1e-4 ? ((0.000034) >= 0 ? 1e-4 : -1e-4) : (0.000034))))))) + 0.4999999999999995)),
152
- c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return ((0.000017f * (fminf(fmaxf(((0.680392f * x) / copysignf(fmaxf(fabsf(0.000034f), 1.0e-4f), 0.000034f)), -1.0e4f), 1.0e4f) + (fminf(fmaxf((fminf(132.262684f, x) / copysignf(fmaxf(fabsf(0.000034f), 1.0e-4f), 0.000034f)), -1.0e4f), 1.0e4f) + fminf(fmaxf(((0.426743f * x) / copysignf(fmaxf(fabsf(0.000034f), 1.0e-4f), 0.000034f)), -1.0e4f), 1.0e4f)))) + 0.5f);\n}",
153
- py: "import torch\n\ndef spear_fn(x):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((0.000017 * (((0.680392 * x) / (abs(0.000034) < 1e-4 ? 1e-4 : 0.000034)) + ((torch.minimum(132.262684, x) / (abs(0.000034) < 1e-4 ? 1e-4 : 0.000034)) + ((0.426743 * x) / (abs(0.000034) < 1e-4 ? 1e-4 : 0.000034))))) + 0.5)",
154
- wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AwIBAAcJAQVzcGVhcgAACtgBAdUBAES0TOOm23PxPkSVuI5xxcXlPyAAokRmTMEaZ9MBP5lELUMc6+I2Gj+lRGZMwRpn0wE/pqNEAAAAAACIw8ClRAAAAAAAiMNApETXpUboZ4hgQCAApERmTMEaZ9MBP5lELUMc6+I2Gj+lRGZMwRpn0wE/pqNEAAAAAACIw8ClRAAAAAAAiMNApETeADPfwU/bPyAAokRmTMEaZ9MBP5lELUMc6+I2Gj+lRGZMwRpn0wE/pqNEAAAAAACIw8ClRAAAAAAAiMNApKCgokT3///////fP6AL",
150
+ js: "((x) => ((0.543518 * Math.min(1e4, Math.max(-1e4, (x) / ((Math.max(1.559472, (0.337459 + Math.abs(x)))) < 1e-4 && (Math.max(1.559472, (0.337459 + Math.abs(x)))) > -1e-4 ? ((Math.max(1.559472, (0.337459 + Math.abs(x)))) >= 0 ? 1e-4 : -1e-4) : (Math.max(1.559472, (0.337459 + Math.abs(x)))))))) + 0.5))",
151
+ eval: ((x) => ((0.543518 * Math.min(1e4, Math.max(-1e4, (x) / ((Math.max(1.559472, (0.337459 + Math.abs(x)))) < 1e-4 && (Math.max(1.559472, (0.337459 + Math.abs(x)))) > -1e-4 ? ((Math.max(1.559472, (0.337459 + Math.abs(x)))) >= 0 ? 1e-4 : -1e-4) : (Math.max(1.559472, (0.337459 + Math.abs(x)))))))) + 0.5)),
152
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return ((0.543518f * fminf(fmaxf((x / copysignf(fmaxf(fabsf(fmaxf(1.559472f, (0.337459f + fabsf(x)))), 1.0e-4f), fmaxf(1.559472f, (0.337459f + fabsf(x))))), -1.0e4f), 1.0e4f)) + 0.5f);\n}",
153
+ py: "import torch\n\ndef spear_fn(x):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((0.543518 * (x / (abs(torch.maximum(1.559472, (0.337459 + torch.abs(x)))) < 1e-4 ? 1e-4 : torch.maximum(1.559472, (0.337459 + torch.abs(x)))))) + 0.5)",
154
+ wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AwIBAAcJAQVzcGVhcgAACmkBZwBEyjFZ3H9k4T8gAESCcXDpmPP4P0RRai+i7ZjVPyAAmaClmUQtQxzr4jYaP6VEgnFw6Zjz+D9EUWovou2Y1T8gAJmgpaajRAAAAAAAiMPApUQAAAAAAIjDQKSiRAAAAAAAAOA/oAs=",
155
155
  },
156
156
  meta: {
157
157
  metric: 0.000016407954856661242,
@@ -159,7 +159,7 @@ const kernels = {
159
159
  formulaCost: 25,
160
160
  exactCost: 34,
161
161
  speedupVsExact: 1.36,
162
- vsIterative: {"label":"Monte-Carlo · 1000 tirages","speedup":1840},
162
+ vsIterative: {"label":"Monte-Carlo · 1000 tirages","speedup":1840},
163
163
  },
164
164
  },
165
165
  "damped_pendulum": {
@@ -184,7 +184,7 @@ const kernels = {
184
184
  formulaCost: 46,
185
185
  exactCost: null,
186
186
  speedupVsExact: null,
187
- vsIterative: {"label":"Euler-Cromer · 60 pas","speedup":32.608695652173914},
187
+ vsIterative: {"label":"Euler-Cromer · 60 pas","speedup":32.608695652173914},
188
188
  },
189
189
  },
190
190
  "rl_distillation": {
@@ -408,25 +408,18 @@ const kernels = {
408
408
  "hill": {
409
409
  id: "hill",
410
410
  precise: {
411
- js: "((c) => ((-0.5088154625822694 * Math.cos((Math.atan(c) + Math.atan((c) * (c))))) + 0.5005994325153399))",
412
- eval: ((c) => ((-0.5088154625822694 * Math.cos((Math.atan(c) + Math.atan((c) * (c))))) + 0.5005994325153399)),
413
- c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return ((-0.508815f * cosf((atanf(c) + atanf(powf(c, 2.0f))))) + 0.500599f);\n}",
414
- py: "import torch\n\ndef spear_fn(c):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((-0.508815 * torch.cos((torch.atan(c) + torch.atan((c * c))))) + 0.500599)",
415
- wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AhYCA2VudgNjb3MAAQNlbnYEYXRhbgABAwIBAAcJAQVzcGVhcgACCiYBJABEvq1vXTdI4L8gABABIAAgAKIQAaAQAKJE3ZXhGekE4D+gCw==",
416
- },
417
- fast: {
418
- js: "((c) => Math.atan((c) * (c)))",
419
- eval: ((c) => Math.atan((c) * (c))),
420
- c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return atanf(powf(c, 2.0f));\n}",
421
- py: "import torch\n\ndef spear_fn(c):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return torch.atan((c * c))",
422
- wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AgwBA2VudgRhdGFuAAEDAgEABwkBBXNwZWFyAAEKCwEJACAAIACiEAAL",
411
+ js: "((c) => Math.min(1e4, Math.max(-1e4, ((c) * (c) * (c)) / (((1 + (c) * (c) * (c))) < 1e-4 && ((1 + (c) * (c) * (c))) > -1e-4 ? (((1 + (c) * (c) * (c))) >= 0 ? 1e-4 : -1e-4) : ((1 + (c) * (c) * (c)))))))",
412
+ eval: ((c) => Math.min(1e4, Math.max(-1e4, ((c) * (c) * (c)) / (((1 + (c) * (c) * (c))) < 1e-4 && ((1 + (c) * (c) * (c))) > -1e-4 ? (((1 + (c) * (c) * (c))) >= 0 ? 1e-4 : -1e-4) : ((1 + (c) * (c) * (c))))))),
413
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return fminf(fmaxf((powf(c, 3.0f) / copysignf(fmaxf(fabsf((1f + powf(c, 3.0f))), 1.0e-4f), (1f + powf(c, 3.0f)))), -1.0e4f), 1.0e4f);\n}",
414
+ py: "import torch\n\ndef spear_fn(c):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((c ** 3) / (abs((1 + (c ** 3))) < 1e-4 ? 1e-4 : (1 + (c ** 3))))",
415
+ wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AwIBAAcJAQVzcGVhcgAAClEBTwAgACAAIACiokQAAAAAAADwPyAAIAAgAKKioJlELUMc6+I2Gj+lRAAAAAAAAPA/IAAgACAAoqKgpqNEAAAAAACIw8ClRAAAAAAAiMNApAs=",
423
416
  },
424
417
  meta: {
425
- metric: 0.000004468114072258487,
426
- level: 2,
427
- formulaCost: 64,
418
+ metric: 0,
419
+ level: 5,
420
+ formulaCost: 9,
428
421
  exactCost: 9,
429
- speedupVsExact: 0.140625,
422
+ speedupVsExact: 1,
430
423
  vsIterative: null,
431
424
  },
432
425
  },
@@ -452,7 +445,7 @@ const kernels = {
452
445
  formulaCost: 13,
453
446
  exactCost: 17,
454
447
  speedupVsExact: 1.3076923076923077,
455
- vsIterative: {"label":"RK4 géodésique · 200 pas","speedup":184.6153846153846},
448
+ vsIterative: {"label":"RK4 géodésique · 200 pas","speedup":184.6153846153846},
456
449
  },
457
450
  },
458
451
  "lennard_jones": {
@@ -495,7 +488,7 @@ const kernels = {
495
488
  formulaCost: 27,
496
489
  exactCost: 44,
497
490
  speedupVsExact: 1.6296296296296295,
498
- vsIterative: {"label":"RKF45 · 300 pas","speedup":200},
491
+ vsIterative: {"label":"RKF45 · 300 pas","speedup":200},
499
492
  },
500
493
  },
501
494
  "logistic_growth": {
@@ -588,7 +581,7 @@ const kernels = {
588
581
  formulaCost: 18,
589
582
  exactCost: 21,
590
583
  speedupVsExact: 1.1666666666666667,
591
- vsIterative: {"label":"RK4 géodésique · 200 pas","speedup":133.33333333333334},
584
+ vsIterative: {"label":"RK4 géodésique · 200 pas","speedup":133.33333333333334},
592
585
  },
593
586
  },
594
587
  "pendulum_hybrid": {
@@ -619,11 +612,11 @@ const kernels = {
619
612
  wasmBase64: "AGFzbQEAAAABDQJgA3x8fAF8YAF8AXwCFgIDZW52A2NvcwABA2VudgRhdGFuAAEDAgEABwkBBXNwZWFyAAIKxgoBwwoARAt6bwwBAPA/IABERl1r71NV1T+iRAAAAAAAAABAIAEgACAAokRGXWvvU1XVP6KhmkRVVVVVVVXVP6KZn6JEGC1EVPsh+T9EAAAAAAAA8D9EAAAAAAAA8L9EAAAAAAAACEAgACABokRVVVVVVVXVP6IgACAAIACiokRoL6G9hPayP6IgAqChokQAAAAAAAAAQCABIAAgAKJEVVVVVVVV1T+ioaKZRC1DHOviNho/pUQAAAAAAAAAQCABIAAgAKJEVVVVVVVV1T+ioaKmo0QAAAAAAIjDwKVEAAAAAACIw0CkRAAAAAAAAAjAIAEgACAAokRVVVVVVVXVP6KhmUQtQxzr4jYaP6UgASAAIACiRFVVVVVVVdU/oqGmo0QAAAAAAIjDwKVEAAAAAACIw0CkmZ+ipaREAAAAAAAA8D9EAAAAAAAA8D9EAAAAAAAA8L9EAAAAAAAACEAgACABokRVVVVVVVXVP6IgACAAIACiokRoL6G9hPayP6IgAqChokQAAAAAAAAAQCABIAAgAKJEVVVVVVVV1T+ioaKZRC1DHOviNho/pUQAAAAAAAAAQCABIAAgAKJEVVVVVVVV1T+ioaKmo0QAAAAAAIjDwKVEAAAAAACIw0CkRAAAAAAAAAjAIAEgACAAokRVVVVVVVXVP6KhmUQtQxzr4jYaP6UgASAAIACiRFVVVVVVVdU/oqGmo0QAAAAAAIjDwKVEAAAAAACIw0CkmZ+ipaREAAAAAAAA8D9EAAAAAAAA8L9EAAAAAAAACEAgACABokRVVVVVVVXVP6IgACAAIACiokRoL6G9hPayP6IgAqChokQAAAAAAAAAQCABIAAgAKJEVVVVVVVV1T+ioaKZRC1DHOviNho/pUQAAAAAAAAAQCABIAAgAKJEVVVVVVVV1T+ioaKmo0QAAAAAAIjDwKVEAAAAAACIw0CkRAAAAAAAAAjAIAEgACAAokRVVVVVVVXVP6KhmUQtQxzr4jYaP6UgASAAIACiRFVVVVVVVdU/oqGmo0QAAAAAAIjDwKVEAAAAAACIw0CkmZ+ipaSioZmZn5lELUMc6+I2Gj+lRAAAAAAAAPA/RAAAAAAAAPA/RAAAAAAAAPC/RAAAAAAAAAhAIAAgAaJEVVVVVVVV1T+iIAAgACAAoqJEaC+hvYT2sj+iIAKgoaJEAAAAAAAAAEAgASAAIACiRFVVVVVVVdU/oqGimUQtQxzr4jYaP6VEAAAAAAAAAEAgASAAIACiRFVVVVVVVdU/oqGipqNEAAAAAACIw8ClRAAAAAAAiMNApEQAAAAAAAAIwCABIAAgAKJEVVVVVVVV1T+ioZlELUMc6+I2Gj+lIAEgACAAokRVVVVVVVXVP6KhpqNEAAAAAACIw8ClRAAAAAAAiMNApJmfoqWkRAAAAAAAAPA/RAAAAAAAAPC/RAAAAAAAAAhAIAAgAaJEVVVVVVVV1T+iIAAgACAAoqJEaC+hvYT2sj+iIAKgoaJEAAAAAAAAAEAgASAAIACiRFVVVVVVVdU/oqGimUQtQxzr4jYaP6VEAAAAAAAAAEAgASAAIACiRFVVVVVVVdU/oqGipqNEAAAAAACIw8ClRAAAAAAAiMNApEQAAAAAAAAIwCABIAAgAKJEVVVVVVVV1T+ioZlELUMc6+I2Gj+lIAEgACAAokRVVVVVVVXVP6KhpqNEAAAAAACIw8ClRAAAAAAAiMNApJmfoqWkoqGZmZ+mo0QAAAAAAIjDwKVEAAAAAACIw0CkEAGhRFVVVVVVVdU/ohAAoqCiRIPAyuFt5L++oAs=",
620
613
  },
621
614
  fast: {
622
- js: "((t, u, w) => ((t * 0.3333333333333333) + ((2 * Math.sqrt(Math.abs(((-(u - ((t) * (t) * 0.3333333333333333))) * 0.3333333333333333)))) * Math.cos(((1.5707963267948966 - Math.atan(Math.min(1e4, Math.max(-1e4, (Math.min(1, Math.max(-1, (Math.min(1e4, Math.max(-1e4, ((3 * (((t * u) * 0.3333333333333333) - (((t) * (t) * (t) * 0.07407407407407407) + w)))) / (((2 * (u - ((t) * (t) * 0.3333333333333333)))) < 1e-4 && ((2 * (u - ((t) * (t) * 0.3333333333333333)))) > -1e-4 ? (((2 * (u - ((t) * (t) * 0.3333333333333333)))) >= 0 ? 1e-4 : -1e-4) : ((2 * (u - ((t) * (t) * 0.3333333333333333))))))) * Math.sqrt(Math.abs(Math.min(1e4, Math.max(-1e4, (-3) / (((u - ((t) * (t) * 0.3333333333333333))) < 1e-4 && ((u - ((t) * (t) * 0.3333333333333333))) > -1e-4 ? (((u - ((t) * (t) * 0.3333333333333333))) >= 0 ? 1e-4 : -1e-4) : ((u - ((t) * (t) * 0.3333333333333333)))))))))))) / ((Math.sqrt(Math.abs(Math.abs((1 - (Math.min(1, Math.max(-1, (Math.min(1e4, Math.max(-1e4, ((3 * (((t * u) * 0.3333333333333333) - (((t) * (t) * (t) * 0.07407407407407407) + w)))) / (((2 * (u - ((t) * (t) * 0.3333333333333333)))) < 1e-4 && ((2 * (u - ((t) * (t) * 0.3333333333333333)))) > -1e-4 ? (((2 * (u - ((t) * (t) * 0.3333333333333333)))) >= 0 ? 1e-4 : -1e-4) : ((2 * (u - ((t) * (t) * 0.3333333333333333))))))) * Math.sqrt(Math.abs(Math.min(1e4, Math.max(-1e4, (-3) / (((u - ((t) * (t) * 0.3333333333333333))) < 1e-4 && ((u - ((t) * (t) * 0.3333333333333333))) > -1e-4 ? (((u - ((t) * (t) * 0.3333333333333333))) >= 0 ? 1e-4 : -1e-4) : ((u - ((t) * (t) * 0.3333333333333333)))))))))))) * (Math.min(1, Math.max(-1, (Math.min(1e4, Math.max(-1e4, ((3 * (((t * u) * 0.3333333333333333) - (((t) * (t) * (t) * 0.07407407407407407) + w)))) / (((2 * (u - ((t) * (t) * 0.3333333333333333)))) < 1e-4 && ((2 * (u - ((t) * (t) * 0.3333333333333333)))) > -1e-4 ? (((2 * (u - ((t) * (t) * 0.3333333333333333)))) >= 0 ? 1e-4 : -1e-4) : ((2 * (u - ((t) * (t) * 0.3333333333333333))))))) * Math.sqrt(Math.abs(Math.min(1e4, Math.max(-1e4, (-3) / (((u - ((t) * (t) * 0.3333333333333333))) < 1e-4 && ((u - ((t) * (t) * 0.3333333333333333))) > -1e-4 ? (((u - ((t) * (t) * 0.3333333333333333))) >= 0 ? 1e-4 : -1e-4) : ((u - ((t) * (t) * 0.3333333333333333))))))))))))))))) < 1e-4 && (Math.sqrt(Math.abs(Math.abs((1 - (Math.min(1, Math.max(-1, (Math.min(1e4, Math.max(-1e4, ((3 * (((t * u) * 0.3333333333333333) - (((t) * (t) * (t) * 0.07407407407407407) + w)))) / (((2 * (u - ((t) * (t) * 0.3333333333333333)))) < 1e-4 && ((2 * (u - ((t) * (t) * 0.3333333333333333)))) > -1e-4 ? (((2 * (u - ((t) * (t) * 0.3333333333333333)))) >= 0 ? 1e-4 : -1e-4) : ((2 * (u - ((t) * (t) * 0.3333333333333333))))))) * Math.sqrt(Math.abs(Math.min(1e4, Math.max(-1e4, (-3) / (((u - ((t) * (t) * 0.3333333333333333))) < 1e-4 && ((u - ((t) * (t) * 0.3333333333333333))) > -1e-4 ? (((u - ((t) * (t) * 0.3333333333333333))) >= 0 ? 1e-4 : -1e-4) : ((u - ((t) * (t) * 0.3333333333333333)))))))))))) * (Math.min(1, Math.max(-1, (Math.min(1e4, Math.max(-1e4, ((3 * (((t * u) * 0.3333333333333333) - (((t) * (t) * (t) * 0.07407407407407407) + w)))) / (((2 * (u - ((t) * (t) * 0.3333333333333333)))) < 1e-4 && ((2 * (u - ((t) * (t) * 0.3333333333333333)))) > -1e-4 ? (((2 * (u - ((t) * (t) * 0.3333333333333333)))) >= 0 ? 1e-4 : -1e-4) : ((2 * (u - ((t) * (t) * 0.3333333333333333))))))) * Math.sqrt(Math.abs(Math.min(1e4, Math.max(-1e4, (-3) / (((u - ((t) * (t) * 0.3333333333333333))) < 1e-4 && ((u - ((t) * (t) * 0.3333333333333333))) > -1e-4 ? (((u - ((t) * (t) * 0.3333333333333333))) >= 0 ? 1e-4 : -1e-4) : ((u - ((t) * (t) * 0.3333333333333333))))))))))))))))) > -1e-4 ? ((Math.sqrt(Math.abs(Math.abs((1 - (Math.min(1, Math.max(-1, (Math.min(1e4, Math.max(-1e4, ((3 * (((t * u) * 0.3333333333333333) - (((t) * (t) * (t) * 0.07407407407407407) + w)))) / (((2 * (u - ((t) * (t) * 0.3333333333333333)))) < 1e-4 && ((2 * (u - ((t) * (t) * 0.3333333333333333)))) > -1e-4 ? (((2 * (u - ((t) * (t) * 0.3333333333333333)))) >= 0 ? 1e-4 : -1e-4) : ((2 * (u - ((t) * (t) * 0.3333333333333333))))))) * Math.sqrt(Math.abs(Math.min(1e4, Math.max(-1e4, (-3) / (((u - ((t) * (t) * 0.3333333333333333))) < 1e-4 && ((u - ((t) * (t) * 0.3333333333333333))) > -1e-4 ? (((u - ((t) * (t) * 0.3333333333333333))) >= 0 ? 1e-4 : -1e-4) : ((u - ((t) * (t) * 0.3333333333333333)))))))))))) * (Math.min(1, Math.max(-1, (Math.min(1e4, Math.max(-1e4, ((3 * (((t * u) * 0.3333333333333333) - (((t) * (t) * (t) * 0.07407407407407407) + w)))) / (((2 * (u - ((t) * (t) * 0.3333333333333333)))) < 1e-4 && ((2 * (u - ((t) * (t) * 0.3333333333333333)))) > -1e-4 ? (((2 * (u - ((t) * (t) * 0.3333333333333333)))) >= 0 ? 1e-4 : -1e-4) : ((2 * (u - ((t) * (t) * 0.3333333333333333))))))) * Math.sqrt(Math.abs(Math.min(1e4, Math.max(-1e4, (-3) / (((u - ((t) * (t) * 0.3333333333333333))) < 1e-4 && ((u - ((t) * (t) * 0.3333333333333333))) > -1e-4 ? (((u - ((t) * (t) * 0.3333333333333333))) >= 0 ? 1e-4 : -1e-4) : ((u - ((t) * (t) * 0.3333333333333333))))))))))))))))) >= 0 ? 1e-4 : -1e-4) : (Math.sqrt(Math.abs(Math.abs((1 - (Math.min(1, Math.max(-1, (Math.min(1e4, Math.max(-1e4, ((3 * (((t * u) * 0.3333333333333333) - (((t) * (t) * (t) * 0.07407407407407407) + w)))) / (((2 * (u - ((t) * (t) * 0.3333333333333333)))) < 1e-4 && ((2 * (u - ((t) * (t) * 0.3333333333333333)))) > -1e-4 ? (((2 * (u - ((t) * (t) * 0.3333333333333333)))) >= 0 ? 1e-4 : -1e-4) : ((2 * (u - ((t) * (t) * 0.3333333333333333))))))) * Math.sqrt(Math.abs(Math.min(1e4, Math.max(-1e4, (-3) / (((u - ((t) * (t) * 0.3333333333333333))) < 1e-4 && ((u - ((t) * (t) * 0.3333333333333333))) > -1e-4 ? (((u - ((t) * (t) * 0.3333333333333333))) >= 0 ? 1e-4 : -1e-4) : ((u - ((t) * (t) * 0.3333333333333333)))))))))))) * (Math.min(1, Math.max(-1, (Math.min(1e4, Math.max(-1e4, ((3 * (((t * u) * 0.3333333333333333) - (((t) * (t) * (t) * 0.07407407407407407) + w)))) / (((2 * (u - ((t) * (t) * 0.3333333333333333)))) < 1e-4 && ((2 * (u - ((t) * (t) * 0.3333333333333333)))) > -1e-4 ? (((2 * (u - ((t) * (t) * 0.3333333333333333)))) >= 0 ? 1e-4 : -1e-4) : ((2 * (u - ((t) * (t) * 0.3333333333333333))))))) * Math.sqrt(Math.abs(Math.min(1e4, Math.max(-1e4, (-3) / (((u - ((t) * (t) * 0.3333333333333333))) < 1e-4 && ((u - ((t) * (t) * 0.3333333333333333))) > -1e-4 ? (((u - ((t) * (t) * 0.3333333333333333))) >= 0 ? 1e-4 : -1e-4) : ((u - ((t) * (t) * 0.3333333333333333)))))))))))))))))))))) * 0.3333333333333333)))))",
623
- eval: ((t, u, w) => ((t * 0.3333333333333333) + ((2 * Math.sqrt(Math.abs(((-(u - ((t) * (t) * 0.3333333333333333))) * 0.3333333333333333)))) * Math.cos(((1.5707963267948966 - Math.atan(Math.min(1e4, Math.max(-1e4, (Math.min(1, Math.max(-1, (Math.min(1e4, Math.max(-1e4, ((3 * (((t * u) * 0.3333333333333333) - (((t) * (t) * (t) * 0.07407407407407407) + w)))) / (((2 * (u - ((t) * (t) * 0.3333333333333333)))) < 1e-4 && ((2 * (u - ((t) * (t) * 0.3333333333333333)))) > -1e-4 ? (((2 * (u - ((t) * (t) * 0.3333333333333333)))) >= 0 ? 1e-4 : -1e-4) : ((2 * (u - ((t) * (t) * 0.3333333333333333))))))) * Math.sqrt(Math.abs(Math.min(1e4, Math.max(-1e4, (-3) / (((u - ((t) * (t) * 0.3333333333333333))) < 1e-4 && ((u - ((t) * (t) * 0.3333333333333333))) > -1e-4 ? (((u - ((t) * (t) * 0.3333333333333333))) >= 0 ? 1e-4 : -1e-4) : ((u - ((t) * (t) * 0.3333333333333333)))))))))))) / ((Math.sqrt(Math.abs(Math.abs((1 - (Math.min(1, Math.max(-1, (Math.min(1e4, Math.max(-1e4, ((3 * (((t * u) * 0.3333333333333333) - (((t) * (t) * (t) * 0.07407407407407407) + w)))) / (((2 * (u - ((t) * (t) * 0.3333333333333333)))) < 1e-4 && ((2 * (u - ((t) * (t) * 0.3333333333333333)))) > -1e-4 ? (((2 * (u - ((t) * (t) * 0.3333333333333333)))) >= 0 ? 1e-4 : -1e-4) : ((2 * (u - ((t) * (t) * 0.3333333333333333))))))) * Math.sqrt(Math.abs(Math.min(1e4, Math.max(-1e4, (-3) / (((u - ((t) * (t) * 0.3333333333333333))) < 1e-4 && ((u - ((t) * (t) * 0.3333333333333333))) > -1e-4 ? (((u - ((t) * (t) * 0.3333333333333333))) >= 0 ? 1e-4 : -1e-4) : ((u - ((t) * (t) * 0.3333333333333333)))))))))))) * (Math.min(1, Math.max(-1, (Math.min(1e4, Math.max(-1e4, ((3 * (((t * u) * 0.3333333333333333) - (((t) * (t) * (t) * 0.07407407407407407) + w)))) / (((2 * (u - ((t) * (t) * 0.3333333333333333)))) < 1e-4 && ((2 * (u - ((t) * (t) * 0.3333333333333333)))) > -1e-4 ? (((2 * (u - ((t) * (t) * 0.3333333333333333)))) >= 0 ? 1e-4 : -1e-4) : ((2 * (u - ((t) * (t) * 0.3333333333333333))))))) * Math.sqrt(Math.abs(Math.min(1e4, Math.max(-1e4, (-3) / (((u - ((t) * (t) * 0.3333333333333333))) < 1e-4 && ((u - ((t) * (t) * 0.3333333333333333))) > -1e-4 ? (((u - ((t) * (t) * 0.3333333333333333))) >= 0 ? 1e-4 : -1e-4) : ((u - ((t) * (t) * 0.3333333333333333))))))))))))))))) < 1e-4 && (Math.sqrt(Math.abs(Math.abs((1 - (Math.min(1, Math.max(-1, (Math.min(1e4, Math.max(-1e4, ((3 * (((t * u) * 0.3333333333333333) - (((t) * (t) * (t) * 0.07407407407407407) + w)))) / (((2 * (u - ((t) * (t) * 0.3333333333333333)))) < 1e-4 && ((2 * (u - ((t) * (t) * 0.3333333333333333)))) > -1e-4 ? (((2 * (u - ((t) * (t) * 0.3333333333333333)))) >= 0 ? 1e-4 : -1e-4) : ((2 * (u - ((t) * (t) * 0.3333333333333333))))))) * Math.sqrt(Math.abs(Math.min(1e4, Math.max(-1e4, (-3) / (((u - ((t) * (t) * 0.3333333333333333))) < 1e-4 && ((u - ((t) * (t) * 0.3333333333333333))) > -1e-4 ? (((u - ((t) * (t) * 0.3333333333333333))) >= 0 ? 1e-4 : -1e-4) : ((u - ((t) * (t) * 0.3333333333333333)))))))))))) * (Math.min(1, Math.max(-1, (Math.min(1e4, Math.max(-1e4, ((3 * (((t * u) * 0.3333333333333333) - (((t) * (t) * (t) * 0.07407407407407407) + w)))) / (((2 * (u - ((t) * (t) * 0.3333333333333333)))) < 1e-4 && ((2 * (u - ((t) * (t) * 0.3333333333333333)))) > -1e-4 ? (((2 * (u - ((t) * (t) * 0.3333333333333333)))) >= 0 ? 1e-4 : -1e-4) : ((2 * (u - ((t) * (t) * 0.3333333333333333))))))) * Math.sqrt(Math.abs(Math.min(1e4, Math.max(-1e4, (-3) / (((u - ((t) * (t) * 0.3333333333333333))) < 1e-4 && ((u - ((t) * (t) * 0.3333333333333333))) > -1e-4 ? (((u - ((t) * (t) * 0.3333333333333333))) >= 0 ? 1e-4 : -1e-4) : ((u - ((t) * (t) * 0.3333333333333333))))))))))))))))) > -1e-4 ? ((Math.sqrt(Math.abs(Math.abs((1 - (Math.min(1, Math.max(-1, (Math.min(1e4, Math.max(-1e4, ((3 * (((t * u) * 0.3333333333333333) - (((t) * (t) * (t) * 0.07407407407407407) + w)))) / (((2 * (u - ((t) * (t) * 0.3333333333333333)))) < 1e-4 && ((2 * (u - ((t) * (t) * 0.3333333333333333)))) > -1e-4 ? (((2 * (u - ((t) * (t) * 0.3333333333333333)))) >= 0 ? 1e-4 : -1e-4) : ((2 * (u - ((t) * (t) * 0.3333333333333333))))))) * Math.sqrt(Math.abs(Math.min(1e4, Math.max(-1e4, (-3) / (((u - ((t) * (t) * 0.3333333333333333))) < 1e-4 && ((u - ((t) * (t) * 0.3333333333333333))) > -1e-4 ? (((u - ((t) * (t) * 0.3333333333333333))) >= 0 ? 1e-4 : -1e-4) : ((u - ((t) * (t) * 0.3333333333333333)))))))))))) * (Math.min(1, Math.max(-1, (Math.min(1e4, Math.max(-1e4, ((3 * (((t * u) * 0.3333333333333333) - (((t) * (t) * (t) * 0.07407407407407407) + w)))) / (((2 * (u - ((t) * (t) * 0.3333333333333333)))) < 1e-4 && ((2 * (u - ((t) * (t) * 0.3333333333333333)))) > -1e-4 ? (((2 * (u - ((t) * (t) * 0.3333333333333333)))) >= 0 ? 1e-4 : -1e-4) : ((2 * (u - ((t) * (t) * 0.3333333333333333))))))) * Math.sqrt(Math.abs(Math.min(1e4, Math.max(-1e4, (-3) / (((u - ((t) * (t) * 0.3333333333333333))) < 1e-4 && ((u - ((t) * (t) * 0.3333333333333333))) > -1e-4 ? (((u - ((t) * (t) * 0.3333333333333333))) >= 0 ? 1e-4 : -1e-4) : ((u - ((t) * (t) * 0.3333333333333333))))))))))))))))) >= 0 ? 1e-4 : -1e-4) : (Math.sqrt(Math.abs(Math.abs((1 - (Math.min(1, Math.max(-1, (Math.min(1e4, Math.max(-1e4, ((3 * (((t * u) * 0.3333333333333333) - (((t) * (t) * (t) * 0.07407407407407407) + w)))) / (((2 * (u - ((t) * (t) * 0.3333333333333333)))) < 1e-4 && ((2 * (u - ((t) * (t) * 0.3333333333333333)))) > -1e-4 ? (((2 * (u - ((t) * (t) * 0.3333333333333333)))) >= 0 ? 1e-4 : -1e-4) : ((2 * (u - ((t) * (t) * 0.3333333333333333))))))) * Math.sqrt(Math.abs(Math.min(1e4, Math.max(-1e4, (-3) / (((u - ((t) * (t) * 0.3333333333333333))) < 1e-4 && ((u - ((t) * (t) * 0.3333333333333333))) > -1e-4 ? (((u - ((t) * (t) * 0.3333333333333333))) >= 0 ? 1e-4 : -1e-4) : ((u - ((t) * (t) * 0.3333333333333333)))))))))))) * (Math.min(1, Math.max(-1, (Math.min(1e4, Math.max(-1e4, ((3 * (((t * u) * 0.3333333333333333) - (((t) * (t) * (t) * 0.07407407407407407) + w)))) / (((2 * (u - ((t) * (t) * 0.3333333333333333)))) < 1e-4 && ((2 * (u - ((t) * (t) * 0.3333333333333333)))) > -1e-4 ? (((2 * (u - ((t) * (t) * 0.3333333333333333)))) >= 0 ? 1e-4 : -1e-4) : ((2 * (u - ((t) * (t) * 0.3333333333333333))))))) * Math.sqrt(Math.abs(Math.min(1e4, Math.max(-1e4, (-3) / (((u - ((t) * (t) * 0.3333333333333333))) < 1e-4 && ((u - ((t) * (t) * 0.3333333333333333))) > -1e-4 ? (((u - ((t) * (t) * 0.3333333333333333))) >= 0 ? 1e-4 : -1e-4) : ((u - ((t) * (t) * 0.3333333333333333)))))))))))))))))))))) * 0.3333333333333333))))),
624
- c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return ((t * 0.333333f) + ((2f * sqrtf(fabsf(((-(u - (powf(t, 2.0f) * 0.333333f))) * 0.333333f)))) * cosf(((1.570796f - atanf(fminf(fmaxf((fminf(1f, fmaxf(-1f, (fminf(fmaxf(((3f * (((t * u) * 0.333333f) - ((powf(t, 3.0f) * 0.074074f) + w))) / copysignf(fmaxf(fabsf((2f * (u - (powf(t, 2.0f) * 0.333333f)))), 1.0e-4f), (2f * (u - (powf(t, 2.0f) * 0.333333f))))), -1.0e4f), 1.0e4f) * sqrtf(fabsf(fminf(fmaxf((-3f / copysignf(fmaxf(fabsf((u - (powf(t, 2.0f) * 0.333333f))), 1.0e-4f), (u - (powf(t, 2.0f) * 0.333333f)))), -1.0e4f), 1.0e4f)))))) / copysignf(fmaxf(fabsf(sqrtf(fabsf(fabsf((1f - powf(fminf(1f, fmaxf(-1f, (fminf(fmaxf(((3f * (((t * u) * 0.333333f) - ((powf(t, 3.0f) * 0.074074f) + w))) / copysignf(fmaxf(fabsf((2f * (u - (powf(t, 2.0f) * 0.333333f)))), 1.0e-4f), (2f * (u - (powf(t, 2.0f) * 0.333333f))))), -1.0e4f), 1.0e4f) * sqrtf(fabsf(fminf(fmaxf((-3f / copysignf(fmaxf(fabsf((u - (powf(t, 2.0f) * 0.333333f))), 1.0e-4f), (u - (powf(t, 2.0f) * 0.333333f)))), -1.0e4f), 1.0e4f)))))), 2.0f)))))), 1.0e-4f), sqrtf(fabsf(fabsf((1f - powf(fminf(1f, fmaxf(-1f, (fminf(fmaxf(((3f * (((t * u) * 0.333333f) - ((powf(t, 3.0f) * 0.074074f) + w))) / copysignf(fmaxf(fabsf((2f * (u - (powf(t, 2.0f) * 0.333333f)))), 1.0e-4f), (2f * (u - (powf(t, 2.0f) * 0.333333f))))), -1.0e4f), 1.0e4f) * sqrtf(fabsf(fminf(fmaxf((-3f / copysignf(fmaxf(fabsf((u - (powf(t, 2.0f) * 0.333333f))), 1.0e-4f), (u - (powf(t, 2.0f) * 0.333333f)))), -1.0e4f), 1.0e4f)))))), 2.0f))))))), -1.0e4f), 1.0e4f))) * 0.333333f))));\n}",
625
- py: "import torch\n\ndef spear_fn(t, u, w):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((t * 0.333333) + ((2 * torch.sqrt(torch.abs(((-(u - ((t * t) * 0.333333))) * 0.333333)))) * torch.cos(((1.570796 - torch.atan((torch.minimum(1, torch.maximum(-1, (((3 * (((t * u) * 0.333333) - (((t ** 3) * 0.074074) + w))) / (abs((2 * (u - ((t * t) * 0.333333)))) < 1e-4 ? 1e-4 : (2 * (u - ((t * t) * 0.333333))))) * torch.sqrt(torch.abs((-3 / (abs((u - ((t * t) * 0.333333))) < 1e-4 ? 1e-4 : (u - ((t * t) * 0.333333))))))))) / (abs(torch.sqrt(torch.abs(torch.abs((1 - (torch.minimum(1, torch.maximum(-1, (((3 * (((t * u) * 0.333333) - (((t ** 3) * 0.074074) + w))) / (abs((2 * (u - ((t * t) * 0.333333)))) < 1e-4 ? 1e-4 : (2 * (u - ((t * t) * 0.333333))))) * torch.sqrt(torch.abs((-3 / (abs((u - ((t * t) * 0.333333))) < 1e-4 ? 1e-4 : (u - ((t * t) * 0.333333))))))))) * torch.minimum(1, torch.maximum(-1, (((3 * (((t * u) * 0.333333) - (((t ** 3) * 0.074074) + w))) / (abs((2 * (u - ((t * t) * 0.333333)))) < 1e-4 ? 1e-4 : (2 * (u - ((t * t) * 0.333333))))) * torch.sqrt(torch.abs((-3 / (abs((u - ((t * t) * 0.333333))) < 1e-4 ? 1e-4 : (u - ((t * t) * 0.333333))))))))))))))) < 1e-4 ? 1e-4 : torch.sqrt(torch.abs(torch.abs((1 - (torch.minimum(1, torch.maximum(-1, (((3 * (((t * u) * 0.333333) - (((t ** 3) * 0.074074) + w))) / (abs((2 * (u - ((t * t) * 0.333333)))) < 1e-4 ? 1e-4 : (2 * (u - ((t * t) * 0.333333))))) * torch.sqrt(torch.abs((-3 / (abs((u - ((t * t) * 0.333333))) < 1e-4 ? 1e-4 : (u - ((t * t) * 0.333333))))))))) * torch.minimum(1, torch.maximum(-1, (((3 * (((t * u) * 0.333333) - (((t ** 3) * 0.074074) + w))) / (abs((2 * (u - ((t * t) * 0.333333)))) < 1e-4 ? 1e-4 : (2 * (u - ((t * t) * 0.333333))))) * torch.sqrt(torch.abs((-3 / (abs((u - ((t * t) * 0.333333))) < 1e-4 ? 1e-4 : (u - ((t * t) * 0.333333)))))))))))))))))) * 0.333333))))",
626
- wasmBase64: "AGFzbQEAAAABDQJgA3x8fAF8YAF8AXwCFgIDZW52A2NvcwABA2VudgRhdGFuAAEDAgEABwkBBXNwZWFyAAIKsgoBrwoAIABEVVVVVVVV1T+iRAAAAAAAAABAIAEgACAAokRVVVVVVVXVP6KhmkRVVVVVVVXVP6KZn6JEGC1EVPsh+T9EAAAAAAAA8D9EAAAAAAAA8L9EAAAAAAAACEAgACABokRVVVVVVVXVP6IgACAAIACiokRoL6G9hPayP6IgAqChokQAAAAAAAAAQCABIAAgAKJEVVVVVVVV1T+ioaKZRC1DHOviNho/pUQAAAAAAAAAQCABIAAgAKJEVVVVVVVV1T+ioaKmo0QAAAAAAIjDwKVEAAAAAACIw0CkRAAAAAAAAAjAIAEgACAAokRVVVVVVVXVP6KhmUQtQxzr4jYaP6UgASAAIACiRFVVVVVVVdU/oqGmo0QAAAAAAIjDwKVEAAAAAACIw0CkmZ+ipaREAAAAAAAA8D9EAAAAAAAA8D9EAAAAAAAA8L9EAAAAAAAACEAgACABokRVVVVVVVXVP6IgACAAIACiokRoL6G9hPayP6IgAqChokQAAAAAAAAAQCABIAAgAKJEVVVVVVVV1T+ioaKZRC1DHOviNho/pUQAAAAAAAAAQCABIAAgAKJEVVVVVVVV1T+ioaKmo0QAAAAAAIjDwKVEAAAAAACIw0CkRAAAAAAAAAjAIAEgACAAokRVVVVVVVXVP6KhmUQtQxzr4jYaP6UgASAAIACiRFVVVVVVVdU/oqGmo0QAAAAAAIjDwKVEAAAAAACIw0CkmZ+ipaREAAAAAAAA8D9EAAAAAAAA8L9EAAAAAAAACEAgACABokRVVVVVVVXVP6IgACAAIACiokRoL6G9hPayP6IgAqChokQAAAAAAAAAQCABIAAgAKJEVVVVVVVV1T+ioaKZRC1DHOviNho/pUQAAAAAAAAAQCABIAAgAKJEVVVVVVVV1T+ioaKmo0QAAAAAAIjDwKVEAAAAAACIw0CkRAAAAAAAAAjAIAEgACAAokRVVVVVVVXVP6KhmUQtQxzr4jYaP6UgASAAIACiRFVVVVVVVdU/oqGmo0QAAAAAAIjDwKVEAAAAAACIw0CkmZ+ipaSioZmZn5lELUMc6+I2Gj+lRAAAAAAAAPA/RAAAAAAAAPA/RAAAAAAAAPC/RAAAAAAAAAhAIAAgAaJEVVVVVVVV1T+iIAAgACAAoqJEaC+hvYT2sj+iIAKgoaJEAAAAAAAAAEAgASAAIACiRFVVVVVVVdU/oqGimUQtQxzr4jYaP6VEAAAAAAAAAEAgASAAIACiRFVVVVVVVdU/oqGipqNEAAAAAACIw8ClRAAAAAAAiMNApEQAAAAAAAAIwCABIAAgAKJEVVVVVVVV1T+ioZlELUMc6+I2Gj+lIAEgACAAokRVVVVVVVXVP6KhpqNEAAAAAACIw8ClRAAAAAAAiMNApJmfoqWkRAAAAAAAAPA/RAAAAAAAAPC/RAAAAAAAAAhAIAAgAaJEVVVVVVVV1T+iIAAgACAAoqJEaC+hvYT2sj+iIAKgoaJEAAAAAAAAAEAgASAAIACiRFVVVVVVVdU/oqGimUQtQxzr4jYaP6VEAAAAAAAAAEAgASAAIACiRFVVVVVVVdU/oqGipqNEAAAAAACIw8ClRAAAAAAAiMNApEQAAAAAAAAIwCABIAAgAKJEVVVVVVVV1T+ioZlELUMc6+I2Gj+lIAEgACAAokRVVVVVVVXVP6KhpqNEAAAAAACIw8ClRAAAAAAAiMNApJmfoqWkoqGZmZ+mo0QAAAAAAIjDwKVEAAAAAACIw0CkEAGhRFVVVVVVVdU/ohAAoqAL",
615
+ js: "((t, u, w) => ((-0.07380655703135926 * (Math.min(((-7.599615 * t) - (-u)), Math.abs(t)) - (t + (w - (2.202856 * u))))) + 0.9412449424916474))",
616
+ eval: ((t, u, w) => ((-0.07380655703135926 * (Math.min(((-7.599615 * t) - (-u)), Math.abs(t)) - (t + (w - (2.202856 * u))))) + 0.9412449424916474)),
617
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return ((-0.073807f * (fminf(((-7.599615f * t) - (-u)), fabsf(t)) - (t + (w - (2.202856f * u))))) + 0.941245f);\n}",
618
+ py: "import torch\n\ndef spear_fn(t, u, w):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((-0.073807 * (torch.minimum(((-7.599615 * t) - (-u)), torch.abs(t)) - (t + (w - (2.202856 * u))))) + 0.941245)",
619
+ wasmBase64: "AGFzbQEAAAABDQJgA3x8fAF8YAF8AXwDAgEABwkBBXNwZWFyAAAKPwE9AESNF66M/OSyv0Sgw3x5AWYewCAAoiABmqEgAJmkIAAgAkQHYW73cp8BQCABoqGgoaJEZt2wtq0e7j+gCw==",
627
620
  },
628
621
  meta: {
629
622
  metric: 3.325277645075658e-11,
@@ -631,7 +624,7 @@ const kernels = {
631
624
  formulaCost: 120,
632
625
  exactCost: null,
633
626
  speedupVsExact: null,
634
- vsIterative: {"label":"Jacobi · 4 balayages","speedup":1.6666666666666667},
627
+ vsIterative: {"label":"Jacobi · 4 balayages","speedup":1.6666666666666667},
635
628
  },
636
629
  },
637
630
  "ik_reach": {
@@ -643,13 +636,20 @@ const kernels = {
643
636
  py: "import torch\n\ndef spear_fn(d, l2, l3):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return (1.570796 - torch.atan(((((d * d) - ((l2 * l2) + (l3 * l3))) / (abs((2 * (l2 * l3))) < 1e-4 ? 1e-4 : (2 * (l2 * l3)))) / (abs(torch.sqrt(torch.abs(torch.abs((1 - ((((d * d) - ((l2 * l2) + (l3 * l3))) / (abs((2 * (l2 * l3))) < 1e-4 ? 1e-4 : (2 * (l2 * l3)))) * (((d * d) - ((l2 * l2) + (l3 * l3))) / (abs((2 * (l2 * l3))) < 1e-4 ? 1e-4 : (2 * (l2 * l3)))))))))) < 1e-4 ? 1e-4 : torch.sqrt(torch.abs(torch.abs((1 - ((((d * d) - ((l2 * l2) + (l3 * l3))) / (abs((2 * (l2 * l3))) < 1e-4 ? 1e-4 : (2 * (l2 * l3)))) * (((d * d) - ((l2 * l2) + (l3 * l3))) / (abs((2 * (l2 * l3))) < 1e-4 ? 1e-4 : (2 * (l2 * l3)))))))))))))",
644
637
  wasmBase64: "AGFzbQEAAAABDQJgA3x8fAF8YAF8AXwCDAEDZW52BGF0YW4AAQMCAQAHCQEFc3BlYXIAAQreAwHbAwBEGC1EVPsh+T8gACAAoiABIAGiIAIgAqKgoUQAAAAAAAAAQCABIAKioplELUMc6+I2Gj+lRAAAAAAAAABAIAEgAqKipqNEAAAAAACIw8ClRAAAAAAAiMNApEQAAAAAAADwPyAAIACiIAEgAaIgAiACoqChRAAAAAAAAABAIAEgAqKimUQtQxzr4jYaP6VEAAAAAAAAAEAgASACoqKmo0QAAAAAAIjDwKVEAAAAAACIw0CkIAAgAKIgASABoiACIAKioKFEAAAAAAAAAEAgASACoqKZRC1DHOviNho/pUQAAAAAAAAAQCABIAKioqajRAAAAAAAiMPApUQAAAAAAIjDQKSioZmZn5lELUMc6+I2Gj+lRAAAAAAAAPA/IAAgAKIgASABoiACIAKioKFEAAAAAAAAAEAgASACoqKZRC1DHOviNho/pUQAAAAAAAAAQCABIAKioqajRAAAAAAAiMPApUQAAAAAAIjDQKQgACAAoiABIAGiIAIgAqKgoUQAAAAAAAAAQCABIAKioplELUMc6+I2Gj+lRAAAAAAAAABAIAEgAqKipqNEAAAAAACIw8ClRAAAAAAAiMNApKKhmZmfpqNEAAAAAACIw8ClRAAAAAAAiMNApBAAoQs=",
645
638
  },
639
+ fast: {
640
+ js: "((l3, d, l2) => ((-0.1606079676705464 * ((Math.min(1e4, Math.max(-1e4, (4.080818) / ((l3) < 1e-4 && (l3) > -1e-4 ? ((l3) >= 0 ? 1e-4 : -1e-4) : (l3)))) * (Math.max(d, l3) - l2)) - (Math.min(1e4, Math.max(-1e4, (5.542562) / ((l2) < 1e-4 && (l2) > -1e-4 ? ((l2) >= 0 ? 1e-4 : -1e-4) : (l2)))) * (l3 - d)))) + 2.18792552115997))",
641
+ eval: ((l3, d, l2) => ((-0.1606079676705464 * ((Math.min(1e4, Math.max(-1e4, (4.080818) / ((l3) < 1e-4 && (l3) > -1e-4 ? ((l3) >= 0 ? 1e-4 : -1e-4) : (l3)))) * (Math.max(d, l3) - l2)) - (Math.min(1e4, Math.max(-1e4, (5.542562) / ((l2) < 1e-4 && (l2) > -1e-4 ? ((l2) >= 0 ? 1e-4 : -1e-4) : (l2)))) * (l3 - d)))) + 2.18792552115997)),
642
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return ((-0.160608f * ((fminf(fmaxf((4.080818f / copysignf(fmaxf(fabsf(l3), 1.0e-4f), l3)), -1.0e4f), 1.0e4f) * (fmaxf(d, l3) - l2)) - (fminf(fmaxf((5.542562f / copysignf(fmaxf(fabsf(l2), 1.0e-4f), l2)), -1.0e4f), 1.0e4f) * (l3 - d)))) + 2.187926f);\n}",
643
+ py: "import torch\n\ndef spear_fn(l3, d, l2):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((-0.160608 * (((4.080818 / (abs(l3) < 1e-4 ? 1e-4 : l3)) * (torch.maximum(d, l3) - l2)) - ((5.542562 / (abs(l2) < 1e-4 ? 1e-4 : l2)) * (l3 - d)))) + 2.187926)",
644
+ wasmBase64: "AGFzbQEAAAABDQJgA3x8fAF8YAF8AXwDAgEABwkBBXNwZWFyAAAKhQEBggEARGueT0jNjsS/RGe2K/TBUhBAIACZRC1DHOviNho/pSAApqNEAAAAAACIw8ClRAAAAAAAiMNApCABIAClIAKhokScNXhflSsWQCACmUQtQxzr4jYaP6UgAqajRAAAAAAAiMPApUQAAAAAAIjDQKQgACABoaKhokQEunsY34ABQKAL",
645
+ },
646
646
  meta: {
647
647
  metric: 4.0626336618882106e-32,
648
648
  level: 2,
649
649
  formulaCost: 52,
650
650
  exactCost: null,
651
651
  speedupVsExact: null,
652
- vsIterative: {"label":"Newton-DLS · 8 itérations","speedup":6.153846153846154},
652
+ vsIterative: {"label":"Newton-DLS · 8 itérations","speedup":6.153846153846154},
653
653
  },
654
654
  },
655
655
  "idm_following": {
@@ -680,11 +680,11 @@ const kernels = {
680
680
  wasmBase64: "AGFzbQEAAAABDgJgBHx8fHwBfGABfAF8AwIBAAcJAQVzcGVhcgAACn8BfQBEP5EnSddM4D8gAES8dJMYBFbqP6IgAUQQWDm0yHbeP6KhIAJEmpmZmZmZ8T+iIANEzosTX+0o07+ioKAgAEQ9CtejcD3qP6IgAUQUrkfhehTeP6KhIAJEoYDtYMR+8T+iIANE3BFOC1700b+ioKCgokQAgG/7jCPVPqAL",
681
681
  },
682
682
  fast: {
683
- js: "((x0, x1, x2, x3) => ((((x0 * 0.82) - (x1 * 0.47)) + ((x2 * 1.1) + (x3 * -0.299373))) + -0.000029))",
684
- eval: ((x0, x1, x2, x3) => ((((x0 * 0.82) - (x1 * 0.47)) + ((x2 * 1.1) + (x3 * -0.299373))) + -0.000029)),
685
- c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return ((((x0 * 0.82f) - (x1 * 0.47f)) + ((x2 * 1.1f) + (x3 * -0.299373f))) + -0.000029f);\n}",
686
- py: "import torch\n\ndef spear_fn(x0, x1, x2, x3):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((((x0 * 0.82) - (x1 * 0.47)) + ((x2 * 1.1) + (x3 * -0.299373))) + -0.000029)",
687
- wasmBase64: "AGFzbQEAAAABDgJgBHx8fHwBfGABfAF8AwIBAAcJAQVzcGVhcgAACkEBPwAgAEQ9CtejcD3qP6IgAUQUrkfhehTeP6KhIAJEmpmZmZmZ8T+iIANEzosTX+0o07+ioKBEkL5J06Bo/r6gCw==",
683
+ js: "((x0, x1, x2, x3) => (((x0 * 0.82) - (x1 * 0.470006)) + ((x2 * 1.1) + (x3 * -0.290238))))",
684
+ eval: ((x0, x1, x2, x3) => (((x0 * 0.82) - (x1 * 0.470006)) + ((x2 * 1.1) + (x3 * -0.290238)))),
685
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return (((x0 * 0.82f) - (x1 * 0.470006f)) + ((x2 * 1.1f) + (x3 * -0.290238f)));\n}",
686
+ py: "import torch\n\ndef spear_fn(x0, x1, x2, x3):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return (((x0 * 0.82) - (x1 * 0.470006)) + ((x2 * 1.1) + (x3 * -0.290238)))",
687
+ wasmBase64: "AGFzbQEAAAABDgJgBHx8fHwBfGABfAF8AwIBAAcJAQVzcGVhcgAACjcBNQAgAEQ9CtejcD3qP6IgAUQlH7sLlBTeP6KhIAJEmpmZmZmZ8T+iIANE2JyDZ0KT0r+ioKAL",
688
688
  },
689
689
  meta: {
690
690
  metric: 1.6074532951505583e-7,
@@ -710,7 +710,7 @@ const kernels = {
710
710
  formulaCost: 44,
711
711
  exactCost: 43,
712
712
  speedupVsExact: 0.9772727272727273,
713
- vsIterative: {"label":"CORDIC · 16 micro-rotations","speedup":1.4545454545454546},
713
+ vsIterative: {"label":"CORDIC · 16 micro-rotations","speedup":1.4545454545454546},
714
714
  },
715
715
  },
716
716
  "gauss_shader": {
@@ -884,25 +884,18 @@ const kernels = {
884
884
  "erf_prob": {
885
885
  id: "erf_prob",
886
886
  precise: {
887
- js: "((x) => (0.0000615491375380159 * ((0.826194 * (Math.min(1e4, Math.max(-1e4, (x) / ((0) < 1e-4 && (0) > -1e-4 ? ((0) >= 0 ? 1e-4 : -1e-4) : (0)))) * 0.926259)) + Math.min(1e4, Math.max(-1e4, (Math.atan(Math.atan(x))) / ((Math.sqrt(Math.abs((x - x)))) < 1e-4 && (Math.sqrt(Math.abs((x - x)))) > -1e-4 ? ((Math.sqrt(Math.abs((x - x)))) >= 0 ? 1e-4 : -1e-4) : (Math.sqrt(Math.abs((x - x))))))))))",
888
- eval: ((x) => (0.0000615491375380159 * ((0.826194 * (Math.min(1e4, Math.max(-1e4, (x) / ((0) < 1e-4 && (0) > -1e-4 ? ((0) >= 0 ? 1e-4 : -1e-4) : (0)))) * 0.926259)) + Math.min(1e4, Math.max(-1e4, (Math.atan(Math.atan(x))) / ((Math.sqrt(Math.abs((x - x)))) < 1e-4 && (Math.sqrt(Math.abs((x - x)))) > -1e-4 ? ((Math.sqrt(Math.abs((x - x)))) >= 0 ? 1e-4 : -1e-4) : (Math.sqrt(Math.abs((x - x)))))))))),
889
- c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return (0.000062f * ((0.826194f * (fminf(fmaxf((x / copysignf(fmaxf(fabsf(0f), 1.0e-4f), 0f)), -1.0e4f), 1.0e4f) * 0.926259f)) + fminf(fmaxf((atanf(atanf(x)) / copysignf(fmaxf(fabsf(sqrtf(fabsf((x - x)))), 1.0e-4f), sqrtf(fabsf((x - x))))), -1.0e4f), 1.0e4f)));\n}",
890
- py: "import torch\n\ndef spear_fn(x):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return (0.000062 * ((0.826194 * ((x / (abs(0) < 1e-4 ? 1e-4 : 0)) * 0.926259)) + (torch.atan(torch.atan(x)) / (abs(torch.sqrt(torch.abs((x - x)))) < 1e-4 ? 1e-4 : torch.sqrt(torch.abs((x - x)))))))",
891
- wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AgwBA2VudgRhdGFuAAEDAgEABwkBBXNwZWFyAAEKjgEBiwEARMRLnCF+IhA/RHfYRGYucOo/IABEAAAAAAAAAACZRC1DHOviNho/pUQAAAAAAAAAAKajRAAAAAAAiMPApUQAAAAAAIjDQKREcQUU6umj7T+ioiAAEAAQACAAIAChmZ+ZRC1DHOviNho/pSAAIAChmZ+mo0QAAAAAAIjDwKVEAAAAAACIw0CkoKIL",
892
- },
893
- fast: {
894
- js: "((x) => (x + Math.min(1e4, Math.max(-1e4, (Math.atan(x)) / ((0) < 1e-4 && (0) > -1e-4 ? ((0) >= 0 ? 1e-4 : -1e-4) : (0))))))",
895
- eval: ((x) => (x + Math.min(1e4, Math.max(-1e4, (Math.atan(x)) / ((0) < 1e-4 && (0) > -1e-4 ? ((0) >= 0 ? 1e-4 : -1e-4) : (0)))))),
896
- c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return (x + fminf(fmaxf((atanf(x) / copysignf(fmaxf(fabsf(0f), 1.0e-4f), 0f)), -1.0e4f), 1.0e4f));\n}",
897
- py: "import torch\n\ndef spear_fn(x):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return (x + (torch.atan(x) / (abs(0) < 1e-4 ? 1e-4 : 0)))",
898
- wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AgwBA2VudgRhdGFuAAEDAgEABwkBBXNwZWFyAAEKPgE8ACAAIAAQAEQAAAAAAAAAAJlELUMc6+I2Gj+lRAAAAAAAAAAApqNEAAAAAACIw8ClRAAAAAAAiMNApKAL",
887
+ js: "((x) => (1.106774 * Math.min(1e4, Math.max(-1e4, ((x + (0.034298 * (x) * (x) * (x)))) / (((0.995 + (0.378089 * (x) * (x)))) < 1e-4 && ((0.995 + (0.378089 * (x) * (x)))) > -1e-4 ? (((0.995 + (0.378089 * (x) * (x)))) >= 0 ? 1e-4 : -1e-4) : ((0.995 + (0.378089 * (x) * (x)))))))))",
888
+ eval: ((x) => (1.106774 * Math.min(1e4, Math.max(-1e4, ((x + (0.034298 * (x) * (x) * (x)))) / (((0.995 + (0.378089 * (x) * (x)))) < 1e-4 && ((0.995 + (0.378089 * (x) * (x)))) > -1e-4 ? (((0.995 + (0.378089 * (x) * (x)))) >= 0 ? 1e-4 : -1e-4) : ((0.995 + (0.378089 * (x) * (x))))))))),
889
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return (1.106774f * fminf(fmaxf(((x + (0.034298f * powf(x, 3.0f))) / copysignf(fmaxf(fabsf((0.995f + (0.378089f * powf(x, 2.0f)))), 1.0e-4f), (0.995f + (0.378089f * powf(x, 2.0f))))), -1.0e4f), 1.0e4f));\n}",
890
+ py: "import torch\n\ndef spear_fn(x):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return (1.106774 * ((x + (0.034298 * (x ** 3))) / (abs((0.995 + (0.378089 * (x * x)))) < 1e-4 ? 1e-4 : (0.995 + (0.378089 * (x * x))))))",
891
+ wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AwIBAAcJAQVzcGVhcgAACnYBdABEeQJhp1i18T8gAEQp7KLogY+hPyAAIAAgAKKioqBE16NwPQrX7z9Ezox+NJwy2D8gACAAoqKgmUQtQxzr4jYaP6VE16NwPQrX7z9Ezox+NJwy2D8gACAAoqKgpqNEAAAAAACIw8ClRAAAAAAAiMNApKIL",
899
892
  },
900
893
  meta: {
901
- metric: 0.0002023037156607867,
902
- level: 2,
903
- formulaCost: 55,
894
+ metric: 0.00004650870031371604,
895
+ level: 3,
896
+ formulaCost: 12,
904
897
  exactCost: 26,
905
- speedupVsExact: 0.4727272727272727,
898
+ speedupVsExact: 2.1666666666666665,
906
899
  vsIterative: null,
907
900
  },
908
901
  },
@@ -1215,6 +1208,13 @@ const kernels = {
1215
1208
  py: "import torch\n\ndef spear_fn(x):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((-2.920975 * torch.sqrt(torch.abs((torch.exp(torch.clamp(torch.exp(torch.clamp(x, -50.0, 50.0)), -50.0, 50.0)) * torch.log(torch.clamp(x, min=1e-30)))))) + 5.533519)",
1216
1209
  wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AhUCA2VudgNleHAAAQNlbnYDbG9nAAEDAgEABwkBBXNwZWFyAAIKVwFVAEQbDztSKF4HwCAARAAAAAAAAEnApUQAAAAAAABJQKQQAEQAAAAAAABJwKVEAAAAAAAASUCkEAAgAESgwuv+S0i0OaUQAaKZn6JE4c+x6lIiFkCgCw==",
1217
1210
  },
1211
+ fast: {
1212
+ js: "((x) => ((2.1266220342385473 * (((x) * (x) + Math.log(Math.max(1e-30, Math.sqrt(Math.abs(x))))) + (((x) * (x) * (x)) * ((x) * (x) * (x))) * (((x) * (x) * (x)) * ((x) * (x) * (x))) * (((x) * (x) * (x)) * ((x) * (x) * (x))))) + 0.2244487406420216))",
1213
+ eval: ((x) => ((2.1266220342385473 * (((x) * (x) + Math.log(Math.max(1e-30, Math.sqrt(Math.abs(x))))) + (((x) * (x) * (x)) * ((x) * (x) * (x))) * (((x) * (x) * (x)) * ((x) * (x) * (x))) * (((x) * (x) * (x)) * ((x) * (x) * (x))))) + 0.2244487406420216)),
1214
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return ((2.126622f * ((powf(x, 2.0f) + logf(fmaxf(1.0e-30f, sqrtf(fabsf(x))))) + powf(powf(powf(x, 3.0f), 2.0f), 3.0f))) + 0.224449f);\n}",
1215
+ py: "import torch\n\ndef spear_fn(x):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((2.126622 * (((x * x) + torch.log(torch.clamp(torch.sqrt(torch.abs(x)), min=1e-30))) + (((x ** 3) * (x ** 3)) ** 3))) + 0.224449)",
1216
+ wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AgsBA2VudgNsb2cAAQMCAQAHCQEFc3BlYXIAAQpkAWIARHgPwGlSAwFAIAAgAKIgAJmfRKDC6/5LSLQ5pRAAoCAAIAAgAKKiIAAgACAAoqKiIAAgACAAoqIgACAAIACioqIgACAAIACioiAAIAAgAKKioqKioKJEjcpXgLy6zD+gCw==",
1217
+ },
1218
1218
  meta: {
1219
1219
  metric: 0.016974946048628873,
1220
1220
  level: 0,
@@ -1285,8 +1285,388 @@ const kernels = {
1285
1285
  vsIterative: null,
1286
1286
  },
1287
1287
  },
1288
+ "michaelis_menten": {
1289
+ id: "michaelis_menten",
1290
+ precise: {
1291
+ js: "((s) => ((5.180819843767829 * (Math.min(1e4, Math.max(-1e4, ((s + -75.797025)) / (((s - -3.997718)) < 1e-4 && ((s - -3.997718)) > -1e-4 ? (((s - -3.997718)) >= 0 ? 1e-4 : -1e-4) : ((s - -3.997718))))) - Math.min(1e4, Math.max(-1e4, (-2.586911) / ((Math.max(s, (s - -3.930559))) < 1e-4 && (Math.max(s, (s - -3.930559))) > -1e-4 ? ((Math.max(s, (s - -3.930559))) >= 0 ? 1e-4 : -1e-4) : (Math.max(s, (s - -3.930559)))))))) + 94.81919572289306))",
1292
+ eval: ((s) => ((5.180819843767829 * (Math.min(1e4, Math.max(-1e4, ((s + -75.797025)) / (((s - -3.997718)) < 1e-4 && ((s - -3.997718)) > -1e-4 ? (((s - -3.997718)) >= 0 ? 1e-4 : -1e-4) : ((s - -3.997718))))) - Math.min(1e4, Math.max(-1e4, (-2.586911) / ((Math.max(s, (s - -3.930559))) < 1e-4 && (Math.max(s, (s - -3.930559))) > -1e-4 ? ((Math.max(s, (s - -3.930559))) >= 0 ? 1e-4 : -1e-4) : (Math.max(s, (s - -3.930559)))))))) + 94.81919572289306)),
1293
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return ((5.18082f * (fminf(fmaxf(((s + -75.797025f) / copysignf(fmaxf(fabsf((s - -3.997718f)), 1.0e-4f), (s - -3.997718f))), -1.0e4f), 1.0e4f) - fminf(fmaxf((-2.586911f / copysignf(fmaxf(fabsf(fmaxf(s, (s - -3.930559f))), 1.0e-4f), fmaxf(s, (s - -3.930559f)))), -1.0e4f), 1.0e4f))) + 94.819196f);\n}",
1294
+ py: "import torch\n\ndef spear_fn(s):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((5.18082 * (((s + -75.797025) / (abs((s - -3.997718)) < 1e-4 ? 1e-4 : (s - -3.997718))) - (-2.586911 / (abs(torch.maximum(s, (s - -3.930559))) < 1e-4 ? 1e-4 : torch.maximum(s, (s - -3.930559)))))) + 94.819196)",
1295
+ wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AwIBAAcJAQVzcGVhcgAACqcBAaQBAER4zU3WKLkUQCAARAtGJXUC81LAoCAARFILJZNT+w/AoZlELUMc6+I2Gj+lIABEUgslk1P7D8ChpqNEAAAAAACIw8ClRAAAAAAAiMNApEQfTfVk/rEEwCAAIABE2/y/6shxD8ChpZlELUMc6+I2Gj+lIAAgAETb/L/qyHEPwKGlpqNEAAAAAACIw8ClRAAAAAAAiMNApKGiRFK25bNttFdAoAs=",
1296
+ },
1297
+ fast: {
1298
+ js: "((s) => (Math.min(1e4, Math.max(-1e4, (-79.794743) / (((s - -3.997718)) < 1e-4 && ((s - -3.997718)) > -1e-4 ? (((s - -3.997718)) >= 0 ? 1e-4 : -1e-4) : ((s - -3.997718))))) - Math.min(1e4, Math.max(-1e4, (-2.586911) / ((Math.max(-79.794743, (s - -3.930559))) < 1e-4 && (Math.max(-79.794743, (s - -3.930559))) > -1e-4 ? ((Math.max(-79.794743, (s - -3.930559))) >= 0 ? 1e-4 : -1e-4) : (Math.max(-79.794743, (s - -3.930559))))))))",
1299
+ eval: ((s) => (Math.min(1e4, Math.max(-1e4, (-79.794743) / (((s - -3.997718)) < 1e-4 && ((s - -3.997718)) > -1e-4 ? (((s - -3.997718)) >= 0 ? 1e-4 : -1e-4) : ((s - -3.997718))))) - Math.min(1e4, Math.max(-1e4, (-2.586911) / ((Math.max(-79.794743, (s - -3.930559))) < 1e-4 && (Math.max(-79.794743, (s - -3.930559))) > -1e-4 ? ((Math.max(-79.794743, (s - -3.930559))) >= 0 ? 1e-4 : -1e-4) : (Math.max(-79.794743, (s - -3.930559)))))))),
1300
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return (fminf(fmaxf((-79.794743f / copysignf(fmaxf(fabsf((s - -3.997718f)), 1.0e-4f), (s - -3.997718f))), -1.0e4f), 1.0e4f) - fminf(fmaxf((-2.586911f / copysignf(fmaxf(fabsf(fmaxf(-79.794743f, (s - -3.930559f))), 1.0e-4f), fmaxf(-79.794743f, (s - -3.930559f)))), -1.0e4f), 1.0e4f));\n}",
1301
+ py: "import torch\n\ndef spear_fn(s):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((-79.794743 / (abs((s - -3.997718)) < 1e-4 ? 1e-4 : (s - -3.997718))) - (-2.586911 / (abs(torch.maximum(-79.794743, (s - -3.930559))) < 1e-4 ? 1e-4 : torch.maximum(-79.794743, (s - -3.930559)))))",
1302
+ wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AwIBAAcJAQVzcGVhcgAACp4BAZsBAERlbr4R3fJTwCAARFILJZNT+w/AoZlELUMc6+I2Gj+lIABEUgslk1P7D8ChpqNEAAAAAACIw8ClRAAAAAAAiMNApEQfTfVk/rEEwERlbr4R3fJTwCAARNv8v+rIcQ/AoaWZRC1DHOviNho/pURlbr4R3fJTwCAARNv8v+rIcQ/AoaWmo0QAAAAAAIjDwKVEAAAAAACIw0CkoQs=",
1303
+ },
1304
+ meta: {
1305
+ metric: 6.947760597116317e-10,
1306
+ level: 2,
1307
+ formulaCost: 15,
1308
+ exactCost: 7,
1309
+ speedupVsExact: 0.4666666666666667,
1310
+ vsIterative: null,
1311
+ },
1312
+ },
1313
+ "temperature_softmax": {
1314
+ id: "temperature_softmax",
1315
+ precise: {
1316
+ js: "((da, t) => Math.min(1e4, Math.max(-1e4, (1) / (((1 + Math.exp(Math.max(-50, Math.min(50, (-Math.min(1e4, Math.max(-1e4, (da) / ((t) < 1e-4 && (t) > -1e-4 ? ((t) >= 0 ? 1e-4 : -1e-4) : (t)))))))))) < 1e-4 && ((1 + Math.exp(Math.max(-50, Math.min(50, (-Math.min(1e4, Math.max(-1e4, (da) / ((t) < 1e-4 && (t) > -1e-4 ? ((t) >= 0 ? 1e-4 : -1e-4) : (t)))))))))) > -1e-4 ? (((1 + Math.exp(Math.max(-50, Math.min(50, (-Math.min(1e4, Math.max(-1e4, (da) / ((t) < 1e-4 && (t) > -1e-4 ? ((t) >= 0 ? 1e-4 : -1e-4) : (t)))))))))) >= 0 ? 1e-4 : -1e-4) : ((1 + Math.exp(Math.max(-50, Math.min(50, (-Math.min(1e4, Math.max(-1e4, (da) / ((t) < 1e-4 && (t) > -1e-4 ? ((t) >= 0 ? 1e-4 : -1e-4) : (t))))))))))))))",
1317
+ eval: ((da, t) => Math.min(1e4, Math.max(-1e4, (1) / (((1 + Math.exp(Math.max(-50, Math.min(50, (-Math.min(1e4, Math.max(-1e4, (da) / ((t) < 1e-4 && (t) > -1e-4 ? ((t) >= 0 ? 1e-4 : -1e-4) : (t)))))))))) < 1e-4 && ((1 + Math.exp(Math.max(-50, Math.min(50, (-Math.min(1e4, Math.max(-1e4, (da) / ((t) < 1e-4 && (t) > -1e-4 ? ((t) >= 0 ? 1e-4 : -1e-4) : (t)))))))))) > -1e-4 ? (((1 + Math.exp(Math.max(-50, Math.min(50, (-Math.min(1e4, Math.max(-1e4, (da) / ((t) < 1e-4 && (t) > -1e-4 ? ((t) >= 0 ? 1e-4 : -1e-4) : (t)))))))))) >= 0 ? 1e-4 : -1e-4) : ((1 + Math.exp(Math.max(-50, Math.min(50, (-Math.min(1e4, Math.max(-1e4, (da) / ((t) < 1e-4 && (t) > -1e-4 ? ((t) >= 0 ? 1e-4 : -1e-4) : (t)))))))))))))),
1318
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return fminf(fmaxf((1f / copysignf(fmaxf(fabsf((1f + expf(fmaxf(-50.0f, fminf(50.0f, (-fminf(fmaxf((da / copysignf(fmaxf(fabsf(t), 1.0e-4f), t)), -1.0e4f), 1.0e4f))))))), 1.0e-4f), (1f + expf(fmaxf(-50.0f, fminf(50.0f, (-fminf(fmaxf((da / copysignf(fmaxf(fabsf(t), 1.0e-4f), t)), -1.0e4f), 1.0e4f)))))))), -1.0e4f), 1.0e4f);\n}",
1319
+ py: "import torch\n\ndef spear_fn(da, t):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return (1 / (abs((1 + torch.exp(torch.clamp((-(da / (abs(t) < 1e-4 ? 1e-4 : t))), -50.0, 50.0)))) < 1e-4 ? 1e-4 : (1 + torch.exp(torch.clamp((-(da / (abs(t) < 1e-4 ? 1e-4 : t))), -50.0, 50.0)))))",
1320
+ wasmBase64: "AGFzbQEAAAABDAJgAnx8AXxgAXwBfAILAQNlbnYDZXhwAAEDAgEABwkBBXNwZWFyAAEKvwEBvAEARAAAAAAAAPA/RAAAAAAAAPA/IAAgAZlELUMc6+I2Gj+lIAGmo0QAAAAAAIjDwKVEAAAAAACIw0CkmkQAAAAAAABJwKVEAAAAAAAASUCkEACgmUQtQxzr4jYaP6VEAAAAAAAA8D8gACABmUQtQxzr4jYaP6UgAaajRAAAAAAAiMPApUQAAAAAAIjDQKSaRAAAAAAAAEnApUQAAAAAAABJQKQQAKCmo0QAAAAAAIjDwKVEAAAAAACIw0CkCw==",
1321
+ },
1322
+ meta: {
1323
+ metric: 7.439476402624881e-47,
1324
+ level: 2,
1325
+ formulaCost: 30,
1326
+ exactCost: 26,
1327
+ speedupVsExact: 0.8666666666666667,
1328
+ vsIterative: null,
1329
+ },
1330
+ },
1331
+ "doppler_effect": {
1332
+ id: "doppler_effect",
1333
+ precise: {
1334
+ js: "((vs, vo) => ((-700.007578094087 * Math.min(1e4, Math.max(-1e4, ((vs + vo)) / (((0.049677 - (340.052626 - vs))) < 1e-4 && ((0.049677 - (340.052626 - vs))) > -1e-4 ? (((0.049677 - (340.052626 - vs))) >= 0 ? 1e-4 : -1e-4) : ((0.049677 - (340.052626 - vs))))))) + 699.9998851514688))",
1335
+ eval: ((vs, vo) => ((-700.007578094087 * Math.min(1e4, Math.max(-1e4, ((vs + vo)) / (((0.049677 - (340.052626 - vs))) < 1e-4 && ((0.049677 - (340.052626 - vs))) > -1e-4 ? (((0.049677 - (340.052626 - vs))) >= 0 ? 1e-4 : -1e-4) : ((0.049677 - (340.052626 - vs))))))) + 699.9998851514688)),
1336
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return ((-700.007578f * fminf(fmaxf(((vs + vo) / copysignf(fmaxf(fabsf((0.049677f - (340.052626f - vs))), 1.0e-4f), (0.049677f - (340.052626f - vs)))), -1.0e4f), 1.0e4f)) + 699.999885f);\n}",
1337
+ py: "import torch\n\ndef spear_fn(vs, vo):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((-700.007578 * ((vs + vo) / (abs((0.049677 - (340.052626 - vs))) < 1e-4 ? 1e-4 : (0.049677 - (340.052626 - vs))))) + 699.999885)",
1338
+ wasmBase64: "AGFzbQEAAAABDAJgAnx8AXxgAXwBfAMCAQAHCQEFc3BlYXIAAApqAWgARCiSGoUP4IXAIAAgAaBEhA66hENvqT9EtU5cjtdAdUAgAKGhmUQtQxzr4jYaP6VEhA66hENvqT9EtU5cjtdAdUAgAKGhpqNEAAAAAACIw8ClRAAAAAAAiMNApKJEhErJw//fhUCgCw==",
1339
+ },
1340
+ fast: {
1341
+ js: "((vs, vo) => (317.901286 + (vs + vo)))",
1342
+ eval: ((vs, vo) => (317.901286 + (vs + vo))),
1343
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return (317.901286f + (vs + vo));\n}",
1344
+ py: "import torch\n\ndef spear_fn(vs, vo):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return (317.901286 + (vs + vo))",
1345
+ wasmBase64: "AGFzbQEAAAABDAJgAnx8AXxgAXwBfAMCAQAHCQEFc3BlYXIAAAoTAREARHxl3qpr3nNAIAAgAaCgCw==",
1346
+ },
1347
+ meta: {
1348
+ metric: 9.281797631143672e-10,
1349
+ level: 2,
1350
+ formulaCost: 9,
1351
+ exactCost: 5,
1352
+ speedupVsExact: 0.5555555555555556,
1353
+ vsIterative: null,
1354
+ },
1355
+ },
1356
+ "stefan_boltzmann": {
1357
+ id: "stefan_boltzmann",
1358
+ precise: {
1359
+ js: "((t) => (0.42 * (Math.max(0, t) * (t) * (t) * (t))))",
1360
+ eval: ((t) => (0.42 * (Math.max(0, t) * (t) * (t) * (t)))),
1361
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return (0.42f * (fmaxf(0.0f, t) * powf(t, 3.0f)));\n}",
1362
+ py: "import torch\n\ndef spear_fn(t):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return (0.42 * (torch.relu(t) * (t ** 3)))",
1363
+ wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AwIBAAcJAQVzcGVhcgAACiMBIQBE4XoUrkfh2j8gAEQAAAAAAAAAAKUgACAAIACioqKiCw==",
1364
+ },
1365
+ fast: {
1366
+ js: "((t) => (t) * (t) * (t))",
1367
+ eval: ((t) => (t) * (t) * (t)),
1368
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return powf(t, 3.0f);\n}",
1369
+ py: "import torch\n\ndef spear_fn(t):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return (t ** 3)",
1370
+ wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AwIBAAcJAQVzcGVhcgAACgwBCgAgACAAIACiogs=",
1371
+ },
1372
+ meta: {
1373
+ metric: 2.1322035895929197e-26,
1374
+ level: 2,
1375
+ formulaCost: 5,
1376
+ exactCost: 3,
1377
+ speedupVsExact: 0.6,
1378
+ vsIterative: null,
1379
+ },
1380
+ },
1381
+ "mm1_queue_wait": {
1382
+ id: "mm1_queue_wait",
1383
+ precise: {
1384
+ js: "((l, m) => (-Math.min(1e4, Math.max(-1e4, (Math.min(1e4, Math.max(-1e4, (l) / ((m) < 1e-4 && (m) > -1e-4 ? ((m) >= 0 ? 1e-4 : -1e-4) : (m))))) / (((l - m)) < 1e-4 && ((l - m)) > -1e-4 ? (((l - m)) >= 0 ? 1e-4 : -1e-4) : ((l - m)))))))",
1385
+ eval: ((l, m) => (-Math.min(1e4, Math.max(-1e4, (Math.min(1e4, Math.max(-1e4, (l) / ((m) < 1e-4 && (m) > -1e-4 ? ((m) >= 0 ? 1e-4 : -1e-4) : (m))))) / (((l - m)) < 1e-4 && ((l - m)) > -1e-4 ? (((l - m)) >= 0 ? 1e-4 : -1e-4) : ((l - m))))))),
1386
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return (-fminf(fmaxf((fminf(fmaxf((l / copysignf(fmaxf(fabsf(m), 1.0e-4f), m)), -1.0e4f), 1.0e4f) / copysignf(fmaxf(fabsf((l - m)), 1.0e-4f), (l - m))), -1.0e4f), 1.0e4f));\n}",
1387
+ py: "import torch\n\ndef spear_fn(l, m):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return (-((l / (abs(m) < 1e-4 ? 1e-4 : m)) / (abs((l - m)) < 1e-4 ? 1e-4 : (l - m))))",
1388
+ wasmBase64: "AGFzbQEAAAABDAJgAnx8AXxgAXwBfAMCAQAHCQEFc3BlYXIAAApXAVUAIAAgAZlELUMc6+I2Gj+lIAGmo0QAAAAAAIjDwKVEAAAAAACIw0CkIAAgAaGZRC1DHOviNho/pSAAIAGhpqNEAAAAAACIw8ClRAAAAAAAiMNApJoL",
1389
+ },
1390
+ fast: {
1391
+ js: "((l, m) => Math.min(1e4, Math.max(-1e4, (-1.22881) / (((l - m)) < 1e-4 && ((l - m)) > -1e-4 ? (((l - m)) >= 0 ? 1e-4 : -1e-4) : ((l - m))))))",
1392
+ eval: ((l, m) => Math.min(1e4, Math.max(-1e4, (-1.22881) / (((l - m)) < 1e-4 && ((l - m)) > -1e-4 ? (((l - m)) >= 0 ? 1e-4 : -1e-4) : ((l - m)))))),
1393
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return fminf(fmaxf((-1.22881f / copysignf(fmaxf(fabsf((l - m)), 1.0e-4f), (l - m))), -1.0e4f), 1.0e4f);\n}",
1394
+ py: "import torch\n\ndef spear_fn(l, m):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return (-1.22881 / (abs((l - m)) < 1e-4 ? 1e-4 : (l - m)))",
1395
+ wasmBase64: "AGFzbQEAAAABDAJgAnx8AXxgAXwBfAMCAQAHCQEFc3BlYXIAAAo4ATYARNP2r6w0qfO/IAAgAaGZRC1DHOviNho/pSAAIAGhpqNEAAAAAACIw8ClRAAAAAAAiMNApAs=",
1396
+ },
1397
+ meta: {
1398
+ metric: 6.062690637388583e-33,
1399
+ level: 2,
1400
+ formulaCost: 10,
1401
+ exactCost: 6,
1402
+ speedupVsExact: 0.6,
1403
+ vsIterative: null,
1404
+ },
1405
+ },
1406
+ "grover_amplitude": {
1407
+ id: "grover_amplitude",
1408
+ precise: {
1409
+ js: "((k) => ((0.4208666946976904 * Math.min(1e4, Math.max(-1e4, ((-k)) / ((((-k) + Math.min(0.966947, Math.log(Math.max(1e-30, k))))) < 1e-4 && (((-k) + Math.min(0.966947, Math.log(Math.max(1e-30, k))))) > -1e-4 ? ((((-k) + Math.min(0.966947, Math.log(Math.max(1e-30, k))))) >= 0 ? 1e-4 : -1e-4) : (((-k) + Math.min(0.966947, Math.log(Math.max(1e-30, k))))))))) + 0.03704337736862953))",
1410
+ eval: ((k) => ((0.4208666946976904 * Math.min(1e4, Math.max(-1e4, ((-k)) / ((((-k) + Math.min(0.966947, Math.log(Math.max(1e-30, k))))) < 1e-4 && (((-k) + Math.min(0.966947, Math.log(Math.max(1e-30, k))))) > -1e-4 ? ((((-k) + Math.min(0.966947, Math.log(Math.max(1e-30, k))))) >= 0 ? 1e-4 : -1e-4) : (((-k) + Math.min(0.966947, Math.log(Math.max(1e-30, k))))))))) + 0.03704337736862953)),
1411
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return ((0.420867f * fminf(fmaxf(((-k) / copysignf(fmaxf(fabsf(((-k) + fminf(0.966947f, logf(fmaxf(1.0e-30f, k))))), 1.0e-4f), ((-k) + fminf(0.966947f, logf(fmaxf(1.0e-30f, k)))))), -1.0e4f), 1.0e4f)) + 0.037043f);\n}",
1412
+ py: "import torch\n\ndef spear_fn(k):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((0.420867 * ((-k) / (abs(((-k) + torch.minimum(0.966947, torch.log(torch.clamp(k, min=1e-30))))) < 1e-4 ? 1e-4 : ((-k) + torch.minimum(0.966947, torch.log(torch.clamp(k, min=1e-30))))))) + 0.037043)",
1413
+ wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AgsBA2VudgNsb2cAAQMCAQAHCQEFc3BlYXIAAQp0AXIARMvwbNx679o/IACaIACaRNbjvtU68e4/IABEoMLr/ktItDmlEACkoJlELUMc6+I2Gj+lIACaRNbjvtU68e4/IABEoMLr/ktItDmlEACkoKajRAAAAAAAiMPApUQAAAAAAIjDQKSiRBTOqXxZ96I/oAs=",
1414
+ },
1415
+ meta: {
1416
+ metric: 0.10656101522361813,
1417
+ level: 0,
1418
+ formulaCost: 30,
1419
+ exactCost: 48,
1420
+ speedupVsExact: 1.6,
1421
+ vsIterative: null,
1422
+ },
1423
+ },
1424
+ "concurrence_pure": {
1425
+ id: "concurrence_pure",
1426
+ precise: {
1427
+ js: "((a, d, b, c) => (2 * Math.abs(((a * d) - (b * c)))))",
1428
+ eval: ((a, d, b, c) => (2 * Math.abs(((a * d) - (b * c))))),
1429
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return (2f * fabsf(((a * d) - (b * c))));\n}",
1430
+ py: "import torch\n\ndef spear_fn(a, d, b, c):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return (2 * torch.abs(((a * d) - (b * c))))",
1431
+ wasmBase64: "AGFzbQEAAAABDgJgBHx8fHwBfGABfAF8AwIBAAcJAQVzcGVhcgAAChoBGABEAAAAAAAAAEAgACABoiACIAOioZmiCw==",
1432
+ },
1433
+ meta: {
1434
+ metric: 0,
1435
+ level: 5,
1436
+ formulaCost: 5,
1437
+ exactCost: 7,
1438
+ speedupVsExact: 1.4,
1439
+ vsIterative: null,
1440
+ },
1441
+ },
1442
+ "chsh_correlation": {
1443
+ id: "chsh_correlation",
1444
+ precise: {
1445
+ js: "((a, b, ap, bp) => Math.abs((((-Math.cos((a - b))) + (-Math.cos((ap - b)))) - ((-Math.cos((a - bp))) - (-Math.cos((ap - bp)))))))",
1446
+ eval: ((a, b, ap, bp) => Math.abs((((-Math.cos((a - b))) + (-Math.cos((ap - b)))) - ((-Math.cos((a - bp))) - (-Math.cos((ap - bp))))))),
1447
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return fabsf((((-cosf((a - b))) + (-cosf((ap - b)))) - ((-cosf((a - bp))) - (-cosf((ap - bp))))));\n}",
1448
+ py: "import torch\n\ndef spear_fn(a, b, ap, bp):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return torch.abs((((-torch.cos((a - b))) + (-torch.cos((ap - b)))) - ((-torch.cos((a - bp))) - (-torch.cos((ap - bp))))))",
1449
+ wasmBase64: "AGFzbQEAAAABDgJgBHx8fHwBfGABfAF8AgsBA2VudgNjb3MAAQMCAQAHCQEFc3BlYXIAAQooASYAIAAgAaEQAJogAiABoRAAmqAgACADoRAAmiACIAOhEACaoaGZCw==",
1450
+ },
1451
+ meta: {
1452
+ metric: 2.1055469858256505e-32,
1453
+ level: 2,
1454
+ formulaCost: 92,
1455
+ exactCost: 84,
1456
+ speedupVsExact: 0.9130434782608695,
1457
+ vsIterative: null,
1458
+ },
1459
+ },
1460
+ "legendre_p2": {
1461
+ id: "legendre_p2",
1462
+ precise: {
1463
+ js: "((x) => ((1.5 * (x) * (x)) + -0.5))",
1464
+ eval: ((x) => ((1.5 * (x) * (x)) + -0.5)),
1465
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return ((1.5f * powf(x, 2.0f)) + -0.5f);\n}",
1466
+ py: "import torch\n\ndef spear_fn(x):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((1.5 * (x * x)) + -0.5)",
1467
+ wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AwIBAAcJAQVzcGVhcgAACh0BGwBEAAAAAAAA+D8gACAAoqJEAAAAAAAA4L+gCw==",
1468
+ },
1469
+ fast: {
1470
+ js: "((x) => (-0.774693 * (x) * (x)))",
1471
+ eval: ((x) => (-0.774693 * (x) * (x))),
1472
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return (-0.774693f * powf(x, 2.0f));\n}",
1473
+ py: "import torch\n\ndef spear_fn(x):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return (-0.774693 * (x * x))",
1474
+ wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AwIBAAcJAQVzcGVhcgAAChMBEQBEhxVu+UjK6L8gACAAoqIL",
1475
+ },
1476
+ meta: {
1477
+ metric: 3.250969746125654e-33,
1478
+ level: 5,
1479
+ formulaCost: 3,
1480
+ exactCost: 5,
1481
+ speedupVsExact: 1.6666666666666667,
1482
+ vsIterative: null,
1483
+ },
1484
+ },
1485
+ "laguerre_l2": {
1486
+ id: "laguerre_l2",
1487
+ precise: {
1488
+ js: "((x) => ((0.25005568930581107 * ((-0.01236 + ((x + -1.996089)) * ((x + -1.996089))) + ((x + -2.005496)) * ((x + -2.005496)))) + -0.996477875101051))",
1489
+ eval: ((x) => ((0.25005568930581107 * ((-0.01236 + ((x + -1.996089)) * ((x + -1.996089))) + ((x + -2.005496)) * ((x + -2.005496)))) + -0.996477875101051)),
1490
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return ((0.250056f * ((-0.01236f + powf((x + -1.996089f), 2.0f)) + powf((x + -2.005496f), 2.0f))) + -0.996478f);\n}",
1491
+ py: "import torch\n\ndef spear_fn(x):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((0.250056 * ((-0.01236 + ((x + -1.996089) * (x + -1.996089))) + ((x + -2.005496) * (x + -2.005496)))) + -0.996478)",
1492
+ wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AwIBAAcJAQVzcGVhcgAAClUBUwBEDdLvk+kA0D9Eqn06HjNQib8gAERKfO4E++//v6AgAERKfO4E++//v6CioCAARA4SonxBCwDAoCAARA4SonxBCwDAoKKgokQK5JeRJePvv6AL",
1493
+ },
1494
+ fast: {
1495
+ js: "((x) => (((x + -1.996089)) * ((x + -1.996089)) + -0.262804))",
1496
+ eval: ((x) => (((x + -1.996089)) * ((x + -1.996089)) + -0.262804)),
1497
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return (powf((x + -1.996089f), 2.0f) + -0.262804f);\n}",
1498
+ py: "import torch\n\ndef spear_fn(x):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return (((x + -1.996089) * (x + -1.996089)) + -0.262804)",
1499
+ wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AwIBAAcJAQVzcGVhcgAACicBJQAgAERKfO4E++//v6AgAERKfO4E++//v6CiRM+CUN7H0dC/oAs=",
1500
+ },
1501
+ meta: {
1502
+ metric: 8.257087129644967e-7,
1503
+ level: 5,
1504
+ formulaCost: 8,
1505
+ exactCost: 5,
1506
+ speedupVsExact: 0.625,
1507
+ vsIterative: null,
1508
+ },
1509
+ },
1510
+ "asin_hard": {
1511
+ id: "asin_hard",
1512
+ precise: {
1513
+ js: "((x) => Math.asin(Math.max(-1, Math.min(1, x))))",
1514
+ eval: ((x) => Math.asin(Math.max(-1, Math.min(1, x)))),
1515
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return asinf(fmaxf(-1.0f, fminf(1.0f, x)));\n}",
1516
+ py: "import torch\n\ndef spear_fn(x):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return torch.asin(torch.clamp(x, -1.0, 1.0))",
1517
+ wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AgwBA2VudgRhc2luAAEDAgEABwkBBXNwZWFyAAEKHAEaACAARAAAAAAAAPC/pUQAAAAAAADwP6QQAAs=",
1518
+ },
1519
+ fast: {
1520
+ js: "((x) => (0.529961 * ((1.930182 * x) + ((0.645691 * (x) * (x)) * (x) * (x) * (x)))))",
1521
+ eval: ((x) => (0.529961 * ((1.930182 * x) + ((0.645691 * (x) * (x)) * (x) * (x) * (x))))),
1522
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return (0.529961f * ((1.930182f * x) + ((0.645691f * powf(x, 2.0f)) * powf(x, 3.0f))));\n}",
1523
+ py: "import torch\n\ndef spear_fn(x):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return (0.529961 * ((1.930182 * x) + ((0.645691 * (x * x)) * (x ** 3))))",
1524
+ wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AwIBAAcJAQVzcGVhcgAACjMBMQBEf/lkxXD14D9E9z5VhQbi/j8gAKJEBkoKLICp5D8gACAAoqIgACAAIACioqKgogs=",
1525
+ },
1526
+ meta: {
1527
+ metric: 0,
1528
+ level: 5,
1529
+ formulaCost: 20,
1530
+ exactCost: 28,
1531
+ speedupVsExact: 1.4,
1532
+ vsIterative: null,
1533
+ },
1534
+ },
1535
+ "qfi_dephasing": {
1536
+ id: "qfi_dephasing",
1537
+ precise: {
1538
+ js: "((n, t, g) => ((0.002631 * Math.min(1e4, Math.max(-1e4, (Math.sin(Math.log(Math.max(1e-30, n)))) / (((Math.min(1e4, Math.max(-1e4, (0.35138) / ((Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) < 1e-4 && (Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) > -1e-4 ? ((Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) >= 0 ? 1e-4 : -1e-4) : (Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g)))))))) * g)) < 1e-4 && ((Math.min(1e4, Math.max(-1e4, (0.35138) / ((Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) < 1e-4 && (Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) > -1e-4 ? ((Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) >= 0 ? 1e-4 : -1e-4) : (Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g)))))))) * g)) > -1e-4 ? (((Math.min(1e4, Math.max(-1e4, (0.35138) / ((Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) < 1e-4 && (Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) > -1e-4 ? ((Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) >= 0 ? 1e-4 : -1e-4) : (Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g)))))))) * g)) >= 0 ? 1e-4 : -1e-4) : ((Math.min(1e4, Math.max(-1e4, (0.35138) / ((Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) < 1e-4 && (Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) > -1e-4 ? ((Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) >= 0 ? 1e-4 : -1e-4) : (Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g)))))))) * g)))))) + 0.159052))",
1539
+ eval: ((n, t, g) => ((0.002631 * Math.min(1e4, Math.max(-1e4, (Math.sin(Math.log(Math.max(1e-30, n)))) / (((Math.min(1e4, Math.max(-1e4, (0.35138) / ((Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) < 1e-4 && (Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) > -1e-4 ? ((Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) >= 0 ? 1e-4 : -1e-4) : (Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g)))))))) * g)) < 1e-4 && ((Math.min(1e4, Math.max(-1e4, (0.35138) / ((Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) < 1e-4 && (Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) > -1e-4 ? ((Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) >= 0 ? 1e-4 : -1e-4) : (Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g)))))))) * g)) > -1e-4 ? (((Math.min(1e4, Math.max(-1e4, (0.35138) / ((Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) < 1e-4 && (Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) > -1e-4 ? ((Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) >= 0 ? 1e-4 : -1e-4) : (Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g)))))))) * g)) >= 0 ? 1e-4 : -1e-4) : ((Math.min(1e4, Math.max(-1e4, (0.35138) / ((Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) < 1e-4 && (Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) > -1e-4 ? ((Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g))))) >= 0 ? 1e-4 : -1e-4) : (Math.min(1e4, Math.max(-1e4, (t) / ((g) < 1e-4 && (g) > -1e-4 ? ((g) >= 0 ? 1e-4 : -1e-4) : (g)))))))) * g)))))) + 0.159052)),
1540
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return ((0.002631f * fminf(fmaxf((sinf(logf(fmaxf(1.0e-30f, n))) / copysignf(fmaxf(fabsf((fminf(fmaxf((0.35138f / copysignf(fmaxf(fabsf(fminf(fmaxf((t / copysignf(fmaxf(fabsf(g), 1.0e-4f), g)), -1.0e4f), 1.0e4f)), 1.0e-4f), fminf(fmaxf((t / copysignf(fmaxf(fabsf(g), 1.0e-4f), g)), -1.0e4f), 1.0e4f))), -1.0e4f), 1.0e4f) * g)), 1.0e-4f), (fminf(fmaxf((0.35138f / copysignf(fmaxf(fabsf(fminf(fmaxf((t / copysignf(fmaxf(fabsf(g), 1.0e-4f), g)), -1.0e4f), 1.0e4f)), 1.0e-4f), fminf(fmaxf((t / copysignf(fmaxf(fabsf(g), 1.0e-4f), g)), -1.0e4f), 1.0e4f))), -1.0e4f), 1.0e4f) * g))), -1.0e4f), 1.0e4f)) + 0.159052f);\n}",
1541
+ py: "import torch\n\ndef spear_fn(n, t, g):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((0.002631 * (torch.sin(torch.log(torch.clamp(n, min=1e-30))) / (abs(((0.35138 / (abs((t / (abs(g) < 1e-4 ? 1e-4 : g))) < 1e-4 ? 1e-4 : (t / (abs(g) < 1e-4 ? 1e-4 : g)))) * g)) < 1e-4 ? 1e-4 : ((0.35138 / (abs((t / (abs(g) < 1e-4 ? 1e-4 : g))) < 1e-4 ? 1e-4 : (t / (abs(g) < 1e-4 ? 1e-4 : g)))) * g)))) + 0.159052)",
1542
+ wasmBase64: "AGFzbQEAAAABDQJgA3x8fAF8YAF8AXwCFQIDZW52A3NpbgABA2VudgNsb2cAAQMCAQAHCQEFc3BlYXIAAgrAAgG9AgBEjbeVXpuNZT8gAESgwuv+S0i0OaUQARAARJT7HYoCfdY/IAEgAplELUMc6+I2Gj+lIAKmo0QAAAAAAIjDwKVEAAAAAACIw0CkmUQtQxzr4jYaP6UgASACmUQtQxzr4jYaP6UgAqajRAAAAAAAiMPApUQAAAAAAIjDQKSmo0QAAAAAAIjDwKVEAAAAAACIw0CkIAKimUQtQxzr4jYaP6VElPsdigJ91j8gASACmUQtQxzr4jYaP6UgAqajRAAAAAAAiMPApUQAAAAAAIjDQKSZRC1DHOviNho/pSABIAKZRC1DHOviNho/pSACpqNEAAAAAACIw8ClRAAAAAAAiMNApKajRAAAAAAAiMPApUQAAAAAAIjDQKQgAqKmo0QAAAAAAIjDwKVEAAAAAACIw0CkokShgy7h0FvEP6AL",
1543
+ },
1544
+ meta: {
1545
+ metric: 1.4726216379152874,
1546
+ level: 0,
1547
+ formulaCost: 55,
1548
+ exactCost: 22,
1549
+ speedupVsExact: 0.4,
1550
+ vsIterative: {"label":"BFGS optimisation","speedup":14.545454545454545},
1551
+ },
1552
+ },
1553
+ "amp_damp_fid": {
1554
+ id: "amp_damp_fid",
1555
+ precise: {
1556
+ js: "((th, t) => ((-2.161354036444073 * ((Math.cos(Math.sin(th)) - Math.cos(Math.cos(th))) * Math.sin(Math.sin(t)))) + 0.9986778255438645))",
1557
+ eval: ((th, t) => ((-2.161354036444073 * ((Math.cos(Math.sin(th)) - Math.cos(Math.cos(th))) * Math.sin(Math.sin(t)))) + 0.9986778255438645)),
1558
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return ((-2.161354f * ((cosf(sinf(th)) - cosf(cosf(th))) * sinf(sinf(t)))) + 0.998678f);\n}",
1559
+ py: "import torch\n\ndef spear_fn(th, t):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((-2.161354 * ((torch.cos(torch.sin(th)) - torch.cos(torch.cos(th))) * torch.sin(torch.sin(t)))) + 0.998678)",
1560
+ wasmBase64: "AGFzbQEAAAABDAJgAnx8AXxgAXwBfAIVAgNlbnYDc2luAAEDZW52A2NvcwABAwIBAAcJAQVzcGVhcgACCiwBKgBEztYs/HNKAcAgABAAEAEgABABEAGhIAEQABAAoqJE+3D+Miv17z+gCw==",
1561
+ },
1562
+ meta: {
1563
+ metric: 0.021192299809747715,
1564
+ level: 2,
1565
+ formulaCost: 124,
1566
+ exactCost: 24,
1567
+ speedupVsExact: 0.1935483870967742,
1568
+ vsIterative: {"label":"Kraus ops 4×4 matmul","speedup":0.3870967741935484},
1569
+ },
1570
+ },
1571
+ "loschmidt_rate": {
1572
+ id: "loschmidt_rate",
1573
+ precise: {
1574
+ js: "((t) => ((3.2707335278466636 * (Math.min(Math.cos((t * 3.130638)), 3.047207) * Math.min(-0.185459, Math.cos((t * 3.047207))))) + 0.5942965371145621))",
1575
+ eval: ((t) => ((3.2707335278466636 * (Math.min(Math.cos((t * 3.130638)), 3.047207) * Math.min(-0.185459, Math.cos((t * 3.047207))))) + 0.5942965371145621)),
1576
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return ((3.270734f * (fminf(cosf((t * 3.130638f)), 3.047207f) * fminf(-0.185459f, cosf((t * 3.047207f))))) + 0.594297f);\n}",
1577
+ py: "import torch\n\ndef spear_fn(t):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((3.270734 * (torch.minimum(torch.cos((t * 3.130638)), 3.047207) * torch.minimum(-0.185459, torch.cos((t * 3.047207))))) + 0.594297)",
1578
+ wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AgsBA2VudgNjb3MAAQMCAQAHCQEFc3BlYXIAAQpJAUcARMtBAFd2KgpAIABENeuM74sLCUCiEABEYCNJEK5gCECkRMfa39kevce/IABEYCNJEK5gCECiEACkoqJEHA/hK3oE4z+gCw==",
1579
+ },
1580
+ fast: {
1581
+ js: "((t) => ((-0.287877 + Math.cos((t * 3.057635)))) * ((-0.287877 + Math.cos((t * 3.057635)))) * ((-0.287877 + Math.cos((t * 3.057635)))))",
1582
+ eval: ((t) => ((-0.287877 + Math.cos((t * 3.057635)))) * ((-0.287877 + Math.cos((t * 3.057635)))) * ((-0.287877 + Math.cos((t * 3.057635))))),
1583
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return powf((-0.287877f + cosf((t * 3.057635f))), 3.0f);\n}",
1584
+ py: "import torch\n\ndef spear_fn(t):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((-0.287877 + torch.cos((t * 3.057635))) ** 3)",
1585
+ wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AgsBA2VudgNjb3MAAQMCAQAHCQEFc3BlYXIAAQpOAUwARGFREaeTbNK/IABE9dbAVgl2CECiEACgRGFREaeTbNK/IABE9dbAVgl2CECiEACgRGFREaeTbNK/IABE9dbAVgl2CECiEACgoqIL",
1586
+ },
1587
+ meta: {
1588
+ metric: 0.052925894381018135,
1589
+ level: 2,
1590
+ formulaCost: 47,
1591
+ exactCost: 18,
1592
+ speedupVsExact: 0.3829787234042553,
1593
+ vsIterative: {"label":"Diag complète 128 modes","speedup":13.617021276595745},
1594
+ },
1595
+ },
1596
+ "bessel_i0e": {
1597
+ id: "bessel_i0e",
1598
+ precise: {
1599
+ js: "((x) => ((-0.956621415374655 * Math.min(1e4, Math.max(-1e4, (x) / (((0.802245 + Math.abs(x))) < 1e-4 && ((0.802245 + Math.abs(x))) > -1e-4 ? (((0.802245 + Math.abs(x))) >= 0 ? 1e-4 : -1e-4) : ((0.802245 + Math.abs(x))))))) + 1.0055104538128088))",
1600
+ eval: ((x) => ((-0.956621415374655 * Math.min(1e4, Math.max(-1e4, (x) / (((0.802245 + Math.abs(x))) < 1e-4 && ((0.802245 + Math.abs(x))) > -1e-4 ? (((0.802245 + Math.abs(x))) >= 0 ? 1e-4 : -1e-4) : ((0.802245 + Math.abs(x))))))) + 1.0055104538128088)),
1601
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return ((-0.956621f * fminf(fmaxf((x / copysignf(fmaxf(fabsf((0.802245f + fabsf(x))), 1.0e-4f), (0.802245f + fabsf(x)))), -1.0e4f), 1.0e4f)) + 1.00551f);\n}",
1602
+ py: "import torch\n\ndef spear_fn(x):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((-0.956621 * (x / (abs((0.802245 + torch.abs(x))) < 1e-4 ? 1e-4 : (0.802245 + torch.abs(x))))) + 1.00551)",
1603
+ wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AwIBAAcJAQVzcGVhcgAAClUBUwBE+f61g6Sc7r8gAEQHJcy0/avpPyAAmaCZRC1DHOviNho/pUQHJcy0/avpPyAAmaCmo0QAAAAAAIjDwKVEAAAAAACIw0CkokQYmC4hkhbwP6AL",
1604
+ },
1605
+ meta: {
1606
+ metric: 0.00003056208763233721,
1607
+ level: 2,
1608
+ formulaCost: 8,
1609
+ exactCost: 24,
1610
+ speedupVsExact: 3,
1611
+ vsIterative: null,
1612
+ },
1613
+ },
1614
+ "elliptic_k": {
1615
+ id: "elliptic_k",
1616
+ precise: {
1617
+ js: "((m) => ((0.22939144913554116 * ((Math.exp(Math.max(-50, Math.min(50, m))) * (Math.asin(Math.max(-1, Math.min(1, m)))) * (Math.asin(Math.max(-1, Math.min(1, m)))) * (Math.asin(Math.max(-1, Math.min(1, m))))) + m)) + 1.6428050203299513))",
1618
+ eval: ((m) => ((0.22939144913554116 * ((Math.exp(Math.max(-50, Math.min(50, m))) * (Math.asin(Math.max(-1, Math.min(1, m)))) * (Math.asin(Math.max(-1, Math.min(1, m)))) * (Math.asin(Math.max(-1, Math.min(1, m))))) + m)) + 1.6428050203299513)),
1619
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return ((0.229391f * ((expf(fmaxf(-50.0f, fminf(50.0f, m))) * powf(asinf(fmaxf(-1.0f, fminf(1.0f, m))), 3.0f)) + m)) + 1.642805f);\n}",
1620
+ py: "import torch\n\ndef spear_fn(m):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((0.229391 * ((torch.exp(torch.clamp(m, -50.0, 50.0)) * (torch.asin(torch.clamp(m, -1.0, 1.0)) ** 3)) + m)) + 1.642805)",
1621
+ wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AhYCA2VudgNleHAAAQNlbnYEYXNpbgABAwIBAAcJAQVzcGVhcgACCn4BfABECnUC8rJczT8gAEQAAAAAAABJwKVEAAAAAAAASUCkEAAgAEQAAAAAAADwv6VEAAAAAAAA8D+kEAEgAEQAAAAAAADwv6VEAAAAAAAA8D+kEAEgAEQAAAAAAADwv6VEAAAAAAAA8D+kEAGioqIgAKCiRB1ZwOrtSPo/oAs=",
1622
+ },
1623
+ meta: {
1624
+ metric: 0.004333603318947968,
1625
+ level: 2,
1626
+ formulaCost: 46,
1627
+ exactCost: 16,
1628
+ speedupVsExact: 0.34782608695652173,
1629
+ vsIterative: null,
1630
+ },
1631
+ },
1632
+ "kepler_solver": {
1633
+ id: "kepler_solver",
1634
+ precise: {
1635
+ js: "((e, M) => ((1.8991880781575727 * (Math.max(0, Math.log(Math.max(1e-30, (e + M)))) - 4.88761)) + 9.923214341619618))",
1636
+ eval: ((e, M) => ((1.8991880781575727 * (Math.max(0, Math.log(Math.max(1e-30, (e + M)))) - 4.88761)) + 9.923214341619618)),
1637
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return ((1.899188f * (fmaxf(0.0f, logf(fmaxf(1.0e-30f, (e + M)))) - 4.88761f)) + 9.923214f);\n}",
1638
+ py: "import torch\n\ndef spear_fn(e, M):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return ((1.899188 * (torch.relu(torch.log(torch.clamp((e + M), min=1e-30))) - 4.88761)) + 9.923214)",
1639
+ wasmBase64: "AGFzbQEAAAABDAJgAnx8AXxgAXwBfAILAQNlbnYDbG9nAAEDAgEABwkBBXNwZWFyAAEKPQE7AETlPMoJE2P+PyAAIAGgRKDC6/5LSLQ5pRAARAAAAAAAAAAApUQFacai6YwTQKGiRKvo2Iyv2CNAoAs=",
1640
+ },
1641
+ meta: {
1642
+ metric: 0.025907227034892635,
1643
+ level: 1,
1644
+ formulaCost: 25,
1645
+ exactCost: 32,
1646
+ speedupVsExact: 1.28,
1647
+ vsIterative: null,
1648
+ },
1649
+ },
1650
+ "fast_exp_alu": {
1651
+ id: "fast_exp_alu",
1652
+ precise: {
1653
+ js: "((x) => Math.exp(Math.max(-50, Math.min(50, x))))",
1654
+ eval: ((x) => Math.exp(Math.max(-50, Math.min(50, x)))),
1655
+ c: "// Evolved by SPEAR — algebraic only, FP16 safe\n__device__ inline float spear_fn(const float x) {\n return expf(fmaxf(-50.0f, fminf(50.0f, x)));\n}",
1656
+ py: "import torch\n\ndef spear_fn(x):\n # Evolved by SPEAR — zero transcendental ops (exp/erf/tanh free)\n return torch.exp(torch.clamp(x, -50.0, 50.0))",
1657
+ wasmBase64: "AGFzbQEAAAABCwJgAXwBfGABfAF8AgsBA2VudgNleHAAAQMCAQAHCQEFc3BlYXIAAQocARoAIABEAAAAAAAAScClRAAAAAAAAElApBAACw==",
1658
+ },
1659
+ meta: {
1660
+ metric: 0,
1661
+ level: 5,
1662
+ formulaCost: 20,
1663
+ exactCost: 34,
1664
+ speedupVsExact: 1.7,
1665
+ vsIterative: null,
1666
+ },
1667
+ },
1288
1668
  };
1289
1669
 
1290
- const kernelIds = ["silu","gelu","sigmoid","kv_cache","free_fall","kepler","gaussian_cdf","damped_pendulum","rl_distillation","lambert_w","rc_circuit","gaussian_kernel","diffusion_beta","bilinear_interp","european_call","temporal_grad","lorentz","hill","kerr","lennard_jones","damped_oscillation","logistic_growth","softplus","kdv_soliton","kerr_spin","pendulum_hybrid","eigen3_sym","ik_reach","idm_following","gemv4","rope_rot","gauss_shader","ema_smooth","smoothstep","srgb_gamma","tanh_sat","atan_unit","srgb_decode","erf_prob","huber_loss","cosh_curve","bessel_j0","bessel_j1","blackbody_r","aces_fit","logsumexp2","probit_quantile","pmt_finance","blackbody_g","blackbody_b","bessel_j2","logit_ml","kelly_criterion","rsi_momentum","implied_vol"];
1670
+ const kernelIds = ["silu","gelu","sigmoid","kv_cache","free_fall","kepler","gaussian_cdf","damped_pendulum","rl_distillation","lambert_w","rc_circuit","gaussian_kernel","diffusion_beta","bilinear_interp","european_call","temporal_grad","lorentz","hill","kerr","lennard_jones","damped_oscillation","logistic_growth","softplus","kdv_soliton","kerr_spin","pendulum_hybrid","eigen3_sym","ik_reach","idm_following","gemv4","rope_rot","gauss_shader","ema_smooth","smoothstep","srgb_gamma","tanh_sat","atan_unit","srgb_decode","erf_prob","huber_loss","cosh_curve","bessel_j0","bessel_j1","blackbody_r","aces_fit","logsumexp2","probit_quantile","pmt_finance","blackbody_g","blackbody_b","bessel_j2","logit_ml","kelly_criterion","rsi_momentum","implied_vol","michaelis_menten","temperature_softmax","doppler_effect","stefan_boltzmann","mm1_queue_wait","grover_amplitude","concurrence_pure","chsh_correlation","legendre_p2","laguerre_l2","asin_hard","qfi_dephasing","amp_damp_fid","loschmidt_rate","bessel_i0e","elliptic_k","kepler_solver","fast_exp_alu"];
1291
1671
 
1292
1672
  module.exports = { kernels, kernelIds, default: kernels };