Time bar (total: 8.9s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 0% | 100% | 0 |
| 0% | 0% | 100% | 1 |
Compiled 66 to 48 computations (27.3% saved)
| Status | Error | Program |
| ▶ | 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)) |
(sort cosTheta_i cosTheta_O)
(sort sinTheta_i sinTheta_O)
| 2.4s | 8256× | body | 128 | valid |
Compiled 213 to 153 computations (28.2% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v) |
| ✓ | 0.2b | (/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
| ✓ | 0.3b | (/.f32 (*.f32 cosTheta_i cosTheta_O) v) |
| ✓ | 0.8b | (sinh.f32 (/.f32 1 v)) |
4 calls:
| 13.0ms | (/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
| 12.0ms | (/.f32 (*.f32 cosTheta_i cosTheta_O) v) |
| 8.0ms | (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v) |
| 7.0ms | (sinh.f32 (/.f32 1 v)) |
| 2× | batch-egg-rewrite |
| 292× | expm1-udef_binary32 |
| 292× | log1p-udef_binary32 |
| 163× | add-sqr-sqrt_binary32 |
| 152× | log1p-expm1-u_binary32 |
| 152× | expm1-log1p-u_binary32 |
4 calls:
| 72.0ms | (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v) |
| 72.0ms | (/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
| 72.0ms | (/.f32 (*.f32 cosTheta_i cosTheta_O) v) |
| 72.0ms | (sinh.f32 (/.f32 1 v)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 32 |
| 1 | 332 | 32 |
| 2 | 4166 | 32 |
| 3 | 5199 | 32 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
15 alts after pruning (15 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 140 | 15 | 155 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 141 | 15 | 156 |
| Status | Error | Program |
| 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (exp.f32 (log.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2))))) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (expm1.f32 (log1p.f32 (sinh.f32 (/.f32 1 v)))) 2) v)) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (-.f32 (exp.f32 (log1p.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2)))) 1)) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 (cbrt.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (pow.f32 (cbrt.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) 2))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 (pow.f32 (cbrt.f32 (*.f32 cosTheta_i cosTheta_O)) 2) (*.f32 (cbrt.f32 (*.f32 cosTheta_i cosTheta_O)) (/.f32 1 v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (pow.f32 (pow.f32 (sinh.f32 (/.f32 1 v)) 3) 1/3) 2) v)) | |
| 10.8b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (exp.f32 (log.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)) | |
| ▶ | 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)) |
| 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 (/.f32 1 v) (*.f32 cosTheta_i cosTheta_O))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 (*.f32 (*.f32 cosTheta_i cosTheta_O) (cbrt.f32 (pow.f32 v -2))) (/.f32 1 (cbrt.f32 v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)) | |
| 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (exp.f32 (log.f32 (sinh.f32 (/.f32 1 v)))) 2) v)) | |
| 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (cbrt.f32 (*.f32 (pow.f32 v 3) (pow.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) 3)))) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (pow.f32 (sqrt.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2))) 2)) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (pow.f32 (cbrt.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2))) 3)) | |
| 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (pow.f32 (pow.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2)) 3) 1/3)) |
Compiled 5128 to 2609 computations (49.1% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v) |
| ✓ | 0.2b | (/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
| ✓ | 0.2b | (*.f32 cosTheta_i (/.f32 1 v)) |
| ✓ | 0.8b | (sinh.f32 (/.f32 1 v)) |
4 calls:
| 12.0ms | (/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
| 8.0ms | (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v) |
| 5.0ms | (sinh.f32 (/.f32 1 v)) |
| 5.0ms | (*.f32 cosTheta_i (/.f32 1 v)) |
| 2× | batch-egg-rewrite |
| 250× | expm1-udef_binary32 |
| 250× | log1p-udef_binary32 |
| 225× | log-pow_binary32 |
| 141× | add-sqr-sqrt_binary32 |
| 132× | log1p-expm1-u_binary32 |
4 calls:
| 64.0ms | (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v) |
| 64.0ms | (/.f32 (*.f32 sinTheta_i sinTheta_O) v) |
| 64.0ms | (*.f32 cosTheta_i (/.f32 1 v)) |
| 64.0ms | (sinh.f32 (/.f32 1 v)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 29 |
| 1 | 290 | 29 |
| 2 | 3489 | 29 |
| 3 | 4935 | 29 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
13 alts after pruning (13 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 153 | 7 | 160 |
| Fresh | 8 | 6 | 14 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 162 | 13 | 175 |
| Status | Error | Program |
| 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (exp.f32 (log.f32 (sinh.f32 (/.f32 1 v)))) 2) v)) | |
| 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (pow.f32 (pow.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2)) 3) 1/3)) | |
| 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (exp.f32 (log.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2))))) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (expm1.f32 (log1p.f32 (sinh.f32 (/.f32 1 v)))) 2) v)) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (-.f32 (exp.f32 (log1p.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2)))) 1)) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (pow.f32 (cbrt.f32 (/.f32 cosTheta_i v)) 3))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)) | |
| 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (cbrt.f32 (*.f32 (pow.f32 v 3) (pow.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) 3)))) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 (cbrt.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (pow.f32 (cbrt.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) 2))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (*.f32 (*.f32 (pow.f32 (cbrt.f32 (sinh.f32 (/.f32 1 v))) 3) 2) v)) | |
| 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (*.f32 (*.f32 (pow.f32 (pow.f32 (sinh.f32 (/.f32 1 v)) 3) 1/3) 2) v)) | |
| ▶ | 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (*.f32 (/.f32 sinTheta_i v) sinTheta_O))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)) |
| 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (sqrt.f32 v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)) | |
| 10.8b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (exp.f32 (log.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)) |
Compiled 5215 to 2993 computations (42.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.2b | (/.f32 (*.f32 (exp.f32 (neg.f32 (*.f32 (/.f32 sinTheta_i v) sinTheta_O))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)) |
| ✓ | 0.2b | (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v) |
| ✓ | 0.2b | (*.f32 cosTheta_i (/.f32 1 v)) |
| ✓ | 0.8b | (sinh.f32 (/.f32 1 v)) |
4 calls:
| 415.0ms | (/.f32 (*.f32 (exp.f32 (neg.f32 (*.f32 (/.f32 sinTheta_i v) sinTheta_O))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)) |
| 8.0ms | (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v) |
| 5.0ms | (sinh.f32 (/.f32 1 v)) |
| 5.0ms | (*.f32 cosTheta_i (/.f32 1 v)) |
| 2× | batch-egg-rewrite |
| 211× | add-sqr-sqrt_binary32 |
| 198× | times-frac_binary32 |
| 196× | add-log-exp_binary32 |
| 196× | log1p-expm1-u_binary32 |
| 196× | expm1-log1p-u_binary32 |
4 calls:
| 75.0ms | (/.f32 (*.f32 (exp.f32 (neg.f32 (*.f32 (/.f32 sinTheta_i v) sinTheta_O))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)) |
| 75.0ms | (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v) |
| 75.0ms | (*.f32 cosTheta_i (/.f32 1 v)) |
| 75.0ms | (sinh.f32 (/.f32 1 v)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 20 | 56 |
| 1 | 428 | 54 |
| 2 | 4770 | 54 |
| 3 | 4986 | 54 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
15 alts after pruning (15 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 211 | 4 | 215 |
| Fresh | 1 | 11 | 12 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 213 | 15 | 228 |
| Status | Error | Program |
| 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (exp.f32 (log.f32 (sinh.f32 (/.f32 1 v)))) 2) v)) | |
| 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (pow.f32 (pow.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2)) 3) 1/3)) | |
| 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (exp.f32 (log.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2))))) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (expm1.f32 (log1p.f32 (sinh.f32 (/.f32 1 v)))) 2) v)) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (-.f32 (exp.f32 (log1p.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2)))) 1)) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (pow.f32 (cbrt.f32 (/.f32 cosTheta_i v)) 3))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)) | |
| 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (cbrt.f32 (*.f32 (pow.f32 v 3) (pow.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) 3)))) | |
| 0.5b | (*.f32 (/.f32 (*.f32 (exp.f32 (*.f32 (/.f32 sinTheta_i v) sinTheta_O)) cosTheta_O) (sqrt.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2)))) (/.f32 (/.f32 cosTheta_i v) (sqrt.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2))))) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 (cbrt.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (pow.f32 (cbrt.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) 2))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (*.f32 (*.f32 (pow.f32 (cbrt.f32 (sinh.f32 (/.f32 1 v))) 3) 2) v)) | |
| 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (*.f32 (*.f32 (pow.f32 (pow.f32 (sinh.f32 (/.f32 1 v)) 3) 1/3) 2) v)) | |
| ▶ | 0.4b | (*.f32 (/.f32 (*.f32 (exp.f32 (*.f32 (/.f32 sinTheta_i v) sinTheta_O)) cosTheta_O) 1) (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2)))) |
| 0.4b | (*.f32 (/.f32 (*.f32 (/.f32 cosTheta_i v) cosTheta_O) (sinh.f32 (/.f32 1 v))) (/.f32 (exp.f32 (*.f32 (/.f32 sinTheta_i v) sinTheta_O)) (*.f32 2 v))) | |
| 0.4b | (*.f32 (*.f32 (exp.f32 (*.f32 (/.f32 sinTheta_i v) sinTheta_O)) (*.f32 (/.f32 cosTheta_i v) cosTheta_O)) (/.f32 1 (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2)))) | |
| 10.8b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (exp.f32 (log.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)) |
Compiled 7322 to 3929 computations (46.3% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.1b | (*.f32 (/.f32 (*.f32 (exp.f32 (*.f32 (/.f32 sinTheta_i v) sinTheta_O)) cosTheta_O) 1) (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2)))) |
| ✓ | 0.2b | (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2)) |
| ✓ | 0.3b | (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2))) |
| ✓ | 0.8b | (sinh.f32 (/.f32 1 v)) |
4 calls:
| 542.0ms | (*.f32 (/.f32 (*.f32 (exp.f32 (*.f32 (/.f32 sinTheta_i v) sinTheta_O)) cosTheta_O) 1) (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2)))) |
| 125.0ms | (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2))) |
| 10.0ms | (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2)) |
| 5.0ms | (sinh.f32 (/.f32 1 v)) |
| 2× | batch-egg-rewrite |
| 201× | add-sqr-sqrt_binary32 |
| 187× | add-log-exp_binary32 |
| 187× | log1p-expm1-u_binary32 |
| 187× | expm1-log1p-u_binary32 |
| 185× | add-cbrt-cube_binary32 |
4 calls:
| 80.0ms | (*.f32 (/.f32 (*.f32 (exp.f32 (*.f32 (/.f32 sinTheta_i v) sinTheta_O)) cosTheta_O) 1) (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2)))) |
| 80.0ms | (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2)) |
| 80.0ms | (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2))) |
| 80.0ms | (sinh.f32 (/.f32 1 v)) |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 20 | 68 |
| 1 | 411 | 68 |
| 2 | 4870 | 68 |
| 3 | 5008 | 68 |
| 0 | 0 | 0 |
| 1 | 0 | 0 |
14 alts after pruning (14 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 250 | 3 | 253 |
| Fresh | 3 | 11 | 14 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 254 | 14 | 268 |
| Status | Error | Program |
| 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (exp.f32 (log.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2))))) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (expm1.f32 (log1p.f32 (sinh.f32 (/.f32 1 v)))) 2) v)) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (-.f32 (exp.f32 (log1p.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2)))) 1)) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (pow.f32 (cbrt.f32 (/.f32 cosTheta_i v)) 3))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)) | |
| 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (cbrt.f32 (*.f32 (pow.f32 v 3) (pow.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) 3)))) | |
| 0.5b | (*.f32 (/.f32 (*.f32 (exp.f32 (*.f32 (/.f32 sinTheta_i v) sinTheta_O)) cosTheta_O) (sqrt.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2)))) (/.f32 (/.f32 cosTheta_i v) (sqrt.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2))))) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 (cbrt.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (pow.f32 (cbrt.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) 2))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)) | |
| 0.5b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (*.f32 (*.f32 (pow.f32 (cbrt.f32 (sinh.f32 (/.f32 1 v))) 3) 2) v)) | |
| 10.8b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (exp.f32 (log.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)) | |
| 0.4b | (*.f32 (/.f32 (*.f32 (exp.f32 (*.f32 (/.f32 sinTheta_i v) sinTheta_O)) cosTheta_O) 1) (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (exp.f32 (log.f32 (sinh.f32 (/.f32 1 v)))) 2)))) | |
| 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (*.f32 (*.f32 (pow.f32 (pow.f32 (sinh.f32 (/.f32 1 v)) 3) 1/3) 2) v)) | |
| 0.4b | (*.f32 (/.f32 (*.f32 (exp.f32 (*.f32 (/.f32 sinTheta_i v) sinTheta_O)) cosTheta_O) 1) (*.f32 (/.f32 cosTheta_i (*.f32 v (sinh.f32 (/.f32 1 v)))) (/.f32 (/.f32 1 v) 2))) | |
| 0.4b | (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (pow.f32 (pow.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2)) 3) 1/3)) | |
| 0.5b | (*.f32 (/.f32 (*.f32 (exp.f32 (*.f32 (/.f32 sinTheta_i v) sinTheta_O)) cosTheta_O) 1) (pow.f32 (cbrt.f32 (/.f32 (/.f32 cosTheta_i v) (*.f32 v (*.f32 (sinh.f32 (/.f32 1 v)) 2)))) 3)) |
Compiled 7782 to 4183 computations (46.2% saved)
Total 0.4b remaining (83.8%)
Threshold costs 0.4b (83.8%)
Compiled 58688 to 42639 computations (27.3% saved)
| 1× | egg-herbie |
| 5× | *-commutative_binary32 |
| 1× | /-rgt-identity_binary32 |
| 1× | 1-exp_binary32 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 20 | 35 |
| 1 | 27 | 35 |
| 2 | 26 | 35 |
(sort sinTheta_i sinTheta_O)
Compiled 669 to 485 computations (27.5% saved)
Loading profile data...