Herbie run

Date:Thursday, February 20th, 2025
Commit:3f036d81 on z3solver_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:462 828.9 MB

Time bar (total: 6.4min)

prune2.2min (34.8%)

Memory
67.1MiB live, 132 749.9MiB allocated; 6.7s collecting garbage
Counts
134 035 → 4 049
Compiler

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

sample1.4min (21%)

Memory
1 290.8MiB live, 99 515.2MiB allocated; 25.9s collecting garbage
Samples
43.9s262 167×0valid
15.0s1 536×5exit
3.1s7 979×1valid
2.0s11 181×0invalid
1.0s2 302×2valid
342.0ms682×1invalid
Precisions
Click to see histograms. Total time spent on operations: 53.7s
ival-pow: 13.7s (25.4% of total)
ival-mult: 11.5s (21.4% of total)
ival-div: 3.8s (7.1% of total)
ival-e: 2.5s (4.6% of total)
ival-sub: 2.3s (4.3% of total)
ival-log: 2.1s (4% of total)
const: 2.0s (3.7% of total)
ival-add: 2.0s (3.7% of total)
ival-sin: 1.6s (3% of total)
ival-sqrt: 1.6s (3% of total)
ival-fabs: 1.4s (2.7% of total)
adjust: 900.0ms (1.7% of total)
ival-sinu: 797.0ms (1.5% of total)
ival-exp: 737.0ms (1.4% of total)
ival-fmax: 733.0ms (1.4% of total)
ival-floor: 727.0ms (1.4% of total)
ival-pow2: 641.0ms (1.2% of total)
ival-neg: 539.0ms (1% of total)
ival-<=: 509.0ms (0.9% of total)
ival-cosu: 456.0ms (0.8% of total)
ival-log1p: 404.0ms (0.8% of total)
ival-pi: 397.0ms (0.7% of total)
ival-cos: 341.0ms (0.6% of total)
ival-and: 339.0ms (0.6% of total)
ival-if: 332.0ms (0.6% of total)
exact: 314.0ms (0.6% of total)
ival-tan: 254.0ms (0.5% of total)
ival-log2: 231.0ms (0.4% of total)
ival-sinh: 138.0ms (0.3% of total)
ival-asin: 121.0ms (0.2% of total)
ival-assert: 87.0ms (0.2% of total)
ival-atan: 79.0ms (0.1% of total)
ival->=: 61.0ms (0.1% of total)
ival->: 45.0ms (0.1% of total)
ival-<: 34.0ms (0.1% of total)
ival-==: 4.0ms (0% of total)
Bogosity

eval38.4s (9.9%)

Memory
173.8MiB live, 59 034.4MiB allocated; 16.0s collecting garbage
Compiler

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

rewrite32.2s (8.4%)

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

regimes28.8s (7.5%)

Memory
369.2MiB live, 45 679.4MiB allocated; 9.0s collecting garbage
Counts
11 099 → 499
Calls

159 calls:

1.3s
r
891.0ms
s
882.0ms
(sqrt.f32 (/.f32 u1 (-.f32 #s(literal 1 binary32) u1)))
708.0ms
uy
675.0ms
maxCos
Compiler

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

series23.9s (6.2%)

Memory
261.1MiB live, 29 916.6MiB allocated; 8.2s collecting garbage
Counts
5 690 → 26 580
Calls

1422 calls:

TimeVariablePointExpression
931.0ms
tau
@0
((/ (* (/ (sin (* (* tau x) (PI))) (* (* tau x) (PI))) (sin (* (PI) x))) (* (PI) x)) (* (/ (sin (* (* tau x) (PI))) (* (* tau x) (PI))) (sin (* (PI) x))) (/ (sin (* (* tau x) (PI))) (* (* tau x) (PI))) (sin (* (* tau x) (PI))) (* (* tau x) (PI)) (* tau x) tau x (PI) (sin (* (PI) x)) (* (PI) x) (* (/ (sin (* (* x (PI)) tau)) (* (* x (PI)) tau)) (/ (sin (* x (PI))) (* x (PI)))) 1 (* (/ (sin (* (* x (PI)) tau)) (* (* x (PI)) tau)) (/ (sin (* x (PI))) (* x (PI)))) (/ (sin (* (* x (PI)) tau)) (* (* x (PI)) tau)) (+ (* (pow (* (* tau x) (PI)) 2) -1/6) 1) (pow (* (* tau x) (PI)) 2) 2 -1/6 (/ (sin (* x (PI))) (* x (PI))) (sin (* x (PI))) (* x (PI)) (/ (* (sin (+ (* (* tau x) (PI)) (PI))) (sin (* (PI) x))) (* (neg (* (* tau x) (PI))) (* (PI) x))) (* (sin (+ (* (* tau x) (PI)) (PI))) (sin (* (PI) x))) (sin (+ (* (* tau x) (PI)) (PI))) (+ (* (* tau x) (PI)) (PI)) (* (neg (* (* tau x) (PI))) (* (PI) x)) (neg (* (* tau x) (PI))) (/ (* (/ (sin (* (PI) x)) x) (sin (* (* tau x) (PI)))) (* (PI) (* (* tau x) (PI)))) (* (/ (sin (* (PI) x)) x) (sin (* (* tau x) (PI)))) (/ (sin (* (PI) x)) x) (* (PI) (* (* tau x) (PI))))
660.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 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (+ (log 3/4) u) (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (log (/ 1 (- 1 (/ (- u 1/4) 3/4)))) (/ 1 (- 1 (/ (- u 1/4) 3/4))) 1 (- 1 (/ (- u 1/4) 3/4)) (+ (* -4/3 u) 4/3) 4/3 (* (* 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)) (/ (- u 1/4) 3/4))
597.0ms
dY.v
@-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 (* (pow (* (floor d) dX.w) 1/2) (pow (* (floor d) dX.w) 1/2)) 2) (pow (* (floor h) dX.v) 2)) (pow (* (pow (* (floor d) dX.w) 1/2) (pow (* (floor d) dX.w) 1/2)) 2) (* (pow (* (floor d) dX.w) 1/2) (pow (* (floor d) dX.w) 1/2)) (pow (* (floor d) dX.w) 1/2) (* (floor d) dX.w) (floor d) d dX.w 1/2 2 (pow (* (floor h) dX.v) 2) (* (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 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))) (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 w) dY.u) 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 h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (log2 (sqrt (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (exp (* (log (* (floor d) dX.w)) 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)))))) (sqrt (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (exp (* (log (* (floor d) dX.w)) 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))))) (fmax (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (exp (* (log (* (floor d) dX.w)) 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)))) (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (exp (* (log (* (floor d) dX.w)) 2))) (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (exp (* (log (* (floor d) dX.w)) 2)) (* (log (* (floor d) dX.w)) 2) (log (* (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 h) dY.v) 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)) (exp (* (log (* (floor h) dY.v)) 2))) (* (* (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)) (exp (* (log (* (floor h) dY.v)) 2))) (* (* (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)) (exp (* (log (* (floor h) dY.v)) 2))) (* (* (floor d) dY.w) (* (floor d) dY.w)))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (exp (* (log (* (floor h) dY.v)) 2))) (* (* (floor d) dY.w) (* (floor d) dY.w))) (+ (* (* (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)))
352.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)
248.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)))))))

analyze15.4s (4%)

Memory
173.7MiB live, 20 852.9MiB allocated; 5.6s 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)

derivations10.6s (2.8%)

Memory
174.9MiB live, 10 470.3MiB allocated; 1.5s collecting garbage
Stop Event
31×fuel
done
Compiler

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

preprocess9.7s (2.5%)

Memory
15.1MiB live, 10 668.3MiB allocated; 3.3s collecting garbage
Stop Event
66×iter limit
65×node limit
saturated
Compiler

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

explain8.9s (2.3%)

Memory
50.4MiB live, 13 363.3MiB allocated; 2.0s 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.5s16 140×0valid
241.0ms572×1valid
63.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: 627.0ms (32.2% of total)
ival-div: 241.0ms (12.4% of total)
ival-log: 132.0ms (6.8% of total)
ival-add: 99.0ms (5.1% of total)
ival-sub: 96.0ms (4.9% of total)
ival-pow: 94.0ms (4.8% of total)
ival-sqrt: 77.0ms (4% of total)
adjust: 48.0ms (2.5% of total)
ival-floor: 48.0ms (2.5% of total)
ival-fmax: 47.0ms (2.4% of total)
ival-exp: 45.0ms (2.3% of total)
ival-sin: 41.0ms (2.1% of total)
ival-sinu: 38.0ms (2% of total)
ival-log2: 32.0ms (1.6% of total)
ival-pow2: 27.0ms (1.4% of total)
ival-pi: 25.0ms (1.3% of total)
ival-neg: 25.0ms (1.3% of total)
ival-cosu: 24.0ms (1.2% of total)
ival-cos: 23.0ms (1.2% of total)
const: 21.0ms (1.1% of total)
ival-fabs: 20.0ms (1% of total)
ival-e: 19.0ms (1% of total)
ival-tan: 17.0ms (0.9% of total)
ival-if: 16.0ms (0.8% of total)
exact: 16.0ms (0.8% of total)
ival-true: 15.0ms (0.8% of total)
ival-assert: 8.0ms (0.4% of total)
ival-log1p: 7.0ms (0.4% of total)
ival-atan: 5.0ms (0.3% of total)
ival-sinh: 5.0ms (0.3% of total)
ival-asin: 4.0ms (0.2% of total)
ival->: 3.0ms (0.2% of total)
ival->=: 3.0ms (0.2% of total)
ival-<: 1.0ms (0.1% of total)

simplify1.7s (0.5%)

Memory
56.3MiB live, 1 873.6MiB allocated; 286ms collecting garbage
Stop Event
32×node limit

bsearch519.0ms (0.1%)

Memory
-115.9MiB live, 568.9MiB allocated; 46ms collecting garbage
Algorithm
77×binary-search
54×left-value
Stop Event
72×narrow-enough
predicate-same
Samples
145.0ms408×1valid
118.0ms820×0valid
37.0ms116×2valid
4.0ms45×0invalid
Compiler

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

Precisions
Click to see histograms. Total time spent on operations: 255.0ms
ival-pow: 73.0ms (28.6% of total)
ival-fabs: 34.0ms (13.3% of total)
ival-mult: 30.0ms (11.8% of total)
ival-pow2: 26.0ms (10.2% of total)
adjust: 23.0ms (9% of total)
ival-add: 16.0ms (6.3% of total)
ival-e: 15.0ms (5.9% of total)
ival-sub: 13.0ms (5.1% of total)
ival-sqrt: 10.0ms (3.9% of total)
ival-div: 7.0ms (2.7% 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)

start12.0ms (0%)

Memory
-33.3MiB live, 11.4MiB allocated; 9ms collecting garbage

end0.0ms (0%)

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

Profiling

Loading profile data...