
Time bar (total: 3.9s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 0 |
| 100% | 0% | 0% | 100% | 0% | 0% | 0% | 1 |
Compiled 52 to 41 computations (21.2% saved)
| 1.0s | 8 256× | 73 | valid-baseline |
| 889.0ms | 8 256× | 73 | valid-rival |
| 777.0ms | 8 256× | 73 | valid-sollya |
ival-mult: 248.0ms (37.6% of total)ival-div: 210.0ms (31.9% of total)ival-sinh: 78.0ms (11.8% of total)ival-exp: 69.0ms (10.5% of total)ival-neg: 37.0ms (5.6% of total)ival-true: 8.0ms (1.2% of total)...in/eval/compile.rkt:110:19: 6.0ms (0.9% of total)ival-assert: 4.0ms (0.6% of total)ival-mult: 260.0ms (38.2% of total)ival-div: 224.0ms (32.9% of total)ival-sinh: 72.0ms (10.6% of total)ival-exp: 69.0ms (10.1% of total)ival-neg: 39.0ms (5.7% of total)const: 16.0ms (2.4% of total)| 1× | egg-herbie |
| 1 126× | associate-*r* |
| 1 094× | associate-*l* |
| 1 090× | associate-*r/ |
| 934× | *-commutative |
| 920× | associate-*l/ |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 150 | 2070 |
| 1 | 551 | 1990 |
| 2 | 2100 | 1914 |
| 1× | node limit |
| Inputs |
|---|
(/.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 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(/.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 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 (neg.f32 cosTheta_i) cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i (neg.f32 cosTheta_O)) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 (neg.f32 sinTheta_i) sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i (neg.f32 sinTheta_O)) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 v)))) (/.f32 (*.f32 cosTheta_i cosTheta_O) (neg.f32 v))) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) (neg.f32 v))) #s(literal 2 binary32)) (neg.f32 v))) |
(neg.f32 (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 (neg.f32 cosTheta_i) cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))) |
(neg.f32 (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i (neg.f32 cosTheta_O)) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))) |
(neg.f32 (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 (neg.f32 sinTheta_i) sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))) |
(neg.f32 (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i (neg.f32 sinTheta_O)) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))) |
(neg.f32 (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 v)))) (/.f32 (*.f32 cosTheta_i cosTheta_O) (neg.f32 v))) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) (neg.f32 v))) #s(literal 2 binary32)) (neg.f32 v)))) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_O cosTheta_i) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 cosTheta_i sinTheta_O) v))) (/.f32 (*.f32 sinTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i cosTheta_i) v))) (/.f32 (*.f32 sinTheta_O cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) cosTheta_i))) (/.f32 (*.f32 v cosTheta_O) cosTheta_i)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) cosTheta_i)) #s(literal 2 binary32)) cosTheta_i)) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 cosTheta_O sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i sinTheta_i) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i cosTheta_O) v))) (/.f32 (*.f32 cosTheta_i sinTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) cosTheta_O))) (/.f32 (*.f32 cosTheta_i v) cosTheta_O)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) cosTheta_O)) #s(literal 2 binary32)) cosTheta_O)) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_O sinTheta_i) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 v sinTheta_O) sinTheta_i))) (/.f32 (*.f32 cosTheta_i cosTheta_O) sinTheta_i)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) sinTheta_i)) #s(literal 2 binary32)) sinTheta_i)) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i v) sinTheta_O))) (/.f32 (*.f32 cosTheta_i cosTheta_O) sinTheta_O)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) sinTheta_O)) #s(literal 2 binary32)) sinTheta_O)) |
| Outputs |
|---|
(/.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 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(/.f32 (*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O (neg.f32 v)))) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))) |
(*.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O (neg.f32 v))) (/.f32 (*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))) |
(/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (*.f32 (*.f32 v #s(literal 2 binary32)) v)) (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)))) |
(/.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 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(/.f32 (*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O (neg.f32 v)))) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))) |
(*.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O (neg.f32 v))) (/.f32 (*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))) |
(/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (*.f32 (*.f32 v #s(literal 2 binary32)) v)) (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)))) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 (neg.f32 cosTheta_i) cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O (neg.f32 v)))) (/.f32 (*.f32 cosTheta_i (/.f32 (neg.f32 cosTheta_O) v)) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))) |
(*.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O (neg.f32 v))) (*.f32 (/.f32 cosTheta_i (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))) (/.f32 (/.f32 (neg.f32 cosTheta_O) v) v))) |
(/.f32 (/.f32 (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (*.f32 v #s(literal -2 binary32))) (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v))) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i (neg.f32 cosTheta_O)) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O (neg.f32 v)))) (/.f32 (*.f32 cosTheta_i (/.f32 (neg.f32 cosTheta_O) v)) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))) |
(*.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O (neg.f32 v))) (*.f32 (/.f32 cosTheta_i (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))) (/.f32 (/.f32 (neg.f32 cosTheta_O) v) v))) |
(/.f32 (/.f32 (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (*.f32 v #s(literal -2 binary32))) (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v))) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 (neg.f32 sinTheta_i) sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 (neg.f32 v)))) (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))) |
(*.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (/.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))) |
(*.f32 cosTheta_i (*.f32 (/.f32 cosTheta_O (*.f32 v v)) (/.f32 (/.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)) #s(literal 2 binary32)) (sinh.f32 (/.f32 #s(literal 1 binary32) v))))) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i (neg.f32 sinTheta_O)) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 (neg.f32 v)))) (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))) |
(*.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (/.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))) |
(*.f32 cosTheta_i (*.f32 (/.f32 cosTheta_O (*.f32 v v)) (/.f32 (/.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)) #s(literal 2 binary32)) (sinh.f32 (/.f32 #s(literal 1 binary32) v))))) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 v)))) (/.f32 (*.f32 cosTheta_i cosTheta_O) (neg.f32 v))) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) (neg.f32 v))) #s(literal 2 binary32)) (neg.f32 v))) |
(*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 (neg.f32 v)))) (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O (neg.f32 v))) (*.f32 (neg.f32 v) (*.f32 #s(literal 2 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) (neg.f32 v))))))) |
(*.f32 (*.f32 cosTheta_i (/.f32 (neg.f32 cosTheta_O) v)) (/.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)) (*.f32 (sinh.f32 (/.f32 #s(literal -1 binary32) v)) (*.f32 #s(literal -2 binary32) v)))) |
(*.f32 (/.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)) (*.f32 #s(literal 2 binary32) (sinh.f32 (/.f32 #s(literal -1 binary32) v)))) (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 v v)))) |
(neg.f32 (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 (neg.f32 cosTheta_i) cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))) |
(/.f32 (*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O (neg.f32 v)))) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))) |
(*.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O (neg.f32 v))) (/.f32 (*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))) |
(/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (*.f32 (*.f32 v #s(literal 2 binary32)) v)) (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)))) |
(neg.f32 (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i (neg.f32 cosTheta_O)) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))) |
(/.f32 (*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O (neg.f32 v)))) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))) |
(*.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O (neg.f32 v))) (/.f32 (*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))) |
(/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (*.f32 (*.f32 v #s(literal 2 binary32)) v)) (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)))) |
(neg.f32 (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 (neg.f32 sinTheta_i) sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))) |
(/.f32 (*.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 (neg.f32 v))))) (neg.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))) |
(*.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (/.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (*.f32 #s(literal -2 binary32) v)))) |
(*.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)) (/.f32 (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (*.f32 v #s(literal -2 binary32)))) |
(neg.f32 (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i (neg.f32 sinTheta_O)) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))) |
(/.f32 (*.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 (neg.f32 v))))) (neg.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))) |
(*.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (/.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (*.f32 #s(literal -2 binary32) v)))) |
(*.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)) (/.f32 (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (*.f32 v #s(literal -2 binary32)))) |
(neg.f32 (/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 v)))) (/.f32 (*.f32 cosTheta_i cosTheta_O) (neg.f32 v))) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) (neg.f32 v))) #s(literal 2 binary32)) (neg.f32 v)))) |
(/.f32 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 (neg.f32 v)))) (*.f32 cosTheta_i (/.f32 cosTheta_O (neg.f32 v)))) (neg.f32 (*.f32 (neg.f32 v) (*.f32 #s(literal 2 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) (neg.f32 v))))))) |
(/.f32 (*.f32 cosTheta_i (*.f32 (/.f32 cosTheta_O v) (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)))) (*.f32 (sinh.f32 (/.f32 #s(literal -1 binary32) v)) (*.f32 #s(literal -2 binary32) v))) |
(*.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (/.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)) (*.f32 (sinh.f32 (/.f32 #s(literal -1 binary32) v)) (*.f32 v #s(literal -2 binary32))))) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_O cosTheta_i) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(/.f32 (*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O (neg.f32 v)))) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))) |
(*.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O (neg.f32 v))) (/.f32 (*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))) |
(/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (*.f32 (*.f32 v #s(literal 2 binary32)) v)) (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)))) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 cosTheta_i sinTheta_O) v))) (/.f32 (*.f32 sinTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_O cosTheta_i) (neg.f32 v))) (/.f32 (*.f32 sinTheta_i (/.f32 cosTheta_O v)) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))) |
(*.f32 (exp.f32 (*.f32 cosTheta_i (/.f32 sinTheta_O (neg.f32 v)))) (*.f32 (/.f32 sinTheta_i (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))) (/.f32 (/.f32 cosTheta_O v) v))) |
(/.f32 (/.f32 (*.f32 sinTheta_i (/.f32 (/.f32 cosTheta_O v) (*.f32 v #s(literal 2 binary32)))) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (pow.f32 (exp.f32 sinTheta_O) (/.f32 cosTheta_i v))) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i cosTheta_i) v))) (/.f32 (*.f32 sinTheta_O cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i cosTheta_i) (neg.f32 v))) (/.f32 (*.f32 sinTheta_O (/.f32 cosTheta_O v)) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))) |
(*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 cosTheta_i (neg.f32 v)))) (*.f32 cosTheta_O (/.f32 (/.f32 sinTheta_O v) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))))) |
(/.f32 (*.f32 (/.f32 (/.f32 cosTheta_O v) (*.f32 v #s(literal 2 binary32))) (/.f32 sinTheta_O (sinh.f32 (/.f32 #s(literal 1 binary32) v)))) (pow.f32 (exp.f32 (/.f32 sinTheta_i v)) cosTheta_i)) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) cosTheta_i))) (/.f32 (*.f32 v cosTheta_O) cosTheta_i)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) cosTheta_i)) #s(literal 2 binary32)) cosTheta_i)) |
(*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 cosTheta_i))) (/.f32 (*.f32 v (/.f32 cosTheta_O cosTheta_i)) (*.f32 cosTheta_i (*.f32 #s(literal 2 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) cosTheta_i)))))) |
(*.f32 (exp.f32 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O cosTheta_i))) (*.f32 v (/.f32 (/.f32 cosTheta_O cosTheta_i) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) cosTheta_i)) (*.f32 cosTheta_i #s(literal 2 binary32)))))) |
(*.f32 (/.f32 v (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O cosTheta_i))) (/.f32 cosTheta_O (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) cosTheta_i)) (*.f32 (*.f32 cosTheta_i #s(literal 2 binary32)) cosTheta_i)))) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 cosTheta_O sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i sinTheta_i) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(*.f32 (exp.f32 (neg.f32 (*.f32 sinTheta_O (/.f32 cosTheta_O v)))) (/.f32 (*.f32 sinTheta_i (/.f32 cosTheta_i v)) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))) |
(*.f32 (/.f32 (*.f32 cosTheta_i (/.f32 sinTheta_i v)) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (/.f32 (exp.f32 (*.f32 sinTheta_O (/.f32 (neg.f32 cosTheta_O) v))) (*.f32 v #s(literal 2 binary32)))) |
(/.f32 (*.f32 cosTheta_i (/.f32 sinTheta_i (pow.f32 (exp.f32 sinTheta_O) (/.f32 cosTheta_O v)))) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (*.f32 (*.f32 v #s(literal 2 binary32)) v))) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i cosTheta_O) v))) (/.f32 (*.f32 cosTheta_i sinTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(/.f32 (*.f32 (*.f32 cosTheta_i (/.f32 sinTheta_O v)) (exp.f32 (/.f32 (*.f32 sinTheta_i cosTheta_O) (neg.f32 v)))) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))) |
(*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 (neg.f32 cosTheta_O) v))) (/.f32 (*.f32 cosTheta_i (/.f32 (/.f32 sinTheta_O v) v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))) |
(/.f32 (/.f32 (*.f32 sinTheta_O (/.f32 cosTheta_i v)) (*.f32 #s(literal 2 binary32) (pow.f32 (exp.f32 sinTheta_i) (/.f32 cosTheta_O v)))) (*.f32 v (sinh.f32 (/.f32 #s(literal 1 binary32) v)))) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) cosTheta_O))) (/.f32 (*.f32 cosTheta_i v) cosTheta_O)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) cosTheta_O)) #s(literal 2 binary32)) cosTheta_O)) |
(*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 cosTheta_O))) (/.f32 (*.f32 cosTheta_i (/.f32 v cosTheta_O)) (*.f32 cosTheta_O (*.f32 #s(literal 2 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) cosTheta_O)))))) |
(*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O (neg.f32 cosTheta_O)))) (*.f32 (/.f32 cosTheta_i (sinh.f32 (/.f32 #s(literal 1 binary32) cosTheta_O))) (/.f32 (/.f32 v cosTheta_O) (*.f32 cosTheta_O #s(literal 2 binary32))))) |
(/.f32 (*.f32 v cosTheta_i) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) cosTheta_O)) (*.f32 (*.f32 cosTheta_O #s(literal 2 binary32)) cosTheta_O)) (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O cosTheta_O)))) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_O sinTheta_i) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(/.f32 (*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O (neg.f32 v)))) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))) |
(*.f32 (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O (neg.f32 v))) (/.f32 (*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))) |
(/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (*.f32 (*.f32 v #s(literal 2 binary32)) v)) (pow.f32 (exp.f32 sinTheta_i) (/.f32 sinTheta_O v)))) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 v sinTheta_O) sinTheta_i))) (/.f32 (*.f32 cosTheta_i cosTheta_O) sinTheta_i)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) sinTheta_i)) #s(literal 2 binary32)) sinTheta_i)) |
(*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_O v) sinTheta_i))) (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O sinTheta_i)) (*.f32 sinTheta_i (*.f32 #s(literal 2 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) sinTheta_i)))))) |
(*.f32 (exp.f32 (*.f32 v (/.f32 sinTheta_O (neg.f32 sinTheta_i)))) (*.f32 cosTheta_i (/.f32 (/.f32 cosTheta_O sinTheta_i) (*.f32 #s(literal 2 binary32) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) sinTheta_i)) sinTheta_i))))) |
(/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O sinTheta_i)) (*.f32 (*.f32 #s(literal 2 binary32) (*.f32 sinTheta_i (sinh.f32 (/.f32 #s(literal 1 binary32) sinTheta_i)))) (pow.f32 (exp.f32 sinTheta_O) (/.f32 v sinTheta_i)))) |
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i v) sinTheta_O))) (/.f32 (*.f32 cosTheta_i cosTheta_O) sinTheta_O)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) sinTheta_O)) #s(literal 2 binary32)) sinTheta_O)) |
(*.f32 (/.f32 (exp.f32 (neg.f32 (*.f32 sinTheta_i (/.f32 v sinTheta_O)))) (*.f32 #s(literal 2 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) sinTheta_O)))) (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O sinTheta_O)) sinTheta_O)) |
(*.f32 (exp.f32 (*.f32 sinTheta_i (/.f32 v (neg.f32 sinTheta_O)))) (*.f32 cosTheta_i (/.f32 (/.f32 cosTheta_O sinTheta_O) (*.f32 #s(literal 2 binary32) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) sinTheta_O)) sinTheta_O))))) |
(/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) sinTheta_O)) (*.f32 (*.f32 sinTheta_O #s(literal 2 binary32)) sinTheta_O)) (pow.f32 (exp.f32 sinTheta_i) (/.f32 v sinTheta_O)))) |
(negabs cosTheta_i)
(negabs cosTheta_O)
(sort cosTheta_i cosTheta_O)
(sort sinTheta_i sinTheta_O)
Compiled 27 to 19 computations (29.6% saved)
Compiled 5 to 5 computations (0% saved)
| Status | Accuracy | Program |
|---|---|---|
| 98.6% | (/.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 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
Compiled 54 to 38 computations (29.6% saved)
| 1× | egg-herbie |
| 20× | *-commutative |
| 10× | sub-neg |
| 10× | neg-sub0 |
| 10× | +-commutative |
| 10× | neg-mul-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 28 | 91 |
| 1 | 45 | 91 |
| 2 | 57 | 91 |
| 3 | 66 | 91 |
| 4 | 72 | 91 |
| 5 | 74 | 91 |
| 1× | saturated |
| Inputs |
|---|
(/.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 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
| Outputs |
|---|
(/.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 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v)) |
(/.f32 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))) |
(/.f32 (*.f32 (exp.f32 (/.f32 (*.f32 sinTheta_i (neg.f32 sinTheta_O)) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))) |
| 1× | fuel |
Compiled 27 to 19 computations (29.6% saved)
(sort sinTheta_i sinTheta_O)
(sort cosTheta_i cosTheta_O)
(negabs cosTheta_O)
(negabs cosTheta_i)
Compiled 540 to 380 computations (29.6% saved)
Loading profile data...