Time bar (total: 13.1s)
| 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 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 5 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 6 |
| 12.5% | 12.5% | 87.4% | 0.1% | 0% | 0% | 0% | 7 |
| 18.8% | 18.7% | 81.1% | 0.1% | 0% | 0% | 0% | 8 |
| 29.7% | 29.6% | 70.2% | 0.1% | 0% | 0% | 0% | 9 |
| 42.2% | 42.1% | 57.7% | 0.1% | 0% | 0% | 0% | 10 |
| 47.7% | 47.6% | 52.1% | 0.1% | 0.2% | 0% | 0% | 11 |
| 54.7% | 53.8% | 44.6% | 0.1% | 1.5% | 0% | 0% | 12 |
Compiled 11 to 7 computations (36.4% saved)
| 2.2s | 8256× | body | 256 | valid |
| 477.0ms | 1930× | body | 256 | infinite |
| 2× | egg-herbie |
| 23490× | rational.json-simplify-41 |
| 3388× | rational.json-simplify-1 |
| 1304× | rational.json-simplify-35 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 76 |
| 1 | 32 | 76 |
| 2 | 43 | 76 |
| 3 | 68 | 76 |
| 4 | 121 | 76 |
| 5 | 274 | 76 |
| 6 | 711 | 76 |
| 7 | 949 | 76 |
| 8 | 960 | 76 |
| 9 | 971 | 76 |
| 10 | 982 | 76 |
| 11 | 993 | 76 |
| 12 | 1004 | 76 |
| 13 | 1015 | 76 |
| 14 | 1026 | 76 |
| 15 | 1037 | 76 |
| 16 | 1048 | 76 |
| 17 | 1059 | 76 |
| 18 | 1070 | 76 |
| 19 | 1081 | 76 |
| 20 | 1092 | 76 |
| 21 | 1103 | 76 |
| 22 | 3181 | 76 |
| 23 | 3192 | 76 |
| 24 | 3203 | 76 |
| 25 | 3214 | 76 |
| 26 | 3225 | 76 |
| 27 | 3236 | 76 |
| 28 | 3247 | 76 |
| 29 | 3258 | 76 |
| 30 | 3269 | 76 |
| 31 | 3280 | 76 |
| 32 | 3291 | 76 |
| 33 | 3302 | 76 |
| 34 | 3313 | 76 |
| 35 | 3324 | 76 |
| 36 | 3335 | 76 |
| 37 | 3346 | 76 |
| 38 | 4622 | 76 |
| 39 | 4633 | 76 |
| 40 | 4644 | 76 |
| 41 | 4655 | 76 |
| 42 | 4666 | 76 |
| 43 | 4677 | 76 |
| 44 | 4688 | 76 |
| 45 | 4699 | 76 |
| 46 | 4710 | 76 |
| 47 | 4721 | 76 |
| 48 | 4732 | 76 |
| 49 | 4743 | 76 |
| 50 | 4754 | 76 |
| 51 | 4765 | 76 |
| 52 | 4776 | 76 |
| 53 | 4787 | 76 |
| 54 | 4798 | 76 |
| 55 | 4809 | 76 |
| 56 | 4820 | 76 |
| 57 | 4831 | 76 |
| 58 | 4842 | 76 |
| 59 | 4853 | 76 |
| 60 | 4864 | 76 |
| 61 | 4875 | 76 |
| 62 | 4886 | 76 |
| 63 | 4897 | 76 |
| 64 | 4908 | 76 |
| 65 | 4919 | 76 |
| 66 | 4930 | 76 |
| 67 | 4941 | 76 |
| 68 | 4952 | 76 |
| 69 | 4963 | 76 |
| 70 | 4974 | 76 |
| 71 | 4985 | 76 |
| 72 | 4996 | 76 |
| 73 | 5007 | 76 |
| 74 | 5018 | 76 |
| 75 | 5029 | 76 |
| 76 | 5040 | 76 |
| 77 | 5051 | 76 |
| 78 | 5062 | 76 |
| 79 | 5073 | 76 |
| 80 | 5084 | 76 |
| 81 | 5095 | 76 |
| 82 | 5106 | 76 |
| 83 | 5117 | 76 |
| 84 | 5128 | 76 |
| 85 | 5139 | 76 |
| 86 | 5150 | 76 |
| 87 | 5161 | 76 |
| 88 | 5172 | 76 |
| 89 | 5183 | 76 |
| 90 | 5194 | 76 |
| 91 | 5205 | 76 |
| 92 | 5216 | 76 |
| 93 | 5227 | 76 |
| 94 | 5238 | 76 |
| 95 | 5249 | 76 |
| 96 | 5260 | 76 |
| 97 | 5271 | 76 |
| 98 | 5282 | 76 |
| 99 | 5293 | 76 |
| 100 | 5304 | 76 |
| 101 | 5315 | 76 |
| 102 | 5326 | 76 |
| 103 | 5337 | 76 |
| 104 | 5348 | 76 |
| 105 | 5359 | 76 |
| 106 | 5370 | 76 |
| 107 | 5381 | 76 |
| 108 | 5392 | 76 |
| 109 | 5403 | 76 |
| 110 | 5414 | 76 |
| 111 | 5425 | 76 |
| 112 | 5436 | 76 |
| 113 | 5447 | 76 |
| 114 | 5458 | 76 |
| 115 | 5469 | 76 |
| 116 | 5480 | 76 |
| 117 | 5491 | 76 |
| 118 | 5502 | 76 |
| 119 | 5513 | 76 |
| 120 | 5524 | 76 |
| 121 | 5535 | 76 |
| 122 | 5546 | 76 |
| 123 | 5557 | 76 |
| 124 | 5568 | 76 |
| 125 | 5579 | 76 |
| 126 | 5590 | 76 |
| 127 | 5601 | 76 |
| 128 | 5612 | 76 |
| 129 | 5623 | 76 |
| 130 | 5634 | 76 |
| 131 | 5645 | 76 |
| 132 | 5656 | 76 |
| 133 | 5667 | 76 |
| 134 | 5678 | 76 |
| 135 | 5689 | 76 |
| 136 | 5700 | 76 |
| 137 | 5711 | 76 |
| 138 | 5722 | 76 |
| 139 | 5733 | 76 |
| 140 | 5744 | 76 |
| 141 | 5755 | 76 |
| 142 | 5766 | 76 |
| 143 | 5777 | 76 |
| 144 | 5788 | 76 |
| 145 | 5799 | 76 |
| 146 | 5810 | 76 |
| 147 | 5821 | 76 |
| 148 | 5832 | 76 |
| 149 | 5843 | 76 |
| 150 | 5854 | 76 |
| 151 | 5865 | 76 |
| 152 | 5876 | 76 |
| 153 | 5887 | 76 |
| 154 | 5898 | 76 |
| 155 | 5909 | 76 |
| 156 | 5920 | 76 |
| 157 | 5931 | 76 |
| 158 | 5942 | 76 |
| 159 | 5953 | 76 |
| 160 | 5964 | 76 |
| 161 | 5975 | 76 |
| 162 | 5986 | 76 |
| 0 | 3 | 3 |
| 1× | saturated |
| 1× | node limit |
| Inputs |
|---|
0 |
1 |
2 |
| Outputs |
|---|
0 |
1 |
2 |
| Inputs |
|---|
(+.f64 x (/.f64 (-.f64 y x) z)) |
(+.f64 y (/.f64 (-.f64 x y) z)) |
(+.f64 z (/.f64 (-.f64 y z) x)) |
(+.f64 x (/.f64 (-.f64 z x) y)) |
| Outputs |
|---|
(+.f64 x (/.f64 (-.f64 y x) z)) |
(+.f64 y (/.f64 (-.f64 x y) z)) |
(+.f64 z (/.f64 (-.f64 y z) x)) |
(+.f64 x (/.f64 (-.f64 z x) y)) |
Compiled 13 to 9 computations (30.8% saved)
| 1× | egg-herbie |
| 25424× | rational.json-simplify-41 |
| 2290× | rational.json-simplify-1 |
| 648× | rational.json-simplify-35 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 19 |
| 1 | 12 | 19 |
| 2 | 15 | 19 |
| 3 | 22 | 19 |
| 4 | 37 | 19 |
| 5 | 81 | 19 |
| 6 | 206 | 19 |
| 7 | 608 | 19 |
| 8 | 768 | 19 |
| 9 | 771 | 19 |
| 10 | 774 | 19 |
| 11 | 777 | 19 |
| 12 | 780 | 19 |
| 13 | 783 | 19 |
| 14 | 786 | 19 |
| 15 | 789 | 19 |
| 16 | 792 | 19 |
| 17 | 795 | 19 |
| 18 | 798 | 19 |
| 19 | 801 | 19 |
| 20 | 804 | 19 |
| 21 | 807 | 19 |
| 22 | 810 | 19 |
| 23 | 2619 | 19 |
| 24 | 2622 | 19 |
| 25 | 2625 | 19 |
| 26 | 2628 | 19 |
| 27 | 2631 | 19 |
| 28 | 2634 | 19 |
| 29 | 3423 | 19 |
| 30 | 3426 | 19 |
| 31 | 3429 | 19 |
| 32 | 3432 | 19 |
| 33 | 3435 | 19 |
| 34 | 3438 | 19 |
| 35 | 3441 | 19 |
| 36 | 3444 | 19 |
| 37 | 3447 | 19 |
| 38 | 3450 | 19 |
| 39 | 3453 | 19 |
| 40 | 3456 | 19 |
| 41 | 3459 | 19 |
| 42 | 3462 | 19 |
| 43 | 3465 | 19 |
| 44 | 3468 | 19 |
| 45 | 3471 | 19 |
| 46 | 3474 | 19 |
| 47 | 3477 | 19 |
| 48 | 3480 | 19 |
| 49 | 3483 | 19 |
| 50 | 3486 | 19 |
| 51 | 3489 | 19 |
| 52 | 3492 | 19 |
| 53 | 3495 | 19 |
| 54 | 3498 | 19 |
| 55 | 3501 | 19 |
| 56 | 3504 | 19 |
| 57 | 3507 | 19 |
| 58 | 3510 | 19 |
| 59 | 3513 | 19 |
| 60 | 3516 | 19 |
| 61 | 3519 | 19 |
| 62 | 3522 | 19 |
| 63 | 3525 | 19 |
| 64 | 3528 | 19 |
| 65 | 3531 | 19 |
| 66 | 3534 | 19 |
| 67 | 3537 | 19 |
| 68 | 3540 | 19 |
| 69 | 3543 | 19 |
| 70 | 3546 | 19 |
| 71 | 3549 | 19 |
| 72 | 3552 | 19 |
| 73 | 3555 | 19 |
| 74 | 3558 | 19 |
| 75 | 3561 | 19 |
| 76 | 3564 | 19 |
| 77 | 3567 | 19 |
| 78 | 3570 | 19 |
| 79 | 3573 | 19 |
| 80 | 3576 | 19 |
| 81 | 3579 | 19 |
| 82 | 3582 | 19 |
| 83 | 3585 | 19 |
| 84 | 3588 | 19 |
| 85 | 3591 | 19 |
| 86 | 3594 | 19 |
| 87 | 3597 | 19 |
| 88 | 3600 | 19 |
| 89 | 3603 | 19 |
| 90 | 3606 | 19 |
| 91 | 3609 | 19 |
| 92 | 3612 | 19 |
| 93 | 3615 | 19 |
| 94 | 3618 | 19 |
| 95 | 3621 | 19 |
| 96 | 3624 | 19 |
| 97 | 3627 | 19 |
| 98 | 3630 | 19 |
| 99 | 3633 | 19 |
| 100 | 3636 | 19 |
| 101 | 3639 | 19 |
| 102 | 3642 | 19 |
| 103 | 3645 | 19 |
| 104 | 3648 | 19 |
| 105 | 3651 | 19 |
| 106 | 3654 | 19 |
| 107 | 3657 | 19 |
| 108 | 3660 | 19 |
| 109 | 3663 | 19 |
| 110 | 3666 | 19 |
| 111 | 3669 | 19 |
| 112 | 3672 | 19 |
| 113 | 3675 | 19 |
| 114 | 3678 | 19 |
| 115 | 3681 | 19 |
| 116 | 3684 | 19 |
| 117 | 3687 | 19 |
| 118 | 3690 | 19 |
| 119 | 3693 | 19 |
| 120 | 3696 | 19 |
| 121 | 3699 | 19 |
| 122 | 3702 | 19 |
| 123 | 3705 | 19 |
| 124 | 3708 | 19 |
| 125 | 3711 | 19 |
| 126 | 3714 | 19 |
| 127 | 3717 | 19 |
| 128 | 3720 | 19 |
| 129 | 3723 | 19 |
| 130 | 3726 | 19 |
| 131 | 3729 | 19 |
| 132 | 3732 | 19 |
| 133 | 3735 | 19 |
| 134 | 3738 | 19 |
| 135 | 3741 | 19 |
| 136 | 3744 | 19 |
| 137 | 3747 | 19 |
| 138 | 3750 | 19 |
| 139 | 3753 | 19 |
| 140 | 3756 | 19 |
| 141 | 3759 | 19 |
| 142 | 3762 | 19 |
| 143 | 3765 | 19 |
| 144 | 3768 | 19 |
| 145 | 3771 | 19 |
| 146 | 3774 | 19 |
| 147 | 3777 | 19 |
| 148 | 3780 | 19 |
| 149 | 3783 | 19 |
| 150 | 3786 | 19 |
| 151 | 3789 | 19 |
| 152 | 3792 | 19 |
| 153 | 3795 | 19 |
| 154 | 3798 | 19 |
| 155 | 3801 | 19 |
| 156 | 3804 | 19 |
| 157 | 3807 | 19 |
| 158 | 3810 | 19 |
| 159 | 3813 | 19 |
| 160 | 3816 | 19 |
| 161 | 3819 | 19 |
| 162 | 3822 | 19 |
| 163 | 3825 | 19 |
| 164 | 3828 | 19 |
| 165 | 3831 | 19 |
| 166 | 3834 | 19 |
| 167 | 3837 | 19 |
| 168 | 3840 | 19 |
| 169 | 3843 | 19 |
| 170 | 3846 | 19 |
| 171 | 3849 | 19 |
| 172 | 3852 | 19 |
| 173 | 3855 | 19 |
| 174 | 3858 | 19 |
| 175 | 3861 | 19 |
| 176 | 3864 | 19 |
| 177 | 3867 | 19 |
| 178 | 3870 | 19 |
| 179 | 3873 | 19 |
| 180 | 3876 | 19 |
| 181 | 3879 | 19 |
| 182 | 3882 | 19 |
| 183 | 3885 | 19 |
| 184 | 3888 | 19 |
| 185 | 3891 | 19 |
| 186 | 3894 | 19 |
| 187 | 3897 | 19 |
| 188 | 3900 | 19 |
| 189 | 3903 | 19 |
| 190 | 3906 | 19 |
| 191 | 3909 | 19 |
| 192 | 3912 | 19 |
| 193 | 3915 | 19 |
| 194 | 3918 | 19 |
| 195 | 3921 | 19 |
| 196 | 3924 | 19 |
| 197 | 3927 | 19 |
| 198 | 3930 | 19 |
| 199 | 3933 | 19 |
| 200 | 3936 | 19 |
| 201 | 3939 | 19 |
| 202 | 3942 | 19 |
| 203 | 3945 | 19 |
| 204 | 3948 | 19 |
| 205 | 3951 | 19 |
| 206 | 3954 | 19 |
| 207 | 3957 | 19 |
| 208 | 3960 | 19 |
| 209 | 3963 | 19 |
| 210 | 3966 | 19 |
| 211 | 3969 | 19 |
| 212 | 3972 | 19 |
| 213 | 3975 | 19 |
| 214 | 3978 | 19 |
| 215 | 3981 | 19 |
| 216 | 3984 | 19 |
| 217 | 3987 | 19 |
| 218 | 3990 | 19 |
| 219 | 3993 | 19 |
| 220 | 3996 | 19 |
| 221 | 3999 | 19 |
| 222 | 4002 | 19 |
| 223 | 4005 | 19 |
| 224 | 4008 | 19 |
| 225 | 4011 | 19 |
| 226 | 4014 | 19 |
| 227 | 4017 | 19 |
| 228 | 4020 | 19 |
| 229 | 4023 | 19 |
| 230 | 4026 | 19 |
| 231 | 4029 | 19 |
| 232 | 4032 | 19 |
| 233 | 4035 | 19 |
| 234 | 4038 | 19 |
| 235 | 4041 | 19 |
| 236 | 4044 | 19 |
| 237 | 4047 | 19 |
| 238 | 4050 | 19 |
| 239 | 4053 | 19 |
| 240 | 4056 | 19 |
| 241 | 4059 | 19 |
| 242 | 4062 | 19 |
| 243 | 4065 | 19 |
| 244 | 4068 | 19 |
| 245 | 4071 | 19 |
| 246 | 4074 | 19 |
| 247 | 4077 | 19 |
| 248 | 4080 | 19 |
| 249 | 4083 | 19 |
| 250 | 4086 | 19 |
| 251 | 4089 | 19 |
| 252 | 4092 | 19 |
| 253 | 4095 | 19 |
| 254 | 4098 | 19 |
| 255 | 4101 | 19 |
| 256 | 4104 | 19 |
| 257 | 4107 | 19 |
| 258 | 4110 | 19 |
| 259 | 4113 | 19 |
| 260 | 4116 | 19 |
| 261 | 4119 | 19 |
| 262 | 4122 | 19 |
| 263 | 4125 | 19 |
| 264 | 4128 | 19 |
| 265 | 4131 | 19 |
| 266 | 4134 | 19 |
| 267 | 4137 | 19 |
| 268 | 4140 | 19 |
| 269 | 4143 | 19 |
| 270 | 4146 | 19 |
| 271 | 4149 | 19 |
| 272 | 4152 | 19 |
| 273 | 4155 | 19 |
| 274 | 4158 | 19 |
| 275 | 4161 | 19 |
| 276 | 4164 | 19 |
| 277 | 4167 | 19 |
| 278 | 4170 | 19 |
| 279 | 4173 | 19 |
| 280 | 4176 | 19 |
| 281 | 4179 | 19 |
| 282 | 4182 | 19 |
| 283 | 4185 | 19 |
| 284 | 4188 | 19 |
| 285 | 4191 | 19 |
| 286 | 4194 | 19 |
| 287 | 4197 | 19 |
| 288 | 4200 | 19 |
| 289 | 4203 | 19 |
| 290 | 4206 | 19 |
| 291 | 4209 | 19 |
| 292 | 4212 | 19 |
| 293 | 4215 | 19 |
| 294 | 4218 | 19 |
| 295 | 4221 | 19 |
| 296 | 4224 | 19 |
| 297 | 4227 | 19 |
| 298 | 4230 | 19 |
| 299 | 4233 | 19 |
| 300 | 4236 | 19 |
| 301 | 4239 | 19 |
| 302 | 4242 | 19 |
| 303 | 4245 | 19 |
| 304 | 4248 | 19 |
| 305 | 4251 | 19 |
| 306 | 4254 | 19 |
| 307 | 4257 | 19 |
| 308 | 4260 | 19 |
| 309 | 4263 | 19 |
| 310 | 4266 | 19 |
| 311 | 4269 | 19 |
| 312 | 4272 | 19 |
| 313 | 4275 | 19 |
| 314 | 4278 | 19 |
| 315 | 4281 | 19 |
| 316 | 4284 | 19 |
| 317 | 4287 | 19 |
| 318 | 4290 | 19 |
| 319 | 4293 | 19 |
| 320 | 4296 | 19 |
| 321 | 4299 | 19 |
| 322 | 4302 | 19 |
| 323 | 4305 | 19 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 x (/.f64 (-.f64 y x) z)) |
| Outputs |
|---|
(+.f64 x (/.f64 (-.f64 y x) z)) |
Compiled 10 to 6 computations (40% 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 (-.f64 y x) z)) |
Compiled 10 to 6 computations (40% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 x (/.f64 (-.f64 y x) z)) |
Compiled 21 to 6 computations (71.4% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | inf | (+.f64 x (/.f64 (-.f64 y x) z)) |
| 0.0ms | y | @ | inf | (+.f64 x (/.f64 (-.f64 y x) z)) |
| 0.0ms | x | @ | 0 | (+.f64 x (/.f64 (-.f64 y x) z)) |
| 0.0ms | y | @ | -inf | (+.f64 x (/.f64 (-.f64 y x) z)) |
| 0.0ms | z | @ | 0 | (+.f64 x (/.f64 (-.f64 y x) z)) |
| 1× | batch-egg-rewrite |
| 1330× | rational.json-1 |
| 1330× | rational.json-2 |
| 1330× | rational.json-4 |
| 1330× | rational.json-3 |
| 1322× | exponential.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 19 |
| 1 | 54 | 19 |
| 2 | 138 | 19 |
| 3 | 351 | 19 |
| 4 | 878 | 19 |
| 5 | 3469 | 19 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 x (/.f64 (-.f64 y x) z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (/.f64 (-.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (-.f64 y x) (/.f64 1/2 z)) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (-.f64 y x) (/.f64 1/2 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (+.f64 (*.f64 x 4) (*.f64 (/.f64 (-.f64 y x) z) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1))))) |
| 1× | egg-herbie |
| 1484× | rational.json-simplify-1 |
| 1348× | rational.json-simplify-46 |
| 1224× | rational.json-simplify-35 |
| 1020× | rational.json-simplify-2 |
| 984× | rational.json-simplify-41 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 69 | 1250 |
| 1 | 137 | 1244 |
| 2 | 327 | 1244 |
| 3 | 800 | 1244 |
| 4 | 1302 | 1244 |
| 5 | 2841 | 1244 |
| 6 | 3284 | 1244 |
| 7 | 3449 | 1244 |
| 8 | 3611 | 1244 |
| 9 | 3938 | 1244 |
| 10 | 5162 | 1244 |
| 11 | 6655 | 1244 |
| 12 | 7723 | 1244 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 y z) |
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z)) |
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z)) |
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x)) |
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x)) |
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x)) |
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z)) |
(-.f64 x (/.f64 x z)) |
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z)) |
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z)) |
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z)) |
(/.f64 y z) |
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z)) |
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z)) |
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z)) |
(/.f64 y z) |
(+.f64 (*.f64 -1 (/.f64 x z)) (+.f64 x (/.f64 y z))) |
(+.f64 (*.f64 -1 (/.f64 x z)) (+.f64 x (/.f64 y z))) |
(+.f64 (*.f64 -1 (/.f64 x z)) (+.f64 x (/.f64 y z))) |
(/.f64 (-.f64 y x) z) |
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z)) |
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z)) |
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z)) |
x |
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z)) |
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z)) |
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z)) |
x |
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z)) |
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z)) |
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z)) |
(-.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 0) |
(*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1) |
(*.f64 1 (+.f64 x (/.f64 (-.f64 y x) z))) |
(*.f64 2 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1/2)) |
(*.f64 2 (+.f64 (*.f64 (-.f64 y x) (/.f64 1/2 z)) (*.f64 x 1/2))) |
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (-.f64 y x) (/.f64 1/2 z)))) |
(*.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4)) |
(*.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 2)) |
(*.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4)) |
(*.f64 1/4 (+.f64 (*.f64 x 4) (*.f64 (/.f64 (-.f64 y x) z) 4))) |
(*.f64 (/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4) 4) |
(/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1) |
(/.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 2) 2) |
(/.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4) 4) |
(/.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 8)) 16) |
(pow.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1) |
| Outputs |
|---|
(/.f64 y z) |
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z)) |
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x)) |
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z)))) |
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z)) |
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x)) |
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z)))) |
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z)) |
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x)) |
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z)))) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x)) |
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z)))) |
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x)) |
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z)))) |
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x)) |
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z)))) |
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z)) |
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x)) |
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z)))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z)) |
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x)) |
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z)))) |
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z)) |
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x)) |
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z)))) |
(-.f64 x (/.f64 x z)) |
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z)) |
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z))) |
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z)) |
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z))) |
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z)) |
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z))) |
(/.f64 y z) |
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z))) |
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z))) |
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z))) |
(/.f64 y z) |
(+.f64 (*.f64 -1 (/.f64 x z)) (+.f64 x (/.f64 y z))) |
(+.f64 (+.f64 (/.f64 y z) x) (*.f64 -1 (/.f64 x z))) |
(+.f64 (+.f64 (/.f64 y z) x) (neg.f64 (/.f64 x z))) |
(+.f64 (/.f64 y z) (+.f64 x (neg.f64 (/.f64 x z)))) |
(+.f64 (/.f64 y z) (+.f64 x (/.f64 (neg.f64 x) z))) |
(+.f64 (/.f64 y z) (+.f64 x (/.f64 x (neg.f64 z)))) |
(+.f64 x (+.f64 (/.f64 y z) (/.f64 (neg.f64 x) z))) |
(+.f64 (*.f64 -1 (/.f64 x z)) (+.f64 x (/.f64 y z))) |
(+.f64 (+.f64 (/.f64 y z) x) (*.f64 -1 (/.f64 x z))) |
(+.f64 (+.f64 (/.f64 y z) x) (neg.f64 (/.f64 x z))) |
(+.f64 (/.f64 y z) (+.f64 x (neg.f64 (/.f64 x z)))) |
(+.f64 (/.f64 y z) (+.f64 x (/.f64 (neg.f64 x) z))) |
(+.f64 (/.f64 y z) (+.f64 x (/.f64 x (neg.f64 z)))) |
(+.f64 x (+.f64 (/.f64 y z) (/.f64 (neg.f64 x) z))) |
(+.f64 (*.f64 -1 (/.f64 x z)) (+.f64 x (/.f64 y z))) |
(+.f64 (+.f64 (/.f64 y z) x) (*.f64 -1 (/.f64 x z))) |
(+.f64 (+.f64 (/.f64 y z) x) (neg.f64 (/.f64 x z))) |
(+.f64 (/.f64 y z) (+.f64 x (neg.f64 (/.f64 x z)))) |
(+.f64 (/.f64 y z) (+.f64 x (/.f64 (neg.f64 x) z))) |
(+.f64 (/.f64 y z) (+.f64 x (/.f64 x (neg.f64 z)))) |
(+.f64 x (+.f64 (/.f64 y z) (/.f64 (neg.f64 x) z))) |
(/.f64 (-.f64 y x) z) |
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z))) |
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z))) |
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z))) |
x |
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z)) |
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z))) |
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z)) |
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z))) |
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z)) |
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z))) |
x |
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z)) |
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z))) |
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z)) |
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z))) |
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z)) |
(+.f64 (/.f64 y z) (-.f64 x (/.f64 x z))) |
(-.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 0) |
(+.f64 x (/.f64 (-.f64 y x) z)) |
(*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1) |
(+.f64 x (/.f64 (-.f64 y x) z)) |
(*.f64 1 (+.f64 x (/.f64 (-.f64 y x) z))) |
(+.f64 x (/.f64 (-.f64 y x) z)) |
(*.f64 2 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1/2)) |
(+.f64 x (/.f64 (-.f64 y x) z)) |
(*.f64 2 (+.f64 (*.f64 (-.f64 y x) (/.f64 1/2 z)) (*.f64 x 1/2))) |
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (-.f64 y x) (/.f64 1/2 z)))) |
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (-.f64 y x) (/.f64 1/2 z)))) |
(*.f64 2 (+.f64 (*.f64 (-.f64 y x) (/.f64 1/2 z)) (*.f64 x 1/2))) |
(*.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 2) 1/2) |
(+.f64 x (/.f64 (-.f64 y x) z)) |
(*.f64 4 (/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4)) |
(+.f64 x (/.f64 (-.f64 y x) z)) |
(*.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4) 1/4) |
(+.f64 x (/.f64 (-.f64 y x) z)) |
(*.f64 1/2 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 2)) |
(+.f64 x (/.f64 (-.f64 y x) z)) |
(*.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1/2) 2) |
(+.f64 x (/.f64 (-.f64 y x) z)) |
(*.f64 1/4 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4)) |
(+.f64 x (/.f64 (-.f64 y x) z)) |
(*.f64 1/4 (+.f64 (*.f64 x 4) (*.f64 (/.f64 (-.f64 y x) z) 4))) |
(+.f64 x (/.f64 (-.f64 y x) z)) |
(*.f64 (/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4) 4) |
(+.f64 x (/.f64 (-.f64 y x) z)) |
(/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1) |
(+.f64 x (/.f64 (-.f64 y x) z)) |
(/.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 2) 2) |
(+.f64 x (/.f64 (-.f64 y x) z)) |
(/.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 4) 4) |
(+.f64 x (/.f64 (-.f64 y x) z)) |
(/.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 8) 8) |
(+.f64 x (/.f64 (-.f64 y x) z)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 8)) 16) |
(+.f64 x (/.f64 (-.f64 y x) z)) |
(pow.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1) |
(+.f64 x (/.f64 (-.f64 y x) z)) |
Compiled 410 to 160 computations (61% saved)
5 alts after pruning (4 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 38 | 4 | 42 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 38 | 5 | 43 |
| Status | Error | Program |
|---|---|---|
| ▶ | 29.0b | (/.f64 (-.f64 y x) z) |
| ▶ | 38.0b | (/.f64 y z) |
| ▶ | 24.6b | (-.f64 x (/.f64 x z)) |
| ✓ | 0.0b | (+.f64 x (/.f64 (-.f64 y x) z)) |
| 33.9b | x |
Compiled 36 to 23 computations (36.1% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 x (/.f64 x z)) |
Compiled 13 to 5 computations (61.5% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | inf | (-.f64 x (/.f64 x z)) |
| 0.0ms | x | @ | inf | (-.f64 x (/.f64 x z)) |
| 0.0ms | x | @ | 0 | (-.f64 x (/.f64 x z)) |
| 0.0ms | z | @ | -inf | (-.f64 x (/.f64 x z)) |
| 0.0ms | x | @ | -inf | (-.f64 x (/.f64 x z)) |
| 1× | batch-egg-rewrite |
| 1266× | rational.json-1 |
| 1266× | rational.json-2 |
| 1266× | rational.json-4 |
| 1266× | rational.json-3 |
| 1258× | exponential.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 13 |
| 1 | 41 | 13 |
| 2 | 117 | 13 |
| 3 | 306 | 13 |
| 4 | 806 | 13 |
| 5 | 3375 | 13 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 x (/.f64 x z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (/.f64 (neg.f64 x) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (/.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 x (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (-.f64 x (/.f64 x z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (-.f64 1 (/.f64 x z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (-.f64 x -1) (/.f64 (neg.f64 x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 x (/.f64 x z)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (neg.f64 x) z) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (/.f64 x z)) 1/2) (*.f64 (-.f64 x (/.f64 x z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x -1) (-.f64 -1 (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (/.f64 x z)) (-.f64 x -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (-.f64 1 (/.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 1 (/.f64 -1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (/.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (-.f64 1/2 (/.f64 1/2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (+.f64 1/2 (/.f64 -1/2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 x (/.f64 x z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x (/.f64 x z)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 x z) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (+.f64 (/.f64 1 z) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (/.f64 x z) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 x (/.f64 x z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x (/.f64 x z)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 x (/.f64 x z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 0 (*.f64 2 (-.f64 (/.f64 x z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (/.f64 (*.f64 x -2) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1 z) -1) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 z) (/.f64 (neg.f64 x) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 x (/.f64 x z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (+.f64 (*.f64 x 4) (/.f64 (*.f64 x 4) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 2) (+.f64 2 (/.f64 -2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x (/.f64 x z)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (/.f64 1 z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 x (/.f64 x z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1/2 (/.f64 1/2 z)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 0 (*.f64 2 (-.f64 (/.f64 x z) x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 x (/.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x (/.f64 x z)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 x z) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x (/.f64 x z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (/.f64 x z) x)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x (/.f64 x z)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 x (/.f64 x z)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 (/.f64 x z) x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (/.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (/.f64 x z) x)))))) |
| 1× | egg-herbie |
| 1478× | rational.json-simplify-35 |
| 1090× | rational.json-simplify-2 |
| 918× | rational.json-simplify-1 |
| 826× | rational.json-simplify-26 |
| 798× | rational.json-simplify-46 |
Useful iterations: 7 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 109 | 1343 |
| 1 | 221 | 1341 |
| 2 | 504 | 1341 |
| 3 | 1224 | 1341 |
| 4 | 2457 | 1341 |
| 5 | 3730 | 1341 |
| 6 | 5703 | 1341 |
| 7 | 7120 | 963 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) |
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) |
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) |
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) |
(*.f64 -1 (/.f64 x z)) |
(+.f64 (*.f64 -1 (/.f64 x z)) x) |
(+.f64 (*.f64 -1 (/.f64 x z)) x) |
(+.f64 (*.f64 -1 (/.f64 x z)) x) |
x |
(+.f64 (*.f64 -1 (/.f64 x z)) x) |
(+.f64 (*.f64 -1 (/.f64 x z)) x) |
(+.f64 (*.f64 -1 (/.f64 x z)) x) |
x |
(+.f64 (*.f64 -1 (/.f64 x z)) x) |
(+.f64 (*.f64 -1 (/.f64 x z)) x) |
(+.f64 (*.f64 -1 (/.f64 x z)) x) |
(+.f64 x (/.f64 (neg.f64 x) z)) |
(+.f64 (-.f64 x (/.f64 x z)) 0) |
(+.f64 0 (-.f64 x (/.f64 x z))) |
(+.f64 -1 (+.f64 (-.f64 x (/.f64 x z)) 1)) |
(+.f64 -1 (+.f64 (-.f64 1 (/.f64 x z)) x)) |
(+.f64 -1 (+.f64 (-.f64 x -1) (/.f64 (neg.f64 x) z))) |
(+.f64 (+.f64 (-.f64 x (/.f64 x z)) 1) -1) |
(+.f64 (/.f64 (neg.f64 x) z) x) |
(+.f64 (*.f64 (-.f64 x (/.f64 x z)) 1/2) (*.f64 (-.f64 x (/.f64 x z)) 1/2)) |
(+.f64 (-.f64 x -1) (-.f64 -1 (/.f64 x z))) |
(+.f64 (-.f64 -1 (/.f64 x z)) (-.f64 x -1)) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(*.f64 x (+.f64 1 (/.f64 -1 z))) |
(*.f64 (-.f64 x (/.f64 x z)) 1) |
(*.f64 1 (-.f64 x (/.f64 x z))) |
(*.f64 (+.f64 x x) (-.f64 1/2 (/.f64 1/2 z))) |
(*.f64 (+.f64 x x) (+.f64 1/2 (/.f64 -1/2 z))) |
(*.f64 2 (*.f64 (-.f64 x (/.f64 x z)) 1/2)) |
(*.f64 (*.f64 (-.f64 x (/.f64 x z)) 2) 1/2) |
(*.f64 (-.f64 (/.f64 x z) x) -1) |
(*.f64 (neg.f64 x) (+.f64 (/.f64 1 z) -1)) |
(*.f64 -1 (-.f64 (/.f64 x z) x)) |
(*.f64 4 (/.f64 (-.f64 x (/.f64 x z)) 4)) |
(*.f64 (*.f64 (-.f64 x (/.f64 x z)) 4) 1/4) |
(*.f64 1/2 (*.f64 (-.f64 x (/.f64 x z)) 2)) |
(*.f64 1/2 (-.f64 0 (*.f64 2 (-.f64 (/.f64 x z) x)))) |
(*.f64 1/2 (+.f64 (+.f64 x x) (/.f64 (*.f64 x -2) z))) |
(*.f64 (+.f64 (/.f64 1 z) -1) (neg.f64 x)) |
(*.f64 (-.f64 1 z) (/.f64 (neg.f64 x) z)) |
(*.f64 1/4 (*.f64 (-.f64 x (/.f64 x z)) 4)) |
(*.f64 1/4 (+.f64 (*.f64 x 4) (/.f64 (*.f64 x 4) (neg.f64 z)))) |
(*.f64 (/.f64 x 2) (+.f64 2 (/.f64 -2 z))) |
(*.f64 (*.f64 (-.f64 x (/.f64 x z)) 1/2) 2) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 (/.f64 (-.f64 x (/.f64 x z)) 4) 4) |
(*.f64 (-.f64 1/2 (/.f64 1/2 z)) (+.f64 x x)) |
(*.f64 (-.f64 0 (*.f64 2 (-.f64 (/.f64 x z) x))) 1/2) |
(/.f64 (-.f64 x (/.f64 x z)) 1) |
(/.f64 (*.f64 (-.f64 x (/.f64 x z)) 2) 2) |
(/.f64 (-.f64 (/.f64 x z) x) -1) |
(/.f64 (*.f64 (-.f64 x (/.f64 x z)) 4) 4) |
(/.f64 (*.f64 2 (-.f64 (/.f64 x z) x)) -2) |
(/.f64 (*.f64 (-.f64 x (/.f64 x z)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (-.f64 x (/.f64 x z)) 8)) 16) |
(/.f64 (neg.f64 (*.f64 2 (-.f64 (/.f64 x z) x))) 2) |
(pow.f64 (-.f64 x (/.f64 x z)) 1) |
(neg.f64 (-.f64 (/.f64 x z) x)) |
| Outputs |
|---|
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 -1 (/.f64 x z)) |
(/.f64 x (neg.f64 z)) |
(+.f64 (*.f64 -1 (/.f64 x z)) x) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(+.f64 (*.f64 -1 (/.f64 x z)) x) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(+.f64 (*.f64 -1 (/.f64 x z)) x) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
x |
(+.f64 (*.f64 -1 (/.f64 x z)) x) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(+.f64 (*.f64 -1 (/.f64 x z)) x) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(+.f64 (*.f64 -1 (/.f64 x z)) x) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
x |
(+.f64 (*.f64 -1 (/.f64 x z)) x) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(+.f64 (*.f64 -1 (/.f64 x z)) x) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(+.f64 (*.f64 -1 (/.f64 x z)) x) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(+.f64 x (/.f64 (neg.f64 x) z)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(+.f64 (-.f64 x (/.f64 x z)) 0) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(+.f64 0 (-.f64 x (/.f64 x z))) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(+.f64 -1 (+.f64 (-.f64 x (/.f64 x z)) 1)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(+.f64 -1 (+.f64 (-.f64 1 (/.f64 x z)) x)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(+.f64 -1 (+.f64 (-.f64 x -1) (/.f64 (neg.f64 x) z))) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(+.f64 (+.f64 (-.f64 x (/.f64 x z)) 1) -1) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(+.f64 (/.f64 (neg.f64 x) z) x) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(+.f64 (*.f64 (-.f64 x (/.f64 x z)) 1/2) (*.f64 (-.f64 x (/.f64 x z)) 1/2)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(+.f64 (-.f64 x -1) (-.f64 -1 (/.f64 x z))) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(+.f64 (-.f64 -1 (/.f64 x z)) (-.f64 x -1)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(-.f64 x (/.f64 x z)) |
(*.f64 x (+.f64 1 (/.f64 -1 z))) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 (-.f64 x (/.f64 x z)) 1) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 1 (-.f64 x (/.f64 x z))) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 (+.f64 x x) (-.f64 1/2 (/.f64 1/2 z))) |
(*.f64 (+.f64 x x) (+.f64 1/2 (/.f64 -1/2 z))) |
(*.f64 2 (*.f64 (-.f64 x (/.f64 x z)) 1/2)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 (*.f64 (-.f64 x (/.f64 x z)) 2) 1/2) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 (-.f64 (/.f64 x z) x) -1) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 (neg.f64 x) (+.f64 (/.f64 1 z) -1)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 -1 (-.f64 (/.f64 x z) x)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 4 (/.f64 (-.f64 x (/.f64 x z)) 4)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 (*.f64 (-.f64 x (/.f64 x z)) 4) 1/4) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 1/2 (*.f64 (-.f64 x (/.f64 x z)) 2)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 1/2 (-.f64 0 (*.f64 2 (-.f64 (/.f64 x z) x)))) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 1/2 (+.f64 (+.f64 x x) (/.f64 (*.f64 x -2) z))) |
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 -2 (/.f64 x z)))) |
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 (/.f64 x z) -2)))) |
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 x (/.f64 -2 z))))) |
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 x (/.f64 -2 z)))) |
(*.f64 (+.f64 (/.f64 1 z) -1) (neg.f64 x)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 (-.f64 1 z) (/.f64 (neg.f64 x) z)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 1/4 (*.f64 (-.f64 x (/.f64 x z)) 4)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 1/4 (+.f64 (*.f64 x 4) (/.f64 (*.f64 x 4) (neg.f64 z)))) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 (/.f64 x 2) (+.f64 2 (/.f64 -2 z))) |
(*.f64 (*.f64 (-.f64 x (/.f64 x z)) 1/2) 2) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 (/.f64 (-.f64 x (/.f64 x z)) 4) 4) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(*.f64 (-.f64 1/2 (/.f64 1/2 z)) (+.f64 x x)) |
(*.f64 (+.f64 x x) (-.f64 1/2 (/.f64 1/2 z))) |
(*.f64 (-.f64 0 (*.f64 2 (-.f64 (/.f64 x z) x))) 1/2) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(/.f64 (-.f64 x (/.f64 x z)) 1) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(/.f64 (*.f64 (-.f64 x (/.f64 x z)) 2) 2) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(/.f64 (-.f64 (/.f64 x z) x) -1) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(/.f64 (*.f64 (-.f64 x (/.f64 x z)) 4) 4) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(/.f64 (*.f64 2 (-.f64 (/.f64 x z) x)) -2) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(/.f64 (*.f64 (-.f64 x (/.f64 x z)) 8) 8) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(/.f64 (*.f64 2 (*.f64 (-.f64 x (/.f64 x z)) 8)) 16) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(/.f64 (neg.f64 (*.f64 2 (-.f64 (/.f64 x z) x))) 2) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(pow.f64 (-.f64 x (/.f64 x z)) 1) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
(neg.f64 (-.f64 (/.f64 x z) x)) |
(*.f64 (-.f64 1 (/.f64 1 z)) x) |
(*.f64 x (-.f64 1 (/.f64 1 z))) |
(-.f64 x (/.f64 x z)) |
Compiled 8 to 4 computations (50% saved)
Compiled 14 to 5 computations (64.3% saved)
Compiled 484 to 236 computations (51.2% saved)
6 alts after pruning (2 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 56 | 1 | 57 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 3 | 3 |
| Total | 56 | 6 | 62 |
| Status | Error | Program |
|---|---|---|
| ✓ | 29.0b | (/.f64 (-.f64 y x) z) |
| ✓ | 38.0b | (/.f64 y z) |
| ▶ | 53.1b | (/.f64 x (neg.f64 z)) |
| ✓ | 24.6b | (-.f64 x (/.f64 x z)) |
| ✓ | 0.0b | (+.f64 x (/.f64 (-.f64 y x) z)) |
| 33.9b | x |
Compiled 43 to 28 computations (34.9% saved)
Compiled 11 to 5 computations (54.5% saved)
Compiled 3 to 3 computations (0% saved)
6 alts after pruning (1 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 4 | 4 |
| Total | 0 | 6 | 6 |
| Status | Error | Program |
|---|---|---|
| ✓ | 29.0b | (/.f64 (-.f64 y x) z) |
| ✓ | 38.0b | (/.f64 y z) |
| ✓ | 53.1b | (/.f64 x (neg.f64 z)) |
| ✓ | 24.6b | (-.f64 x (/.f64 x z)) |
| ✓ | 0.0b | (+.f64 x (/.f64 (-.f64 y x) z)) |
| 33.9b | x |
Compiled 43 to 28 computations (34.9% saved)
Compiled 3 to 3 computations (0% saved)
6 alts after pruning (1 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 5 | 5 |
| Total | 0 | 6 | 6 |
| Status | Error | Program |
|---|---|---|
| ✓ | 29.0b | (/.f64 (-.f64 y x) z) |
| ✓ | 38.0b | (/.f64 y z) |
| ✓ | 53.1b | (/.f64 x (neg.f64 z)) |
| ✓ | 24.6b | (-.f64 x (/.f64 x z)) |
| ✓ | 0.0b | (+.f64 x (/.f64 (-.f64 y x) z)) |
| 33.9b | x |
Compiled 43 to 28 computations (34.9% saved)
| Inputs |
|---|
x |
(/.f64 y z) |
(/.f64 x (neg.f64 z)) |
(-.f64 x (/.f64 x z)) |
(/.f64 (-.f64 y x) z) |
(+.f64 x (/.f64 (-.f64 y x) z)) |
| Outputs |
|---|
(+.f64 x (/.f64 (-.f64 y x) z)) |
4 calls:
| 7.0ms | y |
| 5.0ms | (+.f64 x (/.f64 (-.f64 y x) z)) |
| 5.0ms | z |
| 4.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 0.0b | 1 | x |
| 0.0b | 1 | y |
| 0.0b | 1 | z |
| 0.0b | 1 | (+.f64 x (/.f64 (-.f64 y x) z)) |
Compiled 50 to 26 computations (48% saved)
| Inputs |
|---|
x |
(/.f64 y z) |
(/.f64 x (neg.f64 z)) |
(-.f64 x (/.f64 x z)) |
(/.f64 (-.f64 y x) z) |
| Outputs |
|---|
(-.f64 x (/.f64 x z)) |
(/.f64 (-.f64 y x) z) |
(-.f64 x (/.f64 x z)) |
(/.f64 y z) |
(-.f64 x (/.f64 x z)) |
3 calls:
| 81.0ms | z |
| 71.0ms | x |
| 17.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 13.3b | 3 | x |
| 13.4b | 3 | y |
| 11.0b | 5 | z |
Compiled 33 to 19 computations (42.4% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 11.0ms | 2.212345309128317e+100 | 4.261238450691281e+102 |
| 12.0ms | 1.089133543556185e+85 | 8.81527779694712e+86 |
| 15.0ms | 1172061.9095782193 | 12016525373.645027 |
| 12.0ms | -1800797179440.5051 | -553170647.9983349 |
| 43.0ms | 480× | body | 256 | valid |
Compiled 528 to 357 computations (32.4% saved)
| Inputs |
|---|
x |
(/.f64 y z) |
(/.f64 x (neg.f64 z)) |
(-.f64 x (/.f64 x z)) |
| Outputs |
|---|
(/.f64 y z) |
(-.f64 x (/.f64 x z)) |
(/.f64 y z) |
3 calls:
| 91.0ms | x |
| 21.0ms | z |
| 15.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 15.7b | 3 | x |
| 14.1b | 3 | y |
| 18.5b | 5 | z |
Compiled 28 to 17 computations (39.3% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 13.0ms | 2.439194587755783e+77 | 4.435491455030104e+79 |
| 3.0ms | -2.640412762379515e-39 | -2.4498813418404083e-39 |
| 14.0ms | 144× | body | 256 | valid |
| 1.0ms | 6× | body | 256 | infinite |
Compiled 160 to 110 computations (31.3% saved)
| Inputs |
|---|
x |
(/.f64 y z) |
(/.f64 x (neg.f64 z)) |
| Outputs |
|---|
x |
(/.f64 y z) |
(/.f64 x (neg.f64 z)) |
(/.f64 y z) |
x |
3 calls:
| 140.0ms | z |
| 10.0ms | y |
| 10.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 22.4b | 3 | x |
| 22.6b | 3 | y |
| 18.5b | 5 | z |
Compiled 23 to 15 computations (34.8% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 59.0ms | 2.212345309128317e+100 | 4.261238450691281e+102 |
| 37.0ms | 2.091854242730796e-279 | 1.8910121858845132e-272 |
| 12.0ms | -3.5803351115067446e-45 | -1.8040175538538545e-46 |
| 13.0ms | -1800797179440.5051 | -553170647.9983349 |
| 91.0ms | 496× | body | 256 | valid |
| 24.0ms | 294× | body | 256 | infinite |
Compiled 436 to 322 computations (26.1% saved)
Total -41.3b remaining (-199.4%)
Threshold costs -41.3b (-199.4%)
| Inputs |
|---|
x |
(/.f64 y z) |
| Outputs |
|---|
x |
(/.f64 y z) |
x |
3 calls:
| 100.0ms | y |
| 8.0ms | z |
| 8.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 22.4b | 3 | x |
| 22.6b | 3 | y |
| 20.7b | 3 | z |
Compiled 19 to 13 computations (31.6% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 11.0ms | 2.212345309128317e+100 | 4.261238450691281e+102 |
| 58.0ms | -1800797179440.5051 | -553170647.9983349 |
| 66.0ms | 240× | body | 256 | valid |
Compiled 196 to 146 computations (25.5% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 51 | 250 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(+.f64 x (/.f64 (-.f64 y x) z)) |
(if (<=.f64 z -1750000000000) (-.f64 x (/.f64 x z)) (if (<=.f64 z 7200000) (/.f64 (-.f64 y x) z) (if (<=.f64 z 759999999999999955905357600988393204059185772560934225442872420885952795530678853697536) (-.f64 x (/.f64 x z)) (if (<=.f64 z 44000000000000001476794765719728022428572320410766800772000576874946299098274640563140982019853385728) (/.f64 y z) (-.f64 x (/.f64 x z)))))) |
(if (<=.f64 y -7815727258416033/3064991081731777716716694054300618367237478244367204352) (/.f64 y z) (if (<=.f64 y 1450000000000000084306575461652833659695763127552287486042442820388174535065600) (-.f64 x (/.f64 x z)) (/.f64 y z))) |
(if (<=.f64 z -31000000000) x (if (<=.f64 z -5784976959332365/3213876088517980551083924184682325205044405987565585670602752) (/.f64 y z) (if (<=.f64 z 7016626088207999/38981256045599996321413529551500753243504907430380030107471625828851794763065704409862460263528041036901219664925634672733836679460812376186311949185250613678125110799825892119483158621960214593411198373916873515494742391701579499782985454461875862451310955212417110188327314359967656443904) (/.f64 x (neg.f64 z)) (if (<=.f64 z 90000000000000007259266876555579836973632997546064252435252465176149112704970658764034085488336830464) (/.f64 y z) x)))) |
(if (<=.f64 z -520000000000) x (if (<=.f64 z 44000000000000001476794765719728022428572320410766800772000576874946299098274640563140982019853385728) (/.f64 y z) x)) |
x |
| Outputs |
|---|
(+.f64 x (/.f64 (-.f64 y x) z)) |
(if (<=.f64 z -1750000000000) (-.f64 x (/.f64 x z)) (if (<=.f64 z 7200000) (/.f64 (-.f64 y x) z) (if (<=.f64 z 759999999999999955905357600988393204059185772560934225442872420885952795530678853697536) (-.f64 x (/.f64 x z)) (if (<=.f64 z 44000000000000001476794765719728022428572320410766800772000576874946299098274640563140982019853385728) (/.f64 y z) (-.f64 x (/.f64 x z)))))) |
(if (<=.f64 y -7815727258416033/3064991081731777716716694054300618367237478244367204352) (/.f64 y z) (if (<=.f64 y 1450000000000000084306575461652833659695763127552287486042442820388174535065600) (-.f64 x (/.f64 x z)) (/.f64 y z))) |
(if (<=.f64 z -31000000000) x (if (<=.f64 z -5784976959332365/3213876088517980551083924184682325205044405987565585670602752) (/.f64 y z) (if (<=.f64 z 7016626088207999/38981256045599996321413529551500753243504907430380030107471625828851794763065704409862460263528041036901219664925634672733836679460812376186311949185250613678125110799825892119483158621960214593411198373916873515494742391701579499782985454461875862451310955212417110188327314359967656443904) (/.f64 x (neg.f64 z)) (if (<=.f64 z 90000000000000007259266876555579836973632997546064252435252465176149112704970658764034085488336830464) (/.f64 y z) x)))) |
(if (<=.f64 z -520000000000) x (if (<=.f64 z 44000000000000001476794765719728022428572320410766800772000576874946299098274640563140982019853385728) (/.f64 y z) x)) |
x |
Compiled 125 to 69 computations (44.8% saved)
Compiled 110 to 47 computations (57.3% saved)
Loading profile data...