Herbie run

Date:Thursday, February 20th, 2025
Commit:87019920 on main
Seed:2025051
Parameters:256 points for 4 iterations
Flags:
reduce:regimesreduce:binary-searchreduce:branch-expressionsreduce:simplifysetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default
Memory:460 788.1 MB

Time bar (total: 6.4min)

prune2.3min (35.2%)

Memory
790.2MiB live, 131 712.5MiB allocated; 7.9s collecting garbage
Counts
134 035 → 4 049
Compiler

Compiled 549 000 to 221 736 computations (59.6% saved)

sample1.4min (21.5%)

Memory
608.0MiB live, 98 911.9MiB allocated; 30.0s collecting garbage
Samples
42.0s262 167×0valid
15.9s1 536×5exit
3.2s7 979×1valid
1.5s11 181×0invalid
1.2s2 302×2valid
315.0ms682×1invalid
Precisions
Click to see histograms. Total time spent on operations: 52.5s
ival-pow: 14.6s (27.8% of total)
ival-mult: 10.8s (20.6% of total)
ival-div: 3.8s (7.1% of total)
ival-e: 2.4s (4.5% of total)
ival-sub: 2.3s (4.4% of total)
const: 2.3s (4.4% of total)
ival-fabs: 1.9s (3.6% of total)
ival-add: 1.8s (3.5% of total)
ival-sqrt: 1.5s (2.9% of total)
ival-log: 1.3s (2.6% of total)
adjust: 1.2s (2.3% of total)
ival-sin: 1.0s (2% of total)
ival-exp: 770.0ms (1.5% of total)
ival-floor: 763.0ms (1.5% of total)
ival-sinu: 698.0ms (1.3% of total)
ival-<=: 519.0ms (1% of total)
ival-neg: 488.0ms (0.9% of total)
ival-pow2: 483.0ms (0.9% of total)
ival-cosu: 469.0ms (0.9% of total)
ival-log1p: 369.0ms (0.7% of total)
ival-and: 344.0ms (0.7% of total)
ival-cos: 341.0ms (0.6% of total)
exact: 317.0ms (0.6% of total)
ival-fmax: 317.0ms (0.6% of total)
ival-if: 268.0ms (0.5% of total)
ival-tan: 266.0ms (0.5% of total)
ival-log2: 243.0ms (0.5% of total)
ival-pi: 210.0ms (0.4% of total)
ival-asin: 160.0ms (0.3% of total)
ival-sinh: 128.0ms (0.2% of total)
ival-assert: 89.0ms (0.2% of total)
ival-atan: 81.0ms (0.2% of total)
ival->: 48.0ms (0.1% of total)
ival->=: 47.0ms (0.1% of total)
ival-<: 34.0ms (0.1% of total)
ival-==: 4.0ms (0% of total)
Bogosity

eval36.5s (9.5%)

Memory
295.0MiB live, 57 815.1MiB allocated; 13.6s collecting garbage
Compiler

Compiled 32 517 241 to 532 407 computations (98.4% saved)

rewrite32.0s (8.3%)

Memory
597.3MiB live, 38 437.9MiB allocated; 8.1s collecting garbage
Stop Event
292×iter limit
130×node limit
Counts
32 270 → 59 609

regimes28.4s (7.4%)

Memory
456.4MiB live, 45 148.7MiB allocated; 8.3s collecting garbage
Counts
11 099 → 499
Calls

159 calls:

1.0s
ux
921.0ms
alphay
741.0ms
s
683.0ms
(*.f32 uy #s(literal 2 binary32))
662.0ms
uy
Compiler

Compiled 23 689 to 19 808 computations (16.4% saved)

series22.9s (6%)

Memory
-38.0MiB live, 30 869.6MiB allocated; 7.0s collecting garbage
Counts
5 690 → 26 580
Calls

1422 calls:

TimeVariablePointExpression
837.0ms
dY.v
@0
((if (>= (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (* (/ dX.u (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2))))) (floor w)) (/ (* (floor w) dY.u) (sqrt (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))))) (>= (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (pow (* (floor h) dX.v) 2) (* (floor h) dX.v) (floor h) h dX.v 2 (pow (* (floor w) dX.u) 2) (* (floor w) dX.u) (floor w) w dX.u (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)) (pow (* (floor h) dY.v) 2) (* (floor h) dY.v) dY.v (pow (* (floor w) dY.u) 2) (* (floor w) dY.u) dY.u (* (/ dX.u (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2))))) (floor w)) (/ dX.u (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2))))) (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2)))) (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2))) (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2)) (/ (* (floor w) dY.u) (sqrt (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))) (sqrt (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))) (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (if (>= (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (/ (* (floor w) dX.u) (sqrt (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))) (* dY.u (/ (floor w) (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2))))))) (>= (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (/ (* (floor w) dX.u) (sqrt (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))) (* dY.u (/ (floor w) (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2)))))) (/ (floor w) (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2))))) (if (>= (+ (* (* (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 (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2))) -1/2) (* (floor w) dX.u)) (* (/ 1 (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 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)))) (+ (* (* (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 w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)) (* (pow (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2))) -1/2) (* (floor w) dX.u)) (pow (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2))) -1/2) -1/2 (* (/ 1 (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 w) dY.u)) (/ 1 (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 (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))))) (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 w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v)) (if (>= (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (/ (* (floor w) dX.u) (sqrt (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))) (* (/ dY.u (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2))))) (floor w))) (* (/ dY.u (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2))))) (floor w)) (/ dY.u (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2))))) (if (>= (+ (* (* (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 (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2))))) (* (floor w) dX.u)) (* (/ 1 (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 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)))) (* (/ 1 (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2))))) (* (floor w) dX.u)) (/ 1 (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2))))) (* (/ 1 (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 w) dY.u)) (/ 1 (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 (+ (* (* (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))))) (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 w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (exp (+ (* (log (floor h)) 2) (* (log dY.v) 2))) (+ (* (log (floor h)) 2) (* (log dY.v) 2)) (log (floor h)) (* (log dY.v) 2) (log dY.v))
715.0ms
s
@0
((* (neg s) (log (- (/ 1 (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s)))))) 1))) (neg s) s (log (- (/ 1 (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s)))))) 1)) (- (/ 1 (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s)))))) 1) (/ 1 (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s)))))) 1 (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s))))) (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s))))) (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (+ 1 (exp (/ (neg (PI)) s))) (exp (/ (neg (PI)) s)) (/ (neg (PI)) s) (neg (PI)) (PI) (/ 1 (+ 1 (exp (/ (PI) s)))) (+ 1 (exp (/ (PI) s))) (exp (/ (PI) s)) (/ (PI) s))
307.0ms
dY.w
@inf
((log2 (sqrt (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w)))))) (sqrt (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w))))) (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w)))) (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (floor w) dX.u) (floor w) w dX.u (* (* (floor h) dX.v) (* (floor h) dX.v)) (* (floor h) dX.v) (floor h) h dX.v (* (* (floor d) dX.w) (* (floor d) dX.w)) (* (floor d) dX.w) (floor d) d dX.w (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w))) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)) (pow (* (floor h) dY.v) 2) (* (floor h) dY.v) dY.v 2 (pow (* (floor w) dY.u) 2) (* (floor w) dY.u) dY.u (log2 (sqrt (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w)))))) (sqrt (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w))))) (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w)))) (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (pow (* (floor h) dX.v) 2) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w))) (log2 (sqrt (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w)))))) (sqrt (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w))))) (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w)))) (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (log2 (sqrt (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w)))))) (sqrt (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w))))) (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w)))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w))) (log2 (exp (* (log (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (+ (pow (* (floor d) dY.w) 2) (pow (* (floor w) dY.u) 2)) (pow (* (floor h) dY.v) 2)))) 1/2))) (exp (* (log (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (+ (pow (* (floor d) dY.w) 2) (pow (* (floor w) dY.u) 2)) (pow (* (floor h) dY.v) 2)))) 1/2)) (* (log (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (+ (pow (* (floor d) dY.w) 2) (pow (* (floor w) dY.u) 2)) (pow (* (floor h) dY.v) 2)))) 1/2) (log (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (+ (pow (* (floor d) dY.w) 2) (pow (* (floor w) dY.u) 2)) (pow (* (floor h) dY.v) 2)))) (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (+ (+ (pow (* (floor d) dY.w) 2) (pow (* (floor w) dY.u) 2)) (pow (* (floor h) dY.v) 2))) (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (pow (* (floor d) dX.w) 2) (+ (+ (pow (* (floor d) dY.w) 2) (pow (* (floor w) dY.u) 2)) (pow (* (floor h) dY.v) 2)) (+ (pow (* (floor d) dY.w) 2) (pow (* (floor w) dY.u) 2)) (pow (* (floor d) dY.w) 2) (* (floor d) dY.w) dY.w 1/2)
188.0ms
h
@0
((log2 (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)))) (exp (* (log (fmax (+ (pow (* (floor h) dX.v) 2) (pow (exp (* (log (* (floor w) dX.u)) 1)) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2)))) 1/2))))) (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)))) (exp (* (log (fmax (+ (pow (* (floor h) dX.v) 2) (pow (exp (* (log (* (floor w) dX.u)) 1)) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2)))) 1/2)))) (> (/ (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)) (/ (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)))) (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (floor w) dX.u) (floor w) w dX.u (* (* (floor h) dX.v) (* (floor h) dX.v)) (* (floor h) dX.v) (floor h) h dX.v (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (floor w) dY.u) dY.u (* (* (floor h) dY.v) (* (floor h) dY.v)) (* (floor h) dY.v) dY.v (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u)))) (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))) (* (- (/ (* (* dY.v dX.u) (* (floor h) (floor w))) dY.u) (* (* (floor h) dX.v) (floor w))) dY.u) (- (/ (* (* dY.v dX.u) (* (floor h) (floor w))) dY.u) (* (* (floor h) dX.v) (floor w))) (/ (* (* dY.v dX.u) (* (floor h) (floor w))) dY.u) (* (* dY.v dX.u) (* (floor h) (floor w))) (* dY.v dX.u) (* (floor h) (floor w)) (* (* (floor h) dX.v) (floor w)) (floor maxAniso) 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)) (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)))) (exp (* (log (fmax (+ (pow (* (floor h) dX.v) 2) (pow (exp (* (log (* (floor w) dX.u)) 1)) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2)))) 1/2))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u)))) (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))) (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u)) (exp (* (log (fmax (+ (pow (* (floor h) dX.v) 2) (pow (exp (* (log (* (floor w) dX.u)) 1)) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2)))) 1/2)) (* (log (fmax (+ (pow (* (floor h) dX.v) 2) (pow (exp (* (log (* (floor w) dX.u)) 1)) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2)))) 1/2) (log (fmax (+ (pow (* (floor h) dX.v) 2) (pow (exp (* (log (* (floor w) dX.u)) 1)) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2)))) (fmax (+ (pow (* (floor h) dX.v) 2) (pow (exp (* (log (* (floor w) dX.u)) 1)) 2)) (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2))) (+ (pow (* (floor h) dX.v) 2) (pow (exp (* (log (* (floor w) dX.u)) 1)) 2)) (pow (* (floor h) dX.v) 2) 2 (+ (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2)) (pow (* (floor w) dY.u) 2) (pow (* (floor h) dY.v) 2) 1/2 (log2 (if (> (/ (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (fabs (* (* (floor h) (floor w)) (- (* dY.u dX.v) (* dY.v dX.u))))) (floor maxAniso)) (/ (sqrt (fmax (+ (pow (/ 1 (pow (* (floor h) dX.v) -1)) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))) (floor maxAniso)) (/ (fabs (* (* (floor h) (floor w)) (- (* dY.u dX.v) (* dY.v dX.u)))) (sqrt (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))))) (if (> (/ (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (fabs (* (* (floor h) (floor w)) (- (* dY.u dX.v) (* dY.v dX.u))))) (floor maxAniso)) (/ (sqrt (fmax (+ (pow (/ 1 (pow (* (floor h) dX.v) -1)) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))) (floor maxAniso)) (/ (fabs (* (* (floor h) (floor w)) (- (* dY.u dX.v) (* dY.v dX.u)))) (sqrt (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))))) (> (/ (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (fabs (* (* (floor h) (floor w)) (- (* dY.u dX.v) (* dY.v dX.u))))) (floor maxAniso)) (/ (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (fabs (* (* (floor h) (floor w)) (- (* dY.u dX.v) (* dY.v dX.u))))) (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (pow (* (floor w) dX.u) 2) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)) (fabs (* (* (floor h) (floor w)) (- (* dY.u dX.v) (* dY.v dX.u)))) (* (* (floor h) (floor w)) (- (* dY.u dX.v) (* dY.v dX.u))) (- (* dY.u dX.v) (* dY.v dX.u)) (* dY.u dX.v) (/ (sqrt (fmax (+ (pow (/ 1 (pow (* (floor h) dX.v) -1)) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))) (floor maxAniso)) (sqrt (fmax (+ (pow (/ 1 (pow (* (floor h) dX.v) -1)) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))) (fmax (+ (pow (/ 1 (pow (* (floor h) dX.v) -1)) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (+ (pow (/ 1 (pow (* (floor h) dX.v) -1)) 2) (pow (* (floor w) dX.u) 2)) (pow (/ 1 (pow (* (floor h) dX.v) -1)) 2) (/ 1 (pow (* (floor h) dX.v) -1)) 1 (pow (* (floor h) dX.v) -1) -1 (/ (fabs (* (* (floor h) (floor w)) (- (* dY.u dX.v) (* dY.v dX.u)))) (sqrt (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))) (fabs (* (* (floor h) (floor w)) (- (* dY.u dX.v) (* dY.v dX.u)))) (* (* (floor h) (floor w)) (- (* dY.u dX.v) (* dY.v dX.u))) (- (* dY.u dX.v) (* dY.v dX.u)) (sqrt (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))) (log2 (if (> (/ (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (fabs (* (* (floor h) (floor w)) (- (* dY.u dX.v) (* dY.v dX.u))))) (floor maxAniso)) (/ (sqrt (fmax (+ (pow (exp (* (log (* (floor h) dX.v)) 1)) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))) (floor maxAniso)) (/ (fabs (* (* (floor h) (floor w)) (- (* dY.u dX.v) (* dY.v dX.u)))) (sqrt (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))))) (if (> (/ (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (fabs (* (* (floor h) (floor w)) (- (* dY.u dX.v) (* dY.v dX.u))))) (floor maxAniso)) (/ (sqrt (fmax (+ (pow (exp (* (log (* (floor h) dX.v)) 1)) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))) (floor maxAniso)) (/ (fabs (* (* (floor h) (floor w)) (- (* dY.u dX.v) (* dY.v dX.u)))) (sqrt (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))))) (/ (sqrt (fmax (+ (pow (exp (* (log (* (floor h) dX.v)) 1)) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))) (floor maxAniso)) (sqrt (fmax (+ (pow (exp (* (log (* (floor h) dX.v)) 1)) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))) (fmax (+ (pow (exp (* (log (* (floor h) dX.v)) 1)) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (+ (pow (exp (* (log (* (floor h) dX.v)) 1)) 2) (pow (* (floor w) dX.u) 2)) (pow (exp (* (log (* (floor h) dX.v)) 1)) 2) (exp (* (log (* (floor h) dX.v)) 1)) (* (log (* (floor h) dX.v)) 1) (log (* (floor h) dX.v)) (log2 (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)) (/ (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))))))) (> (/ (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)) (/ (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 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))))) (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 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)))))) (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))))) (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 w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (log2 (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)) (exp (* (log (* (floor h) dY.v)) 2)))) (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)) (exp (* (log (* (floor h) dY.v)) 2)))) (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))))))) (> (/ (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)) (exp (* (log (* (floor h) dY.v)) 2)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))))) (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)) (exp (* (log (* (floor h) dY.v)) 2)))) (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)) (exp (* (log (* (floor h) dY.v)) 2)))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (exp (* (log (* (floor h) dY.v)) 2))) (exp (* (log (* (floor h) dY.v)) 2)) (* (log (* (floor h) dY.v)) 2) (log (* (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))))) (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))))) (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 w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.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)))))))
184.0ms
s
@0
((* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (* (* (neg (log (+ 1 (* -4/3 (- u 1/4))))) s) 3) (* (neg (log (+ 1 (* -4/3 (- u 1/4))))) s) (neg (log (+ 1 (* -4/3 (- u 1/4))))) (log (+ 1 (* -4/3 (- u 1/4)))) (* -4/3 (- u 1/4)) (+ (* -4/3 u) 1/3) -4/3 u 1/3 s 3 (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (+ (log 3/4) u) (* 3 (* s (neg (log (- 1 (/ (- u 1/4) 3/4)))))) (* s (neg (log (- 1 (/ (- u 1/4) 3/4))))) (neg (log (- 1 (/ (- u 1/4) 3/4)))) (log (- 1 (/ (- u 1/4) 3/4))) (- 1 (/ (- u 1/4) 3/4)) (+ (* -4/3 u) 4/3) 4/3 (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (* (* (log (/ 1 (+ (* -4/3 (- u 1/4)) 1))) s) 3) (* (log (/ 1 (+ (* -4/3 (- u 1/4)) 1))) s) (log (/ 1 (+ (* -4/3 (- u 1/4)) 1))) (/ 1 (+ (* -4/3 (- u 1/4)) 1)) 1 (+ (* -4/3 (- u 1/4)) 1) (- u 1/4) 1/4 (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (* (* (neg (- (log (- 1 (pow (* 4/3 (- u 1/4)) 2))) (log (+ 1 (* 4/3 (- u 1/4)))))) s) 3) (* (neg (- (log (- 1 (pow (* 4/3 (- u 1/4)) 2))) (log (+ 1 (* 4/3 (- u 1/4)))))) s) (neg (- (log (- 1 (pow (* 4/3 (- u 1/4)) 2))) (log (+ 1 (* 4/3 (- u 1/4)))))) (- (log (- 1 (pow (* 4/3 (- u 1/4)) 2))) (log (+ 1 (* 4/3 (- u 1/4))))) (log (- 1 (pow (* 4/3 (- u 1/4)) 2))) (- 1 (pow (* 4/3 (- u 1/4)) 2)) (pow (* 4/3 (- u 1/4)) 2) (* 4/3 (- u 1/4)) 2 (log (+ 1 (* 4/3 (- u 1/4)))))

analyze15.4s (4%)

Memory
132.0MiB live, 20 758.4MiB allocated; 6.0s 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)

derivations11.5s (3%)

Memory
20.9MiB live, 10 476.8MiB allocated; 3.5s collecting garbage
Stop Event
31×fuel
done
Compiler

Compiled 26 159 to 3 834 computations (85.3% saved)

explain8.6s (2.3%)

Memory
121.7MiB live, 13 371.4MiB allocated; 1.9s collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
log.f32#fsensitivity100980
-.f32#fcancellation38526
sqrt.f32#foflow-rescue3540
sqrt.f64#foflow-rescue2780
log.f64(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))sensitivity2040
cos.f32(cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32)))))))sensitivity19115
tan.f32(tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))cancellation19015
-.f64#fcancellation1541
/.f32#fo/n1280
exp.f32#fsensitivity5014
/.f32#fu/n210
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-rescue210
(*.f32 sinTheta_O sinTheta_O)underflow312
(-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O)))))underflow21
(/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))))underflow156
(*.f32 eta eta)underflow21
*.f64(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))n*u170
sqrt.f64#fuflow-rescue80
/.f32(/.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))n/o60
(/.f32 sin2phi (*.f32 alphay alphay))overflow10
(+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))overflow10
/.f32#fo/o60
*.f32(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))n*u40
pow.f64(pow.f64 (E.f64) x)sensitivity11
Confusion
Predicted +Predicted -
+215457
-4585779
Precision
0.8246554364471669
Recall
0.9742198100407056
Confusion?
Predicted +Predicted MaybePredicted -
+21542730
-4581105669
Precision?
0.7933794106947981
Recall?
0.9864314789687924
Freqs
test
numberfreq
05836
12204
2401
37
Total Confusion?
Predicted +Predicted MaybePredicted -
+2212
-512
Precision?
0.7931034482758621
Recall?
0.92
Samples
2.4s16 140×0valid
262.0ms572×1valid
71.0ms182×2valid
1.0ms5exit
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: 535.0ms (28.2% of total)
ival-div: 237.0ms (12.5% of total)
ival-add: 157.0ms (8.3% of total)
ival-sub: 113.0ms (6% of total)
ival-pow: 96.0ms (5.1% of total)
ival-log: 72.0ms (3.8% of total)
ival-sqrt: 69.0ms (3.6% of total)
ival-sinu: 47.0ms (2.5% of total)
ival-pi: 46.0ms (2.4% of total)
adjust: 45.0ms (2.4% of total)
ival-sin: 42.0ms (2.2% of total)
ival-exp: 40.0ms (2.1% of total)
ival-floor: 40.0ms (2.1% of total)
ival-cosu: 40.0ms (2.1% of total)
ival-neg: 39.0ms (2.1% of total)
ival-if: 36.0ms (1.9% of total)
ival-pow2: 32.0ms (1.7% of total)
ival-e: 26.0ms (1.4% of total)
const: 25.0ms (1.3% of total)
ival-fabs: 23.0ms (1.2% of total)
ival-cos: 20.0ms (1.1% of total)
ival-tan: 19.0ms (1% of total)
ival-true: 16.0ms (0.8% of total)
exact: 16.0ms (0.8% of total)
ival-fmax: 15.0ms (0.8% of total)
ival-log2: 12.0ms (0.6% of total)
ival-assert: 8.0ms (0.4% of total)
ival-log1p: 7.0ms (0.4% of total)
ival-atan: 6.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)

preprocess8.4s (2.2%)

Memory
111.7MiB live, 10 562.6MiB allocated; 1.4s collecting garbage
Stop Event
66×iter limit
65×node limit
saturated
Compiler

Compiled 66 954 to 13 523 computations (79.8% saved)

simplify1.8s (0.5%)

Memory
-12.9MiB live, 1 941.0MiB allocated; 260ms collecting garbage
Stop Event
32×node limit

bsearch493.0ms (0.1%)

Memory
7.7MiB live, 771.2MiB allocated; 87ms collecting garbage
Algorithm
77×binary-search
54×left-value
Stop Event
72×narrow-enough
predicate-same
Samples
142.0ms408×1valid
86.0ms820×0valid
61.0ms116×2valid
5.0ms45×0invalid
Compiler

Compiled 14 607 to 10 596 computations (27.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 247.0ms
ival-pow: 75.0ms (30.4% of total)
adjust: 34.0ms (13.8% of total)
ival-add: 29.0ms (11.8% of total)
ival-mult: 23.0ms (9.3% of total)
ival-pow2: 23.0ms (9.3% of total)
ival-e: 15.0ms (6.1% of total)
ival-sub: 12.0ms (4.9% of total)
ival-sqrt: 10.0ms (4.1% of total)
ival-fabs: 10.0ms (4.1% of total)
ival-div: 7.0ms (2.8% of total)
ival-log1p: 5.0ms (2% of total)
exact: 2.0ms (0.8% of total)
ival-assert: 1.0ms (0.4% of total)
ival-true: 1.0ms (0.4% of total)

start4.0ms (0%)

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

end0.0ms (0%)

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

Profiling

Loading profile data...