Herbie run

Date:Wednesday, November 27th, 2024
Commit:27374272 on bhargav-bigfloat
Hostname:nightly with Racket 8.10
Seed:2024332
Parameters:256 points for 4 iterations
Flags:
localize:costslocalize:errorsreduce:regimesreduce:binary-searchreduce:branch-expressionssetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default

Time bar (total: 4.5min)

sample55.4s (20.5%)

Memory
-232.4MiB live, 20 638.4MiB allocated
Samples
37.4s262 406×0valid
1.6s7 878×1valid
1.3s11 141×0invalid
517.0ms2 163×2valid
201.0ms667×1invalid
180.0ms1 580×1exit
0.0ms4valid
Precisions
Click to see histograms. Total time spent on operations: 32.9s
ival-mult: 6.7s (20.3% of total)
const: 4.8s (14.5% of total)
ival-<=: 4.0s (12.1% of total)
ival-div: 2.9s (8.8% of total)
ival-add: 1.4s (4.4% of total)
ival-sub: 1.4s (4.3% of total)
ival-sqrt: 1.1s (3.4% of total)
ival-and: 1.1s (3.2% of total)
ival-fabs: 1.0s (3.2% of total)
ival-log: 967.0ms (2.9% of total)
ival-sin: 748.0ms (2.3% of total)
ival-floor: 629.0ms (1.9% of total)
ival-pow: 610.0ms (1.9% of total)
ival-exp: 584.0ms (1.8% of total)
ival-sinu: 454.0ms (1.4% of total)
exact: 394.0ms (1.2% of total)
ival-neg: 368.0ms (1.1% of total)
ival-pow2: 342.0ms (1% of total)
ival-cosu: 335.0ms (1% of total)
adjust: 324.0ms (1% of total)
ival-cos: 312.0ms (0.9% of total)
ival-if: 302.0ms (0.9% of total)
ival-e: 268.0ms (0.8% of total)
ival-tan: 256.0ms (0.8% of total)
ival-fmax: 240.0ms (0.7% of total)
ival-pi: 206.0ms (0.6% of total)
ival-asin: 191.0ms (0.6% of total)
ival-log2: 177.0ms (0.5% of total)
ival-<: 136.0ms (0.4% of total)
ival->: 130.0ms (0.4% of total)
ival-log1p: 123.0ms (0.4% of total)
ival-assert: 93.0ms (0.3% of total)
ival-==: 89.0ms (0.3% of total)
ival-atan: 80.0ms (0.2% of total)
ival-sinh: 61.0ms (0.2% of total)
ival->=: 43.0ms (0.1% of total)
ival-true: 17.0ms (0.1% of total)
Bogosity

simplify36.4s (13.4%)

Memory
488.5MiB live, 10 964.5MiB allocated
Algorithm
297×egg-herbie
Stop Event
401×iter limit
220×node limit
72×saturated
unsound
Counts
15 919 → 15 824

regimes32.6s (12.1%)

Memory
-9.8MiB live, 15 064.0MiB allocated
Counts
18 827 → 391
Calls

160 calls:

1.2s
s
841.0ms
x
754.0ms
uy
753.0ms
(*.f32 uy #s(literal 2 binary32))
752.0ms
(*.f32 (*.f32 uy #s(literal 2 binary32)) (PI.f32))
Compiler

Compiled 28 402 to 17 547 computations (38.2% saved)

soundness30.1s (11.1%)

Memory
24.8MiB live, 436.4MiB allocated
Stop Event
300×iter limit
190×node limit
32×fuel
unsound
done
Compiler

Compiled 79 431 to 20 167 computations (74.6% saved)

eval26.5s (9.8%)

Memory
330.3MiB live, 22 750.9MiB allocated
Compiler

Compiled 30 246 327 to 588 231 computations (98.1% saved)

rewrite19.9s (7.4%)

Memory
109.7MiB live, 8 117.9MiB allocated
Stop Event
286×iter limit
121×node limit
11×unsound
Counts
2 479 → 83 007

localize17.8s (6.6%)

Memory
-55.9MiB live, 7 429.1MiB allocated
Samples
9.2s29 362×0valid
1.1s1 511×1valid
928.0ms2 176×0invalid
347.0ms355×2valid
193.0ms68×5exit
146.0ms200×1exit
29.0ms18×3valid
24.0ms101×0exit
0.0ms4valid
Compiler

Compiled 293 481 to 14 266 computations (95.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.9s
ival-mult: 2.7s (30.5% of total)
ival-div: 1.3s (14.6% of total)
ival-add: 735.0ms (8.2% of total)
ival-pow: 451.0ms (5% of total)
ival-pow2: 437.0ms (4.9% of total)
ival-sub: 407.0ms (4.6% of total)
ival-sqrt: 388.0ms (4.3% of total)
adjust: 277.0ms (3.1% of total)
ival-log: 274.0ms (3.1% of total)
ival-exp: 228.0ms (2.6% of total)
ival-sin: 183.0ms (2% of total)
ival-cos: 169.0ms (1.9% of total)
ival-neg: 149.0ms (1.7% of total)
const: 129.0ms (1.4% of total)
ival-log1p: 114.0ms (1.3% of total)
ival-fmax: 107.0ms (1.2% of total)
ival-sinu: 88.0ms (1% of total)
ival-log2: 83.0ms (0.9% of total)
ival-cosu: 80.0ms (0.9% of total)
ival-if: 77.0ms (0.9% of total)
ival-floor: 75.0ms (0.8% of total)
ival-expm1: 57.0ms (0.6% of total)
exact: 57.0ms (0.6% of total)
ival-tan: 55.0ms (0.6% of total)
ival-fabs: 53.0ms (0.6% of total)
ival-pi: 42.0ms (0.5% of total)
ival-atan: 32.0ms (0.4% of total)
ival-e: 30.0ms (0.3% of total)
ival-true: 26.0ms (0.3% of total)
ival-asin: 19.0ms (0.2% of total)
ival->: 15.0ms (0.2% of total)
ival-sinh: 14.0ms (0.2% of total)
ival-assert: 12.0ms (0.1% of total)
ival-tanu: 10.0ms (0.1% of total)
ival->=: 10.0ms (0.1% of total)
ival-<: 10.0ms (0.1% of total)
ival-cbrt: 9.0ms (0.1% of total)
ival-acos: 6.0ms (0.1% of total)

analyze13.9s (5.1%)

Memory
16.9MiB live, 5 239.3MiB allocated
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)

series12.6s (4.7%)

Memory
93.3MiB live, 5 850.9MiB allocated
Counts
2 479 → 15 919
Calls

1452 calls:

TimeVariablePointExpression
159.0ms
s
@0
((* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) (/ 1 (/ (+ (pow (+ (exp (/ (PI) s)) 1) -3) (pow (* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) 3)) (+ (pow (+ (exp (/ (PI) s)) 1) -2) (- (pow (* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) 2) (/ (* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) (+ (exp (/ (PI) s)) 1)))))) (+ (pow (+ (exp (/ (PI) s)) 1) -2) (- (pow (* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) 2) (/ (* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) (+ (exp (/ (PI) s)) 1)))) (* (neg s) (log (- (/ 1 (/ (+ (pow (+ (exp (/ (PI) s)) 1) -3) (pow (* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) 3)) (+ (pow (+ (exp (/ (PI) s)) 1) -2) (- (pow (* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) 2) (/ (* (- (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) (exp (neg (log (+ 1 (exp (/ (PI) s))))))) u) (+ (exp (/ (PI) s)) 1)))))) 1))) (* 0 s) (* (neg s) (log (- (exp (neg (log (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s)))))))) 1))) (+ (* (sqrt (PI)) (* (sqrt (PI)) (* -1/2 u))) (* 1/4 (PI))) (* (+ (* (sqrt (PI)) (* (sqrt (PI)) (* -1/2 u))) (* 1/4 (PI))) -4) (* (neg s) (log (- (/ 1 (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (* (pow (cbrt (PI)) 2) (/ (cbrt (PI)) s))))))) 1))) (sqrt (PI)) (- (pow (* (* (PI) u) -1/2) 2) (* 1/16 (* (PI) (PI)))) (/ 1 (/ (* (PI) (+ (* -1/2 u) -1/4)) (- (pow (* (* (PI) u) -1/2) 2) (* 1/16 (* (PI) (PI)))))) (/ (* (PI) (+ (* -1/2 u) -1/4)) (- (pow (* (* (PI) u) -1/2) 2) (* 1/16 (* (PI) (PI))))) (* (neg s) (log (- (/ 1 (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (* (pow (cbrt (PI)) 2) (/ (cbrt (PI)) s))))))) 1))) (+ (* -1/2 (* 1 (* (PI) u))) (* 1/4 (PI))) (* 1 (* (PI) u)) (- 1/2 (/ (+ (* -1/2 (* 1 (* (PI) u))) (* 1/4 (PI))) s)) (* (neg s) (log (- (exp (neg (log (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s)))))))) 1))) (PI) (log (+ 1 (exp (/ (neg (PI)) s)))) (log (+ 1 (exp (/ (PI) s)))) (exp (/ (neg (PI)) s)) (* (sqrt (PI)) (* -1/2 u)) (+ (* -1/2 u) -1/4) (* (PI) (PI)) (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s))))) (- (exp (neg (log (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s)))))))) 1))
156.0ms
dY.v
@-inf
((* (* (floor d) dY.w) (* (floor d) dY.w)) (* (* (pow (floor w) 2) dX.u) dX.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))) (+ (+ (pow (* dY.u (floor w)) 2) (pow (* dY.v (floor h)) 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))) (+ (+ (pow (* dY.u (floor w)) 2) (pow (* dY.v (floor h)) 2)) (* (* (floor d) dY.w) (* (floor d) dY.w))))) (pow (pow (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.v (floor h)) 2) (pow (* dY.u (floor w)) 2)) (pow (* dY.w (floor d)) 2))) 1/4) 2) (log2 (pow (pow (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.v (floor h)) 2) (pow (* dY.u (floor w)) 2)) (pow (* dY.w (floor d)) 2))) 1/4) 2)) (pow (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.v (floor h)) 2) (pow (* dY.u (floor w)) 2)) (pow (* dY.w (floor d)) 2))) 1/4) (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.v (floor h)) 2) (pow (* dY.u (floor w)) 2)) (pow (* dY.w (floor d)) 2))) (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)) (+ (* (* (pow (floor w) 2) dX.u) dX.u) (* (* (pow (floor h) 2) dX.v) dX.v)) (log2 (sqrt (fmax (+ (* dX.v (* (pow (floor h) 2) dX.v)) (+ (pow (* dX.w (floor d)) 2) (pow (* dX.u (floor 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)))))) (exp (+ (* (log (floor h)) 2) (* (log dY.v) 2))) (+ (* (log (floor h)) 2) (* (log 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 (* 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))) (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))))) (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (sqrt (fmax (+ (* dX.v (* (pow (floor h) 2) dX.v)) (+ (pow (* dX.w (floor d)) 2) (pow (* dX.u (floor 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))))) (+ (* dX.v (* (pow (floor h) 2) dX.v)) (+ (pow (* dX.w (floor d)) 2) (pow (* dX.u (floor w)) 2))) (sqrt (fmax (+ (* (pow (floor h) 2) (* dX.v dX.v)) (+ (pow (* dX.u (floor w)) 2) (pow (* dX.w (floor d)) 2))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (exp (+ (* (log (floor h)) 2) (* (log dY.v) 2)))) (* (* (floor d) dY.w) (* (floor d) dY.w))))) (+ (* (pow (floor h) 2) (* dX.v dX.v)) (+ (pow (* dX.u (floor w)) 2) (pow (* dX.w (floor d)) 2))))
128.0ms
dY.u
@inf
((/ 1 (/ (sqrt (fmax (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2)) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2)))) (* dY.v (floor h)))) (* (* (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 (floor w)) 2) (* (log dX.u) 2))) (/ (/ dY.v 1) (/ 1 (floor h))) (/ dY.v 1) (sqrt (fmax (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2)) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2)))) (sqrt (fmax (+ (pow (* (floor w) dX.u) 2) (pow (* (floor h) dX.v) 2)) (+ (pow (* dY.u (floor w)) 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))) (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) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (pow (fmax (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2)) (+ (pow (* dY.u (floor w)) 2) (pow (* (floor h) dY.v) 2))) -1/4) (pow (pow (fmax (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2)) (+ (pow (* dY.u (floor w)) 2) (pow (* (floor h) dY.v) 2))) -1/4) -2) (+ (* (log (floor w)) 2) (* (log dX.u) 2)) (sqrt (fmax (+ (exp (+ (* (log (floor w)) 2) (* (log dX.u) 2))) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))))
114.0ms
c
@0
((* (log (+ 1 (* y (- (exp x) 1)))) c) (log (+ 1 (* y (- (exp x) 1)))) (* y (- (exp x) 1)) (- (exp x) 1) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (* (* c y) x) (* c y) (+ (* (* c (+ (* (* 1/6 x) (+ (* (* y y) (+ (* 2 y) -3)) y)) (* (- y (* y y)) 1/2))) x) (* c y)) (+ (* (* 1/6 x) (+ (* (* y y) (+ (* 2 y) -3)) y)) (* (- y (* y y)) 1/2)) (* (- y (* y y)) 1/2) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (+ 1 (* (- (pow (E) x) 1) y)) (log (+ 1 (* (- (pow (E) x) 1) y))) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (* (- (pow (E) x) 1) y) (* c (- (log (+ 1 (pow (* y (- (exp x) 1)) 3))) (log (+ 1 (* (+ (* y (- (exp x) 1)) -1) (* y (- (exp x) 1))))))) (- (log (+ 1 (pow (* y (- (exp x) 1)) 3))) (log (+ 1 (* (+ (* y (- (exp x) 1)) -1) (* y (- (exp x) 1)))))) (log (+ 1 (pow (* y (- (exp x) 1)) 3))) (pow (* y (- (exp x) 1)) 3) (* (+ (* (* c (+ (* (* 1/6 x) (+ (* (* y y) (+ (* 2 y) -3)) y)) (* (- y (* y y)) 1/2))) x) (* c y)) x) (- (pow (E) x) 1) (pow (E) x) (log (+ 1 (* (+ (* y (- (exp x) 1)) -1) (* y (- (exp x) 1))))))
113.0ms
h
@-inf
((* (* (floor d) dY.w) (* (floor d) dY.w)) (* (* (pow (floor w) 2) dX.u) dX.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))) (+ (+ (pow (* dY.u (floor w)) 2) (pow (* dY.v (floor h)) 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))) (+ (+ (pow (* dY.u (floor w)) 2) (pow (* dY.v (floor h)) 2)) (* (* (floor d) dY.w) (* (floor d) dY.w))))) (pow (pow (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.v (floor h)) 2) (pow (* dY.u (floor w)) 2)) (pow (* dY.w (floor d)) 2))) 1/4) 2) (log2 (pow (pow (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.v (floor h)) 2) (pow (* dY.u (floor w)) 2)) (pow (* dY.w (floor d)) 2))) 1/4) 2)) (pow (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.v (floor h)) 2) (pow (* dY.u (floor w)) 2)) (pow (* dY.w (floor d)) 2))) 1/4) (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.v (floor h)) 2) (pow (* dY.u (floor w)) 2)) (pow (* dY.w (floor d)) 2))) (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)) (+ (* (* (pow (floor w) 2) dX.u) dX.u) (* (* (pow (floor h) 2) dX.v) dX.v)) (log2 (sqrt (fmax (+ (* dX.v (* (pow (floor h) 2) dX.v)) (+ (pow (* dX.w (floor d)) 2) (pow (* dX.u (floor 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)))))) (exp (+ (* (log (floor h)) 2) (* (log dY.v) 2))) (+ (* (log (floor h)) 2) (* (log 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 (* 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))) (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))))) (+ (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (* (* (floor d) dX.w) (* (floor d) dX.w))) (sqrt (fmax (+ (* dX.v (* (pow (floor h) 2) dX.v)) (+ (pow (* dX.w (floor d)) 2) (pow (* dX.u (floor 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))))) (+ (* dX.v (* (pow (floor h) 2) dX.v)) (+ (pow (* dX.w (floor d)) 2) (pow (* dX.u (floor w)) 2))) (sqrt (fmax (+ (* (pow (floor h) 2) (* dX.v dX.v)) (+ (pow (* dX.u (floor w)) 2) (pow (* dX.w (floor d)) 2))) (+ (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (exp (+ (* (log (floor h)) 2) (* (log dY.v) 2)))) (* (* (floor d) dY.w) (* (floor d) dY.w))))) (+ (* (pow (floor h) 2) (* dX.v dX.v)) (+ (pow (* dX.u (floor w)) 2) (pow (* dX.w (floor d)) 2))))

prune12.3s (4.5%)

Memory
-431.8MiB live, 11 846.1MiB allocated
Counts
145 845 → 7 326
Compiler

Compiled 1 109 661 to 389 443 computations (64.9% saved)

preprocess6.7s (2.5%)

Memory
96.0MiB live, 2 188.0MiB allocated
Algorithm
33×egg-herbie
Stop Event
66×iter limit
35×saturated
31×node limit
Compiler

Compiled 124 730 to 24 403 computations (80.4% saved)

explain6.1s (2.2%)

Memory
-238.6MiB live, 3 461.7MiB allocated
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
log.f32#fsensitivity101185
-.f32#fcancellation39330
sqrt.f32#foflow-rescue3470
sqrt.f64#foflow-rescue2840
log.f64(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))sensitivity2121
tan.f32(tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))cancellation20211
cos.f32#fsensitivity20010
-.f64#fcancellation1600
/.f32#fo/n1220
exp.f32#fsensitivity4136
/.f32#fu/n230
*.f64(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))n*u160
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-rescue140
(*.f32 sinTheta_O sinTheta_O)underflow278
(-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O)))))underflow14
(/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))))underflow139
(*.f32 eta eta)underflow14
/.f32#fo/o140
/.f32(/.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))n/o100
(/.f32 sin2phi (*.f32 alphay alphay))overflow20
(+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))overflow20
sqrt.f64#fuflow-rescue60
*.f64#fn*o30
*.f32#fn*u20
*.f32(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))u*o10
(*.f32 u normAngle)underflow2
(sin.f32 (*.f32 u normAngle))underflow2
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))overflow1
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 (sin.f32 (*.f32 (-.f32 #s(literal 1 binary32) u) normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))n*o10
Confusion
Predicted +Predicted -
+213657
-4955760
Precision
0.8118586088939567
Recall
0.9740082079343365
Confusion?
Predicted +Predicted MaybePredicted -
+21363720
-4951195641
Precision?
0.7796914244707571
Recall?
0.9908800729594163
Freqs
test
numberfreq
05817
12213
2404
314
Total Confusion?
Predicted +Predicted MaybePredicted -
+2111
-613
Precision?
0.7586206896551724
Recall?
0.9565217391304348
Total Time
1051.88037109375
Average Time
0.12451235453287761
Samples
1.8s16 150×0valid
146.0ms606×1valid
41.0ms136×2valid
1.0ms4valid
1.0ms3valid
Compiler

Compiled 24 467 to 2 456 computations (90% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.3s
ival-mult: 405.0ms (30.4% of total)
ival-div: 168.0ms (12.6% of total)
ival-add: 92.0ms (6.9% of total)
ival-sub: 82.0ms (6.2% of total)
ival-sqrt: 63.0ms (4.7% of total)
ival-log: 60.0ms (4.5% of total)
ival-sin: 40.0ms (3% of total)
ival-exp: 36.0ms (2.7% of total)
ival-floor: 35.0ms (2.6% of total)
ival-pow: 34.0ms (2.6% of total)
ival-sinu: 30.0ms (2.3% of total)
adjust: 23.0ms (1.7% of total)
ival-pow2: 23.0ms (1.7% of total)
ival-neg: 22.0ms (1.7% of total)
ival-cosu: 21.0ms (1.6% of total)
const: 20.0ms (1.5% of total)
ival-pi: 20.0ms (1.5% of total)
ival-cos: 19.0ms (1.4% of total)
ival-tan: 16.0ms (1.2% of total)
ival-e: 15.0ms (1.1% of total)
ival-fmax: 15.0ms (1.1% of total)
ival-fabs: 15.0ms (1.1% of total)
ival-true: 13.0ms (1% of total)
exact: 13.0ms (1% of total)
ival-if: 11.0ms (0.8% of total)
ival-log2: 10.0ms (0.8% of total)
ival-assert: 6.0ms (0.5% of total)
ival-log1p: 6.0ms (0.5% of total)
ival-atan: 5.0ms (0.4% of total)
ival-asin: 4.0ms (0.3% of total)
ival-sinh: 4.0ms (0.3% of total)
ival->=: 3.0ms (0.2% of total)
ival->: 2.0ms (0.2% of total)
ival-<: 1.0ms (0.1% of total)

bsearch261.0ms (0.1%)

Memory
-3.6MiB live, 123.4MiB allocated
Algorithm
64×left-value
37×binary-search
Stop Event
36×narrow-enough
predicate-same
Samples
75.0ms921×0valid
5.0ms74×0invalid
2.0ms1valid
Compiler

Compiled 8 982 to 5 640 computations (37.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 58.0ms
ival-mult: 11.0ms (18.9% of total)
ival-pow: 10.0ms (17.2% of total)
ival-pow2: 7.0ms (12% of total)
ival-e: 5.0ms (8.6% of total)
ival-add: 5.0ms (8.6% of total)
ival-sub: 4.0ms (6.9% of total)
ival-fabs: 4.0ms (6.9% of total)
ival-log1p: 4.0ms (6.9% of total)
ival-div: 3.0ms (5.2% of total)
ival-sqrt: 3.0ms (5.2% of total)
ival-true: 1.0ms (1.7% of total)
exact: 1.0ms (1.7% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

start2.0ms (0%)

Memory
2.5MiB live, 2.5MiB allocated

end0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

Profiling

Loading profile data...