Herbie run

Date:Saturday, March 29th, 2025
Commit:775c1039 on always-constant-fold
Seed:2025088
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:488 356.9 MB

Time bar (total: 6.0min)

prune2.4min (40%)

Memory
-18.7MiB live, 159 997.3MiB allocated; 11.7s collecting garbage
Counts
125 545 → 4 024
Compiler

Compiled 548 634 to 218 258 computations (60.2% saved)

sample55.9s (15.5%)

Memory
560.7MiB live, 78 271.4MiB allocated; 22.5s collecting garbage
Samples
31.2s241 542×0valid
5.4s28 600×1valid
1.4s10 916×0invalid
782.0ms2 305×2valid
222.0ms713×1invalid
150.0ms1 581×1exit
0.0ms3valid
Precisions
Click to see histograms. Total time spent on operations: 27.9s
ival-mult!: 7.5s (26.8% of total)
ival-div!: 2.7s (9.7% of total)
ival-sqrt: 2.2s (7.8% of total)
ival-log: 1.8s (6.6% of total)
ival-exp: 1.5s (5.2% of total)
ival-fabs: 1.2s (4.5% of total)
ival-sin: 1.2s (4.2% of total)
ival-add!: 1.2s (4.2% of total)
ival-sub!: 1.1s (3.8% of total)
adjust: 952.0ms (3.4% of total)
ival-<=: 847.0ms (3% of total)
ival-floor: 793.0ms (2.8% of total)
ival-neg: 699.0ms (2.5% of total)
ival-pow2: 578.0ms (2.1% of total)
ival-sinu: 516.0ms (1.9% of total)
ival-cos: 476.0ms (1.7% of total)
ival-tan: 435.0ms (1.6% of total)
ival-cosu: 423.0ms (1.5% of total)
ival-and: 407.0ms (1.5% of total)
ival-fmax: 320.0ms (1.1% of total)
ival-log2: 271.0ms (1% of total)
ival-if: 233.0ms (0.8% of total)
ival-log1p: 147.0ms (0.5% of total)
ival-asin: 124.0ms (0.4% of total)
ival-atan: 90.0ms (0.3% of total)
ival-sinh: 82.0ms (0.3% of total)
ival->: 76.0ms (0.3% of total)
ival->=: 53.0ms (0.2% of total)
ival-assert: 30.0ms (0.1% of total)
ival-<: 26.0ms (0.1% of total)
ival-pi: 0.0ms (0% of total)
const: 0.0ms (0% of total)
Bogosity

eval35.3s (9.8%)

Memory
655.1MiB live, 60 292.1MiB allocated; 11.4s collecting garbage
Compiler

Compiled 34 397 048 to 514 393 computations (98.5% saved)

rewrite31.6s (8.8%)

Memory
651.1MiB live, 42 393.8MiB allocated; 9.4s collecting garbage
Stop Event
296×iter-limit
130×node-limit
Counts
31 302 → 58 138

regimes31.1s (8.6%)

Memory
307.2MiB live, 52 337.4MiB allocated; 8.8s collecting garbage
Counts
12 432 → 522
Calls

159 calls:

1.9s
(*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))
834.0ms
ux
814.0ms
maxCos
795.0ms
uy
790.0ms
dY.u
Compiler

Compiled 23 832 to 20 775 computations (12.8% saved)

series21.7s (6%)

Memory
-16.5MiB live, 36 911.0MiB allocated; 6.2s collecting garbage
Counts
5 457 → 25 845
Calls

1422 calls:

TimeVariablePointExpression
908.0ms
s
@-inf
((* (pow (- (exp (/ (neg x) s)) -1) -1/2) (pow (- (exp (/ (neg x) s)) -1) -1/2)) (pow (- (exp (/ (neg x) s)) -1) -1/2) (- (exp (/ (neg x) s)) -1) (exp (/ (neg x) s)) (/ (neg x) s) (neg x) x s -1 -1/2 (/ 1 (+ 1 (exp (/ (neg x) s)))) 1/2 (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ (* (/ x s) 1/4) 1/2) (/ x s) 1/4 (/ 1 (+ 1 (exp (/ (neg x) s)))) 1 (+ 1 (exp (/ (neg x) s))) (+ (* -1 (/ x s)) 2) 2 (/ 1 (+ 1 (exp (/ (neg x) s)))) (+ 1 (exp (/ (neg x) s))) (+ (* (/ (+ (* -1/2 (/ (* x x) s)) x) s) -1) 2) (/ (+ (* -1/2 (/ (* x x) s)) x) s) (+ (* -1/2 (/ (* x x) s)) x) (/ (* x x) s) (* x x))
426.0ms
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))
241.0ms
dX.u
@inf
((if (>= (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (/ (* (floor w) dX.u) (sqrt (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))) (* dY.u (/ (floor w) (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))))) (>= (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (pow (* (floor h) dX.v) 2) (* (floor h) dX.v) (floor h) h dX.v 2 (pow (* (floor w) dX.u) 2) (* (floor w) dX.u) (floor w) w dX.u (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)) (pow (* (floor h) dY.v) 2) (* (floor h) dY.v) dY.v (pow (* (floor w) dY.u) 2) (* (floor w) dY.u) dY.u (/ (* (floor w) dX.u) (sqrt (fmax (+ (pow (* (floor h) dX.v) 2) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))) (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))) (* dY.u (/ (floor w) (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))))) (/ (floor w) (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))) (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))) (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (if (>= (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (/ (* (floor w) dX.u) (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))) (* (/ dY.u (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))) (floor w))) (>= (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)) (/ (* (floor w) dX.u) (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))) (* (/ dY.u (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))) (floor w)) (/ dY.u (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))) (if (>= (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (/ (* (floor w) dX.u) (sqrt (fmax (+ (exp (* (log (* (floor w) dX.u)) 2)) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))) (* (/ dY.u (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))) (floor w))) (>= (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (/ (* (floor w) dX.u) (sqrt (fmax (+ (exp (* (log (* (floor w) dX.u)) 2)) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))) (sqrt (fmax (+ (exp (* (log (* (floor w) dX.u)) 2)) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))) (fmax (+ (exp (* (log (* (floor w) dX.u)) 2)) (pow (* (floor h) dX.v) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (+ (exp (* (log (* (floor w) dX.u)) 2)) (pow (* (floor h) dX.v) 2)) (exp (* (log (* (floor w) dX.u)) 2)) (* (log (* (floor w) dX.u)) 2) (log (* (floor w) dX.u)) (if (>= (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (* (/ 1 (exp (* (log (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))) 1/2))) (* (floor w) dX.u)) (* (/ 1 (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))))) (* (floor w) dY.u))) (>= (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor w) 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)) (* (/ 1 (exp (* (log (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))) 1/2))) (* (floor w) dX.u)) (/ 1 (exp (* (log (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))) 1/2))) 1 (exp (* (log (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))) 1/2)) (* (log (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))) 1/2) (log (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (pow (* (floor h) dY.v) 2) (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) dY.v) 2) (pow (* (floor w) dY.u) 2))) (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) 1/2 (* (/ 1 (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))))) (* (floor w) dY.u)) (/ 1 (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))))) (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)))) (if (>= (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (* (exp (* (log (sqrt (fmax (+ (* (pow (floor h) 2) (* dX.v dX.v)) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))) -1)) (* (exp (* (log (floor w)) 1)) dX.u)) (* (/ 1 (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))))) (* (floor w) dY.u))) (* (exp (* (log (sqrt (fmax (+ (* (pow (floor h) 2) (* dX.v dX.v)) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))) -1)) (* (exp (* (log (floor w)) 1)) dX.u)) (exp (* (log (sqrt (fmax (+ (* (pow (floor h) 2) (* dX.v dX.v)) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))) -1)) (* (log (sqrt (fmax (+ (* (pow (floor h) 2) (* dX.v dX.v)) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))) -1) (log (sqrt (fmax (+ (* (pow (floor h) 2) (* dX.v dX.v)) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))))) (sqrt (fmax (+ (* (pow (floor h) 2) (* dX.v dX.v)) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2)))) (fmax (+ (* (pow (floor h) 2) (* dX.v dX.v)) (pow (* (floor w) dX.u) 2)) (+ (pow (* (floor h) dY.v) 2) (pow (* (floor w) dY.u) 2))) (+ (* (pow (floor h) 2) (* dX.v dX.v)) (pow (* (floor w) dX.u) 2)) -1 (* (exp (* (log (floor w)) 1)) dX.u) (exp (* (log (floor w)) 1)) (* (log (floor w)) 1) (log (floor w)))
215.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) (* (* s 3) (neg (log (- 1 (/ (- (* 3/4 u) 3/16) 9/16))))) (* s 3) (neg (log (- 1 (/ (- (* 3/4 u) 3/16) 9/16)))) (log (- 1 (/ (- (* 3/4 u) 3/16) 9/16))) (- 1 (/ (- (* 3/4 u) 3/16) 9/16)) (+ (* -4/3 u) 4/3) 4/3 (* (* 3 s) (log (/ 1 (- 1 (/ (- u 1/4) 3/4))))) (* (* (log (/ 1 (+ (* -4/3 (- u 1/4)) 1))) s) 3) (* (log (/ 1 (+ (* -4/3 (- u 1/4)) 1))) s) (log (/ 1 (+ (* -4/3 (- u 1/4)) 1))) (/ 1 (+ (* -4/3 (- u 1/4)) 1)) 1 (+ (* -4/3 (- u 1/4)) 1) (- u 1/4) 1/4 (* (* s 3) (neg (log (- (/ 1 (+ 1 (/ (- u 1/4) 3/4))) (/ (pow (/ (- u 1/4) 3/4) 2) (+ 1 (/ (- u 1/4) 3/4))))))) (neg (log (- (/ 1 (+ 1 (/ (- u 1/4) 3/4))) (/ (pow (/ (- u 1/4) 3/4) 2) (+ 1 (/ (- u 1/4) 3/4)))))) (log (- (/ 1 (+ 1 (/ (- u 1/4) 3/4))) (/ (pow (/ (- u 1/4) 3/4) 2) (+ 1 (/ (- u 1/4) 3/4))))) (- (/ 1 (+ 1 (/ (- u 1/4) 3/4))) (/ (pow (/ (- u 1/4) 3/4) 2) (+ 1 (/ (- u 1/4) 3/4)))) (/ 1 (+ 1 (/ (- u 1/4) 3/4))) (+ 1 (/ (- u 1/4) 3/4)) (/ (- u 1/4) 3/4) 3/4 (/ (pow (/ (- u 1/4) 3/4) 2) (+ 1 (/ (- u 1/4) 3/4))) (pow (/ (- u 1/4) 3/4) 2) 2)
170.0ms
u
@inf
((+ (* (log (+ (* (exp (/ -2 v)) (- 1 u)) u)) v) 1) (log (+ (* (exp (/ -2 v)) (- 1 u)) u)) (+ (* (exp (/ -2 v)) (- 1 u)) u) (exp (/ -2 v)) (/ -2 v) -2 v (- 1 u) 1 u (+ 1 (* v (log (+ u (* (- 1 u) (exp (/ -2 v))))))) -1 (+ 1 (* v (log (+ u (* (- 1 u) (exp (/ -2 v))))))) (- (* (* u v) (- (exp (neg (/ -2 v))) 1)) 1) (* (* u v) (- (exp (neg (/ -2 v))) 1)) (* u v) (- (exp (neg (/ -2 v))) 1) (neg (/ -2 v)) (+ 1 (* v (log (+ u (* (- 1 u) (exp (/ -2 v))))))) (* v (log (+ u (* (- 1 u) (exp (/ -2 v)))))) (log (+ u (* (- 1 u) (exp (/ -2 v))))) (/ (+ (* (/ (+ (* 4 (- 1 u)) (* (pow (- 1 u) 2) -4)) v) 1/2) (* (- 1 u) -2)) v) (+ (* (/ (+ (* 4 (- 1 u)) (* (pow (- 1 u) 2) -4)) v) 1/2) (* (- 1 u) -2)) (/ (+ (* 4 (- 1 u)) (* (pow (- 1 u) 2) -4)) v) (+ (* 4 (- 1 u)) (* (pow (- 1 u) 2) -4)) 4 (* (pow (- 1 u) 2) -4) (pow (- 1 u) 2) 2 -4 1/2 (* (- 1 u) -2) (+ (log (pow (+ (* (exp (/ -2 v)) (- 1 u)) u) v)) 1) (log (pow (+ (* (exp (/ -2 v)) (- 1 u)) u) v)) (pow (+ (* (exp (/ -2 v)) (- 1 u)) u) v))

analyze11.8s (3.3%)

Memory
-26.9MiB live, 17 792.6MiB allocated; 4.9s 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)

derivations10.1s (2.8%)

Memory
5.5MiB live, 10 646.5MiB allocated; 1.2s collecting garbage
Stop Event
31×fuel
done
Compiler

Compiled 28 029 to 3 969 computations (85.8% saved)

preprocess9.9s (2.8%)

Memory
283.2MiB live, 14 257.0MiB allocated; 1.8s collecting garbage
Stop Event
66×iter-limit
65×node-limit
saturated
Compiler

Compiled 167 138 to 56 751 computations (66% saved)

explain7.9s (2.2%)

Memory
81.7MiB live, 14 865.0MiB allocated; 1.6s collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
log.f32#fsensitivity102172
-.f32#fcancellation38934
sqrt.f32#foflow-rescue3760
sqrt.f64#foflow-rescue3060
log.f64(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))sensitivity1930
cos.f32#fsensitivity18717
tan.f32(tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))cancellation18715
-.f64#fcancellation1630
/.f32#fo/n1480
exp.f32#fsensitivity3217
/.f32#fu/n230
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-rescue170
(*.f32 sinTheta_O sinTheta_O)underflow302
(-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O)))))underflow17
(/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))))underflow151
(*.f32 eta eta)underflow17
*.f64(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))n*u150
/.f32#fo/o140
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/o70
(/.f32 sin2phi (*.f32 alphay alphay))overflow12
(+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))overflow12
*.f32(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))n*u20
log.f64(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))oflow-rescue20
(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)overflow2
(+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))overflow2
(pow.f64 (E.f64) x)overflow2
(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))overflow2
Confusion
Predicted +Predicted -
+219758
-4515742
Precision
0.8296827794561934
Recall
0.9742793791574279
Confusion?
Predicted +Predicted MaybePredicted -
+21973226
-4511045638
Precision?
0.8006465517241379
Recall?
0.9884700665188471
Freqs
test
numberfreq
05800
12220
2414
314
Total Confusion?
Predicted +Predicted MaybePredicted -
+2120
-604
Precision?
0.7931034482758621
Recall?
1.0
Samples
1.8s14 608×0valid
424.0ms2 130×1valid
43.0ms158×2valid
Compiler

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

Precisions
Click to see histograms. Total time spent on operations: 1.4s
ival-mult!: 407.0ms (28.9% of total)
ival-div!: 170.0ms (12.1% of total)
ival-exp: 99.0ms (7% of total)
ival-log: 96.0ms (6.8% of total)
ival-sqrt: 79.0ms (5.6% of total)
ival-sub!: 67.0ms (4.8% of total)
adjust: 57.0ms (4.1% of total)
ival-floor: 56.0ms (4% of total)
ival-add!: 54.0ms (3.8% of total)
ival-sin: 44.0ms (3.1% of total)
ival-sinu: 33.0ms (2.3% of total)
ival-pow2: 31.0ms (2.2% of total)
ival-neg: 29.0ms (2.1% of total)
ival-cosu: 29.0ms (2.1% of total)
ival-cos: 22.0ms (1.6% of total)
ival-tan: 20.0ms (1.4% of total)
ival-log2: 19.0ms (1.4% of total)
ival-fmax: 19.0ms (1.4% of total)
ival-fabs: 18.0ms (1.3% of total)
ival-asin: 17.0ms (1.2% of total)
ival-if: 15.0ms (1.1% of total)
ival-log1p: 7.0ms (0.5% of total)
ival-atan: 6.0ms (0.4% of total)
ival-sinh: 5.0ms (0.4% of total)
ival->=: 4.0ms (0.3% of total)
ival->: 3.0ms (0.2% of total)
ival-<: 1.0ms (0.1% of total)
ival-pi: 0.0ms (0% of total)

bsearch434.0ms (0.1%)

Memory
-32.7MiB live, 582.3MiB allocated; 53ms collecting garbage
Algorithm
83×binary-search
45×left-value
Stop Event
78×narrow-enough
predicate-same
Samples
137.0ms674×1valid
59.0ms682×0valid
44.0ms164×2valid
3.0ms13×1invalid
3.0ms55×0invalid
Compiler

Compiled 13 738 to 9 821 computations (28.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 193.0ms
ival-exp: 40.0ms (20.8% of total)
ival-sqrt: 35.0ms (18.2% of total)
adjust: 31.0ms (16.1% of total)
ival-pow2: 28.0ms (14.5% of total)
ival-mult!: 22.0ms (11.4% of total)
ival-fabs: 12.0ms (6.2% of total)
ival-add!: 9.0ms (4.7% of total)
ival-sub!: 9.0ms (4.7% of total)
ival-log1p: 7.0ms (3.6% of total)

start10.0ms (0%)

Memory
-36.2MiB live, 9.6MiB allocated; 8ms collecting garbage

end0.0ms (0%)

Memory
0.9MiB live, 0.8MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...