Time bar (total: 18.2s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 4 |
| 25% | 25% | 74.9% | 0.1% | 0% | 0% | 0% | 5 |
| 37.5% | 37.5% | 62.4% | 0.1% | 0% | 0% | 0% | 6 |
| 56.3% | 56.2% | 43.7% | 0.1% | 0% | 0% | 0% | 7 |
| 65.6% | 65.6% | 34.3% | 0.1% | 0% | 0% | 0% | 8 |
| 76.6% | 76.5% | 23.4% | 0.1% | 0% | 0% | 0% | 9 |
| 82% | 82% | 18% | 0.1% | 0% | 0% | 0% | 10 |
| 87.9% | 87.8% | 12.1% | 0.1% | 0% | 0% | 0% | 11 |
| 90.8% | 90.7% | 9.2% | 0.1% | 0% | 0% | 0% | 12 |
Compiled 8 to 6 computations (25% saved)
| 3.2s | 8256× | body | 256 | valid |
| 2× | egg-herbie |
| 24408× | rational.json-simplify-41 |
| 2312× | rational.json-simplify-1 |
| 1296× | rational.json-simplify-35 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 26 |
| 1 | 15 | 26 |
| 2 | 21 | 26 |
| 3 | 31 | 26 |
| 4 | 49 | 26 |
| 5 | 96 | 26 |
| 6 | 225 | 26 |
| 7 | 614 | 26 |
| 8 | 777 | 26 |
| 9 | 783 | 26 |
| 10 | 789 | 26 |
| 11 | 795 | 26 |
| 12 | 801 | 26 |
| 13 | 807 | 26 |
| 14 | 813 | 26 |
| 15 | 819 | 26 |
| 16 | 825 | 26 |
| 17 | 831 | 26 |
| 18 | 837 | 26 |
| 19 | 843 | 26 |
| 20 | 849 | 26 |
| 21 | 855 | 26 |
| 22 | 861 | 26 |
| 23 | 2680 | 26 |
| 24 | 2686 | 26 |
| 25 | 2692 | 26 |
| 26 | 2698 | 26 |
| 27 | 2704 | 26 |
| 28 | 2710 | 26 |
| 29 | 3511 | 26 |
| 30 | 3517 | 26 |
| 31 | 3523 | 26 |
| 32 | 3529 | 26 |
| 33 | 3535 | 26 |
| 34 | 3541 | 26 |
| 35 | 3547 | 26 |
| 36 | 3553 | 26 |
| 37 | 3559 | 26 |
| 38 | 3565 | 26 |
| 39 | 3571 | 26 |
| 40 | 3577 | 26 |
| 41 | 3583 | 26 |
| 42 | 3589 | 26 |
| 43 | 3595 | 26 |
| 44 | 3601 | 26 |
| 45 | 3607 | 26 |
| 46 | 3613 | 26 |
| 47 | 3619 | 26 |
| 48 | 3625 | 26 |
| 49 | 3631 | 26 |
| 50 | 3637 | 26 |
| 51 | 3643 | 26 |
| 52 | 3649 | 26 |
| 53 | 3655 | 26 |
| 54 | 3661 | 26 |
| 55 | 3667 | 26 |
| 56 | 3673 | 26 |
| 57 | 3679 | 26 |
| 58 | 3685 | 26 |
| 59 | 3691 | 26 |
| 60 | 3697 | 26 |
| 61 | 3703 | 26 |
| 62 | 3709 | 26 |
| 63 | 3715 | 26 |
| 64 | 3721 | 26 |
| 65 | 3727 | 26 |
| 66 | 3733 | 26 |
| 67 | 3739 | 26 |
| 68 | 3745 | 26 |
| 69 | 3751 | 26 |
| 70 | 3757 | 26 |
| 71 | 3763 | 26 |
| 72 | 3769 | 26 |
| 73 | 3775 | 26 |
| 74 | 3781 | 26 |
| 75 | 3787 | 26 |
| 76 | 3793 | 26 |
| 77 | 3799 | 26 |
| 78 | 3805 | 26 |
| 79 | 3811 | 26 |
| 80 | 3817 | 26 |
| 81 | 3823 | 26 |
| 82 | 3829 | 26 |
| 83 | 3835 | 26 |
| 84 | 3841 | 26 |
| 85 | 3847 | 26 |
| 86 | 3853 | 26 |
| 87 | 3859 | 26 |
| 88 | 3865 | 26 |
| 89 | 3871 | 26 |
| 90 | 3877 | 26 |
| 91 | 3883 | 26 |
| 92 | 3889 | 26 |
| 93 | 3895 | 26 |
| 94 | 3901 | 26 |
| 95 | 3907 | 26 |
| 96 | 3913 | 26 |
| 97 | 3919 | 26 |
| 98 | 3925 | 26 |
| 99 | 3931 | 26 |
| 100 | 3937 | 26 |
| 101 | 3943 | 26 |
| 102 | 3949 | 26 |
| 103 | 3955 | 26 |
| 104 | 3961 | 26 |
| 105 | 3967 | 26 |
| 106 | 3973 | 26 |
| 107 | 3979 | 26 |
| 108 | 3985 | 26 |
| 109 | 3991 | 26 |
| 110 | 3997 | 26 |
| 111 | 4003 | 26 |
| 112 | 4009 | 26 |
| 113 | 4015 | 26 |
| 114 | 4021 | 26 |
| 115 | 4027 | 26 |
| 116 | 4033 | 26 |
| 117 | 4039 | 26 |
| 118 | 4045 | 26 |
| 119 | 4051 | 26 |
| 120 | 4057 | 26 |
| 121 | 4063 | 26 |
| 122 | 4069 | 26 |
| 123 | 4075 | 26 |
| 124 | 4081 | 26 |
| 125 | 4087 | 26 |
| 126 | 4093 | 26 |
| 127 | 4099 | 26 |
| 128 | 4105 | 26 |
| 129 | 4111 | 26 |
| 130 | 4117 | 26 |
| 131 | 4123 | 26 |
| 132 | 4129 | 26 |
| 133 | 4135 | 26 |
| 134 | 4141 | 26 |
| 135 | 4147 | 26 |
| 136 | 4153 | 26 |
| 137 | 4159 | 26 |
| 138 | 4165 | 26 |
| 139 | 4171 | 26 |
| 140 | 4177 | 26 |
| 141 | 4183 | 26 |
| 142 | 4189 | 26 |
| 143 | 4195 | 26 |
| 144 | 4201 | 26 |
| 145 | 4207 | 26 |
| 146 | 4213 | 26 |
| 147 | 4219 | 26 |
| 148 | 4225 | 26 |
| 149 | 4231 | 26 |
| 150 | 4237 | 26 |
| 151 | 4243 | 26 |
| 152 | 4249 | 26 |
| 153 | 4255 | 26 |
| 154 | 4261 | 26 |
| 155 | 4267 | 26 |
| 156 | 4273 | 26 |
| 157 | 4279 | 26 |
| 158 | 4285 | 26 |
| 159 | 4291 | 26 |
| 160 | 4297 | 26 |
| 161 | 4303 | 26 |
| 162 | 4309 | 26 |
| 163 | 4315 | 26 |
| 164 | 4321 | 26 |
| 165 | 4327 | 26 |
| 166 | 4333 | 26 |
| 167 | 4339 | 26 |
| 168 | 4345 | 26 |
| 169 | 4351 | 26 |
| 170 | 4357 | 26 |
| 171 | 4363 | 26 |
| 172 | 4369 | 26 |
| 173 | 4375 | 26 |
| 174 | 4381 | 26 |
| 175 | 4387 | 26 |
| 176 | 4393 | 26 |
| 177 | 4399 | 26 |
| 178 | 4405 | 26 |
| 179 | 4411 | 26 |
| 180 | 4417 | 26 |
| 181 | 4423 | 26 |
| 182 | 4429 | 26 |
| 183 | 4435 | 26 |
| 184 | 4441 | 26 |
| 185 | 4447 | 26 |
| 186 | 4453 | 26 |
| 187 | 4459 | 26 |
| 188 | 4465 | 26 |
| 189 | 4471 | 26 |
| 190 | 4477 | 26 |
| 191 | 4483 | 26 |
| 192 | 4489 | 26 |
| 193 | 4495 | 26 |
| 194 | 4501 | 26 |
| 195 | 4507 | 26 |
| 196 | 4513 | 26 |
| 197 | 4519 | 26 |
| 198 | 4525 | 26 |
| 199 | 4531 | 26 |
| 200 | 4537 | 26 |
| 201 | 4543 | 26 |
| 202 | 4549 | 26 |
| 203 | 4555 | 26 |
| 204 | 4561 | 26 |
| 205 | 4567 | 26 |
| 206 | 4573 | 26 |
| 207 | 4579 | 26 |
| 208 | 4585 | 26 |
| 209 | 4591 | 26 |
| 210 | 4597 | 26 |
| 211 | 4603 | 26 |
| 212 | 4609 | 26 |
| 213 | 4615 | 26 |
| 214 | 4621 | 26 |
| 215 | 4627 | 26 |
| 216 | 4633 | 26 |
| 217 | 4639 | 26 |
| 218 | 4645 | 26 |
| 219 | 4651 | 26 |
| 220 | 4657 | 26 |
| 221 | 4663 | 26 |
| 222 | 4669 | 26 |
| 223 | 4675 | 26 |
| 224 | 4681 | 26 |
| 225 | 4687 | 26 |
| 226 | 4693 | 26 |
| 227 | 4699 | 26 |
| 228 | 4705 | 26 |
| 229 | 4711 | 26 |
| 230 | 4717 | 26 |
| 231 | 4723 | 26 |
| 232 | 4729 | 26 |
| 233 | 4735 | 26 |
| 234 | 4741 | 26 |
| 235 | 4747 | 26 |
| 236 | 4753 | 26 |
| 237 | 4759 | 26 |
| 238 | 4765 | 26 |
| 239 | 4771 | 26 |
| 240 | 4777 | 26 |
| 241 | 4783 | 26 |
| 242 | 4789 | 26 |
| 243 | 4795 | 26 |
| 244 | 4801 | 26 |
| 245 | 4807 | 26 |
| 246 | 4813 | 26 |
| 247 | 4819 | 26 |
| 248 | 4825 | 26 |
| 249 | 4831 | 26 |
| 250 | 4837 | 26 |
| 251 | 4843 | 26 |
| 252 | 4849 | 26 |
| 253 | 4855 | 26 |
| 254 | 4861 | 26 |
| 255 | 4867 | 26 |
| 256 | 4873 | 26 |
| 257 | 4879 | 26 |
| 258 | 4885 | 26 |
| 259 | 4891 | 26 |
| 260 | 4897 | 26 |
| 261 | 4903 | 26 |
| 262 | 4909 | 26 |
| 263 | 4915 | 26 |
| 264 | 4921 | 26 |
| 265 | 4927 | 26 |
| 266 | 4933 | 26 |
| 267 | 4939 | 26 |
| 268 | 4945 | 26 |
| 269 | 4951 | 26 |
| 270 | 4957 | 26 |
| 271 | 4963 | 26 |
| 272 | 4969 | 26 |
| 273 | 4975 | 26 |
| 274 | 4981 | 26 |
| 275 | 4987 | 26 |
| 276 | 4993 | 26 |
| 277 | 4999 | 26 |
| 278 | 5005 | 26 |
| 279 | 5011 | 26 |
| 280 | 5017 | 26 |
| 281 | 5023 | 26 |
| 282 | 5029 | 26 |
| 283 | 5035 | 26 |
| 284 | 5041 | 26 |
| 285 | 5047 | 26 |
| 286 | 5053 | 26 |
| 287 | 5059 | 26 |
| 288 | 5065 | 26 |
| 289 | 5071 | 26 |
| 290 | 5077 | 26 |
| 291 | 5083 | 26 |
| 292 | 5089 | 26 |
| 293 | 5095 | 26 |
| 294 | 5101 | 26 |
| 295 | 5107 | 26 |
| 296 | 5113 | 26 |
| 297 | 5119 | 26 |
| 298 | 5125 | 26 |
| 299 | 5131 | 26 |
| 300 | 5137 | 26 |
| 301 | 5143 | 26 |
| 302 | 5149 | 26 |
| 303 | 5155 | 26 |
| 304 | 5161 | 26 |
| 305 | 5167 | 26 |
| 306 | 5173 | 26 |
| 307 | 5179 | 26 |
| 308 | 5185 | 26 |
| 309 | 5191 | 26 |
| 310 | 5197 | 26 |
| 311 | 5203 | 26 |
| 312 | 5209 | 26 |
| 313 | 5215 | 26 |
| 314 | 5221 | 26 |
| 315 | 5227 | 26 |
| 316 | 5233 | 26 |
| 317 | 5239 | 26 |
| 318 | 5245 | 26 |
| 319 | 5251 | 26 |
| 320 | 5257 | 26 |
| 321 | 5263 | 26 |
| 322 | 5269 | 26 |
| 323 | 5275 | 26 |
| 0 | 2 | 2 |
| 1× | saturated |
| 1× | node limit |
| Inputs |
|---|
0 |
1 |
| Outputs |
|---|
0 |
1 |
| Inputs |
|---|
(-.f64 x (/.f64 y 200)) |
(-.f64 y (/.f64 x 200)) |
| Outputs |
|---|
(-.f64 x (/.f64 y 200)) |
(-.f64 y (/.f64 x 200)) |
Compiled 9 to 7 computations (22.2% saved)
| 1× | egg-herbie |
| 10550× | rational.json-simplify-41 |
| 1156× | rational.json-simplify-1 |
| 328× | rational.json-simplify-35 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 11 | 13 |
| 2 | 15 | 13 |
| 3 | 21 | 13 |
| 4 | 31 | 13 |
| 5 | 56 | 13 |
| 6 | 124 | 13 |
| 7 | 332 | 13 |
| 8 | 422 | 13 |
| 9 | 426 | 13 |
| 10 | 430 | 13 |
| 11 | 434 | 13 |
| 12 | 438 | 13 |
| 13 | 1359 | 13 |
| 14 | 1751 | 13 |
| 15 | 1755 | 13 |
| 16 | 1759 | 13 |
| 17 | 1763 | 13 |
| 18 | 1767 | 13 |
| 19 | 1771 | 13 |
| 20 | 1775 | 13 |
| 21 | 1779 | 13 |
| 22 | 1783 | 13 |
| 23 | 1787 | 13 |
| 24 | 1791 | 13 |
| 25 | 1795 | 13 |
| 26 | 1799 | 13 |
| 27 | 1803 | 13 |
| 28 | 1807 | 13 |
| 29 | 1811 | 13 |
| 30 | 1815 | 13 |
| 31 | 1819 | 13 |
| 32 | 1823 | 13 |
| 33 | 1827 | 13 |
| 34 | 1831 | 13 |
| 35 | 1835 | 13 |
| 36 | 1839 | 13 |
| 37 | 1843 | 13 |
| 38 | 1847 | 13 |
| 39 | 1851 | 13 |
| 40 | 1855 | 13 |
| 41 | 1859 | 13 |
| 42 | 1863 | 13 |
| 43 | 1867 | 13 |
| 44 | 1871 | 13 |
| 45 | 1875 | 13 |
| 46 | 1879 | 13 |
| 47 | 1883 | 13 |
| 48 | 1887 | 13 |
| 49 | 1891 | 13 |
| 50 | 1895 | 13 |
| 51 | 1899 | 13 |
| 52 | 1903 | 13 |
| 53 | 1907 | 13 |
| 54 | 1911 | 13 |
| 55 | 1915 | 13 |
| 56 | 1919 | 13 |
| 57 | 1923 | 13 |
| 58 | 1927 | 13 |
| 59 | 1931 | 13 |
| 60 | 1935 | 13 |
| 61 | 1939 | 13 |
| 62 | 1943 | 13 |
| 63 | 1947 | 13 |
| 64 | 1951 | 13 |
| 65 | 1955 | 13 |
| 66 | 1959 | 13 |
| 67 | 1963 | 13 |
| 68 | 1967 | 13 |
| 69 | 1971 | 13 |
| 70 | 1975 | 13 |
| 71 | 1979 | 13 |
| 72 | 1983 | 13 |
| 73 | 1987 | 13 |
| 74 | 1991 | 13 |
| 75 | 1995 | 13 |
| 76 | 1999 | 13 |
| 77 | 2003 | 13 |
| 78 | 2007 | 13 |
| 79 | 2011 | 13 |
| 80 | 2015 | 13 |
| 81 | 2019 | 13 |
| 82 | 2023 | 13 |
| 83 | 2027 | 13 |
| 84 | 2031 | 13 |
| 85 | 2035 | 13 |
| 86 | 2039 | 13 |
| 87 | 2043 | 13 |
| 88 | 2047 | 13 |
| 89 | 2051 | 13 |
| 90 | 2055 | 13 |
| 91 | 2059 | 13 |
| 92 | 2063 | 13 |
| 93 | 2067 | 13 |
| 94 | 2071 | 13 |
| 95 | 2075 | 13 |
| 96 | 2079 | 13 |
| 97 | 2083 | 13 |
| 98 | 2087 | 13 |
| 99 | 2091 | 13 |
| 100 | 2095 | 13 |
| 101 | 2099 | 13 |
| 102 | 2103 | 13 |
| 103 | 2107 | 13 |
| 104 | 2111 | 13 |
| 105 | 2115 | 13 |
| 106 | 2119 | 13 |
| 107 | 2123 | 13 |
| 108 | 2127 | 13 |
| 109 | 2131 | 13 |
| 110 | 2135 | 13 |
| 111 | 2139 | 13 |
| 112 | 2143 | 13 |
| 113 | 2147 | 13 |
| 114 | 2151 | 13 |
| 115 | 2155 | 13 |
| 116 | 2159 | 13 |
| 117 | 2163 | 13 |
| 118 | 2167 | 13 |
| 119 | 2171 | 13 |
| 120 | 2175 | 13 |
| 121 | 2179 | 13 |
| 122 | 2183 | 13 |
| 123 | 2187 | 13 |
| 124 | 2191 | 13 |
| 125 | 2195 | 13 |
| 126 | 2199 | 13 |
| 127 | 2203 | 13 |
| 128 | 2207 | 13 |
| 129 | 2211 | 13 |
| 130 | 2215 | 13 |
| 131 | 2219 | 13 |
| 132 | 2223 | 13 |
| 133 | 2227 | 13 |
| 134 | 2231 | 13 |
| 135 | 2235 | 13 |
| 136 | 2239 | 13 |
| 137 | 2243 | 13 |
| 138 | 2247 | 13 |
| 139 | 2251 | 13 |
| 140 | 2255 | 13 |
| 141 | 2259 | 13 |
| 142 | 2263 | 13 |
| 143 | 2267 | 13 |
| 144 | 2271 | 13 |
| 145 | 2275 | 13 |
| 146 | 2279 | 13 |
| 147 | 2283 | 13 |
| 148 | 2287 | 13 |
| 149 | 2291 | 13 |
| 150 | 2295 | 13 |
| 151 | 2299 | 13 |
| 152 | 2303 | 13 |
| 153 | 2307 | 13 |
| 154 | 2311 | 13 |
| 155 | 2315 | 13 |
| 156 | 2319 | 13 |
| 157 | 2323 | 13 |
| 158 | 2327 | 13 |
| 159 | 2331 | 13 |
| 160 | 2335 | 13 |
| 161 | 2339 | 13 |
| 162 | 2343 | 13 |
| 163 | 2347 | 13 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 x (/.f64 y 200)) |
| Outputs |
|---|
(-.f64 x (/.f64 y 200)) |
Compiled 7 to 5 computations (28.6% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 1 | 1 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 2 | 2 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.0b | (-.f64 x (/.f64 y 200)) |
Compiled 7 to 5 computations (28.6% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 x (/.f64 y 200)) |
Compiled 13 to 8 computations (38.5% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | inf | (-.f64 x (/.f64 y 200)) |
| 0.0ms | x | @ | 0 | (-.f64 x (/.f64 y 200)) |
| 0.0ms | x | @ | inf | (-.f64 x (/.f64 y 200)) |
| 0.0ms | y | @ | 0 | (-.f64 x (/.f64 y 200)) |
| 0.0ms | y | @ | -inf | (-.f64 x (/.f64 y 200)) |
| 1× | batch-egg-rewrite |
| 1974× | bool.json-1 |
| 1412× | rational.json-simplify-35 |
| 1228× | bool.json-2 |
| 1130× | rational.json-1 |
| 1130× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 72 | 13 |
| 2 | 221 | 13 |
| 3 | 487 | 13 |
| 4 | 1020 | 13 |
| 5 | 2235 | 13 |
| 6 | 4613 | 13 |
| 7 | 7731 | 13 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 x (/.f64 y 200)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (/.f64 y -200))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (/.f64 y -200)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 x (/.f64 y -200)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 x (-.f64 (/.f64 y -200) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 y -200) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 x (+.f64 1 (/.f64 y -200))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (+.f64 1 (/.f64 y -200))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 y 1/200)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x 1/2) (*.f64 y 1/400)) (-.f64 (*.f64 x 1/2) (*.f64 y 1/400)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (/.f64 y -200)) (+.f64 x -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 (+.f64 x (/.f64 y -200)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x 1) (-.f64 (/.f64 y -200) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (+.f64 x (/.f64 y -200)) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (/.f64 y -200)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (/.f64 y -200)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 x 1/2) (*.f64 y 1/400)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 y 1/200) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (/.f64 y -200)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 x 4) (/.f64 y 800)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (/.f64 y -200)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 x (-.f64 x (*.f64 y 1/100))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 y 1/200) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x 1/2) (*.f64 y 1/400)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (/.f64 y -200)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 x 4) (*.f64 y 1/50)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (/.f64 y -200)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (/.f64 y -200)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y 1/200) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (/.f64 y -200)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y 1/100) (+.f64 x x)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (/.f64 y -200)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y 1/50) (*.f64 x 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (/.f64 y -200)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (/.f64 y -200)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 y 1/50) (*.f64 x 4))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 y 1/50) (*.f64 x 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (/.f64 y -200)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (/.f64 y -200)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (-.f64 (*.f64 y 1/50) (*.f64 x 4))) (neg.f64 (-.f64 (*.f64 y 1/50) (*.f64 x 4)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 y 1/200) x))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x (/.f64 y -200))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x (/.f64 y -200)) (+.f64 x (/.f64 y -200)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x (/.f64 y -200)) (+.f64 x (/.f64 y -200))))))) |
| 1× | egg-herbie |
| 2318× | rational.json-simplify-35 |
| 2112× | rational.json-simplify-49 |
| 1602× | rational.json-simplify-1 |
| 1304× | rational.json-simplify-42 |
| 1238× | rational.json-simplify-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 104 | 983 |
| 1 | 207 | 983 |
| 2 | 395 | 983 |
| 3 | 1146 | 983 |
| 4 | 1911 | 983 |
| 5 | 2591 | 983 |
| 6 | 3456 | 983 |
| 7 | 3908 | 983 |
| 8 | 4239 | 983 |
| 9 | 4407 | 983 |
| 10 | 5142 | 983 |
| 11 | 5492 | 983 |
| 12 | 5748 | 983 |
| 13 | 6142 | 983 |
| 14 | 7007 | 983 |
| 15 | 7214 | 983 |
| 16 | 7480 | 983 |
| 17 | 7629 | 983 |
| 18 | 7708 | 983 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1/200 y) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 (*.f64 -1/200 y) x) |
x |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 (*.f64 -1/200 y) x) |
x |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 (*.f64 -1/200 y) x) |
x |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 (*.f64 -1/200 y) x) |
(*.f64 -1/200 y) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 (*.f64 -1/200 y) x) |
(*.f64 -1/200 y) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (/.f64 y -200)) |
(+.f64 (+.f64 x (/.f64 y -200)) 0) |
(+.f64 0 (+.f64 x (/.f64 y -200))) |
(+.f64 1 (+.f64 x (-.f64 (/.f64 y -200) 1))) |
(+.f64 (/.f64 y -200) x) |
(+.f64 -1 (+.f64 x (+.f64 1 (/.f64 y -200)))) |
(+.f64 (+.f64 x (+.f64 1 (/.f64 y -200))) -1) |
(+.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 y 1/200))) |
(+.f64 (-.f64 (*.f64 x 1/2) (*.f64 y 1/400)) (-.f64 (*.f64 x 1/2) (*.f64 y 1/400))) |
(+.f64 (+.f64 1 (/.f64 y -200)) (+.f64 x -1)) |
(+.f64 -2 (+.f64 (+.f64 x (/.f64 y -200)) 2)) |
(+.f64 (+.f64 x 1) (-.f64 (/.f64 y -200) 1)) |
(+.f64 (+.f64 (+.f64 x (/.f64 y -200)) 2) -2) |
(*.f64 (+.f64 x (/.f64 y -200)) 1) |
(*.f64 1 (+.f64 x (/.f64 y -200))) |
(*.f64 2 (-.f64 (*.f64 x 1/2) (*.f64 y 1/400))) |
(*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 1/2) |
(*.f64 (-.f64 (*.f64 y 1/200) x) -1) |
(*.f64 4 (/.f64 (+.f64 x (/.f64 y -200)) 4)) |
(*.f64 4 (-.f64 (/.f64 x 4) (/.f64 y 800))) |
(*.f64 (*.f64 (+.f64 x (/.f64 y -200)) 4) 1/4) |
(*.f64 1/2 (+.f64 x (-.f64 x (*.f64 y 1/100)))) |
(*.f64 -1 (-.f64 (*.f64 y 1/200) x)) |
(*.f64 (-.f64 (*.f64 x 1/2) (*.f64 y 1/400)) 2) |
(*.f64 1/4 (*.f64 (+.f64 x (/.f64 y -200)) 4)) |
(*.f64 1/4 (-.f64 (*.f64 x 4) (*.f64 y 1/50))) |
(*.f64 (/.f64 (+.f64 x (/.f64 y -200)) 4) 4) |
(/.f64 (+.f64 x (/.f64 y -200)) 1) |
(/.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 2) |
(/.f64 (-.f64 (*.f64 y 1/200) x) -1) |
(/.f64 (*.f64 (+.f64 x (/.f64 y -200)) 4) 4) |
(/.f64 (-.f64 (*.f64 y 1/100) (+.f64 x x)) -2) |
(/.f64 (*.f64 (+.f64 x (/.f64 y -200)) 8) 8) |
(/.f64 (-.f64 (*.f64 y 1/50) (*.f64 x 4)) -4) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (/.f64 y -200)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (/.f64 y -200)) 8))) 32) |
(/.f64 (*.f64 2 (-.f64 (*.f64 y 1/50) (*.f64 x 4))) -8) |
(/.f64 (neg.f64 (-.f64 (*.f64 y 1/50) (*.f64 x 4))) 4) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (/.f64 y -200)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (/.f64 y -200)) 8)))) 64) |
(/.f64 (+.f64 (neg.f64 (-.f64 (*.f64 y 1/50) (*.f64 x 4))) (neg.f64 (-.f64 (*.f64 y 1/50) (*.f64 x 4)))) 8) |
(neg.f64 (-.f64 (*.f64 y 1/200) x)) |
| Outputs |
|---|
(*.f64 -1/200 y) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (*.f64 -1/200 y)) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (*.f64 -1/200 y)) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (*.f64 -1/200 y)) |
x |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (*.f64 -1/200 y)) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (*.f64 -1/200 y)) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (*.f64 -1/200 y)) |
x |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (*.f64 -1/200 y)) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (*.f64 -1/200 y)) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (*.f64 -1/200 y)) |
x |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (*.f64 -1/200 y)) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (*.f64 -1/200 y)) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (*.f64 -1/200 y)) |
(*.f64 -1/200 y) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (*.f64 -1/200 y)) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (*.f64 -1/200 y)) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (*.f64 -1/200 y)) |
(*.f64 -1/200 y) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (*.f64 -1/200 y)) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (*.f64 -1/200 y)) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (*.f64 -1/200 y)) |
(+.f64 x (/.f64 y -200)) |
(+.f64 (+.f64 x (/.f64 y -200)) 0) |
(+.f64 x (/.f64 y -200)) |
(+.f64 0 (+.f64 x (/.f64 y -200))) |
(+.f64 x (/.f64 y -200)) |
(+.f64 1 (+.f64 x (-.f64 (/.f64 y -200) 1))) |
(+.f64 x (/.f64 y -200)) |
(+.f64 (/.f64 y -200) x) |
(+.f64 x (/.f64 y -200)) |
(+.f64 -1 (+.f64 x (+.f64 1 (/.f64 y -200)))) |
(+.f64 x (/.f64 y -200)) |
(+.f64 (+.f64 x (+.f64 1 (/.f64 y -200))) -1) |
(+.f64 x (/.f64 y -200)) |
(+.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 y 1/200))) |
(+.f64 (-.f64 (*.f64 x 1/2) (*.f64 y 1/400)) (-.f64 (*.f64 x 1/2) (*.f64 y 1/400))) |
(+.f64 (+.f64 1 (/.f64 y -200)) (+.f64 x -1)) |
(+.f64 x (/.f64 y -200)) |
(+.f64 -2 (+.f64 (+.f64 x (/.f64 y -200)) 2)) |
(+.f64 x (/.f64 y -200)) |
(+.f64 (+.f64 x 1) (-.f64 (/.f64 y -200) 1)) |
(+.f64 x (/.f64 y -200)) |
(+.f64 (+.f64 (+.f64 x (/.f64 y -200)) 2) -2) |
(+.f64 x (/.f64 y -200)) |
(*.f64 (+.f64 x (/.f64 y -200)) 1) |
(+.f64 x (/.f64 y -200)) |
(*.f64 1 (+.f64 x (/.f64 y -200))) |
(+.f64 x (/.f64 y -200)) |
(*.f64 2 (-.f64 (*.f64 x 1/2) (*.f64 y 1/400))) |
(*.f64 (-.f64 (*.f64 x 1/2) (*.f64 y 1/400)) 2) |
(*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 1/2) |
(*.f64 1/2 (+.f64 x (-.f64 x (*.f64 y 1/100)))) |
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 y -1/100)))) |
(*.f64 (-.f64 (*.f64 y 1/200) x) -1) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (*.f64 -1/200 y)) |
(*.f64 4 (/.f64 (+.f64 x (/.f64 y -200)) 4)) |
(+.f64 x (/.f64 y -200)) |
(*.f64 4 (-.f64 (/.f64 x 4) (/.f64 y 800))) |
(*.f64 (*.f64 (+.f64 x (/.f64 y -200)) 4) 1/4) |
(+.f64 x (/.f64 y -200)) |
(*.f64 1/2 (+.f64 x (-.f64 x (*.f64 y 1/100)))) |
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 y -1/100)))) |
(*.f64 -1 (-.f64 (*.f64 y 1/200) x)) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (*.f64 -1/200 y)) |
(*.f64 (-.f64 (*.f64 x 1/2) (*.f64 y 1/400)) 2) |
(*.f64 1/4 (*.f64 (+.f64 x (/.f64 y -200)) 4)) |
(+.f64 x (/.f64 y -200)) |
(*.f64 1/4 (-.f64 (*.f64 x 4) (*.f64 y 1/50))) |
(*.f64 (/.f64 (+.f64 x (/.f64 y -200)) 4) 4) |
(+.f64 x (/.f64 y -200)) |
(/.f64 (+.f64 x (/.f64 y -200)) 1) |
(+.f64 x (/.f64 y -200)) |
(/.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 2) |
(/.f64 (+.f64 x (+.f64 x (*.f64 y -1/100))) 2) |
(/.f64 (-.f64 (*.f64 y 1/200) x) -1) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (*.f64 -1/200 y)) |
(/.f64 (*.f64 (+.f64 x (/.f64 y -200)) 4) 4) |
(+.f64 x (/.f64 y -200)) |
(/.f64 (-.f64 (*.f64 y 1/100) (+.f64 x x)) -2) |
(/.f64 (*.f64 (+.f64 x (/.f64 y -200)) 8) 8) |
(+.f64 x (/.f64 y -200)) |
(/.f64 (-.f64 (*.f64 y 1/50) (*.f64 x 4)) -4) |
(*.f64 (-.f64 (*.f64 y 1/50) (*.f64 x 4)) -1/4) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (/.f64 y -200)) 8)) 16) |
(+.f64 x (/.f64 y -200)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (/.f64 y -200)) 8))) 32) |
(+.f64 x (/.f64 y -200)) |
(/.f64 (*.f64 2 (-.f64 (*.f64 y 1/50) (*.f64 x 4))) -8) |
(/.f64 (-.f64 (*.f64 y 1/50) (*.f64 x 4)) -4) |
(*.f64 (-.f64 (*.f64 y 1/50) (*.f64 x 4)) -1/4) |
(/.f64 (neg.f64 (-.f64 (*.f64 y 1/50) (*.f64 x 4))) 4) |
(/.f64 (-.f64 (*.f64 y 1/50) (*.f64 x 4)) -4) |
(*.f64 (-.f64 (*.f64 y 1/50) (*.f64 x 4)) -1/4) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (/.f64 y -200)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (/.f64 y -200)) 8)))) 64) |
(+.f64 x (/.f64 y -200)) |
(/.f64 (+.f64 (neg.f64 (-.f64 (*.f64 y 1/50) (*.f64 x 4))) (neg.f64 (-.f64 (*.f64 y 1/50) (*.f64 x 4)))) 8) |
(/.f64 (-.f64 (*.f64 y 1/50) (*.f64 x 4)) -4) |
(*.f64 (-.f64 (*.f64 y 1/50) (*.f64 x 4)) -1/4) |
(neg.f64 (-.f64 (*.f64 y 1/200) x)) |
(+.f64 (*.f64 -1/200 y) x) |
(+.f64 x (*.f64 -1/200 y)) |
Compiled 428 to 321 computations (25% saved)
4 alts after pruning (3 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 45 | 3 | 48 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 45 | 4 | 49 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.1b | (/.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 2) |
| ✓ | 0.0b | (-.f64 x (/.f64 y 200)) |
| ▶ | 34.8b | (*.f64 -1/200 y) |
| 28.6b | x |
Compiled 26 to 19 computations (26.9% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (*.f64 -1/200 y) |
Compiled 7 to 5 computations (28.6% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | -inf | (*.f64 -1/200 y) |
| 0.0ms | y | @ | inf | (*.f64 -1/200 y) |
| 0.0ms | y | @ | 0 | (*.f64 -1/200 y) |
| 1× | batch-egg-rewrite |
| 1622× | rational.json-simplify-35 |
| 1348× | bool.json-1 |
| 1348× | bool.json-2 |
| 1290× | rational.json-1 |
| 1290× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5 | 7 |
| 1 | 51 | 7 |
| 2 | 154 | 7 |
| 3 | 326 | 7 |
| 4 | 651 | 7 |
| 5 | 1362 | 7 |
| 6 | 3149 | 7 |
| 7 | 5751 | 7 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1/200 y) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/200 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/200 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y -1/400) (*.f64 y -1/400))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/200 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/200 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -1/100) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -1/50) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -1/25) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y -1/25)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 y -1/25))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -1/25)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -1/25)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -1/25))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 -1/200 y)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 -1/200 y) (*.f64 -1/200 y))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 -1/200 y) (*.f64 -1/200 y)))))) |
| 1× | egg-herbie |
| 8912× | rational.json-simplify-41 |
| 2270× | rational.json-simplify-35 |
| 1370× | rational.json-simplify-2 |
| 866× | rational.json-simplify-1 |
| 646× | rational.json-simplify-51 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 38 | 84 |
| 1 | 88 | 84 |
| 2 | 158 | 84 |
| 3 | 362 | 84 |
| 4 | 864 | 84 |
| 5 | 2614 | 84 |
| 6 | 3500 | 84 |
| 7 | 3601 | 84 |
| 8 | 3651 | 84 |
| 9 | 3696 | 84 |
| 10 | 3738 | 84 |
| 11 | 3778 | 84 |
| 12 | 3850 | 84 |
| 13 | 3889 | 84 |
| 14 | 3928 | 84 |
| 15 | 3967 | 84 |
| 16 | 4006 | 84 |
| 17 | 4045 | 84 |
| 18 | 4084 | 84 |
| 19 | 4123 | 84 |
| 20 | 4162 | 84 |
| 21 | 4201 | 84 |
| 22 | 4240 | 84 |
| 23 | 4279 | 84 |
| 24 | 4318 | 84 |
| 25 | 4357 | 84 |
| 26 | 4396 | 84 |
| 27 | 4435 | 84 |
| 28 | 4474 | 84 |
| 29 | 4513 | 84 |
| 30 | 4552 | 84 |
| 31 | 4552 | 84 |
| 32 | 4591 | 84 |
| 33 | 4630 | 84 |
| 34 | 4669 | 84 |
| 35 | 4708 | 84 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 -1/200 y) 0) |
(+.f64 0 (*.f64 -1/200 y)) |
(+.f64 (*.f64 y -1/400) (*.f64 y -1/400)) |
(-.f64 (*.f64 -1/200 y) 0) |
(/.f64 (*.f64 -1/200 y) 1) |
(/.f64 (*.f64 y -1/100) 2) |
(/.f64 (*.f64 y -1/50) 4) |
(/.f64 (*.f64 y -1/25) 8) |
(/.f64 (*.f64 2 (*.f64 y -1/25)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 y -1/25))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -1/25)))) 64) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -1/25)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -1/25))))) 128) |
| Outputs |
|---|
(+.f64 (*.f64 -1/200 y) 0) |
(*.f64 -1/200 y) |
(+.f64 0 (*.f64 -1/200 y)) |
(*.f64 -1/200 y) |
(+.f64 (*.f64 y -1/400) (*.f64 y -1/400)) |
(*.f64 -1/200 y) |
(-.f64 (*.f64 -1/200 y) 0) |
(*.f64 -1/200 y) |
(/.f64 (*.f64 -1/200 y) 1) |
(*.f64 -1/200 y) |
(/.f64 (*.f64 y -1/100) 2) |
(*.f64 -1/200 y) |
(/.f64 (*.f64 y -1/50) 4) |
(*.f64 -1/200 y) |
(/.f64 (*.f64 y -1/25) 8) |
(*.f64 -1/200 y) |
(/.f64 (*.f64 2 (*.f64 y -1/25)) 16) |
(*.f64 -1/200 y) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 y -1/25))) 32) |
(*.f64 -1/200 y) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -1/25)))) 64) |
(*.f64 -1/200 y) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -1/25)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -1/25))))) 128) |
(*.f64 -1/200 y) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 x (-.f64 x (*.f64 y 1/100))) |
| ✓ | 0.1b | (*.f64 y 1/100) |
Compiled 30 to 19 computations (36.7% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | inf | (*.f64 y 1/100) |
| 0.0ms | y | @ | -inf | (*.f64 y 1/100) |
| 0.0ms | x | @ | 0 | (+.f64 x (-.f64 x (*.f64 y 1/100))) |
| 0.0ms | y | @ | 0 | (*.f64 y 1/100) |
| 0.0ms | y | @ | 0 | (+.f64 x (-.f64 x (*.f64 y 1/100))) |
| 1× | batch-egg-rewrite |
| 2014× | bool.json-1 |
| 1372× | rational.json-simplify-35 |
| 1274× | bool.json-2 |
| 1218× | rational.json-1 |
| 1218× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 26 |
| 1 | 79 | 26 |
| 2 | 214 | 26 |
| 3 | 456 | 26 |
| 4 | 964 | 26 |
| 5 | 2156 | 26 |
| 6 | 4630 | 26 |
| 7 | 7840 | 26 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y 1/100) |
(+.f64 x (-.f64 x (*.f64 y 1/100))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y 1/100) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y 1/100))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y 1/200) (*.f64 y 1/200))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y 1/100) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 1/100) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 1/50) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 1/25) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y 1/100) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y 1/100) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y 1/100) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y 1/100) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 y 1/100) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 y 1/100)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 y 1/100) (*.f64 y 1/100))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 y 1/100) (*.f64 y 1/100)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (+.f64 x (-.f64 1 (*.f64 y 1/100)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (-.f64 x (*.f64 y 1/100))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 y 1/200))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (-.f64 (+.f64 x x) (*.f64 y 1/50))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x (-.f64 x (*.f64 y 1/100)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x (-.f64 x (*.f64 y 1/100))) (+.f64 x (-.f64 x (*.f64 y 1/100))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x (-.f64 x (*.f64 y 1/100))) (+.f64 x (-.f64 x (*.f64 y 1/100)))))))) |
| 1× | egg-herbie |
| 2388× | rational.json-simplify-2 |
| 1996× | rational.json-simplify-35 |
| 1502× | rational.json-simplify-45 |
| 1462× | rational.json-simplify-52 |
| 1160× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 82 | 980 |
| 1 | 172 | 980 |
| 2 | 423 | 980 |
| 3 | 1163 | 980 |
| 4 | 2148 | 980 |
| 5 | 2688 | 980 |
| 6 | 2978 | 980 |
| 7 | 3272 | 980 |
| 8 | 3726 | 980 |
| 9 | 4343 | 980 |
| 10 | 4692 | 980 |
| 11 | 5087 | 980 |
| 12 | 5340 | 980 |
| 13 | 5364 | 980 |
| 14 | 5484 | 980 |
| 15 | 6430 | 980 |
| 16 | 7357 | 980 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 1/100 y) |
(*.f64 1/100 y) |
(*.f64 1/100 y) |
(*.f64 1/100 y) |
(*.f64 1/100 y) |
(*.f64 1/100 y) |
(*.f64 1/100 y) |
(*.f64 1/100 y) |
(*.f64 1/100 y) |
(*.f64 1/100 y) |
(*.f64 1/100 y) |
(*.f64 1/100 y) |
(*.f64 -1/100 y) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(*.f64 2 x) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(*.f64 2 x) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(*.f64 2 x) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(*.f64 -1/100 y) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(*.f64 -1/100 y) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 y 1/100) 0) |
(+.f64 0 (*.f64 y 1/100)) |
(+.f64 (*.f64 y 1/200) (*.f64 y 1/200)) |
(-.f64 (*.f64 y 1/100) 0) |
(/.f64 (*.f64 y 1/100) 1) |
(/.f64 (*.f64 y 1/50) 2) |
(/.f64 (*.f64 y 1/25) 4) |
(/.f64 (*.f64 (*.f64 y 1/100) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y 1/100) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y 1/100) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y 1/100) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 y 1/100) 8)))) 64) |
(-.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 0) |
(-.f64 (+.f64 x (+.f64 x (-.f64 1 (*.f64 y 1/100)))) 1) |
(*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 1) |
(*.f64 1 (+.f64 x (-.f64 x (*.f64 y 1/100)))) |
(*.f64 2 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 1/2)) |
(*.f64 2 (+.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 y 1/200)))) |
(*.f64 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 4)) |
(*.f64 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 2)) |
(*.f64 1/2 (+.f64 (+.f64 x x) (-.f64 (+.f64 x x) (*.f64 y 1/50)))) |
(*.f64 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 4)) |
(*.f64 (/.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 4) 4) |
(/.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 1) |
(/.f64 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 2) 2) |
(/.f64 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 4) 4) |
(/.f64 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 8)))) 64) |
| Outputs |
|---|
(*.f64 1/100 y) |
(*.f64 1/100 y) |
(*.f64 1/100 y) |
(*.f64 1/100 y) |
(*.f64 1/100 y) |
(*.f64 1/100 y) |
(*.f64 1/100 y) |
(*.f64 1/100 y) |
(*.f64 1/100 y) |
(*.f64 1/100 y) |
(*.f64 1/100 y) |
(*.f64 1/100 y) |
(*.f64 -1/100 y) |
(*.f64 y -1/100) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 y -1/100) (*.f64 2 x)) |
(+.f64 (*.f64 2 x) (*.f64 y -1/100)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 y -1/100) (*.f64 2 x)) |
(+.f64 (*.f64 2 x) (*.f64 y -1/100)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 y -1/100) (*.f64 2 x)) |
(+.f64 (*.f64 2 x) (*.f64 y -1/100)) |
(*.f64 2 x) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 y -1/100) (*.f64 2 x)) |
(+.f64 (*.f64 2 x) (*.f64 y -1/100)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 y -1/100) (*.f64 2 x)) |
(+.f64 (*.f64 2 x) (*.f64 y -1/100)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 y -1/100) (*.f64 2 x)) |
(+.f64 (*.f64 2 x) (*.f64 y -1/100)) |
(*.f64 2 x) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 y -1/100) (*.f64 2 x)) |
(+.f64 (*.f64 2 x) (*.f64 y -1/100)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 y -1/100) (*.f64 2 x)) |
(+.f64 (*.f64 2 x) (*.f64 y -1/100)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 y -1/100) (*.f64 2 x)) |
(+.f64 (*.f64 2 x) (*.f64 y -1/100)) |
(*.f64 2 x) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 y -1/100) (*.f64 2 x)) |
(+.f64 (*.f64 2 x) (*.f64 y -1/100)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 y -1/100) (*.f64 2 x)) |
(+.f64 (*.f64 2 x) (*.f64 y -1/100)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 y -1/100) (*.f64 2 x)) |
(+.f64 (*.f64 2 x) (*.f64 y -1/100)) |
(*.f64 -1/100 y) |
(*.f64 y -1/100) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 y -1/100) (*.f64 2 x)) |
(+.f64 (*.f64 2 x) (*.f64 y -1/100)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 y -1/100) (*.f64 2 x)) |
(+.f64 (*.f64 2 x) (*.f64 y -1/100)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 y -1/100) (*.f64 2 x)) |
(+.f64 (*.f64 2 x) (*.f64 y -1/100)) |
(*.f64 -1/100 y) |
(*.f64 y -1/100) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 y -1/100) (*.f64 2 x)) |
(+.f64 (*.f64 2 x) (*.f64 y -1/100)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 y -1/100) (*.f64 2 x)) |
(+.f64 (*.f64 2 x) (*.f64 y -1/100)) |
(+.f64 (*.f64 2 x) (*.f64 -1/100 y)) |
(+.f64 (*.f64 y -1/100) (*.f64 2 x)) |
(+.f64 (*.f64 2 x) (*.f64 y -1/100)) |
(+.f64 (*.f64 y 1/100) 0) |
(*.f64 1/100 y) |
(+.f64 0 (*.f64 y 1/100)) |
(*.f64 1/100 y) |
(+.f64 (*.f64 y 1/200) (*.f64 y 1/200)) |
(*.f64 1/100 y) |
(-.f64 (*.f64 y 1/100) 0) |
(*.f64 1/100 y) |
(/.f64 (*.f64 y 1/100) 1) |
(*.f64 1/100 y) |
(/.f64 (*.f64 y 1/50) 2) |
(*.f64 1/100 y) |
(/.f64 (*.f64 y 1/25) 4) |
(*.f64 1/100 y) |
(/.f64 (*.f64 (*.f64 y 1/100) 8) 8) |
(*.f64 1/100 y) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y 1/100) 8)) 16) |
(*.f64 1/100 y) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y 1/100) 8))) 32) |
(*.f64 1/100 y) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y 1/100) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 y 1/100) 8)))) 64) |
(*.f64 1/100 y) |
(-.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 0) |
(+.f64 x (-.f64 x (*.f64 1/100 y))) |
(+.f64 (+.f64 x x) (*.f64 y -1/100)) |
(-.f64 (+.f64 x (+.f64 x (-.f64 1 (*.f64 y 1/100)))) 1) |
(+.f64 x (-.f64 x (*.f64 1/100 y))) |
(+.f64 (+.f64 x x) (*.f64 y -1/100)) |
(*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 1) |
(+.f64 x (-.f64 x (*.f64 1/100 y))) |
(+.f64 (+.f64 x x) (*.f64 y -1/100)) |
(*.f64 1 (+.f64 x (-.f64 x (*.f64 y 1/100)))) |
(+.f64 x (-.f64 x (*.f64 1/100 y))) |
(+.f64 (+.f64 x x) (*.f64 y -1/100)) |
(*.f64 2 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 1/2)) |
(+.f64 x (-.f64 x (*.f64 1/100 y))) |
(+.f64 (+.f64 x x) (*.f64 y -1/100)) |
(*.f64 2 (+.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) (*.f64 y 1/200)))) |
(*.f64 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 2) 1/2) |
(+.f64 x (-.f64 x (*.f64 1/100 y))) |
(+.f64 (+.f64 x x) (*.f64 y -1/100)) |
(*.f64 4 (/.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 4)) |
(+.f64 x (-.f64 x (*.f64 1/100 y))) |
(+.f64 (+.f64 x x) (*.f64 y -1/100)) |
(*.f64 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 4) 1/4) |
(+.f64 x (-.f64 x (*.f64 1/100 y))) |
(+.f64 (+.f64 x x) (*.f64 y -1/100)) |
(*.f64 1/2 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 2)) |
(+.f64 x (-.f64 x (*.f64 1/100 y))) |
(+.f64 (+.f64 x x) (*.f64 y -1/100)) |
(*.f64 1/2 (+.f64 (+.f64 x x) (-.f64 (+.f64 x x) (*.f64 y 1/50)))) |
(*.f64 1/2 (+.f64 (+.f64 x x) (+.f64 x (-.f64 x (*.f64 y 1/50))))) |
(*.f64 1/2 (+.f64 x (+.f64 (+.f64 x x) (-.f64 x (*.f64 y 1/50))))) |
(*.f64 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 1/2) 2) |
(+.f64 x (-.f64 x (*.f64 1/100 y))) |
(+.f64 (+.f64 x x) (*.f64 y -1/100)) |
(*.f64 1/4 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 4)) |
(+.f64 x (-.f64 x (*.f64 1/100 y))) |
(+.f64 (+.f64 x x) (*.f64 y -1/100)) |
(*.f64 (/.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 4) 4) |
(+.f64 x (-.f64 x (*.f64 1/100 y))) |
(+.f64 (+.f64 x x) (*.f64 y -1/100)) |
(/.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 1) |
(+.f64 x (-.f64 x (*.f64 1/100 y))) |
(+.f64 (+.f64 x x) (*.f64 y -1/100)) |
(/.f64 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 2) 2) |
(+.f64 x (-.f64 x (*.f64 1/100 y))) |
(+.f64 (+.f64 x x) (*.f64 y -1/100)) |
(/.f64 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 4) 4) |
(+.f64 x (-.f64 x (*.f64 1/100 y))) |
(+.f64 (+.f64 x x) (*.f64 y -1/100)) |
(/.f64 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 8) 8) |
(+.f64 x (-.f64 x (*.f64 1/100 y))) |
(+.f64 (+.f64 x x) (*.f64 y -1/100)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 8)) 16) |
(+.f64 x (-.f64 x (*.f64 1/100 y))) |
(+.f64 (+.f64 x x) (*.f64 y -1/100)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 8))) 32) |
(+.f64 x (-.f64 x (*.f64 1/100 y))) |
(+.f64 (+.f64 x x) (*.f64 y -1/100)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 8)))) 64) |
(+.f64 x (-.f64 x (*.f64 1/100 y))) |
(+.f64 (+.f64 x x) (*.f64 y -1/100)) |
Compiled 638 to 488 computations (23.5% saved)
4 alts after pruning (1 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 56 | 0 | 56 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 56 | 4 | 60 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.1b | (/.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 2) |
| ✓ | 0.0b | (-.f64 x (/.f64 y 200)) |
| ✓ | 34.8b | (*.f64 -1/200 y) |
| 28.6b | x |
Compiled 26 to 19 computations (26.9% saved)
Compiled 2 to 2 computations (0% saved)
4 alts after pruning (1 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 3 | 3 |
| Total | 0 | 4 | 4 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.1b | (/.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 2) |
| ✓ | 0.0b | (-.f64 x (/.f64 y 200)) |
| ✓ | 34.8b | (*.f64 -1/200 y) |
| 28.6b | x |
Compiled 26 to 19 computations (26.9% saved)
Compiled 2 to 2 computations (0% saved)
4 alts after pruning (1 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 3 | 3 |
| Total | 0 | 4 | 4 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.1b | (/.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 2) |
| ✓ | 0.0b | (-.f64 x (/.f64 y 200)) |
| ✓ | 34.8b | (*.f64 -1/200 y) |
| 28.6b | x |
Compiled 26 to 19 computations (26.9% saved)
| Inputs |
|---|
x |
(*.f64 -1/200 y) |
(-.f64 x (/.f64 y 200)) |
(/.f64 (+.f64 x (-.f64 x (*.f64 y 1/100))) 2) |
| Outputs |
|---|
(-.f64 x (/.f64 y 200)) |
4 calls:
| 609.0ms | x |
| 4.0ms | (-.f64 x (/.f64 y 200)) |
| 4.0ms | (/.f64 y 200) |
| 4.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 0.0b | 1 | x |
| 0.0b | 1 | y |
| 0.0b | 1 | (-.f64 x (/.f64 y 200)) |
| 0.0b | 1 | (/.f64 y 200) |
Compiled 38 to 26 computations (31.6% saved)
Total -49.5b remaining (-398.7%)
Threshold costs -49.5b (-398.7%)
| Inputs |
|---|
x |
(*.f64 -1/200 y) |
| Outputs |
|---|
(*.f64 -1/200 y) |
x |
(*.f64 -1/200 y) |
x |
(*.f64 -1/200 y) |
x |
(*.f64 -1/200 y) |
2 calls:
| 95.0ms | y |
| 87.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 14.0b | 3 | x |
| 12.4b | 7 | y |
Compiled 12 to 8 computations (33.3% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 14.0ms | 3.2803769601793356e+67 | 4.6605012384058716e+75 |
| 2.0ms | 302.9643832079306 | 319.535478671274 |
| 13.0ms | 3.3895706189181676e-20 | 9.002836014296206e-17 |
| 13.0ms | -4.146507341578303e-24 | -8.042826642433648e-29 |
| 844.0ms | -3.1026054089976976e+27 | -1.0107523240575134e+25 |
| 10.0ms | -2.0120334142945284e+134 | -1.8059139946292353e+132 |
| 887.0ms | 656× | body | 256 | valid |
Compiled 422 to 337 computations (20.1% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 30 | 99 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(-.f64 x (/.f64 y 200)) |
(if (<=.f64 y -19500000000000000688020700666723435662027754777817959495444062367334375152341647799326216185676194073321101544396828760883110300614656) (*.f64 -1/200 y) (if (<=.f64 y -289999999999999998355832832) x (if (<=.f64 y -1080192345553827/348449143727040986586495598010130648530944) (*.f64 -1/200 y) (if (<=.f64 y 5841333965851681/1298074214633706907132624082305024) x (if (<=.f64 y 310) (*.f64 -1/200 y) (if (<=.f64 y 13999999999999999482944568475520433407870214584742123758515819993104384) x (*.f64 -1/200 y))))))) |
x |
| Outputs |
|---|
(-.f64 x (/.f64 y 200)) |
(if (<=.f64 y -19500000000000000688020700666723435662027754777817959495444062367334375152341647799326216185676194073321101544396828760883110300614656) (*.f64 -1/200 y) (if (<=.f64 y -289999999999999998355832832) x (if (<=.f64 y -1080192345553827/348449143727040986586495598010130648530944) (*.f64 -1/200 y) (if (<=.f64 y 5841333965851681/1298074214633706907132624082305024) x (if (<=.f64 y 310) (*.f64 -1/200 y) (if (<=.f64 y 13999999999999999482944568475520433407870214584742123758515819993104384) x (*.f64 -1/200 y))))))) |
x |
Compiled 51 to 35 computations (31.4% saved)
Compiled 47 to 31 computations (34% saved)
Loading profile data...