Herbie run

Date:Wednesday, March 5th, 2025
Commit:141e80a8 on main
Seed:2025064
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:478 057.3 MB

Time bar (total: 6.5min)

prune2.3min (35.3%)

Memory
77.3MiB live, 156 377.7MiB allocated; 17.3s collecting garbage
Counts
129 488 → 3 901
Compiler

Compiled 501 221 to 204 074 computations (59.3% saved)

sample1.4min (21.8%)

Memory
901.2MiB live, 101 438.1MiB allocated; 31.1s collecting garbage
Samples
41.3s262 135×0valid
19.7s1 592×5exit
3.7s8 118×1valid
1.6s11 174×0invalid
742.0ms2 195×2valid
435.0ms744×1invalid
Precisions
Click to see histograms. Total time spent on operations: 55.4s
ival-pow: 17.6s (31.9% of total)
ival-mult: 9.8s (17.7% of total)
ival-div: 4.2s (7.6% of total)
ival-e: 2.9s (5.2% of total)
ival-sub: 2.1s (3.7% of total)
const: 1.9s (3.5% of total)
ival-add: 1.9s (3.4% of total)
ival-log: 1.6s (2.9% of total)
ival-sqrt: 1.4s (2.5% of total)
ival-fabs: 1.3s (2.4% of total)
ival-sin: 1.1s (1.9% of total)
adjust: 1.0s (1.8% of total)
ival-log1p: 971.0ms (1.8% of total)
ival-floor: 913.0ms (1.6% of total)
ival-exp: 834.0ms (1.5% of total)
ival-neg: 760.0ms (1.4% of total)
ival-sinu: 595.0ms (1.1% of total)
ival-<=: 564.0ms (1% of total)
ival-cosu: 488.0ms (0.9% of total)
ival-pow2: 449.0ms (0.8% of total)
ival-tan: 411.0ms (0.7% of total)
ival-cos: 372.0ms (0.7% of total)
ival-and: 342.0ms (0.6% of total)
exact: 320.0ms (0.6% of total)
ival-fmax: 289.0ms (0.5% of total)
ival-if: 267.0ms (0.5% of total)
ival-pi: 257.0ms (0.5% of total)
ival-log2: 238.0ms (0.4% of total)
ival-asin: 127.0ms (0.2% of total)
ival-sinh: 90.0ms (0.2% of total)
ival-assert: 84.0ms (0.2% of total)
ival-atan: 82.0ms (0.1% of total)
ival->: 49.0ms (0.1% of total)
ival-<: 49.0ms (0.1% of total)
ival->=: 48.0ms (0.1% of total)
ival-==: 4.0ms (0% of total)
Bogosity

eval39.1s (10%)

Memory
413.4MiB live, 58 801.0MiB allocated; 14.9s collecting garbage
Compiler

Compiled 33 910 819 to 519 828 computations (98.5% saved)

rewrite32.8s (8.4%)

Memory
845.9MiB live, 36 960.0MiB allocated; 8.9s collecting garbage
Stop Event
292×iter limit
130×node limit
Counts
32 141 → 58 921

regimes27.1s (6.9%)

Memory
-80.8MiB live, 40 235.1MiB allocated; 7.9s collecting garbage
Counts
10 645 → 477
Calls

159 calls:

1.2s
s
863.0ms
(floor.f32 h)
616.0ms
(/.f32 cos2phi (*.f32 alphax alphax))
533.0ms
u1
531.0ms
dX.u
Compiler

Compiled 24 376 to 19 975 computations (18.1% saved)

series22.7s (5.8%)

Memory
334.8MiB live, 31 508.3MiB allocated; 6.7s collecting garbage
Counts
5 570 → 26 571
Calls

1422 calls:

TimeVariablePointExpression
1.1s
cosTheta
@-inf
((/ 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))))) 1 (+ (+ 1 c) (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta)))) (+ 1 c) c (* (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (exp (* (neg cosTheta) cosTheta))) (* (/ 1 (sqrt (PI))) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta)) (/ 1 (sqrt (PI))) (sqrt (PI)) (PI) (/ (sqrt (- (- 1 cosTheta) cosTheta)) cosTheta) (sqrt (- (- 1 cosTheta) cosTheta)) (- (- 1 cosTheta) cosTheta) (- 1 cosTheta) cosTheta (exp (* (neg cosTheta) cosTheta)) (* (neg cosTheta) cosTheta) (neg cosTheta))
237.0ms
dX.u
@0
((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 (* dY.w (floor d)) 2) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 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 (* dY.w (floor d)) 2) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 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 (* dY.w (floor d)) 2) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 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 (* dY.w (floor d)) 2) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 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 (* dY.w (floor d)) 2) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 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 h) dX.v) 2) (exp (+ (* (log (floor w)) 2) (* (log dX.u) 2)))) (pow (* (floor h) dX.v) 2) (* (floor h) dX.v) (floor h) h dX.v 2 (exp (+ (* (log (floor w)) 2) (* (log dX.u) 2))) (+ (* (log (floor w)) 2) (* (log dX.u) 2)) (log (floor w)) (floor w) w (* (log dX.u) 2) (log dX.u) dX.u (+ (pow (* dY.w (floor d)) 2) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2))) (pow (* dY.w (floor d)) 2) (* dY.w (floor d)) dY.w (floor d) d (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2)) (pow (* dY.v (floor h)) 2) (* dY.v (floor h)) dY.v (pow (* dY.u (floor w)) 2) (* dY.u (floor w)) dY.u 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))) (* (* (* dX.v (floor h)) dX.v) (floor h)) (* (* dX.v (floor h)) dX.v) (* dX.v (floor h)) (+ (+ (* (* (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) (* (floor h) dY.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) 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 h) dX.v) 2)) (pow (* (floor d) dX.w) 2) (* (floor d) dX.w) dX.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))) (+ (+ (* (* (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 (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (pow (* (floor w) dX.u) 2) (* (floor w) 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))) (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 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) (* (floor w) dY.u))
178.0ms
dX.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) dY.v) 2) (pow (* (exp (* (log (floor w)) 1)) 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 (* (exp (* (log (floor w)) 1)) 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) (* dY.v dX.u) (floor maxAniso) maxAniso (/ (sqrt (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (exp (* (log (floor w)) 1)) dY.u) 2)))) (floor maxAniso)) (sqrt (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (exp (* (log (floor w)) 1)) dY.u) 2)))) (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (exp (* (log (floor w)) 1)) dY.u) 2))) (+ (pow (* (floor h) dY.v) 2) (pow (* (exp (* (log (floor w)) 1)) dY.u) 2)) (pow (* (exp (* (log (floor w)) 1)) dY.u) 2) (* (exp (* (log (floor w)) 1)) dY.u) (exp (* (log (floor w)) 1)) (* (log (floor w)) 1) (log (floor w)) 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))))) (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)) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (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)) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (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)) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (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)) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (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)) (+ (* (* (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))) (/ (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 (+ (exp (* (log (* (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 (+ (exp (* (log (* (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)))))) (/ (sqrt (fmax (+ (exp (* (log (* (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)) (sqrt (fmax (+ (exp (* (log (* (floor h) dX.v)) 2)) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))) (fmax (+ (exp (* (log (* (floor h) dX.v)) 2)) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (+ (exp (* (log (* (floor h) dX.v)) 2)) (pow (* (floor w) dX.u) 2)) (exp (* (log (* (floor h) dX.v)) 2)) (* (log (* (floor h) dX.v)) 2) (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)) (* (* (pow (* (floor h) dX.v) 1/2) (pow (* (floor h) dX.v) 1/2)) (* (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)) (* (* (pow (* (floor h) dX.v) 1/2) (pow (* (floor h) dX.v) 1/2)) (* (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))))) (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))) (* (* dY.v (* (floor h) dX.u)) (floor w)) (* dY.v (* (floor h) dX.u)) (* (floor h) dX.u) (/ (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (pow (* (floor h) dX.v) 1/2) (pow (* (floor h) dX.v) 1/2)) (* (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)) (* (* (pow (* (floor h) dX.v) 1/2) (pow (* (floor h) dX.v) 1/2)) (* (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)) (* (* (pow (* (floor h) dX.v) 1/2) (pow (* (floor h) dX.v) 1/2)) (* (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)) (* (* (pow (* (floor h) dX.v) 1/2) (pow (* (floor h) dX.v) 1/2)) (* (floor h) dX.v))) (* (* (pow (* (floor h) dX.v) 1/2) (pow (* (floor h) dX.v) 1/2)) (* (floor h) dX.v)) (* (pow (* (floor h) dX.v) 1/2) (pow (* (floor h) dX.v) 1/2)) (pow (* (floor h) dX.v) 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))) (+ (* (* (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))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.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)) (/ (exp (* (log (fmax (+ (exp (* (log (* (floor h) dX.v)) 2)) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (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 (+ (exp (* (log (* (floor h) dX.v)) 2)) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (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))))))) (> (/ (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))))) (/ (exp (* (log (fmax (+ (exp (* (log (* (floor h) dX.v)) 2)) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))) 1/2)) (floor maxAniso)) (exp (* (log (fmax (+ (exp (* (log (* (floor h) dX.v)) 2)) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))) 1/2)) (* (log (fmax (+ (exp (* (log (* (floor h) dX.v)) 2)) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))) 1/2) (log (fmax (+ (exp (* (log (* (floor h) dX.v)) 2)) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))))
158.0ms
s
@0
((* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (* (* (neg (log (+ 1 (* -4/3 (- u 1/4))))) s) 3) (* (neg (log (+ 1 (* -4/3 (- u 1/4))))) s) (neg (log (+ 1 (* -4/3 (- u 1/4))))) (log (+ 1 (* -4/3 (- u 1/4)))) (* -4/3 (- u 1/4)) (+ (* -4/3 u) 1/3) -4/3 u 1/3 s 3 (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (* 3 (+ (* u s) (* (log 3/4) s))) (+ (* u s) (* (log 3/4) s)) (* u s) (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (* (* (neg (log (+ (* -4/3 (- u 1/4)) 1))) s) 3) (* (neg (log (+ (* -4/3 (- u 1/4)) 1))) s) (neg (log (+ (* -4/3 (- u 1/4)) 1))) (log (+ (* -4/3 (- u 1/4)) 1)) (+ (* -4/3 (- u 1/4)) 1) (- u 1/4) 1/4 1 (* (* s 3) (neg (log (/ (- 9/8 (* 3/2 (- u 1/4))) 9/8)))) (* s 3) (neg (log (/ (- 9/8 (* 3/2 (- u 1/4))) 9/8))) (log (/ (- 9/8 (* 3/2 (- u 1/4))) 9/8)) (/ (- 9/8 (* 3/2 (- u 1/4))) 9/8) (- 9/8 (* 3/2 (- u 1/4))) 9/8 (* 3/2 (- u 1/4)) 3/2 (* (* s 3) (+ (log (/ 1 (- 3/2 (* 2 (- u 1/4))))) (log 3/2))) (+ (log (/ 1 (- 3/2 (* 2 (- u 1/4))))) (log 3/2)) (log (/ 1 (- 3/2 (* 2 (- u 1/4))))) (/ 1 (- 3/2 (* 2 (- u 1/4)))) (- 3/2 (* 2 (- u 1/4))) (* 2 (- u 1/4)) 2 (log 3/2))
155.0ms
u1
@0
((/ 1 (sqrt (+ 1 (/ (* (/ 1 (+ (/ (* (cos (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI))))))) (cos (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphax alphax)) (/ (* (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI))))))) (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphay alphay)))) u0) (- 1 u0))))) (sqrt (/ 1 (+ (/ (/ u0 (+ (/ (pow (sin (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) 2) (* alphay alphay)) (/ (pow (cos (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) 2) (* alphax alphax)))) (- 1 u0)) 1))) (/ 1 (+ (/ (/ u0 (+ (/ (pow (sin (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) 2) (* alphay alphay)) (/ (pow (cos (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) 2) (* alphax alphax)))) (- 1 u0)) 1)) 1 (+ (/ (/ u0 (+ (/ (pow (sin (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) 2) (* alphay alphay)) (/ (pow (cos (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) 2) (* alphax alphax)))) (- 1 u0)) 1) (/ (/ u0 (+ (/ (pow (sin (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) 2) (* alphay alphay)) (/ (pow (cos (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) 2) (* alphax alphax)))) (- 1 u0)) (/ u0 (+ (/ (pow (sin (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) 2) (* alphay alphay)) (/ (pow (cos (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) 2) (* alphax alphax)))) u0 (+ (/ (pow (sin (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) 2) (* alphay alphay)) (/ (pow (cos (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) 2) (* alphax alphax))) (/ (pow (sin (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) 2) (* alphay alphay)) (pow (sin (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) 2) (sin (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax))) (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)) (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (+ (* (* (PI) 2) u1) (* (PI) 1/2)) (* (PI) 2) (PI) 2 u1 (* (PI) 1/2) 1/2 (/ alphay alphax) alphay alphax (* alphay alphay) (/ (pow (cos (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) 2) (* alphax alphax)) (pow (cos (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) 2) (cos (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) (* alphax alphax) (- 1 u0) (/ 1 (sqrt (+ 1 (/ (* (/ 1 (+ (/ (* (cos (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI))))))) (cos (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphax alphax)) (/ (* (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI))))))) (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphay alphay)))) u0) (- 1 u0))))) (/ 1 (sqrt (+ 1 (/ (* (/ 1 (+ (/ (* (cos (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI))))))) (cos (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphax alphax)) (/ (* (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI))))))) (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphay alphay)))) u0) (- 1 u0))))) (sqrt (+ 1 (/ (* (/ 1 (+ (/ (* (cos (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI))))))) (cos (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphax alphax)) (/ (* (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI))))))) (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphay alphay)))) u0) (- 1 u0)))) (+ (* (* (/ (* alphay alphay) (pow (sin (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) 2)) (/ u0 (- 1 u0))) 1/2) 1) (* (/ (* alphay alphay) (pow (sin (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) 2)) (/ u0 (- 1 u0))) (/ (* alphay alphay) (pow (sin (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) 2)) (/ u0 (- 1 u0)) (/ 1 (sqrt (+ 1 (/ (* (/ 1 (+ (/ (* (cos (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI))))))) (cos (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphax alphax)) (/ (* (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI))))))) (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphay alphay)))) u0) (- 1 u0))))) (+ (* (/ u0 (+ (/ (pow (sin (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) 2) (* alphay alphay)) (/ (pow (cos (atan (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) 2) (* alphax alphax)))) -1/2) 1) -1/2 (/ 1 (sqrt (+ 1 (/ (* (/ 1 (+ (/ (* (/ 1 (sqrt (+ 1 (* (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)) (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))))) (cos (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphax alphax)) (/ (* (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI))))))) (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphay alphay)))) u0) (- 1 u0))))) (sqrt (+ 1 (/ (* (/ 1 (+ (/ (* (/ 1 (sqrt (+ 1 (* (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)) (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))))) (cos (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphax alphax)) (/ (* (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI))))))) (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphay alphay)))) u0) (- 1 u0)))) (+ 1 (/ (* (/ 1 (+ (/ (* (/ 1 (sqrt (+ 1 (* (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)) (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))))) (cos (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphax alphax)) (/ (* (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI))))))) (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphay alphay)))) u0) (- 1 u0))) (/ (* (/ 1 (+ (/ (* (/ 1 (sqrt (+ 1 (* (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)) (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))))) (cos (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphax alphax)) (/ (* (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI))))))) (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphay alphay)))) u0) (- 1 u0)) (* (/ 1 (+ (/ (* (/ 1 (sqrt (+ 1 (* (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)) (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))))) (cos (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphax alphax)) (/ (* (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI))))))) (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphay alphay)))) u0) (/ 1 (+ (/ (* (/ 1 (sqrt (+ 1 (* (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)) (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))))) (cos (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphax alphax)) (/ (* (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI))))))) (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphay alphay)))) (+ (/ (* (/ 1 (sqrt (+ 1 (* (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)) (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))))) (cos (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphax alphax)) (/ (* (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI))))))) (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphay alphay))) (/ (* (/ 1 (sqrt (+ 1 (* (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)) (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))))) (cos (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphax alphax)) (* (/ 1 (sqrt (+ 1 (* (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)) (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))))) (cos (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (/ 1 (sqrt (+ 1 (* (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)) (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))))) (sqrt (+ 1 (* (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)) (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax))))) (+ 1 (* (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)) (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)))) (* (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax)) (* (tan (+ (* (* (PI) 2) u1) (* (PI) 1/2))) (/ alphay alphax))) (cos (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI))))))) (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))) (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI))))) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))) (+ (* (* 2 (PI)) u1) (* 1/2 (PI))) (* (* 2 (PI)) u1) (* 2 (PI)) (* 1/2 (PI)) (/ (* (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI))))))) (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (* alphay alphay)) (* (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI))))))) (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI)))))))) (sin (atan (* (/ alphay alphax) (tan (+ (* (* 2 (PI)) u1) (* 1/2 (PI))))))))

analyze14.5s (3.7%)

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

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

derivations11.4s (2.9%)

Memory
170.8MiB live, 9 753.2MiB allocated; 2.2s collecting garbage
Stop Event
31×fuel
done
Compiler

Compiled 26 364 to 3 657 computations (86.1% saved)

preprocess8.7s (2.2%)

Memory
301.4MiB live, 10 227.2MiB allocated; 1.7s collecting garbage
Stop Event
66×iter limit
65×node limit
saturated
Compiler

Compiled 69 992 to 14 597 computations (79.1% saved)

explain8.4s (2.1%)

Memory
-12.0MiB live, 13 016.1MiB allocated; 1.8s collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
log.f32#fsensitivity101573
-.f32#fcancellation38240
sqrt.f32#foflow-rescue3430
sqrt.f64#foflow-rescue3060
cos.f32#fsensitivity2089
log.f64(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))sensitivity2000
tan.f32(tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))cancellation19412
-.f64#fcancellation1570
/.f32#fo/n1200
exp.f32#fsensitivity5217
/.f32#fu/n310
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-rescue240
(*.f32 sinTheta_O sinTheta_O)underflow304
(-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O)))))underflow24
(/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))))underflow152
(*.f32 eta eta)underflow24
sqrt.f64#fuflow-rescue120
/.f32#fo/o120
*.f64(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))n*u120
/.f32(/.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))n/o70
(/.f32 sin2phi (*.f32 alphay alphay))overflow17
(+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))overflow17
sin.f32#fcancellation41
log.f64(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))oflow-rescue10
(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)overflow1
(+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))overflow1
(pow.f64 (E.f64) x)overflow1
(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))overflow1
*.f32(*.f32 (/.f32 #s(literal 1 binary32) (sqrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (-.f32 (-.f32 #s(literal 1 binary32) cosTheta) cosTheta)) cosTheta))n*o10
Confusion
Predicted +Predicted -
+217955
-4715743
Precision
0.8222641509433962
Recall
0.9753804834377797
Confusion?
Predicted +Predicted MaybePredicted -
+21793520
-4711035640
Precision?
0.7941176470588235
Recall?
0.991047448522829
Freqs
test
numberfreq
05798
12231
2407
312
Total Confusion?
Predicted +Predicted MaybePredicted -
+2501
-412
Precision?
0.8333333333333334
Recall?
0.9615384615384616
Samples
2.4s16 146×0valid
293.0ms590×1valid
80.0ms160×2valid
Compiler

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

Precisions
Click to see histograms. Total time spent on operations: 1.8s
ival-mult: 572.0ms (31.1% of total)
ival-div: 207.0ms (11.2% of total)
ival-add: 133.0ms (7.2% of total)
ival-pow: 103.0ms (5.6% of total)
ival-sub: 97.0ms (5.3% of total)
ival-sqrt: 72.0ms (3.9% of total)
ival-log: 69.0ms (3.7% of total)
adjust: 64.0ms (3.5% of total)
ival-exp: 43.0ms (2.3% of total)
ival-sin: 43.0ms (2.3% of total)
ival-pi: 40.0ms (2.2% of total)
ival-floor: 39.0ms (2.1% of total)
ival-sinu: 36.0ms (2% of total)
ival-pow2: 30.0ms (1.6% of total)
ival-fmax: 30.0ms (1.6% of total)
ival-cosu: 27.0ms (1.5% of total)
ival-neg: 27.0ms (1.5% of total)
ival-e: 25.0ms (1.4% of total)
const: 25.0ms (1.4% of total)
ival-cos: 21.0ms (1.1% of total)
ival-fabs: 20.0ms (1.1% of total)
ival-tan: 17.0ms (0.9% of total)
ival-true: 16.0ms (0.9% of total)
ival-if: 16.0ms (0.9% of total)
exact: 16.0ms (0.9% of total)
ival-log2: 12.0ms (0.7% of total)
ival-asin: 8.0ms (0.4% 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->: 3.0ms (0.2% of total)
ival->=: 3.0ms (0.2% of total)
ival-<: 1.0ms (0.1% of total)

simplify2.0s (0.5%)

Memory
-66.4MiB live, 1 947.5MiB allocated; 164ms collecting garbage
Stop Event
32×node limit

bsearch713.0ms (0.2%)

Memory
45.8MiB live, 1 267.9MiB allocated; 123ms collecting garbage
Algorithm
77×binary-search
41×left-value
Stop Event
74×narrow-enough
predicate-same
Samples
329.0ms756×1valid
93.0ms898×0valid
53.0ms154×2valid
10.0ms104×0invalid
3.0ms1invalid
Compiler

Compiled 13 001 to 9 156 computations (29.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 411.0ms
ival-pow: 165.0ms (40.1% of total)
ival-e: 50.0ms (12.2% of total)
adjust: 42.0ms (10.2% of total)
ival-mult: 41.0ms (10% of total)
ival-pow2: 26.0ms (6.3% of total)
ival-sub: 21.0ms (5.1% of total)
ival-add: 15.0ms (3.6% of total)
ival-sqrt: 14.0ms (3.4% of total)
ival-log1p: 14.0ms (3.4% of total)
ival-div: 10.0ms (2.4% of total)
ival-fabs: 9.0ms (2.2% of total)
ival-true: 2.0ms (0.5% of total)
exact: 2.0ms (0.5% of total)
ival-assert: 1.0ms (0.2% of total)

start4.0ms (0%)

Memory
8.4MiB live, 8.3MiB allocated; 0ms collecting garbage

end0.0ms (0%)

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

Profiling

Loading profile data...