Herbie run

Date:Saturday, August 31st, 2024
Commit:ac261103 on main
Hostname:nightly with Racket 8.11.1
Seed:2024244
Parameters:256 points for 4 iterations
Flags:
localize:costslocalize:errorsreduce:regimesreduce:avg-errorreduce:binary-searchreduce:branch-expressionssetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default

Time bar (total: 8.6min)

end1.3min (15.6%)

Memory
-7.2MiB live, 38 431.9MiB allocated

sample1.3min (14.7%)

Memory
960.1MiB live, 100 688.5MiB allocated
Samples
52.8s247 606×0valid
2.4s10 608×0invalid
11.0ms74×1valid
Precisions
Click to see histograms. Total time spent on operations: 44.1s
ival-mult: 9.4s (21.4% of total)
const: 6.6s (15.1% of total)
ival-<=: 6.4s (14.6% of total)
ival-div: 4.1s (9.2% of total)
ival-sin: 1.8s (4.1% of total)
ival-sub: 1.8s (4.1% of total)
ival-fabs: 1.7s (3.9% of total)
ival-sqrt: 1.7s (3.9% of total)
ival-add: 1.6s (3.5% of total)
ival-log: 1.4s (3.3% of total)
ival-and: 1.1s (2.6% of total)
ival-exp: 863.0ms (2% of total)
ival-cos: 792.0ms (1.8% of total)
ival-floor: 702.0ms (1.6% of total)
ival-neg: 558.0ms (1.3% of total)
ival-pi: 468.0ms (1.1% of total)
exact: 416.0ms (0.9% of total)
ival-fmax: 413.0ms (0.9% of total)
ival-tan: 384.0ms (0.9% of total)
ival-==: 271.0ms (0.6% of total)
ival-if: 253.0ms (0.6% of total)
ival-<: 231.0ms (0.5% of total)
ival-log2: 224.0ms (0.5% of total)
ival-asin: 194.0ms (0.4% of total)
ival->: 170.0ms (0.4% of total)
ival-atan: 111.0ms (0.3% of total)
ival-assert: 91.0ms (0.2% of total)
ival-sinh: 71.0ms (0.2% of total)
ival->=: 67.0ms (0.2% of total)
adjust: 2.0ms (0% of total)
Bogosity

eval1.3min (14.6%)

Memory
1 266.3MiB live, 121 812.4MiB allocated
Compiler

Compiled 51 523 776 to 632 089 computations (98.8% saved)

simplify53.9s (10.4%)

Memory
251.7MiB live, 59 278.3MiB allocated
Algorithm
270×egg-herbie
Rules
2 274 778×lower-fma.f64
2 274 392×lower-fma.f32
1 060 292×lower-*.f64
1 057 354×lower-*.f32
568 278×lower-+.f64
Stop Event
365×iter limit
201×node limit
64×saturated
unsound
Counts
61 632 → 61 355

regimes46.7s (9%)

Memory
541.1MiB live, 66 520.2MiB allocated
Counts
18 966 → 340
Calls

145 calls:

1.7s
s
1.5s
sinTheta_i
1.3s
uy
1.2s
cosTheta_i
1.2s
u
Compiler

Compiled 23 359 to 15 217 computations (34.9% saved)

prune37.2s (7.2%)

Memory
-726.9MiB live, 58 087.9MiB allocated
Counts
272 051 → 7 357
Compiler

Compiled 773 316 to 287 941 computations (62.8% saved)

soundness37.0s (7.1%)

Memory
-606.2MiB live, 27 348.8MiB allocated
Rules
1 510 886×lower-fma.f64
1 510 642×lower-fma.f32
957 466×lower-*.f64
955 434×lower-*.f32
467 580×lower-/.f64
Stop Event
273×iter limit
179×node limit
29×fuel
unsound
done
Compiler

Compiled 35 594 to 12 504 computations (64.9% saved)

rewrite29.2s (5.6%)

Memory
-152.0MiB live, 38 349.2MiB allocated
Rules
558 298×lower-fma.f64
557 916×lower-fma.f32
499 960×lower-*.f64
497 208×lower-*.f32
384 888×lower-/.f64
Stop Event
249×iter limit
114×node limit
unsound
Counts
2 302 → 85 150

localize23.3s (4.5%)

Memory
-201.1MiB live, 34 013.5MiB allocated
Samples
12.7s27 476×0valid
1.9s1 117×1valid
1.0s1 931×0invalid
198.0ms91×5exit
43.0ms104×0exit
1.0ms1exit
Compiler

Compiled 137 340 to 6 003 computations (95.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.8s
ival-mult: 4.2s (35.6% of total)
ival-div: 1.7s (14.5% of total)
ival-add: 1.0s (8.5% of total)
ival-pow2: 515.0ms (4.4% of total)
ival-log: 507.0ms (4.3% of total)
ival-sub: 450.0ms (3.8% of total)
ival-pow: 420.0ms (3.6% of total)
ival-sqrt: 407.0ms (3.4% of total)
ival-sin: 361.0ms (3.1% of total)
ival-exp: 303.0ms (2.6% of total)
adjust: 267.0ms (2.3% of total)
ival-cos: 216.0ms (1.8% of total)
ival-neg: 203.0ms (1.7% of total)
ival-pi: 186.0ms (1.6% of total)
const: 169.0ms (1.4% of total)
ival-floor: 116.0ms (1% of total)
ival-log2: 116.0ms (1% of total)
ival-fmax: 111.0ms (0.9% of total)
ival-tan: 108.0ms (0.9% of total)
ival-if: 91.0ms (0.8% of total)
ival-log1p: 68.0ms (0.6% of total)
exact: 57.0ms (0.5% of total)
ival-fabs: 40.0ms (0.3% of total)
ival-atan: 33.0ms (0.3% of total)
ival-true: 26.0ms (0.2% of total)
ival-asin: 23.0ms (0.2% of total)
ival-acos: 21.0ms (0.2% of total)
ival-expm1: 20.0ms (0.2% of total)
ival-cbrt: 15.0ms (0.1% of total)
ival-sinh: 15.0ms (0.1% of total)
ival-assert: 12.0ms (0.1% of total)
ival->=: 10.0ms (0.1% of total)
ival->: 9.0ms (0.1% of total)
ival-e: 6.0ms (0.1% of total)
ival-<: 4.0ms (0% of total)

series21.5s (4.1%)

Memory
104.9MiB live, 30 923.3MiB allocated
Counts
2 302 → 61 632
Calls

1248 calls:

TimeVariablePointExpression
476.0ms
s
@0
((* (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) u) (* (/ -1 (+ (exp (/ (PI) s)) 1)) u) (* (neg s) (log (- (/ 1 (+ (+ (* (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) u) (* (/ -1 (+ (exp (/ (PI) s)) 1)) u)) (/ 1 (+ 1 (exp (/ (pow (pow (PI) 1/4) 4) s)))))) 1))) (neg s) (/ 0 s) (* (neg s) (log (- (/ 1 (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s)))))) 1))) (+ (* (/ (+ (* (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2) -16) (+ (* 16 (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2)) 0)) s) -1/2) (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 4)) (* 0 (* u u)) (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 4) (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) (* (neg s) (log (- (/ 1 (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s)))))) 1))) (+ (* (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2) -16) (* 4 (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 4)))) (/ (+ (* (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2) -16) (* 4 (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 4)))) s) (+ (* (/ (+ (* (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2) -16) (* 4 (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 4)))) s) -1/2) (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 4)) (+ (* (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2) -16) (+ (* 16 (pow (+ (* (* (PI) u) 1/2) (* -1/4 (PI))) 2)) 0)) (/ (+ (* (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2) -16) (+ (* 16 (pow (+ (* (* (PI) u) 1/2) (* -1/4 (PI))) 2)) 0)) s) (+ (* (/ (+ (* (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2) -16) (+ (* 16 (pow (+ (* (* (PI) u) 1/2) (* -1/4 (PI))) 2)) 0)) s) -1/2) (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 4)) (log (+ 1 (exp (/ (neg (PI)) s)))) (pow (pow (PI) 1/4) 4) (pow (PI) 1/4) (/ (PI) s) (+ (* (/ (+ (* (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2) -16) (+ (* 16 (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2)) 0)) s) -1/2) (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 4)) (* u (PI)) (* (neg s) (log (- (/ 1 (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s)))))) 1))) (+ (* (* (PI) u) 1/2) (* -1/4 (PI))))
309.0ms
h
@-inf
((exp (* (log (fmax (+ (pow (* dX.w (floor d)) 2) (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2))) (+ (pow (* dY.w (floor d)) 2) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2))))) 1/2)) (log2 (exp (* (log (fmax (+ (pow (* dX.w (floor d)) 2) (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2))) (+ (pow (* dY.w (floor d)) 2) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2))))) 1/2))) (* (log (fmax (+ (pow (* dX.w (floor d)) 2) (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2))) (+ (pow (* dY.w (floor d)) 2) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2))))) 1/2) (log (fmax (+ (pow (* dX.w (floor d)) 2) (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2))) (+ (pow (* dY.w (floor d)) 2) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 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))) (+ (+ (pow (* dY.u (floor w)) 2) (pow (* dY.v (floor h)) 2)) (pow (* dY.w (floor d)) 2))))) (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)) (pow (* dY.w (floor d)) 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.u (floor w)) 2) (pow (* dY.v (floor h)) 2)) (pow (* dY.w (floor d)) 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))) (* (* (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) (* (floor d) (* dY.w dY.w))) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2))) (exp (+ (* (log (floor h)) 2) (* (log dY.v) 2))) (+ (* (floor d) (* (floor d) (* dX.w dX.w))) (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2))) (pow (* dX.w (floor d)) 2) (pow (* dX.u (floor w)) 2) (pow (* dY.v (floor h)) 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 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 d) (* (floor d) (* dY.w dY.w))) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2))))) (+ (* (log (floor h)) 2) (* (log dY.v) 2)) (sqrt (fmax (+ (* (floor d) (* (floor d) (* dX.w dX.w))) (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 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))))))
216.0ms
w
@inf
((exp (* (log (fmax (+ (pow (* dX.w (floor d)) 2) (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2))) (+ (pow (* dY.w (floor d)) 2) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2))))) 1/2)) (log2 (exp (* (log (fmax (+ (pow (* dX.w (floor d)) 2) (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2))) (+ (pow (* dY.w (floor d)) 2) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2))))) 1/2))) (* (log (fmax (+ (pow (* dX.w (floor d)) 2) (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2))) (+ (pow (* dY.w (floor d)) 2) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2))))) 1/2) (log (fmax (+ (pow (* dX.w (floor d)) 2) (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2))) (+ (pow (* dY.w (floor d)) 2) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 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))) (+ (+ (pow (* dY.u (floor w)) 2) (pow (* dY.v (floor h)) 2)) (pow (* dY.w (floor d)) 2))))) (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)) (pow (* dY.w (floor d)) 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.u (floor w)) 2) (pow (* dY.v (floor h)) 2)) (pow (* dY.w (floor d)) 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))) (* (* (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) (* (floor d) (* dY.w dY.w))) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2))) (exp (+ (* (log (floor h)) 2) (* (log dY.v) 2))) (+ (* (floor d) (* (floor d) (* dX.w dX.w))) (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 2))) (pow (* dX.w (floor d)) 2) (pow (* dX.u (floor w)) 2) (pow (* dY.v (floor h)) 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 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 d) (* (floor d) (* dY.w dY.w))) (+ (pow (* dY.v (floor h)) 2) (pow (* dY.u (floor w)) 2))))) (+ (* (log (floor h)) 2) (* (log dY.v) 2)) (sqrt (fmax (+ (* (floor d) (* (floor d) (* dX.w dX.w))) (+ (pow (* dX.v (floor h)) 2) (pow (* dX.u (floor w)) 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))))))
181.0ms
u
@0
((* (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) u) (* (/ -1 (+ (exp (/ (PI) s)) 1)) u) (* (neg s) (log (- (/ 1 (+ (+ (* (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) u) (* (/ -1 (+ (exp (/ (PI) s)) 1)) u)) (/ 1 (+ 1 (exp (/ (pow (pow (PI) 1/4) 4) s)))))) 1))) (neg s) (/ 0 s) (* (neg s) (log (- (/ 1 (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s)))))) 1))) (+ (* (/ (+ (* (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2) -16) (+ (* 16 (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2)) 0)) s) -1/2) (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 4)) (* 0 (* u u)) (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 4) (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) (* (neg s) (log (- (/ 1 (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s)))))) 1))) (+ (* (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2) -16) (* 4 (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 4)))) (/ (+ (* (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2) -16) (* 4 (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 4)))) s) (+ (* (/ (+ (* (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2) -16) (* 4 (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 4)))) s) -1/2) (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 4)) (+ (* (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2) -16) (+ (* 16 (pow (+ (* (* (PI) u) 1/2) (* -1/4 (PI))) 2)) 0)) (/ (+ (* (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2) -16) (+ (* 16 (pow (+ (* (* (PI) u) 1/2) (* -1/4 (PI))) 2)) 0)) s) (+ (* (/ (+ (* (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2) -16) (+ (* 16 (pow (+ (* (* (PI) u) 1/2) (* -1/4 (PI))) 2)) 0)) s) -1/2) (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 4)) (log (+ 1 (exp (/ (neg (PI)) s)))) (pow (pow (PI) 1/4) 4) (pow (PI) 1/4) (/ (PI) s) (+ (* (/ (+ (* (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2) -16) (+ (* 16 (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2)) 0)) s) -1/2) (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 4)) (* u (PI)) (* (neg s) (log (- (/ 1 (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s)))))) 1))) (+ (* (* (PI) u) 1/2) (* -1/4 (PI))))
180.0ms
s
@0
((* (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) u) (+ (+ (* (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) u) (* (/ -1 (+ (exp (/ (PI) s)) 1)) u)) (/ 1 (+ 1 (exp (/ (PI) s))))) (* (/ -1 (+ (exp (/ (PI) s)) 1)) u) (* (neg s) (log (- (/ 1 (+ (+ (* (exp (neg (log (+ 1 (exp (/ (neg (PI)) s)))))) u) (* (/ -1 (+ (exp (/ (PI) s)) 1)) u)) (/ 1 (+ 1 (exp (/ (PI) s)))))) 1))) (* (neg s) (log (- (/ 1 (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s)))))) 1))) (neg (PI)) (PI) (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 4) (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) (* (neg s) (log (- (/ 1 (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s)))))) 1))) (* u (PI)) (* (neg s) (log (- (/ 1 (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s)))))) 1))) (neg s) (log (- (/ 1 (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s)))))) 1)) (- (/ 1 (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s)))))) 1) (+ (* (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2) -16) (+ (* 16 (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2)) 0)) (/ (+ (* (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2) -16) (+ (* 16 (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2)) 0)) s) (+ (* (/ (+ (* (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2) -16) (+ (* 16 (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2)) 0)) s) -1/2) (* (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 4)) (log (+ 1 (exp (/ (neg (PI)) s)))) (/ (PI) s) (/ (neg (PI)) s) (+ (* u (- (/ 1 (+ 1 (exp (/ (neg (PI)) s)))) (/ 1 (+ 1 (exp (/ (PI) s)))))) (/ 1 (+ 1 (exp (/ (PI) s))))) (+ (* 16 (pow (+ (* (* u (PI)) 1/2) (* -1/4 (PI))) 2)) 0))

analyze20.9s (4%)

Memory
198.3MiB live, 31 988.8MiB allocated
Algorithm
30×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%2.6%97.4%0%0%0%0
0%0%2.6%97.4%0%0%0%1
7.8%0.2%2.4%97.4%0%0%0%2
8.5%0.2%2.4%97.4%0%0%0%3
12.8%0.3%2.3%97.4%0%0%0%4
47%1.2%1.4%97.4%0%0%0%5
51.8%1.3%1.2%97.4%0%0.1%0%6
69.5%1.8%0.8%97.4%0%0.1%0%7
71.6%1.8%0.7%97.4%0%0.1%0%8
81.1%2.1%0.5%97.4%0%0.1%0%9
82.6%2.1%0.4%97.4%0%0.1%0%10
88.3%2.2%0.3%97.4%0%0.1%0%11
89.1%2.2%0.3%97.4%0%0.1%0%12
Compiler

Compiled 2 586 to 1 076 computations (58.4% saved)

explain8.4s (1.6%)

Memory
-177.8MiB live, 12 115.0MiB allocated
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
log.f32#fsensitivity103076
-.f32#fcancellation38931
sqrt.f32#foflow-rescue3280
cos.f32#fsensitivity19415
tan.f32(tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))cancellation18420
/.f32#fo/n1220
exp.f32#fsensitivity3412
/.f32#fu/n190
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-rescue120
(*.f32 sinTheta_O sinTheta_O)underflow314
(-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O)))))underflow12
(/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))))underflow157
(*.f32 eta eta)underflow11
/.f32#fo/o100
/.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*u40
*.f32#fn*o20
Confusion
Predicted +Predicted -
+163152
-3905607
Precision
0.8070262246412667
Recall
0.9691027926322044
Confusion?
Predicted +Predicted MaybePredicted -
+16312329
-3901135494
Precision?
0.7668057487250811
Recall?
0.9827688651218063
Freqs
test
numberfreq
05659
11717
2294
310
Total Confusion?
Predicted +Predicted MaybePredicted -
+1912
-413
Precision?
0.8
Recall?
0.9090909090909091
Samples
2.4s15 308×0valid
24.0ms52×1valid
Compiler

Compiled 16 376 to 1 722 computations (89.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.6s
ival-mult: 549.0ms (33.4% of total)
ival-div: 239.0ms (14.5% of total)
ival-sub: 152.0ms (9.2% of total)
ival-sqrt: 90.0ms (5.5% of total)
ival-sin: 89.0ms (5.4% of total)
ival-add: 86.0ms (5.2% of total)
ival-log: 72.0ms (4.4% of total)
const: 50.0ms (3% of total)
ival-cos: 47.0ms (2.9% of total)
ival-neg: 43.0ms (2.6% of total)
ival-exp: 41.0ms (2.5% of total)
ival-floor: 41.0ms (2.5% of total)
ival-pi: 20.0ms (1.2% of total)
ival-tan: 18.0ms (1.1% of total)
ival-fmax: 16.0ms (1% of total)
ival-if: 13.0ms (0.8% of total)
ival-true: 13.0ms (0.8% of total)
exact: 13.0ms (0.8% of total)
ival-log2: 12.0ms (0.7% of total)
ival-atan: 12.0ms (0.7% of total)
ival-fabs: 8.0ms (0.5% of total)
ival-assert: 6.0ms (0.4% 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->: 2.0ms (0.1% of total)
adjust: 2.0ms (0.1% of total)
ival-<: 1.0ms (0.1% of total)

preprocess7.9s (1.5%)

Memory
323.2MiB live, 9 513.1MiB allocated
Algorithm
30×egg-herbie
Rules
132 696×lower-fma.f64
132 696×lower-fma.f32
46 474×lower-*.f64
46 188×lower-*.f32
27 984×unsub-neg
Stop Event
60×iter limit
31×saturated
29×node limit
Compiler

Compiled 51 644 to 16 024 computations (69% saved)

bsearch160.0ms (0%)

Memory
102.7MiB live, 253.1MiB allocated
Algorithm
54×left-value
24×binary-search
Stop Event
24×narrow-enough
Compiler

Compiled 2 801 to 1 793 computations (36% saved)

start2.0ms (0%)

Memory
8.4MiB live, 8.4MiB allocated

Profiling

Loading profile data...