Herbie run

Date:Friday, January 10th, 2025
Commit:4dfe4069 on main
Seed:2025010
Parameters:256 points for 4 iterations
Flags:
localize:costslocalize:errorsreduce:regimesreduce:binary-searchreduce:branch-expressionssetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default
Memory:450 133.8 MB

Time bar (total: 6.4min)

sample1.8min (27.9%)

Memory
928.4MiB live, 124 306.6MiB allocated; 38.5s collecting garbage
Samples
58.9s262 305×0valid
19.4s1 575×5exit
3.6s7 913×1valid
2.0s11 031×0invalid
803.0ms2 229×2valid
430.0ms690×1invalid
0.0ms3valid
Precisions
Click to see histograms. Total time spent on operations: 1.2min
ival-pow: 17.0s (23.6% of total)
ival-mult: 10.1s (14.1% of total)
ival-<=: 8.3s (11.5% of total)
const: 7.3s (10.1% of total)
ival-div: 4.3s (6% of total)
ival-e: 3.0s (4.1% of total)
ival-sub: 2.2s (3.1% of total)
ival-fabs: 2.1s (2.9% of total)
ival-add: 2.0s (2.7% of total)
ival-log: 1.6s (2.2% of total)
ival-sqrt: 1.4s (2% of total)
ival-floor: 1.4s (2% of total)
ival-sin: 1.2s (1.7% of total)
ival-and: 1.2s (1.7% of total)
adjust: 1.1s (1.5% of total)
ival-exp: 754.0ms (1% of total)
ival-pi: 746.0ms (1% of total)
ival-neg: 721.0ms (1% of total)
ival-sinu: 681.0ms (0.9% of total)
ival-pow2: 555.0ms (0.8% of total)
ival-cos: 515.0ms (0.7% of total)
ival-log1p: 505.0ms (0.7% of total)
ival-cosu: 484.0ms (0.7% of total)
exact: 478.0ms (0.7% of total)
ival-fmax: 366.0ms (0.5% of total)
ival-tan: 335.0ms (0.5% of total)
ival-<: 331.0ms (0.5% of total)
ival-asin: 224.0ms (0.3% of total)
ival-if: 220.0ms (0.3% of total)
ival-log2: 215.0ms (0.3% of total)
ival->: 178.0ms (0.2% of total)
ival-==: 177.0ms (0.2% of total)
ival-assert: 120.0ms (0.2% of total)
ival-atan: 97.0ms (0.1% of total)
ival-sinh: 88.0ms (0.1% of total)
ival->=: 51.0ms (0.1% of total)
ival-true: 25.0ms (0% of total)
Bogosity

simplify53.1s (13.8%)

Memory
640.4MiB live, 57 493.6MiB allocated; 14.2s collecting garbage
Stop Event
396×iter limit
296×node limit
saturated
Counts
16 211 → 16 133

localize31.8s (8.2%)

Memory
278.1MiB live, 38 522.6MiB allocated; 10.0s collecting garbage
Samples
14.6s28 346×0valid
4.0s638×5exit
2.8s2 518×1valid
1.1s1 519×0invalid
494.0ms486×2valid
80.0ms267×0exit
31.0ms18×3valid
Compiler

Compiled 139 405 to 6 902 computations (95% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.5s
ival-mult: 4.7s (25.5% of total)
ival-div: 2.2s (11.8% of total)
adjust: 1.5s (8.1% of total)
ival-log: 1.4s (7.5% of total)
ival-add: 1.4s (7.4% of total)
const: 1.0s (5.5% of total)
ival-exp: 911.0ms (4.9% of total)
ival-pow: 838.0ms (4.5% of total)
ival-sub: 708.0ms (3.8% of total)
ival-sqrt: 582.0ms (3.2% of total)
ival-sin: 516.0ms (2.8% of total)
ival-pow2: 457.0ms (2.5% of total)
ival-log1p: 374.0ms (2% of total)
ival-neg: 365.0ms (2% of total)
ival-cos: 194.0ms (1.1% of total)
ival-sinu: 135.0ms (0.7% of total)
ival-tan: 127.0ms (0.7% of total)
ival-fmax: 124.0ms (0.7% of total)
ival-log2: 104.0ms (0.6% of total)
ival-floor: 101.0ms (0.5% of total)
ival-if: 100.0ms (0.5% of total)
ival-atan: 95.0ms (0.5% of total)
exact: 86.0ms (0.5% of total)
ival-cosu: 84.0ms (0.5% of total)
ival-expm1: 75.0ms (0.4% of total)
ival-fabs: 64.0ms (0.3% of total)
ival-true: 60.0ms (0.3% of total)
ival-pi: 53.0ms (0.3% of total)
ival-tanu: 50.0ms (0.3% of total)
ival-e: 42.0ms (0.2% of total)
ival->: 16.0ms (0.1% of total)
ival-assert: 15.0ms (0.1% of total)
ival->=: 12.0ms (0.1% of total)
ival-asin: 10.0ms (0.1% of total)
ival-sinh: 10.0ms (0.1% of total)
ival-acos: 6.0ms (0% of total)
ival-<: 5.0ms (0% of total)
ival-cbrt: 4.0ms (0% of total)

derivations31.5s (8.2%)

Memory
-4.4MiB live, 25 082.5MiB allocated; 6.9s collecting garbage
Stop Event
366×iter limit
178×node limit
33×fuel
11×unsound
Compiler

Compiled 25 841 to 4 142 computations (84% saved)

regimes30.4s (7.9%)

Memory
70.9MiB live, 39 654.0MiB allocated; 8.4s collecting garbage
Counts
11 623 → 469
Calls

160 calls:

1.0s
u0
887.0ms
cosTheta_i
768.0ms
s
634.0ms
(*.f32 uy #s(literal 2 binary32))
627.0ms
v
Compiler

Compiled 24 399 to 19 839 computations (18.7% saved)

eval30.1s (7.8%)

Memory
462.3MiB live, 40 991.6MiB allocated; 7.9s collecting garbage
Compiler

Compiled 34 639 959 to 459 231 computations (98.7% saved)

analyze22.0s (5.7%)

Memory
203.8MiB live, 29 179.6MiB allocated; 7.3s collecting garbage
Algorithm
33×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%11.5%88.5%0%0%0%0
52.8%6.1%5.4%88.5%0%0%0%1
54.4%6.2%5.2%88.5%0%0%0%2
54.5%6.3%5.2%88.5%0%0%0%3
55.4%6.4%5.1%88.5%0%0%0%4
62.6%7.2%4.3%88.5%0%0%0%5
66.9%7.6%3.8%88.5%0%0.1%0%6
76.4%8.4%2.6%88.5%0%0.4%0%7
76.8%8.5%2.6%88.5%0%0.4%0%8
81.4%9%2%88.5%0%0.4%0%9
85.1%9.3%1.6%88.5%0%0.5%0%10
86.3%9.4%1.5%88.5%0%0.5%0%11
87.3%9.5%1.4%88.5%0%0.6%0%12
Compiler

Compiled 2 648 to 1 114 computations (57.9% saved)

prune20.9s (5.4%)

Memory
151.5MiB live, 25 338.4MiB allocated; 5.2s collecting garbage
Counts
105 974 → 4 095
Compiler

Compiled 581 499 to 218 300 computations (62.5% saved)

series19.6s (5.1%)

Memory
-393.0MiB live, 23 528.8MiB allocated; 6.4s collecting garbage
Counts
2 593 → 16 211
Calls

1452 calls:

TimeVariablePointExpression
751.0ms
dY.u
@-inf
((- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))) (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (if (< (if (> (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))))) (floor maxAniso)) (/ (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))) (floor maxAniso)) (/ (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u)))) (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))))) 1) (fmax 1 (* (if (> (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))))) (floor maxAniso)) (floor maxAniso) (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u)))))) (if (> (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))))) (floor maxAniso)) (/ (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))) (floor maxAniso)) (/ (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u)))) (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))))))) (if (> (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))))) (floor maxAniso)) (floor maxAniso) (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))))))) (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))))) (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))) (/ (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u)))) (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))))) (* (* (floor h) dX.v) (* (floor h) dX.v)))
346.0ms
s
@0
((/ (- 2 (* (+ (* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) 2)) (* (+ (* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) 2)) (- 2 (* (+ (* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) 2)) (* (neg s) (log (/ (- 2 (* (+ (* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) 2)) (* (+ (* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) 2)))) (neg s) (* (neg s) (log (- (/ 1 (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s)))))) 1))) (neg (PI)) (PI) (- (/ (+ (* (pow (+ (* (* (PI) -1/2) u) (* 1/4 (PI))) 2) -8) 0) s) (* (+ (* (* (PI) -1/2) u) (* 1/4 (PI))) 4)) (+ (* (* (PI) -1/2) u) (* 1/4 (PI))) (+ (* (pow (+ (* (* (PI) -1/2) u) (* 1/4 (PI))) 2) -8) 0) (* (neg s) (log (- (/ 1 (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s)))))) 1))) (exp (* (log (+ (* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) (exp (neg (log (+ 1 (exp (/ (PI) s)))))))) 1)) (* (log (+ (* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) (exp (neg (log (+ 1 (exp (/ (PI) s)))))))) 1) (- (/ 1 (exp (* (log (+ (* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) (exp (neg (log (+ 1 (exp (/ (PI) s)))))))) 1))) 1) (* (neg s) (log (- (/ 1 (exp (* (log (+ (* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) (exp (neg (log (+ 1 (exp (/ (PI) s)))))))) 1))) 1))) (+ (log (pow (- (exp (neg (log (+ (* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) (exp (neg (log (+ 1 (exp (/ (PI) s)))))))))) 1) (/ (neg s) 2))) (log (pow (- (exp (neg (log (+ (* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) (exp (neg (log (+ 1 (exp (/ (PI) s)))))))))) 1) (/ (neg s) 2)))) (/ (neg s) 2) (log (pow (- (exp (neg (log (+ (* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) (exp (neg (log (+ 1 (exp (/ (PI) s)))))))))) 1) (/ (neg s) 2))) (pow (- (exp (neg (log (+ (* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) (exp (neg (log (+ 1 (exp (/ (PI) s)))))))))) 1) (/ (neg s) 2)) (log (+ 1 (exp (/ (PI) s)))) (/ (PI) s) (/ (neg (PI)) s) (- (/ 1 (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s)))))) 1) (pow (+ (* (* (PI) -1/2) u) (* 1/4 (PI))) 2) (- (exp (neg (log (+ (* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) (exp (neg (log (+ 1 (exp (/ (PI) s)))))))))) 1))
166.0ms
u2
@inf
((* (sqrt (neg (- (log (+ 1 (* (neg u1) u1))) (log (+ 1 u1))))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (- (log (+ 1 (* (neg u1) u1))) (log (+ 1 u1))))) (neg (- (log (+ 1 (* (neg u1) u1))) (log (+ 1 u1)))) (- (log (+ 1 (* (neg u1) u1))) (log (+ 1 u1))) (log (- 1 u1)) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log (/ 1 (- 1 u1))) (* (sqrt (log (/ 1 (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (log (/ 1 (- 1 u1)))) (/ 1 (- 1 u1)) (log (- 1 (pow u1 3))) (* (sqrt (neg (- (log (- 1 (pow u1 3))) (log (+ 1 (+ (* u1 u1) u1)))))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (- (log (- 1 (pow u1 3))) (log (+ 1 (+ (* u1 u1) u1)))))) (neg (- (log (- 1 (pow u1 3))) (log (+ 1 (+ (* u1 u1) u1))))) (* (* 2 (PI)) u2) (log (+ 1 (* (neg u1) u1))) (cos (* (* 2 (PI)) u2)) (cos (* (* 2 (PI)) u2)) (* (PI) (PI)) (log (+ 1 (+ (* u1 u1) u1))))
161.0ms
u2
@inf
((* (sqrt (neg (- (log (+ 1 (* (neg u1) u1))) (log (+ 1 u1))))) (cos (* (* 2 (PI)) u2))) (* (sqrt (- (log (+ 1 u1)) (log (+ 1 (* (neg u1) u1))))) (cos (* -2 (* (PI) u2)))) (sqrt (- (log (+ 1 u1)) (log (+ 1 (* (neg u1) u1))))) (- (log (+ 1 u1)) (log (+ 1 (* (neg u1) u1)))) (* -1 (sqrt u1)) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (sqrt u1) (* (sqrt (neg (- (log (+ 1 (* (neg u1) u1))) (log (+ 1 u1))))) (cos (* (* 2 (PI)) u2))) (log (+ 1 u1)) (- (* (* -1/2 u1) u1) 1) (* (sqrt (neg (- (log (+ 1 (* (neg u1) u1))) (log (+ 1 u1))))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (- (log (+ 1 (* (neg u1) u1))) (log (+ 1 u1))))) (neg (- (log (+ 1 (* (neg u1) u1))) (log (+ 1 u1)))) (log (- 1 (pow u1 4))) (* (sqrt (neg (- (- (log (- 1 (pow u1 4))) (log (+ 1 (* u1 u1)))) (log (+ 1 u1))))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (- (- (log (- 1 (pow u1 4))) (log (+ 1 (* u1 u1)))) (log (+ 1 u1))))) (neg (- (- (log (- 1 (pow u1 4))) (log (+ 1 (* u1 u1)))) (log (+ 1 u1)))) (* (PI) u2) (log (+ 1 (* (neg u1) u1))) (cos (* (* 2 (PI)) u2)) (log (+ 1 (* (neg u1) u1))) (* (* 2 (PI)) u2) (- (log (+ 1 (* (neg u1) u1))) (log (+ 1 u1))) (* (- (* (* -1/2 u1) u1) 1) u1) (- (- (log (- 1 (pow u1 4))) (log (+ 1 (* u1 u1)))) (log (+ 1 u1))))
155.0ms
w
@inf
((* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v)) (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)) (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))) (sqrt (fmax (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2)) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2)))) (pow (* dY.v (floor h)) 2) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))) (pow (fmax (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2)) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2))) -1/2) (log (fmax (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2)) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2)))) (exp (* (log (fmax (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2)) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2)))) 1/2)))

rewrite19.3s (5%)

Memory
-105.0MiB live, 20 269.3MiB allocated; 3.9s collecting garbage
Stop Event
389×iter limit
115×node limit
17×unsound
Counts
2 593 → 43 430

preprocess9.9s (2.6%)

Memory
624.4MiB live, 11 271.5MiB allocated; 2.7s collecting garbage
Stop Event
66×iter limit
65×node limit
saturated
Compiler

Compiled 69 016 to 15 853 computations (77% saved)

explain8.8s (2.3%)

Memory
-155.2MiB live, 13 637.9MiB allocated; 1.7s collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
log.f32#fsensitivity100481
-.f32#fcancellation38732
sqrt.f32#foflow-rescue3380
sqrt.f64#foflow-rescue2860
cos.f32#fsensitivity2087
tan.f32(tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))cancellation20515
log.f64(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))sensitivity2002
-.f64#fcancellation1780
/.f32#fo/n1140
exp.f32#fsensitivity3821
/.f32#fu/n220
sqrt.f32(sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))))))uflow-rescue130
(*.f32 sinTheta_O sinTheta_O)underflow284
(-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O)))))underflow13
(/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))))underflow142
(*.f32 eta eta)underflow13
*.f64(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))n*u90
/.f32#fo/o80
sqrt.f64#fuflow-rescue60
/.f32(/.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))n/o40
(/.f32 sin2phi (*.f32 alphay alphay))overflow11
(+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))overflow11
*.f32(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))n*u20
log.f64(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))oflow-rescue20
(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)overflow2
(+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))overflow2
(pow.f64 (E.f64) x)overflow2
(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))overflow2
sin.f32#fcancellation20
*.f64(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64)))))))n*o10
Confusion
Predicted +Predicted -
+213754
-4685789
Precision
0.8203454894433782
Recall
0.9753537197626655
Confusion?
Predicted +Predicted MaybePredicted -
+21372925
-4681155674
Precision?
0.7879228810476537
Recall?
0.9885896850753081
Freqs
test
numberfreq
05843
12191
2406
38
Total Confusion?
Predicted +Predicted MaybePredicted -
+2300
-604
Precision?
0.7931034482758621
Recall?
1.0
Samples
2.2s16 070×0valid
368.0ms666×1valid
82.0ms160×2valid
Compiler

Compiled 16 934 to 1 875 computations (88.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.9s
ival-mult: 472.0ms (24.3% of total)
ival-div: 214.0ms (11% of total)
ival-add: 152.0ms (7.8% of total)
ival-pow: 122.0ms (6.3% of total)
adjust: 119.0ms (6.1% of total)
ival-log: 100.0ms (5.2% of total)
ival-sub: 89.0ms (4.6% of total)
ival-sqrt: 75.0ms (3.9% of total)
ival-cosu: 63.0ms (3.2% of total)
ival-sinu: 54.0ms (2.8% of total)
ival-exp: 52.0ms (2.7% of total)
ival-neg: 50.0ms (2.6% of total)
ival-e: 49.0ms (2.5% of total)
ival-sin: 48.0ms (2.5% of total)
ival-floor: 40.0ms (2.1% of total)
ival-pow2: 26.0ms (1.3% of total)
ival-cos: 24.0ms (1.2% of total)
const: 22.0ms (1.1% of total)
ival-pi: 21.0ms (1.1% of total)
ival-tan: 17.0ms (0.9% of total)
ival-fmax: 17.0ms (0.9% of total)
ival-fabs: 17.0ms (0.9% of total)
ival-if: 16.0ms (0.8% of total)
exact: 16.0ms (0.8% of total)
ival-true: 15.0ms (0.8% of total)
ival-log2: 14.0ms (0.7% of total)
ival-assert: 8.0ms (0.4% of total)
ival-log1p: 7.0ms (0.4% of total)
ival-atan: 5.0ms (0.3% of total)
ival-sinh: 5.0ms (0.3% of total)
ival-asin: 4.0ms (0.2% of total)
ival->: 3.0ms (0.2% of total)
ival->=: 3.0ms (0.2% of total)
ival-<: 1.0ms (0.1% of total)

bsearch716.0ms (0.2%)

Memory
53.9MiB live, 844.8MiB allocated; 107ms collecting garbage
Algorithm
58×binary-search
53×left-value
Stop Event
57×narrow-enough
predicate-same
Samples
391.0ms823×1valid
96.0ms1 037×0valid
18.0ms60×2valid
8.0ms99×0invalid
8.0ms23×1invalid
Compiler

Compiled 13 656 to 10 690 computations (21.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 451.0ms
ival-pow: 194.0ms (43.1% of total)
ival-e: 70.0ms (15.5% of total)
ival-mult: 68.0ms (15.1% of total)
adjust: 29.0ms (6.4% of total)
ival-pow2: 18.0ms (4% of total)
ival-sub: 17.0ms (3.8% of total)
ival-log1p: 15.0ms (3.3% of total)
ival-add: 13.0ms (2.9% of total)
ival-fabs: 8.0ms (1.8% of total)
ival-div: 7.0ms (1.6% of total)
ival-sqrt: 7.0ms (1.6% of total)
exact: 2.0ms (0.4% of total)
ival-assert: 1.0ms (0.2% of total)
ival-true: 1.0ms (0.2% of total)

start4.0ms (0%)

Memory
12.1MiB live, 12.1MiB allocated; 0ms collecting garbage

end0.0ms (0%)

Memory
0.6MiB live, 0.5MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...