
Time bar (total: 1.7s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0.0% | 0.0% | 99.9% | 0.1% | 0.0% | 0.0% | 0.0% | 0 |
| 0.0% | 0.0% | 99.9% | 0.1% | 0.0% | 0.0% | 0.0% | 1 |
| 0.0% | 0.0% | 99.9% | 0.1% | 0.0% | 0.0% | 0.0% | 2 |
| 0.0% | 0.0% | 99.9% | 0.1% | 0.0% | 0.0% | 0.0% | 3 |
| 0.0% | 0.0% | 99.9% | 0.1% | 0.0% | 0.0% | 0.0% | 4 |
| 0.0% | 0.0% | 99.9% | 0.1% | 0.0% | 0.0% | 0.0% | 5 |
| 0.0% | 0.0% | 99.9% | 0.1% | 0.0% | 0.0% | 0.0% | 6 |
| 30.8% | 25.0% | 56.2% | 0.1% | 0.0% | 18.7% | 0.0% | 7 |
| 30.8% | 25.0% | 56.2% | 0.1% | 0.0% | 18.7% | 0.0% | 8 |
| 32.0% | 25.0% | 53.0% | 0.1% | 0.0% | 21.8% | 0.0% | 9 |
| 55.8% | 37.4% | 29.6% | 0.1% | 0.0% | 32.8% | 0.0% | 10 |
| 55.8% | 37.4% | 29.6% | 0.1% | 0.0% | 32.8% | 0.0% | 11 |
| 57.8% | 37.4% | 27.3% | 0.1% | 0.0% | 35.1% | 0.0% | 12 |
Compiled 12 to 10 computations (16.7% saved)
| 354.0ms | 8 256× | 0 | valid |
| 101.0ms | 2 525× | 0 | invalid |
Mul: 12.0ms (45.0% of total, 0.0 MiB)Sqrt: 11.0ms (41.3% of total, 0.0 MiB)Sub: 4.0ms (15.0% of total, 0.0 MiB)Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 33 | 103 |
| 1 | 167 | 103 |
| 2 | 682 | 103 |
| 3 | 1756 | 103 |
| 1× | node-limit |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 1.7% | (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z)))) |
(abs y)
(abs z)
(negabs x)
(sort y z)
Compiled 2 to 16 computations (-700.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 273 | 1765 |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (*.f64 y y) %4 = (*.f64 z z) %5 = (-.f64 %2 %4) %6 = (sqrt.f64 %5) x y %2 z %4 %5 %6 (*.f64 x %6) |
| Outputs |
|---|
%5 = (* y y) %7 = (* z z) %8 = (- %5 %7) %9 = (sqrt %8) %10 = (* x %9) %12 = (pow.f64 y #s(literal 2 binary64)) %13 = (pow.f64 z #s(literal 2 binary64)) %14 = (-.f64 %12 %13) %25 = (sqrt.f64 (neg.f64 %13)) %34 = (pow.f64 %25 #s(literal 3 binary64)) %38 = (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) %25)) %45 = (pow.f64 %25 #s(literal 5 binary64)) %56 = (*.f64 x %25) %58 = (*.f64 x %12) %63 = (/.f64 x %25) %78 = (/.f64 %13 %12) %86 = (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) %78))) %89 = (pow.f64 z #s(literal 4 binary64)) %90 = (pow.f64 y #s(literal 4 binary64)) %91 = (/.f64 %89 %90) %95 = (*.f64 y (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/2 binary64) %78 (*.f64 #s(literal -1/8 binary64) %91)))) %99 = (pow.f64 z #s(literal 6 binary64)) %100 = (pow.f64 y #s(literal 6 binary64)) %106 = (*.f64 y (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/2 binary64) %78 (fma.f64 #s(literal -1/8 binary64) %91 (*.f64 #s(literal -1/16 binary64) (/.f64 %99 %100)))))) %108 = (*.f64 x y) %110 = (*.f64 x %13) %111 = (/.f64 %110 %12) %114 = (*.f64 y (+.f64 x (*.f64 #s(literal -1/2 binary64) %111))) %117 = (/.f64 (*.f64 x %89) %90) %121 = (*.f64 y (+.f64 x (fma.f64 #s(literal -1/2 binary64) %111 (*.f64 #s(literal -1/8 binary64) %117)))) %129 = (*.f64 y (+.f64 x (fma.f64 #s(literal -1/2 binary64) %111 (fma.f64 #s(literal -1/8 binary64) %117 (*.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 x %99) %100)))))) %151 = (sqrt.f64 %12) %157 = (pow.f64 %151 #s(literal 3 binary64)) %161 = (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) %151)) %166 = (pow.f64 %151 #s(literal 5 binary64)) %177 = (*.f64 x %151) %182 = (/.f64 x %151) %202 = (sqrt.f64 #s(literal -1 binary64)) %203 = (*.f64 z %202) %205 = (*.f64 %13 %202) %207 = (*.f64 #s(literal 1/2 binary64) (/.f64 %12 %205)) %209 = (*.f64 z (+.f64 %202 %207)) %212 = (*.f64 %89 (pow.f64 %202 #s(literal 3 binary64))) %213 = (/.f64 %90 %212) %216 = (*.f64 z (+.f64 %202 (fma.f64 #s(literal -1/8 binary64) %213 %207))) %219 = (*.f64 %99 (pow.f64 %202 #s(literal 5 binary64))) %224 = (*.f64 z (+.f64 %202 (fma.f64 #s(literal -1/8 binary64) %213 (fma.f64 #s(literal 1/16 binary64) (/.f64 %100 %219) %207)))) %226 = (*.f64 x %203) %230 = (fma.f64 #s(literal 1/2 binary64) (/.f64 %58 %205) (*.f64 x %202)) %231 = (*.f64 z %230) %234 = (/.f64 (*.f64 x %90) %212) %236 = (*.f64 z (fma.f64 #s(literal -1/8 binary64) %234 %230)) %242 = (*.f64 z (fma.f64 #s(literal -1/8 binary64) %234 (fma.f64 #s(literal 1/16 binary64) (/.f64 (*.f64 x %100) %219) %230))) (approx x #s(literal 0 binary64)) (approx x x) (approx %10 (*.f64 x (sqrt.f64 %14))) (approx y y) (approx %5 %12) (approx %8 (*.f64 #s(literal -1 binary64) %13)) (approx %8 %14) (approx %9 %25) (approx %9 (+.f64 %25 (*.f64 #s(literal 1/2 binary64) (/.f64 %12 %25)))) (approx %9 (+.f64 %25 (*.f64 %12 (fma.f64 #s(literal -1/8 binary64) (/.f64 %12 %34) %38)))) (approx %9 (+.f64 %25 (*.f64 %12 (fma.f64 %12 (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 %12 %45)) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) %34))) %38)))) (approx %10 %56) (approx %10 (fma.f64 #s(literal 1/2 binary64) (/.f64 %58 %25) %56)) (approx %10 (fma.f64 x %25 (*.f64 %12 (fma.f64 #s(literal -1/8 binary64) (/.f64 %58 %34) (*.f64 #s(literal 1/2 binary64) %63))))) (approx %10 (fma.f64 x %25 (*.f64 %12 (fma.f64 #s(literal 1/2 binary64) %63 (*.f64 %12 (fma.f64 #s(literal -1/8 binary64) (/.f64 x %34) (*.f64 #s(literal 1/16 binary64) (/.f64 %58 %45)))))))) (approx %8 (*.f64 %12 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %78)))) (approx %9 %86) (approx %9 %95) (approx %9 %106) (approx %10 %108) (approx %10 %114) (approx %10 %121) (approx %10 %129) (approx %9 (*.f64 #s(literal -1 binary64) y)) (approx %9 (*.f64 #s(literal -1 binary64) %86)) (approx %9 (*.f64 #s(literal -1 binary64) %95)) (approx %9 (*.f64 #s(literal -1 binary64) %106)) (approx %10 (*.f64 #s(literal -1 binary64) %108)) (approx %10 (*.f64 #s(literal -1 binary64) %114)) (approx %10 (*.f64 #s(literal -1 binary64) %121)) (approx %10 (*.f64 #s(literal -1 binary64) %129)) (approx z z) (approx %7 %13) (approx %8 (fma.f64 #s(literal -1 binary64) %13 %12)) (approx %9 %151) (approx %9 (+.f64 %151 (*.f64 #s(literal -1/2 binary64) (/.f64 %13 %151)))) (approx %9 (+.f64 %151 (*.f64 %13 (-.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 %13 %157)) %161)))) (approx %9 (+.f64 %151 (*.f64 %13 (-.f64 (*.f64 %13 (-.f64 (*.f64 #s(literal -1/16 binary64) (/.f64 %13 %166)) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) %157)))) %161)))) (approx %10 %177) (approx %10 (fma.f64 #s(literal -1/2 binary64) (/.f64 %110 %151) %177)) (approx %10 (fma.f64 x %151 (*.f64 %13 (fma.f64 #s(literal -1/2 binary64) %182 (*.f64 #s(literal -1/8 binary64) (/.f64 %110 %157)))))) (approx %10 (fma.f64 x %151 (*.f64 %13 (fma.f64 #s(literal -1/2 binary64) %182 (*.f64 %13 (fma.f64 #s(literal -1/8 binary64) (/.f64 x %157) (*.f64 #s(literal -1/16 binary64) (/.f64 %110 %166)))))))) (approx %8 (*.f64 %13 (-.f64 (/.f64 %12 %13) #s(literal 1 binary64)))) (approx %9 %203) (approx %9 %209) (approx %9 %216) (approx %9 %224) (approx %10 %226) (approx %10 %231) (approx %10 %236) (approx %10 %242) (approx %9 (*.f64 #s(literal -1 binary64) %203)) (approx %9 (*.f64 #s(literal -1 binary64) %209)) (approx %9 (*.f64 #s(literal -1 binary64) %216)) (approx %9 (*.f64 #s(literal -1 binary64) %224)) (approx %10 (*.f64 #s(literal -1 binary64) %226)) (approx %10 (*.f64 #s(literal -1 binary64) %231)) (approx %10 (*.f64 #s(literal -1 binary64) %236)) (approx %10 (*.f64 #s(literal -1 binary64) %242)) |
9 calls:
| Time | Variable | Point |
|---|---|---|
| 3.0ms | y | inf |
| 2.0ms | z | inf |
| 2.0ms | z | -inf |
| 1.0ms | z | 0 |
| 1.0ms | x | inf |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 34 |
| 0 | 13 | 34 |
| 1 | 46 | 34 |
| 2 | 179 | 34 |
| 3 | 688 | 34 |
| 4 | 2274 | 34 |
| 0 | 4017 | 34 |
| 0 | 4443 | 34 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (*.f64 y y) %4 = (*.f64 z z) %5 = (-.f64 %2 %4) %6 = (sqrt.f64 %5) x y %2 z %4 %5 %6 (*.f64 x %6) |
| Outputs |
|---|
%2 = (fabs.f64 y) %3 = (sqrt.f64 %2) %4 = (*.f64 %3 %2) %7 = (neg.f64 %2) %10 = (neg.f64 y) %13 = (*.f64 y y) %19 = (*.f64 %13 %13) %45 = (*.f64 %10 y) %67 = (fabs.f64 z) %68 = (sqrt.f64 %67) %69 = (*.f64 %68 %67) %72 = (neg.f64 %67) %75 = (neg.f64 z) %77 = (*.f64 z z) %81 = (*.f64 %77 %77) %101 = (*.f64 %75 z) %122 = (+.f64 z y) %123 = (fabs.f64 %122) %124 = (-.f64 y z) %125 = (fabs.f64 %124) %126 = (sqrt.f64 %125) %129 = (*.f64 %124 %122) %130 = (sqrt.f64 %129) %131 = (neg.f64 %130) %132 = (sqrt.f64 %123) %133 = (neg.f64 %132) %136 = (sqrt.f64 %130) %137 = (*.f64 %136 %130) %139 = (+.f64 %2 %67) %140 = (sqrt.f64 %139) %142 = (-.f64 %2 %67) %143 = (fabs.f64 %142) %144 = (sqrt.f64 %143) %146 = (+.f64 %2 z) %147 = (fabs.f64 %146) %148 = (sqrt.f64 %147) %150 = (-.f64 %2 z) %151 = (fabs.f64 %150) %152 = (sqrt.f64 %151) %156 = (-.f64 y %67) %157 = (fabs.f64 %156) %158 = (sqrt.f64 %157) %160 = (+.f64 %67 y) %161 = (fabs.f64 %160) %162 = (sqrt.f64 %161) %167 = (neg.f64 %126) %169 = (*.f64 %126 %123) %171 = (*.f64 %125 %132) %175 = (neg.f64 %139) %176 = (-.f64 %67 %2) %199 = (neg.f64 %160) %200 = (-.f64 %67 y) %202 = (-.f64 z y) %203 = (neg.f64 %122) %209 = (-.f64 %7 z) %210 = (-.f64 z %2) %237 = (*.f64 (*.f64 %202 %202) (*.f64 %122 %122)) %253 = (*.f64 %202 %122) %258 = (*.f64 %175 %7) %263 = (*.f64 %142 %67) %265 = (*.f64 %142 %2) %267 = (*.f64 %139 %72) %269 = (*.f64 %146 %75) %271 = (*.f64 %146 %2) %273 = (*.f64 %150 z) %275 = (*.f64 %150 %2) %277 = (*.f64 %199 %10) %279 = (*.f64 %199 %67) %281 = (*.f64 %202 %75) %283 = (*.f64 %202 %10) %285 = (*.f64 %156 y) %287 = (*.f64 %156 %67) %289 = (*.f64 %160 %72) %291 = (*.f64 %200 %72) %293 = (*.f64 %209 %7) %295 = (*.f64 %203 z) %297 = (*.f64 %203 %10) %299 = (*.f64 %210 %7) %303 = (*.f64 %124 y) %305 = (*.f64 %124 z) %307 = (*.f64 %122 y) %309 = (*.f64 %122 %75) %311 = (*.f64 %67 %142) %313 = (*.f64 %72 %139) %315 = (*.f64 %75 %146) %317 = (*.f64 z %150) %320 = (*.f64 %7 %175) %322 = (*.f64 %2 %142) %324 = (*.f64 %10 %199) %326 = (*.f64 y %156) %329 = (*.f64 %67 %199) %331 = (*.f64 %75 %202) %333 = (*.f64 %72 %200) %335 = (*.f64 z %203) %338 = (*.f64 %2 %146) %340 = (*.f64 %10 %202) %342 = (*.f64 %7 %210) %352 = (*.f64 %2 %150) %354 = (*.f64 %7 %209) %356 = (*.f64 %10 %203) %360 = (*.f64 %67 %156) %362 = (*.f64 %72 %160) %450 = (neg.f64 %136) %497 = (*.f64 %132 x) %499 = (*.f64 %126 x) %515 = (*.f64 %130 x) x y (*.f64 %4 %3) (*.f64 %3 %4) (*.f64 %7 %7) (*.f64 %2 %2) (*.f64 %10 %10) (*.f64 #s(literal 1 binary64) %13) %13 (pow.f64 (pow.f64 y #s(literal 8 binary64)) #s(literal 1/4 binary64)) (pow.f64 %19 #s(literal 1/2 binary64)) (pow.f64 %3 #s(literal 4 binary64)) (pow.f64 %7 #s(literal 2 binary64)) (pow.f64 %2 #s(literal 2 binary64)) (pow.f64 %10 #s(literal 2 binary64)) (pow.f64 %13 #s(literal 1 binary64)) (pow.f64 y #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %19 #s(literal -1/2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %7 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %2 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %10 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %13 #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -2 binary64))) (neg.f64 %45) (sqrt.f64 %19) (fabs.f64 (*.f64 %10 %7)) (fabs.f64 (*.f64 y %7)) (fabs.f64 (*.f64 %10 %2)) (fabs.f64 (*.f64 y %2)) (fabs.f64 (*.f64 %7 %10)) (fabs.f64 (*.f64 %2 %10)) (fabs.f64 (*.f64 %7 y)) (fabs.f64 (*.f64 %2 y)) (fabs.f64 %45) (fabs.f64 %13) z (*.f64 %69 %68) (*.f64 %68 %69) (*.f64 %72 %72) (*.f64 %67 %67) (*.f64 %75 %75) (*.f64 #s(literal 1 binary64) %77) %77 (pow.f64 (pow.f64 z #s(literal 8 binary64)) #s(literal 1/4 binary64)) (pow.f64 %81 #s(literal 1/2 binary64)) (pow.f64 %68 #s(literal 4 binary64)) (pow.f64 %72 #s(literal 2 binary64)) (pow.f64 %67 #s(literal 2 binary64)) (pow.f64 %75 #s(literal 2 binary64)) (pow.f64 %77 #s(literal 1 binary64)) (pow.f64 z #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %81 #s(literal -1/2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %72 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %67 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %75 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %77 #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 z #s(literal -2 binary64))) (neg.f64 %101) (sqrt.f64 %81) (fabs.f64 (*.f64 %75 %72)) (fabs.f64 (*.f64 z %72)) (fabs.f64 (*.f64 %75 %67)) (fabs.f64 (*.f64 z %67)) (fabs.f64 (*.f64 %72 %75)) (fabs.f64 (*.f64 %67 %75)) (fabs.f64 (*.f64 %72 z)) (fabs.f64 (*.f64 %67 z)) (fabs.f64 %101) (fabs.f64 %77) (*.f64 (*.f64 %123 %126) %126) (*.f64 (*.f64 %131 %133) %126) (*.f64 %137 %136) (*.f64 (*.f64 %130 %140) %144) (*.f64 (*.f64 %130 %148) %152) (*.f64 (*.f64 %130 %152) %148) (*.f64 (*.f64 %130 %158) %162) (*.f64 (*.f64 %130 %162) %158) (*.f64 (*.f64 %131 %132) %167) (*.f64 %169 %126) (*.f64 %171 %132) (*.f64 %133 (*.f64 %126 %131)) (*.f64 %175 %176) (*.f64 %136 %137) (*.f64 %143 %139) (*.f64 %140 (*.f64 %144 %130)) (*.f64 %148 (*.f64 %152 %130)) (*.f64 %147 %151) (*.f64 %152 (*.f64 %148 %130)) (*.f64 %151 %147) (*.f64 %158 (*.f64 %162 %130)) (*.f64 %157 %161) (*.f64 %162 (*.f64 %158 %130)) (*.f64 %161 %157) (*.f64 %142 %139) (*.f64 %139 %143) (*.f64 %139 %142) (*.f64 %146 %150) (*.f64 %150 %146) (*.f64 %199 %200) (*.f64 %202 %203) (*.f64 %156 %160) (*.f64 %176 %175) (*.f64 %160 %156) (*.f64 %200 %199) (*.f64 %209 %210) (*.f64 %203 %202) (*.f64 %210 %209) (*.f64 %131 %131) (*.f64 %126 %169) (*.f64 %125 %123) (*.f64 %132 (*.f64 %132 %125)) (*.f64 %132 (*.f64 %167 %131)) (*.f64 %132 %171) (*.f64 %123 %125) %129 (*.f64 %122 %124) (*.f64 #s(literal 1 binary64) %129) (*.f64 %130 %130) (pow.f64 (*.f64 (*.f64 %125 %129) %123) #s(literal 1/2 binary64)) (pow.f64 (*.f64 %125 (*.f64 %129 %123)) #s(literal 1/2 binary64)) (pow.f64 (pow.f64 %129 #s(literal 4 binary64)) #s(literal 1/4 binary64)) (pow.f64 %136 #s(literal 4 binary64)) (pow.f64 %237 #s(literal 1/2 binary64)) (pow.f64 %131 #s(literal 2 binary64)) (pow.f64 %130 #s(literal 2 binary64)) (pow.f64 %129 #s(literal 1 binary64)) (/.f64 (-.f64 %19 %81) (fma.f64 y y %77)) (/.f64 #s(literal 1 binary64) (pow.f64 %237 #s(literal -1/2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %131 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %130 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %129 #s(literal -1 binary64))) (neg.f64 %253) (fma.f64 (*.f64 %72 %68) %68 %13) (fma.f64 %4 %3 %101) (fma.f64 %175 %67 %258) (fma.f64 %3 %4 %101) (fma.f64 %68 (*.f64 %68 %72) %13) (fma.f64 %142 %2 %263) (fma.f64 %142 %67 %265) (fma.f64 %139 %2 %267) (fma.f64 %146 %2 %269) (fma.f64 %146 %75 %271) (fma.f64 %150 %2 %273) (fma.f64 %150 z %275) (fma.f64 %199 %67 %277) (fma.f64 %199 %10 %279) (fma.f64 %202 %10 %281) (fma.f64 %202 %75 %283) (fma.f64 %156 %67 %285) (fma.f64 %156 y %287) (fma.f64 %160 y %289) (fma.f64 %200 %10 %291) (fma.f64 %209 z %293) (fma.f64 %203 %10 %295) (fma.f64 %203 z %297) (fma.f64 %210 %75 %299) (fma.f64 %72 %67 %13) (fma.f64 %7 %7 %101) (fma.f64 %124 z %303) (fma.f64 %124 y %305) (fma.f64 %122 %75 %307) (fma.f64 %122 y %309) (fma.f64 %2 %142 %311) (fma.f64 %2 %139 %313) (fma.f64 %2 %146 %315) (fma.f64 %2 %150 %317) (fma.f64 %2 %2 %101) (fma.f64 %67 %175 %320) (fma.f64 %67 %142 %322) (fma.f64 %67 %199 %324) (fma.f64 %67 %156 %326) (fma.f64 %67 %72 %13) (fma.f64 %10 %199 %329) (fma.f64 %10 %202 %331) (fma.f64 %10 %200 %333) (fma.f64 %10 %203 %335) (fma.f64 %10 %10 %101) (fma.f64 %75 %146 %338) (fma.f64 %75 %202 %340) (fma.f64 %75 %210 %342) (fma.f64 %75 %122 %307) (fma.f64 %75 z %13) (fma.f64 #s(literal 1 binary64) %303 %305) (fma.f64 #s(literal 1 binary64) %307 %309) (fma.f64 #s(literal 1 binary64) %305 %303) (fma.f64 #s(literal 1 binary64) %309 %307) (fma.f64 #s(literal 1 binary64) %101 %13) (fma.f64 #s(literal 1 binary64) %13 %101) (fma.f64 z %150 %352) (fma.f64 z %209 %354) (fma.f64 z %203 %356) (fma.f64 z %124 %303) (fma.f64 z %75 %13) (fma.f64 y %156 %360) (fma.f64 y %160 %362) (fma.f64 y %124 %305) (fma.f64 y %122 %309) (fma.f64 y y %101) (-.f64 %303 (*.f64 %202 z)) (-.f64 %303 (*.f64 %75 %124)) (-.f64 %303 (neg.f64 %305)) (-.f64 %307 (*.f64 %203 %75)) (-.f64 %307 (*.f64 z %122)) (-.f64 %307 (neg.f64 %309)) (-.f64 %305 (*.f64 %202 y)) (-.f64 %305 (*.f64 %10 %124)) (-.f64 %305 (neg.f64 %303)) (-.f64 %101 %45) (-.f64 %13 %77) (sqrt.f64 %237) (fabs.f64 %253) (fabs.f64 %129) (+.f64 (*.f64 %175 %67) %258) (+.f64 %265 %263) (+.f64 %263 %265) (+.f64 (*.f64 %139 %2) %267) (+.f64 %271 %269) (+.f64 %269 %271) (+.f64 %275 %273) (+.f64 %273 %275) (+.f64 %279 %277) (+.f64 %277 %279) (+.f64 %283 %281) (+.f64 %281 %283) (+.f64 %287 %285) (+.f64 %285 %287) (+.f64 (*.f64 %160 y) %289) (+.f64 (*.f64 %200 %10) %291) (+.f64 (*.f64 %209 z) %293) (+.f64 %297 %295) (+.f64 %295 %297) (+.f64 (*.f64 %210 %75) %299) (+.f64 (*.f64 %67 %175) %320) (+.f64 %322 %311) (+.f64 %311 %322) (+.f64 (*.f64 %2 %139) %313) (+.f64 %338 %315) (+.f64 %315 %338) (+.f64 %352 %317) (+.f64 %317 %352) (+.f64 %329 %324) (+.f64 %324 %329) (+.f64 %340 %331) (+.f64 %331 %340) (+.f64 %360 %326) (+.f64 %326 %360) (+.f64 (*.f64 y %160) %362) (+.f64 (*.f64 %10 %200) %333) (+.f64 (*.f64 z %209) %354) (+.f64 %356 %335) (+.f64 %335 %356) (+.f64 (*.f64 %75 %210) %342) (+.f64 %303 %305) (+.f64 %307 %309) (+.f64 %305 %303) (+.f64 %309 %307) (+.f64 %101 %13) (+.f64 %13 %101) (*.f64 (neg.f64 %133) %126) (*.f64 %450 %450) (*.f64 (sqrt.f64 %169) (sqrt.f64 %126)) (*.f64 (sqrt.f64 %132) (sqrt.f64 %171)) (*.f64 %133 %167) (*.f64 %136 %136) (*.f64 %144 %140) (*.f64 %140 %144) (*.f64 %148 %152) (*.f64 %152 %148) (*.f64 %158 %162) (*.f64 %162 %158) (*.f64 %126 %132) (*.f64 %132 (neg.f64 %167)) (*.f64 %132 %126) (*.f64 #s(literal 1 binary64) %130) (pow.f64 %450 #s(literal 2 binary64)) (pow.f64 %136 #s(literal 2 binary64)) (pow.f64 %237 #s(literal 1/4 binary64)) (pow.f64 %130 #s(literal 1 binary64)) (pow.f64 %129 #s(literal 1/2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %136 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %130 #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %129 #s(literal -1/2 binary64))) (neg.f64 %131) %130 (fabs.f64 %131) (fabs.f64 %130) (*.f64 (*.f64 x %136) %136) (*.f64 (*.f64 x %140) %144) (*.f64 (*.f64 x %148) %152) (*.f64 (*.f64 x %152) %148) (*.f64 (*.f64 x %158) %162) (*.f64 (*.f64 x %162) %158) (*.f64 %497 %126) (*.f64 %499 %132) (*.f64 %136 (*.f64 %136 x)) (*.f64 %140 (*.f64 %144 x)) (*.f64 %148 (*.f64 %152 x)) (*.f64 %152 (*.f64 %148 x)) (*.f64 %158 (*.f64 %162 x)) (*.f64 %162 (*.f64 %158 x)) (*.f64 %126 %497) (*.f64 %132 %499) (*.f64 #s(literal 1 binary64) %515) %515 (*.f64 x %130) (pow.f64 %515 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %515 #s(literal -1 binary64))) |
Compiled 366 to 706 computations (-92.9% saved)
Compiled 75 to 332 computations (-342.7% saved)
4 alts after pruning (4 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 71 | 4 | 75 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 72 | 4 | 76 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 99.4% | (*.f64 (sqrt.f64 (fabs.f64 (+.f64 z y))) (*.f64 (sqrt.f64 (fabs.f64 (-.f64 y z))) x)) |
| ▶ | 1.7% | (*.f64 x (sqrt.f64 (*.f64 (-.f64 y z) (+.f64 z y)))) |
| ▶ | 5.7% | (*.f64 x (approx (sqrt (- (* y y) (* z z))) (*.f64 #s(literal -1 binary64) y))) |
| ▶ | 13.6% | (approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 x y)) |
Compiled 4 to 18 computations (-350.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 770 | 4681 |
| 1× | iter-limit |
| Inputs |
|---|
%4 = (*.f64 x y) %8 = (sqrt (- (* y y) (* z z))) %11 = (*.f64 #s(literal -1 binary64) y) %12 = (approx %8 %11) %13 = (+.f64 z y) %14 = (fabs.f64 %13) %15 = (-.f64 y z) %16 = (fabs.f64 %15) %17 = (sqrt.f64 %16) %18 = (*.f64 %15 %13) %19 = (sqrt.f64 %18) %20 = (sqrt.f64 %14) %21 = (*.f64 %17 x) x y z #s(literal -1 binary64) %4 (approx (* x %8) %4) %11 %12 %13 %14 %15 %16 %17 %18 %19 %20 %21 (*.f64 %20 %21) (*.f64 x %19) (*.f64 x %12) |
| Outputs |
|---|
%6 = (*.f64 x y) %12 = (sqrt (- (* y y) (* z z))) %13 = (* x %12) %15 = (pow.f64 y #s(literal 2 binary64)) %16 = (pow.f64 z #s(literal 2 binary64)) %21 = (- y z) %22 = (fabs %21) %23 = (sqrt %22) %24 = (* %23 x) %25 = (-.f64 y z) %26 = (fabs.f64 %25) %27 = (sqrt.f64 %26) %30 = (+ z y) %31 = (fabs %30) %32 = (sqrt %31) %33 = (* %32 %24) %34 = (+.f64 y z) %35 = (fabs.f64 %34) %36 = (sqrt.f64 %35) %40 = (* %21 %30) %41 = (sqrt %40) %42 = (* x %41) %49 = (sqrt.f64 (neg.f64 %16)) %50 = (*.f64 x %49) %53 = (*.f64 x %15) %59 = (pow.f64 %49 #s(literal 3 binary64)) %61 = (/.f64 x %49) %70 = (pow.f64 %49 #s(literal 5 binary64)) %82 = (*.f64 #s(literal -1 binary64) y) %92 = (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) %49)) %110 = (*.f64 #s(literal -1 binary64) z) %115 = (*.f64 #s(literal -1 binary64) %16) %117 = (+.f64 z %110) %118 = (*.f64 y %117) %125 = (sqrt.f64 %115) %132 = (pow.f64 %117 #s(literal 2 binary64)) %136 = (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/4 binary64) (/.f64 %132 (pow.f64 %125 #s(literal 2 binary64))))) %137 = (*.f64 y %136) %139 = (/.f64 %117 %125) %147 = (*.f64 y (*.f64 %117 %136)) %148 = (pow.f64 %125 #s(literal 3 binary64)) %159 = (*.f64 x %125) %167 = (*.f64 x %117) %168 = (/.f64 %167 %125) %186 = (*.f64 x %16) %187 = (/.f64 %186 %15) %190 = (*.f64 y (+.f64 x (*.f64 #s(literal -1/2 binary64) %187))) %193 = (pow.f64 z #s(literal 4 binary64)) %195 = (pow.f64 y #s(literal 4 binary64)) %196 = (/.f64 (*.f64 x %193) %195) %200 = (*.f64 y (+.f64 x (fma.f64 #s(literal -1/2 binary64) %187 (*.f64 #s(literal -1/8 binary64) %196)))) %204 = (pow.f64 z #s(literal 6 binary64)) %206 = (pow.f64 y #s(literal 6 binary64)) %212 = (*.f64 y (+.f64 x (fma.f64 #s(literal -1/2 binary64) %187 (fma.f64 #s(literal -1/8 binary64) %196 (*.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 x %204) %206)))))) %214 = (/.f64 %16 %15) %217 = (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) %214))) %219 = (/.f64 %193 %195) %223 = (*.f64 y (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/2 binary64) %214 (*.f64 #s(literal -1/8 binary64) %219)))) %230 = (*.f64 y (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/2 binary64) %214 (fma.f64 #s(literal -1/8 binary64) %219 (*.f64 #s(literal -1/16 binary64) (/.f64 %204 %206)))))) %232 = (/.f64 z y) %237 = (fabs.f64 (/.f64 #s(literal 1 binary64) y)) %240 = (*.f64 #s(literal -1 binary64) %232) %244 = (sqrt.f64 %237) %245 = (*.f64 y %244) %257 = (/.f64 %117 y) %260 = (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) %257))) %263 = (-.f64 %115 (*.f64 #s(literal 1/4 binary64) %132)) %266 = (fma.f64 #s(literal 1/2 binary64) %257 (*.f64 #s(literal 1/2 binary64) (/.f64 %263 %15))) %270 = (*.f64 %117 %263) %271 = (pow.f64 y #s(literal 3 binary64)) %283 = (/.f64 %167 y) %286 = (*.f64 y (+.f64 x (*.f64 #s(literal 1/2 binary64) %283))) %288 = (*.f64 x %263) %291 = (fma.f64 #s(literal 1/2 binary64) %283 (*.f64 #s(literal 1/2 binary64) (/.f64 %288 %15))) %295 = (*.f64 x %270) %320 = (fabs.f64 (/.f64 #s(literal -1 binary64) y)) %329 = (sqrt.f64 (*.f64 #s(literal -1 binary64) %320)) %330 = (*.f64 y %329) %393 = (sqrt.f64 %15) %394 = (*.f64 x %393) %399 = (/.f64 x %393) %400 = (pow.f64 %393 #s(literal 3 binary64)) %408 = (pow.f64 %393 #s(literal 5 binary64)) %425 = (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) %393)) %442 = (+.f64 y %82) %449 = (*.f64 z %442) %454 = (pow.f64 %442 #s(literal 2 binary64)) %458 = (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/4 binary64) (/.f64 %454 (pow.f64 %393 #s(literal 2 binary64))))) %459 = (*.f64 z %458) %461 = (/.f64 %442 %393) %469 = (*.f64 z (*.f64 %458 %442)) %484 = (*.f64 x %442) %485 = (/.f64 %484 %393) %502 = (sqrt.f64 #s(literal -1 binary64)) %503 = (*.f64 z %502) %504 = (*.f64 x %503) %506 = (*.f64 %16 %502) %508 = (*.f64 x %502) %509 = (fma.f64 #s(literal 1/2 binary64) (/.f64 %53 %506) %508) %510 = (*.f64 z %509) %513 = (pow.f64 %502 #s(literal 3 binary64)) %514 = (*.f64 %193 %513) %515 = (/.f64 (*.f64 x %195) %514) %517 = (*.f64 z (fma.f64 #s(literal -1/8 binary64) %515 %509)) %521 = (*.f64 %204 (pow.f64 %502 #s(literal 5 binary64))) %525 = (*.f64 z (fma.f64 #s(literal -1/8 binary64) %515 (fma.f64 #s(literal 1/16 binary64) (/.f64 (*.f64 x %206) %521) %509))) %529 = (*.f64 #s(literal 1/2 binary64) (/.f64 %15 %506)) %531 = (*.f64 z (+.f64 %502 %529)) %533 = (/.f64 %195 %514) %536 = (*.f64 z (+.f64 %502 (fma.f64 #s(literal -1/8 binary64) %533 %529))) %542 = (*.f64 z (+.f64 %502 (fma.f64 #s(literal -1/8 binary64) %533 (fma.f64 #s(literal 1/16 binary64) (/.f64 %206 %521) %529)))) %544 = (/.f64 y z) %549 = (fabs.f64 (/.f64 #s(literal 1 binary64) z)) %550 = (*.f64 %16 %549) %558 = (sqrt.f64 (*.f64 #s(literal -1 binary64) %549)) %559 = (*.f64 z %558) %571 = (/.f64 %442 %503) %579 = (-.f64 %15 (*.f64 #s(literal 1/4 binary64) (/.f64 %454 (pow.f64 %502 #s(literal 2 binary64))))) %582 = (fma.f64 #s(literal 1/2 binary64) %571 (*.f64 #s(literal 1/2 binary64) (/.f64 %579 %506))) %586 = (*.f64 %442 %579) %588 = (*.f64 (pow.f64 z #s(literal 3 binary64)) %513) %594 = (sqrt.f64 %549) %603 = (/.f64 %484 %503) %607 = (*.f64 x %579) %610 = (fma.f64 #s(literal 1/2 binary64) %603 (fma.f64 #s(literal 1/2 binary64) (/.f64 %607 %506) %508)) %613 = (*.f64 x %586) %634 = (*.f64 #s(literal -1 binary64) %544) %640 = (fabs.f64 (/.f64 #s(literal -1 binary64) z)) %641 = (*.f64 %16 %640) %649 = (sqrt.f64 %640) %650 = (*.f64 z %649) %674 = (*.f64 #s(literal 1/2 binary64) (/.f64 %442 %502)) %682 = (*.f64 z %513) %696 = (sqrt.f64 (*.f64 #s(literal -1 binary64) %640)) %713 = (*.f64 #s(literal 1/2 binary64) (/.f64 %484 %502)) (approx x #s(literal 0 binary64)) (approx x x) (approx (* x y) %6) (approx %13 (*.f64 x (sqrt.f64 (-.f64 %15 %16)))) (approx %24 (*.f64 x %27)) (approx %33 (*.f64 x (*.f64 %36 %27))) (approx %42 (*.f64 x (sqrt.f64 (*.f64 %34 %25)))) (approx y y) (approx %13 %50) (approx %13 (fma.f64 #s(literal 1/2 binary64) (/.f64 %53 %49) %50)) (approx %13 (fma.f64 x %49 (*.f64 %15 (fma.f64 #s(literal -1/8 binary64) (/.f64 %53 %59) (*.f64 #s(literal 1/2 binary64) %61))))) (approx %13 (fma.f64 x %49 (*.f64 %15 (fma.f64 #s(literal 1/2 binary64) %61 (*.f64 %15 (fma.f64 #s(literal -1/8 binary64) (/.f64 x %59) (*.f64 #s(literal 1/16 binary64) (/.f64 %53 %70)))))))) (approx (* -1 y) %82) (approx %12 %49) (approx %12 (+.f64 %49 (*.f64 #s(literal 1/2 binary64) (/.f64 %15 %49)))) (approx %12 (+.f64 %49 (*.f64 %15 (fma.f64 #s(literal -1/8 binary64) (/.f64 %15 %59) %92)))) (approx %12 (+.f64 %49 (*.f64 %15 (fma.f64 %15 (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 %15 %70)) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) %59))) %92)))) (approx %30 z) (approx %30 %34) (approx %31 %35) (approx %21 %110) (approx %21 %25) (approx %22 %26) (approx %23 %27) (approx %40 %115) (approx %40 (fma.f64 #s(literal -1 binary64) %16 %118)) (approx %40 (fma.f64 #s(literal -1 binary64) %16 (*.f64 y (+.f64 y %117)))) (approx %41 %125) (approx %41 (+.f64 %125 (*.f64 #s(literal 1/2 binary64) (/.f64 %118 %125)))) (approx %41 (+.f64 %125 (*.f64 y (fma.f64 #s(literal 1/2 binary64) (/.f64 %137 %125) (*.f64 #s(literal 1/2 binary64) %139))))) (approx %41 (+.f64 %125 (*.f64 y (fma.f64 #s(literal 1/2 binary64) %139 (*.f64 y (fma.f64 #s(literal -1/4 binary64) (/.f64 %147 %148) (*.f64 #s(literal 1/2 binary64) (/.f64 %136 %125)))))))) (approx %32 %36) (approx %42 %159) (approx %42 (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 x %118) %125) %159)) (approx %42 (fma.f64 x %125 (*.f64 y (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 x %137) %125) (*.f64 #s(literal 1/2 binary64) %168))))) (approx %42 (fma.f64 x %125 (*.f64 y (fma.f64 #s(literal 1/2 binary64) %168 (*.f64 y (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 x %147) %148) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 x %136) %125)))))))) (approx %13 %190) (approx %13 %200) (approx %13 %212) (approx %12 %217) (approx %12 %223) (approx %12 %230) (approx %30 (*.f64 y (+.f64 #s(literal 1 binary64) %232))) (approx %31 (*.f64 %15 %237)) (approx %21 (*.f64 y (+.f64 #s(literal 1 binary64) %240))) (approx %23 %245) (approx %40 %15) (approx %40 (*.f64 %15 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %232 %232)))) (approx %40 (*.f64 %15 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %232 (fma.f64 #s(literal -1 binary64) %214 %232))))) (approx %41 %260) (approx %41 (*.f64 y (+.f64 #s(literal 1 binary64) %266))) (approx %41 (*.f64 y (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/4 binary64) (/.f64 %270 %271) %266)))) (approx %24 (*.f64 x %245)) (approx %33 (*.f64 x (*.f64 %15 (pow.f64 %244 #s(literal 2 binary64))))) (approx %42 %286) (approx %42 (*.f64 y (+.f64 x %291))) (approx %42 (*.f64 y (+.f64 x (fma.f64 #s(literal -1/4 binary64) (/.f64 %295 %271) %291)))) (approx %13 (*.f64 #s(literal -1 binary64) %6)) (approx %13 (*.f64 #s(literal -1 binary64) %190)) (approx %13 (*.f64 #s(literal -1 binary64) %200)) (approx %13 (*.f64 #s(literal -1 binary64) %212)) (approx %12 (*.f64 #s(literal -1 binary64) %217)) (approx %12 (*.f64 #s(literal -1 binary64) %223)) (approx %12 (*.f64 #s(literal -1 binary64) %230)) (approx %30 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %240 #s(literal 1 binary64))))) (approx %31 (*.f64 #s(literal -1 binary64) (*.f64 %15 %320))) (approx %21 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %232 #s(literal 1 binary64))))) (approx %23 (*.f64 #s(literal -1 binary64) %330)) (approx %40 (*.f64 %15 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) %117 (/.f64 %16 y)) y))))) (approx %41 (*.f64 #s(literal -1 binary64) %260)) (approx %41 (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/2 binary64) %117 (*.f64 #s(literal -1/2 binary64) (/.f64 %263 y))) y)))))) (approx %41 (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/4 binary64) (/.f64 %270 y) (*.f64 #s(literal 1/2 binary64) %263)) y) (*.f64 #s(literal -1/2 binary64) %117)) y)))))) (approx %24 (*.f64 #s(literal -1 binary64) (*.f64 x %330))) (approx %33 (*.f64 x (*.f64 %15 (pow.f64 %329 #s(literal 2 binary64))))) (approx %42 (*.f64 #s(literal -1 binary64) %286)) (approx %42 (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/2 binary64) %167 (*.f64 #s(literal -1/2 binary64) (/.f64 %288 y))) y)))))) (approx %42 (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/4 binary64) (/.f64 %295 y) (*.f64 #s(literal 1/2 binary64) %288)) y) (*.f64 #s(literal -1/2 binary64) %167)) y)))))) (approx %13 %394) (approx %13 (fma.f64 #s(literal -1/2 binary64) (/.f64 %186 %393) %394)) (approx %13 (fma.f64 x %393 (*.f64 %16 (fma.f64 #s(literal -1/2 binary64) %399 (*.f64 #s(literal -1/8 binary64) (/.f64 %186 %400)))))) (approx %13 (fma.f64 x %393 (*.f64 %16 (fma.f64 #s(literal -1/2 binary64) %399 (*.f64 %16 (fma.f64 #s(literal -1/8 binary64) (/.f64 x %400) (*.f64 #s(literal -1/16 binary64) (/.f64 %186 %408)))))))) (approx %12 %393) (approx %12 (+.f64 %393 (*.f64 #s(literal -1/2 binary64) (/.f64 %16 %393)))) (approx %12 (+.f64 %393 (*.f64 %16 (-.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 %16 %400)) %425)))) (approx %12 (+.f64 %393 (*.f64 %16 (-.f64 (*.f64 %16 (-.f64 (*.f64 #s(literal -1/16 binary64) (/.f64 %16 %408)) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) %400)))) %425)))) (approx %21 (+.f64 y %110)) (approx %40 (fma.f64 z %442 %15)) (approx %40 (fma.f64 z (+.f64 y (fma.f64 #s(literal -1 binary64) y %110)) %15)) (approx %41 (+.f64 %393 (*.f64 #s(literal 1/2 binary64) (/.f64 %449 %393)))) (approx %41 (+.f64 %393 (*.f64 z (fma.f64 #s(literal -1/2 binary64) (/.f64 %459 %393) (*.f64 #s(literal 1/2 binary64) %461))))) (approx %41 (+.f64 %393 (*.f64 z (fma.f64 #s(literal 1/2 binary64) %461 (*.f64 z (fma.f64 #s(literal -1/2 binary64) (/.f64 %458 %393) (*.f64 #s(literal 1/4 binary64) (/.f64 %469 %400)))))))) (approx %42 (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 x %449) %393) %394)) (approx %42 (fma.f64 x %393 (*.f64 z (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 x %459) %393) (*.f64 #s(literal 1/2 binary64) %485))))) (approx %42 (fma.f64 x %393 (*.f64 z (fma.f64 #s(literal 1/2 binary64) %485 (*.f64 z (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 x %458) %393) (*.f64 #s(literal 1/4 binary64) (/.f64 (*.f64 x %469) %400)))))))) (approx %13 %504) (approx %13 %510) (approx %13 %517) (approx %13 %525) (approx %12 %503) (approx %12 %531) (approx %12 %536) (approx %12 %542) (approx %30 (*.f64 z (+.f64 #s(literal 1 binary64) %544))) (approx %31 %550) (approx %21 (*.f64 z (-.f64 %544 #s(literal 1 binary64)))) (approx %22 (*.f64 #s(literal -1 binary64) %550)) (approx %23 %559) (approx %40 (*.f64 %16 (-.f64 (fma.f64 #s(literal -1 binary64) %544 %544) #s(literal 1 binary64)))) (approx %40 (*.f64 %16 (-.f64 (fma.f64 #s(literal -1 binary64) %544 (+.f64 %544 (/.f64 %15 %16))) #s(literal 1 binary64)))) (approx %41 (*.f64 z (+.f64 %502 (*.f64 #s(literal 1/2 binary64) %571)))) (approx %41 (*.f64 z (+.f64 %502 %582))) (approx %41 (*.f64 z (+.f64 %502 (fma.f64 #s(literal -1/4 binary64) (/.f64 %586 %588) %582)))) (approx %32 (*.f64 z %594)) (approx %24 (*.f64 x %559)) (approx %33 (*.f64 x (*.f64 %16 (*.f64 %594 %558)))) (approx %42 (*.f64 z (fma.f64 #s(literal 1/2 binary64) %603 %508))) (approx %42 (*.f64 z %610)) (approx %42 (*.f64 z (fma.f64 #s(literal -1/4 binary64) (/.f64 %613 %588) %610))) (approx %13 (*.f64 #s(literal -1 binary64) %504)) (approx %13 (*.f64 #s(literal -1 binary64) %510)) (approx %13 (*.f64 #s(literal -1 binary64) %517)) (approx %13 (*.f64 #s(literal -1 binary64) %525)) (approx %12 (*.f64 #s(literal -1 binary64) %503)) (approx %12 (*.f64 #s(literal -1 binary64) %531)) (approx %12 (*.f64 #s(literal -1 binary64) %536)) (approx %12 (*.f64 #s(literal -1 binary64) %542)) (approx %30 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 %634 #s(literal 1 binary64))))) (approx %31 (*.f64 #s(literal -1 binary64) %641)) (approx %21 (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) %634)))) (approx %22 %641) (approx %23 (*.f64 #s(literal -1 binary64) %650)) (approx %40 (*.f64 %16 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %442 z)) #s(literal 1 binary64)))) (approx %40 (*.f64 %16 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 y (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 %15 z)))) z)) #s(literal 1 binary64)))) (approx %41 (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 %502 (*.f64 #s(literal -1/2 binary64) %571))))) (approx %41 (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 %502 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 %579 %503) %674) z)))))) (approx %41 (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 %502 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 1/4 binary64) (/.f64 %586 %682) (*.f64 #s(literal 1/2 binary64) (/.f64 %579 %502))) z) %674) z)))))) (approx %32 (*.f64 #s(literal -1 binary64) (*.f64 z %696))) (approx %24 (*.f64 #s(literal -1 binary64) (*.f64 x %650))) (approx %33 (*.f64 x (*.f64 %16 (*.f64 %649 %696)))) (approx %42 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1/2 binary64) %603 %508)))) (approx %42 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 %607 %503) %713) z) %508)))) (approx %42 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 1/4 binary64) (/.f64 %613 %682) (*.f64 #s(literal 1/2 binary64) (/.f64 %607 %502))) z) %713) z) %508)))) |
9 calls:
| Time | Variable | Point |
|---|---|---|
| 20.0ms | x | inf |
| 16.0ms | z | inf |
| 6.0ms | y | inf |
| 5.0ms | y | -inf |
| 4.0ms | y | 0 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 25 | 119 |
| 0 | 39 | 119 |
| 1 | 125 | 113 |
| 2 | 361 | 113 |
| 3 | 1468 | 113 |
| 0 | 4101 | 113 |
| 0 | 4288 | 113 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%4 = (*.f64 x y) %8 = (sqrt (- (* y y) (* z z))) %11 = (*.f64 #s(literal -1 binary64) y) %12 = (approx %8 %11) %13 = (+.f64 z y) %14 = (fabs.f64 %13) %15 = (-.f64 y z) %16 = (fabs.f64 %15) %17 = (sqrt.f64 %16) %18 = (*.f64 %15 %13) %19 = (sqrt.f64 %18) %20 = (sqrt.f64 %14) %21 = (*.f64 %17 x) x y z #s(literal -1 binary64) %4 (approx (* x %8) %4) %11 %12 %13 %14 %15 %16 %17 %18 %19 %20 %21 (*.f64 %20 %21) (*.f64 x %19) (*.f64 x %12) |
| Outputs |
|---|
%4 = (*.f64 y x) %13 = (sqrt (* (- y z) (+ y z))) %15 = (approx (* %13 x) %4) %21 = (neg.f64 y) %25 = (approx %13 %21) %29 = (+.f64 y z) %33 = (neg.f64 %29) %35 = (neg.f64 z) %39 = (fabs.f64 %29) %40 = (sqrt.f64 %39) %42 = (sqrt.f64 (*.f64 %40 %39)) %43 = (sqrt.f64 %40) %45 = (neg.f64 %40) %46 = (neg.f64 %45) %51 = (*.f64 %29 %29) %52 = (*.f64 %51 %51) %70 = (neg.f64 %39) %73 = (*.f64 %45 %40) %76 = (*.f64 %40 %45) %92 = (-.f64 y z) %96 = (-.f64 z y) %101 = (fabs.f64 %92) %102 = (sqrt.f64 %101) %104 = (sqrt.f64 (*.f64 %102 %101)) %105 = (sqrt.f64 %102) %107 = (neg.f64 %102) %108 = (neg.f64 %107) %113 = (*.f64 %96 %92) %114 = (*.f64 %113 %113) %117 = (*.f64 %96 %96) %128 = (neg.f64 %101) %131 = (*.f64 %107 %102) %134 = (*.f64 %102 %107) %150 = (neg.f64 %105) %168 = (fabs.f64 y) %169 = (neg.f64 %168) %170 = (fabs.f64 z) %171 = (neg.f64 %170) %172 = (neg.f64 %171) %174 = (*.f64 #s(literal -1 binary64) %169) %190 = (*.f64 #s(literal -1 binary64) %168) %206 = (*.f64 %169 #s(literal -1 binary64)) %222 = (*.f64 %168 #s(literal -1 binary64)) %237 = (neg.f64 %169) %272 = (+.f64 y %170) %273 = (fabs.f64 %272) %277 = (+.f64 %170 %168) %281 = (-.f64 y %170) %282 = (fabs.f64 %281) %284 = (+.f64 %169 %171) %285 = (fabs.f64 %284) %286 = (-.f64 %169 %171) %287 = (fabs.f64 %286) %289 = (+.f64 %169 %170) %290 = (fabs.f64 %289) %292 = (+.f64 %169 %35) %293 = (fabs.f64 %292) %294 = (-.f64 %168 z) %295 = (fabs.f64 %294) %297 = (+.f64 %169 z) %298 = (fabs.f64 %297) %299 = (+.f64 %168 z) %300 = (fabs.f64 %299) %302 = (*.f64 %101 %40) %304 = (*.f64 %39 %102) %306 = (*.f64 %92 %29) %308 = (sqrt.f64 (*.f64 %306 %39)) %311 = (sqrt.f64 (*.f64 %306 %101)) %323 = (sqrt.f64 %306) %324 = (neg.f64 %323) %325 = (neg.f64 %324) %327 = (*.f64 %45 %107) %329 = (*.f64 %107 %45) %331 = (-.f64 %168 %170) %332 = (fabs.f64 %331) %343 = (neg.f64 %272) %344 = (-.f64 %170 y) %349 = (-.f64 %35 %168) %350 = (-.f64 z %168) %356 = (*.f64 %40 %101) %359 = (sqrt.f64 (*.f64 %101 %306)) %362 = (*.f64 %102 %39) %365 = (sqrt.f64 (*.f64 %39 %306)) %370 = (*.f64 %96 %29) %371 = (*.f64 %370 %370) %382 = (*.f64 y y) %384 = (*.f64 z z) %396 = (neg.f64 %174) %397 = (*.f64 %92 z) %398 = (fma.f64 y %35 %397) %400 = (*.f64 %35 z) %402 = (neg.f64 %190) %405 = (neg.f64 %206) %408 = (neg.f64 %222) %411 = (neg.f64 %237) %414 = (*.f64 %382 #s(literal 2 binary64)) %415 = (fabs.f64 %414) %418 = (*.f64 #s(literal 1 binary64) %169) %421 = (*.f64 #s(literal 1 binary64) %21) %437 = (*.f64 y %21) %442 = (*.f64 %169 #s(literal 1 binary64)) %450 = (*.f64 %35 %29) %452 = (*.f64 y %92) %453 = (fma.f64 %35 z %452) %455 = (*.f64 y %96) %456 = (-.f64 %400 %455) %462 = (*.f64 y %29) %465 = (*.f64 %21 #s(literal 1 binary64)) %475 = (*.f64 #s(literal 1/2 binary64) %382) %476 = (fabs.f64 %475) %493 = (*.f64 %33 %35) %495 = (neg.f64 %450) %497 = (*.f64 %29 z) %499 = (*.f64 %96 z) %518 = (*.f64 %96 %39) %521 = (*.f64 %101 %33) %524 = (*.f64 %101 %29) %527 = (*.f64 %92 %39) %530 = (*.f64 %33 %101) %533 = (*.f64 %39 %96) %536 = (*.f64 %39 %92) %539 = (*.f64 %29 %101) %542 = (*.f64 %324 %323) %545 = (*.f64 %323 %324) %704 = (*.f64 y z) %719 = (sqrt.f64 %323) %720 = (neg.f64 %719) %734 = (sqrt.f64 %277) %737 = (sqrt.f64 %295) %740 = (sqrt.f64 %300) %743 = (sqrt.f64 %332) %748 = (sqrt.f64 %273) %749 = (sqrt.f64 %282) %801 = (neg.f64 %43) %818 = (*.f64 %102 x) %823 = (*.f64 %40 x) %824 = (*.f64 %823 %102) %825 = (*.f64 %818 %40) %826 = (*.f64 %40 %818) %827 = (*.f64 %323 x) %828 = (*.f64 %102 %823) %829 = (*.f64 x %323) %830 = (pow.f64 %827 #s(literal 1 binary64)) %832 = (/.f64 #s(literal 1 binary64) (pow.f64 %827 #s(literal -1 binary64))) %833 = (*.f64 %25 x) x y z #s(literal -1 binary64) %4 (*.f64 x y) (pow.f64 %4 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %4 #s(literal -1 binary64))) (pow.f64 %15 #s(literal 1 binary64)) %15 (/.f64 #s(literal 1 binary64) (pow.f64 %15 #s(literal -1 binary64))) (*.f64 y #s(literal -1 binary64)) (*.f64 #s(literal -1 binary64) y) (pow.f64 %21 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %21 #s(literal -1 binary64))) %21 (pow.f64 %25 #s(literal 1 binary64)) %25 (/.f64 #s(literal 1 binary64) (pow.f64 %25 #s(literal -1 binary64))) (pow.f64 %29 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %29 #s(literal -1 binary64))) (neg.f64 %33) (-.f64 y %35) (-.f64 z %21) %29 (+.f64 z y) (*.f64 %42 %43) (*.f64 %46 %46) (*.f64 %43 %42) (*.f64 %45 %45) (*.f64 %40 %40) (pow.f64 %52 #s(literal 1/4 binary64)) (pow.f64 %45 #s(literal 2 binary64)) (pow.f64 %51 #s(literal 1/2 binary64)) (pow.f64 %40 #s(literal 2 binary64)) (pow.f64 %39 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %51 #s(literal -1/2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %40 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %39 #s(literal -1 binary64))) (sqrt.f64 %51) (fabs.f64 (neg.f64 %70)) (fabs.f64 (neg.f64 %73)) (fabs.f64 (neg.f64 %76)) (fabs.f64 (*.f64 %46 %45)) (fabs.f64 (*.f64 %46 %40)) (fabs.f64 (*.f64 %45 %46)) (fabs.f64 (*.f64 %40 %46)) (fabs.f64 %70) (fabs.f64 %73) (fabs.f64 %76) (fabs.f64 %33) (fabs.f64 %39) %39 (pow.f64 %92 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %92 #s(literal -1 binary64))) (neg.f64 %96) %92 (-.f64 %35 %21) (+.f64 y %35) (+.f64 %35 y) (*.f64 %104 %105) (*.f64 %108 %108) (*.f64 %105 %104) (*.f64 %107 %107) (*.f64 %102 %102) (pow.f64 %114 #s(literal 1/4 binary64)) (pow.f64 %107 #s(literal 2 binary64)) (pow.f64 %117 #s(literal 1/2 binary64)) (pow.f64 %102 #s(literal 2 binary64)) (pow.f64 %101 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %117 #s(literal -1/2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %102 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %101 #s(literal -1 binary64))) (sqrt.f64 %117) (fabs.f64 (neg.f64 %128)) (fabs.f64 (neg.f64 %131)) (fabs.f64 (neg.f64 %134)) (fabs.f64 (*.f64 %108 %107)) (fabs.f64 (*.f64 %108 %102)) (fabs.f64 (*.f64 %107 %108)) (fabs.f64 (*.f64 %102 %108)) (fabs.f64 %128) (fabs.f64 %131) (fabs.f64 %134) (fabs.f64 %96) (fabs.f64 %101) %101 (*.f64 %150 %150) (*.f64 %105 %105) (pow.f64 %105 #s(literal 2 binary64)) (pow.f64 %114 #s(literal 1/8 binary64)) (pow.f64 %117 #s(literal 1/4 binary64)) (pow.f64 %102 #s(literal 1 binary64)) (pow.f64 %101 #s(literal 1/2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %101 #s(literal -1/2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %102 #s(literal -1 binary64))) %102 (fabs.f64 (neg.f64 %108)) (fabs.f64 %108) (fabs.f64 %107) (fabs.f64 %102) (*.f64 (fma.f64 #s(literal -1 binary64) %169 %172) (-.f64 %174 %172)) (*.f64 (fma.f64 #s(literal -1 binary64) %169 %171) (-.f64 %174 %171)) (*.f64 (fma.f64 #s(literal -1 binary64) %169 %170) (-.f64 %174 %170)) (*.f64 (fma.f64 #s(literal -1 binary64) %169 %35) (-.f64 %174 %35)) (*.f64 (fma.f64 #s(literal -1 binary64) %169 z) (-.f64 %174 z)) (*.f64 (fma.f64 #s(literal -1 binary64) %168 %172) (-.f64 %190 %172)) (*.f64 (fma.f64 #s(literal -1 binary64) %168 %171) (-.f64 %190 %171)) (*.f64 (fma.f64 #s(literal -1 binary64) %168 %170) (-.f64 %190 %170)) (*.f64 (fma.f64 #s(literal -1 binary64) %168 %35) (-.f64 %190 %35)) (*.f64 (fma.f64 #s(literal -1 binary64) %168 z) (-.f64 %190 z)) (*.f64 (fma.f64 %169 #s(literal -1 binary64) %172) (-.f64 %206 %172)) (*.f64 (fma.f64 %169 #s(literal -1 binary64) %171) (-.f64 %206 %171)) (*.f64 (fma.f64 %169 #s(literal -1 binary64) %170) (-.f64 %206 %170)) (*.f64 (fma.f64 %169 #s(literal -1 binary64) %35) (-.f64 %206 %35)) (*.f64 (fma.f64 %169 #s(literal -1 binary64) z) (-.f64 %206 z)) (*.f64 (fma.f64 %168 #s(literal -1 binary64) %172) (-.f64 %222 %172)) (*.f64 (fma.f64 %168 #s(literal -1 binary64) %171) (-.f64 %222 %171)) (*.f64 (fma.f64 %168 #s(literal -1 binary64) %170) (-.f64 %222 %170)) (*.f64 (fma.f64 %168 #s(literal -1 binary64) %35) (-.f64 %222 %35)) (*.f64 (fma.f64 %168 #s(literal -1 binary64) z) (-.f64 %222 z)) (*.f64 (+.f64 %237 %172) (-.f64 %237 %172)) (*.f64 (+.f64 %237 %171) (-.f64 %237 %171)) (*.f64 (+.f64 %237 %170) (-.f64 %237 %170)) (*.f64 (+.f64 %237 %35) (-.f64 %237 %35)) (*.f64 (+.f64 %237 z) (-.f64 %237 z)) (*.f64 (+.f64 %169 %172) (-.f64 %169 %172)) (*.f64 (+.f64 y %172) (-.f64 y %172)) (*.f64 (+.f64 %168 %172) (-.f64 %168 %172)) (*.f64 (+.f64 %21 %172) (-.f64 %21 %172)) (*.f64 (fabs.f64 (+.f64 %171 %169)) (fabs.f64 (-.f64 %171 %169))) (*.f64 (fabs.f64 (+.f64 %171 y)) %273) (*.f64 (fabs.f64 (+.f64 %171 %168)) %277) (*.f64 (fabs.f64 (+.f64 %171 %21)) %282) (*.f64 %285 %287) (*.f64 %290 %277) (*.f64 %293 %295) (*.f64 %298 %300) (*.f64 %302 %40) (*.f64 %304 %102) (*.f64 %308 %102) (*.f64 %311 %40) (*.f64 (neg.f64 %277) (-.f64 %170 %168)) (*.f64 %284 %286) (*.f64 %289 (-.f64 %169 %170)) (*.f64 %292 (-.f64 %169 %35)) (*.f64 %297 (-.f64 %169 z)) (*.f64 %325 %325) (*.f64 %327 %327) (*.f64 %329 %329) (*.f64 %332 %277) (*.f64 %300 %295) (*.f64 %295 %300) (*.f64 %273 %282) (*.f64 %282 %273) (*.f64 %331 %277) (*.f64 %277 %332) (*.f64 %277 %331) (*.f64 %299 %294) (*.f64 %294 %299) (*.f64 %343 %344) (*.f64 %281 %272) (*.f64 %272 %281) (*.f64 %344 %343) (*.f64 %349 %350) (*.f64 %350 %349) (*.f64 %324 %324) (*.f64 %96 %33) (*.f64 %33 %96) (*.f64 %40 %356) (*.f64 %40 %359) (*.f64 %323 %323) (*.f64 %102 %362) (*.f64 %102 %365) (*.f64 %101 %39) %306 (*.f64 %39 %101) (*.f64 %29 %92) (pow.f64 (*.f64 %371 %371) #s(literal 1/4 binary64)) (pow.f64 (*.f64 %114 %52) #s(literal 1/4 binary64)) (pow.f64 (*.f64 %52 %114) #s(literal 1/4 binary64)) (pow.f64 %371 #s(literal 1/2 binary64)) (pow.f64 %324 #s(literal 2 binary64)) (pow.f64 %323 #s(literal 2 binary64)) (pow.f64 %306 #s(literal 1 binary64)) (/.f64 (-.f64 (*.f64 %382 %382) (*.f64 %384 %384)) (fma.f64 y y %384)) (/.f64 #s(literal 1 binary64) (pow.f64 %371 #s(literal -1/2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %323 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %306 #s(literal -1 binary64))) (neg.f64 %370) (fma.f64 %396 %396 %398) (fma.f64 %396 %396 %400) (fma.f64 %402 %402 %398) (fma.f64 %402 %402 %400) (fma.f64 %405 %405 %398) (fma.f64 %405 %405 %400) (fma.f64 %408 %408 %398) (fma.f64 %408 %408 %400) (fma.f64 %411 %411 %398) (fma.f64 %411 %411 %400) (fma.f64 %415 #s(literal 1/2 binary64) %398) (fma.f64 %415 #s(literal 1/2 binary64) %400) (fma.f64 %418 %169 %398) (fma.f64 %418 %169 %400) (fma.f64 %421 %21 %398) (fma.f64 %421 %21 %400) (fma.f64 %414 #s(literal 1/2 binary64) %398) (fma.f64 %414 #s(literal 1/2 binary64) %400) (fma.f64 %174 %174 %398) (fma.f64 %174 %174 %400) (fma.f64 %190 %190 %398) (fma.f64 %190 %190 %400) (fma.f64 %206 %206 %398) (fma.f64 %206 %206 %400) (fma.f64 %222 %222 %398) (fma.f64 %222 %222 %400) (fma.f64 %172 %171 %382) (fma.f64 %237 %237 %398) (fma.f64 %237 %237 %400) (fma.f64 %437 #s(literal -1 binary64) %398) (fma.f64 %437 #s(literal -1 binary64) %400) (fma.f64 %171 %172 %382) (fma.f64 %171 %170 %382) (fma.f64 %169 %442 %398) (fma.f64 %169 %442 %400) (fma.f64 %169 %169 %398) (fma.f64 %169 %169 %400) (fma.f64 y y %398) (fma.f64 y y %400) (fma.f64 y %92 %397) (fma.f64 y %29 %450) (fma.f64 y z %453) (fma.f64 y z %456) (fma.f64 %170 %171 %382) (fma.f64 %168 %168 %398) (fma.f64 %168 %168 %400) (fma.f64 %35 %96 %452) (fma.f64 %35 %29 %462) (fma.f64 %35 z %382) (fma.f64 %21 %465 %398) (fma.f64 %21 %465 %400) (fma.f64 %21 %21 %398) (fma.f64 %21 %21 %400) (fma.f64 %21 %96 %397) (fma.f64 %96 %35 %452) (fma.f64 %96 %21 %397) (fma.f64 #s(literal 1 binary64) %382 %398) (fma.f64 #s(literal 1 binary64) %382 %400) (fma.f64 #s(literal 2 binary64) %476 %398) (fma.f64 #s(literal 2 binary64) %476 %400) (fma.f64 #s(literal 2 binary64) %475 %398) (fma.f64 #s(literal 2 binary64) %475 %400) (fma.f64 %92 y %397) (fma.f64 %92 z %452) (fma.f64 %29 y %450) (fma.f64 %29 %35 %462) (fma.f64 %382 #s(literal 1 binary64) %398) (fma.f64 %382 #s(literal 1 binary64) %400) (fma.f64 #s(literal -1 binary64) %437 %398) (fma.f64 #s(literal -1 binary64) %437 %400) (fma.f64 z y %453) (fma.f64 z y %456) (fma.f64 z %35 %382) (fma.f64 z %92 %452) (-.f64 %462 %493) (-.f64 %462 %495) (-.f64 %462 %497) (-.f64 %452 %499) (-.f64 %397 %455) (-.f64 %400 %437) (-.f64 %382 %384) (sqrt.f64 %371) (fabs.f64 (-.f64 (*.f64 %237 %168) %384)) (fabs.f64 (-.f64 %493 %462)) (fabs.f64 (-.f64 %495 %462)) (fabs.f64 (-.f64 %497 %462)) (fabs.f64 (-.f64 %499 %452)) (fabs.f64 (-.f64 %437 %400)) (fabs.f64 (neg.f64 %518)) (fabs.f64 (neg.f64 %521)) (fabs.f64 (neg.f64 %524)) (fabs.f64 (neg.f64 %527)) (fabs.f64 (neg.f64 %530)) (fabs.f64 (neg.f64 %533)) (fabs.f64 (neg.f64 %536)) (fabs.f64 (neg.f64 %539)) (fabs.f64 (neg.f64 %542)) (fabs.f64 (neg.f64 %545)) (fabs.f64 (*.f64 %325 %327)) (fabs.f64 (*.f64 %325 %329)) (fabs.f64 (*.f64 %325 %324)) (fabs.f64 (*.f64 %325 %323)) (fabs.f64 (*.f64 %327 %325)) (fabs.f64 (*.f64 %327 %329)) (fabs.f64 (*.f64 %327 %324)) (fabs.f64 (*.f64 %327 %323)) (fabs.f64 (*.f64 %329 %325)) (fabs.f64 (*.f64 %329 %327)) (fabs.f64 (*.f64 %329 %324)) (fabs.f64 (*.f64 %329 %323)) (fabs.f64 (*.f64 %324 %325)) (fabs.f64 (*.f64 %324 %327)) (fabs.f64 (*.f64 %324 %329)) (fabs.f64 (*.f64 %323 %325)) (fabs.f64 (*.f64 %323 %327)) (fabs.f64 (*.f64 %323 %329)) (fabs.f64 (*.f64 %128 %70)) (fabs.f64 (*.f64 %128 %73)) (fabs.f64 (*.f64 %128 %76)) (fabs.f64 (*.f64 %128 %33)) (fabs.f64 (*.f64 %128 %39)) (fabs.f64 (*.f64 %128 %29)) (fabs.f64 (*.f64 %131 %70)) (fabs.f64 (*.f64 %131 %73)) (fabs.f64 (*.f64 %131 %76)) (fabs.f64 (*.f64 %131 %33)) (fabs.f64 (*.f64 %131 %39)) (fabs.f64 (*.f64 %131 %29)) (fabs.f64 (*.f64 %134 %70)) (fabs.f64 (*.f64 %134 %73)) (fabs.f64 (*.f64 %134 %76)) (fabs.f64 (*.f64 %134 %33)) (fabs.f64 (*.f64 %134 %39)) (fabs.f64 (*.f64 %134 %29)) (fabs.f64 (*.f64 %96 %70)) (fabs.f64 (*.f64 %96 %73)) (fabs.f64 (*.f64 %96 %76)) (fabs.f64 (*.f64 %101 %70)) (fabs.f64 (*.f64 %101 %73)) (fabs.f64 (*.f64 %101 %76)) (fabs.f64 (*.f64 %92 %70)) (fabs.f64 (*.f64 %92 %73)) (fabs.f64 (*.f64 %92 %76)) (fabs.f64 (*.f64 %70 %128)) (fabs.f64 (*.f64 %70 %131)) (fabs.f64 (*.f64 %70 %134)) (fabs.f64 (*.f64 %70 %96)) (fabs.f64 (*.f64 %70 %101)) (fabs.f64 (*.f64 %70 %92)) (fabs.f64 (*.f64 %73 %128)) (fabs.f64 (*.f64 %73 %131)) (fabs.f64 (*.f64 %73 %134)) (fabs.f64 (*.f64 %73 %96)) (fabs.f64 (*.f64 %73 %101)) (fabs.f64 (*.f64 %73 %92)) (fabs.f64 (*.f64 %76 %128)) (fabs.f64 (*.f64 %76 %131)) (fabs.f64 (*.f64 %76 %134)) (fabs.f64 (*.f64 %76 %96)) (fabs.f64 (*.f64 %76 %101)) (fabs.f64 (*.f64 %76 %92)) (fabs.f64 (*.f64 %33 %128)) (fabs.f64 (*.f64 %33 %131)) (fabs.f64 (*.f64 %33 %134)) (fabs.f64 (*.f64 %39 %128)) (fabs.f64 (*.f64 %39 %131)) (fabs.f64 (*.f64 %39 %134)) (fabs.f64 (*.f64 %29 %128)) (fabs.f64 (*.f64 %29 %131)) (fabs.f64 (*.f64 %29 %134)) (fabs.f64 %518) (fabs.f64 %521) (fabs.f64 %524) (fabs.f64 %527) (fabs.f64 %530) (fabs.f64 %533) (fabs.f64 %536) (fabs.f64 %539) (fabs.f64 %542) (fabs.f64 %545) (fabs.f64 %370) (fabs.f64 %306) (+.f64 (fma.f64 y %92 %704) %400) (+.f64 (fma.f64 %92 z %382) (*.f64 y %35)) (+.f64 %704 %453) (+.f64 %704 %456) (+.f64 %462 %450) (+.f64 %450 %462) (+.f64 %452 %397) (+.f64 %397 %452) (+.f64 %400 %382) (+.f64 %382 %398) (+.f64 %382 %400) (*.f64 %720 %720) (*.f64 (sqrt.f64 %302) %43) (*.f64 (sqrt.f64 %304) %105) (*.f64 (sqrt.f64 %308) %105) (*.f64 (sqrt.f64 %311) %43) (*.f64 (sqrt.f64 %285) (sqrt.f64 %287)) (*.f64 (sqrt.f64 %290) %734) (*.f64 (sqrt.f64 %293) %737) (*.f64 (sqrt.f64 %298) %740) (*.f64 %719 %719) (*.f64 %743 %734) (*.f64 %734 %743) (*.f64 %740 %737) (*.f64 %737 %740) (*.f64 %748 %749) (*.f64 %749 %748) (*.f64 %43 (sqrt.f64 %356)) (*.f64 %43 (sqrt.f64 %359)) (*.f64 %105 (sqrt.f64 %362)) (*.f64 %105 (sqrt.f64 %365)) (*.f64 %40 %102) (*.f64 %102 %40) (pow.f64 %719 #s(literal 2 binary64)) (pow.f64 %371 #s(literal 1/4 binary64)) (pow.f64 %323 #s(literal 1 binary64)) (pow.f64 %306 #s(literal 1/2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %306 #s(literal -1/2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %323 #s(literal -1 binary64))) %323 (fabs.f64 (neg.f64 %325)) (fabs.f64 (neg.f64 %327)) (fabs.f64 (neg.f64 %329)) (fabs.f64 (*.f64 %46 %108)) (fabs.f64 (*.f64 %46 %107)) (fabs.f64 (*.f64 %46 %102)) (fabs.f64 (*.f64 %45 %108)) (fabs.f64 (*.f64 %40 %108)) (fabs.f64 (*.f64 %108 %46)) (fabs.f64 (*.f64 %108 %45)) (fabs.f64 (*.f64 %108 %40)) (fabs.f64 (*.f64 %107 %46)) (fabs.f64 (*.f64 %102 %46)) (fabs.f64 %325) (fabs.f64 %327) (fabs.f64 %329) (fabs.f64 %324) (fabs.f64 %323) (*.f64 %801 %801) (*.f64 %43 %43) (pow.f64 %43 #s(literal 2 binary64)) (pow.f64 %52 #s(literal 1/8 binary64)) (pow.f64 %51 #s(literal 1/4 binary64)) (pow.f64 %40 #s(literal 1 binary64)) (pow.f64 %39 #s(literal 1/2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %39 #s(literal -1/2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %40 #s(literal -1 binary64))) %40 (fabs.f64 (neg.f64 %46)) (fabs.f64 %46) (fabs.f64 %45) (fabs.f64 %40) %818 (*.f64 x %102) (pow.f64 %818 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %818 #s(literal -1 binary64))) %824 %825 %826 %827 %828 %829 %830 %832 %824 %825 %826 %827 %828 %829 %830 %832 %833 (*.f64 x %25) (pow.f64 %833 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %833 #s(literal -1 binary64))) |
Compiled 610 to 1 380 computations (-126.2% saved)
Compiled 180 to 761 computations (-322.8% saved)
5 alts after pruning (2 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 178 | 2 | 180 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 3 | 4 |
| Done | 0 | 0 | 0 |
| Total | 179 | 5 | 184 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 99.4% | (*.f64 (sqrt.f64 (fabs.f64 (+.f64 z y))) (*.f64 (sqrt.f64 (fabs.f64 (-.f64 y z))) x)) |
| ✓ | 1.7% | (*.f64 x (sqrt.f64 (*.f64 (-.f64 y z) (+.f64 z y)))) |
| ▶ | 5.7% | (*.f64 x (approx (sqrt (- (* y y) (* z z))) (neg.f64 y))) |
| ▶ | 6.5% | (approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (approx x #s(literal 0 binary64)) y)) |
| ✓ | 13.6% | (approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 x y)) |
Compiled 5 to 19 computations (-280.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 258 | 1647 |
| 1× | iter-limit |
| Inputs |
|---|
%3 = (approx x #s(literal 0 binary64)) %4 = (neg.f64 y) %5 = (*.f64 %3 y) %10 = (sqrt (- (* y y) (* z z))) %13 = (approx %10 %4) x y #s(literal 0 binary64) %3 %4 %5 (approx (* x %10) %5) %13 (*.f64 x %13) |
| Outputs |
|---|
%6 = (*.f64 x y) %12 = (sqrt (- (* y y) (* z z))) %13 = (* x %12) %15 = (pow.f64 y #s(literal 2 binary64)) %16 = (pow.f64 z #s(literal 2 binary64)) %27 = (sqrt.f64 (neg.f64 %16)) %28 = (*.f64 x %27) %31 = (*.f64 x %15) %37 = (pow.f64 %27 #s(literal 3 binary64)) %39 = (/.f64 x %27) %48 = (pow.f64 %27 #s(literal 5 binary64)) %65 = (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) %27)) %81 = (*.f64 x %16) %82 = (/.f64 %81 %15) %85 = (*.f64 y (+.f64 x (*.f64 #s(literal -1/2 binary64) %82))) %88 = (pow.f64 z #s(literal 4 binary64)) %90 = (pow.f64 y #s(literal 4 binary64)) %91 = (/.f64 (*.f64 x %88) %90) %95 = (*.f64 y (+.f64 x (fma.f64 #s(literal -1/2 binary64) %82 (*.f64 #s(literal -1/8 binary64) %91)))) %99 = (pow.f64 z #s(literal 6 binary64)) %101 = (pow.f64 y #s(literal 6 binary64)) %107 = (*.f64 y (+.f64 x (fma.f64 #s(literal -1/2 binary64) %82 (fma.f64 #s(literal -1/8 binary64) %91 (*.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 x %99) %101)))))) %109 = (/.f64 %16 %15) %112 = (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) %109))) %114 = (/.f64 %88 %90) %118 = (*.f64 y (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/2 binary64) %109 (*.f64 #s(literal -1/8 binary64) %114)))) %125 = (*.f64 y (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/2 binary64) %109 (fma.f64 #s(literal -1/8 binary64) %114 (*.f64 #s(literal -1/16 binary64) (/.f64 %99 %101)))))) %141 = (sqrt.f64 %15) %142 = (*.f64 x %141) %147 = (/.f64 x %141) %148 = (pow.f64 %141 #s(literal 3 binary64)) %156 = (pow.f64 %141 #s(literal 5 binary64)) %173 = (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) %141)) %188 = (sqrt.f64 #s(literal -1 binary64)) %189 = (*.f64 z %188) %190 = (*.f64 x %189) %192 = (*.f64 %16 %188) %195 = (fma.f64 #s(literal 1/2 binary64) (/.f64 %31 %192) (*.f64 x %188)) %196 = (*.f64 z %195) %200 = (*.f64 %88 (pow.f64 %188 #s(literal 3 binary64))) %201 = (/.f64 (*.f64 x %90) %200) %203 = (*.f64 z (fma.f64 #s(literal -1/8 binary64) %201 %195)) %207 = (*.f64 %99 (pow.f64 %188 #s(literal 5 binary64))) %211 = (*.f64 z (fma.f64 #s(literal -1/8 binary64) %201 (fma.f64 #s(literal 1/16 binary64) (/.f64 (*.f64 x %101) %207) %195))) %215 = (*.f64 #s(literal 1/2 binary64) (/.f64 %15 %192)) %217 = (*.f64 z (+.f64 %188 %215)) %219 = (/.f64 %90 %200) %222 = (*.f64 z (+.f64 %188 (fma.f64 #s(literal -1/8 binary64) %219 %215))) %228 = (*.f64 z (+.f64 %188 (fma.f64 #s(literal -1/8 binary64) %219 (fma.f64 #s(literal 1/16 binary64) (/.f64 %101 %207) %215)))) (approx x #s(literal 0 binary64)) (approx x x) (approx (* x y) %6) (approx %13 (*.f64 x (sqrt.f64 (-.f64 %15 %16)))) (approx y y) (approx (neg y) (*.f64 #s(literal -1 binary64) y)) (approx %13 %28) (approx %13 (fma.f64 #s(literal 1/2 binary64) (/.f64 %31 %27) %28)) (approx %13 (fma.f64 x %27 (*.f64 %15 (fma.f64 #s(literal -1/8 binary64) (/.f64 %31 %37) (*.f64 #s(literal 1/2 binary64) %39))))) (approx %13 (fma.f64 x %27 (*.f64 %15 (fma.f64 #s(literal 1/2 binary64) %39 (*.f64 %15 (fma.f64 #s(literal -1/8 binary64) (/.f64 x %37) (*.f64 #s(literal 1/16 binary64) (/.f64 %31 %48)))))))) (approx %12 %27) (approx %12 (+.f64 %27 (*.f64 #s(literal 1/2 binary64) (/.f64 %15 %27)))) (approx %12 (+.f64 %27 (*.f64 %15 (fma.f64 #s(literal -1/8 binary64) (/.f64 %15 %37) %65)))) (approx %12 (+.f64 %27 (*.f64 %15 (fma.f64 %15 (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 %15 %48)) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) %37))) %65)))) (approx %13 %85) (approx %13 %95) (approx %13 %107) (approx %12 %112) (approx %12 %118) (approx %12 %125) (approx %13 (*.f64 #s(literal -1 binary64) %6)) (approx %13 (*.f64 #s(literal -1 binary64) %85)) (approx %13 (*.f64 #s(literal -1 binary64) %95)) (approx %13 (*.f64 #s(literal -1 binary64) %107)) (approx %12 (*.f64 #s(literal -1 binary64) %112)) (approx %12 (*.f64 #s(literal -1 binary64) %118)) (approx %12 (*.f64 #s(literal -1 binary64) %125)) (approx %13 %142) (approx %13 (fma.f64 #s(literal -1/2 binary64) (/.f64 %81 %141) %142)) (approx %13 (fma.f64 x %141 (*.f64 %16 (fma.f64 #s(literal -1/2 binary64) %147 (*.f64 #s(literal -1/8 binary64) (/.f64 %81 %148)))))) (approx %13 (fma.f64 x %141 (*.f64 %16 (fma.f64 #s(literal -1/2 binary64) %147 (*.f64 %16 (fma.f64 #s(literal -1/8 binary64) (/.f64 x %148) (*.f64 #s(literal -1/16 binary64) (/.f64 %81 %156)))))))) (approx %12 %141) (approx %12 (+.f64 %141 (*.f64 #s(literal -1/2 binary64) (/.f64 %16 %141)))) (approx %12 (+.f64 %141 (*.f64 %16 (-.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 %16 %148)) %173)))) (approx %12 (+.f64 %141 (*.f64 %16 (-.f64 (*.f64 %16 (-.f64 (*.f64 #s(literal -1/16 binary64) (/.f64 %16 %156)) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) %148)))) %173)))) (approx %13 %190) (approx %13 %196) (approx %13 %203) (approx %13 %211) (approx %12 %189) (approx %12 %217) (approx %12 %222) (approx %12 %228) (approx %13 (*.f64 #s(literal -1 binary64) %190)) (approx %13 (*.f64 #s(literal -1 binary64) %196)) (approx %13 (*.f64 #s(literal -1 binary64) %203)) (approx %13 (*.f64 #s(literal -1 binary64) %211)) (approx %12 (*.f64 #s(literal -1 binary64) %189)) (approx %12 (*.f64 #s(literal -1 binary64) %217)) (approx %12 (*.f64 #s(literal -1 binary64) %222)) (approx %12 (*.f64 #s(literal -1 binary64) %228)) |
9 calls:
| Time | Variable | Point |
|---|---|---|
| 1.0ms | x | inf |
| 1.0ms | y | inf |
| 1.0ms | x | -inf |
| 1.0ms | y | -inf |
| 1.0ms | x | 0 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 53 |
| 0 | 18 | 53 |
| 1 | 60 | 53 |
| 2 | 196 | 53 |
| 3 | 728 | 53 |
| 4 | 2699 | 53 |
| 0 | 4185 | 53 |
| 0 | 4708 | 53 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%3 = (approx x #s(literal 0 binary64)) %4 = (neg.f64 y) %5 = (*.f64 %3 y) %10 = (sqrt (- (* y y) (* z z))) %13 = (approx %10 %4) x y #s(literal 0 binary64) %3 %4 %5 (approx (* x %10) %5) %13 (*.f64 x %13) |
| Outputs |
|---|
%4 = (approx x #s(literal 0 binary64)) %10 = (neg.f64 y) %15 = (*.f64 %4 y) %29 = (sqrt (- (* y y) (* z z))) %31 = (approx (* %29 x) %15) %36 = (approx %29 %10) %41 = (*.f64 %36 x) x y #s(literal 0 binary64) (*.f64 #s(literal 1 binary64) %4) (pow.f64 %4 #s(literal 1 binary64)) %4 (/.f64 #s(literal 1 binary64) (pow.f64 %4 #s(literal -1 binary64))) (*.f64 #s(literal 1 binary64) %10) (pow.f64 %10 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %10 #s(literal -1 binary64))) %10 (*.f64 #s(literal 1 binary64) %15) %15 (*.f64 y %4) (pow.f64 %15 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %15 #s(literal -1 binary64))) (neg.f64 (*.f64 %10 %4)) (neg.f64 (*.f64 %4 %10)) (*.f64 #s(literal 1 binary64) %31) (pow.f64 %31 #s(literal 1 binary64)) %31 (/.f64 #s(literal 1 binary64) (pow.f64 %31 #s(literal -1 binary64))) (*.f64 #s(literal 1 binary64) %36) (pow.f64 %36 #s(literal 1 binary64)) %36 (/.f64 #s(literal 1 binary64) (pow.f64 %36 #s(literal -1 binary64))) (*.f64 #s(literal 1 binary64) %41) %41 (*.f64 x %36) (pow.f64 %41 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %41 #s(literal -1 binary64))) |
Compiled 82 to 221 computations (-169.5% saved)
Compiled 35 to 137 computations (-291.4% saved)
5 alts after pruning (0 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 35 | 0 | 35 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 2 | 2 |
| Done | 0 | 3 | 3 |
| Total | 35 | 5 | 40 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 99.4% | (*.f64 (sqrt.f64 (fabs.f64 (+.f64 z y))) (*.f64 (sqrt.f64 (fabs.f64 (-.f64 y z))) x)) |
| ✓ | 1.7% | (*.f64 x (sqrt.f64 (*.f64 (-.f64 y z) (+.f64 z y)))) |
| ✓ | 5.7% | (*.f64 x (approx (sqrt (- (* y y) (* z z))) (neg.f64 y))) |
| ✓ | 6.5% | (approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 (approx x #s(literal 0 binary64)) y)) |
| ✓ | 13.6% | (approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 x y)) |
Compiled 5 to 19 computations (-280.0% saved)
Total -0.0b remaining (-0.0%)
Threshold costs -0.0b (-0.0%)
| 0.0b | 0% |
| -0.0b | -100.0% |
| Inputs |
|---|
(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 x y)) |
| Outputs |
|---|
(approx (* x (sqrt (- (* y y) (* z z)))) (*.f64 x y)) |
| Inputs |
|---|
%6 = (sqrt (- (* y y) (* z z))) %7 = (* x %6) %21 = (-.f64 y z) %22 = (+.f64 z y) (approx %7 (*.f64 x y)) (approx %7 (*.f64 (approx x #s(literal 0 binary64)) y)) (*.f64 x (approx %6 (neg.f64 y))) (*.f64 x (approx %6 (*.f64 #s(literal -1 binary64) y))) (*.f64 x (sqrt.f64 (*.f64 %21 %22))) (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z)))) (*.f64 (sqrt.f64 (fabs.f64 %22)) (*.f64 (sqrt.f64 (fabs.f64 %21)) x)) |
| Outputs |
|---|
(*.f64 (sqrt.f64 (fabs.f64 (+.f64 z y))) (*.f64 (sqrt.f64 (fabs.f64 (-.f64 y z))) x)) |
8 calls:
| 4.0ms | y |
| 4.0ms | z |
| 4.0ms | x |
| 3.0ms | (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))) |
| 3.0ms | (*.f64 z z) |
| Accuracy | Segments | Branch |
|---|---|---|
| 13.6% | 1 | z |
| 13.6% | 1 | y |
| 13.6% | 1 | x |
| 13.6% | 1 | (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z)))) |
| 13.6% | 1 | (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))) |
| 13.6% | 1 | (-.f64 (*.f64 y y) (*.f64 z z)) |
| 13.6% | 1 | (*.f64 y y) |
| 13.6% | 1 | (*.f64 z z) |
Compiled 15 to 35 computations (-133.3% saved)
| 1× | done |
Compiled 2 to 12 computations (-500.0% saved)
(abs y)
Compiled 27 to 173 computations (-540.7% saved)
| Allocated | Percent | Phase |
|---|---|---|
| 1 150.8 MiB | 51.2% | sample |
| 455.0 MiB | 20.2% | rewrite |
| 210.7 MiB | 9.4% | series |
| 145.3 MiB | 6.5% | reconstruct |
| 97.2 MiB | 4.3% | analyze |
| 77.3 MiB | 3.4% | preprocess |
| 46.4 MiB | 2.1% | eval |
| 41.1 MiB | 1.8% | regimes |
| 15.2 MiB | 0.7% | prune |
| 10.0 MiB | 0.4% | derivations |
| 0.1 MiB | 0.0% | bsearch |
| 0.1 MiB | 0.0% | start |
| 0.0 MiB | 0.0% | end |
| 2 249.2 MiB | 100.0% | total |
Loading profile data...