Herbie run

Date:Wednesday, April 16th, 2025
Commit:5565a39e on main
Seed:2025106
Parameters:256 points for 4 iterations
Flags:
reduce:regimesreduce:binary-searchreduce:branch-expressionssetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:proofs
default
Memory:329 756.3 MB

Time bar (total: 3.6min)

sample52.8s (24.6%)

Memory
789.8MiB live, 79 529.8MiB allocated; 19.0s collecting garbage
Samples
32.0s241 417×0valid
5.7s28 689×1valid
1.2s11 054×0invalid
607.0ms2 342×2valid
227.0ms1 584×1exit
154.0ms723×1invalid
Precisions
Click to see histograms. Total time spent on operations: 28.2s
ival-mult!: 7.3s (26% of total)
ival-div!: 2.8s (10% of total)
ival-log: 2.0s (7.2% of total)
ival-sqrt: 1.7s (6% of total)
ival-fabs: 1.4s (5.1% of total)
ival-exp: 1.4s (4.9% of total)
ival-sub!: 1.3s (4.5% of total)
ival-neg: 1.1s (3.8% of total)
adjust: 1.0s (3.7% of total)
ival-add!: 988.0ms (3.5% of total)
ival-sin: 936.0ms (3.3% of total)
ival-floor: 773.0ms (2.7% of total)
ival-sinu: 631.0ms (2.2% of total)
ival->: 586.0ms (2.1% of total)
ival-<=: 556.0ms (2% of total)
ival-pow2: 555.0ms (2% of total)
ival-cos: 511.0ms (1.8% of total)
ival-cosu: 489.0ms (1.7% of total)
ival-fmax: 341.0ms (1.2% of total)
ival-tan: 321.0ms (1.1% of total)
ival-and: 307.0ms (1.1% of total)
ival-if: 294.0ms (1% of total)
ival-log2: 194.0ms (0.7% of total)
ival-log1p: 193.0ms (0.7% of total)
ival-atan: 134.0ms (0.5% of total)
ival-asin: 116.0ms (0.4% of total)
ival->=: 83.0ms (0.3% of total)
ival-sinh: 75.0ms (0.3% of total)
ival-<: 36.0ms (0.1% of total)
ival-assert: 31.0ms (0.1% of total)
ival-pi: 0.0ms (0% of total)
Bogosity

rewrite33.4s (15.6%)

Memory
218.3MiB live, 41 831.9MiB allocated; 11.4s collecting garbage
Stop Event
298×iter-limit
132×node-limit
Counts
33 880 → 60 901

eval32.3s (15.1%)

Memory
116.4MiB live, 55 237.9MiB allocated; 12.7s collecting garbage
Compiler

Compiled 29 927 162 to 541 466 computations (98.2% saved)

regimes29.1s (13.6%)

Memory
315.6MiB live, 47 621.9MiB allocated; 7.5s collecting garbage
Counts
11 748 → 499
Calls

160 calls:

1.5s
maxCos
797.0ms
ux
777.0ms
(*.f32 uy #s(literal 2 binary32))
734.0ms
(*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))
709.0ms
w
Compiler

Compiled 26 559 to 20 641 computations (22.3% saved)

series20.9s (9.7%)

Memory
1 306.9MiB live, 36 757.8MiB allocated; 4.8s collecting garbage
Counts
5 704 → 28 176
Calls

1452 calls:

TimeVariablePointExpression
234.0ms
h
@-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))) (+ (pow (* (floor d) dX.w) 2) (exp (+ (log (* (* dX.v (floor h)) (floor h))) (log dX.v)))) (pow (* (floor d) dX.w) 2) (* (floor d) dX.w) (floor d) d dX.w 2 (exp (+ (log (* (* dX.v (floor h)) (floor h))) (log dX.v))) (+ (log (* (* dX.v (floor h)) (floor h))) (log dX.v)) (log (* (* dX.v (floor h)) (floor h))) (* (* dX.v (floor h)) (floor h)) (* dX.v (floor h)) dX.v (floor h) h (log dX.v) (+ (+ (* (* (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 w) dY.u) (* (floor w) dY.u)) (* (floor w) dY.u) (floor w) w dY.u (* (* (floor h) dY.v) (* (floor h) dY.v)) (* (floor h) dY.v) dY.v (* (* (floor d) dY.w) (* (floor d) dY.w)) (* (floor d) dY.w) 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) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w))) (pow (* (floor w) dY.u) 2) (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))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w))))) 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))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w))))) 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))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w))))) 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))) (+ (+ (* (* (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 (* dX.w (floor d)) 2) (* dX.w (floor d)) (+ (+ (* (* (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 (* dY.w (floor d)) 2) (* dY.w (floor d)) 1/2 (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 d) dX.w) 2) (exp (* (log (* (floor h) dX.v)) 2))) (exp (* (log (* (floor h) dX.v)) 2)) (* (log (* (floor h) dX.v)) 2) (log (* (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 d) dY.w) (* (floor d) dY.w))) (pow (* dY.v (floor h)) 2) (* dY.v (floor h)) (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 w) dX.u) 2) (* (floor w) dX.u) dX.u (+ (+ (* (* (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 d) dY.w) 2) (pow (* (floor w) dY.u) 2)) (* dY.v dY.v)) (pow (floor h) 2)) (* dY.v dY.v)) (* (+ (* (* dY.v dY.v) (/ (+ (* (floor h) (floor h)) (/ (pow (* dY.u (floor w)) 2) (* dY.v dY.v))) (* dY.w dY.w))) (pow (floor d) 2)) (* dY.w dY.w)) (+ (* (* dY.v dY.v) (/ (+ (* (floor h) (floor h)) (/ (pow (* dY.u (floor w)) 2) (* dY.v dY.v))) (* dY.w dY.w))) (pow (floor d) 2)) (* dY.v dY.v) (/ (+ (* (floor h) (floor h)) (/ (pow (* dY.u (floor w)) 2) (* dY.v dY.v))) (* dY.w dY.w)) (+ (* (floor h) (floor h)) (/ (pow (* dY.u (floor w)) 2) (* dY.v dY.v))) (/ (pow (* dY.u (floor w)) 2) (* dY.v dY.v)) (pow (* dY.u (floor w)) 2) (* dY.u (floor w)) (* dY.w dY.w) (pow (floor d) 2))
162.0ms
dX.u
@inf
((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 (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (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 (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (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 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 (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))) (* (floor h) (floor w)) (- (* dY.u dX.v) (* dY.v dX.u)) (* dY.u dX.v) (floor maxAniso) maxAniso (/ (sqrt (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)))) (floor maxAniso)) (sqrt (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)))) (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2))) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)) (* (pow (floor h) 2) dY.v) (pow (floor h) 2) (/ (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)) (* 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 (* (floor h) dX.v) 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 (* (floor h) dX.v) 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) 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)))) (floor maxAniso)) (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 (* (floor h) dX.v) 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 (* (floor h) dX.v) 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))))) (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)) (* (neg dX.u) dY.v) (neg dX.u) (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))) (+ (* (* (pow (* (floor w) dY.u) 1/2) (pow (* (floor w) dY.u) 1/2)) (* (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))) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 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))) (+ (* (* (pow (* (floor w) dY.u) 1/2) (pow (* (floor w) dY.u) 1/2)) (* (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))) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 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 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)))) (- (* (* (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)) (/ (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (pow (* (floor w) dY.u) 1/2) (pow (* (floor w) dY.u) 1/2)) (* (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))) (+ (* (* (pow (* (floor w) dY.u) 1/2) (pow (* (floor w) dY.u) 1/2)) (* (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))) (+ (* (* (pow (* (floor w) dY.u) 1/2) (pow (* (floor w) dY.u) 1/2)) (* (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))) (+ (* (* (pow (* (floor w) dY.u) 1/2) (pow (* (floor w) dY.u) 1/2)) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (pow (* (floor w) dY.u) 1/2) (pow (* (floor w) dY.u) 1/2)) (* (floor w) dY.u)) (* (pow (* (floor w) dY.u) 1/2) (pow (* (floor w) dY.u) 1/2)) (pow (* (floor w) dY.u) 1/2) 1/2 (/ (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))) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2))))) (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)))) (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2))) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)) (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)) (/ (exp (* (log (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)))) 1/2)) (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)) (/ (exp (* (log (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)))) 1/2)) (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))))))) (/ (exp (* (log (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)))) 1/2)) (floor maxAniso)) (exp (* (log (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)))) 1/2)) (* (log (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)))) 1/2) (log (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)))) (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2))) (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)) (/ (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))))))
120.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/4) u 1/4 s 3 (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (* (* (log 3/4) s) 3) (* (log 3/4) s) (log 3/4) 3/4 (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (* 3 (+ (* u s) (* (log 3/4) s))) (+ (* u s) (* (log 3/4) s)) (* (* s 3) (neg (log (- 1 (/ (- u 1/4) 3/4))))) (* s 3) (neg (log (- 1 (/ (- u 1/4) 3/4)))) (log (- 1 (/ (- u 1/4) 3/4))) (- 1 (/ (- u 1/4) 3/4)) 1 (/ (- u 1/4) 3/4) (* (* 3 s) (log (/ 1 (- 1 (/ (- (* 3/4 u) 3/16) 9/16))))) (* 3 s) (log (/ 1 (- 1 (/ (- (* 3/4 u) 3/16) 9/16)))) (/ 1 (- 1 (/ (- (* 3/4 u) 3/16) 9/16))) (- 1 (/ (- (* 3/4 u) 3/16) 9/16)) (/ (- (* 3/4 u) 3/16) 9/16) (- (* 3/4 u) 3/16) (* 3/4 u) 3/16 9/16)
118.0ms
dY.v
@inf
((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 (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (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 (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (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 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 (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))) (* (floor h) (floor w)) (- (* dY.u dX.v) (* dY.v dX.u)) (* dY.u dX.v) (floor maxAniso) maxAniso (/ (sqrt (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)))) (floor maxAniso)) (sqrt (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)))) (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2))) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)) (* (pow (floor h) 2) dY.v) (pow (floor h) 2) (/ (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)) (* 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 (* (floor h) dX.v) 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 (* (floor h) dX.v) 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) 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)))) (floor maxAniso)) (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 (* (floor h) dX.v) 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 (* (floor h) dX.v) 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))))) (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)) (* (neg dX.u) dY.v) (neg dX.u) (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))) (+ (* (* (pow (* (floor w) dY.u) 1/2) (pow (* (floor w) dY.u) 1/2)) (* (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))) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 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))) (+ (* (* (pow (* (floor w) dY.u) 1/2) (pow (* (floor w) dY.u) 1/2)) (* (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))) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 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 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)))) (- (* (* (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)) (/ (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (pow (* (floor w) dY.u) 1/2) (pow (* (floor w) dY.u) 1/2)) (* (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))) (+ (* (* (pow (* (floor w) dY.u) 1/2) (pow (* (floor w) dY.u) 1/2)) (* (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))) (+ (* (* (pow (* (floor w) dY.u) 1/2) (pow (* (floor w) dY.u) 1/2)) (* (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))) (+ (* (* (pow (* (floor w) dY.u) 1/2) (pow (* (floor w) dY.u) 1/2)) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (pow (* (floor w) dY.u) 1/2) (pow (* (floor w) dY.u) 1/2)) (* (floor w) dY.u)) (* (pow (* (floor w) dY.u) 1/2) (pow (* (floor w) dY.u) 1/2)) (pow (* (floor w) dY.u) 1/2) 1/2 (/ (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))) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2))))) (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)))) (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2))) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)) (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)) (/ (exp (* (log (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)))) 1/2)) (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)) (/ (exp (* (log (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)))) 1/2)) (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))))))) (/ (exp (* (log (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)))) 1/2)) (floor maxAniso)) (exp (* (log (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)))) 1/2)) (* (log (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)))) 1/2) (log (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)))) (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2))) (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (* (* (pow (floor h) 2) dY.v) dY.v) (pow (* (floor w) dY.u) 2)) (/ (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))))))
112.0ms
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))) (+ (pow (* (floor d) dX.w) 2) (exp (+ (log (* (* dX.v (floor h)) (floor h))) (log dX.v)))) (pow (* (floor d) dX.w) 2) (* (floor d) dX.w) (floor d) d dX.w 2 (exp (+ (log (* (* dX.v (floor h)) (floor h))) (log dX.v))) (+ (log (* (* dX.v (floor h)) (floor h))) (log dX.v)) (log (* (* dX.v (floor h)) (floor h))) (* (* dX.v (floor h)) (floor h)) (* dX.v (floor h)) dX.v (floor h) h (log dX.v) (+ (+ (* (* (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 w) dY.u) (* (floor w) dY.u)) (* (floor w) dY.u) (floor w) w dY.u (* (* (floor h) dY.v) (* (floor h) dY.v)) (* (floor h) dY.v) dY.v (* (* (floor d) dY.w) (* (floor d) dY.w)) (* (floor d) dY.w) 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) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w))) (pow (* (floor w) dY.u) 2) (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))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w))))) 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))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w))))) 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))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))) (* (* (floor d) dY.w) (* (floor d) dY.w))))) 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))) (+ (+ (* (* (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 (* dX.w (floor d)) 2) (* dX.w (floor d)) (+ (+ (* (* (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 (* dY.w (floor d)) 2) (* dY.w (floor d)) 1/2 (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 d) dX.w) 2) (exp (* (log (* (floor h) dX.v)) 2))) (exp (* (log (* (floor h) dX.v)) 2)) (* (log (* (floor h) dX.v)) 2) (log (* (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 d) dY.w) (* (floor d) dY.w))) (pow (* dY.v (floor h)) 2) (* dY.v (floor h)) (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 w) dX.u) 2) (* (floor w) dX.u) dX.u (+ (+ (* (* (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 d) dY.w) 2) (pow (* (floor w) dY.u) 2)) (* dY.v dY.v)) (pow (floor h) 2)) (* dY.v dY.v)) (* (+ (* (* dY.v dY.v) (/ (+ (* (floor h) (floor h)) (/ (pow (* dY.u (floor w)) 2) (* dY.v dY.v))) (* dY.w dY.w))) (pow (floor d) 2)) (* dY.w dY.w)) (+ (* (* dY.v dY.v) (/ (+ (* (floor h) (floor h)) (/ (pow (* dY.u (floor w)) 2) (* dY.v dY.v))) (* dY.w dY.w))) (pow (floor d) 2)) (* dY.v dY.v) (/ (+ (* (floor h) (floor h)) (/ (pow (* dY.u (floor w)) 2) (* dY.v dY.v))) (* dY.w dY.w)) (+ (* (floor h) (floor h)) (/ (pow (* dY.u (floor w)) 2) (* dY.v dY.v))) (/ (pow (* dY.u (floor w)) 2) (* dY.v dY.v)) (pow (* dY.u (floor w)) 2) (* dY.u (floor w)) (* dY.w dY.w) (pow (floor d) 2))

analyze11.7s (5.5%)

Memory
423.2MiB live, 17 774.2MiB allocated; 4.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 113 computations (58% saved)

derivations11.4s (5.3%)

Memory
-34.4MiB live, 12 351.3MiB allocated; 2.5s collecting garbage
Stop Event
33×fuel
Compiler

Compiled 27 432 to 4 001 computations (85.4% saved)

prune9.1s (4.2%)

Memory
-77.7MiB live, 17 672.6MiB allocated; 1.8s collecting garbage
Counts
130 159 → 4 119
Compiler

Compiled 551 950 to 221 729 computations (59.8% saved)

explain8.3s (3.9%)

Memory
106.2MiB live, 13 565.6MiB allocated; 2.4s collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
log.f32#fsensitivity101574
-.f32#fcancellation39243
sqrt.f32#foflow-rescue3010
sqrt.f64#foflow-rescue2980
log.f64(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))sensitivity2150
cos.f32#fsensitivity19020
tan.f32(tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))cancellation18114
-.f64#fcancellation1540
/.f32#fo/n1160
exp.f32#fsensitivity3629
/.f32#fu/n240
*.f64(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))n*u120
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-rescue110
(*.f32 sinTheta_O sinTheta_O)underflow294
(-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O)))))underflow11
(/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))))underflow147
(*.f32 eta eta)underflow11
sqrt.f64#fuflow-rescue40
*.f32#fn*o40
/.f32(/.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))n/o30
(/.f32 sin2phi (*.f32 alphay alphay))overflow11
(+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))overflow11
/.f32#fo/o20
*.f32(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))u*o10
(*.f32 u normAngle)underflow1
(sin.f32 (*.f32 u normAngle))underflow1
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))overflow2
*.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 -
+209555
-4765822
Precision
0.8148580318942046
Recall
0.9744186046511628
Confusion?
Predicted +Predicted MaybePredicted -
+20953520
-4761335689
Precision?
0.7776560788608982
Recall?
0.9906976744186047
Freqs
test
numberfreq
05877
12184
2385
32
Total Confusion?
Predicted +Predicted MaybePredicted -
+2611
-302
Precision?
0.9
Recall?
0.9642857142857143
Samples
2.1s14 588×0valid
675.0ms2 174×1valid
41.0ms134×2valid
Compiler

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

Precisions
Click to see histograms. Total time spent on operations: 1.7s
ival-mult!: 460.0ms (27.7% of total)
adjust: 174.0ms (10.5% of total)
ival-div!: 133.0ms (8% of total)
ival-exp: 124.0ms (7.5% of total)
ival-sqrt: 93.0ms (5.6% of total)
ival-log: 92.0ms (5.5% of total)
ival-sub!: 75.0ms (4.5% of total)
ival-add!: 72.0ms (4.3% of total)
ival-asin: 61.0ms (3.7% of total)
ival-cosu: 54.0ms (3.3% of total)
ival-floor: 42.0ms (2.5% of total)
ival-sin: 42.0ms (2.5% of total)
ival-pow2: 34.0ms (2% of total)
ival-sinu: 33.0ms (2% of total)
ival-neg: 27.0ms (1.6% of total)
ival-fabs: 27.0ms (1.6% of total)
ival-fmax: 25.0ms (1.5% of total)
ival-cos: 23.0ms (1.4% of total)
ival-tan: 20.0ms (1.2% of total)
ival-if: 13.0ms (0.8% of total)
ival-log2: 12.0ms (0.7% of total)
ival-log1p: 7.0ms (0.4% of total)
ival-atan: 6.0ms (0.4% of total)
ival-sinh: 5.0ms (0.3% of total)
ival->: 3.0ms (0.2% of total)
ival->=: 3.0ms (0.2% of total)
ival-<: 1.0ms (0.1% of total)
ival-pi: 0.0ms (0% of total)

preprocess4.9s (2.3%)

Memory
-301.4MiB live, 6 720.9MiB allocated; 901ms collecting garbage
Stop Event
33×node-limit
Compiler

Compiled 162 412 to 51 944 computations (68% saved)

bsearch549.0ms (0.3%)

Memory
-168.8MiB live, 682.2MiB allocated; 66ms collecting garbage
Algorithm
83×binary-search
38×left-value
Stop Event
81×narrow-enough
predicate-same
Samples
97.0ms570×1valid
83.0ms191×2valid
70.0ms695×0valid
1.0ms23×0invalid
Compiler

Compiled 13 877 to 10 417 computations (24.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 207.0ms
ival-pow2: 85.0ms (41% of total)
ival-exp: 35.0ms (16.9% of total)
adjust: 23.0ms (11.1% of total)
ival-mult!: 21.0ms (10.1% of total)
ival-sqrt: 10.0ms (4.8% of total)
ival-sub!: 9.0ms (4.3% of total)
ival-fabs: 9.0ms (4.3% of total)
ival-add!: 8.0ms (3.9% of total)
ival-log1p: 8.0ms (3.9% of total)

start4.0ms (0%)

Memory
9.8MiB live, 9.7MiB allocated; 0ms collecting garbage

end0.0ms (0%)

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

Profiling

Loading profile data...