Herbie run

Date:Saturday, May 25th, 2024
Commit:445b0ec4 on explanations-trifurcate
Hostname:nightly with Racket 8.11.1
Seed:2024146
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: 17.6min)

sample5.7min (32.5%)

Results
2.0min25933×5exit
1.2min129782×1valid
43.4s270634×0valid
23.0s8237×3valid
18.9s19236×2valid
14.3s49639×0unsamplable
8.2s1422×4valid
4.1s19059×0invalid
3.3s11057×1invalid
1.3s1692×2invalid
99.0ms863×0precondition
51.0ms53×1unsamplable
14.0ms23×3invalid
4.0ms2unsamplable
2.0ms5valid
Precisions
Click to see histograms. Total time spent on operations: 4.5min
ival-pow: 1.9min (42.3% of total)
ival-mult: 25.8s (9.6% of total)
ival-sin: 22.9s (8.5% of total)
ival-cos: 22.3s (8.3% of total)
backward-pass: 17.9s (6.6% of total)
ival-div: 16.5s (6.1% of total)
ival-add: 9.8s (3.6% of total)
ival-sub: 8.9s (3.3% of total)
ival-log: 6.1s (2.3% of total)
ival-exp: 5.6s (2.1% of total)
ival-sqrt: 4.9s (1.8% of total)
ival-neg: 4.0s (1.5% of total)
ival-<: 2.8s (1% of total)
...c/correct-round.rkt:121:19: 2.2s (0.8% of total)
ival-pi: 1.2s (0.4% of total)
const: 1.0s (0.4% of total)
ival-atan2: 929.0ms (0.3% of total)
ival-tan: 553.0ms (0.2% of total)
ival-acos: 449.0ms (0.2% of total)
ival-atan: 447.0ms (0.2% of total)
ival-and: 425.0ms (0.2% of total)
ival-cbrt: 421.0ms (0.2% of total)
ival-<=: 241.0ms (0.1% of total)
ival-asin: 197.0ms (0.1% of total)
ival-fabs: 158.0ms (0.1% of total)
ival-==: 2.0ms (0% of total)
ival-or: 0.0ms (0% of total)
Bogosity

simplify2.8min (15.7%)

Algorithm
443×egg-herbie
Rules
171114×fma-define
120423×fma-neg
97357×distribute-lft-in
93134×times-frac
89507×*-commutative
Stop Event
116×saturated
326×node limit
unsound
Counts
145197 → 121568

soundness1.8min (10.3%)

Rules
83354×fma-define
63790×log1p-expm1-u
52903×times-frac
51114×expm1-log1p-u
48880×distribute-lft-in
Stop Event
15×saturated
43×fuel
253×node limit
unsound
done
Compiler

Compiled 70894 to 20104 computations (71.6% saved)

localize1.6min (9%)

Results
24.7s13785×1valid
19.2s2021×5exit
12.4s26348×0valid
8.7s2267×2valid
3.6s555×3valid
2.9s4535×0invalid
1.4s455×1invalid
939.0ms98×4valid
473.0ms90×2invalid
193.0ms10×5valid
73.0ms12×3invalid
Compiler

Compiled 95809 to 7579 computations (92.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 50.4s
ival-mult: 9.3s (18.5% of total)
ival-pow: 7.2s (14.2% of total)
ival-sin: 6.8s (13.6% of total)
backward-pass: 5.5s (10.8% of total)
ival-cos: 4.9s (9.8% of total)
ival-div: 4.0s (7.9% of total)
ival-sub: 1.7s (3.3% of total)
ival-add: 1.6s (3.2% of total)
ival-exp: 1.4s (2.8% of total)
ival-log: 1.1s (2.2% of total)
ival-sqrt: 1.1s (2.2% of total)
ival-hypot: 1.1s (2.1% of total)
...c/correct-round.rkt:121:19: 939.0ms (1.9% of total)
ival-fma: 916.0ms (1.8% of total)
ival-log1p: 618.0ms (1.2% of total)
ival-neg: 468.0ms (0.9% of total)
ival-atan2: 368.0ms (0.7% of total)
ival-cbrt: 317.0ms (0.6% of total)
ival-expm1: 234.0ms (0.5% of total)
const: 220.0ms (0.4% of total)
ival-acos: 173.0ms (0.3% of total)
ival-atan: 167.0ms (0.3% of total)
ival-pi: 118.0ms (0.2% of total)
ival-tan: 95.0ms (0.2% of total)
ival-fabs: 90.0ms (0.2% of total)
ival-asin: 19.0ms (0% of total)
ival-e: 2.0ms (0% of total)
ival-sinh: 1.0ms (0% of total)

regimes1.0min (5.9%)

Counts
29136 → 1011
Calls

155 calls:

4.2s
phi1
3.9s
phi2
3.8s
lambda1
3.8s
lambda2
2.9s
(-.f64 lambda1 lambda2)
Compiler

Compiled 13707 to 8929 computations (34.9% saved)

rewrite55.1s (5.2%)

Algorithm
195×batch-egg-rewrite
Rules
118636×log1p-expm1-u
93997×expm1-log1p-u
53198×pow1
49650×add-exp-log
46849×add-log-exp
Stop Event
192×node limit
unsound
Counts
2989 → 76620

prune53.7s (5.1%)

Counts
194937 → 8740
Compiler

Compiled 632556 to 301505 computations (52.3% saved)

eval41.7s (3.9%)

Compiler

Compiled 9378980 to 876043 computations (90.7% saved)

series39.1s (3.7%)

Counts
2989 → 68577
Calls

17268 calls:

TimeVariablePointExpression
924.0ms
angle
@inf
(log (pow (exp (/ y-scale (* (* 2 (- (pow b 2) (pow a 2))) (/ (cos (* angle (* (PI) 1/180))) x-scale)))) (/ (- (* (pow (sqrt (+ (* (* a (cos (* angle (* (PI) 1/180)))) (* a (cos (* angle (* (PI) 1/180))))) (* (* b (sin (* angle (* (PI) 1/180)))) (* b (sin (* angle (* (PI) 1/180))))))) 2) (pow y-scale -2)) (+ (* (pow (sqrt (+ (* (* a (sin (* angle (* (PI) 1/180)))) (* a (sin (* angle (* (PI) 1/180))))) (* (* (cos (* angle (* (PI) 1/180))) b) (* (cos (* angle (* (PI) 1/180))) b)))) 2) (pow x-scale -2)) (sqrt (+ (* (- (* (pow (sqrt (+ (* (* a (sin (* angle (* (PI) 1/180)))) (* a (sin (* angle (* (PI) 1/180))))) (* (* (cos (* angle (* (PI) 1/180))) b) (* (cos (* angle (* (PI) 1/180))) b)))) 2) (pow x-scale -2)) (* (pow (sqrt (+ (* (* a (cos (* angle (* (PI) 1/180)))) (* a (cos (* angle (* (PI) 1/180))))) (* (* b (sin (* angle (* (PI) 1/180)))) (* b (sin (* angle (* (PI) 1/180))))))) 2) (pow y-scale -2))) (- (* (pow (sqrt (+ (* (* a (sin (* angle (* (PI) 1/180)))) (* a (sin (* angle (* (PI) 1/180))))) (* (* (cos (* angle (* (PI) 1/180))) b) (* (cos (* angle (* (PI) 1/180))) b)))) 2) (pow x-scale -2)) (* (pow (sqrt (+ (* (* a (cos (* angle (* (PI) 1/180)))) (* a (cos (* angle (* (PI) 1/180))))) (* (* b (sin (* angle (* (PI) 1/180)))) (* b (sin (* angle (* (PI) 1/180))))))) 2) (pow y-scale -2)))) (* (* 2 (/ (* (cos (* angle (* (PI) 1/180))) (* (sin (* angle (* (PI) 1/180))) (- (pow b 2) (pow a 2)))) (* y-scale x-scale))) (* 2 (/ (* (cos (* angle (* (PI) 1/180))) (* (sin (* angle (* (PI) 1/180))) (- (pow b 2) (pow a 2)))) (* y-scale x-scale)))))))) (sin (* angle (* (PI) 1/180))))))
451.0ms
angle
@0
(log (pow (exp (/ y-scale (* (* 2 (- (pow b 2) (pow a 2))) (/ (cos (* angle (* (PI) 1/180))) x-scale)))) (/ (- (* (pow (sqrt (+ (* (* a (cos (* angle (* (PI) 1/180)))) (* a (cos (* angle (* (PI) 1/180))))) (* (* b (sin (* angle (* (PI) 1/180)))) (* b (sin (* angle (* (PI) 1/180))))))) 2) (pow y-scale -2)) (+ (* (pow (sqrt (+ (* (* a (sin (* angle (* (PI) 1/180)))) (* a (sin (* angle (* (PI) 1/180))))) (* (* (cos (* angle (* (PI) 1/180))) b) (* (cos (* angle (* (PI) 1/180))) b)))) 2) (pow x-scale -2)) (sqrt (+ (* (- (* (pow (sqrt (+ (* (* a (sin (* angle (* (PI) 1/180)))) (* a (sin (* angle (* (PI) 1/180))))) (* (* (cos (* angle (* (PI) 1/180))) b) (* (cos (* angle (* (PI) 1/180))) b)))) 2) (pow x-scale -2)) (* (pow (sqrt (+ (* (* a (cos (* angle (* (PI) 1/180)))) (* a (cos (* angle (* (PI) 1/180))))) (* (* b (sin (* angle (* (PI) 1/180)))) (* b (sin (* angle (* (PI) 1/180))))))) 2) (pow y-scale -2))) (- (* (pow (sqrt (+ (* (* a (sin (* angle (* (PI) 1/180)))) (* a (sin (* angle (* (PI) 1/180))))) (* (* (cos (* angle (* (PI) 1/180))) b) (* (cos (* angle (* (PI) 1/180))) b)))) 2) (pow x-scale -2)) (* (pow (sqrt (+ (* (* a (cos (* angle (* (PI) 1/180)))) (* a (cos (* angle (* (PI) 1/180))))) (* (* b (sin (* angle (* (PI) 1/180)))) (* b (sin (* angle (* (PI) 1/180))))))) 2) (pow y-scale -2)))) (* (* 2 (/ (* (cos (* angle (* (PI) 1/180))) (* (sin (* angle (* (PI) 1/180))) (- (pow b 2) (pow a 2)))) (* y-scale x-scale))) (* 2 (/ (* (cos (* angle (* (PI) 1/180))) (* (sin (* angle (* (PI) 1/180))) (- (pow b 2) (pow a 2)))) (* y-scale x-scale)))))))) (sin (* angle (* (PI) 1/180))))))
411.0ms
c_p
@0
(* c_p (neg (log (+ 1 (exp s)))))
364.0ms
a
@inf
(log (* a (sin (* angle (* (PI) 1/180)))))
318.0ms
b
@0
(* (* b (* (pow a 2) (neg b))) (log (exp (* 8 (* (* b (* (pow a 2) (/ (neg b) (pow (* x-scale y-scale) 2)))) (+ (/ (+ (pow (* a (sin (* angle (* 1/180 (PI))))) 2) (pow (* b (cos (* angle (* 1/180 (PI))))) 2)) (pow x-scale 2)) (- (/ (+ (pow (* a (cos (* angle (* 1/180 (PI))))) 2) (pow (* b (sin (* angle (* 1/180 (PI))))) 2)) (pow y-scale 2)) (sqrt (+ (* (- (/ (+ (pow (* a (sin (* angle (* 1/180 (PI))))) 2) (pow (* b (cos (* angle (* 1/180 (PI))))) 2)) (pow x-scale 2)) (/ (+ (pow (* a (cos (* angle (* 1/180 (PI))))) 2) (pow (* b (sin (* angle (* 1/180 (PI))))) 2)) (pow y-scale 2))) (- (/ (+ (pow (* a (sin (* angle (* 1/180 (PI))))) 2) (pow (* b (cos (* angle (* 1/180 (PI))))) 2)) (pow x-scale 2)) (/ (+ (pow (* a (cos (* angle (* 1/180 (PI))))) 2) (pow (* b (sin (* angle (* 1/180 (PI))))) 2)) (pow y-scale 2)))) (* (* 2 (* (- (pow b 2) (pow a 2)) (* (sin (* angle (* 1/180 (PI)))) (/ (cos (* angle (* 1/180 (PI)))) (* x-scale y-scale))))) (* 2 (* (- (pow b 2) (pow a 2)) (* (sin (* angle (* 1/180 (PI)))) (/ (cos (* angle (* 1/180 (PI)))) (* x-scale y-scale)))))))))))))))

bsearch26.8s (2.5%)

Algorithm
368×binary-search
91×left-value
Stop Event
predicate-same
365×narrow-enough
Results
9.3s12689×1valid
5.8s31930×0valid
2.7s1176×3valid
1.9s1065×5exit
1.5s1692×2valid
330.0ms49×4valid
236.0ms1131×0invalid
Compiler

Compiled 128676 to 87201 computations (32.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.5s
ival-cos: 3.8s (20.8% of total)
ival-sin: 3.4s (18.4% of total)
ival-mult: 2.9s (15.8% of total)
backward-pass: 1.7s (9.3% of total)
ival-pow: 1.6s (8.6% of total)
ival-div: 1.6s (8.4% of total)
ival-sub: 1.1s (5.7% of total)
ival-add: 721.0ms (3.9% of total)
ival-sqrt: 346.0ms (1.9% of total)
ival-atan2: 250.0ms (1.4% of total)
ival-atan: 234.0ms (1.3% of total)
ival-acos: 153.0ms (0.8% of total)
ival-tan: 152.0ms (0.8% of total)
ival-neg: 142.0ms (0.8% of total)
ival-exp: 132.0ms (0.7% of total)
const: 90.0ms (0.5% of total)
ival-pi: 66.0ms (0.4% of total)
ival-log: 60.0ms (0.3% of total)
ival-fabs: 43.0ms (0.2% of total)
ival-asin: 7.0ms (0% of total)
ival-cbrt: 4.0ms (0% of total)

explain26.6s (2.5%)

Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
cos.f64#fsensitivity19202
+.f64#fcancellation170428
sin.f64#fsensitivity16640
sqrt.f64#foflow-rescue13750
-.f64#fcancellation94811
-.f64#fnan-rescue6390
log.f64#fsensitivity5860
/.f64#fo/n4710
/.f64#fo/o3360
/.f64#fu/u3150
*.f64#fn*o2240
sqrt.f64#fuflow-rescue1710
/.f64#fu/n1610
exp.f64#fsensitivity15423
/.f64#fn/o1220
*.f64#fn*u1040
cbrt.f64#foflow-rescue860
cbrt.f64#fuflow-rescue460
/.f64#fn/u430
*.f64#fu*o400
*.f64#fo*u390
acos.f64(acos.f64 (+.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi2)) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))sensitivity154
pow.f64#fuflow-rescue70
pow.f64#fsensitivity51
log.f64#foflow-rescue30
log.f64(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))uflow-rescue20
(+.f64 (exp.f64 a) (exp.f64 b))underflow2
(exp.f64 a)underflow114
(exp.f64 b)underflow2
Confusion
Predicted +Predicted -
+578562
-13196146
Precision
0.814329954954955
Recall
0.9893962715922695
Confusion?
Predicted +Predicted MaybePredicted -
+57853131
-1319286118
Precision?
0.811950300153567
Recall?
0.9946981357961348
Freqs
test
numberfreq
06208
14715
21552
3354
4249
5144
658
724
85
93
Total Confusion?
Predicted +Predicted MaybePredicted -
+4300
-207
Precision?
0.9555555555555556
Recall?
1.0
Results
5.3s8418×1valid
3.1s1882×2valid
2.7s15674×0valid
1.8s566×3valid
877.0ms82×4valid
4.0ms5valid
Compiler

Compiled 21932 to 3232 computations (85.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.2s
ival-sin: 2.3s (22.5% of total)
ival-cos: 1.5s (14.8% of total)
ival-mult: 1.3s (12.9% of total)
backward-pass: 1.3s (12.4% of total)
ival-div: 867.0ms (8.5% of total)
ival-pow: 841.0ms (8.3% of total)
ival-sub: 560.0ms (5.5% of total)
ival-add: 415.0ms (4.1% of total)
ival-sqrt: 216.0ms (2.1% of total)
ival-log: 198.0ms (1.9% of total)
ival-exp: 191.0ms (1.9% of total)
ival-neg: 146.0ms (1.4% of total)
ival-pi: 73.0ms (0.7% of total)
const: 61.0ms (0.6% of total)
ival-tan: 54.0ms (0.5% of total)
ival-atan: 46.0ms (0.5% of total)
ival-atan2: 44.0ms (0.4% of total)
ival-asin: 36.0ms (0.4% of total)
ival-cbrt: 30.0ms (0.3% of total)
ival-acos: 22.0ms (0.2% of total)
ival-fabs: 13.0ms (0.1% of total)

analyze23.8s (2.3%)

Algorithm
53×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%79.4%20.6%0%0%0%0
14.8%11.8%67.6%20.6%0%0%0%1
22.6%17.7%60.4%21%0%0.9%0%2
32.7%24.7%50.8%21.2%0%3.3%0%3
39.8%29.8%45%21.2%0%4%0%4
45.4%33.8%40.6%21.2%0%4.5%0%5
48.4%35.7%38%21.2%0%5.1%0%6
51.8%37.8%35.2%21.2%0%5.7%0.1%7
53.5%38.9%33.8%21.3%0%6%0.1%8
56.4%40.6%31.4%21.3%0%6.6%0.2%9
57.7%41.4%30.3%21.3%0%6.8%0.2%10
59.8%42.7%28.7%21.3%0%7.1%0.3%11
61.3%43.5%27.5%21.3%0%7.5%0.3%12
Compiler

Compiled 1919 to 947 computations (50.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.4s
ival-mult: 4.7s (30.5% of total)
ival-pow: 2.4s (15.4% of total)
ival-cos: 1.7s (10.9% of total)
ival-sin: 1.3s (8.2% of total)
ival-div: 1.2s (8% of total)
ival-sub: 768.0ms (5% of total)
ival-add: 759.0ms (4.9% of total)
ival-sqrt: 587.0ms (3.8% of total)
...c/correct-round.rkt:121:19: 481.0ms (3.1% of total)
ival-neg: 343.0ms (2.2% of total)
ival-<: 279.0ms (1.8% of total)
ival-atan2: 211.0ms (1.4% of total)
ival-atan: 104.0ms (0.7% of total)
ival-tan: 102.0ms (0.7% of total)
ival-exp: 100.0ms (0.6% of total)
const: 97.0ms (0.6% of total)
ival-pi: 67.0ms (0.4% of total)
ival-log: 58.0ms (0.4% of total)
ival-and: 54.0ms (0.4% of total)
ival-fabs: 48.0ms (0.3% of total)
ival-acos: 36.0ms (0.2% of total)
ival-asin: 35.0ms (0.2% of total)
ival-cbrt: 23.0ms (0.1% of total)
backward-pass: 22.0ms (0.1% of total)
ival-<=: 3.0ms (0% of total)
ival-==: 1.0ms (0% of total)
ival-or: 0.0ms (0% of total)

preprocess15.3s (1.4%)

Algorithm
52×egg-herbie
Rules
32328×fma-define
19274×fma-neg
13234×div-sub
11584×unsub-neg
11427×sub-neg
Stop Event
22×saturated
30×node limit
Compiler

Compiled 70552 to 24876 computations (64.7% saved)

end1.0ms (0%)

Profiling

Loading profile data...