Beckmann Sample, near normal, slope_x

Time bar (total: 2.9s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze264.0ms (9.2%)

Memory
12.4MiB live, 364.3MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0%100%0%0%0%0
0%0%0%100%0%0%0%1
0%0%0%100%0%0%0%2
0%0%0%100%0%0%0%3
0%0%0%100%0%0%0%4
0%0%0%100%0%0%0%5
18.7%0%0%100%0%0%0%6
28.1%0%0%100%0%0%0%7
32.8%0%0%100%0%0%0%8
49.2%0%0%100%0%0%0%9
57.4%0%0%100%0%0%0%10
61.5%0%0%100%0%0%0%11
71.8%0%0%100%0%0%0%12
Compiler

Compiled 37 to 24 computations (35.1% saved)

sample1.8s (60.9%)

Memory
44.0MiB live, 2 585.5MiB allocated
Samples
1.2s8 256×0valid
1.0ms0invalid
Precisions
Click to see histograms. Total time spent on operations: 985.0ms
const: 271.0ms (27.5% of total)
ival-log: 146.0ms (14.8% of total)
ival-cosu: 126.0ms (12.8% of total)
ival-<=: 101.0ms (10.3% of total)
ival-sqrt: 86.0ms (8.7% of total)
ival-mult: 64.0ms (6.5% of total)
ival-sub: 62.0ms (6.3% of total)
ival-neg: 61.0ms (6.2% of total)
ival-and: 35.0ms (3.6% of total)
ival->: 26.0ms (2.6% of total)
exact: 5.0ms (0.5% of total)
ival-assert: 3.0ms (0.3% of total)
Bogosity

explain146.0ms (5.1%)

Memory
-8.8MiB live, 268.6MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
2153(0.999937117099762 0.0040289731696248055 0.5786119699478149)5(0.9999041557312012 0.014492074027657509 3.7125838514562304e-10)(log.f32 (-.f32 #s(literal 1 binary32) u1))
10-0-(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
00-0-(-.f32 #s(literal 1 binary32) u1)
00-0-(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
00-0-u2
00-0-(PI.f32)
00-0-#s(literal 2 binary32)
00-0-#s(literal 1 binary32)
00-0-(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
00-0-u1
00-0-(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
00-0-(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
00-0-(*.f32 #s(literal 2 binary32) (PI.f32))
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
log.f32(log.f32 (-.f32 #s(literal 1 binary32) u1))sensitivity21314
cos.f32(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))sensitivity11
Confusion
Predicted +Predicted -
+2020
-1143
Precision
0.9483568075117371
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+20200
-111429
Precision?
0.8898678414096917
Recall?
1.0
Freqs
test
numberfreq
043
1212
21
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
60.0ms512×0valid
Compiler

Compiled 167 to 60 computations (64.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 40.0ms
ival-mult: 9.0ms (22.6% of total)
ival-cosu: 8.0ms (20.1% of total)
ival-log: 8.0ms (20.1% of total)
ival-pi: 5.0ms (12.5% of total)
ival-sub: 3.0ms (7.5% of total)
ival-sqrt: 3.0ms (7.5% of total)
ival-neg: 2.0ms (5% of total)
exact: 1.0ms (2.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

preprocess3.0ms (0.1%)

Memory
8.2MiB live, 8.2MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
Outputs
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
Compiler

Compiled 13 to 14 computations (-7.7% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.3%
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
Compiler

Compiled 13 to 14 computations (-7.7% saved)

simplify0.0ms (0%)

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

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(log.f32 (-.f32 #s(literal 1 binary32) u1))
cost-diff0
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
cost-diff0
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
cost-diff0
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
Calls
Call 1
Inputs
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
(log.f32 (-.f32 #s(literal 1 binary32) u1))
(-.f32 #s(literal 1 binary32) u1)
#s(literal 1 binary32)
u1
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
(*.f32 #s(literal 2 binary32) (PI.f32))
#s(literal 2 binary32)
(PI.f32)
u2
Outputs
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
(log.f32 (-.f32 #s(literal 1 binary32) u1))
(-.f32 #s(literal 1 binary32) u1)
#s(literal 1 binary32)
u1
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
(*.f32 #s(literal 2 binary32) (PI.f32))
#s(literal 2 binary32)
(PI.f32)
u2

localize38.0ms (1.3%)

Memory
14.8MiB live, 52.4MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.1015625
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
accuracy0.1328125
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
accuracy0.27734375
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
accuracy14.892545953360695
(log.f32 (-.f32 #s(literal 1 binary32) u1))
Samples
30.0ms256×0valid
Compiler

Compiled 102 to 30 computations (70.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-mult: 4.0ms (22.8% of total)
ival-cosu: 4.0ms (22.8% of total)
ival-log: 4.0ms (22.8% of total)
ival-sqrt: 2.0ms (11.4% of total)
ival-pi: 1.0ms (5.7% of total)
ival-sub: 1.0ms (5.7% of total)
ival-neg: 1.0ms (5.7% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series68.0ms (2.3%)

Memory
-67.5MiB live, 58.0MiB allocated
Counts
5 → 54
Calls
Call 1
Inputs
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
(log.f32 (-.f32 #s(literal 1 binary32) u1))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
Outputs
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))))
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI)))))))))
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))))))))
(* (sqrt u1) (pow (sqrt -1) 2))
(+ (* -1/4 (sqrt (pow u1 3))) (* (sqrt u1) (pow (sqrt -1) 2)))
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* -1/6 (sqrt u1)))))
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* u1 (+ (* -1/2 (* (sqrt u1) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2))))))) (* -1/6 (sqrt (/ 1 u1))))))))
u1
(* u1 (+ 1 (* 1/2 u1)))
(* u1 (+ 1 (* u1 (+ 1/2 (* 1/3 u1)))))
(* u1 (+ 1 (* u1 (+ 1/2 (* u1 (+ 1/3 (* 1/4 u1)))))))
(* -1 u1)
(* u1 (- (* -1/2 u1) 1))
(* u1 (- (* u1 (- (* -1/3 u1) 1/2)) 1))
(* u1 (- (* u1 (- (* u1 (- (* -1/4 u1) 1/3)) 1/2)) 1))
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))))
(* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))))
(* -1 (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (/ 1 u1) (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (+ (/ 1/2 (pow u1 2)) (+ (/ 1 u1) (* 1/3 (/ 1 (pow u1 3))))) (+ (log -1) (* -1 (log (/ 1 u1)))))
(+ (log -1) (* -1 (log (/ 1 u1))))
(- (+ (log -1) (* -1 (log (/ 1 u1)))) (/ 1 u1))
(+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1))))
(- (+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) (pow u1 2))))) (/ 1 u1))
(* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))
(+ (* -1/2 (* (/ (cos (* 2 (* u2 (PI)))) u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(+ (* -1 (/ (+ (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1)))))) (* 1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) (sqrt (/ 1 (log (/ -1 u1)))))) (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))
(+ (* -1/2 (* (/ 1 u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(+ (* -1 (/ (+ (* 1/2 (sqrt (/ 1 (log (/ -1 u1))))) (* 1/2 (* (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (sqrt (/ 1 (log (/ -1 u1)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))))) (* -1/2 (* (/ (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (sqrt (/ 1 (log (/ -1 u1)))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(log (/ -1 u1))
(- (/ 1 u1) (* -1 (log (/ -1 u1))))
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (* -1 (log (/ -1 u1))))
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) u1)) 1) u1)) (* -1 (log (/ -1 u1))))
(* -1 (log (/ -1 u1)))
(- (* -1 (log (/ -1 u1))) (/ 1 u1))
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1)))
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u1 2)) (* 1/2 (/ 1 u1)))) u1)))
(* (sqrt (log (- 1 u1))) (sqrt -1))
(+ (* -2 (* (* (pow u2 2) (* (pow (PI) 2) (sqrt -1))) (sqrt (log (- 1 u1))))) (* (sqrt (log (- 1 u1))) (sqrt -1)))
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow u2 2) (* (pow (PI) 4) (sqrt -1))) (sqrt (log (- 1 u1))))))))
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* (pow u2 2) (+ (* -4/45 (* (* (pow u2 2) (* (pow (PI) 6) (sqrt -1))) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow (PI) 4) (sqrt -1)) (sqrt (log (- 1 u1))))))))))
(* 2 (* u2 (PI)))
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (log (- 1 u1))))
Calls

9 calls:

TimeVariablePointExpression
43.0ms
u2
@inf
((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (log (- 1 u1)) (* (* 2 (PI)) u2))
7.0ms
u2
@-inf
((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (log (- 1 u1)) (* (* 2 (PI)) u2))
3.0ms
u2
@0
((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (log (- 1 u1)) (* (* 2 (PI)) u2))
3.0ms
u1
@inf
((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (log (- 1 u1)) (* (* 2 (PI)) u2))
3.0ms
u1
@-inf
((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (log (- 1 u1)) (* (* 2 (PI)) u2))

simplify1.0ms (0%)

Memory
2.4MiB live, 2.4MiB allocated
Algorithm
egg-herbie
Counts
54 → 5
Calls
Call 1
Inputs
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))))
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI)))))))))
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))))))))
(* (sqrt u1) (pow (sqrt -1) 2))
(+ (* -1/4 (sqrt (pow u1 3))) (* (sqrt u1) (pow (sqrt -1) 2)))
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* -1/6 (sqrt u1)))))
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* u1 (+ (* -1/2 (* (sqrt u1) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2))))))) (* -1/6 (sqrt (/ 1 u1))))))))
u1
(* u1 (+ 1 (* 1/2 u1)))
(* u1 (+ 1 (* u1 (+ 1/2 (* 1/3 u1)))))
(* u1 (+ 1 (* u1 (+ 1/2 (* u1 (+ 1/3 (* 1/4 u1)))))))
(* -1 u1)
(* u1 (- (* -1/2 u1) 1))
(* u1 (- (* u1 (- (* -1/3 u1) 1/2)) 1))
(* u1 (- (* u1 (- (* u1 (- (* -1/4 u1) 1/3)) 1/2)) 1))
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))))
(* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))))
(* -1 (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (/ 1 u1) (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (+ (/ 1/2 (pow u1 2)) (+ (/ 1 u1) (* 1/3 (/ 1 (pow u1 3))))) (+ (log -1) (* -1 (log (/ 1 u1)))))
(+ (log -1) (* -1 (log (/ 1 u1))))
(- (+ (log -1) (* -1 (log (/ 1 u1)))) (/ 1 u1))
(+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1))))
(- (+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) (pow u1 2))))) (/ 1 u1))
(* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))
(+ (* -1/2 (* (/ (cos (* 2 (* u2 (PI)))) u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(+ (* -1 (/ (+ (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1)))))) (* 1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) (sqrt (/ 1 (log (/ -1 u1)))))) (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))
(+ (* -1/2 (* (/ 1 u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(+ (* -1 (/ (+ (* 1/2 (sqrt (/ 1 (log (/ -1 u1))))) (* 1/2 (* (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (sqrt (/ 1 (log (/ -1 u1)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))))) (* -1/2 (* (/ (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (sqrt (/ 1 (log (/ -1 u1)))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(log (/ -1 u1))
(- (/ 1 u1) (* -1 (log (/ -1 u1))))
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (* -1 (log (/ -1 u1))))
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) u1)) 1) u1)) (* -1 (log (/ -1 u1))))
(* -1 (log (/ -1 u1)))
(- (* -1 (log (/ -1 u1))) (/ 1 u1))
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1)))
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u1 2)) (* 1/2 (/ 1 u1)))) u1)))
(* (sqrt (log (- 1 u1))) (sqrt -1))
(+ (* -2 (* (* (pow u2 2) (* (pow (PI) 2) (sqrt -1))) (sqrt (log (- 1 u1))))) (* (sqrt (log (- 1 u1))) (sqrt -1)))
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow u2 2) (* (pow (PI) 4) (sqrt -1))) (sqrt (log (- 1 u1))))))))
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* (pow u2 2) (+ (* -4/45 (* (* (pow u2 2) (* (pow (PI) 6) (sqrt -1))) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow (PI) 4) (sqrt -1)) (sqrt (log (- 1 u1))))))))))
(* 2 (* u2 (PI)))
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (log (- 1 u1))))
Outputs
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))))
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI)))))))))
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))))))))
(log.f32 (-.f32 #s(literal 1 binary32) u1))
(* (sqrt u1) (pow (sqrt -1) 2))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)

rewrite0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Counts
5 → 5
Calls
Call 1
Inputs
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
(log.f32 (-.f32 #s(literal 1 binary32) u1))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
Outputs
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
(log.f32 (-.f32 #s(literal 1 binary32) u1))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)

eval1.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated
Compiler

Compiled 168 to 31 computations (81.5% saved)

prune2.0ms (0.1%)

Memory
3.0MiB live, 3.0MiB allocated
Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New6410
Fresh000
Picked011
Done000
Total6511
Accuracy
58.5%
Counts
11 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.3%
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
19.7%
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
47.4%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))
17.2%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
4.8%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1)))
Compiler

Compiled 89 to 86 computations (3.4% saved)

simplify1.0ms (0%)

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

Found 15 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f32 #s(literal 2 binary32) (PI.f32))
cost-diff0
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
cost-diff0
#s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
cost-diff0
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
cost-diff0
(log.f32 (-.f32 #s(literal 1 binary32) u1))
cost-diff0
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
cost-diff0
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
cost-diff0
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))
cost-diff0
(-.f32 #s(literal 1 binary32) u1)
cost-diff0
(log.f32 (-.f32 #s(literal 1 binary32) u1))
cost-diff0
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
cost-diff0
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
cost-diff0
(-.f32 #s(literal 1 binary32) u1)
cost-diff0
(log.f32 (-.f32 #s(literal 1 binary32) u1))
cost-diff0
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1)))
Calls
Call 1
Inputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1)))
(log.f32 (-.f32 #s(literal 1 binary32) u1))
(-.f32 #s(literal 1 binary32) u1)
#s(literal 1 binary32)
u1
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
(log.f32 (-.f32 #s(literal 1 binary32) u1))
(-.f32 #s(literal 1 binary32) u1)
#s(literal 1 binary32)
u1
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
(log.f32 (-.f32 #s(literal 1 binary32) u1))
(-.f32 #s(literal 1 binary32) u1)
#s(literal 1 binary32)
u1
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
#s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
(*.f32 #s(literal 2 binary32) (PI.f32))
#s(literal 2 binary32)
(PI.f32)
u2
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
Outputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1)))
(log.f32 (-.f32 #s(literal 1 binary32) u1))
(-.f32 #s(literal 1 binary32) u1)
#s(literal 1 binary32)
u1
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
(log.f32 (-.f32 #s(literal 1 binary32) u1))
(-.f32 #s(literal 1 binary32) u1)
#s(literal 1 binary32)
u1
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
(log.f32 (-.f32 #s(literal 1 binary32) u1))
(-.f32 #s(literal 1 binary32) u1)
#s(literal 1 binary32)
u1
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
#s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
(*.f32 #s(literal 2 binary32) (PI.f32))
#s(literal 2 binary32)
(PI.f32)
u2
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))

localize46.0ms (1.6%)

Memory
26.2MiB live, 61.8MiB allocated
Localize:

Found 15 expressions of interest:

NewMetricScoreProgram
accuracy0.09929774773183064
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
accuracy0.1328125
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
accuracy0.27734375
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
accuracy25.69412062914357
#s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
accuracy0.0
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
accuracy0.1015625
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
accuracy7.890312505906131
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))
accuracy14.892545953360695
(log.f32 (-.f32 #s(literal 1 binary32) u1))
accuracy0.0
(-.f32 #s(literal 1 binary32) u1)
accuracy0.0
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
accuracy14.892545953360695
(log.f32 (-.f32 #s(literal 1 binary32) u1))
accuracy25.78621569086136
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
accuracy0.0
(-.f32 #s(literal 1 binary32) u1)
accuracy14.892545953360695
(log.f32 (-.f32 #s(literal 1 binary32) u1))
accuracy30.671852405811183
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1)))
Samples
35.0ms256×0valid
Compiler

Compiled 268 to 45 computations (83.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 25.0ms
ival-log: 11.0ms (44.2% of total)
ival-mult: 4.0ms (16.1% of total)
ival-cosu: 4.0ms (16.1% of total)
ival-sqrt: 2.0ms (8% of total)
ival-pi: 1.0ms (4% of total)
ival-sub: 1.0ms (4% of total)
ival-neg: 1.0ms (4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series25.0ms (0.9%)

Memory
5.0MiB live, 40.9MiB allocated
Counts
12 → 62
Calls
Call 1
Inputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1)))
(log.f32 (-.f32 #s(literal 1 binary32) u1))
(-.f32 #s(literal 1 binary32) u1)
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
#s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
(*.f32 #s(literal 2 binary32) (PI.f32))
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
Outputs
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))))
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI)))))))))
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))))))))
(* -1 u1)
(* u1 (- (* -1/2 u1) 1))
(* u1 (- (* u1 (- (* -1/3 u1) 1/2)) 1))
(* u1 (- (* u1 (- (* u1 (- (* -1/4 u1) 1/3)) 1/2)) 1))
1
(+ 1 (* -1 u1))
u1
(* u1 (+ 1 (* 1/2 u1)))
(* u1 (+ 1 (* u1 (+ 1/2 (* 1/3 u1)))))
(* u1 (+ 1 (* u1 (+ 1/2 (* u1 (+ 1/3 (* 1/4 u1)))))))
(* (sqrt u1) (pow (sqrt -1) 2))
(+ (* -1/4 (sqrt (pow u1 3))) (* (sqrt u1) (pow (sqrt -1) 2)))
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* -1/6 (sqrt u1)))))
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* u1 (+ (* -1/2 (* (sqrt u1) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2))))))) (* -1/6 (sqrt (/ 1 u1))))))))
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))))
(+ (log -1) (* -1 (log (/ 1 u1))))
(- (+ (log -1) (* -1 (log (/ 1 u1)))) (/ 1 u1))
(+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1))))
(- (+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) (pow u1 2))))) (/ 1 u1))
(* u1 (- (/ 1 u1) 1))
(* -1 (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (/ 1 u1) (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (+ (/ 1/2 (pow u1 2)) (+ (/ 1 u1) (* 1/3 (/ 1 (pow u1 3))))) (+ (log -1) (* -1 (log (/ 1 u1)))))
(* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))))
(* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))
(+ (* -1/2 (* (/ (cos (* 2 (* u2 (PI)))) u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(+ (* -1 (/ (+ (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1)))))) (* 1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) (sqrt (/ 1 (log (/ -1 u1)))))) (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(* -1 (log (/ -1 u1)))
(- (* -1 (log (/ -1 u1))) (/ 1 u1))
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1)))
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u1 2)) (* 1/2 (/ 1 u1)))) u1)))
(* -1 (* u1 (- 1 (/ 1 u1))))
(log (/ -1 u1))
(- (/ 1 u1) (* -1 (log (/ -1 u1))))
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (* -1 (log (/ -1 u1))))
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) u1)) 1) u1)) (* -1 (log (/ -1 u1))))
(* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))
(+ (* -1/2 (* (/ 1 u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(+ (* -1 (/ (+ (* 1/2 (sqrt (/ 1 (log (/ -1 u1))))) (* 1/2 (* (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (sqrt (/ 1 (log (/ -1 u1)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))))) (* -1/2 (* (/ (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (sqrt (/ 1 (log (/ -1 u1)))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(* (sqrt (log (- 1 u1))) (sqrt -1))
(+ (* -2 (* (* (pow u2 2) (* (pow (PI) 2) (sqrt -1))) (sqrt (log (- 1 u1))))) (* (sqrt (log (- 1 u1))) (sqrt -1)))
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow u2 2) (* (pow (PI) 4) (sqrt -1))) (sqrt (log (- 1 u1))))))))
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* (pow u2 2) (+ (* -4/45 (* (* (pow u2 2) (* (pow (PI) 6) (sqrt -1))) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow (PI) 4) (sqrt -1)) (sqrt (log (- 1 u1))))))))))
(* 2 (* u2 (PI)))
(+ 1 (* -2 (* (pow u2 2) (pow (PI) 2))))
(+ 1 (* (pow u2 2) (+ (* -2 (pow (PI) 2)) (* 2/3 (* (pow u2 2) (pow (PI) 4))))))
(+ 1 (* (pow u2 2) (+ (* -2 (pow (PI) 2)) (* (pow u2 2) (+ (* -4/45 (* (pow u2 2) (pow (PI) 6))) (* 2/3 (pow (PI) 4)))))))
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (log (- 1 u1))))
(cos (* 2 (* u2 (PI))))
Calls

9 calls:

TimeVariablePointExpression
13.0ms
u2
@inf
((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log (- 1 u1)) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (* (* 2 (PI)) u2) (* 2 (PI)) (cos (* (* 2 (PI)) u2)))
7.0ms
u2
@-inf
((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log (- 1 u1)) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (* (* 2 (PI)) u2) (* 2 (PI)) (cos (* (* 2 (PI)) u2)))
1.0ms
u1
@inf
((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log (- 1 u1)) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (* (* 2 (PI)) u2) (* 2 (PI)) (cos (* (* 2 (PI)) u2)))
1.0ms
u1
@-inf
((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log (- 1 u1)) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (* (* 2 (PI)) u2) (* 2 (PI)) (cos (* (* 2 (PI)) u2)))
1.0ms
u2
@0
((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log (- 1 u1)) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (* (* 2 (PI)) u2) (* 2 (PI)) (cos (* (* 2 (PI)) u2)))

simplify1.0ms (0%)

Memory
2.7MiB live, 2.7MiB allocated
Algorithm
egg-herbie
Counts
62 → 12
Calls
Call 1
Inputs
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))))
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI)))))))))
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))))))))
(* -1 u1)
(* u1 (- (* -1/2 u1) 1))
(* u1 (- (* u1 (- (* -1/3 u1) 1/2)) 1))
(* u1 (- (* u1 (- (* u1 (- (* -1/4 u1) 1/3)) 1/2)) 1))
1
(+ 1 (* -1 u1))
u1
(* u1 (+ 1 (* 1/2 u1)))
(* u1 (+ 1 (* u1 (+ 1/2 (* 1/3 u1)))))
(* u1 (+ 1 (* u1 (+ 1/2 (* u1 (+ 1/3 (* 1/4 u1)))))))
(* (sqrt u1) (pow (sqrt -1) 2))
(+ (* -1/4 (sqrt (pow u1 3))) (* (sqrt u1) (pow (sqrt -1) 2)))
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* -1/6 (sqrt u1)))))
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* u1 (+ (* -1/2 (* (sqrt u1) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2))))))) (* -1/6 (sqrt (/ 1 u1))))))))
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))))
(+ (log -1) (* -1 (log (/ 1 u1))))
(- (+ (log -1) (* -1 (log (/ 1 u1)))) (/ 1 u1))
(+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1))))
(- (+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) (pow u1 2))))) (/ 1 u1))
(* u1 (- (/ 1 u1) 1))
(* -1 (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (/ 1 u1) (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (+ (/ 1/2 (pow u1 2)) (+ (/ 1 u1) (* 1/3 (/ 1 (pow u1 3))))) (+ (log -1) (* -1 (log (/ 1 u1)))))
(* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))))
(* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))
(+ (* -1/2 (* (/ (cos (* 2 (* u2 (PI)))) u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(+ (* -1 (/ (+ (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1)))))) (* 1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) (sqrt (/ 1 (log (/ -1 u1)))))) (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(* -1 (log (/ -1 u1)))
(- (* -1 (log (/ -1 u1))) (/ 1 u1))
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1)))
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u1 2)) (* 1/2 (/ 1 u1)))) u1)))
(* -1 (* u1 (- 1 (/ 1 u1))))
(log (/ -1 u1))
(- (/ 1 u1) (* -1 (log (/ -1 u1))))
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (* -1 (log (/ -1 u1))))
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) u1)) 1) u1)) (* -1 (log (/ -1 u1))))
(* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))
(+ (* -1/2 (* (/ 1 u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(+ (* -1 (/ (+ (* 1/2 (sqrt (/ 1 (log (/ -1 u1))))) (* 1/2 (* (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (sqrt (/ 1 (log (/ -1 u1)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))))) (* -1/2 (* (/ (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (sqrt (/ 1 (log (/ -1 u1)))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(* (sqrt (log (- 1 u1))) (sqrt -1))
(+ (* -2 (* (* (pow u2 2) (* (pow (PI) 2) (sqrt -1))) (sqrt (log (- 1 u1))))) (* (sqrt (log (- 1 u1))) (sqrt -1)))
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow u2 2) (* (pow (PI) 4) (sqrt -1))) (sqrt (log (- 1 u1))))))))
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* (pow u2 2) (+ (* -4/45 (* (* (pow u2 2) (* (pow (PI) 6) (sqrt -1))) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow (PI) 4) (sqrt -1)) (sqrt (log (- 1 u1))))))))))
(* 2 (* u2 (PI)))
(+ 1 (* -2 (* (pow u2 2) (pow (PI) 2))))
(+ 1 (* (pow u2 2) (+ (* -2 (pow (PI) 2)) (* 2/3 (* (pow u2 2) (pow (PI) 4))))))
(+ 1 (* (pow u2 2) (+ (* -2 (pow (PI) 2)) (* (pow u2 2) (+ (* -4/45 (* (pow u2 2) (pow (PI) 6))) (* 2/3 (pow (PI) 4)))))))
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (log (- 1 u1))))
(cos (* 2 (* u2 (PI))))
Outputs
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1)))
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))))
(log.f32 (-.f32 #s(literal 1 binary32) u1))
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI)))))))))
(-.f32 #s(literal 1 binary32) u1)
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))))))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
(* -1 u1)
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
(* u1 (- (* -1/2 u1) 1))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))
(* u1 (- (* u1 (- (* -1/3 u1) 1/2)) 1))
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
(* u1 (- (* u1 (- (* u1 (- (* -1/4 u1) 1/3)) 1/2)) 1))
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
1
#s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(+ 1 (* -1 u1))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
u1
(*.f32 #s(literal 2 binary32) (PI.f32))
(* u1 (+ 1 (* 1/2 u1)))
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))

rewrite1.0ms (0%)

Memory
1.8MiB live, 1.8MiB allocated
Counts
12 → 12
Calls
Call 1
Inputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1)))
(log.f32 (-.f32 #s(literal 1 binary32) u1))
(-.f32 #s(literal 1 binary32) u1)
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
#s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
(*.f32 #s(literal 2 binary32) (PI.f32))
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
Outputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1)))
(log.f32 (-.f32 #s(literal 1 binary32) u1))
(-.f32 #s(literal 1 binary32) u1)
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
#s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
(*.f32 #s(literal 2 binary32) (PI.f32))
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))

eval9.0ms (0.3%)

Memory
-38.2MiB live, 9.7MiB allocated
Compiler

Compiled 1 106 to 78 computations (92.9% saved)

prune9.0ms (0.3%)

Memory
26.7MiB live, 26.7MiB allocated
Pruning

13 alts after pruning (8 fresh and 5 done)

PrunedKeptTotal
New36844
Fresh000
Picked044
Done011
Total361349
Accuracy
58.6%
Counts
49 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.3%
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
19.7%
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
19.2%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1))
47.4%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))
18.2%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
19.2%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
17.2%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
17.1%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
5.0%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))))
4.8%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1)))
4.2%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
17.4%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))
19.8%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
Compiler

Compiled 473 to 414 computations (12.5% saved)

simplify1.0ms (0%)

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

Found 18 expressions of interest:

NewMetricScoreProgram
cost-diff0
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
cost-diff0
#s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
cost-diff0
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
cost-diff0
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
cost-diff0
#s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
cost-diff0
(log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
cost-diff0
(neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
cost-diff0
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
cost-diff0
(*.f32 #s(literal 2 binary32) (PI.f32))
cost-diff0
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))
cost-diff0
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))
cost-diff0
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
cost-diff0
(-.f32 #s(literal 1 binary32) u1)
cost-diff0
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1))
cost-diff0
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
cost-diff0
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
cost-diff0
#s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
cost-diff0
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
Calls
Call 1
Inputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
#s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
(*.f32 #s(literal 2 binary32) (PI.f32))
#s(literal 2 binary32)
(PI.f32)
u2
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1))
(-.f32 #s(literal 1 binary32) u1)
#s(literal 1 binary32)
u1
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))
(*.f32 #s(literal 2 binary32) (PI.f32))
#s(literal 2 binary32)
(PI.f32)
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
(neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
(log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
#s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
(*.f32 #s(literal 2 binary32) (PI.f32))
#s(literal 2 binary32)
(PI.f32)
u2
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
#s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
(*.f32 #s(literal 2 binary32) (PI.f32))
#s(literal 2 binary32)
(PI.f32)
u2
Outputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
#s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
(*.f32 #s(literal 2 binary32) (PI.f32))
#s(literal 2 binary32)
(PI.f32)
u2
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1))
(-.f32 #s(literal 1 binary32) u1)
#s(literal 1 binary32)
u1
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))
(*.f32 #s(literal 2 binary32) (PI.f32))
#s(literal 2 binary32)
(PI.f32)
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
(neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
(log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
#s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
(*.f32 #s(literal 2 binary32) (PI.f32))
#s(literal 2 binary32)
(PI.f32)
u2
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
#s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
(*.f32 #s(literal 2 binary32) (PI.f32))
#s(literal 2 binary32)
(PI.f32)
u2

localize51.0ms (1.8%)

Memory
7.6MiB live, 83.7MiB allocated
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
accuracy0.1015625
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
accuracy0.27734375
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
accuracy7.890312505906131
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
accuracy26.782463506321015
#s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
accuracy0.27734375
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
accuracy14.892545953360695
(log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
accuracy25.78621569086136
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
accuracy25.79077703077055
#s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
accuracy0.0
(PI.f32)
accuracy0.1015625
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))
accuracy7.890312505906131
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
accuracy26.997663555394986
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))
accuracy0.0
(-.f32 #s(literal 1 binary32) u1)
accuracy25.86651266035534
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1))
accuracy0.09929774773183064
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
accuracy0.27734375
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
accuracy25.78621569086136
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
accuracy26.782463506321015
#s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
Samples
38.0ms256×0valid
Compiler

Compiled 421 to 49 computations (88.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-mult: 4.0ms (22.4% of total)
ival-cosu: 4.0ms (22.4% of total)
ival-log: 4.0ms (22.4% of total)
ival-sub: 2.0ms (11.2% of total)
ival-sqrt: 2.0ms (11.2% of total)
ival-pi: 1.0ms (5.6% of total)
ival-neg: 1.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)

series26.0ms (0.9%)

Memory
0.4MiB live, 37.3MiB allocated
Counts
17 → 62
Calls
Call 1
Inputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
#s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1))
(-.f32 #s(literal 1 binary32) u1)
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))
(*.f32 #s(literal 2 binary32) (PI.f32))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
(neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
(log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
#s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
(PI.f32)
Outputs
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))))
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI)))))))))
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))))))))
u1
(* u1 (+ 1 (* 1/2 u1)))
(* u1 (+ 1 (* u1 (+ 1/2 (* 1/3 u1)))))
(* u1 (+ 1 (* u1 (+ 1/2 (* u1 (+ 1/3 (* 1/4 u1)))))))
1
(+ 1 (* -1 u1))
(* (sqrt u1) (pow (sqrt -1) 2))
(+ (* -1/4 (sqrt (pow u1 3))) (* (sqrt u1) (pow (sqrt -1) 2)))
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* -1/6 (sqrt u1)))))
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* u1 (+ (* -1/2 (* (sqrt u1) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2))))))) (* -1/6 (sqrt (/ 1 u1))))))))
(* -1 u1)
(* u1 (- (* -1/2 u1) 1))
(* u1 (- (* u1 (- (* -1/3 u1) 1/2)) 1))
(* u1 (- (* u1 (- (* u1 (- (* -1/4 u1) 1/3)) 1/2)) 1))
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))))
(* -1 (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (/ 1 u1) (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (+ (/ 1/2 (pow u1 2)) (+ (/ 1 u1) (* 1/3 (/ 1 (pow u1 3))))) (+ (log -1) (* -1 (log (/ 1 u1)))))
(* u1 (- (/ 1 u1) 1))
(* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))))
(+ (log -1) (* -1 (log (/ 1 u1))))
(- (+ (log -1) (* -1 (log (/ 1 u1)))) (/ 1 u1))
(+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1))))
(- (+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) (pow u1 2))))) (/ 1 u1))
(* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))
(+ (* -1/2 (* (/ (cos (* 2 (* u2 (PI)))) u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(+ (* -1 (/ (+ (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1)))))) (* 1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) (sqrt (/ 1 (log (/ -1 u1)))))) (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(log (/ -1 u1))
(- (/ 1 u1) (* -1 (log (/ -1 u1))))
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (* -1 (log (/ -1 u1))))
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) u1)) 1) u1)) (* -1 (log (/ -1 u1))))
(* -1 (* u1 (- 1 (/ 1 u1))))
(* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))
(+ (* -1/2 (* (/ 1 u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(+ (* -1 (/ (+ (* 1/2 (sqrt (/ 1 (log (/ -1 u1))))) (* 1/2 (* (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (sqrt (/ 1 (log (/ -1 u1)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))))) (* -1/2 (* (/ (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (sqrt (/ 1 (log (/ -1 u1)))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(* -1 (log (/ -1 u1)))
(- (* -1 (log (/ -1 u1))) (/ 1 u1))
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1)))
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u1 2)) (* 1/2 (/ 1 u1)))) u1)))
(* (sqrt (log (- 1 u1))) (sqrt -1))
(+ (* -2 (* (* (pow u2 2) (* (pow (PI) 2) (sqrt -1))) (sqrt (log (- 1 u1))))) (* (sqrt (log (- 1 u1))) (sqrt -1)))
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow u2 2) (* (pow (PI) 4) (sqrt -1))) (sqrt (log (- 1 u1))))))))
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* (pow u2 2) (+ (* -4/45 (* (* (pow u2 2) (* (pow (PI) 6) (sqrt -1))) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow (PI) 4) (sqrt -1)) (sqrt (log (- 1 u1))))))))))
(+ 1 (* -2 (* (pow u2 2) (pow (PI) 2))))
(+ 1 (* (pow u2 2) (+ (* -2 (pow (PI) 2)) (* 2/3 (* (pow u2 2) (pow (PI) 4))))))
(+ 1 (* (pow u2 2) (+ (* -2 (pow (PI) 2)) (* (pow u2 2) (+ (* -4/45 (* (pow u2 2) (pow (PI) 6))) (* 2/3 (pow (PI) 4)))))))
(* 2 (* u2 (PI)))
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (log (- 1 u1))))
(cos (* 2 (* u2 (PI))))
Calls

9 calls:

TimeVariablePointExpression
7.0ms
u2
@inf
((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (cos (* (* 2 (PI)) u2)) (* (* 2 (PI)) u2) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (* 2 (PI)) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (log (- 1 u1)) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (PI))
7.0ms
u2
@-inf
((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (cos (* (* 2 (PI)) u2)) (* (* 2 (PI)) u2) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (* 2 (PI)) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (log (- 1 u1)) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (PI))
1.0ms
u1
@inf
((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (cos (* (* 2 (PI)) u2)) (* (* 2 (PI)) u2) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (* 2 (PI)) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (log (- 1 u1)) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (PI))
1.0ms
u1
@-inf
((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (cos (* (* 2 (PI)) u2)) (* (* 2 (PI)) u2) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (* 2 (PI)) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (log (- 1 u1)) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (PI))
1.0ms
u2
@0
((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (cos (* (* 2 (PI)) u2)) (* (* 2 (PI)) u2) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (* 2 (PI)) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (log (- 1 u1)) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (PI))

simplify1.0ms (0.1%)

Memory
2.6MiB live, 2.6MiB allocated
Algorithm
egg-herbie
Counts
62 → 17
Calls
Call 1
Inputs
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))))
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI)))))))))
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))))))))
u1
(* u1 (+ 1 (* 1/2 u1)))
(* u1 (+ 1 (* u1 (+ 1/2 (* 1/3 u1)))))
(* u1 (+ 1 (* u1 (+ 1/2 (* u1 (+ 1/3 (* 1/4 u1)))))))
1
(+ 1 (* -1 u1))
(* (sqrt u1) (pow (sqrt -1) 2))
(+ (* -1/4 (sqrt (pow u1 3))) (* (sqrt u1) (pow (sqrt -1) 2)))
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* -1/6 (sqrt u1)))))
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* u1 (+ (* -1/2 (* (sqrt u1) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2))))))) (* -1/6 (sqrt (/ 1 u1))))))))
(* -1 u1)
(* u1 (- (* -1/2 u1) 1))
(* u1 (- (* u1 (- (* -1/3 u1) 1/2)) 1))
(* u1 (- (* u1 (- (* u1 (- (* -1/4 u1) 1/3)) 1/2)) 1))
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))))
(* -1 (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (/ 1 u1) (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (+ (/ 1/2 (pow u1 2)) (+ (/ 1 u1) (* 1/3 (/ 1 (pow u1 3))))) (+ (log -1) (* -1 (log (/ 1 u1)))))
(* u1 (- (/ 1 u1) 1))
(* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))))
(+ (log -1) (* -1 (log (/ 1 u1))))
(- (+ (log -1) (* -1 (log (/ 1 u1)))) (/ 1 u1))
(+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1))))
(- (+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) (pow u1 2))))) (/ 1 u1))
(* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))
(+ (* -1/2 (* (/ (cos (* 2 (* u2 (PI)))) u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(+ (* -1 (/ (+ (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1)))))) (* 1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) (sqrt (/ 1 (log (/ -1 u1)))))) (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(log (/ -1 u1))
(- (/ 1 u1) (* -1 (log (/ -1 u1))))
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (* -1 (log (/ -1 u1))))
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) u1)) 1) u1)) (* -1 (log (/ -1 u1))))
(* -1 (* u1 (- 1 (/ 1 u1))))
(* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))
(+ (* -1/2 (* (/ 1 u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(+ (* -1 (/ (+ (* 1/2 (sqrt (/ 1 (log (/ -1 u1))))) (* 1/2 (* (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (sqrt (/ 1 (log (/ -1 u1)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))))) (* -1/2 (* (/ (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (sqrt (/ 1 (log (/ -1 u1)))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(* -1 (log (/ -1 u1)))
(- (* -1 (log (/ -1 u1))) (/ 1 u1))
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1)))
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u1 2)) (* 1/2 (/ 1 u1)))) u1)))
(* (sqrt (log (- 1 u1))) (sqrt -1))
(+ (* -2 (* (* (pow u2 2) (* (pow (PI) 2) (sqrt -1))) (sqrt (log (- 1 u1))))) (* (sqrt (log (- 1 u1))) (sqrt -1)))
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow u2 2) (* (pow (PI) 4) (sqrt -1))) (sqrt (log (- 1 u1))))))))
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* (pow u2 2) (+ (* -4/45 (* (* (pow u2 2) (* (pow (PI) 6) (sqrt -1))) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow (PI) 4) (sqrt -1)) (sqrt (log (- 1 u1))))))))))
(+ 1 (* -2 (* (pow u2 2) (pow (PI) 2))))
(+ 1 (* (pow u2 2) (+ (* -2 (pow (PI) 2)) (* 2/3 (* (pow u2 2) (pow (PI) 4))))))
(+ 1 (* (pow u2 2) (+ (* -2 (pow (PI) 2)) (* (pow u2 2) (+ (* -4/45 (* (pow u2 2) (pow (PI) 6))) (* 2/3 (pow (PI) 4)))))))
(* 2 (* u2 (PI)))
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (log (- 1 u1))))
(cos (* 2 (* u2 (PI))))
Outputs
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))))
#s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI)))))))))
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))))))))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
u1
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1))
(* u1 (+ 1 (* 1/2 u1)))
(-.f32 #s(literal 1 binary32) u1)
(* u1 (+ 1 (* u1 (+ 1/2 (* 1/3 u1)))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
(* u1 (+ 1 (* u1 (+ 1/2 (* u1 (+ 1/3 (* 1/4 u1)))))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))
1
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))
(+ 1 (* -1 u1))
(*.f32 #s(literal 2 binary32) (PI.f32))
(* (sqrt u1) (pow (sqrt -1) 2))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
(+ (* -1/4 (sqrt (pow u1 3))) (* (sqrt u1) (pow (sqrt -1) 2)))
(neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* -1/6 (sqrt u1)))))
(log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* u1 (+ (* -1/2 (* (sqrt u1) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2))))))) (* -1/6 (sqrt (/ 1 u1))))))))
#s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(* -1 u1)
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
(* u1 (- (* -1/2 u1) 1))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
(* u1 (- (* u1 (- (* -1/3 u1) 1/2)) 1))
(PI.f32)

rewrite7.0ms (0.2%)

Memory
-43.3MiB live, 2.2MiB allocated
Counts
17 → 17
Calls
Call 1
Inputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
#s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1))
(-.f32 #s(literal 1 binary32) u1)
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))
(*.f32 #s(literal 2 binary32) (PI.f32))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
(neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
(log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
#s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
(PI.f32)
Outputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
#s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1))
(-.f32 #s(literal 1 binary32) u1)
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))
(*.f32 #s(literal 2 binary32) (PI.f32))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
(neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
(log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
#s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
(PI.f32)

eval3.0ms (0.1%)

Memory
5.7MiB live, 5.7MiB allocated
Compiler

Compiled 1 313 to 73 computations (94.4% saved)

prune8.0ms (0.3%)

Memory
16.7MiB live, 16.7MiB allocated
Pruning

17 alts after pruning (7 fresh and 10 done)

PrunedKeptTotal
New42547
Fresh123
Picked055
Done055
Total431760
Accuracy
58.6%
Counts
60 → 17
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.3%
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
19.7%
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
19.2%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1))
19.2%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
47.4%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))
19.1%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))))
18.2%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
18.8%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))))
19.2%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
17.2%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
17.1%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
5.0%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))))
3.7%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32))))
4.8%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1)))
4.2%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
17.4%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))))
19.8%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
Compiler

Compiled 540 to 468 computations (13.3% saved)

simplify1.0ms (0%)

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

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))
cost-diff0
#s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
cost-diff0
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))
cost-diff0
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))))
cost-diff0
(-.f32 #s(literal 1 binary32) u1)
cost-diff0
#s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))
cost-diff0
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))
cost-diff0
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))))
cost-diff0
(PI.f32)
cost-diff0
(*.f32 #s(literal 2 binary32) (PI.f32))
cost-diff0
#s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))
cost-diff0
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))))
cost-diff0
(PI.f32)
cost-diff0
#s(approx (log (- 1 u1)) (PI.f32))
cost-diff0
(neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))
cost-diff0
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32))))
cost-diff0
(PI.f32)
cost-diff0
(*.f32 #s(literal 2 binary32) (PI.f32))
cost-diff0
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
cost-diff0
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
Calls
Call 1
Inputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
(*.f32 #s(literal 2 binary32) (PI.f32))
#s(literal 2 binary32)
(PI.f32)
u2
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32))))
(neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))
#s(approx (log (- 1 u1)) (PI.f32))
(PI.f32)
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))
(*.f32 #s(literal 2 binary32) (PI.f32))
#s(literal 2 binary32)
(PI.f32)
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))
#s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))
(-.f32 #s(literal 1 binary32) u1)
#s(literal 1 binary32)
u1
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))
#s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))
(*.f32 #s(literal 2 binary32) (PI.f32))
#s(literal 2 binary32)
(PI.f32)
Outputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
(*.f32 #s(literal 2 binary32) (PI.f32))
#s(literal 2 binary32)
(PI.f32)
u2
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32))))
(neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))
#s(approx (log (- 1 u1)) (PI.f32))
(PI.f32)
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))
(*.f32 #s(literal 2 binary32) (PI.f32))
#s(literal 2 binary32)
(PI.f32)
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))
#s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))
(-.f32 #s(literal 1 binary32) u1)
#s(literal 1 binary32)
u1
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))
#s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))
(*.f32 #s(literal 2 binary32) (PI.f32))
#s(literal 2 binary32)
(PI.f32)

localize50.0ms (1.8%)

Memory
-7.4MiB live, 67.9MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.1015625
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))
accuracy7.890312505906131
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))))
accuracy25.657672622947302
#s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
accuracy26.997663555394986
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))
accuracy0.0
(-.f32 #s(literal 1 binary32) u1)
accuracy0.1015625
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))
accuracy7.890312505906131
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))))
accuracy26.699923788155708
#s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))
accuracy0.0
(*.f32 #s(literal 2 binary32) (PI.f32))
accuracy0.0
(PI.f32)
accuracy24.424111415861407
#s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))
accuracy25.86651266035534
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))))
accuracy0.0
(neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))
accuracy0.0
(PI.f32)
accuracy25.78621569086136
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32))))
accuracy30.899234703208855
#s(approx (log (- 1 u1)) (PI.f32))
accuracy0.0
(*.f32 #s(literal 2 binary32) (PI.f32))
accuracy0.0
(PI.f32)
accuracy0.27734375
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
accuracy25.864158436051888
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
Samples
39.0ms256×0valid
Compiler

Compiled 373 to 50 computations (86.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 28.0ms
ival-mult: 10.0ms (35.6% of total)
ival-sub: 6.0ms (21.4% of total)
ival-cosu: 4.0ms (14.2% of total)
ival-log: 4.0ms (14.2% of total)
ival-sqrt: 2.0ms (7.1% of total)
ival-pi: 1.0ms (3.6% of total)
ival-neg: 1.0ms (3.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series23.0ms (0.8%)

Memory
1.5MiB live, 40.0MiB allocated
Counts
18 → 58
Calls
Call 1
Inputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
(*.f32 #s(literal 2 binary32) (PI.f32))
(PI.f32)
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32))))
(neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))
#s(approx (log (- 1 u1)) (PI.f32))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))
#s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))
(-.f32 #s(literal 1 binary32) u1)
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))
#s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))
Outputs
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))))
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI)))))))))
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))))))))
u1
(* u1 (+ 1 (* 1/2 u1)))
(* u1 (+ 1 (* u1 (+ 1/2 (* 1/3 u1)))))
(* u1 (+ 1 (* u1 (+ 1/2 (* u1 (+ 1/3 (* 1/4 u1)))))))
(* -1 u1)
(* u1 (- (* -1/2 u1) 1))
(* u1 (- (* u1 (- (* -1/3 u1) 1/2)) 1))
(* u1 (- (* u1 (- (* u1 (- (* -1/4 u1) 1/3)) 1/2)) 1))
1
(+ 1 (* -1 u1))
(* (sqrt u1) (pow (sqrt -1) 2))
(+ (* -1/4 (sqrt (pow u1 3))) (* (sqrt u1) (pow (sqrt -1) 2)))
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* -1/6 (sqrt u1)))))
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* u1 (+ (* -1/2 (* (sqrt u1) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2))))))) (* -1/6 (sqrt (/ 1 u1))))))))
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))))
(* -1 (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (/ 1 u1) (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (+ (/ 1/2 (pow u1 2)) (+ (/ 1 u1) (* 1/3 (/ 1 (pow u1 3))))) (+ (log -1) (* -1 (log (/ 1 u1)))))
(+ (log -1) (* -1 (log (/ 1 u1))))
(- (+ (log -1) (* -1 (log (/ 1 u1)))) (/ 1 u1))
(+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1))))
(- (+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) (pow u1 2))))) (/ 1 u1))
(* u1 (- (/ 1 u1) 1))
(* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))))
(* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))
(+ (* -1/2 (* (/ (cos (* 2 (* u2 (PI)))) u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(+ (* -1 (/ (+ (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1)))))) (* 1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) (sqrt (/ 1 (log (/ -1 u1)))))) (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(log (/ -1 u1))
(- (/ 1 u1) (* -1 (log (/ -1 u1))))
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (* -1 (log (/ -1 u1))))
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) u1)) 1) u1)) (* -1 (log (/ -1 u1))))
(* -1 (log (/ -1 u1)))
(- (* -1 (log (/ -1 u1))) (/ 1 u1))
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1)))
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u1 2)) (* 1/2 (/ 1 u1)))) u1)))
(* -1 (* u1 (- 1 (/ 1 u1))))
(* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))
(+ (* -1/2 (* (/ 1 u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(+ (* -1 (/ (+ (* 1/2 (sqrt (/ 1 (log (/ -1 u1))))) (* 1/2 (* (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (sqrt (/ 1 (log (/ -1 u1)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))))) (* -1/2 (* (/ (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (sqrt (/ 1 (log (/ -1 u1)))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(* (sqrt (log (- 1 u1))) (sqrt -1))
(+ (* -2 (* (* (pow u2 2) (* (pow (PI) 2) (sqrt -1))) (sqrt (log (- 1 u1))))) (* (sqrt (log (- 1 u1))) (sqrt -1)))
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow u2 2) (* (pow (PI) 4) (sqrt -1))) (sqrt (log (- 1 u1))))))))
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* (pow u2 2) (+ (* -4/45 (* (* (pow u2 2) (* (pow (PI) 6) (sqrt -1))) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow (PI) 4) (sqrt -1)) (sqrt (log (- 1 u1))))))))))
(* 2 (* u2 (PI)))
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (log (- 1 u1))))
Calls

9 calls:

TimeVariablePointExpression
11.0ms
u2
@-inf
((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (* (* 2 (PI)) u2) (* 2 (PI)) (PI) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (log (- 1 u1)) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))))
7.0ms
u2
@inf
((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (* (* 2 (PI)) u2) (* 2 (PI)) (PI) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (log (- 1 u1)) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))))
1.0ms
u1
@inf
((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (* (* 2 (PI)) u2) (* 2 (PI)) (PI) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (log (- 1 u1)) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))))
1.0ms
u1
@-inf
((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (* (* 2 (PI)) u2) (* 2 (PI)) (PI) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (log (- 1 u1)) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))))
1.0ms
u2
@0
((* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (* (* 2 (PI)) u2) (* 2 (PI)) (PI) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg (log (- 1 u1))) (log (- 1 u1)) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (- 1 u1) (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))) (sqrt (neg (log (- 1 u1)))) (neg (log (- 1 u1))))

simplify1.0ms (0%)

Memory
2.6MiB live, 2.6MiB allocated
Algorithm
egg-herbie
Counts
58 → 18
Calls
Call 1
Inputs
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))))
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI)))))))))
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))))))))
u1
(* u1 (+ 1 (* 1/2 u1)))
(* u1 (+ 1 (* u1 (+ 1/2 (* 1/3 u1)))))
(* u1 (+ 1 (* u1 (+ 1/2 (* u1 (+ 1/3 (* 1/4 u1)))))))
(* -1 u1)
(* u1 (- (* -1/2 u1) 1))
(* u1 (- (* u1 (- (* -1/3 u1) 1/2)) 1))
(* u1 (- (* u1 (- (* u1 (- (* -1/4 u1) 1/3)) 1/2)) 1))
1
(+ 1 (* -1 u1))
(* (sqrt u1) (pow (sqrt -1) 2))
(+ (* -1/4 (sqrt (pow u1 3))) (* (sqrt u1) (pow (sqrt -1) 2)))
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* -1/6 (sqrt u1)))))
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* u1 (+ (* -1/2 (* (sqrt u1) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2))))))) (* -1/6 (sqrt (/ 1 u1))))))))
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))
(+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))))
(* -1 (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (/ 1 u1) (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (+ (log -1) (* -1 (log (/ 1 u1)))))
(- (+ (/ 1/2 (pow u1 2)) (+ (/ 1 u1) (* 1/3 (/ 1 (pow u1 3))))) (+ (log -1) (* -1 (log (/ 1 u1)))))
(+ (log -1) (* -1 (log (/ 1 u1))))
(- (+ (log -1) (* -1 (log (/ 1 u1)))) (/ 1 u1))
(+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1))))
(- (+ (log -1) (+ (* -1 (log (/ 1 u1))) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) (pow u1 2))))) (/ 1 u1))
(* u1 (- (/ 1 u1) 1))
(* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1))))))))
(+ (* -1/2 (* (/ (sqrt -1) u1) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/3 (* 1/2 (/ (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1))))))) (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 3)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (+ (* -1/2 (* (/ (* (sqrt -1) (+ 1/2 (* 1/4 (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (pow u1 2)) (sqrt (/ 1 (+ (log -1) (* -1 (log (/ 1 u1)))))))) (* (sqrt -1) (sqrt (+ (log -1) (* -1 (log (/ 1 u1)))))))))
(* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1))))
(+ (* -1/2 (* (/ (cos (* 2 (* u2 (PI)))) u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(+ (* -1 (/ (+ (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1)))))) (* 1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (* (cos (* 2 (* u2 (PI)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) (sqrt (/ 1 (log (/ -1 u1)))))) (* -1/2 (* (/ (* (cos (* 2 (* u2 (PI)))) (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2)))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (* (cos (* 2 (* u2 (PI)))) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)) (sqrt (log (/ -1 u1)))))
(log (/ -1 u1))
(- (/ 1 u1) (* -1 (log (/ -1 u1))))
(- (+ (/ 1/2 (pow u1 2)) (/ 1 u1)) (* -1 (log (/ -1 u1))))
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 u1))) u1)) 1) u1)) (* -1 (log (/ -1 u1))))
(* -1 (log (/ -1 u1)))
(- (* -1 (log (/ -1 u1))) (/ 1 u1))
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (* 1/2 (/ 1 u1))) u1)))
(+ (* -1 (log (/ -1 u1))) (* -1 (/ (+ 1 (+ (/ 1/3 (pow u1 2)) (* 1/2 (/ 1 u1)))) u1)))
(* -1 (* u1 (- 1 (/ 1 u1))))
(* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2))
(+ (* -1/2 (* (/ 1 u1) (sqrt (/ 1 (log (/ -1 u1)))))) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(+ (* -1 (/ (+ (* 1/2 (sqrt (/ 1 (log (/ -1 u1))))) (* 1/2 (* (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/2 (* (sqrt (/ 1 (log (/ -1 u1)))) (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))))) (* -1/2 (* (/ (- 1/3 (* -1/2 (/ (+ 1/2 (* 1/4 (/ 1 (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) (* (log (/ -1 u1)) (pow (sqrt -1) 2))))) u1) (sqrt (/ 1 (log (/ -1 u1))))))) u1)) (* 1/2 (sqrt (/ 1 (log (/ -1 u1)))))) u1)) (* (sqrt (log (/ -1 u1))) (pow (sqrt -1) 2)))
(* (sqrt (log (- 1 u1))) (sqrt -1))
(+ (* -2 (* (* (pow u2 2) (* (pow (PI) 2) (sqrt -1))) (sqrt (log (- 1 u1))))) (* (sqrt (log (- 1 u1))) (sqrt -1)))
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow u2 2) (* (pow (PI) 4) (sqrt -1))) (sqrt (log (- 1 u1))))))))
(+ (* (sqrt (log (- 1 u1))) (sqrt -1)) (* (pow u2 2) (+ (* -2 (* (* (pow (PI) 2) (sqrt -1)) (sqrt (log (- 1 u1))))) (* (pow u2 2) (+ (* -4/45 (* (* (pow u2 2) (* (pow (PI) 6) (sqrt -1))) (sqrt (log (- 1 u1))))) (* 2/3 (* (* (pow (PI) 4) (sqrt -1)) (sqrt (log (- 1 u1))))))))))
(* 2 (* u2 (PI)))
(* (* (cos (* 2 (* u2 (PI)))) (sqrt -1)) (sqrt (log (- 1 u1))))
Outputs
(* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2)))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(+ (* -1/4 (* (sqrt (pow u1 3)) (cos (* 2 (* u2 (PI)))))) (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* -1/6 (* (sqrt u1) (cos (* 2 (* u2 (PI)))))))))
(*.f32 #s(literal 2 binary32) (PI.f32))
(+ (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (pow (sqrt -1) 2))) (* (pow u1 2) (+ (* -1/4 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))) (* u1 (+ (* -1/2 (* (sqrt u1) (* (cos (* 2 (* u2 (PI)))) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2)))))))) (* -1/6 (* (sqrt (/ 1 u1)) (cos (* 2 (* u2 (PI)))))))))))
(PI.f32)
u1
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32))))
(* u1 (+ 1 (* 1/2 u1)))
(neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))
(* u1 (+ 1 (* u1 (+ 1/2 (* 1/3 u1)))))
#s(approx (log (- 1 u1)) (PI.f32))
(* u1 (+ 1 (* u1 (+ 1/2 (* u1 (+ 1/3 (* 1/4 u1)))))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))))
(* -1 u1)
#s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))
(* u1 (- (* -1/2 u1) 1))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))))
(* u1 (- (* u1 (- (* -1/3 u1) 1/2)) 1))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))
(* u1 (- (* u1 (- (* u1 (- (* -1/4 u1) 1/3)) 1/2)) 1))
#s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))
1
(-.f32 #s(literal 1 binary32) u1)
(+ 1 (* -1 u1))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))))
(* (sqrt u1) (pow (sqrt -1) 2))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))
(+ (* -1/4 (sqrt (pow u1 3))) (* (sqrt u1) (pow (sqrt -1) 2)))
#s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* -1/6 (sqrt u1)))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))
(+ (* (sqrt u1) (pow (sqrt -1) 2)) (* (pow u1 2) (+ (* -1/4 (sqrt (/ 1 u1))) (* u1 (+ (* -1/2 (* (sqrt u1) (+ 1/4 (* 1/16 (/ 1 (* u1 (pow (sqrt -1) 2))))))) (* -1/6 (sqrt (/ 1 u1))))))))
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))

rewrite1.0ms (0%)

Memory
1.8MiB live, 1.8MiB allocated
Counts
18 → 18
Calls
Call 1
Inputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
(*.f32 #s(literal 2 binary32) (PI.f32))
(PI.f32)
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32))))
(neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))
#s(approx (log (- 1 u1)) (PI.f32))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))
#s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))
(-.f32 #s(literal 1 binary32) u1)
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))
#s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))
Outputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
(*.f32 #s(literal 2 binary32) (PI.f32))
(PI.f32)
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32))))
(neg.f32 #s(approx (log (- 1 u1)) (PI.f32)))
#s(approx (log (- 1 u1)) (PI.f32))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32)))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))
#s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))
(-.f32 #s(literal 1 binary32) u1)
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))))
#s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
(sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))

eval2.0ms (0.1%)

Memory
5.2MiB live, 5.2MiB allocated
Compiler

Compiled 1 093 to 69 computations (93.7% saved)

prune8.0ms (0.3%)

Memory
16.0MiB live, 16.0MiB allocated
Pruning

18 alts after pruning (4 fresh and 14 done)

PrunedKeptTotal
New38240
Fresh022
Picked145
Done01010
Total391857
Accuracy
58.6%
Counts
57 → 18
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.3%
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
19.7%
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
19.2%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1))
19.2%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
47.4%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))
19.1%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))))
18.2%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
18.8%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))))
19.2%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
17.2%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
17.1%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
5.0%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))))
3.7%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32))))
3.8%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))))
4.8%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1)))
4.2%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
18.0%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (PI.f32))
19.8%
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
Compiler

Compiled 838 to 408 computations (51.3% saved)

regimes69.0ms (2.4%)

Memory
-9.8MiB live, 112.8MiB allocated
Counts
20 → 1
Calls
Call 1
Inputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (PI.f32))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1)))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
Outputs
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
Calls

10 calls:

9.0ms
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
8.0ms
u2
6.0ms
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
6.0ms
cosTheta_i
6.0ms
u1
Results
AccuracySegmentsBranch
55.3%1cosTheta_i
55.3%1u1
55.3%1u2
55.3%1(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
55.3%1(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
55.3%1(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
55.3%1(log.f32 (-.f32 #s(literal 1 binary32) u1))
55.3%1(-.f32 #s(literal 1 binary32) u1)
55.3%1(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
55.3%1(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
Compiler

Compiled 45 to 64 computations (-42.2% saved)

regimes65.0ms (2.3%)

Memory
-29.4MiB live, 140.2MiB allocated
Counts
19 → 2
Calls
Call 1
Inputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (PI.f32))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1)))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
Outputs
(*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))
Calls

10 calls:

10.0ms
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
7.0ms
cosTheta_i
7.0ms
(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
6.0ms
(-.f32 #s(literal 1 binary32) u1)
6.0ms
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
Results
AccuracySegmentsBranch
47.4%1cosTheta_i
50.8%2(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
47.4%1(log.f32 (-.f32 #s(literal 1 binary32) u1))
47.4%1(-.f32 #s(literal 1 binary32) u1)
47.4%1u1
47.4%1u2
47.4%1(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
47.4%1(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
47.4%1(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
47.4%1(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
Compiler

Compiled 45 to 64 computations (-42.2% saved)

regimes24.0ms (0.8%)

Memory
7.0MiB live, 45.1MiB allocated
Counts
18 → 1
Calls
Call 1
Inputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (PI.f32))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1)))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
Outputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))
Calls

4 calls:

7.0ms
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
6.0ms
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
5.0ms
u2
5.0ms
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
Results
AccuracySegmentsBranch
47.4%1u2
47.4%1(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
47.4%1(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
47.4%1(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
Compiler

Compiled 25 to 32 computations (-28% saved)

regimes50.0ms (1.7%)

Memory
14.6MiB live, 96.2MiB allocated
Counts
15 → 1
Calls
Call 1
Inputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (PI.f32))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1)))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 #s(approx (- 1 u1) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))))
Outputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
Calls

10 calls:

6.0ms
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
6.0ms
u1
5.0ms
u2
5.0ms
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
5.0ms
cosTheta_i
Results
AccuracySegmentsBranch
19.8%1cosTheta_i
19.8%1(log.f32 (-.f32 #s(literal 1 binary32) u1))
19.8%1(-.f32 #s(literal 1 binary32) u1)
19.8%1u1
19.8%1(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
19.8%1(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
19.8%1u2
19.8%1(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
19.8%1(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
19.8%1(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
Compiler

Compiled 45 to 64 computations (-42.2% saved)

regimes43.0ms (1.5%)

Memory
-32.7MiB live, 87.4MiB allocated
Counts
12 → 1
Calls
Call 1
Inputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (PI.f32))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (sqrt.f32 #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32)))))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (log.f32 (-.f32 #s(literal 1 binary32) u1)))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
Outputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
Calls

10 calls:

6.0ms
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
5.0ms
(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
4.0ms
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
4.0ms
cosTheta_i
4.0ms
(-.f32 #s(literal 1 binary32) u1)
Results
AccuracySegmentsBranch
19.2%1u2
19.2%1(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
19.2%1cosTheta_i
19.2%1u1
19.2%1(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
19.2%1(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
19.2%1(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
19.2%1(log.f32 (-.f32 #s(literal 1 binary32) u1))
19.2%1(-.f32 #s(literal 1 binary32) u1)
19.2%1(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
Compiler

Compiled 45 to 64 computations (-42.2% saved)

regimes25.0ms (0.9%)

Memory
22.5MiB live, 61.9MiB allocated
Counts
6 → 1
Calls
Call 1
Inputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (PI.f32))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (- 1 u1) (*.f32 #s(literal 2 binary32) (PI.f32))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) #s(approx (neg (log (- 1 u1))) (-.f32 #s(literal 1 binary32) u1)))))
Outputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1))
Calls

10 calls:

3.0ms
(-.f32 #s(literal 1 binary32) u1)
3.0ms
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
2.0ms
cosTheta_i
2.0ms
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
2.0ms
(log.f32 (-.f32 #s(literal 1 binary32) u1))
Results
AccuracySegmentsBranch
19.2%1(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
19.2%1u2
19.2%1(log.f32 (-.f32 #s(literal 1 binary32) u1))
19.2%1(-.f32 #s(literal 1 binary32) u1)
19.2%1(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
19.2%1u1
19.2%1(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
19.2%1(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
19.2%1(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
19.2%1cosTheta_i
Compiler

Compiled 45 to 64 computations (-42.2% saved)

regimes15.0ms (0.5%)

Memory
-3.1MiB live, 36.5MiB allocated
Accuracy

Total -4.7b remaining (-17.9%)

Threshold costs -4.7b (-17.9%)

Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (PI.f32))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (neg.f32 #s(approx (log (- 1 u1)) (PI.f32))))
Outputs
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (PI.f32))
Calls

10 calls:

2.0ms
(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
1.0ms
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
1.0ms
(log.f32 (-.f32 #s(literal 1 binary32) u1))
1.0ms
(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
1.0ms
(-.f32 #s(literal 1 binary32) u1)
Results
AccuracySegmentsBranch
18.0%1cosTheta_i
18.0%1u1
18.0%1u2
18.0%1(sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))
18.0%1(neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))
18.0%1(*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)
18.0%1(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
18.0%1(log.f32 (-.f32 #s(literal 1 binary32) u1))
18.0%1(-.f32 #s(literal 1 binary32) u1)
18.0%1(cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
Compiler

Compiled 45 to 64 computations (-42.2% saved)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
9.699256224848796e-6
Compiler

Compiled 16 to 20 computations (-25% saved)

simplify5.0ms (0.2%)

Memory
10.5MiB live, 10.5MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(if (<=.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) #s(literal 0 binary32)) (*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (PI.f32))
Outputs
(*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)))
(if (<=.f32 (*.f32 (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) #s(literal 0 binary32)) (*.f32 #s(approx (sqrt (neg (log (- 1 u1)))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2)) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))) #s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1))))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (sqrt.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u1)))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) #s(approx (neg (log (- 1 u1))) (cos.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u2))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (-.f32 #s(literal 1 binary32) u1))
#s(approx (* (sqrt (neg (log (- 1 u1)))) (cos (* (* 2 (PI)) u2))) (PI.f32))

soundness1.0ms (0%)

Memory
2.1MiB live, 2.1MiB allocated
Stop Event
fuel
Compiler

Compiled 165 to 36 computations (78.2% saved)

preprocess27.0ms (0.9%)

Memory
5.8MiB live, 44.9MiB allocated
Compiler

Compiled 356 to 100 computations (71.9% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...