GTR1 distribution

Time bar (total: 2.0s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze56.0ms (2.8%)

Memory
12.1MiB live, 88.9MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0.6%99.4%0%0%0%0
0%0%0.6%99.4%0%0%0%1
0%0%0.6%99.4%0%0%0%2
0%0%0.6%99.4%0%0%0%3
0%0%0.6%99.4%0%0%0%4
50%0.3%0.3%99.4%0%0%0%5
50%0.3%0.3%99.4%0%0%0%6
75%0.5%0.2%99.4%0%0%0%7
75%0.5%0.2%99.4%0%0%0%8
87.5%0.6%0.1%99.4%0%0%0%9
87.5%0.6%0.1%99.4%0%0%0%10
93.7%0.6%0%99.4%0%0%0%11
93.7%0.6%0%99.4%0%0%0%12
Compiler

Compiled 40 to 23 computations (42.5% saved)

sample1.5s (75.9%)

Memory
36.5MiB live, 2 264.3MiB allocated
Samples
1.2s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 979.0ms
ival-mult: 352.0ms (35.9% of total)
const: 193.0ms (19.7% of total)
ival-log: 90.0ms (9.2% of total)
ival-<=: 90.0ms (9.2% of total)
ival-div: 80.0ms (8.2% of total)
ival-add: 58.0ms (5.9% of total)
ival-sub: 47.0ms (4.8% of total)
ival-pi: 31.0ms (3.2% of total)
ival-and: 25.0ms (2.6% of total)
exact: 11.0ms (1.1% of total)
ival-assert: 3.0ms (0.3% of total)
Bogosity

explain158.0ms (8%)

Memory
23.3MiB live, 300.1MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))
00-0-(PI.f32)
00-0-#s(literal 1 binary32)
00-0-cosTheta
00-0-alpha
00-0-(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
00-0-(*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta)))
00-0-(-.f32 (*.f32 alpha alpha) #s(literal 1 binary32))
00-0-(*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta)
00-0-(log.f32 (*.f32 alpha alpha))
00-0-(*.f32 alpha alpha)
00-0-(*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)
00-0-(+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
52.0ms512×0valid
Compiler

Compiled 301 to 56 computations (81.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 36.0ms
ival-mult: 16.0ms (44.5% of total)
ival-log: 8.0ms (22.2% of total)
ival-div: 4.0ms (11.1% of total)
ival-pi: 2.0ms (5.6% of total)
ival-add: 2.0ms (5.6% of total)
ival-sub: 2.0ms (5.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess3.0ms (0.1%)

Memory
4.9MiB live, 4.9MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
Outputs
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
Compiler

Compiled 24 to 13 computations (45.8% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune4.0ms (0.2%)

Memory
-36.0MiB live, 0.8MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.5%
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
Compiler

Compiled 24 to 13 computations (45.8% saved)

simplify1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta)))
cost-diff0
(*.f32 alpha alpha)
cost-diff0
(-.f32 (*.f32 alpha alpha) #s(literal 1 binary32))
cost-diff0
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
Calls
Call 1
Inputs
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
(-.f32 (*.f32 alpha alpha) #s(literal 1 binary32))
(*.f32 alpha alpha)
alpha
#s(literal 1 binary32)
(*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta)))
(*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))
(PI.f32)
(log.f32 (*.f32 alpha alpha))
(+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))
(*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta)
(*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)
cosTheta
Outputs
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
(-.f32 (*.f32 alpha alpha) #s(literal 1 binary32))
(*.f32 alpha alpha)
alpha
#s(literal 1 binary32)
(*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta)))
(*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))
(PI.f32)
(log.f32 (*.f32 alpha alpha))
(+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))
(*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta)
(*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)
cosTheta

localize39.0ms (2%)

Memory
10.2MiB live, 57.0MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.13671875
(*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta)
accuracy0.203125
(*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)
accuracy0.31640625
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
accuracy0.3779487793053261
(*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))
Samples
24.0ms256×0valid
Compiler

Compiled 184 to 28 computations (84.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.0ms
ival-mult: 8.0ms (49.7% of total)
ival-log: 3.0ms (18.6% of total)
ival-div: 2.0ms (12.4% of total)
ival-pi: 1.0ms (6.2% of total)
ival-add: 1.0ms (6.2% of total)
ival-sub: 1.0ms (6.2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series75.0ms (3.7%)

Memory
4.5MiB live, 114.9MiB allocated
Counts
7 → 47
Calls
Call 1
Inputs
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
(-.f32 (*.f32 alpha alpha) #s(literal 1 binary32))
(*.f32 alpha alpha)
(*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta)))
(*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))
(*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)
(*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta)
Outputs
(/ (- (pow alpha 2) 1) (* (PI) (log (pow alpha 2))))
(- (+ (* -1 (/ (* (pow cosTheta 2) (pow (- (pow alpha 2) 1) 2)) (* (PI) (log (pow alpha 2))))) (/ (pow alpha 2) (* (PI) (log (pow alpha 2))))) (/ 1 (* (PI) (log (pow alpha 2)))))
(- (+ (* (pow cosTheta 2) (- (/ (* (pow cosTheta 2) (pow (- (pow alpha 2) 1) 3)) (* (PI) (log (pow alpha 2)))) (/ (pow (- (pow alpha 2) 1) 2) (* (PI) (log (pow alpha 2)))))) (/ (pow alpha 2) (* (PI) (log (pow alpha 2))))) (/ 1 (* (PI) (log (pow alpha 2)))))
(- (+ (* (pow cosTheta 2) (- (* (pow cosTheta 2) (- (* -1 (/ (* (pow cosTheta 2) (pow (- (pow alpha 2) 1) 4)) (* (PI) (log (pow alpha 2))))) (* -1 (/ (pow (- (pow alpha 2) 1) 3) (* (PI) (log (pow alpha 2))))))) (/ (pow (- (pow alpha 2) 1) 2) (* (PI) (log (pow alpha 2)))))) (/ (pow alpha 2) (* (PI) (log (pow alpha 2))))) (/ 1 (* (PI) (log (pow alpha 2)))))
(* (PI) (log (pow alpha 2)))
(+ (* (PI) (log (pow alpha 2))) (* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1)))))
(* cosTheta (- (pow alpha 2) 1))
(* (pow cosTheta 2) (- (pow alpha 2) 1))
(/ 1 (* (pow cosTheta 2) (* (PI) (log (pow alpha 2)))))
(/ (- (/ 1 (* (PI) (log (pow alpha 2)))) (/ 1 (* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1)))))) (pow cosTheta 2))
(/ (- (+ (/ 1 (* (PI) (log (pow alpha 2)))) (/ 1 (* (pow cosTheta 4) (* (PI) (* (log (pow alpha 2)) (pow (- (pow alpha 2) 1) 2)))))) (/ 1 (* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1)))))) (pow cosTheta 2))
(/ (- (+ (/ 1 (* (PI) (log (pow alpha 2)))) (/ 1 (* (pow cosTheta 4) (* (PI) (* (log (pow alpha 2)) (pow (- (pow alpha 2) 1) 2)))))) (+ (/ 1 (* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1))))) (/ 1 (* (pow cosTheta 6) (* (PI) (* (log (pow alpha 2)) (pow (- (pow alpha 2) 1) 3))))))) (pow cosTheta 2))
(* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1))))
(* (pow cosTheta 2) (+ (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1))) (/ (* (PI) (log (pow alpha 2))) (pow cosTheta 2))))
(/ -1/2 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))
(- (* (pow alpha 2) (- (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2))))))) (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))))
(- (* (pow alpha 2) (- (+ (* -1 (/ (* (pow alpha 2) (* (pow cosTheta 2) (- (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2)))))))) (+ 1 (* -1 (pow cosTheta 2))))) (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2)))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2))))))) (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))))
(- (* (pow alpha 2) (- (+ (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))) (* (pow alpha 2) (- (/ (* (pow alpha 2) (* (pow cosTheta 4) (- (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2)))))))) (pow (+ 1 (* -1 (pow cosTheta 2))) 2)) (/ (* (pow cosTheta 2) (- (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2))))))) (+ 1 (* -1 (pow cosTheta 2))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2))))))) (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))))
-1
(- (pow alpha 2) 1)
(pow alpha 2)
(* 2 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))
(+ (* 2 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2)))))) (* 2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log alpha))))))
(* 2 (* (PI) (log alpha)))
(* -1 cosTheta)
(+ (* -1 cosTheta) (* (pow alpha 2) cosTheta))
(* -1 (pow cosTheta 2))
(+ (* -1 (pow cosTheta 2)) (* (pow alpha 2) (pow cosTheta 2)))
(/ -1/2 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))
(- (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha))))))) (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha))))))))
(- (+ (* -1 (/ (* (+ 1 (* -1 (pow cosTheta 2))) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha)))))))) (* (pow alpha 4) (pow cosTheta 2)))) (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha))))))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha))))))) (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha))))))))
(- (+ (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (/ (* (pow (+ 1 (* -1 (pow cosTheta 2))) 2) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha)))))))) (* (pow alpha 6) (pow cosTheta 4)))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha))))))) (+ (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (/ (* (+ 1 (* -1 (pow cosTheta 2))) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha)))))))) (* (pow alpha 4) (pow cosTheta 2))))))
(* (pow alpha 2) (- 1 (/ 1 (pow alpha 2))))
(* -2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha))))))
(* (pow alpha 2) (+ (* -2 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha))))) (* -2 (/ (* (PI) (* (log (/ 1 alpha)) (+ 1 (* -1 (pow cosTheta 2))))) (pow alpha 2)))))
(* -2 (* (PI) (log (/ 1 alpha))))
(* (pow alpha 2) cosTheta)
(* (pow alpha 2) (+ cosTheta (* -1 (/ cosTheta (pow alpha 2)))))
(* (pow alpha 2) (pow cosTheta 2))
(* (pow alpha 2) (+ (* -1 (/ (pow cosTheta 2) (pow alpha 2))) (pow cosTheta 2)))
(/ -1/2 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))
(- (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha))))))) (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha))))))))
(- (+ (* -1 (/ (* (+ 1 (* -1 (pow cosTheta 2))) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha)))))))) (* (pow alpha 4) (pow cosTheta 2)))) (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha))))))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha))))))) (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha))))))))
(- (+ (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (/ (* (pow (+ 1 (* -1 (pow cosTheta 2))) 2) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha)))))))) (* (pow alpha 6) (pow cosTheta 4)))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha))))))) (+ (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (/ (* (+ 1 (* -1 (pow cosTheta 2))) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha)))))))) (* (pow alpha 4) (pow cosTheta 2))))))
(* -2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha))))))
(* (pow alpha 2) (+ (* -2 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha))))) (* -2 (/ (* (PI) (* (log (/ -1 alpha)) (+ 1 (* -1 (pow cosTheta 2))))) (pow alpha 2)))))
(* -2 (* (PI) (log (/ -1 alpha))))
Calls

6 calls:

TimeVariablePointExpression
25.0ms
alpha
@0
((/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (- (* alpha alpha) 1) (* alpha alpha) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (* (PI) (log (* alpha alpha))) (* (- (* alpha alpha) 1) cosTheta) (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))
15.0ms
alpha
@inf
((/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (- (* alpha alpha) 1) (* alpha alpha) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (* (PI) (log (* alpha alpha))) (* (- (* alpha alpha) 1) cosTheta) (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))
12.0ms
alpha
@-inf
((/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (- (* alpha alpha) 1) (* alpha alpha) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (* (PI) (log (* alpha alpha))) (* (- (* alpha alpha) 1) cosTheta) (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))
10.0ms
cosTheta
@0
((/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (- (* alpha alpha) 1) (* alpha alpha) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (* (PI) (log (* alpha alpha))) (* (- (* alpha alpha) 1) cosTheta) (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))
8.0ms
cosTheta
@inf
((/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (- (* alpha alpha) 1) (* alpha alpha) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (* (PI) (log (* alpha alpha))) (* (- (* alpha alpha) 1) cosTheta) (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))

simplify1.0ms (0.1%)

Memory
2.1MiB live, 2.1MiB allocated
Algorithm
egg-herbie
Counts
47 → 7
Calls
Call 1
Inputs
(/ (- (pow alpha 2) 1) (* (PI) (log (pow alpha 2))))
(- (+ (* -1 (/ (* (pow cosTheta 2) (pow (- (pow alpha 2) 1) 2)) (* (PI) (log (pow alpha 2))))) (/ (pow alpha 2) (* (PI) (log (pow alpha 2))))) (/ 1 (* (PI) (log (pow alpha 2)))))
(- (+ (* (pow cosTheta 2) (- (/ (* (pow cosTheta 2) (pow (- (pow alpha 2) 1) 3)) (* (PI) (log (pow alpha 2)))) (/ (pow (- (pow alpha 2) 1) 2) (* (PI) (log (pow alpha 2)))))) (/ (pow alpha 2) (* (PI) (log (pow alpha 2))))) (/ 1 (* (PI) (log (pow alpha 2)))))
(- (+ (* (pow cosTheta 2) (- (* (pow cosTheta 2) (- (* -1 (/ (* (pow cosTheta 2) (pow (- (pow alpha 2) 1) 4)) (* (PI) (log (pow alpha 2))))) (* -1 (/ (pow (- (pow alpha 2) 1) 3) (* (PI) (log (pow alpha 2))))))) (/ (pow (- (pow alpha 2) 1) 2) (* (PI) (log (pow alpha 2)))))) (/ (pow alpha 2) (* (PI) (log (pow alpha 2))))) (/ 1 (* (PI) (log (pow alpha 2)))))
(* (PI) (log (pow alpha 2)))
(+ (* (PI) (log (pow alpha 2))) (* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1)))))
(* cosTheta (- (pow alpha 2) 1))
(* (pow cosTheta 2) (- (pow alpha 2) 1))
(/ 1 (* (pow cosTheta 2) (* (PI) (log (pow alpha 2)))))
(/ (- (/ 1 (* (PI) (log (pow alpha 2)))) (/ 1 (* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1)))))) (pow cosTheta 2))
(/ (- (+ (/ 1 (* (PI) (log (pow alpha 2)))) (/ 1 (* (pow cosTheta 4) (* (PI) (* (log (pow alpha 2)) (pow (- (pow alpha 2) 1) 2)))))) (/ 1 (* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1)))))) (pow cosTheta 2))
(/ (- (+ (/ 1 (* (PI) (log (pow alpha 2)))) (/ 1 (* (pow cosTheta 4) (* (PI) (* (log (pow alpha 2)) (pow (- (pow alpha 2) 1) 2)))))) (+ (/ 1 (* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1))))) (/ 1 (* (pow cosTheta 6) (* (PI) (* (log (pow alpha 2)) (pow (- (pow alpha 2) 1) 3))))))) (pow cosTheta 2))
(* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1))))
(* (pow cosTheta 2) (+ (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1))) (/ (* (PI) (log (pow alpha 2))) (pow cosTheta 2))))
(/ -1/2 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))
(- (* (pow alpha 2) (- (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2))))))) (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))))
(- (* (pow alpha 2) (- (+ (* -1 (/ (* (pow alpha 2) (* (pow cosTheta 2) (- (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2)))))))) (+ 1 (* -1 (pow cosTheta 2))))) (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2)))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2))))))) (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))))
(- (* (pow alpha 2) (- (+ (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))) (* (pow alpha 2) (- (/ (* (pow alpha 2) (* (pow cosTheta 4) (- (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2)))))))) (pow (+ 1 (* -1 (pow cosTheta 2))) 2)) (/ (* (pow cosTheta 2) (- (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2))))))) (+ 1 (* -1 (pow cosTheta 2))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2))))))) (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))))
-1
(- (pow alpha 2) 1)
(pow alpha 2)
(* 2 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))
(+ (* 2 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2)))))) (* 2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log alpha))))))
(* 2 (* (PI) (log alpha)))
(* -1 cosTheta)
(+ (* -1 cosTheta) (* (pow alpha 2) cosTheta))
(* -1 (pow cosTheta 2))
(+ (* -1 (pow cosTheta 2)) (* (pow alpha 2) (pow cosTheta 2)))
(/ -1/2 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))
(- (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha))))))) (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha))))))))
(- (+ (* -1 (/ (* (+ 1 (* -1 (pow cosTheta 2))) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha)))))))) (* (pow alpha 4) (pow cosTheta 2)))) (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha))))))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha))))))) (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha))))))))
(- (+ (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (/ (* (pow (+ 1 (* -1 (pow cosTheta 2))) 2) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha)))))))) (* (pow alpha 6) (pow cosTheta 4)))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha))))))) (+ (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (/ (* (+ 1 (* -1 (pow cosTheta 2))) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha)))))))) (* (pow alpha 4) (pow cosTheta 2))))))
(* (pow alpha 2) (- 1 (/ 1 (pow alpha 2))))
(* -2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha))))))
(* (pow alpha 2) (+ (* -2 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha))))) (* -2 (/ (* (PI) (* (log (/ 1 alpha)) (+ 1 (* -1 (pow cosTheta 2))))) (pow alpha 2)))))
(* -2 (* (PI) (log (/ 1 alpha))))
(* (pow alpha 2) cosTheta)
(* (pow alpha 2) (+ cosTheta (* -1 (/ cosTheta (pow alpha 2)))))
(* (pow alpha 2) (pow cosTheta 2))
(* (pow alpha 2) (+ (* -1 (/ (pow cosTheta 2) (pow alpha 2))) (pow cosTheta 2)))
(/ -1/2 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))
(- (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha))))))) (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha))))))))
(- (+ (* -1 (/ (* (+ 1 (* -1 (pow cosTheta 2))) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha)))))))) (* (pow alpha 4) (pow cosTheta 2)))) (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha))))))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha))))))) (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha))))))))
(- (+ (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (/ (* (pow (+ 1 (* -1 (pow cosTheta 2))) 2) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha)))))))) (* (pow alpha 6) (pow cosTheta 4)))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha))))))) (+ (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (/ (* (+ 1 (* -1 (pow cosTheta 2))) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha)))))))) (* (pow alpha 4) (pow cosTheta 2))))))
(* -2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha))))))
(* (pow alpha 2) (+ (* -2 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha))))) (* -2 (/ (* (PI) (* (log (/ -1 alpha)) (+ 1 (* -1 (pow cosTheta 2))))) (pow alpha 2)))))
(* -2 (* (PI) (log (/ -1 alpha))))
Outputs
(/ (- (pow alpha 2) 1) (* (PI) (log (pow alpha 2))))
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
(- (+ (* -1 (/ (* (pow cosTheta 2) (pow (- (pow alpha 2) 1) 2)) (* (PI) (log (pow alpha 2))))) (/ (pow alpha 2) (* (PI) (log (pow alpha 2))))) (/ 1 (* (PI) (log (pow alpha 2)))))
(-.f32 (*.f32 alpha alpha) #s(literal 1 binary32))
(- (+ (* (pow cosTheta 2) (- (/ (* (pow cosTheta 2) (pow (- (pow alpha 2) 1) 3)) (* (PI) (log (pow alpha 2)))) (/ (pow (- (pow alpha 2) 1) 2) (* (PI) (log (pow alpha 2)))))) (/ (pow alpha 2) (* (PI) (log (pow alpha 2))))) (/ 1 (* (PI) (log (pow alpha 2)))))
(*.f32 alpha alpha)
(- (+ (* (pow cosTheta 2) (- (* (pow cosTheta 2) (- (* -1 (/ (* (pow cosTheta 2) (pow (- (pow alpha 2) 1) 4)) (* (PI) (log (pow alpha 2))))) (* -1 (/ (pow (- (pow alpha 2) 1) 3) (* (PI) (log (pow alpha 2))))))) (/ (pow (- (pow alpha 2) 1) 2) (* (PI) (log (pow alpha 2)))))) (/ (pow alpha 2) (* (PI) (log (pow alpha 2))))) (/ 1 (* (PI) (log (pow alpha 2)))))
(*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta)))
(* (PI) (log (pow alpha 2)))
(*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))
(+ (* (PI) (log (pow alpha 2))) (* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1)))))
(*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)
(* cosTheta (- (pow alpha 2) 1))
(*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta)

rewrite0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Counts
7 → 7
Calls
Call 1
Inputs
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
(-.f32 (*.f32 alpha alpha) #s(literal 1 binary32))
(*.f32 alpha alpha)
(*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta)))
(*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))
(*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)
(*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta)
Outputs
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
(-.f32 (*.f32 alpha alpha) #s(literal 1 binary32))
(*.f32 alpha alpha)
(*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta)))
(*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))
(*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)
(*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta)

eval1.0ms (0.1%)

Memory
2.3MiB live, 2.3MiB allocated
Compiler

Compiled 487 to 37 computations (92.4% saved)

prune1.0ms (0.1%)

Memory
3.1MiB live, 3.1MiB allocated
Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New14317
Fresh000
Picked011
Done000
Total14418
Accuracy
98.5%
Counts
18 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.5%
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
10.0%
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)))
95.8%
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))))
20.5%
#s(approx (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (*.f32 alpha alpha))
Compiler

Compiled 115 to 66 computations (42.6% saved)

simplify1.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated
Algorithm
egg-herbie
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta))
cost-diff0
(*.f32 alpha alpha)
cost-diff0
(-.f32 (*.f32 alpha alpha) #s(literal 1 binary32))
cost-diff0
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)))
cost-diff0
#s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))))
cost-diff0
(*.f32 alpha alpha)
cost-diff0
(-.f32 (*.f32 alpha alpha) #s(literal 1 binary32))
cost-diff0
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))))
cost-diff0
(*.f32 alpha alpha)
cost-diff0
#s(approx (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (*.f32 alpha alpha))
Calls
Call 1
Inputs
#s(approx (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (*.f32 alpha alpha))
(*.f32 alpha alpha)
alpha
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))))
(-.f32 (*.f32 alpha alpha) #s(literal 1 binary32))
(*.f32 alpha alpha)
alpha
#s(literal 1 binary32)
#s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))))
(*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))
(PI.f32)
(log.f32 (*.f32 alpha alpha))
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)))
(-.f32 (*.f32 alpha alpha) #s(literal 1 binary32))
(*.f32 alpha alpha)
alpha
#s(literal 1 binary32)
#s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta))
(*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)
cosTheta
Outputs
#s(approx (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (*.f32 alpha alpha))
(*.f32 alpha alpha)
alpha
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))))
(-.f32 (*.f32 alpha alpha) #s(literal 1 binary32))
(*.f32 alpha alpha)
alpha
#s(literal 1 binary32)
#s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))))
(*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))
(PI.f32)
(log.f32 (*.f32 alpha alpha))
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)))
(-.f32 (*.f32 alpha alpha) #s(literal 1 binary32))
(*.f32 alpha alpha)
alpha
#s(literal 1 binary32)
#s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta))
(*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)
cosTheta

localize43.0ms (2.2%)

Memory
-19.1MiB live, 60.9MiB allocated
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
accuracy0.053066259768442016
(-.f32 (*.f32 alpha alpha) #s(literal 1 binary32))
accuracy0.203125
(*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)
accuracy0.31640625
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)))
accuracy28.800264807305183
#s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta))
accuracy0.07614005115753779
(log.f32 (*.f32 alpha alpha))
accuracy0.31640625
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))))
accuracy0.3779487793053261
(*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))
accuracy0.9021932781904949
#s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))))
accuracy0.0
(*.f32 alpha alpha)
accuracy25.44826660330355
#s(approx (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (*.f32 alpha alpha))
Samples
30.0ms256×0valid
Compiler

Compiled 338 to 40 computations (88.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 21.0ms
ival-mult: 8.0ms (37.6% of total)
ival-log: 8.0ms (37.6% of total)
ival-div: 2.0ms (9.4% of total)
ival-pi: 1.0ms (4.7% of total)
ival-add: 1.0ms (4.7% of total)
ival-sub: 1.0ms (4.7% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series36.0ms (1.8%)

Memory
34.6MiB live, 73.0MiB allocated
Counts
10 → 45
Calls
Call 1
Inputs
#s(approx (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (*.f32 alpha alpha))
(*.f32 alpha alpha)
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))))
(-.f32 (*.f32 alpha alpha) #s(literal 1 binary32))
#s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))))
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)))
#s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta))
(*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))
(log.f32 (*.f32 alpha alpha))
(*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)
Outputs
(/ (- (pow alpha 2) 1) (* (PI) (log (pow alpha 2))))
(- (+ (* -1 (/ (* (pow cosTheta 2) (pow (- (pow alpha 2) 1) 2)) (* (PI) (log (pow alpha 2))))) (/ (pow alpha 2) (* (PI) (log (pow alpha 2))))) (/ 1 (* (PI) (log (pow alpha 2)))))
(- (+ (* (pow cosTheta 2) (- (/ (* (pow cosTheta 2) (pow (- (pow alpha 2) 1) 3)) (* (PI) (log (pow alpha 2)))) (/ (pow (- (pow alpha 2) 1) 2) (* (PI) (log (pow alpha 2)))))) (/ (pow alpha 2) (* (PI) (log (pow alpha 2))))) (/ 1 (* (PI) (log (pow alpha 2)))))
(- (+ (* (pow cosTheta 2) (- (* (pow cosTheta 2) (- (* -1 (/ (* (pow cosTheta 2) (pow (- (pow alpha 2) 1) 4)) (* (PI) (log (pow alpha 2))))) (* -1 (/ (pow (- (pow alpha 2) 1) 3) (* (PI) (log (pow alpha 2))))))) (/ (pow (- (pow alpha 2) 1) 2) (* (PI) (log (pow alpha 2)))))) (/ (pow alpha 2) (* (PI) (log (pow alpha 2))))) (/ 1 (* (PI) (log (pow alpha 2)))))
(* (PI) (log (pow alpha 2)))
(+ (* (PI) (log (pow alpha 2))) (* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1)))))
(* cosTheta (- (pow alpha 2) 1))
(/ 1 (* (pow cosTheta 2) (* (PI) (log (pow alpha 2)))))
(/ (- (/ 1 (* (PI) (log (pow alpha 2)))) (/ 1 (* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1)))))) (pow cosTheta 2))
(/ (- (+ (/ 1 (* (PI) (log (pow alpha 2)))) (/ 1 (* (pow cosTheta 4) (* (PI) (* (log (pow alpha 2)) (pow (- (pow alpha 2) 1) 2)))))) (/ 1 (* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1)))))) (pow cosTheta 2))
(/ (- (+ (/ 1 (* (PI) (log (pow alpha 2)))) (/ 1 (* (pow cosTheta 4) (* (PI) (* (log (pow alpha 2)) (pow (- (pow alpha 2) 1) 2)))))) (+ (/ 1 (* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1))))) (/ 1 (* (pow cosTheta 6) (* (PI) (* (log (pow alpha 2)) (pow (- (pow alpha 2) 1) 3))))))) (pow cosTheta 2))
(* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1))))
(* (pow cosTheta 2) (+ (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1))) (/ (* (PI) (log (pow alpha 2))) (pow cosTheta 2))))
(/ -1/2 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))
(- (* (pow alpha 2) (- (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2))))))) (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))))
(- (* (pow alpha 2) (- (+ (* -1 (/ (* (pow alpha 2) (* (pow cosTheta 2) (- (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2)))))))) (+ 1 (* -1 (pow cosTheta 2))))) (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2)))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2))))))) (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))))
(- (* (pow alpha 2) (- (+ (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))) (* (pow alpha 2) (- (/ (* (pow alpha 2) (* (pow cosTheta 4) (- (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2)))))))) (pow (+ 1 (* -1 (pow cosTheta 2))) 2)) (/ (* (pow cosTheta 2) (- (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2))))))) (+ 1 (* -1 (pow cosTheta 2))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2))))))) (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))))
(pow alpha 2)
-1
(- (pow alpha 2) 1)
(* 2 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))
(+ (* 2 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2)))))) (* 2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log alpha))))))
(* 2 (* (PI) (log alpha)))
(* 2 (log alpha))
(* -1 cosTheta)
(+ (* -1 cosTheta) (* (pow alpha 2) cosTheta))
(/ -1/2 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))
(- (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha))))))) (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha))))))))
(- (+ (* -1 (/ (* (+ 1 (* -1 (pow cosTheta 2))) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha)))))))) (* (pow alpha 4) (pow cosTheta 2)))) (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha))))))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha))))))) (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha))))))))
(- (+ (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (/ (* (pow (+ 1 (* -1 (pow cosTheta 2))) 2) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha)))))))) (* (pow alpha 6) (pow cosTheta 4)))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha))))))) (+ (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (/ (* (+ 1 (* -1 (pow cosTheta 2))) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha)))))))) (* (pow alpha 4) (pow cosTheta 2))))))
(* (pow alpha 2) (- 1 (/ 1 (pow alpha 2))))
(* -2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha))))))
(* (pow alpha 2) (+ (* -2 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha))))) (* -2 (/ (* (PI) (* (log (/ 1 alpha)) (+ 1 (* -1 (pow cosTheta 2))))) (pow alpha 2)))))
(* -2 (* (PI) (log (/ 1 alpha))))
(* -2 (log (/ 1 alpha)))
(* (pow alpha 2) cosTheta)
(* (pow alpha 2) (+ cosTheta (* -1 (/ cosTheta (pow alpha 2)))))
(/ -1/2 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))
(- (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha))))))) (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha))))))))
(- (+ (* -1 (/ (* (+ 1 (* -1 (pow cosTheta 2))) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha)))))))) (* (pow alpha 4) (pow cosTheta 2)))) (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha))))))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha))))))) (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha))))))))
(- (+ (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (/ (* (pow (+ 1 (* -1 (pow cosTheta 2))) 2) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha)))))))) (* (pow alpha 6) (pow cosTheta 4)))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha))))))) (+ (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (/ (* (+ 1 (* -1 (pow cosTheta 2))) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha)))))))) (* (pow alpha 4) (pow cosTheta 2))))))
(* -2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha))))))
(* (pow alpha 2) (+ (* -2 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha))))) (* -2 (/ (* (PI) (* (log (/ -1 alpha)) (+ 1 (* -1 (pow cosTheta 2))))) (pow alpha 2)))))
(* -2 (* (PI) (log (/ -1 alpha))))
(* -2 (log (/ -1 alpha)))
Calls

6 calls:

TimeVariablePointExpression
10.0ms
alpha
@0
((/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (* alpha alpha) (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (* (PI) (log (* alpha alpha))) (log (* alpha alpha)) (* (- (* alpha alpha) 1) cosTheta))
8.0ms
alpha
@inf
((/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (* alpha alpha) (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (* (PI) (log (* alpha alpha))) (log (* alpha alpha)) (* (- (* alpha alpha) 1) cosTheta))
7.0ms
alpha
@-inf
((/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (* alpha alpha) (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (* (PI) (log (* alpha alpha))) (log (* alpha alpha)) (* (- (* alpha alpha) 1) cosTheta))
3.0ms
cosTheta
@0
((/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (* alpha alpha) (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (* (PI) (log (* alpha alpha))) (log (* alpha alpha)) (* (- (* alpha alpha) 1) cosTheta))
3.0ms
cosTheta
@inf
((/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (* alpha alpha) (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (* (PI) (log (* alpha alpha))) (log (* alpha alpha)) (* (- (* alpha alpha) 1) cosTheta))

simplify1.0ms (0.1%)

Memory
2.5MiB live, 2.5MiB allocated
Algorithm
egg-herbie
Counts
45 → 10
Calls
Call 1
Inputs
(/ (- (pow alpha 2) 1) (* (PI) (log (pow alpha 2))))
(- (+ (* -1 (/ (* (pow cosTheta 2) (pow (- (pow alpha 2) 1) 2)) (* (PI) (log (pow alpha 2))))) (/ (pow alpha 2) (* (PI) (log (pow alpha 2))))) (/ 1 (* (PI) (log (pow alpha 2)))))
(- (+ (* (pow cosTheta 2) (- (/ (* (pow cosTheta 2) (pow (- (pow alpha 2) 1) 3)) (* (PI) (log (pow alpha 2)))) (/ (pow (- (pow alpha 2) 1) 2) (* (PI) (log (pow alpha 2)))))) (/ (pow alpha 2) (* (PI) (log (pow alpha 2))))) (/ 1 (* (PI) (log (pow alpha 2)))))
(- (+ (* (pow cosTheta 2) (- (* (pow cosTheta 2) (- (* -1 (/ (* (pow cosTheta 2) (pow (- (pow alpha 2) 1) 4)) (* (PI) (log (pow alpha 2))))) (* -1 (/ (pow (- (pow alpha 2) 1) 3) (* (PI) (log (pow alpha 2))))))) (/ (pow (- (pow alpha 2) 1) 2) (* (PI) (log (pow alpha 2)))))) (/ (pow alpha 2) (* (PI) (log (pow alpha 2))))) (/ 1 (* (PI) (log (pow alpha 2)))))
(* (PI) (log (pow alpha 2)))
(+ (* (PI) (log (pow alpha 2))) (* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1)))))
(* cosTheta (- (pow alpha 2) 1))
(/ 1 (* (pow cosTheta 2) (* (PI) (log (pow alpha 2)))))
(/ (- (/ 1 (* (PI) (log (pow alpha 2)))) (/ 1 (* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1)))))) (pow cosTheta 2))
(/ (- (+ (/ 1 (* (PI) (log (pow alpha 2)))) (/ 1 (* (pow cosTheta 4) (* (PI) (* (log (pow alpha 2)) (pow (- (pow alpha 2) 1) 2)))))) (/ 1 (* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1)))))) (pow cosTheta 2))
(/ (- (+ (/ 1 (* (PI) (log (pow alpha 2)))) (/ 1 (* (pow cosTheta 4) (* (PI) (* (log (pow alpha 2)) (pow (- (pow alpha 2) 1) 2)))))) (+ (/ 1 (* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1))))) (/ 1 (* (pow cosTheta 6) (* (PI) (* (log (pow alpha 2)) (pow (- (pow alpha 2) 1) 3))))))) (pow cosTheta 2))
(* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1))))
(* (pow cosTheta 2) (+ (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1))) (/ (* (PI) (log (pow alpha 2))) (pow cosTheta 2))))
(/ -1/2 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))
(- (* (pow alpha 2) (- (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2))))))) (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))))
(- (* (pow alpha 2) (- (+ (* -1 (/ (* (pow alpha 2) (* (pow cosTheta 2) (- (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2)))))))) (+ 1 (* -1 (pow cosTheta 2))))) (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2)))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2))))))) (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))))
(- (* (pow alpha 2) (- (+ (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))) (* (pow alpha 2) (- (/ (* (pow alpha 2) (* (pow cosTheta 4) (- (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2)))))))) (pow (+ 1 (* -1 (pow cosTheta 2))) 2)) (/ (* (pow cosTheta 2) (- (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2))))))) (+ 1 (* -1 (pow cosTheta 2))))))) (* -1/2 (/ (pow cosTheta 2) (* (PI) (* (log alpha) (pow (+ 1 (* -1 (pow cosTheta 2))) 2))))))) (* 1/2 (/ 1 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))))
(pow alpha 2)
-1
(- (pow alpha 2) 1)
(* 2 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2))))))
(+ (* 2 (* (PI) (* (log alpha) (+ 1 (* -1 (pow cosTheta 2)))))) (* 2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log alpha))))))
(* 2 (* (PI) (log alpha)))
(* 2 (log alpha))
(* -1 cosTheta)
(+ (* -1 cosTheta) (* (pow alpha 2) cosTheta))
(/ -1/2 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))
(- (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha))))))) (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha))))))))
(- (+ (* -1 (/ (* (+ 1 (* -1 (pow cosTheta 2))) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha)))))))) (* (pow alpha 4) (pow cosTheta 2)))) (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha))))))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha))))))) (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha))))))))
(- (+ (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (/ (* (pow (+ 1 (* -1 (pow cosTheta 2))) 2) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha)))))))) (* (pow alpha 6) (pow cosTheta 4)))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha))))))) (+ (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (/ (* (+ 1 (* -1 (pow cosTheta 2))) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ 1 alpha)))))))) (* (pow alpha 4) (pow cosTheta 2))))))
(* (pow alpha 2) (- 1 (/ 1 (pow alpha 2))))
(* -2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha))))))
(* (pow alpha 2) (+ (* -2 (* (pow cosTheta 2) (* (PI) (log (/ 1 alpha))))) (* -2 (/ (* (PI) (* (log (/ 1 alpha)) (+ 1 (* -1 (pow cosTheta 2))))) (pow alpha 2)))))
(* -2 (* (PI) (log (/ 1 alpha))))
(* -2 (log (/ 1 alpha)))
(* (pow alpha 2) cosTheta)
(* (pow alpha 2) (+ cosTheta (* -1 (/ cosTheta (pow alpha 2)))))
(/ -1/2 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))
(- (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha))))))) (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha))))))))
(- (+ (* -1 (/ (* (+ 1 (* -1 (pow cosTheta 2))) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha)))))))) (* (pow alpha 4) (pow cosTheta 2)))) (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha))))))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha))))))) (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha))))))))
(- (+ (/ 1/2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (/ (* (pow (+ 1 (* -1 (pow cosTheta 2))) 2) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha)))))))) (* (pow alpha 6) (pow cosTheta 4)))) (+ (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow alpha 2) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha))))))) (+ (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (/ (* (+ 1 (* -1 (pow cosTheta 2))) (- (* 1/2 (/ 1 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha)))))) (* -1/2 (/ (+ 1 (* -1 (pow cosTheta 2))) (* (pow cosTheta 4) (* (PI) (log (/ -1 alpha)))))))) (* (pow alpha 4) (pow cosTheta 2))))))
(* -2 (* (pow alpha 2) (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha))))))
(* (pow alpha 2) (+ (* -2 (* (pow cosTheta 2) (* (PI) (log (/ -1 alpha))))) (* -2 (/ (* (PI) (* (log (/ -1 alpha)) (+ 1 (* -1 (pow cosTheta 2))))) (pow alpha 2)))))
(* -2 (* (PI) (log (/ -1 alpha))))
(* -2 (log (/ -1 alpha)))
Outputs
(/ (- (pow alpha 2) 1) (* (PI) (log (pow alpha 2))))
#s(approx (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (*.f32 alpha alpha))
(- (+ (* -1 (/ (* (pow cosTheta 2) (pow (- (pow alpha 2) 1) 2)) (* (PI) (log (pow alpha 2))))) (/ (pow alpha 2) (* (PI) (log (pow alpha 2))))) (/ 1 (* (PI) (log (pow alpha 2)))))
(*.f32 alpha alpha)
(- (+ (* (pow cosTheta 2) (- (/ (* (pow cosTheta 2) (pow (- (pow alpha 2) 1) 3)) (* (PI) (log (pow alpha 2)))) (/ (pow (- (pow alpha 2) 1) 2) (* (PI) (log (pow alpha 2)))))) (/ (pow alpha 2) (* (PI) (log (pow alpha 2))))) (/ 1 (* (PI) (log (pow alpha 2)))))
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))))
(- (+ (* (pow cosTheta 2) (- (* (pow cosTheta 2) (- (* -1 (/ (* (pow cosTheta 2) (pow (- (pow alpha 2) 1) 4)) (* (PI) (log (pow alpha 2))))) (* -1 (/ (pow (- (pow alpha 2) 1) 3) (* (PI) (log (pow alpha 2))))))) (/ (pow (- (pow alpha 2) 1) 2) (* (PI) (log (pow alpha 2)))))) (/ (pow alpha 2) (* (PI) (log (pow alpha 2))))) (/ 1 (* (PI) (log (pow alpha 2)))))
(-.f32 (*.f32 alpha alpha) #s(literal 1 binary32))
(* (PI) (log (pow alpha 2)))
#s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))))
(+ (* (PI) (log (pow alpha 2))) (* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1)))))
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)))
(* cosTheta (- (pow alpha 2) 1))
#s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta))
(/ 1 (* (pow cosTheta 2) (* (PI) (log (pow alpha 2)))))
(*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))
(/ (- (/ 1 (* (PI) (log (pow alpha 2)))) (/ 1 (* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1)))))) (pow cosTheta 2))
(log.f32 (*.f32 alpha alpha))
(/ (- (+ (/ 1 (* (PI) (log (pow alpha 2)))) (/ 1 (* (pow cosTheta 4) (* (PI) (* (log (pow alpha 2)) (pow (- (pow alpha 2) 1) 2)))))) (/ 1 (* (pow cosTheta 2) (* (PI) (* (log (pow alpha 2)) (- (pow alpha 2) 1)))))) (pow cosTheta 2))
(*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)

rewrite3.0ms (0.1%)

Memory
-36.5MiB live, 1.6MiB allocated
Counts
10 → 10
Calls
Call 1
Inputs
#s(approx (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (*.f32 alpha alpha))
(*.f32 alpha alpha)
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))))
(-.f32 (*.f32 alpha alpha) #s(literal 1 binary32))
#s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))))
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)))
#s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta))
(*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))
(log.f32 (*.f32 alpha alpha))
(*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)
Outputs
#s(approx (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (*.f32 alpha alpha))
(*.f32 alpha alpha)
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))))
(-.f32 (*.f32 alpha alpha) #s(literal 1 binary32))
#s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))))
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)))
#s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta))
(*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))
(log.f32 (*.f32 alpha alpha))
(*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)

eval2.0ms (0.1%)

Memory
4.0MiB live, 4.0MiB allocated
Compiler

Compiled 894 to 38 computations (95.7% saved)

prune5.0ms (0.3%)

Memory
11.2MiB live, 11.2MiB allocated
Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New25025
Fresh000
Picked033
Done011
Total25429
Accuracy
98.5%
Counts
29 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.5%
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
10.0%
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)))
95.8%
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))))
20.5%
#s(approx (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (*.f32 alpha alpha))
Compiler

Compiled 230 to 95 computations (58.7% saved)

regimes9.0ms (0.5%)

Memory
20.5MiB live, 20.5MiB allocated
Counts
4 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (*.f32 alpha alpha))
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)))
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))))
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
Outputs
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
Calls

4 calls:

2.0ms
cosTheta
2.0ms
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
2.0ms
(*.f32 alpha alpha)
2.0ms
alpha
Results
AccuracySegmentsBranch
98.5%1cosTheta
98.5%1alpha
98.5%1(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
98.5%1(*.f32 alpha alpha)
Compiler

Compiled 29 to 20 computations (31% saved)

regimes10.0ms (0.5%)

Memory
-28.1MiB live, 15.5MiB allocated
Counts
3 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (*.f32 alpha alpha))
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)))
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))))
Outputs
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))))
Calls

4 calls:

5.0ms
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
2.0ms
alpha
2.0ms
cosTheta
2.0ms
(*.f32 alpha alpha)
Results
AccuracySegmentsBranch
95.8%1cosTheta
95.8%1alpha
95.8%1(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
95.8%1(*.f32 alpha alpha)
Compiler

Compiled 29 to 20 computations (31% saved)

regimes6.0ms (0.3%)

Memory
15.1MiB live, 15.1MiB allocated
Accuracy

Total -3.4b remaining (-13.2%)

Threshold costs -3.4b (-13.2%)

Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (*.f32 alpha alpha))
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)))
Outputs
#s(approx (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (*.f32 alpha alpha))
Calls

4 calls:

1.0ms
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
1.0ms
cosTheta
1.0ms
(*.f32 alpha alpha)
1.0ms
alpha
Results
AccuracySegmentsBranch
20.5%1cosTheta
20.5%1alpha
20.5%1(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
20.5%1(*.f32 alpha alpha)
Compiler

Compiled 29 to 20 computations (31% saved)

simplify5.0ms (0.2%)

Memory
10.4MiB live, 10.4MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))))
#s(approx (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (*.f32 alpha alpha))
Outputs
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) #s(approx (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta))) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))))
#s(approx (/ (- (* alpha alpha) 1) (* (* (PI) (log (* alpha alpha))) (+ 1 (* (* (- (* alpha alpha) 1) cosTheta) cosTheta)))) (*.f32 alpha alpha))

soundness1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Stop Event
done
Compiler

Compiled 83 to 27 computations (67.5% saved)

preprocess19.0ms (1%)

Memory
-2.4MiB live, 35.8MiB allocated
Compiler

Compiled 214 to 80 computations (62.6% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...