Time bar (total: 6.3s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 4 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 5 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 6 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 7 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 8 |
| 6.3% | 6.2% | 93.6% | 0.2% | 0% | 0% | 0% | 9 |
| 12.5% | 12.5% | 87.3% | 0.2% | 0% | 0% | 0% | 10 |
| 18.8% | 18.7% | 81.1% | 0.2% | 0% | 0% | 0% | 11 |
| 25.4% | 25.3% | 74.3% | 0.2% | 0.2% | 0% | 0% | 12 |
Compiled 12 to 8 computations (33.3% saved)
| 1.2s | 8256× | body | 256 | valid |
| 273.0ms | 2078× | body | 256 | infinite |
| 2× | egg-herbie |
| 55× | associate-/l*_binary64 |
| 32× | associate-/r/_binary64 |
| 31× | associate-/r*_binary64 |
| 30× | associate-*r/_binary64 |
| 23× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 70 |
| 1 | 73 | 70 |
| 2 | 158 | 70 |
| 3 | 262 | 70 |
| 4 | 289 | 70 |
| 0 | 4 | 4 |
| 1 | 4 | 4 |
| 1× | unsound |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
2 |
3 |
| Outputs |
|---|
0 |
1 |
0 |
2 |
3 |
2 |
| Inputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) |
(/.f64 (*.f64 a2 a1) (*.f64 b1 b2)) |
(/.f64 (*.f64 b1 a2) (*.f64 a1 b2)) |
(/.f64 (*.f64 b2 a2) (*.f64 b1 a1)) |
(/.f64 (*.f64 a1 b1) (*.f64 a2 b2)) |
(/.f64 (*.f64 a1 b2) (*.f64 b1 a2)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
| Outputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) |
(/.f64 a1 (/.f64 (*.f64 b1 b2) a2)) |
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1))) |
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2)) |
(/.f64 a1 (*.f64 b2 (/.f64 b1 a2))) |
(/.f64 (*.f64 a2 a1) (*.f64 b1 b2)) |
(/.f64 a1 (/.f64 (*.f64 b1 b2) a2)) |
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1))) |
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2)) |
(/.f64 a1 (*.f64 b2 (/.f64 b1 a2))) |
(/.f64 (*.f64 b1 a2) (*.f64 a1 b2)) |
(*.f64 (/.f64 b1 a1) (/.f64 a2 b2)) |
(*.f64 (/.f64 b1 b2) (/.f64 a2 a1)) |
(*.f64 a2 (/.f64 b1 (*.f64 a1 b2))) |
(/.f64 (*.f64 b2 a2) (*.f64 b1 a1)) |
(*.f64 (/.f64 b2 b1) (/.f64 a2 a1)) |
(*.f64 (/.f64 a2 b1) (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 (/.f64 a2 b1) a1)) |
(/.f64 (*.f64 a1 b1) (*.f64 a2 b2)) |
(*.f64 (/.f64 a1 a2) (/.f64 b1 b2)) |
(*.f64 (/.f64 a1 b2) (/.f64 b1 a2)) |
(/.f64 (*.f64 a1 (/.f64 b1 a2)) b2) |
(*.f64 a1 (/.f64 (/.f64 b1 a2) b2)) |
(/.f64 (*.f64 a1 b2) (*.f64 b1 a2)) |
(*.f64 (/.f64 a1 b1) (/.f64 b2 a2)) |
(*.f64 (/.f64 a1 a2) (/.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 a1 (/.f64 (*.f64 b1 b2) a2)) |
(/.f64 a1 (/.f64 b2 (/.f64 a2 b1))) |
(/.f64 a1 (*.f64 (/.f64 b1 a2) b2)) |
(/.f64 a1 (*.f64 b2 (/.f64 b1 a2))) |
(sort a1 a2)
(sort b1 b2)
Compiled 15 to 11 computations (26.7% saved)
| 1× | egg-herbie |
| 14× | associate-/l*_binary64 |
| 9× | associate-*r/_binary64 |
| 9× | associate-/r/_binary64 |
| 7× | *-commutative_binary64 |
| 6× | associate-/r*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 10 |
| 1 | 17 | 10 |
| 2 | 38 | 10 |
| 3 | 67 | 10 |
| 4 | 79 | 10 |
| 5 | 79 | 10 |
| 1× | saturated |
| Inputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) |
| Outputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) |
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2)) |
(*.f64 a2 (/.f64 a1 (*.f64 b1 b2))) |
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2))) |
Compiled 18 to 9 computations (50% saved)
3 alts after pruning (3 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 2 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 3 | 3 |
| Status | Error | Program |
|---|---|---|
| ▶ | 11.4b | (*.f64 a1 (/.f64 a2 (*.f64 b1 b2))) |
| ▶ | 12.3b | (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) |
Compiled 22 to 14 computations (36.4% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 5.8b | (/.f64 a2 (*.f64 b1 b2)) |
| ✓ | 6.7b | (*.f64 a1 (/.f64 a2 (*.f64 b1 b2))) |
Compiled 23 to 7 computations (69.6% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | a1 | @ | 0 | (*.f64 a1 (/.f64 a2 (*.f64 b1 b2))) |
| 2.0ms | b1 | @ | 0 | (*.f64 a1 (/.f64 a2 (*.f64 b1 b2))) |
| 1.0ms | a2 | @ | 0 | (*.f64 a1 (/.f64 a2 (*.f64 b1 b2))) |
| 1.0ms | b1 | @ | inf | (*.f64 a1 (/.f64 a2 (*.f64 b1 b2))) |
| 1.0ms | b2 | @ | 0 | (*.f64 a1 (/.f64 a2 (*.f64 b1 b2))) |
| 1× | batch-egg-rewrite |
| 938× | pow1_binary64 |
| 866× | add-log-exp_binary64 |
| 866× | log1p-expm1-u_binary64 |
| 866× | expm1-log1p-u_binary64 |
| 846× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 17 |
| 1 | 166 | 17 |
| 2 | 2286 | 17 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2))) |
(/.f64 a2 (*.f64 b1 b2)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a1 (/.f64 b1 (/.f64 a2 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 b1 b2) (*.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 a2) (*.f64 b1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 a1 a2)) (*.f64 b1 (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a2) b1) b2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a2) b2) b1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a2) 1) (*.f64 b1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a2) (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (cbrt.f64 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a2) (sqrt.f64 (*.f64 b1 b2))) (sqrt.f64 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a2) a1) (*.f64 b1 (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 a2 b1) a1) b2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 (neg.f64 a2)) (*.f64 b1 (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 (/.f64 a2 b1)) b2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a1 (/.f64 a2 (*.f64 b1 b2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a1 (/.f64 a2 (*.f64 b1 b2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a1 (/.f64 a2 (*.f64 b1 b2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a1) (/.f64 a2 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a1 (/.f64 a2 (*.f64 b1 b2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 a1 3) (pow.f64 (/.f64 a2 (*.f64 b1 b2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 a2 (*.f64 b1 b2)) 3) (pow.f64 a1 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a1 (/.f64 a2 (*.f64 b1 b2))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 a2 (*.f64 b1 b2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a2 (/.f64 (/.f64 1 b2) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (*.f64 b1 b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 a2 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 a2) 2) (*.f64 (cbrt.f64 a2) (/.f64 (/.f64 1 b2) b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 a2 (*.f64 b1 b2))) (pow.f64 (cbrt.f64 (/.f64 a2 (*.f64 b1 b2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 a2 (*.f64 b1 b2))) 2) (cbrt.f64 (/.f64 a2 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a2) (*.f64 (sqrt.f64 a2) (/.f64 (/.f64 1 b2) b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 a2 (*.f64 b1 b2))) (sqrt.f64 (/.f64 a2 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 a2) (/.f64 1 (*.f64 b1 (neg.f64 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 b2) b1) a2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 b1) (/.f64 1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) 1) (/.f64 (cbrt.f64 a2) (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) 1) (/.f64 (sqrt.f64 a2) (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) b1) (/.f64 (sqrt.f64 a2) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b1) (/.f64 a2 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) b1) (/.f64 (cbrt.f64 a2) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) b2) (/.f64 (sqrt.f64 a2) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b2) (/.f64 a2 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) b2) (/.f64 (cbrt.f64 a2) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (/.f64 a2 (cbrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (cbrt.f64 (/.f64 a2 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (/.f64 (sqrt.f64 a2) (cbrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (*.f64 b1 b2))) (/.f64 a2 (sqrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) (sqrt.f64 (*.f64 b1 b2))) (/.f64 (cbrt.f64 a2) (sqrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a2 (*.f64 b1 b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a2 (*.f64 b1 b2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 a2 (*.f64 b1 b2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 a2 (*.f64 b1 b2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b1 (/.f64 a2 b2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 a2 (*.f64 b1 (neg.f64 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 a2 (*.f64 b1 b2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 a2 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 a2 (*.f64 b1 b2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 a2 3) (pow.f64 (*.f64 b1 b2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 a2 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 a2 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 a2 (*.f64 b1 b2)))))))) |
| 1× | egg-herbie |
| 14× | associate-/l*_binary64 |
| 9× | associate-*r/_binary64 |
| 9× | associate-/r/_binary64 |
| 7× | *-commutative_binary64 |
| 6× | associate-/r*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 732 |
| 1 | 20 | 732 |
| 2 | 41 | 732 |
| 3 | 69 | 732 |
| 4 | 79 | 732 |
| 5 | 79 | 732 |
| 1× | saturated |
| Inputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
| Outputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 12.0b | (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) |
Compiled 21 to 7 computations (66.7% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | a1 | @ | 0 | (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) |
| 0.0ms | a1 | @ | -inf | (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) |
| 0.0ms | a2 | @ | -inf | (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) |
| 0.0ms | a1 | @ | inf | (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) |
| 0.0ms | b2 | @ | inf | (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) |
| 1× | batch-egg-rewrite |
| 556× | log-prod_binary64 |
| 434× | exp-prod_binary64 |
| 316× | pow-prod-down_binary64 |
| 251× | div-exp_binary64 |
| 237× | pow2_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 10 |
| 1 | 169 | 10 |
| 2 | 2503 | 10 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 a2 b2)) (/.f64 a1 b1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 a2 b2)) (/.f64 a1 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 a2 b2)) (/.f64 a1 b1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 a2 b2)) (/.f64 a1 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a1 (/.f64 1 (/.f64 b1 (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a1 (*.f64 a2 (/.f64 1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a2 (*.f64 a1 (/.f64 1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a1 a2) (/.f64 1 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))) (cbrt.f64 (pow.f64 (/.f64 b1 (/.f64 (*.f64 a1 a2) b2)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 b1 (/.f64 (*.f64 a1 a2) b2)) -2)) (cbrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 a1 a2)) 2) (*.f64 (cbrt.f64 (*.f64 a1 a2)) (/.f64 1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))) (sqrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 a1 a2)) (*.f64 (sqrt.f64 (*.f64 a1 a2)) (/.f64 1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a1 (neg.f64 a2)) (/.f64 1 (*.f64 b1 (neg.f64 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 b1) (/.f64 a2 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 b2) (/.f64 a1 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 b1 b2)) (*.f64 a1 a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 a2) b1) (/.f64 1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 1) (/.f64 a2 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 b1) (/.f64 a1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 1) (/.f64 a1 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a1 a2)) 2) 1) (/.f64 (cbrt.f64 (*.f64 a1 a2)) (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 a1 a2)) 1) (/.f64 (sqrt.f64 (*.f64 a1 a2)) (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 a1 a2)) b1) (/.f64 (sqrt.f64 (*.f64 a1 a2)) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 b2) (/.f64 a2 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b1) (/.f64 (*.f64 a1 a2) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a1 a2)) 2) b1) (/.f64 (cbrt.f64 (*.f64 a1 a2)) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 a1 a2)) b2) (/.f64 (sqrt.f64 (*.f64 a1 a2)) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b2) (/.f64 (*.f64 a1 a2) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a1 a2)) 2) b2) (/.f64 (cbrt.f64 (*.f64 a1 a2)) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (*.f64 b1 b2)) a2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (/.f64 a2 (cbrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (/.f64 a1 (cbrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 b1 b2)) -2) (/.f64 (*.f64 a1 a2) (cbrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a1 a2)) 2) (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (cbrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 a1 a2)) (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (/.f64 (sqrt.f64 (*.f64 a1 a2)) (cbrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (sqrt.f64 (*.f64 b1 b2))) (/.f64 a2 (sqrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (sqrt.f64 (*.f64 b1 b2))) (/.f64 a1 (sqrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 b1 b2) -1/2) (/.f64 (*.f64 a1 a2) (sqrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a1 a2)) 2) (sqrt.f64 (*.f64 b1 b2))) (/.f64 (cbrt.f64 (*.f64 a1 a2)) (sqrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 b1 (/.f64 (*.f64 a1 a2) b2)) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 b1 (/.f64 (*.f64 a1 a2) b2)) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b1 (/.f64 (*.f64 a1 a2) b2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 a1 a2) 3) (pow.f64 (*.f64 b1 b2) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 b1 (/.f64 (*.f64 a1 a2) b2)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))) (sqrt.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 (neg.f64 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 b1 (/.f64 (*.f64 a1 a2) b2)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 a2 b2)) (/.f64 a1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 b1 (/.f64 (*.f64 a1 a2) b2)) -3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 a1 a2) 3) (pow.f64 (*.f64 b1 b2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 b1 (/.f64 (*.f64 a1 a2) b2)) -3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 b1 (/.f64 (*.f64 a1 a2) b2))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 a1 b1) (/.f64 a2 b2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 a1) 1) (log.f64 (/.f64 b1 (/.f64 a2 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 a1 a2)) 1) (log.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 a1 a2)) (*.f64 (log.f64 (*.f64 b1 b2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 a1 a2)) 1) (*.f64 (log.f64 (*.f64 b1 b2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (/.f64 (*.f64 a1 a2) b1)) (*.f64 (log.f64 b2) 1))))))) |
| 1× | egg-herbie |
| 14× | associate-/l*_binary64 |
| 9× | associate-*r/_binary64 |
| 9× | associate-/r/_binary64 |
| 7× | *-commutative_binary64 |
| 6× | associate-/r*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 480 |
| 1 | 17 | 480 |
| 2 | 38 | 480 |
| 3 | 67 | 480 |
| 4 | 79 | 480 |
| 5 | 79 | 480 |
| 1× | saturated |
| Inputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
| Outputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
Compiled 1640 to 528 computations (67.8% saved)
10 alts after pruning (9 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 133 | 9 | 142 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 1 | 1 |
| Total | 134 | 10 | 144 |
| Status | Error | Program |
|---|---|---|
| ▶ | 10.6b | (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) |
| ▶ | 21.3b | (*.f64 a1 (*.f64 (/.f64 (sqrt.f64 a2) b2) (/.f64 (sqrt.f64 a2) b1))) |
| 11.9b | (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)) | |
| 12.8b | (/.f64 (/.f64 (*.f64 a1 a2) b1) b2) | |
| 10.9b | (*.f64 a1 (*.f64 (/.f64 a2 b1) (/.f64 1 b2))) | |
| ▶ | 10.9b | (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) |
| ✓ | 11.4b | (*.f64 a1 (/.f64 a2 (*.f64 b1 b2))) |
| ▶ | 12.6b | (/.f64 (/.f64 (*.f64 a1 a2) b2) b1) |
| ▶ | 11.8b | (/.f64 (*.f64 (/.f64 a2 b1) a1) b2) |
| 12.4b | (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a1 a2)) 2) b1) (/.f64 (cbrt.f64 (*.f64 a1 a2)) b2)) |
Compiled 237 to 149 computations (37.1% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 5.5b | (/.f64 a1 (*.f64 b1 b2)) |
| ✓ | 6.1b | (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) |
Compiled 23 to 7 computations (69.6% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 5.0ms | b1 | @ | 0 | (/.f64 a1 (*.f64 b1 b2)) |
| 1.0ms | b1 | @ | inf | (/.f64 a1 (*.f64 b1 b2)) |
| 1.0ms | b2 | @ | -inf | (/.f64 a1 (*.f64 b1 b2)) |
| 1.0ms | b2 | @ | 0 | (/.f64 a1 (*.f64 b1 b2)) |
| 1.0ms | b2 | @ | inf | (/.f64 a1 (*.f64 b1 b2)) |
| 1× | batch-egg-rewrite |
| 939× | pow1_binary64 |
| 867× | add-log-exp_binary64 |
| 867× | log1p-expm1-u_binary64 |
| 867× | expm1-log1p-u_binary64 |
| 847× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 17 |
| 1 | 166 | 17 |
| 2 | 2289 | 17 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) |
(/.f64 a1 (*.f64 b1 b2)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a1 (/.f64 (*.f64 b1 b2) a2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a2 (/.f64 b1 (/.f64 a1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 b1 b2) (*.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 a2) (*.f64 b1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 a1 a2)) (*.f64 b1 (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a2) b1) b2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a2) b2) b1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a2) 1) (*.f64 b1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a2) (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (cbrt.f64 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a2) (sqrt.f64 (*.f64 b1 b2))) (sqrt.f64 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a1) a2) (*.f64 b1 (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 a1 b1) a2) b2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 (neg.f64 a1)) (*.f64 b1 (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 (/.f64 a1 b1)) b2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 a1 (*.f64 b1 b2))) a2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 a1 (*.f64 b1 b2)) 3) (pow.f64 a2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 a2 3) (pow.f64 (/.f64 a1 (*.f64 b1 b2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 a1 (*.f64 b1 b2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a1 (/.f64 (/.f64 1 b1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (*.f64 b1 b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 a1 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 a1) 2) (*.f64 (cbrt.f64 a1) (/.f64 (/.f64 1 b1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 a1 (*.f64 b1 b2))) (pow.f64 (cbrt.f64 (/.f64 a1 (*.f64 b1 b2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 a1 (*.f64 b1 b2))) 2) (cbrt.f64 (/.f64 a1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a1) (*.f64 (sqrt.f64 a1) (/.f64 (/.f64 1 b1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 a1 (*.f64 b1 b2))) (sqrt.f64 (/.f64 a1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 a1) (/.f64 1 (*.f64 b1 (neg.f64 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 b1) b2) a1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 b1) (/.f64 1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) 1) (/.f64 (cbrt.f64 a1) (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a1) 1) (/.f64 (sqrt.f64 a1) (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a1) b1) (/.f64 (sqrt.f64 a1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b1) (/.f64 a1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) b1) (/.f64 (cbrt.f64 a1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a1) b2) (/.f64 (sqrt.f64 a1) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b2) (/.f64 a1 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) b2) (/.f64 (cbrt.f64 a1) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (/.f64 a1 (cbrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (cbrt.f64 (/.f64 a1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a1) (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2)) (/.f64 (sqrt.f64 a1) (cbrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (*.f64 b1 b2))) (/.f64 a1 (sqrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) (sqrt.f64 (*.f64 b1 b2))) (/.f64 (cbrt.f64 a1) (sqrt.f64 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a1 (*.f64 b1 b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a1 (*.f64 b1 b2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 a1 (*.f64 b1 b2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 a1 (*.f64 b1 b2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b1 (/.f64 a1 b2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 a1 (*.f64 b1 (neg.f64 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 a1 (*.f64 b1 b2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 a1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 a1 (*.f64 b1 b2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 a1 3) (pow.f64 (*.f64 b1 b2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 a1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 a1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 a1 (*.f64 b1 b2)))))))) |
| 1× | egg-herbie |
| 14× | associate-/l*_binary64 |
| 9× | associate-/r/_binary64 |
| 8× | associate-*r/_binary64 |
| 7× | *-commutative_binary64 |
| 6× | associate-/r*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 732 |
| 1 | 19 | 732 |
| 2 | 40 | 732 |
| 3 | 67 | 732 |
| 4 | 79 | 732 |
| 5 | 79 | 732 |
| 1× | saturated |
| Inputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
| Outputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
(/.f64 a1 (*.f64 b2 b1)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 10.6b | (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) |
Compiled 21 to 7 computations (66.7% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | a2 | @ | 0 | (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) |
| 0.0ms | a2 | @ | -inf | (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) |
| 0.0ms | b1 | @ | -inf | (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) |
| 0.0ms | a1 | @ | inf | (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) |
| 0.0ms | b2 | @ | inf | (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) |
| 1× | batch-egg-rewrite |
| 521× | log-prod_binary64 |
| 455× | prod-exp_binary64 |
| 388× | exp-prod_binary64 |
| 376× | pow-prod-down_binary64 |
| 250× | pow2_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 10 |
| 1 | 175 | 10 |
| 2 | 2581 | 10 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 a1 b2)) (/.f64 a2 b1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 a1 b2)) (/.f64 a2 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 a1 b2)) (/.f64 a2 b1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 a1 b2)) (/.f64 a2 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a2 (*.f64 b1 (/.f64 b2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a2 (*.f64 (/.f64 b2 a1) b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a2 (/.f64 (*.f64 b1 b2) a1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a2 (/.f64 b1 (/.f64 a1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 a2 b1) (/.f64 b2 a1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a1 (*.f64 (/.f64 b1 a2) b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a1 (*.f64 b2 (/.f64 b1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 a1 b2) (/.f64 b1 a2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 b1 a2) (/.f64 b2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 b2 a1) (/.f64 b1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 b1 b2) (*.f64 a2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 b1 (*.f64 a2 (/.f64 a1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 b2 (*.f64 (/.f64 a2 b1) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 a1) (*.f64 (/.f64 b1 a2) (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 a2) (*.f64 (/.f64 b2 a1) (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 a1) (*.f64 b1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 (/.f64 a1 b2)) b1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 a2 b1) a1) b2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 a2 a1)) (neg.f64 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 a2 (/.f64 a1 b2))) (neg.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (/.f64 a2 b1) a1)) (neg.f64 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a2) 1) (*.f64 (neg.f64 b1) (/.f64 b2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 (neg.f64 a1)) (*.f64 b1 (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a2) (neg.f64 a1)) (*.f64 (neg.f64 b1) (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b2) b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a1) 1) (*.f64 (neg.f64 b2) (/.f64 b1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 (neg.f64 a2)) (*.f64 b2 (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a1) (neg.f64 a2)) (*.f64 (neg.f64 b2) (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a2 (/.f64 a1 b2)) 1) b1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a2 (/.f64 a1 b2)) (pow.f64 (cbrt.f64 b1) 2)) (cbrt.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a2 (/.f64 a1 b2)) (sqrt.f64 b1)) (sqrt.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 a2 b1) a1) 1) b2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 a2 b1) a1) (pow.f64 (cbrt.f64 b2) 2)) (cbrt.f64 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 a2 b1) a1) (sqrt.f64 b2)) (sqrt.f64 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a2) (/.f64 a1 b2)) (neg.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a1) (/.f64 a2 b1)) (neg.f64 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 a2 b1) (neg.f64 a1)) (neg.f64 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 a1 b2) (neg.f64 a2)) (neg.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 b1 a2) (/.f64 b2 a1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 b2 a1) (/.f64 b1 a2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 b1 b2) (*.f64 a2 a1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b1 (*.f64 a2 (/.f64 a1 b2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b2 (*.f64 (/.f64 a2 b1) a1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))))) (sqrt.f64 (log.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 a1 b2)) (/.f64 a2 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 a2 b1)) 1) (log.f64 (/.f64 b2 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 a1 b2)) 1) (log.f64 (/.f64 b1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 a2 (/.f64 a1 b2))) (*.f64 (log.f64 b1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1)) (*.f64 (log.f64 b2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 a2 b1)) 1) (log.f64 (/.f64 a1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (/.f64 a2 b1)) (*.f64 (log.f64 (/.f64 a1 b2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 a2 b1)) 1) (*.f64 (log.f64 (/.f64 a1 b2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 a1 b2)) 1) (log.f64 (/.f64 a2 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (/.f64 a1 b2)) (*.f64 (log.f64 (/.f64 a2 b1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 a1 b2)) 1) (*.f64 (log.f64 (/.f64 a2 b1)) 1))))))) |
| 1× | egg-herbie |
| 14× | associate-/l*_binary64 |
| 9× | associate-*r/_binary64 |
| 9× | associate-/r/_binary64 |
| 7× | *-commutative_binary64 |
| 6× | associate-/r*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 480 |
| 1 | 17 | 480 |
| 2 | 38 | 480 |
| 3 | 67 | 480 |
| 4 | 79 | 480 |
| 5 | 79 | 480 |
| 1× | saturated |
| Inputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
| Outputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 4.5b | (*.f64 (/.f64 a2 b1) a1) |
| ✓ | 7.5b | (/.f64 (*.f64 (/.f64 a2 b1) a1) b2) |
Compiled 23 to 7 computations (69.6% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | a1 | @ | inf | (*.f64 (/.f64 a2 b1) a1) |
| 0.0ms | b1 | @ | -inf | (*.f64 (/.f64 a2 b1) a1) |
| 0.0ms | b1 | @ | 0 | (*.f64 (/.f64 a2 b1) a1) |
| 0.0ms | a2 | @ | -inf | (*.f64 (/.f64 a2 b1) a1) |
| 0.0ms | a2 | @ | 0 | (*.f64 (/.f64 a2 b1) a1) |
| 1× | batch-egg-rewrite |
| 519× | log-prod_binary64 |
| 396× | exp-prod_binary64 |
| 375× | prod-exp_binary64 |
| 323× | pow-prod-down_binary64 |
| 242× | pow2_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 17 |
| 1 | 172 | 17 |
| 2 | 2499 | 17 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (*.f64 (/.f64 a2 b1) a1) b2) |
(*.f64 (/.f64 a2 b1) a1) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 (/.f64 a2 b1) b2)) a1)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 (/.f64 a2 b1) b2)) a1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 (/.f64 a2 b1) b2)) a1))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 (/.f64 a2 b1) b2)) a1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 b1) (/.f64 1 (/.f64 b2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 b1) (*.f64 a1 (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a1 (*.f64 (/.f64 a2 b1) (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a2 b1) a1) (/.f64 1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1)) (cbrt.f64 (pow.f64 (*.f64 (/.f64 b1 a2) (/.f64 b2 a1)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 b1 a2) (/.f64 b2 a1)) -2)) (cbrt.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) a1)) 2) (*.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) a1)) (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1)) (sqrt.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 a2 b1) a1)) (*.f64 (sqrt.f64 (*.f64 (/.f64 a2 b1) a1)) (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a1 (neg.f64 (/.f64 a2 b1))) (/.f64 1 (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b2) (*.f64 (/.f64 a2 b1) a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 a2 b1) 1) (/.f64 a1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 1) (/.f64 (/.f64 a2 b1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 a2 b1) b2) a1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) a1)) 2) 1) (/.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) a1)) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (/.f64 a2 b1) a1)) 1) (/.f64 (sqrt.f64 (*.f64 (/.f64 a2 b1) a1)) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 a2 b1) (pow.f64 (cbrt.f64 b2) 2)) (/.f64 a1 (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (pow.f64 (cbrt.f64 b2) 2)) (/.f64 (/.f64 a2 b1) (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 b2) -2) (/.f64 (*.f64 (/.f64 a2 b1) a1) (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) a1)) 2) (pow.f64 (cbrt.f64 b2) 2)) (cbrt.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (/.f64 a2 b1) a1)) (pow.f64 (cbrt.f64 b2) 2)) (/.f64 (sqrt.f64 (*.f64 (/.f64 a2 b1) a1)) (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 a2 b1) (sqrt.f64 b2)) (/.f64 a1 (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (sqrt.f64 b2)) (/.f64 (/.f64 a2 b1) (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 b2 -1/2) (/.f64 (*.f64 (/.f64 a2 b1) a1) (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) a1)) 2) (sqrt.f64 b2)) (/.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) a1)) (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 b1 a2) (/.f64 b2 a1)) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 b1 a2) (/.f64 b2 a1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 (/.f64 a2 b1) a1) 3) (pow.f64 b2 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (/.f64 b1 a2) (/.f64 b2 a1)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 b2 a1) (/.f64 b1 a2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1)))) (sqrt.f64 (log.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (/.f64 a2 b1) a1) (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 b1 a2) (/.f64 b2 a1)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 (/.f64 a2 b1) b2)) a1))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (/.f64 a2 b1) a1) 3) (pow.f64 b2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 b1 a2) (/.f64 b2 a1))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) a1)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 a2 b1)) 1) (log.f64 (/.f64 b2 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1)) 1) (log.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1)) (*.f64 (log.f64 b2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1)) 1) (*.f64 (log.f64 b2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1)) 1) (neg.f64 (log.f64 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (neg.f64 (log.f64 b2)) (*.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1)) 1))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 a2 b1) a1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 a1) (/.f64 a2 b1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 a1) (/.f64 a2 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a1) (/.f64 a2 b1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a1) (/.f64 a2 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 a2 b1) a1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a2 (/.f64 b1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a1 (/.f64 b1 a2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 b1 (*.f64 a2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 a1) b1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 a2 a1)) (neg.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a2 a1) 1) b1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a2 a1) (pow.f64 (cbrt.f64 b1) 2)) (cbrt.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a2 a1) (sqrt.f64 b1)) (sqrt.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a2) a1) (neg.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 (neg.f64 a2)) (neg.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 a2 b1) a1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 a2 b1) a1) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 a2 b1) a1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) a1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 a2 b1) a1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 a2 b1) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b1 (*.f64 a2 a1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1)))) (sqrt.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 a2 b1) a1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a1) (/.f64 a2 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 a2 b1) a1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 a2 b1) a1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 a2 b1) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 a2 b1) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (/.f64 a2 b1) a1))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 a2 b1) a1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 a2 b1) a1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 a2 b1) a1)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 a1) 1) (log.f64 (/.f64 b1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 a2 a1)) (*.f64 (log.f64 b1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 a2 b1)) 1) (log.f64 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (/.f64 a2 b1)) (*.f64 (log.f64 a1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 a2 b1)) 1) (*.f64 (log.f64 a1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 a1) 1) (log.f64 (/.f64 a2 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 a1) (*.f64 (log.f64 (/.f64 a2 b1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 a1) 1) (*.f64 (log.f64 (/.f64 a2 b1)) 1))))))) |
| 1× | egg-herbie |
| 14× | associate-/l*_binary64 |
| 10× | associate-/r/_binary64 |
| 7× | associate-*r/_binary64 |
| 6× | *-commutative_binary64 |
| 6× | associate-/r*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 732 |
| 1 | 20 | 732 |
| 2 | 43 | 732 |
| 3 | 70 | 732 |
| 4 | 77 | 732 |
| 1× | saturated |
| Inputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
| Outputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 4.6b | (/.f64 (*.f64 a1 a2) b2) |
| ✓ | 8.9b | (/.f64 (/.f64 (*.f64 a1 a2) b2) b1) |
Compiled 23 to 7 computations (69.6% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 21.0ms | b2 | @ | -inf | (/.f64 (/.f64 (*.f64 a1 a2) b2) b1) |
| 1.0ms | a1 | @ | inf | (/.f64 (*.f64 a1 a2) b2) |
| 1.0ms | a2 | @ | inf | (/.f64 (*.f64 a1 a2) b2) |
| 0.0ms | a1 | @ | 0 | (/.f64 (*.f64 a1 a2) b2) |
| 0.0ms | a1 | @ | -inf | (/.f64 (*.f64 a1 a2) b2) |
| 1× | batch-egg-rewrite |
| 531× | log-prod_binary64 |
| 407× | exp-prod_binary64 |
| 332× | pow-prod-down_binary64 |
| 242× | pow2_binary64 |
| 198× | div-exp_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 17 |
| 1 | 172 | 17 |
| 2 | 2543 | 17 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (/.f64 (*.f64 a1 a2) b2) b1) |
(/.f64 (*.f64 a1 a2) b2) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a1 a2) (/.f64 1 (*.f64 b2 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a1 b2) a2) (/.f64 1 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1))) (cbrt.f64 (pow.f64 (*.f64 b1 (/.f64 b2 (*.f64 a1 a2))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 b1 (/.f64 b2 (*.f64 a1 a2))) -2)) (cbrt.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a1 b2) a2)) 2) (*.f64 (cbrt.f64 (*.f64 (/.f64 a1 b2) a2)) (/.f64 1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1))) (sqrt.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 a1 b2) a2)) (*.f64 (sqrt.f64 (*.f64 (/.f64 a1 b2) a2)) (/.f64 1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 (neg.f64 a2)) b2) (/.f64 1 (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b1) (*.f64 (/.f64 a1 b2) a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 b1) (/.f64 a2 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 b1) (/.f64 a1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a1 a2)) 2) b1) (/.f64 (cbrt.f64 (*.f64 a1 a2)) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 a1 a2)) b1) (/.f64 (sqrt.f64 (*.f64 a1 a2)) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 a2) 1) (/.f64 (/.f64 1 b2) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a1 b2) a2)) 2) 1) (/.f64 (cbrt.f64 (*.f64 (/.f64 a1 b2) a2)) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (/.f64 a1 b2) a2)) 1) (/.f64 (sqrt.f64 (*.f64 (/.f64 a1 b2) a2)) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 a2) (pow.f64 (cbrt.f64 b1) 2)) (/.f64 (/.f64 1 b2) (cbrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 b1) -2) (/.f64 (*.f64 (/.f64 a1 b2) a2) (cbrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a1 b2) a2)) 2) (pow.f64 (cbrt.f64 b1) 2)) (cbrt.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (/.f64 a1 b2) a2)) (pow.f64 (cbrt.f64 b1) 2)) (/.f64 (sqrt.f64 (*.f64 (/.f64 a1 b2) a2)) (cbrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 a2) (sqrt.f64 b1)) (/.f64 (/.f64 1 b2) (sqrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 b1 -1/2) (/.f64 (*.f64 (/.f64 a1 b2) a2) (sqrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a1 b2) a2)) 2) (sqrt.f64 b1)) (/.f64 (cbrt.f64 (*.f64 (/.f64 a1 b2) a2)) (sqrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 b1 (/.f64 b2 (*.f64 a1 a2))) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 b1 (/.f64 b2 (*.f64 a1 a2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 b2 (*.f64 a1 a2)) -3) (pow.f64 b1 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 b2 (*.f64 a1 a2)) b1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 b2 b1) (*.f64 a1 a2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 b1 (/.f64 b2 (*.f64 a1 a2))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1)))) 2)) (cbrt.f64 (log.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1))))) (sqrt.f64 (log.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (/.f64 a1 b2) a2) (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 b1 (/.f64 b2 (*.f64 a1 a2))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 b2 (*.f64 a1 a2)) -3) (pow.f64 b1 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 b1 (/.f64 b2 (*.f64 a1 a2)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 a1 (*.f64 (/.f64 b2 a2) b1))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 a1 a2)) 1) (log.f64 (*.f64 b2 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (/.f64 a1 b2) a2)) 1) (log.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 (/.f64 a1 b2) a2)) (*.f64 (log.f64 b1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (/.f64 a1 b2) a2)) 1) (*.f64 (log.f64 b1) 1))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 a1 b2) a2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 a1 b2)) a2)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 a1 b2)) a2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 a1 b2)) a2))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 a1 b2)) a2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 a1 b2) a2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a1 (/.f64 1 (/.f64 b2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a1 (*.f64 a2 (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a2 (*.f64 a1 (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a1 a2) (/.f64 1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a1 b2) a2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 a1 b2) a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 a1 b2) a2)) (pow.f64 (cbrt.f64 (*.f64 (/.f64 a1 b2) a2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a1 b2) a2)) 2) (cbrt.f64 (*.f64 (/.f64 a1 b2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 a1 a2)) 2) (*.f64 (cbrt.f64 (*.f64 a1 a2)) (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 a1 b2) a2)) (sqrt.f64 (*.f64 (/.f64 a1 b2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 a1 a2)) (*.f64 (sqrt.f64 (*.f64 a1 a2)) (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a1 (neg.f64 a2)) (/.f64 1 (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b2) (*.f64 a1 a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 1) (/.f64 a2 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 1) (/.f64 a1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 b2) a2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a1 a2)) 2) 1) (/.f64 (cbrt.f64 (*.f64 a1 a2)) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 a1 a2)) 1) (/.f64 (sqrt.f64 (*.f64 a1 a2)) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (pow.f64 (cbrt.f64 b2) 2)) (/.f64 a2 (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (pow.f64 (cbrt.f64 b2) 2)) (/.f64 a1 (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 b2) -2) (/.f64 (*.f64 a1 a2) (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a1 a2)) 2) (pow.f64 (cbrt.f64 b2) 2)) (cbrt.f64 (*.f64 (/.f64 a1 b2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 a1 a2)) (pow.f64 (cbrt.f64 b2) 2)) (/.f64 (sqrt.f64 (*.f64 a1 a2)) (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (sqrt.f64 b2)) (/.f64 a2 (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (sqrt.f64 b2)) (/.f64 a1 (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 b2 -1/2) (/.f64 (*.f64 a1 a2) (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a1 a2)) 2) (sqrt.f64 b2)) (/.f64 (cbrt.f64 (*.f64 a1 a2)) (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 a1 b2) a2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 a1 b2) a2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 b2 (*.f64 a1 a2)) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 a1 b2) a2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 a1 b2) a2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b2 (*.f64 a1 a2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 a1 b2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 a1 a2) 3) (pow.f64 b2 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 b2 (*.f64 a1 a2)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 a1 b2) a2))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 a1 b2) a2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 a1 b2) a2)))) (sqrt.f64 (log.f64 (*.f64 (/.f64 a1 b2) a2))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 a1 a2) (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 a1 b2) a2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 a1 b2)) a2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 a1 b2) a2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 b2 (*.f64 a1 a2)) -3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 a1 a2) 3) (pow.f64 b2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 a1 b2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 a1 b2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 a1 b2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 a1 b2) a2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 b2 (*.f64 a1 a2)) -3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 a1 b2) a2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 a1 b2) a2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 b2 (*.f64 a1 a2))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 a1 b2) a2)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 a1) 1) (log.f64 (/.f64 b2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 a1 a2)) 1) (log.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 a1 a2)) (*.f64 (log.f64 b2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 a1 a2)) 1) (*.f64 (log.f64 b2) 1))))))) |
| 1× | egg-herbie |
| 14× | associate-/l*_binary64 |
| 9× | associate-*r/_binary64 |
| 9× | associate-/r/_binary64 |
| 7× | *-commutative_binary64 |
| 6× | associate-/r*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 480 |
| 1 | 17 | 480 |
| 2 | 38 | 480 |
| 3 | 67 | 480 |
| 4 | 79 | 480 |
| 5 | 79 | 480 |
| 1× | saturated |
| Inputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
| Outputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1))) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (/.f64 (sqrt.f64 a2) b2) |
| ✓ | 0.2b | (/.f64 (sqrt.f64 a2) b1) |
| ✓ | 3.2b | (*.f64 (/.f64 (sqrt.f64 a2) b2) (/.f64 (sqrt.f64 a2) b1)) |
| ✓ | 4.6b | (*.f64 a1 (*.f64 (/.f64 (sqrt.f64 a2) b2) (/.f64 (sqrt.f64 a2) b1))) |
Compiled 38 to 9 computations (76.3% saved)
33 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | a2 | @ | -inf | (*.f64 a1 (*.f64 (/.f64 (sqrt.f64 a2) b2) (/.f64 (sqrt.f64 a2) b1))) |
| 1.0ms | a2 | @ | 0 | (/.f64 (sqrt.f64 a2) b1) |
| 1.0ms | b1 | @ | 0 | (/.f64 (sqrt.f64 a2) b1) |
| 1.0ms | a2 | @ | -inf | (/.f64 (sqrt.f64 a2) b1) |
| 1.0ms | a2 | @ | -inf | (/.f64 (sqrt.f64 a2) b2) |
| 1× | batch-egg-rewrite |
| 632× | log-prod_binary64 |
| 477× | pow-prod-down_binary64 |
| 292× | pow2_binary64 |
| 288× | pow-unpow_binary64 |
| 209× | pow1/3_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 29 |
| 1 | 215 | 29 |
| 2 | 3060 | 29 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 a1 (*.f64 (/.f64 (sqrt.f64 a2) b2) (/.f64 (sqrt.f64 a2) b1))) |
(*.f64 (/.f64 (sqrt.f64 a2) b2) (/.f64 (sqrt.f64 a2) b1)) |
(/.f64 (sqrt.f64 a2) b1) |
(/.f64 (sqrt.f64 a2) b2) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 a1 (/.f64 (/.f64 a2 b1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 a1) (/.f64 (/.f64 a2 b1) b2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 a1) (/.f64 (/.f64 a2 b1) b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a1) (/.f64 (/.f64 a2 b1) b2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a1) (/.f64 (/.f64 a2 b1) b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 a1 (/.f64 (/.f64 a2 b1) b2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 (/.f64 (sqrt.f64 a2) b2)) (/.f64 b1 (sqrt.f64 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 a1) (*.f64 b2 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 a2 b1) a1) b2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 a2 b2) a1) b1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 a2) (*.f64 b2 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 (/.f64 a2 b1)) b2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 (/.f64 a2 b2)) b1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 a1 (/.f64 (sqrt.f64 a2) b2)) (sqrt.f64 a2)) b1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 a1 (/.f64 (sqrt.f64 a2) b2)) 1) (/.f64 b1 (sqrt.f64 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 a1 (/.f64 (sqrt.f64 a2) b2)) (neg.f64 (sqrt.f64 a2))) (neg.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a1 (/.f64 (/.f64 a2 b1) b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a1 (/.f64 (/.f64 a2 b1) b2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a1 (/.f64 (/.f64 a2 b1) b2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a1 (/.f64 (/.f64 a2 b1) b2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 a1 (/.f64 (/.f64 a2 b1) b2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a1 (/.f64 (/.f64 a2 b1) b2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a1) (/.f64 (/.f64 a2 b1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 a1 (/.f64 (/.f64 a2 b1) b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a1 (/.f64 (/.f64 a2 b1) b2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a1 (/.f64 (/.f64 a2 b1) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a1 (/.f64 (/.f64 a2 b1) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a1 (/.f64 (/.f64 a2 b1) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 a1 (/.f64 (/.f64 a2 b1) b2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 a1 (/.f64 (/.f64 a2 b1) b2)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 a1 (/.f64 (/.f64 a2 b1) b2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 a1 (/.f64 (/.f64 a2 b1) b2)))) 2)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (/.f64 a2 b1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 a2 b1) b2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (/.f64 a2 b1) b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 a2 b1) b2)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (/.f64 a2 b1) b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (/.f64 a2 b1) b2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a2 (*.f64 b2 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 a2) (*.f64 (/.f64 b2 (sqrt.f64 a2)) b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 a2) (*.f64 b2 (/.f64 b1 (sqrt.f64 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 a2) (*.f64 (/.f64 b1 (sqrt.f64 a2)) b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 a2) (*.f64 b1 (/.f64 b2 (sqrt.f64 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 a2) (/.f64 (*.f64 b2 b1) (sqrt.f64 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 a2) (/.f64 b2 (/.f64 (sqrt.f64 a2) b1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sqrt.f64 a2) b2) (/.f64 b1 (sqrt.f64 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sqrt.f64 a2) b1) (/.f64 b2 (sqrt.f64 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 b2 (sqrt.f64 a2)) (/.f64 b1 (sqrt.f64 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 b1 (sqrt.f64 a2)) (/.f64 b2 (sqrt.f64 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 b2 b1) a2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 b2 (/.f64 a2 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 b1 (/.f64 a2 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 a2) 2) (/.f64 (*.f64 b2 b1) (cbrt.f64 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 a2)) (*.f64 (/.f64 b2 (sqrt.f64 a2)) (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 a2)) (*.f64 (/.f64 b1 (sqrt.f64 a2)) (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 a2 b1) b2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 a2 b2) b1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (neg.f64 (sqrt.f64 a2)) 2) (*.f64 (neg.f64 b2) (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (neg.f64 (sqrt.f64 a2)) 2) (*.f64 (neg.f64 b1) (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 a2) (neg.f64 (*.f64 b2 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 a2 b1)) (neg.f64 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 a2 b2)) (neg.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 a2)) (sqrt.f64 a2)) (*.f64 (neg.f64 b2) b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 a2)) (sqrt.f64 a2)) (*.f64 (neg.f64 b1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 a2)) 1) (*.f64 (neg.f64 b2) (/.f64 b1 (sqrt.f64 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 a2)) 1) (*.f64 (neg.f64 b1) (/.f64 b2 (sqrt.f64 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 a2) (neg.f64 (sqrt.f64 a2))) (*.f64 b2 (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 a2) (neg.f64 (sqrt.f64 a2))) (*.f64 b1 (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 a2 b1) 1) b2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 a2 b1) (cbrt.f64 (*.f64 b2 b2))) (cbrt.f64 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 a2 b1) (sqrt.f64 b2)) (sqrt.f64 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 a2 b2) 1) b1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 a2 b2) (pow.f64 (cbrt.f64 b1) 2)) (cbrt.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 a2 b2) (sqrt.f64 b1)) (sqrt.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 a2)) (/.f64 (sqrt.f64 a2) b2)) (neg.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 a2)) (/.f64 (sqrt.f64 a2) b1)) (neg.f64 b2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (sqrt.f64 a2) b2) (neg.f64 (sqrt.f64 a2))) (neg.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (sqrt.f64 a2) b1) (neg.f64 (sqrt.f64 a2))) (neg.f64 b2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 a2 b1) b2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 a2 b1) b2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 a2 b1) b2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (/.f64 a2 b1) b2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (/.f64 a2 b1) b2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 b2 (sqrt.f64 a2)) (/.f64 b1 (sqrt.f64 a2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 b1 (sqrt.f64 a2)) (/.f64 b2 (sqrt.f64 a2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 b2 b1) a2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b2 (/.f64 a2 b1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b1 (/.f64 a2 b2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (/.f64 a2 b1) b2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (/.f64 a2 b1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (/.f64 a2 b1) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (/.f64 a2 b1) b2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (/.f64 a2 b1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (/.f64 a2 b1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (/.f64 a2 b1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 a2 b1) b2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (/.f64 a2 b1) b2) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (/.f64 a2 b1) b2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (/.f64 a2 b1) b2))) 2)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sqrt.f64 a2) b1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 a2) b1))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 a2) b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sqrt.f64 a2) b1)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sqrt.f64 a2) b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sqrt.f64 a2) b1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a2) (/.f64 1 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) b1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sqrt.f64 a2) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sqrt.f64 a2) b1)) (cbrt.f64 (/.f64 a2 (*.f64 b1 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 a2 (*.f64 b1 b1))) (cbrt.f64 (/.f64 (sqrt.f64 a2) b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 a2) (*.f64 (pow.f64 a2 1/6) (/.f64 1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sqrt.f64 a2) b1)) (sqrt.f64 (/.f64 (sqrt.f64 a2) b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a2 1/4) (*.f64 (pow.f64 a2 1/4) (/.f64 1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 a2)) (/.f64 1 (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b1) (sqrt.f64 a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 a2) 1) (/.f64 (pow.f64 a2 1/6) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 a2 1/4) 1) (/.f64 (pow.f64 a2 1/4) b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 b1) -2) (/.f64 (sqrt.f64 a2) (cbrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 a2) (pow.f64 (cbrt.f64 b1) 2)) (cbrt.f64 (/.f64 (sqrt.f64 a2) b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 a2 1/4) (pow.f64 (cbrt.f64 b1) 2)) (/.f64 (pow.f64 a2 1/4) (cbrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 b1 -1/2) (/.f64 (sqrt.f64 a2) (sqrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 a2) (sqrt.f64 b1)) (/.f64 (pow.f64 a2 1/6) (sqrt.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 a2) b1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a2 (*.f64 b1 b1)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 b1 (sqrt.f64 a2)) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 a2) b1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 a2) b1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b1 (sqrt.f64 a2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 a2 3/2) (pow.f64 b1 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 b1 (sqrt.f64 a2)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 a2) (neg.f64 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 a2 (*.f64 b1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sqrt.f64 a2) b1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sqrt.f64 a2) b1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 b1 (sqrt.f64 a2)) -3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 a2 3/2) (pow.f64 b1 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sqrt.f64 a2) b1)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sqrt.f64 a2) b1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sqrt.f64 a2) b1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 a2) b1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 b1 (sqrt.f64 a2)) -3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (sqrt.f64 a2) b1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (sqrt.f64 a2) b1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 b1 (sqrt.f64 a2))) -1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sqrt.f64 a2) b2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 a2) b2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 a2) b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sqrt.f64 a2) b2)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sqrt.f64 a2) b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sqrt.f64 a2) b2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a2) (/.f64 1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) b2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sqrt.f64 a2) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sqrt.f64 a2) b2)) (cbrt.f64 (*.f64 a2 (pow.f64 b2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 a2 (pow.f64 b2 -2))) (cbrt.f64 (/.f64 (sqrt.f64 a2) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 a2) (*.f64 (pow.f64 a2 1/6) (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sqrt.f64 a2) b2)) (sqrt.f64 (/.f64 (sqrt.f64 a2) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a2 1/4) (*.f64 (pow.f64 a2 1/4) (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 a2)) (/.f64 1 (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b2) (sqrt.f64 a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 a2) 1) (/.f64 (pow.f64 a2 1/6) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 a2 1/4) 1) (/.f64 (pow.f64 a2 1/4) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 b2) -2) (/.f64 (sqrt.f64 a2) (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 a2) (cbrt.f64 (*.f64 b2 b2))) (cbrt.f64 (/.f64 (sqrt.f64 a2) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 a2 1/4) (cbrt.f64 (*.f64 b2 b2))) (/.f64 (pow.f64 a2 1/4) (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 b2 -1/2) (/.f64 (sqrt.f64 a2) (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 a2) (sqrt.f64 b2)) (/.f64 (pow.f64 a2 1/6) (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 a2) b2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a2 (pow.f64 b2 -2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 a2) b2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 a2) b2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 a2) b2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b2 (sqrt.f64 a2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 a2 3/2) (pow.f64 b2 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 b2 (sqrt.f64 a2)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 a2) (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 a2 (pow.f64 b2 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sqrt.f64 a2) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sqrt.f64 a2) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 a2) b2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 a2 3/2) (pow.f64 b2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sqrt.f64 a2) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sqrt.f64 a2) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sqrt.f64 a2) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 a2) b2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 a2) b2) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (sqrt.f64 a2) b2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (sqrt.f64 a2) b2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 b2 (sqrt.f64 a2))) -1)))))) |
| 1× | egg-herbie |
| 867× | div-sub_binary64 |
| 553× | associate-/l*_binary64 |
| 521× | distribute-rgt-neg-in_binary64 |
| 402× | distribute-neg-frac_binary64 |
| 392× | times-frac_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 25 | 948 |
| 1 | 70 | 876 |
| 2 | 241 | 876 |
| 3 | 838 | 876 |
| 4 | 4524 | 876 |
| 5 | 7346 | 876 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 a1 a2)) (*.f64 b2 b1))) |
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 a1 a2)) (*.f64 b2 b1))) |
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 a1 a2)) (*.f64 b2 b1))) |
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 a1 a2)) (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) a2) (*.f64 b2 b1))) |
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) a2) (*.f64 b2 b1))) |
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) a2) (*.f64 b2 b1))) |
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) a2) (*.f64 b2 b1))) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
| Outputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 a1 a2)) (*.f64 b2 b1))) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 a1 a2)) (*.f64 b2 b1))) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 a1 a2)) (*.f64 b2 b1))) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 a1 a2)) (*.f64 b2 b1))) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(/.f64 a2 (/.f64 (*.f64 b2 b1) a1)) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 a2 (/.f64 b2 (/.f64 a1 b1))) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) a2) (*.f64 b2 b1))) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) a2) (*.f64 b2 b1))) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) a2) (*.f64 b2 b1))) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(*.f64 -1 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) a2) (*.f64 b2 b1))) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(/.f64 a2 (*.f64 b2 b1)) |
(/.f64 (/.f64 a2 b2) b1) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(/.f64 (sqrt.f64 a2) b1) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(/.f64 (sqrt.f64 a2) b1) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(/.f64 (sqrt.f64 a2) b1) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(/.f64 (sqrt.f64 a2) b1) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(/.f64 (sqrt.f64 a2) b1) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(/.f64 (sqrt.f64 a2) b1) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(/.f64 (sqrt.f64 a2) b1) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(/.f64 (sqrt.f64 a2) b1) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(/.f64 (sqrt.f64 a2) b1) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(/.f64 (sqrt.f64 a2) b1) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(/.f64 (sqrt.f64 a2) b1) |
(*.f64 (/.f64 1 b1) (sqrt.f64 a2)) |
(/.f64 (sqrt.f64 a2) b1) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (sqrt.f64 a2) (/.f64 1 b2)) |
(/.f64 (sqrt.f64 a2) b2) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (sqrt.f64 a2) (/.f64 1 b2)) |
(/.f64 (sqrt.f64 a2) b2) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (sqrt.f64 a2) (/.f64 1 b2)) |
(/.f64 (sqrt.f64 a2) b2) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (sqrt.f64 a2) (/.f64 1 b2)) |
(/.f64 (sqrt.f64 a2) b2) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (sqrt.f64 a2) (/.f64 1 b2)) |
(/.f64 (sqrt.f64 a2) b2) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (sqrt.f64 a2) (/.f64 1 b2)) |
(/.f64 (sqrt.f64 a2) b2) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (sqrt.f64 a2) (/.f64 1 b2)) |
(/.f64 (sqrt.f64 a2) b2) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (sqrt.f64 a2) (/.f64 1 b2)) |
(/.f64 (sqrt.f64 a2) b2) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (sqrt.f64 a2) (/.f64 1 b2)) |
(/.f64 (sqrt.f64 a2) b2) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (sqrt.f64 a2) (/.f64 1 b2)) |
(/.f64 (sqrt.f64 a2) b2) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (sqrt.f64 a2) (/.f64 1 b2)) |
(/.f64 (sqrt.f64 a2) b2) |
(*.f64 (/.f64 1 b2) (sqrt.f64 a2)) |
(*.f64 (sqrt.f64 a2) (/.f64 1 b2)) |
(/.f64 (sqrt.f64 a2) b2) |
Compiled 6888 to 2266 computations (67.1% saved)
9 alts after pruning (4 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 565 | 4 | 569 |
| Fresh | 4 | 0 | 4 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 5 | 5 |
| Total | 570 | 9 | 579 |
| Status | Error | Program |
|---|---|---|
| ✓ | 10.9b | (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) |
| ✓ | 10.6b | (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) |
| ▶ | 10.2b | (/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
| ✓ | 11.4b | (*.f64 a1 (/.f64 a2 (*.f64 b1 b2))) |
| ▶ | 11.9b | (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
| ✓ | 12.6b | (/.f64 (/.f64 (*.f64 a1 a2) b2) b1) |
| ▶ | 11.8b | (/.f64 (*.f64 (/.f64 a1 b1) a2) b2) |
| ✓ | 11.8b | (/.f64 (*.f64 (/.f64 a2 b1) a1) b2) |
| ▶ | 10.6b | (/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) |
Compiled 99 to 63 computations (36.4% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 4.6b | (/.f64 b1 (/.f64 a1 b2)) |
| ✓ | 6.3b | (/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
Compiled 23 to 7 computations (69.6% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 55.0ms | b1 | @ | inf | (/.f64 b1 (/.f64 a1 b2)) |
| 4.0ms | b1 | @ | 0 | (/.f64 b1 (/.f64 a1 b2)) |
| 1.0ms | b2 | @ | -inf | (/.f64 b1 (/.f64 a1 b2)) |
| 1.0ms | b1 | @ | -inf | (/.f64 b1 (/.f64 a1 b2)) |
| 1.0ms | b2 | @ | 0 | (/.f64 b1 (/.f64 a1 b2)) |
| 1× | batch-egg-rewrite |
| 572× | log-prod_binary64 |
| 449× | exp-prod_binary64 |
| 299× | pow-prod-down_binary64 |
| 249× | pow2_binary64 |
| 222× | pow-unpow_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 17 |
| 1 | 178 | 17 |
| 2 | 2754 | 17 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 b1 (/.f64 a1 b2)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 a2) (/.f64 a1 (*.f64 b1 b2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 a2) (/.f64 a1 (*.f64 b1 b2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a2) (/.f64 a1 (*.f64 b1 b2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a2) (/.f64 a1 (*.f64 b1 b2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a2 (/.f64 a1 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 b2) (/.f64 a2 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2)))) (pow.f64 (cbrt.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2)))) 2) (cbrt.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 a2) 2) (*.f64 (cbrt.f64 a2) (/.f64 a1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2)))) (sqrt.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a2) (*.f64 (sqrt.f64 a2) (/.f64 a1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 a2) (/.f64 1 (*.f64 (neg.f64 b1) (/.f64 b2 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (*.f64 b1 b2)) a2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 b1) (/.f64 a1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) 1) (/.f64 (cbrt.f64 a2) (*.f64 b1 (/.f64 b2 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) 1) (/.f64 (sqrt.f64 a2) (*.f64 b1 (/.f64 b2 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) b1) (/.f64 (sqrt.f64 a2) (/.f64 b2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b1) (/.f64 a2 (/.f64 b2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) b1) (/.f64 (cbrt.f64 a2) (/.f64 b2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 b1 (/.f64 b2 a1))) -2) (/.f64 a2 (cbrt.f64 (*.f64 b1 (/.f64 b2 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) (cbrt.f64 (pow.f64 (/.f64 a1 (*.f64 b1 b2)) -2))) (cbrt.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) (cbrt.f64 (pow.f64 (/.f64 a1 (*.f64 b1 b2)) -2))) (/.f64 (sqrt.f64 a2) (cbrt.f64 (*.f64 b1 (/.f64 b2 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 b1 (/.f64 b2 a1)) -1/2) (/.f64 a2 (sqrt.f64 (*.f64 b1 (/.f64 b2 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) (sqrt.f64 (*.f64 b1 (/.f64 b2 a1)))) (/.f64 (cbrt.f64 a2) (sqrt.f64 (*.f64 b1 (/.f64 b2 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 b1 a1)) (/.f64 a2 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) (/.f64 b1 a1)) (/.f64 (cbrt.f64 a2) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) (/.f64 b1 a1)) (/.f64 (sqrt.f64 a2) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 1) (/.f64 a1 (*.f64 b1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (neg.f64 b1)) (/.f64 (neg.f64 a1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a2 b1) a1) (/.f64 1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a2 b1) 1) (/.f64 a1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a2 b1) (pow.f64 (cbrt.f64 (/.f64 a1 b2)) 2)) (cbrt.f64 (/.f64 a1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a2 b1) (sqrt.f64 (/.f64 a1 b2))) (sqrt.f64 (/.f64 a1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b1 (/.f64 a2 (/.f64 b2 a1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 a2 3) (pow.f64 (*.f64 b1 (/.f64 b2 a1)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 b1 (/.f64 a2 (/.f64 b2 a1))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2))))) 2)) (cbrt.f64 (log.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2)))))) (sqrt.f64 (log.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 a2 (*.f64 (neg.f64 b1) (/.f64 b2 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a2) (/.f64 a1 (*.f64 b1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 a2 3) (pow.f64 (*.f64 b1 (/.f64 b2 a1)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 b1 (/.f64 a2 (/.f64 b2 a1)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 a2 (/.f64 a1 (*.f64 b1 b2)))) 1) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 b1 (/.f64 b2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 b2) (/.f64 b1 a1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 b2) (/.f64 b1 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b2) (/.f64 b1 a1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b2) (/.f64 b1 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 b1 (/.f64 b2 a1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 b1 (/.f64 b2 a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 b2 (/.f64 b1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 b1 (/.f64 b2 a1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 b1 (/.f64 b2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 b1) 2) (*.f64 (cbrt.f64 b1) (/.f64 b2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 b1 (/.f64 b2 a1))) (cbrt.f64 (pow.f64 (/.f64 a1 (*.f64 b1 b2)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 a1 (*.f64 b1 b2)) -2)) (cbrt.f64 (*.f64 b1 (/.f64 b2 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 b1) (*.f64 (sqrt.f64 b1) (/.f64 b2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 b1 (/.f64 b2 a1))) (sqrt.f64 (*.f64 b1 (/.f64 b2 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 b1) (/.f64 1 (/.f64 (neg.f64 a1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b2 a1) b1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b1 a1) b2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 b1) 2) 1) (/.f64 (cbrt.f64 b1) (/.f64 a1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 b1) 1) (/.f64 (sqrt.f64 b1) (/.f64 a1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 b1) a1) (/.f64 (sqrt.f64 b1) (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b1 1) (/.f64 b2 a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a1) (/.f64 b1 (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 b1) 2) a1) (/.f64 (cbrt.f64 b1) (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 a1 b2)) -2) (/.f64 b1 (cbrt.f64 (/.f64 a1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 b1) 2) (pow.f64 (cbrt.f64 (/.f64 a1 b2)) 2)) (cbrt.f64 (*.f64 b1 (/.f64 b2 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 b1) (pow.f64 (cbrt.f64 (/.f64 a1 b2)) 2)) (/.f64 (sqrt.f64 b1) (cbrt.f64 (/.f64 a1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 a1 b2) -1/2) (/.f64 b1 (sqrt.f64 (/.f64 a1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 b1) 2) (sqrt.f64 (/.f64 a1 b2))) (/.f64 (cbrt.f64 b1) (sqrt.f64 (/.f64 a1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b1 (neg.f64 a1)) (neg.f64 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 b1 a1) 1) b2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 b1 a1) (pow.f64 (cbrt.f64 b2) 2)) (cbrt.f64 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 b1 a1) (sqrt.f64 b2)) (sqrt.f64 b2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 b1 (/.f64 b2 a1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a1 (*.f64 b1 b2)) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 b1 (/.f64 b2 a1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 b1 (/.f64 b2 a1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 b1 (/.f64 b2 a1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a1 (*.f64 b1 b2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 b1 (/.f64 b2 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 b1 3) (pow.f64 (/.f64 b2 a1) -3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 a1 (*.f64 b1 b2)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 b1 (/.f64 b2 a1)))) 2)) (cbrt.f64 (log.f64 (*.f64 b1 (/.f64 b2 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 b1 (/.f64 b2 a1))))) (sqrt.f64 (log.f64 (*.f64 b1 (/.f64 b2 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 b1 (/.f64 (neg.f64 a1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 a1 (*.f64 b1 b2)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 b2) (/.f64 b1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 b1 (/.f64 b2 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 b1 (/.f64 b2 a1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 b1 3) (pow.f64 (/.f64 b2 a1) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 b1 (/.f64 b2 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 b1 (/.f64 b2 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 b1 (/.f64 b2 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 b1 (/.f64 b2 a1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 b1 (/.f64 b2 a1)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 b1 (/.f64 b2 a1)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 b1 (/.f64 b2 a1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 a1 (*.f64 b1 b2))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 b1 (/.f64 b2 a1))) 1) 1)))))) |
| 1× | egg-herbie |
| 14× | associate-/l*_binary64 |
| 9× | *-commutative_binary64 |
| 9× | associate-/r/_binary64 |
| 7× | associate-*r/_binary64 |
| 6× | associate-/r*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 732 |
| 1 | 20 | 732 |
| 2 | 41 | 732 |
| 3 | 69 | 732 |
| 4 | 79 | 732 |
| 1× | saturated |
| Inputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
| Outputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 5.2b | (/.f64 (*.f64 b1 b2) a1) |
| ✓ | 6.3b | (/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) |
Compiled 23 to 7 computations (69.6% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | b1 | @ | 0 | (/.f64 (*.f64 b1 b2) a1) |
| 0.0ms | a2 | @ | 0 | (/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) |
| 0.0ms | b2 | @ | -inf | (/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) |
| 0.0ms | b1 | @ | inf | (/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) |
| 0.0ms | a1 | @ | inf | (/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) |
| 1× | batch-egg-rewrite |
| 543× | log-prod_binary64 |
| 422× | exp-prod_binary64 |
| 302× | pow-prod-down_binary64 |
| 239× | pow2_binary64 |
| 211× | div-exp_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 17 |
| 1 | 172 | 17 |
| 2 | 2539 | 17 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) |
(/.f64 (*.f64 b1 b2) a1) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 a2) (/.f64 (/.f64 a1 b1) b2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 a2) (/.f64 (/.f64 a1 b1) b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a2) (/.f64 (/.f64 a1 b1) b2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a2) (/.f64 (/.f64 a1 b1) b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a2 (/.f64 (/.f64 a1 b1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a1 (/.f64 (/.f64 a2 b1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2))) (pow.f64 (cbrt.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2))) 2) (cbrt.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 a2) 2) (*.f64 (cbrt.f64 a2) (/.f64 (/.f64 a1 b1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2))) (sqrt.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a2) (*.f64 (sqrt.f64 a2) (/.f64 (/.f64 a1 b1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 a2) (/.f64 1 (/.f64 (*.f64 b2 (neg.f64 b1)) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 a1 b1) b2) a2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 a2 b1) b2) a1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 b1 b2)) (/.f64 a2 (/.f64 1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) (*.f64 b1 b2)) (/.f64 (cbrt.f64 a2) (/.f64 1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) (*.f64 b1 b2)) (/.f64 (sqrt.f64 a2) (/.f64 1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) 1) (/.f64 (cbrt.f64 a2) (*.f64 (/.f64 b1 a1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) 1) (/.f64 (sqrt.f64 a2) (*.f64 (/.f64 b1 a1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 b1 a1) b2)) -2) (/.f64 a2 (cbrt.f64 (*.f64 (/.f64 b1 a1) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) (cbrt.f64 (pow.f64 (/.f64 (/.f64 a1 b1) b2) -2))) (cbrt.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) (cbrt.f64 (pow.f64 (/.f64 (/.f64 a1 b1) b2) -2))) (/.f64 (sqrt.f64 a2) (cbrt.f64 (*.f64 (/.f64 b1 a1) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 b1 a1) b2) -1/2) (/.f64 a2 (sqrt.f64 (*.f64 (/.f64 b1 a1) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) (sqrt.f64 (*.f64 (/.f64 b1 a1) b2))) (/.f64 (cbrt.f64 a2) (sqrt.f64 (*.f64 (/.f64 b1 a1) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 b1) (/.f64 a1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 1) (/.f64 (/.f64 a1 b1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (*.f64 b2 (neg.f64 b1))) (neg.f64 a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) 1) a1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) (pow.f64 (cbrt.f64 a1) 2)) (cbrt.f64 a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (/.f64 a2 b1) b2) (sqrt.f64 a1)) (sqrt.f64 a1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b1 (*.f64 a2 (/.f64 a1 b2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 a2 3) (pow.f64 (*.f64 (/.f64 b1 a1) b2) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 b1 (*.f64 a2 (/.f64 a1 b2))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2)))) 2)) (cbrt.f64 (log.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2))))) (sqrt.f64 (log.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 a2 (/.f64 (*.f64 b2 (neg.f64 b1)) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a2) (/.f64 (/.f64 a1 b1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 a2 3) (pow.f64 (*.f64 (/.f64 b1 a1) b2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 b1 (*.f64 a2 (/.f64 a1 b2)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 a2 (/.f64 (/.f64 a1 b1) b2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 a2) 1) (log.f64 (*.f64 (/.f64 b1 a1) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 a2) (*.f64 (log.f64 (*.f64 (/.f64 b1 a1) b2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 a2) 1) (*.f64 (log.f64 (*.f64 (/.f64 b1 a1) b2)) 1))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 b1 a1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 b1 a1)) b2)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 b1 a1)) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 b1 a1)) b2))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 b1 a1)) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 b1 a1) b2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 b1 (/.f64 1 (/.f64 a1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 b1 (*.f64 b2 (/.f64 1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 b2 (*.f64 b1 (/.f64 1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 b1 b2) (/.f64 1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 b1 a1) b2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 b1 a1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2) (*.f64 (cbrt.f64 (*.f64 b1 b2)) (/.f64 1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 b1 a1) b2)) (cbrt.f64 (pow.f64 (/.f64 (/.f64 a1 b1) b2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (/.f64 a1 b1) b2) -2)) (cbrt.f64 (*.f64 (/.f64 b1 a1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 b1 b2)) (*.f64 (sqrt.f64 (*.f64 b1 b2)) (/.f64 1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 b1 a1) b2)) (sqrt.f64 (*.f64 (/.f64 b1 a1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 b2 (neg.f64 b1)) (/.f64 1 (neg.f64 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a1) (*.f64 b1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b1 1) (/.f64 b2 a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b2 1) (/.f64 b1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b1 a1) b2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2) 1) (/.f64 (cbrt.f64 (*.f64 b1 b2)) a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 b1 b2)) 1) (/.f64 (sqrt.f64 (*.f64 b1 b2)) a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b1 (pow.f64 (cbrt.f64 a1) 2)) (/.f64 b2 (cbrt.f64 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b2 (pow.f64 (cbrt.f64 a1) 2)) (/.f64 b1 (cbrt.f64 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 a1) -2) (/.f64 (*.f64 b1 b2) (cbrt.f64 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2) (pow.f64 (cbrt.f64 a1) 2)) (cbrt.f64 (*.f64 (/.f64 b1 a1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 b1 b2)) (pow.f64 (cbrt.f64 a1) 2)) (/.f64 (sqrt.f64 (*.f64 b1 b2)) (cbrt.f64 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b1 (sqrt.f64 a1)) (/.f64 b2 (sqrt.f64 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b2 (sqrt.f64 a1)) (/.f64 b1 (sqrt.f64 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a1 -1/2) (/.f64 (*.f64 b1 b2) (sqrt.f64 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 b1 b2)) 2) (sqrt.f64 a1)) (/.f64 (cbrt.f64 (*.f64 b1 b2)) (sqrt.f64 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 b1 a1) b2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (/.f64 a1 b1) b2) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 b1 a1) b2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 b1 a1) b2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 b1 a1) b2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 a1 b1) b2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 b1 a1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 b1 b2) 3) (pow.f64 a1 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (/.f64 a1 b1) b2) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 b1 a1) b2))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 b1 a1) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 b1 a1) b2)))) (sqrt.f64 (log.f64 (*.f64 (/.f64 b1 a1) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 b1 b2) (neg.f64 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (/.f64 a1 b1) b2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 b1 a1)) b2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 b1 a1) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 b1 a1) b2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 b1 b2) 3) (pow.f64 a1 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 b1 a1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 b1 a1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 b1 a1) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 b1 a1) b2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (/.f64 b1 a1) b2) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 b1 a1) b2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 b1 a1) b2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 a1 b1) b2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 b1 a1) b2)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 b1) 1) (log.f64 (/.f64 a1 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 b1 b2)) 1) (log.f64 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 b1 b2)) (*.f64 (log.f64 a1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 b1 b2)) 1) (*.f64 (log.f64 a1) 1))))))) |
| 1× | egg-herbie |
| 14× | associate-/l*_binary64 |
| 9× | *-commutative_binary64 |
| 9× | associate-/r/_binary64 |
| 7× | associate-*r/_binary64 |
| 6× | associate-/r*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 732 |
| 1 | 20 | 732 |
| 2 | 41 | 732 |
| 3 | 69 | 732 |
| 4 | 79 | 732 |
| 1× | saturated |
| Inputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 (*.f64 b2 b1) a1) |
| Outputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
(/.f64 (*.f64 b2 b1) a1) |
(/.f64 b2 (/.f64 a1 b1)) |
(*.f64 (/.f64 b2 a1) b1) |
(*.f64 b1 (/.f64 b2 a1)) |
(*.f64 b2 (/.f64 b1 a1)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 4.8b | (*.f64 (/.f64 a1 b1) a2) |
| ✓ | 7.5b | (/.f64 (*.f64 (/.f64 a1 b1) a2) b2) |
Compiled 23 to 7 computations (69.6% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | a1 | @ | 0 | (/.f64 (*.f64 (/.f64 a1 b1) a2) b2) |
| 0.0ms | a1 | @ | inf | (/.f64 (*.f64 (/.f64 a1 b1) a2) b2) |
| 0.0ms | b1 | @ | -inf | (/.f64 (*.f64 (/.f64 a1 b1) a2) b2) |
| 0.0ms | a1 | @ | -inf | (/.f64 (*.f64 (/.f64 a1 b1) a2) b2) |
| 0.0ms | a2 | @ | -inf | (/.f64 (*.f64 (/.f64 a1 b1) a2) b2) |
| 1× | batch-egg-rewrite |
| 519× | log-prod_binary64 |
| 396× | exp-prod_binary64 |
| 375× | prod-exp_binary64 |
| 323× | pow-prod-down_binary64 |
| 242× | pow2_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 17 |
| 1 | 172 | 17 |
| 2 | 2499 | 17 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2) |
(*.f64 (/.f64 a1 b1) a2) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 (/.f64 a1 b1) b2)) a2)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 (/.f64 a1 b1) b2)) a2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 (/.f64 a1 b1) b2)) a2))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 (/.f64 a1 b1) b2)) a2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 b1) (/.f64 1 (/.f64 b2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 b1) (*.f64 a2 (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a2 (*.f64 (/.f64 a1 b1) (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a1 b1) a2) (/.f64 1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2)) (cbrt.f64 (pow.f64 (*.f64 (/.f64 b1 a1) (/.f64 b2 a2)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 b1 a1) (/.f64 b2 a2)) -2)) (cbrt.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a1 b1) a2)) 2) (*.f64 (cbrt.f64 (*.f64 (/.f64 a1 b1) a2)) (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2)) (sqrt.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 a1 b1) a2)) (*.f64 (sqrt.f64 (*.f64 (/.f64 a1 b1) a2)) (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a2 (neg.f64 (/.f64 a1 b1))) (/.f64 1 (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b2) (*.f64 (/.f64 a1 b1) a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 a1 b1) 1) (/.f64 a2 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 1) (/.f64 (/.f64 a1 b1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 a1 b1) b2) a2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a1 b1) a2)) 2) 1) (/.f64 (cbrt.f64 (*.f64 (/.f64 a1 b1) a2)) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (/.f64 a1 b1) a2)) 1) (/.f64 (sqrt.f64 (*.f64 (/.f64 a1 b1) a2)) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 a1 b1) (pow.f64 (cbrt.f64 b2) 2)) (/.f64 a2 (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (pow.f64 (cbrt.f64 b2) 2)) (/.f64 (/.f64 a1 b1) (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 b2) -2) (/.f64 (*.f64 (/.f64 a1 b1) a2) (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a1 b1) a2)) 2) (pow.f64 (cbrt.f64 b2) 2)) (cbrt.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (/.f64 a1 b1) a2)) (pow.f64 (cbrt.f64 b2) 2)) (/.f64 (sqrt.f64 (*.f64 (/.f64 a1 b1) a2)) (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 a1 b1) (sqrt.f64 b2)) (/.f64 a2 (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (sqrt.f64 b2)) (/.f64 (/.f64 a1 b1) (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 b2 -1/2) (/.f64 (*.f64 (/.f64 a1 b1) a2) (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 a1 b1) a2)) 2) (sqrt.f64 b2)) (/.f64 (cbrt.f64 (*.f64 (/.f64 a1 b1) a2)) (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 b1 a1) (/.f64 b2 a2)) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 b1 a1) (/.f64 b2 a2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 (/.f64 a1 b1) a2) 3) (pow.f64 b2 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (/.f64 b1 a1) (/.f64 b2 a2)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 b2 a2) (/.f64 b1 a1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2)))) (sqrt.f64 (log.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (/.f64 a1 b1) a2) (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 b1 a1) (/.f64 b2 a2)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 (/.f64 a1 b1) b2)) a2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (/.f64 a1 b1) a2) 3) (pow.f64 b2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 b1 a1) (/.f64 b2 a2))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 (/.f64 a1 b1) b2) a2)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 a1 b1)) 1) (log.f64 (/.f64 b2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (/.f64 a1 b1) a2)) 1) (log.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 (/.f64 a1 b1) a2)) (*.f64 (log.f64 b2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (*.f64 (/.f64 a1 b1) a2)) 1) (*.f64 (log.f64 b2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (/.f64 a1 b1) a2)) 1) (neg.f64 (log.f64 b2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (neg.f64 (log.f64 b2)) (*.f64 (log.f64 (*.f64 (/.f64 a1 b1) a2)) 1))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 a1 b1) a2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 a2) (/.f64 a1 b1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 a2) (/.f64 a1 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a2) (/.f64 a1 b1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a2) (/.f64 a1 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 a1 b1) a2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a1 (/.f64 b1 a2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a2 (/.f64 b1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 b1 (*.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 a2) b1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 a1 a2)) (neg.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a2) 1) b1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a2) (pow.f64 (cbrt.f64 b1) 2)) (cbrt.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a2) (sqrt.f64 b1)) (sqrt.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a1) a2) (neg.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 (neg.f64 a1)) (neg.f64 b1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 a1 b1) a2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 a1 b1) a2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 a1 b1) a2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 a1 b1) a2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 a1 b1) a2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 a1 b1) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b1 (*.f64 a1 a2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 a1 b1) a2))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 a1 b1) a2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 a1 b1) a2)))) (sqrt.f64 (log.f64 (*.f64 (/.f64 a1 b1) a2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 a1 b1) a2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a2) (/.f64 a1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 a1 b1) a2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 a1 b1) a2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 a1 b1) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 a1 b1) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 a1 b1) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 a1 b1) a2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (/.f64 a1 b1) a2))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 a1 b1) a2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 a1 b1) a2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 a1 b1) a2)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 a2) 1) (log.f64 (/.f64 b1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 a1 a2)) (*.f64 (log.f64 b1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 a1 b1)) 1) (log.f64 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (/.f64 a1 b1)) (*.f64 (log.f64 a2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 a1 b1)) 1) (*.f64 (log.f64 a2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 a2) 1) (log.f64 (/.f64 a1 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 a2) (*.f64 (log.f64 (/.f64 a1 b1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 a2) 1) (*.f64 (log.f64 (/.f64 a1 b1)) 1))))))) |
| 1× | egg-herbie |
| 14× | associate-/l*_binary64 |
| 10× | associate-/r/_binary64 |
| 7× | associate-*r/_binary64 |
| 6× | *-commutative_binary64 |
| 6× | associate-/r*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 732 |
| 1 | 20 | 732 |
| 2 | 43 | 732 |
| 3 | 70 | 732 |
| 4 | 77 | 732 |
| 1× | saturated |
| Inputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
| Outputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 5.1b | (/.f64 a2 (/.f64 b1 a1)) |
| ✓ | 7.5b | (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
Compiled 23 to 7 computations (69.6% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | a2 | @ | -inf | (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
| 0.0ms | b1 | @ | inf | (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
| 0.0ms | a2 | @ | 0 | (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
| 0.0ms | a1 | @ | inf | (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
| 0.0ms | b1 | @ | -inf | (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
| 1× | batch-egg-rewrite |
| 565× | log-prod_binary64 |
| 438× | exp-prod_binary64 |
| 323× | pow-prod-down_binary64 |
| 252× | pow2_binary64 |
| 191× | log-div_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 17 |
| 1 | 178 | 17 |
| 2 | 2746 | 17 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
(/.f64 a2 (/.f64 b1 a1)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a2 (*.f64 (/.f64 a1 b1) (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a2 (/.f64 a1 b1)) (/.f64 1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)) (pow.f64 (cbrt.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)) 2) (cbrt.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 a2 (/.f64 a1 b1))) 2) (*.f64 (cbrt.f64 (*.f64 a2 (/.f64 a1 b1))) (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)) (sqrt.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 a2 (/.f64 a1 b1))) (*.f64 (sqrt.f64 (*.f64 a2 (/.f64 a1 b1))) (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a2 (neg.f64 (/.f64 a1 b1))) (/.f64 1 (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b2) (*.f64 a2 (/.f64 a1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 b1) (*.f64 a1 (/.f64 1 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) b2) (/.f64 (cbrt.f64 a2) (/.f64 b1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) b2) (/.f64 (sqrt.f64 a2) (/.f64 b1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 1) (/.f64 (/.f64 a1 b1) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a2 (/.f64 a1 b1))) 2) 1) (/.f64 (cbrt.f64 (*.f64 a2 (/.f64 a1 b1))) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 a2 (/.f64 a1 b1))) 1) (/.f64 (sqrt.f64 (*.f64 a2 (/.f64 a1 b1))) b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 a2 b1) 1) (/.f64 a1 b2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (pow.f64 (cbrt.f64 b2) 2)) (/.f64 (/.f64 a1 b1) (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 b2) -2) (/.f64 (*.f64 a2 (/.f64 a1 b1)) (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a2 (/.f64 a1 b1))) 2) (pow.f64 (cbrt.f64 b2) 2)) (cbrt.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 a2 (/.f64 a1 b1))) (pow.f64 (cbrt.f64 b2) 2)) (/.f64 (sqrt.f64 (*.f64 a2 (/.f64 a1 b1))) (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 a2 b1) (pow.f64 (cbrt.f64 b2) 2)) (/.f64 a1 (cbrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (sqrt.f64 b2)) (/.f64 (/.f64 a1 b1) (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 b2 -1/2) (/.f64 (*.f64 a2 (/.f64 a1 b1)) (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a2 (/.f64 a1 b1))) 2) (sqrt.f64 b2)) (/.f64 (cbrt.f64 (*.f64 a2 (/.f64 a1 b1))) (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 a2 b1) (sqrt.f64 b2)) (/.f64 a1 (sqrt.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 b2 (/.f64 b1 (*.f64 a2 a1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 a2 (/.f64 a1 b1)) 3) (pow.f64 b2 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 b1 (*.f64 a2 a1)) b2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (/.f64 b1 a1) b2) a2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 b2 (/.f64 b1 (*.f64 a2 a1))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2))) 2)) (cbrt.f64 (log.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)))) (sqrt.f64 (log.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) (neg.f64 b2)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 a2 (/.f64 a1 b1)) 3) (pow.f64 b2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 b2 (/.f64 b1 (*.f64 a2 a1)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (*.f64 a2 (/.f64 a1 b1)) b2)) 1) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 a2 (/.f64 a1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 a2) (/.f64 a1 b1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 a2) (/.f64 a1 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a2) (/.f64 a1 b1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a2) (/.f64 a1 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 a2 (/.f64 a1 b1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a2 (/.f64 a1 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a1 (/.f64 a2 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a2 (/.f64 a1 b1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 a2 (/.f64 a1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 a2) 2) (*.f64 (cbrt.f64 a2) (/.f64 a1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 a2 (/.f64 a1 b1))) (pow.f64 (cbrt.f64 (*.f64 a2 (/.f64 a1 b1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 a2 (/.f64 a1 b1))) 2) (cbrt.f64 (*.f64 a2 (/.f64 a1 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a2) (*.f64 (sqrt.f64 a2) (/.f64 a1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 a2 (/.f64 a1 b1))) (sqrt.f64 (*.f64 a2 (/.f64 a1 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 a2) (/.f64 1 (/.f64 (neg.f64 b1) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 b1) a2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 b1) a1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) 1) (/.f64 (cbrt.f64 a2) (/.f64 b1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) 1) (/.f64 (sqrt.f64 a2) (/.f64 b1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) b1) (/.f64 (sqrt.f64 a2) (/.f64 1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 1) (/.f64 a1 b1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b1) (/.f64 a2 (/.f64 1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) b1) (/.f64 (cbrt.f64 a2) (/.f64 1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 b1 a1)) -2) (/.f64 a2 (cbrt.f64 (/.f64 b1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) (cbrt.f64 (pow.f64 (/.f64 a1 b1) -2))) (cbrt.f64 (*.f64 a2 (/.f64 a1 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) (cbrt.f64 (pow.f64 (/.f64 a1 b1) -2))) (/.f64 (sqrt.f64 a2) (cbrt.f64 (/.f64 b1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 b1 a1) -1/2) (/.f64 a2 (sqrt.f64 (/.f64 b1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) (sqrt.f64 (/.f64 b1 a1))) (/.f64 (cbrt.f64 a2) (sqrt.f64 (/.f64 b1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (neg.f64 b1)) (neg.f64 a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a2 b1) 1) a1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a2 b1) (pow.f64 (cbrt.f64 a1) 2)) (cbrt.f64 a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a2 b1) (sqrt.f64 a1)) (sqrt.f64 a1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a2 (/.f64 a1 b1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a2 (/.f64 a1 b1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a2 (/.f64 a1 b1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a2 (/.f64 a1 b1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 a2 (/.f64 a1 b1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b1 (*.f64 a2 a1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 a2 (/.f64 a1 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 a2 3) (pow.f64 (/.f64 a1 b1) -3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 b1 (*.f64 a2 a1)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 a2 (/.f64 a1 b1)))) 2)) (cbrt.f64 (log.f64 (*.f64 a2 (/.f64 a1 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 a2 (/.f64 a1 b1))))) (sqrt.f64 (log.f64 (*.f64 a2 (/.f64 a1 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 a2 (/.f64 (neg.f64 b1) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a2 (/.f64 a1 b1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a2) (/.f64 a1 b1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 a2 (/.f64 a1 b1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a2 (/.f64 a1 b1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 a2 3) (pow.f64 (/.f64 a1 b1) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a2 (/.f64 a1 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a2 (/.f64 a1 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a2 (/.f64 a1 b1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 a2 (/.f64 a1 b1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 a2 (/.f64 a1 b1)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 a2 (/.f64 a1 b1)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 a2 (/.f64 a1 b1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 b1 (*.f64 a2 a1))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 a2 (/.f64 a1 b1))) 1) 1)))))) |
| 1× | egg-herbie |
| 14× | associate-/l*_binary64 |
| 10× | associate-/r/_binary64 |
| 7× | associate-*r/_binary64 |
| 6× | *-commutative_binary64 |
| 6× | associate-/r*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 732 |
| 1 | 20 | 732 |
| 2 | 43 | 732 |
| 3 | 70 | 732 |
| 4 | 77 | 732 |
| 1× | saturated |
| Inputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 (*.f64 a1 a2) b1) |
| Outputs |
|---|
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1)) |
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1)) |
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1))) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
(/.f64 (*.f64 a1 a2) b1) |
(/.f64 a1 (/.f64 b1 a2)) |
(*.f64 a1 (/.f64 a2 b1)) |
Compiled 5772 to 1874 computations (67.5% saved)
9 alts after pruning (0 fresh and 9 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 476 | 0 | 476 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 8 | 8 |
| Total | 476 | 9 | 485 |
| Status | Error | Program |
|---|---|---|
| ✓ | 10.9b | (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) |
| ✓ | 10.6b | (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) |
| ✓ | 10.2b | (/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
| ✓ | 11.4b | (*.f64 a1 (/.f64 a2 (*.f64 b1 b2))) |
| ✓ | 11.9b | (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
| ✓ | 12.6b | (/.f64 (/.f64 (*.f64 a1 a2) b2) b1) |
| ✓ | 11.8b | (/.f64 (*.f64 (/.f64 a1 b1) a2) b2) |
| ✓ | 11.8b | (/.f64 (*.f64 (/.f64 a2 b1) a1) b2) |
| ✓ | 10.6b | (/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) |
Compiled 99 to 63 computations (36.4% saved)
| Inputs |
|---|
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2) |
(/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) |
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) |
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1)) |
(/.f64 (/.f64 (*.f64 a1 a2) b1) b2) |
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) |
(/.f64 (/.f64 (*.f64 a1 a2) b2) b1) |
(/.f64 (*.f64 (/.f64 a2 b1) a1) b2) |
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2))) |
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) |
(*.f64 a1 (*.f64 (/.f64 a2 b1) (/.f64 1 b2))) |
(*.f64 a1 (*.f64 (/.f64 (sqrt.f64 a2) b2) (/.f64 (sqrt.f64 a2) b1))) |
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a1 a2)) 2) b1) (/.f64 (cbrt.f64 (*.f64 a1 a2)) b2)) |
| Outputs |
|---|
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) |
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) |
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1)) |
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) |
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1)) |
9 calls:
| 88.0ms | a2 |
| 73.0ms | (*.f64 b1 b2) |
| 73.0ms | a1 |
| 61.0ms | (*.f64 b1 b2) |
| 50.0ms | (*.f64 a1 a2) |
| Error | Segments | Branch |
|---|---|---|
| 5.1b | 5 | a1 |
| 3.8b | 9 | a2 |
| 5.1b | 5 | b1 |
| 6.9b | 3 | b2 |
| 1.5b | 5 | (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) |
| 2.2b | 5 | (*.f64 a1 a2) |
| 2.2b | 5 | (*.f64 a1 a2) |
| 1.7b | 5 | (*.f64 b1 b2) |
| 1.7b | 5 | (*.f64 b1 b2) |
Compiled 182 to 90 computations (50.5% saved)
| 4× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 5.096325584618556e+294 | 4.389761375239921e+307 |
| 0.0ms | 0.0 | 5.365225224118732e-301 |
| 0.0ms | -2.7733539284688062e-306 | -5.855919e-317 |
| 0.0ms | -inf | -2.677124537282015e+301 |
Compiled 18 to 13 computations (27.8% saved)
| Inputs |
|---|
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2) |
(/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) |
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) |
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1)) |
(/.f64 (/.f64 (*.f64 a1 a2) b1) b2) |
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) |
(/.f64 (/.f64 (*.f64 a1 a2) b2) b1) |
(/.f64 (*.f64 (/.f64 a2 b1) a1) b2) |
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2))) |
| Outputs |
|---|
(/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) |
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1)) |
(/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) |
(/.f64 (/.f64 (*.f64 a1 a2) b2) b1) |
8 calls:
| 72.0ms | a1 |
| 63.0ms | b1 |
| 54.0ms | a2 |
| 44.0ms | b2 |
| 43.0ms | (*.f64 a1 a2) |
| Error | Segments | Branch |
|---|---|---|
| 5.9b | 5 | a1 |
| 5.1b | 7 | a2 |
| 5.4b | 6 | b1 |
| 6.9b | 3 | b2 |
| 3.0b | 5 | (*.f64 a1 a2) |
| 3.0b | 5 | (*.f64 a1 a2) |
| 2.0b | 5 | (*.f64 b1 b2) |
| 2.0b | 5 | (*.f64 b1 b2) |
Compiled 129 to 67 computations (48.1% saved)
| 4× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 2.2485829896074683e+196 | 5.4747310759880494e+200 |
| 0.0ms | 3.775659835529405e-201 | 7.463042219525847e-176 |
| 0.0ms | -9.922827164026077e-162 | -8.791842270904043e-168 |
| 0.0ms | -6.409160222874617e+239 | -8.730370893801913e+234 |
Compiled 18 to 13 computations (27.8% saved)
| Inputs |
|---|
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2) |
(/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) |
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) |
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1)) |
(/.f64 (/.f64 (*.f64 a1 a2) b1) b2) |
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) |
| Outputs |
|---|
(/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) |
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1)) |
(/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) |
(/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
7 calls:
| 75.0ms | b1 |
| 66.0ms | a2 |
| 49.0ms | a1 |
| 45.0ms | (*.f64 b1 b2) |
| 44.0ms | (*.f64 b1 b2) |
| Error | Segments | Branch |
|---|---|---|
| 5.9b | 5 | a1 |
| 5.9b | 7 | a2 |
| 4.3b | 8 | b1 |
| 6.9b | 3 | b2 |
| 3.9b | 5 | (*.f64 a1 a2) |
| 2.4b | 5 | (*.f64 b1 b2) |
| 2.4b | 5 | (*.f64 b1 b2) |
Compiled 101 to 56 computations (44.6% saved)
| 4× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.6023234489536717e+282 | 1.7216608873601432e+288 |
| 0.0ms | 3.775659835529405e-201 | 7.463042219525847e-176 |
| 0.0ms | -9.922827164026077e-162 | -8.791842270904043e-168 |
| 0.0ms | -6.409160222874617e+239 | -8.730370893801913e+234 |
Compiled 18 to 13 computations (27.8% saved)
| Inputs |
|---|
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2) |
(/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) |
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) |
| Outputs |
|---|
(/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) |
(/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
(/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) |
(/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
6 calls:
| 36.0ms | (*.f64 b1 b2) |
| 36.0ms | (*.f64 b1 b2) |
| 24.0ms | a2 |
| 20.0ms | a1 |
| 20.0ms | b1 |
| Error | Segments | Branch |
|---|---|---|
| 7.3b | 5 | a1 |
| 6.7b | 6 | a2 |
| 7.3b | 5 | b1 |
| 8.9b | 2 | b2 |
| 3.1b | 5 | (*.f64 b1 b2) |
| 3.1b | 5 | (*.f64 b1 b2) |
Compiled 73 to 44 computations (39.7% saved)
| 4× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.6023234489536717e+282 | 1.7216608873601432e+288 |
| 0.0ms | 3.775659835529405e-201 | 7.463042219525847e-176 |
| 0.0ms | -5.334822762849506e-151 | -9.922827164026077e-162 |
| 0.0ms | -6.409160222874617e+239 | -8.730370893801913e+234 |
Compiled 18 to 13 computations (27.8% saved)
| Inputs |
|---|
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2) |
(/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) |
| Outputs |
|---|
(/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
(/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) |
(/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
(/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) |
(/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
5 calls:
| 24.0ms | a2 |
| 22.0ms | a1 |
| 20.0ms | b1 |
| 17.0ms | (*.f64 b1 b2) |
| 8.0ms | b2 |
| Error | Segments | Branch |
|---|---|---|
| 7.3b | 5 | a1 |
| 6.7b | 6 | a2 |
| 7.5b | 5 | b1 |
| 8.9b | 2 | b2 |
| 3.3b | 5 | (*.f64 b1 b2) |
Compiled 59 to 37 computations (37.3% saved)
| 4× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.6023234489536717e+282 | 1.7216608873601432e+288 |
| 0.0ms | 3.775659835529405e-201 | 7.463042219525847e-176 |
| 0.0ms | -1.482490784839862e-129 | -9.65084013376703e-145 |
| 0.0ms | -8.730370893801913e+234 | -4.7780638072751206e+227 |
Compiled 18 to 13 computations (27.8% saved)
Total -12.4b remaining (-160%)
Threshold costs -12.4b (-160%)
| Inputs |
|---|
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2) |
| Outputs |
|---|
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
(/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
4 calls:
| 18.0ms | a1 |
| 16.0ms | a2 |
| 10.0ms | b1 |
| 7.0ms | b2 |
| Error | Segments | Branch |
|---|---|---|
| 8.4b | 3 | a1 |
| 7.8b | 5 | a2 |
| 9.0b | 3 | b1 |
| 8.9b | 2 | b2 |
Compiled 45 to 29 computations (35.6% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 12.0ms | 1.976388030855491e+82 | 1.641052605306982e+84 |
| 19.0ms | 16151203325873296.0 | 2064965458354496300.0 |
| 20.0ms | 1.070605514002489e-84 | 2.0808907509076403e-78 |
| 19.0ms | 1.58148094358007e-136 | 3.5327403315939314e-134 |
Compiled 42 to 29 computations (31% saved)
| 1× | egg-herbie |
| 5× | *-commutative_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 79 | 538 |
| 1 | 84 | 538 |
| 1× | done |
| 1× | saturated |
| Inputs |
|---|
(if (<=.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) -inf.0) (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) (if (<=.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) -6325070415853457/3162535207926728411757739792483082922649322652564720599326583719178599055749927295186880995334955070237298091629950186115465761521653023076047084374074039217523709754321349396319795433470206505331871369976136641696281366928510823415907864932018118067825157133005605774255209603362976602065411367322593847864182933454585856) (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) (if (<=.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) 0) (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)) (if (<=.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) 9999999999999999813486777206230041577815560719820581330098483720446847883279500839884297726782854580737362697004022581572770293687044935910015528960168049498887207223940204684198896264456339658487887951484580004902758521100414464490983962613190835886243290260424727924570510530141380583845003264) (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)))))) |
(if (<=.f64 (*.f64 b1 b2) -500000000000000006973056902059962218987082928493319165556047085454840244713065271819204256539302862104897576699748505732232744236818610455170287378791473453516173873413357412617039474932160920305416077787124106846790742307490978048163971072) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) (if (<=.f64 (*.f64 b1 b2) -5065326622169181/1013065324433836171511818326096474890383898005918563696288002277756507034036354527929615978746851512277392062160962106733983191180520452956027069051297354415786421338721071661056) (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) (if (<=.f64 (*.f64 b1 b2) 1723641332219371/344728266443874206170545512964432112225507069317819522056079337263512430464013488758041250121488036739611555846958495676040441511948045769973944468809441663382665538511073745187088876036706973599091474545756168257536) (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)) (if (<=.f64 (*.f64 b1 b2) 39999999999999998045731698556940528213556641844744866797866335562294046894999836733113551556689360912383501795068553026827793013002209972370542943705105815975081466153493700003108946152916344897536) (/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) (/.f64 (/.f64 (*.f64 a1 a2) b2) b1))))) |
(if (<=.f64 (*.f64 b1 b2) -500000000000000006973056902059962218987082928493319165556047085454840244713065271819204256539302862104897576699748505732232744236818610455170287378791473453516173873413357412617039474932160920305416077787124106846790742307490978048163971072) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) (if (<=.f64 (*.f64 b1 b2) -5065326622169181/1013065324433836171511818326096474890383898005918563696288002277756507034036354527929615978746851512277392062160962106733983191180520452956027069051297354415786421338721071661056) (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) (if (<=.f64 (*.f64 b1 b2) 1723641332219371/344728266443874206170545512964432112225507069317819522056079337263512430464013488758041250121488036739611555846958495676040441511948045769973944468809441663382665538511073745187088876036706973599091474545756168257536) (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)) (if (<=.f64 (*.f64 b1 b2) 2000000000000000065564491965724196497141410566042987128526667154881885206394748671855868757344823586107634995163648301637403269353821391391987982202586085042249557608491240131630546544710299192980657097825020601258185202784889671304261897129652009244157571353621710211402529400422400) (/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2))))) |
(if (<=.f64 (*.f64 b1 b2) -500000000000000006973056902059962218987082928493319165556047085454840244713065271819204256539302862104897576699748505732232744236818610455170287378791473453516173873413357412617039474932160920305416077787124106846790742307490978048163971072) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) (if (<=.f64 (*.f64 b1 b2) -7371020360979573/14742040721959145907193572581985425355144223517251720423344555860334469384344331453461432520225229560708860839963921269139728846210643721220943102544658968920505450496) (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) (if (<=.f64 (*.f64 b1 b2) 1723641332219371/344728266443874206170545512964432112225507069317819522056079337263512430464013488758041250121488036739611555846958495676040441511948045769973944468809441663382665538511073745187088876036706973599091474545756168257536) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) (if (<=.f64 (*.f64 b1 b2) 2000000000000000065564491965724196497141410566042987128526667154881885206394748671855868757344823586107634995163648301637403269353821391391987982202586085042249557608491240131630546544710299192980657097825020601258185202784889671304261897129652009244157571353621710211402529400422400) (/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2))))) |
(if (<=.f64 (*.f64 b1 b2) -5000000000000000265830098313298245178016947287622550486678486493521945761146082797297502145674652454512860840906256046981475222569026826936584608154510201938349585198667111756724875341881416615617731891764574033605618465285179569078272) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) (if (<=.f64 (*.f64 b1 b2) -390218568789499/390218568789499028922699653724145788218574767833121393857394619953171467352470702515038262882936496394978366390175827861930996959911035663286272) (/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) (if (<=.f64 (*.f64 b1 b2) 1723641332219371/344728266443874206170545512964432112225507069317819522056079337263512430464013488758041250121488036739611555846958495676040441511948045769973944468809441663382665538511073745187088876036706973599091474545756168257536) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) (if (<=.f64 (*.f64 b1 b2) 2000000000000000065564491965724196497141410566042987128526667154881885206394748671855868757344823586107634995163648301637403269353821391391987982202586085042249557608491240131630546544710299192980657097825020601258185202784889671304261897129652009244157571353621710211402529400422400) (/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2))))) |
(if (<=.f64 a2 8282887787650767/52374249726338269920211035149241586435466272736689036631732661889538140742474792878132321477214466514414186946040961136147476104734166288853256441430016) (/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) (if (<=.f64 a2 2341682686458633/2187250724783011924372502227117621365353169430893212436425770606409952999199375923223513177023053824) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) (if (<=.f64 a2 16151203325873296) (/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) (if (<=.f64 a2 1000000000000000057766609898115896702437267127096064137098041863234712334016924614656) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) (/.f64 a2 (/.f64 b1 (/.f64 a1 b2))))))) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
| Outputs |
|---|
(if (<=.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) -inf.0) (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) (if (<=.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) -6325070415853457/3162535207926728411757739792483082922649322652564720599326583719178599055749927295186880995334955070237298091629950186115465761521653023076047084374074039217523709754321349396319795433470206505331871369976136641696281366928510823415907864932018118067825157133005605774255209603362976602065411367322593847864182933454585856) (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) (if (<=.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) 0) (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)) (if (<=.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) 9999999999999999813486777206230041577815560719820581330098483720446847883279500839884297726782854580737362697004022581572770293687044935910015528960168049498887207223940204684198896264456339658487887951484580004902758521100414464490983962613190835886243290260424727924570510530141380583845003264) (/.f64 (*.f64 a1 a2) (*.f64 b1 b2)) (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)))))) |
(if (<=.f64 (*.f64 b1 b2) -500000000000000006973056902059962218987082928493319165556047085454840244713065271819204256539302862104897576699748505732232744236818610455170287378791473453516173873413357412617039474932160920305416077787124106846790742307490978048163971072) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) (if (<=.f64 (*.f64 b1 b2) -5065326622169181/1013065324433836171511818326096474890383898005918563696288002277756507034036354527929615978746851512277392062160962106733983191180520452956027069051297354415786421338721071661056) (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) (if (<=.f64 (*.f64 b1 b2) 1723641332219371/344728266443874206170545512964432112225507069317819522056079337263512430464013488758041250121488036739611555846958495676040441511948045769973944468809441663382665538511073745187088876036706973599091474545756168257536) (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)) (if (<=.f64 (*.f64 b1 b2) 39999999999999998045731698556940528213556641844744866797866335562294046894999836733113551556689360912383501795068553026827793013002209972370542943705105815975081466153493700003108946152916344897536) (/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) (/.f64 (/.f64 (*.f64 a1 a2) b2) b1))))) |
(if (<=.f64 (*.f64 b1 b2) -500000000000000006973056902059962218987082928493319165556047085454840244713065271819204256539302862104897576699748505732232744236818610455170287378791473453516173873413357412617039474932160920305416077787124106846790742307490978048163971072) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) (if (<=.f64 (*.f64 b1 b2) -5065326622169181/1013065324433836171511818326096474890383898005918563696288002277756507034036354527929615978746851512277392062160962106733983191180520452956027069051297354415786421338721071661056) (*.f64 a2 (/.f64 a1 (*.f64 b1 b2))) (if (<=.f64 (*.f64 b1 b2) 1723641332219371/344728266443874206170545512964432112225507069317819522056079337263512430464013488758041250121488036739611555846958495676040441511948045769973944468809441663382665538511073745187088876036706973599091474545756168257536) (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)) (if (<=.f64 (*.f64 b1 b2) 39999999999999998045731698556940528213556641844744866797866335562294046894999836733113551556689360912383501795068553026827793013002209972370542943705105815975081466153493700003108946152916344897536) (/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) (/.f64 (/.f64 (*.f64 a1 a2) b2) b1))))) |
(if (<=.f64 (*.f64 b1 b2) -500000000000000006973056902059962218987082928493319165556047085454840244713065271819204256539302862104897576699748505732232744236818610455170287378791473453516173873413357412617039474932160920305416077787124106846790742307490978048163971072) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) (if (<=.f64 (*.f64 b1 b2) -5065326622169181/1013065324433836171511818326096474890383898005918563696288002277756507034036354527929615978746851512277392062160962106733983191180520452956027069051297354415786421338721071661056) (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) (if (<=.f64 (*.f64 b1 b2) 1723641332219371/344728266443874206170545512964432112225507069317819522056079337263512430464013488758041250121488036739611555846958495676040441511948045769973944468809441663382665538511073745187088876036706973599091474545756168257536) (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)) (if (<=.f64 (*.f64 b1 b2) 2000000000000000065564491965724196497141410566042987128526667154881885206394748671855868757344823586107634995163648301637403269353821391391987982202586085042249557608491240131630546544710299192980657097825020601258185202784889671304261897129652009244157571353621710211402529400422400) (/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2))))) |
(if (<=.f64 (*.f64 b1 b2) -500000000000000006973056902059962218987082928493319165556047085454840244713065271819204256539302862104897576699748505732232744236818610455170287378791473453516173873413357412617039474932160920305416077787124106846790742307490978048163971072) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) (if (<=.f64 (*.f64 b1 b2) -5065326622169181/1013065324433836171511818326096474890383898005918563696288002277756507034036354527929615978746851512277392062160962106733983191180520452956027069051297354415786421338721071661056) (*.f64 a2 (/.f64 a1 (*.f64 b1 b2))) (if (<=.f64 (*.f64 b1 b2) 1723641332219371/344728266443874206170545512964432112225507069317819522056079337263512430464013488758041250121488036739611555846958495676040441511948045769973944468809441663382665538511073745187088876036706973599091474545756168257536) (*.f64 (/.f64 a2 b2) (/.f64 a1 b1)) (if (<=.f64 (*.f64 b1 b2) 2000000000000000065564491965724196497141410566042987128526667154881885206394748671855868757344823586107634995163648301637403269353821391391987982202586085042249557608491240131630546544710299192980657097825020601258185202784889671304261897129652009244157571353621710211402529400422400) (/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2))))) |
(if (<=.f64 (*.f64 b1 b2) -500000000000000006973056902059962218987082928493319165556047085454840244713065271819204256539302862104897576699748505732232744236818610455170287378791473453516173873413357412617039474932160920305416077787124106846790742307490978048163971072) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) (if (<=.f64 (*.f64 b1 b2) -7371020360979573/14742040721959145907193572581985425355144223517251720423344555860334469384344331453461432520225229560708860839963921269139728846210643721220943102544658968920505450496) (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) (if (<=.f64 (*.f64 b1 b2) 1723641332219371/344728266443874206170545512964432112225507069317819522056079337263512430464013488758041250121488036739611555846958495676040441511948045769973944468809441663382665538511073745187088876036706973599091474545756168257536) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) (if (<=.f64 (*.f64 b1 b2) 2000000000000000065564491965724196497141410566042987128526667154881885206394748671855868757344823586107634995163648301637403269353821391391987982202586085042249557608491240131630546544710299192980657097825020601258185202784889671304261897129652009244157571353621710211402529400422400) (/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2))))) |
(if (<=.f64 (*.f64 b1 b2) -500000000000000006973056902059962218987082928493319165556047085454840244713065271819204256539302862104897576699748505732232744236818610455170287378791473453516173873413357412617039474932160920305416077787124106846790742307490978048163971072) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) (if (<=.f64 (*.f64 b1 b2) -7371020360979573/14742040721959145907193572581985425355144223517251720423344555860334469384344331453461432520225229560708860839963921269139728846210643721220943102544658968920505450496) (*.f64 a2 (/.f64 a1 (*.f64 b1 b2))) (if (<=.f64 (*.f64 b1 b2) 1723641332219371/344728266443874206170545512964432112225507069317819522056079337263512430464013488758041250121488036739611555846958495676040441511948045769973944468809441663382665538511073745187088876036706973599091474545756168257536) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) (if (<=.f64 (*.f64 b1 b2) 2000000000000000065564491965724196497141410566042987128526667154881885206394748671855868757344823586107634995163648301637403269353821391391987982202586085042249557608491240131630546544710299192980657097825020601258185202784889671304261897129652009244157571353621710211402529400422400) (/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2))))) |
(if (<=.f64 (*.f64 b1 b2) -5000000000000000265830098313298245178016947287622550486678486493521945761146082797297502145674652454512860840906256046981475222569026826936584608154510201938349585198667111756724875341881416615617731891764574033605618465285179569078272) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) (if (<=.f64 (*.f64 b1 b2) -390218568789499/390218568789499028922699653724145788218574767833121393857394619953171467352470702515038262882936496394978366390175827861930996959911035663286272) (/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) (if (<=.f64 (*.f64 b1 b2) 1723641332219371/344728266443874206170545512964432112225507069317819522056079337263512430464013488758041250121488036739611555846958495676040441511948045769973944468809441663382665538511073745187088876036706973599091474545756168257536) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) (if (<=.f64 (*.f64 b1 b2) 2000000000000000065564491965724196497141410566042987128526667154881885206394748671855868757344823586107634995163648301637403269353821391391987982202586085042249557608491240131630546544710299192980657097825020601258185202784889671304261897129652009244157571353621710211402529400422400) (/.f64 a2 (/.f64 (*.f64 b1 b2) a1)) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2))))) |
(if (<=.f64 a2 8282887787650767/52374249726338269920211035149241586435466272736689036631732661889538140742474792878132321477214466514414186946040961136147476104734166288853256441430016) (/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) (if (<=.f64 a2 2341682686458633/2187250724783011924372502227117621365353169430893212436425770606409952999199375923223513177023053824) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) (if (<=.f64 a2 16151203325873296) (/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) (if (<=.f64 a2 1000000000000000057766609898115896702437267127096064137098041863234712334016924614656) (/.f64 (/.f64 a2 (/.f64 b1 a1)) b2) (/.f64 a2 (/.f64 b1 (/.f64 a1 b2))))))) |
(/.f64 a2 (/.f64 b1 (/.f64 a1 b2))) |
Compiled 397 to 157 computations (60.5% saved)
Compiled 689 to 196 computations (71.6% saved)
Loading profile data...